Automatic diagnosis and response to memory corruption vulnerabilities

  • Authors:
  • Jun Xu;Peng Ning;Chongkyung Kil;Yan Zhai;Chris Bookholt

  • Affiliations:
  • North Carolina State University;North Carolina State University;North Carolina State University;North Carolina State University;North Carolina State University

  • Venue:
  • Proceedings of the 12th ACM conference on Computer and communications security
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

Cyber attacks against networked computers have become relentless in recent years. The most common attack method is to exploit memory corruption vulnerabilities such as buffer overflow and format string bugs. This paper presents a technique to automatically identify both known and unknown memory corruption vulnerabilities. Based on the observation that a randomized program usually crashes upon a memory corruption attack, this technique uses the crash as a trigger to initiate an automatic diagnosis algorithm. The output of the diagnosis includes the instruction that is tricked to corrupt data, the call stack at the time of corruption, and the propagation history of corrupted data. These results provide useful information in fixing the vulnerabilities. Moreover, the diagnosis process also generates a signature of the attack using data/address values embedded in the malicious input message, and is used to block future attacks. Such a signature is further associated with the program execution state to reduce false positives without decreasing the detection rate. The proposed techniques enable the development of a decentralized self-diagnosing and self-protecting defense mechanism for networked computers. We report the implementation experience and experimental evaluation of a prototype system on Linux.