Automatically generating patch in binary programs using attribute-based taint analysis

  • Authors:
  • Kai Chen;Yifeng Lian;Yingjun Zhang

  • Affiliations:
  • Institute of Software, Chinese Academy of Sciences, Beijing, China and The State Key Laboratory of Information Security, Graduate School of Chinese Academy of Sciences, Beijing, China;Institute of Software, Chinese Academy of Sciences, Beijing, China and National Engineering Research Center for Information Security, China;Institute of Software, Chinese Academy of Sciences, Beijing, China

  • Venue:
  • ICICS'10 Proceedings of the 12th international conference on Information and communications security
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

Vulnerabilities in software threaten safety of hosts. Generating patches could overcome this problem. Patches are usually generated with human intervention, which is very time-consuming and needs a lot of experience. A few heuristic methods can generate patches automatically. But they usually have high false negative and/or false positive rate. We proposed a novel solution and implemented a real system called Patch-Gen that can automatically generate patches for vulnerabilities. Patch-Gen innovatively combines several techniques: (1) It can automatically generate patches for Windows x86 binaries without any need for source code, debugging information or human intervention. (2) Attribute-based taint analysis method (ATAM) is proposed to find attack point and overflow point with no need to record or analyze program execution traces, which saves both analysis time and memory. (3) PatchGen automatically tunes the candidate position to find the most suitable position to patch. We made several experiments on PatchGen. The results show that Patch-Gen can successfully generate patches for buffer overflow vulnerabilities in several minutes. The running overhead of the patched applications is less than 1% in average.