Engineer secures award to detect vulnerabilities in concurrent software
Chao Wang, assistant professor of electrical and computer engineering at Virginia Tech, has received a three-year Office of Naval Research (ONR) Young Investigator Program (YIP) grant for up to $510,000 to develop methods and software tools that can detect security vulnerabilities in concurrent software that runs on a modern multi-core computer.
The young investigator grant is the most prestigious of the ONR grants for faculty members early in their careers. Awardees are noted for their exceptional promise for doing creative research. ONR made only 16 awards in 2013.
According to Wang, "seemingly simple software defects, such as buffer overruns, have led to numerous security exploits in the past." With the use of multicore processors, where the multiple cores can run several instructions at the same time, "concurrency related software defects may become the new buffer overruns," he added.
As software takes advantage of the multicore processors, it becomes increasingly difficult to detect its vulnerabilities. Concurrency vulnerabilities can sometimes be discovered as program bugs, but some show no sign of their presence until a hacker maliciously attacks them.
Wang stressed that it is inherently difficult to reason about concurrent programming. Because there are so many areas where different program threads interact, "multiple runs of the same program may exhibit different behaviors even for the same input," he said. "Furthermore, the number of overlaps is often astronomically large."
Wang explained that current methods for detecting vulnerabilities either identify only specific sets of overlaps in software, or they "over-approximate the impact of threading and report too many false positives."
Wang proposes to use a model-driven program analysis framework that automatically generates models from existing software code. These models will reduce the complexity of the program analysis problem. Wang explained that with this approach, "we won't have to enumerate all the interleavings." Interweaving is a term computer scientists use to describe a particular order in which the computer executes instructions from the concurrently running threads.
"Instead," he said, "we concentrate on only the discrepancy (if any) between the intended program behavior and the actual program behavior." This will work for a wide range of security vulnerabilities, whether known or unknown.
"Although automated model generation has been used or at least envisioned in other settings ... it has never been fully explored for mitigating concurrency vulnerabilities," Wang noted. "This research will fill the gap."
Wang joined Virginia Tech in August 2011, after serving seven years as a research staff member at NEC Laboratories in Princeton, N.J. He received the National Science Foundation Faculty Early Career Development (CAREER) award in 2012. He was also named an Outstanding New Assistant Professor by the Dean of the College of Engineering at Virginia Tech in 2013.
He earned his bachelor's and master's degrees from Peking University, China in 1996 and in 1999, respectively, and a Ph.D. degree in 2004 from the University of Colorado at Boulder.