About the series
To address the growing need for integrity protection that does not rely on kernel correctness, we designed Copilot - a kernel integrity monitor that does not rely on the kernel for access to main memory and requires no modifications to the protected host's software.
This talk will be a modified version of one given at USENIX Security 2004. We will focus on the existing Copilot prototype and the types of protection it can provide, as well as the challenges related to system memory monitoring. In addition, we will compare Copilot with other hardware and software-based approaches to verifying runtime software state.
One of the fundamental goals of computer security is to ensure the integrity of system resources. Because all user applications rely on the integrity of the kernel and core system utilities, the compromise of any one part of the system can result in a complete lack of reliability in the system as a whole.
Particularly in the case of commodity operating systems, the ability to place assurance on the numerous and complex parts of the system is exceedingly difficult. The most important pieces of this complex system reside in the core of the kernel itself. While a variety of tools and architectures have been developed for the protection of kernel integrity on commodity systems, most have a fundamental weakness - they rely on some portion of kernel to remain correct. The approach described in this talk avoids this weakness.
Nick Petroni is a fourth-year PhD student in the Department of Computer Science at the University of Maryland, College Park. He works under Dr. William Arbaugh in the Maryland Information Systems Security Lab in the areas of information security, trustworthy computing, and wireless security. Nick has both a B.S. (University of Notre Dame, 2001) and M.S. (University of Maryland, College Park, 2003) in Computer Science.