FuzzTheREST: An Intelligent Automated Black-box RESTful API Fuzzer

要約

デジタル変革の時代におけるソフトウェアの広範囲にわたる影響と依存度の増大により、脆弱性に対する懸念が生じ、ソフトウェア セキュリティの必要性が強調されています。
ファジー テストは、欠陥のある入力データをテスト対象システム (SUT) に供給し、その動作を観察することで構成される動的分析ソフトウェア テスト手法です。
特にブラックボックス RESTful API テストに関して、最近の文献では、ヒューリスティックを使用して入力検索を実行し、HTTP 応答ステータス コードを分類に使用して、この手法を自動化することが試みられています。
ただし、ほとんどのアプローチは、ソリューションを検証するために重要であるコード カバレッジを追跡しません。
この研究では、脆弱性検出に強化学習 (RL) を採用したブラックボックス RESTful API ファジー テスト ツールを導入します。
ファザーは、OpenAPI 仕様 (OAS) ファイルとシナリオ ファイルを介して動作します。シナリオ ファイルには、それぞれ SUT と通信するための情報とテストする一連の機能が含まれています。
その有効性を評価するために、このツールは Petstore API でテストされました。
このツールは合計 6 つの固有の脆弱性を発見し、55% のコード カバレッジを達成しました。

要約(オリジナル)

Software’s pervasive impact and increasing reliance in the era of digital transformation raise concerns about vulnerabilities, emphasizing the need for software security. Fuzzy testing is a dynamic analysis software testing technique that consists of feeding faulty input data to a System Under Test (SUT) and observing its behavior. Specifically regarding black-box RESTful API testing, recent literature has attempted to automate this technique using heuristics to perform the input search and using the HTTP response status codes for classification. However, most approaches do not keep track of code coverage, which is important to validate the solution. This work introduces a black-box RESTful API fuzzy testing tool that employs Reinforcement Learning (RL) for vulnerability detection. The fuzzer operates via the OpenAPI Specification (OAS) file and a scenarios file, which includes information to communicate with the SUT and the sequences of functionalities to test, respectively. To evaluate its effectiveness, the tool was tested on the Petstore API. The tool found a total of six unique vulnerabilities and achieved 55\% code coverage.

arxiv情報

著者 Tiago Dias,Eva Maia,Isabel Praça
発行日 2024-07-19 14:43:35+00:00
arxivサイト arxiv_id(pdf)

提供元, 利用サービス

arxiv.jp, Google

カテゴリー: cs.AI, cs.LG, cs.SE パーマリンク