This project focuses on shoring up the security vulnerabilities that exist in computer processors. Just like in software, bugs in hardware present vulnerabilities that can be exploited by determined attackers. Prior work has developed a method whereby the processor monitors itself and sends an alert to software whenever dangerous, anomalous behavior is observed. The question of what constitutes dangerous behavior is an open one, and tackling it is the goal of this research. In doing so the project has the potential to make self-monitoring processors practical and efficacious, significantly advancing the state of the art in protecting hardware from malicious attack.
The self-monitoring processor works by encoding in hardware the properties that a processor should always maintain and then throwing an exception to software if one of the properties is ever violated. In this project, the researchers develop a semi-automated methodology and tool-chain to identify and build the security-critical properties encoded in a hardware design language. The project uses a set of already-patched bugs of a processor design to automatically create an initial set of security-critical properties, and machine learning techniques to infer an additional set of properties that are not tied to any particular known vulnerability, yet are critical to security.
|