Peripherals such a NIC or a USB stick interact with a large number of software and hardware components. As an example, whenever you send a packet to a remote computer, you may indirectly interact with that computer’s CPU, DRAM, NIC, OS kernel, and finally an application. What is the exposed attack surface in such scenarios?
As peripherals are improving in performance, new possibilities open up for attackers. Attacks that were thought to be only possible with local code execution, may now be possible remotely. In our research we explore such possibilities and work on new designs to address these security problems when necessary.