Grammar-Based Evolutionary Fuzzing for JSON-RPC APIs

Lisette Veldkamp, Mitchell Olsthoorn, Annibale Panichella
{"title":"Grammar-Based Evolutionary Fuzzing for JSON-RPC APIs","authors":"Lisette Veldkamp, Mitchell Olsthoorn, Annibale Panichella","doi":"10.1109/SBFT59156.2023.00026","DOIUrl":null,"url":null,"abstract":"Web Application Programming Interfaces (APIs) allow systems to be addressed programmatically and form the backbone of the internet. RESTful and RPC APIs are among the most common API architectures used. In the last decades, researchers have proposed various techniques for automated testing of RESTful APIs, however, to the best of the authors’ knowledge there exists no work on testing JSON-RPC (one of the two data formats supported by RPC) APIs. To address this limitation, we propose a grammar-based evolutionary fuzzing approach for testing JSON-RPC APIs that uses a novel black-box heuristic. Specifically, we use a diversity-based fitness function based on hierarchical clustering to quantity the differences in API method responses. Our hypothesis is that responses that are unlike previously seen ones are an indication that new uncovered code paths are reached. We evaluate our approach on the XRP ledger, a large-scale industrial blockchain system that uses JSON-RPC APIs. Our results show that the proposed approach performs significantly better than the baseline (grammar-based fuzzer) and covers an additional 240 branches.","PeriodicalId":309629,"journal":{"name":"2023 IEEE/ACM International Workshop on Search-Based and Fuzz Testing (SBFT)","volume":"208 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2023-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2023 IEEE/ACM International Workshop on Search-Based and Fuzz Testing (SBFT)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/SBFT59156.2023.00026","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0

Abstract

Web Application Programming Interfaces (APIs) allow systems to be addressed programmatically and form the backbone of the internet. RESTful and RPC APIs are among the most common API architectures used. In the last decades, researchers have proposed various techniques for automated testing of RESTful APIs, however, to the best of the authors’ knowledge there exists no work on testing JSON-RPC (one of the two data formats supported by RPC) APIs. To address this limitation, we propose a grammar-based evolutionary fuzzing approach for testing JSON-RPC APIs that uses a novel black-box heuristic. Specifically, we use a diversity-based fitness function based on hierarchical clustering to quantity the differences in API method responses. Our hypothesis is that responses that are unlike previously seen ones are an indication that new uncovered code paths are reached. We evaluate our approach on the XRP ledger, a large-scale industrial blockchain system that uses JSON-RPC APIs. Our results show that the proposed approach performs significantly better than the baseline (grammar-based fuzzer) and covers an additional 240 branches.
基于语法的JSON-RPC api进化模糊分析
Web应用程序编程接口(api)允许以编程方式对系统进行寻址,并构成互联网的骨干。RESTful API和RPC API是最常用的API体系结构。在过去的几十年里,研究人员提出了各种用于RESTful api自动化测试的技术,然而,据作者所知,还没有关于测试JSON-RPC (RPC支持的两种数据格式之一)api的工作。为了解决这个限制,我们提出了一种基于语法的进化模糊测试方法来测试JSON-RPC api,该方法使用了一种新颖的黑盒启发式方法。具体而言,我们使用基于层次聚类的基于多样性的适应度函数来量化API方法响应的差异。我们的假设是,与之前看到的响应不同的响应表明到达了新的未覆盖代码路径。我们在XRP账本上评估了我们的方法,XRP账本是一个使用JSON-RPC api的大型工业区块链系统。我们的结果表明,所提出的方法的性能明显优于基线(基于语法的模糊器),并且覆盖了额外的240个分支。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约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学术官方微信
小红书