CyLab Chronicles

Print

Q&A with David Brumley

posted by Richard Power

"I believe software security is much more than arguing about the security of the code compiled. We need to secure the entire life cycle of code, from development, to deployment, to end-user configuration, to eventual retirement. Up till now, most software security research and practice has focused on finding and protecting against vulnerabilities in source code."

NOTE: For more background on Brumley’s work related to “Analysis and Defense of Vulnerabilities in Binary Code,” watch a video of a compelling presentation, review the full presentation (.pdf) and view a listing of his papers and presentations.]

CyLab Chronicles: What is VINE?

BRUMLEY: VINE is our first-generation tool we have developed for analyzing binary (i.e., executable) code. We have extended VINE to an entire binary analysis platform, which we imaginatively call BAP. BAP allows us to formally, faithfully, and accurately reason about executing a binary program. One of the fundamental uses of BAP is to accurately predict future executions of a program. For example, we've used BAP to reason about executions of vulnerable program in order to automatically generate vulnerability signatures that filter out exploits, the execution of malware in order to create better malware detectors, and find the difference between executions of different implementations of the same protocol, e.g., two web servers, to automatically generate fingerprints that can be used to remotely identify which application is running.

BAP is part of our larger research agenda which focuses on securing the entire life-cycle for software. I believe software security is much more than arguing about the security of the code compiled. We need to secure the entire life cycle of code, from development, to deployment, to end-user configuration, to eventual retirement. Up till now, most software security research and practice has focused on finding and protecting against vulnerabilities in source code. BAP fits into our research in the software life-cycle by addressing all the security issues that arise after the source code is compiled.

CyLab Chronicles: What problems does it address -- not just from the technical perspective but from the business and end-user perspectives?

BRUMLEY: One advantage of our approach is we deal with security issues in the context of the average user. Most users do not have access to the source code of the programs they run. However, almost everyone has access to the programs they execute in at least binary form. Off-the-shelf (COTS) software (e.g., Microsoft Windows, Adobe Acrobat, etc.) is typically only available to end-users in binary form. In addition to legitimate software, businesses and professionals also need to the ability to reason about malicious code, which again is typically only available in binary form. Thus, security techniques that only require access to the program binary are likely to be applicable to a large number of people, and in a large number of situations. Further, binary code analysis allows us to argue about the security of the code that will run, not just the code that was compiled. Simply put: binary analysis allows us to reason about the code most people have, and in a way most faithful to what will actually be executed.

CyLab Chronicles:  What is unique in its approach?

BRUMLEY: There are two unique aspects of this approach. First, we are striving to do faithful analysis...the sort of analysis that allows us to predict what a program will do. Previous approaches to binary analysis could not predict future executions as accurately or efficiently as we can with BAP. Faithful analysis dovetails into the second unique aspect. We are not only trying to argue whether the code is secure. Since we can predict what the code will do when executed, we can ask extremely interesting questions.

For example, we have shown you can do the following:

CyLab Chronicles: What commercial applications do you see BAP contributing to?

BRUMLEY: Where I see the commercial applications of BAP is any scenario where you want to reason about the code you will execute. There are numerous commercial applications using BAP. For example, we have had a successful relationship with Symantec for incorporating our techniques on automatic signature generation, and we have ongoing collaborations with companies for commercializing automatic exploit generation. We are also exploring new opportunities for commercializing work on malware analysis. Companies seem to like our work since it requires only access to a program binary and offer security guarantees, thus our solutions tend to work in a wide range of scenarios.

CyLab Chronicles: Software security is a vital area of research. What are some of the greatest challenges in this field?

BRUMLEY: I tend to work on two underlying, and what I believe are, fundamental challenges.
First, we need to develop security techniques that offer guarantees. In order to achieve strong security guarantees in practice, I believe it is important to focus on how those systems are implemented. The software actually deployed is a full specification and ground truth for the security offered in the real world. Software security is much more than simply looking for bugs; it is about reasoning about all aspects of how software works in real systems. For example, our work in signature generation is the first that offers accuracy guarantees, e.g., we will never mistake a safe input for an exploit. We achieve these guarantees by analyzing the vulnerability itself. Another example is we show that we can break a 1024-bit RSA key in an OpenSSL enabled Apache server in about 2 hours. Although RSA is secure mathematically, actual implementations leak a lot of information, e.g., in our case, through the amount of time it takes to complete a cryptographic operation. All too often we mistakenly believe something is secure only to find out the code itself doesn't adhere to the properties we believe are true on paper.

The second challenge stems from the first: in order to reason about the security of real systems, we need to be able to reason about real code. However, real code is complex. Thus, we need to continue to develop more scalable and more efficient techniques, while not sacrificing accuracy. This challenge is not unique to security; it is also found in formal methods, compilers, and even programming languages. Thus, any advances along this front are likely to be applicable to many disciplines within computer science.

 

about david brumley

David BrumleyDavid Brumley is an assistant professor with primary appointment in the Electrical and Computer Engineering Department, and a courtesy appointment in the Computer Science Department. David's research interests are in all areas of computer security, especially software security, network security, and applied cryptography. David is also interested in program analysis, compilers, and program verification.

[ email ] | [profile]

CyLab in the headlines

"Big Brother" is big business? - May 16, 2013
Professor Alessandro Acquisti of Carnegie Mellon CyLab, says smart-phones will make "facial searches" as common as Google searches in the future. "One of the participants, before doing the experiment, told us, 'You're not going to find me because I'm very careful about my photos online.' And we found him," says Acquisti, "Because someone else had uploaded a photo of him."

Facial recognition technology moving toward identifying almost anyone - May 20, 2013
But when the FBI released blurry, off-angle images of the two suspects in the Boston Marathon bombings, researchers with Carnegie Mellon University's CyLab Biometrics Center began trying to bring them into focus. Marios Savvides, director of the CMU CyLab Biometrics Center, told the Tribune-Review. “It's not exactly him, but it's also not a random face. It does fit him.”

Study: 45 percent of Bitcoin exchanges end up closing - April 26, 2013
The study said: "Exchanges handling 275 Bitcoins' worth of transactions each day have a 20 percent chance of being breached, compared to a 70 percent chance for exchanges processing daily transactions worth 5570 Bitcoins." Tyler Moore and Carnegie Mellon CyLab reseacher Nicholas Christin estimate that the median lifespan of any Bitcoin exchange is 381 days, with a 29.9 percent chance that a new exchange will close within a year of opening.

[see all the headlines]

Upcoming events

May 20, 2013: CERT Training
Applied Cybersecurity, Incident Response and Forensics
This five-day hands-on course is designed to increase the knowledge and skills of technical staff charged with administering and securing information systems and networks. Security topics such as vulnerability assessment, systems administration, network monitoring, incident response, and digital forensics will offer a comprehensive defense-in-depth experience

June 11, 2013: CERT Training
Managing Enterprise Information Security: A Practical Approach for Achieving Defense-in-Depth
This three-day course begins with a brief review of the conceptual foundations of information security. Next, students will be introduced to the CERT Defense-in-Depth Framework: eight operationally focused and interdependent management components which will be synergistically applied to a fictitious organization's Information Technology (IT) enterprise.

July 8, 2013: CERT Training
Information Security for Technical Staff
This five-day course is designed to provide participants with practical techniques for protecting the security of an organization's information assets and resources, beginning with concepts and proceeding on to technical implementations.

[see all events]