Improving Fuzzing Using Input Data Offsets Comparison Information

IF 0.7 4区 计算机科学 Q4 COMPUTER SCIENCE, SOFTWARE ENGINEERING
S. Sargsyan
{"title":"Improving Fuzzing Using Input Data Offsets Comparison Information","authors":"S. Sargsyan","doi":"10.1134/s0361768823100092","DOIUrl":null,"url":null,"abstract":"<h3 data-test=\"abstract-sub-heading\">Abstract</h3><p>There is a wide range of fuzzing techniques for security assurance. Communication protocols and programs accepting complex structured data, including compilers, can be efficiently tested with a corresponding fuzzing approach. The main advantage of the fuzzing is actual data, which demonstrates the defects of the target software. The performance of fuzzing primarily depends on the quality of generated data. Existing fuzzing tools provide a fixed set of data generation algorithms, which doesn’t consider the specifics of the target program. There are several scenarios when the performance of the fuzzing may suffer. The target may execute different parts of the code based on a comparison of the offsets of the input data with some constant value. For such cases, random mutations will invalidate input data and lead to lower code coverage.</p><p>In this paper, we present a new approach for effective input data generation. We use static analysis to extract information regarding the input data offsets’ comparisons with constant values. Then we use this information during input data generation. Experimental evaluation of the developed method on several projects proves the efficiency of the developed method. Our approach allowed up to 91% increase in the number of executed paths for the same execution count.</p>","PeriodicalId":54555,"journal":{"name":"Programming and Computer Software","volume":"4 1","pages":""},"PeriodicalIF":0.7000,"publicationDate":"2024-03-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Programming and Computer Software","FirstCategoryId":"94","ListUrlMain":"https://doi.org/10.1134/s0361768823100092","RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q4","JCRName":"COMPUTER SCIENCE, SOFTWARE ENGINEERING","Score":null,"Total":0}
引用次数: 0

Abstract

There is a wide range of fuzzing techniques for security assurance. Communication protocols and programs accepting complex structured data, including compilers, can be efficiently tested with a corresponding fuzzing approach. The main advantage of the fuzzing is actual data, which demonstrates the defects of the target software. The performance of fuzzing primarily depends on the quality of generated data. Existing fuzzing tools provide a fixed set of data generation algorithms, which doesn’t consider the specifics of the target program. There are several scenarios when the performance of the fuzzing may suffer. The target may execute different parts of the code based on a comparison of the offsets of the input data with some constant value. For such cases, random mutations will invalidate input data and lead to lower code coverage.

In this paper, we present a new approach for effective input data generation. We use static analysis to extract information regarding the input data offsets’ comparisons with constant values. Then we use this information during input data generation. Experimental evaluation of the developed method on several projects proves the efficiency of the developed method. Our approach allowed up to 91% increase in the number of executed paths for the same execution count.

Abstract Image

利用输入数据偏移比较信息改进模糊测试
摘要在安全保证方面有多种模糊技术。通信协议和接受复杂结构数据的程序,包括编译器,都可以通过相应的模糊方法进行有效测试。模糊测试的主要优势在于能证明目标软件缺陷的实际数据。模糊测试的性能主要取决于生成数据的质量。现有的模糊工具提供了一套固定的数据生成算法,并没有考虑目标程序的具体情况。有几种情况可能会影响模糊测试的性能。目标程序可能会根据输入数据的偏移量与某个常量值的比较来执行代码的不同部分。在这种情况下,随机突变会使输入数据无效,导致代码覆盖率降低。在本文中,我们提出了一种有效生成输入数据的新方法。我们使用静态分析来提取有关输入数据偏移量与常量值比较的信息。然后,我们在生成输入数据时使用这些信息。在多个项目上对所开发方法进行的实验评估证明了所开发方法的效率。在执行次数相同的情况下,我们的方法使执行路径的数量增加了 91%。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
Programming and Computer Software
Programming and Computer Software 工程技术-计算机:软件工程
CiteScore
1.60
自引率
28.60%
发文量
35
审稿时长
>12 weeks
期刊介绍: Programming and Computer Software is a peer reviewed journal devoted to problems in all areas of computer science: operating systems, compiler technology, software engineering, artificial intelligence, etc.
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信