TY - GEN
T1 - File parsing vulnerability detection with symbolic execution
AU - Hu, Chaojian
AU - Li, Zhoujun
AU - Ma, Jinxin
AU - Guo, Tao
AU - Shi, Zhiwei
PY - 2012
Y1 - 2012
N2 - Symbolic execution simulates program execution by replacing concrete values with symbolic variables for inputs. It could be used in software behavior analysis, vulnerability detection and software security assessment. In this paper, we analyze the path explosion problem encountered in vulnerability detection with the state-of-the-art symbolic execution technology for large scale file parsing programs. We also propose 4 alleviations to ease the problem, i.e. loop controlling, irrelevant path elimination, path selecting and parallel symbolic execution. Based on these alleviations, we implemented a prototype tool to detect file parsing vulnerability in large scale programs automatically, and evaluate it with a suit of benchmarks chosen from open source programs. Our tool detected not only all reported vulnerabilities of memory overflow in the benchmarks, but also some unreported vulnerabilities. The evaluation results show these alleviations could effectively ease the path explosion problem while analyzing large scale file parsing programs.
AB - Symbolic execution simulates program execution by replacing concrete values with symbolic variables for inputs. It could be used in software behavior analysis, vulnerability detection and software security assessment. In this paper, we analyze the path explosion problem encountered in vulnerability detection with the state-of-the-art symbolic execution technology for large scale file parsing programs. We also propose 4 alleviations to ease the problem, i.e. loop controlling, irrelevant path elimination, path selecting and parallel symbolic execution. Based on these alleviations, we implemented a prototype tool to detect file parsing vulnerability in large scale programs automatically, and evaluate it with a suit of benchmarks chosen from open source programs. Our tool detected not only all reported vulnerabilities of memory overflow in the benchmarks, but also some unreported vulnerabilities. The evaluation results show these alleviations could effectively ease the path explosion problem while analyzing large scale file parsing programs.
KW - File Parsing
KW - Path Explosion
KW - Program analysis
KW - Symbolic Execution
KW - Vulnerability detection
UR - https://www.scopus.com/pages/publications/84866893967
U2 - 10.1109/TASE.2012.13
DO - 10.1109/TASE.2012.13
M3 - 会议稿件
AN - SCOPUS:84866893967
SN - 9780769547510
T3 - Proceedings - IEEE 6th International Symposium on Theoretical Aspects of Software Engineering, TASE 2012
SP - 135
EP - 142
BT - Proceedings - IEEE 6th International Symposium on Theoretical Aspects of Software Engineering, TASE 2012
T2 - IEEE 6th International Symposium on Theoretical Aspects of Software Engineering, TASE 2012
Y2 - 4 July 2012 through 6 July 2012
ER -