Despite the best efforts during software development and testing, vulnerabilities are inevitably left over in software and shipped to end users. After a vulnerability is triggered at the side of an end user, the software typically terminates abnormally and results in a crash. Large software vendors may observe millions of crashes every day. Among the defects that cause those crashes, a significant portion are vulnerabilities. Therefore efficient diagnosis of software crash can expose those vulnerabilities and promote instant elimination of their threats.
My research relies on information left over by a vulnerability-induced software crash and program analysis techniques to automatically locate the vulnerability. In this talk I will explain the challenges to perform the automated diagnosis and then present two systems I built to overcome these challenges. The first system combines information in the crashing state and analyses on the source code to locate the code segments that contain the vulnerability. The second system leverages a new hardware feature on recent Intel Processors to accurately pinpoint the vulnerabilities. At the end I will demonstrate the utilities of the two systems and share the lessons I learned.
Jun Xu is a doctoral candidate in the Cyber Security Lab at Pennsylvania State University, advised by professor Peng Liu. His research interests include software security and system security. He specializes in vulnerability discovery, run-time protection, and vulnerability diagnosis. His recent research aims to secure computing system via neutralizing the risk of vulnerabilities in the software stack. He has also been actively involved in research to mitigate the threats of malware.
Xu received the RSA Conference Security Scholarship in 2017.