Automatic Prevention of Buffer Overflow Vulnerability Using Candidate Code Generation

Young-Su JANG  Jin-Young CHOI  

IEICE TRANSACTIONS on Information and Systems   Vol.E101-D   No.12   pp.3005-3018
Publication Date: 2018/12/01
Online ISSN: 1745-1361
DOI: 10.1587/transinf.2018EDP7192
Type of Manuscript: PAPER
Category: Software System
information security,  buffer overflow vulnerability,  software security monitoring,  

Full Text: PDF(3.6MB)>>
Buy this Article

The security of a software program critically depends on the prevention of vulnerabilities in the source code; however, conventional computer programs lack the ability to identify vulnerable code in another program. Our research was aimed at developing a technique capable of generating substitution code for the detection of buffer overflow vulnerability in C/C++ programs. The technique automatically verifies and sanitizes code instrumentation by comparing the result of each candidate variable with that expected from the input data. Our results showed that statements containing buffer overflow vulnerabilities could be detected and prevented by using a substitution variable and by sanitizing code vulnerabilities based on the size of the variables. Thus, faults can be detected prior to execution of the statement, preventing malicious access. Our approach is particularly useful for enhancing software security monitoring, and for designing retrofitting techniques in applications.