Institutional Repository
| Dynamically Discovering Likely Memory Layout to Perform Accurate Fuzzing | |
| Chen, K; Zhang, YJ; Liu, P | |
| 2016 | |
| Source | IEEE TRANSACTIONS ON RELIABILITY
![]() |
| ISSN | 0018-9529 |
| Volume | 65Issue:3Pages:1180-1194 |
| English Abstract | Malicious Input through Buffer Overflow (MiBO) vulnerabilities play important roles in cyber security. To identify MiBO vulnerabilities, white-box testing approaches analyze instructions in all possible execution paths. Black-box testing approaches try to trigger MiBO vulnerabilities using different inputs. However, only limited coverage can be achieved: the identified MiBO vulnerabilities, when being "hit" by a test input, must cause exceptions (e.g., crashes). Type information could help to catch the non-crash MiBO vulnerabilities, but such information is not contained in binary code. In this paper, we present a white-box fuzzing method to detect non-crash MiBO vulnerabilities. Without source code, we dynamically discover likely memory layouts to help the fuzzing process. This is very challenging since memory addresses and layouts keep changing with the running of software. In different executions with different inputs, the layouts may also change. To address these challenges, we selectively analyze memory operations to identify memory layouts. If a buffer border identified from the memory layout is exceeded, an error will be reported. The fuzzing results will be compared with the layout for future input generation, which greatly increases the opportunity to expose MiBO vulnerabilities. We implemented a prototype called ArtFuzz and performed several evaluations. ArtFuzz discovered 23 real MiBO vulnerabilities (including 8 zero-day MiBO vulnerabilities) in nine applications.; Malicious Input through Buffer Overflow (MiBO) vulnerabilities play important roles in cyber security. To identify MiBO vulnerabilities, white-box testing approaches analyze instructions in all possible execution paths. Black-box testing approaches try to trigger MiBO vulnerabilities using different inputs. However, only limited coverage can be achieved: the identified MiBO vulnerabilities, when being "hit" by a test input, must cause exceptions (e.g., crashes). Type information could help to catch the non-crash MiBO vulnerabilities, but such information is not contained in binary code. In this paper, we present a white-box fuzzing method to detect non-crash MiBO vulnerabilities. Without source code, we dynamically discover likely memory layouts to help the fuzzing process. This is very challenging since memory addresses and layouts keep changing with the running of software. In different executions with different inputs, the layouts may also change. To address these challenges, we selectively analyze memory operations to identify memory layouts. If a buffer border identified from the memory layout is exceeded, an error will be reported. The fuzzing results will be compared with the layout for future input generation, which greatly increases the opportunity to expose MiBO vulnerabilities. We implemented a prototype called ArtFuzz and performed several evaluations. ArtFuzz discovered 23 real MiBO vulnerabilities (including 8 zero-day MiBO vulnerabilities) in nine applications. |
| Indexed Type | SCI |
| Keyword | Dynamic Testing Fuzzing Memory Layout Vulnerability White-box |
| Department | Chinese Acad Sci, State Key Lab Informat Secur, Inst Informat Engn, Beijing 100195, Peoples R China. Chinese Acad Sci, Inst Software, Trusted Comp & Informat Assurance Lab, Beijing 100190, Peoples R China. Penn State Univ, Coll Informat Sci & Technol, State Coll, PA 16801 USA. |
| Language | 英语 |
| WOS ID | WOS:000382714400006 |
| Citation statistics | |
| Content Type | 期刊论文 |
| URI | http://ir.iscas.ac.cn/handle/311060/17305 |
| Collection | 中国科学院软件研究所 |
| Recommended Citation GB/T 7714 | Chen, K,Zhang, YJ,Liu, P. Dynamically Discovering Likely Memory Layout to Perform Accurate Fuzzing[J]. IEEE TRANSACTIONS ON RELIABILITY,2016,65(3):1180-1194. |
| APA | Chen, K,Zhang, YJ,&Liu, P.(2016).Dynamically Discovering Likely Memory Layout to Perform Accurate Fuzzing.IEEE TRANSACTIONS ON RELIABILITY,65(3),1180-1194. |
| MLA | Chen, K,et al."Dynamically Discovering Likely Memory Layout to Perform Accurate Fuzzing".IEEE TRANSACTIONS ON RELIABILITY 65.3(2016):1180-1194. |
| Files in This Item: | ||||||
| File Name/Size | DocType | Version | Access | License | ||
| 07386711.pdf(1849KB) | 开放获取 | License | Application Full Text | |||
Items in the repository are protected by copyright, with all rights reserved, unless otherwise indicated.
Edit Comment