Criswell Receives 2014 Doctoral Dissertation Honorable Mention Award
John Criswell (BS CS ‘03, PhD ‘14) received a 2014 Doctoral Dissertation Honorable Mention Award presented by ACM in June for developing a Secure Virtual Architecture for commodity software systems. A member of CS Professor Vikram Adve’s research group, Criswell investigated security issues related to the operating system (OS) kernel, which is the foundation upon which all application software is built.
According to Criswell, an attack on the OS kernel allows a hacker to modify the behavior of any application. The system architecture he introduced in his thesis is the first to provide strong automatic protection for an OS kernel like Linux or FreeBSD. Specifically, his compiler-based approach enforces strong guarantees such as memory safety and control flow integrity of the kernel to protect it from buffer overflow attacks, which can also afflict applications. He then adapted these techniques in a system named Virtual Ghost to allow applications to continue running securely even if the OS kernel is compromised by other means, such as by malicious kernel drivers.
“My approach assumed the OS kernel was compromised, and it allowed applications that don’t want to trust the kernel to operate securely regardless,” Criswell said.
Criswell’s introduction to software security began more than a decade ago when he was a software engineer with Argus Systems Group, which is now part of General Dynamics C4. At Argus, Criswell enhanced the AIX operating system kernel and wrote utilities that utilized mandatory access controls to improve system security.
After working at Argus for six years, Criswell worked as a research programmer in Professor Adve’s group before deciding to pursue his doctorate. “I saw all the fun the grad students were having, and thought I wanted to be a part of that,” said Criswell, who was grateful for the opportunity. “Professor Adve was very good at getting me to go beyond the boundaries of what I thought I could do. He was always enthusiastic and excited about the work. That always made [me] want to do more.”
Today, Criswell is an assistant professor of computer science at the University of Rochester, where his research focuses on computer security and automatic compiler transformations to enforce security policies on commodity software.
In one NSF-funded project, Criswell and his students are building an infrastructure that will identify whether a particular defense will provide adequate protection against code-reuse attacks, which find flaws in an application and then change the control and/or data flow of the program.
“A challenge we have in computer security is knowing that a defense we build actually works,” explained Criswell. “We build a defense that stops the current attacks we see, then someone makes the attack a little stronger so it defeats the current defense, and this is a never-ending arms race. I don’t like arms races.”
Criswell’s approach is to build a tool that uses compiler analysis to find all the reusable code in an application. Then, using automated techniques borrowed from the parsing literature, the tool determines whether the security policy in place allows instructions needed by the attack to be executed in the correct order. “If it can, the attack is theoretically possible,” he said. “If it can’t, then we know that specific attack won’t work.”
Criswell’s other research includes AutoPriv, which uses compiler analysis to determine when an application no longer needs to use OS privileges, and a new project that defends against Iago attacks, which occur when the kernel subverts an application by returning incorrect data from its system calls.
The ACM Doctoral Dissertation Honorable Mention award isn’t the first such distinction for Criswell. Last fall, he received the Honorable Mention for the 2014 Special Interest Group on Operating Systems (SIGOPS) Dennis M. Ritchie Doctoral Dissertation Award. In October, he will receive the CS @ ILLINOIS David J. Kuck Outstanding PhD Thesis Award.