ABSTRACT

Computer systems have become increasingly subject to errors and security attacks, underscoring the need for techniques to ensure their correct operation. Existing techniques for reliability and security take an "all-or-nothing" approach, in which everything needs to be protected in order to provide guarantees to the application. These techniques incur high performance overheads or hardware resource costs. In contrast to these approaches, we propose an approach called "application-aware checking", which selectively protects data that is important to the application from a reliability or security point of view. The advantage of the application-aware approach is that it is possible to achieve high coverage at a fraction of the cost of conventional techniques. Further, by focusing on errors and attacks that impact the application, the approach is able to ensure minimum disruption to the end-user.
We propose a unified compiler framework to derive application-aware detectors for critical data in applications. The detectors are derived using a combination of static and dynamic analysis, and are converted into efficient runtime checks. The checks are programmed in a reconfigurable hardware platform implemented on a Field-programmable Gate Array (FPGA), and are executed in conjunction with the application. This ensures that the errors and attacks are detected before system failure or compromise, which is necessary for fast recovery. We have also validated the derived detectors using a formal model-checking framework. The integrated approach for providing error and attack detection has been prototyped in the Trusted Illiac project at the University of Illinois.
.

BIOGRAPHY

Karthik Pattabiraman is a PhD candidate in Computer Science at the University of Illinois at Urbana-Champaign (UIUC). His research focuses on the design of reliable and secure applications using compilers and reconfigurable hardware systems. His dissertation (in progress) introduced the notion of application-aware checking which forms an important part of the Trusted Illiac project at the University of Illinois. Karthik has a MS in Computer Science from UIUC and a B.Tech in Information Technology from Madras University, India. He has interned at Microsoft Research, IBM Research and Los Alamos National Labs and has been a consulting researcher at Microsoft Research. More broadly, Karthik is interested in dependable runtime systems, memory management techniques, and performance modeling. He has been actively involved in the dependability community and is co-organizing the CATARS workshop at the International Conference on Dependable Systems and Networks, (DSN) 2008.