{"title":"WindArms: More Efficient DGF Coverage-Guided Tracing","authors":"Yunheng Luo, Jianshan Peng, Jiahan Lin","doi":"10.1109/ICCT56141.2022.10073335","DOIUrl":null,"url":null,"abstract":"Directed Graybox Fuzzing is an enhanced fuzzing technique that is widely used in security testing of network communication protocols, desktop software, file systems, etc. It guides the execution flow of the program to the code area of the target site by constructing specific input data, and realizes the test of the specific code area. It is usually used in scenarios such as patch testing, crash reproduction, and static analysis report verification. However, we found that coverage-guided tracing used by the existing Directed Graybox Fuzzing not only has high performance overhead but also has little value, because most test cases cannot discover new execution paths, and are even less likely to reach the target area. It doesn't make much sense to trace the coverage of these test cases. To address this challenge, we propose a new coverage-guided tracing mechanism and implement it prototype, WindArms. It will only trace the coverage of those which can discover new execution paths or reach the target area to reduce the performance overhead of those meaningless coverage-guided tracing. Our evaluation show WindArms not only significantly improves the performance of Directed Graybox Fuzzing, but also can discover security vulnerabilities in real-world software.","PeriodicalId":294057,"journal":{"name":"2022 IEEE 22nd International Conference on Communication Technology (ICCT)","volume":"20 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2022-11-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2022 IEEE 22nd International Conference on Communication Technology (ICCT)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ICCT56141.2022.10073335","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
Abstract
Directed Graybox Fuzzing is an enhanced fuzzing technique that is widely used in security testing of network communication protocols, desktop software, file systems, etc. It guides the execution flow of the program to the code area of the target site by constructing specific input data, and realizes the test of the specific code area. It is usually used in scenarios such as patch testing, crash reproduction, and static analysis report verification. However, we found that coverage-guided tracing used by the existing Directed Graybox Fuzzing not only has high performance overhead but also has little value, because most test cases cannot discover new execution paths, and are even less likely to reach the target area. It doesn't make much sense to trace the coverage of these test cases. To address this challenge, we propose a new coverage-guided tracing mechanism and implement it prototype, WindArms. It will only trace the coverage of those which can discover new execution paths or reach the target area to reduce the performance overhead of those meaningless coverage-guided tracing. Our evaluation show WindArms not only significantly improves the performance of Directed Graybox Fuzzing, but also can discover security vulnerabilities in real-world software.