"Finding Bugs Faster Than Hackers"
Researchers from the Binary Analysis and Systems Security (BASS) group at USC Viterbi's Information Sciences Institute (ISI), in collaboration with Arizona State University, Cisco Systems Inc., and EURECOM, have developed a new approach for quickly identifying security vulnerabilities. Their paper is about vulnerability discovery, which is the discovery of security flaws in software that attackers or hackers can use to gain control of remote systems, leak information, or perform other malicious activities. In particular, the paper covers automated vulnerability discovery as the size and complexity of today's computer programs call for automatic detection instead of just human expertise and analysis to find flaws. The team proposes a novel technique for automated vulnerability discovery at the binary level. Current cutting-edge binary program analysis methods are constrained by inherent trade-offs between accuracy and scalability. Static vulnerability detection techniques, which analyze a program without running it, are limited in their accuracy. Dynamic vulnerability detection techniques (i.e., analyzing a program while it is running) are difficult to scale up in size and thus speed. Therefore, the researchers propose a hybrid method that combines static and dynamic vulnerability detection techniques to improve the former's precision and the latter's scalability. They developed a prototype called ARBITER and discovered that they could make several improvements in the automatic analysis of binary code. ARBITER can detect bugs quickly, allowing developers to fix them faster, thus resulting in increased security. ARBITER's effectiveness was demonstrated through a large-scale evaluation on four common vulnerability classes. When static and dynamic execution were combined in the past, it was only for one particular type of vulnerability, but with ARBITER, multiple vulnerabilities can be specified. This article continues to discuss the team's proposed ARBITER method to automated vulnerability discovery at the binary level.