Exploring Effective Fuzzing Strategies to Analyze Communication Protocols

Yurong Chen, Tian-Shing Lan, Guru Venkataramani
{"title":"Exploring Effective Fuzzing Strategies to Analyze Communication Protocols","authors":"Yurong Chen, Tian-Shing Lan, Guru Venkataramani","doi":"10.1145/3338502.3359762","DOIUrl":null,"url":null,"abstract":"In recent years, coverage-based greybox fuzzing has become popular forvulnerability detection due to its simplicity and efficiency. However, it is less powerful when applied directly to protocol fuzzing due to the unique challenges involved in fuzzing communication protocols. In particular, the communication among multiple ends contains more than one packet, which are not necessarily dependent upon each other, i.e., fuzzing single (usually the first) packet can only achieve extremely limited code coverage. In this paper, we study such challenges and demonstrate the limitation of current non-stateful greybox fuzzer. In order to achieve higher code coverage, we design stateful protocol fuzzing strategies for communication protocols to explore the code related to different protocol states. Our approach contains a state switching engine, together with a multi-state forkserver to consistently and flexibly fuzz different states of an compiler-instrumented protocol program. Our experimental results on OpenSSL show that our approach achieves an improvement of 73% more code coverage and 2x unique crashes when comparing against fuzzing the first packet during a protocol handshake.","PeriodicalId":139506,"journal":{"name":"Proceedings of the 3rd ACM Workshop on Forming an Ecosystem Around Software Transformation","volume":"15 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2019-11-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"4","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 3rd ACM Workshop on Forming an Ecosystem Around Software Transformation","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3338502.3359762","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 4

Abstract

In recent years, coverage-based greybox fuzzing has become popular forvulnerability detection due to its simplicity and efficiency. However, it is less powerful when applied directly to protocol fuzzing due to the unique challenges involved in fuzzing communication protocols. In particular, the communication among multiple ends contains more than one packet, which are not necessarily dependent upon each other, i.e., fuzzing single (usually the first) packet can only achieve extremely limited code coverage. In this paper, we study such challenges and demonstrate the limitation of current non-stateful greybox fuzzer. In order to achieve higher code coverage, we design stateful protocol fuzzing strategies for communication protocols to explore the code related to different protocol states. Our approach contains a state switching engine, together with a multi-state forkserver to consistently and flexibly fuzz different states of an compiler-instrumented protocol program. Our experimental results on OpenSSL show that our approach achieves an improvement of 73% more code coverage and 2x unique crashes when comparing against fuzzing the first packet during a protocol handshake.
探索有效的通信协议模糊分析策略
近年来,基于覆盖率的灰盒模糊以其简单、高效的特点成为漏洞检测的热门方法。然而,当直接应用于协议模糊测试时,由于模糊测试通信协议所涉及的独特挑战,它的功能不那么强大。特别是,多个端之间的通信包含多个数据包,这些数据包不一定相互依赖,也就是说,模糊单个(通常是第一个)数据包只能实现极其有限的代码覆盖。在本文中,我们研究了这些挑战,并证明了现有的非状态灰盒模糊器的局限性。为了实现更高的代码覆盖率,我们针对通信协议设计了有状态协议模糊策略,探索与不同协议状态相关的代码。我们的方法包含一个状态切换引擎和一个多状态叉服务器,以一致和灵活地模糊化一个编译器协议程序的不同状态。我们在OpenSSL上的实验结果表明,与在协议握手期间模糊处理第一个数据包相比,我们的方法实现了73%以上的代码覆盖率和2倍的唯一崩溃。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
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学术文献互助群
群 号:604180095
Book学术官方微信