Item type |
Journal(1) |
公開日 |
2021-03-15 |
タイトル |
|
|
タイトル |
ミドルウェアに対するCoverage-based Greybox Fuzzingの適用 |
タイトル |
|
|
言語 |
en |
|
タイトル |
How to Test Middleware with Coverage-based Greybox Fuzzing |
言語 |
|
|
言語 |
jpn |
キーワード |
|
|
主題Scheme |
Other |
|
主題 |
[特集:若手研究者(特選論文)] fuzzing,セキュリティテスト,ソフトウェアテスト,ミドルウェア,オープンソースソフトウェア |
資源タイプ |
|
|
資源タイプ識別子 |
http://purl.org/coar/resource_type/c_6501 |
|
資源タイプ |
journal article |
ID登録 |
|
|
ID登録 |
10.20729/00210252 |
|
ID登録タイプ |
JaLC |
著者所属 |
|
|
|
名古屋大学大学院情報学研究科 |
著者所属 |
|
|
|
名古屋大学大学院情報学研究科 |
著者所属 |
|
|
|
名古屋大学大学院情報学研究科 |
著者所属(英) |
|
|
|
en |
|
|
Graduate School of Informatics, Nagoya University |
著者所属(英) |
|
|
|
en |
|
|
Graduate School of Informatics, Nagoya University |
著者所属(英) |
|
|
|
en |
|
|
Graduate School of Informatics, Nagoya University |
著者名 |
伊藤, 弘将
松原, 豊
高田, 広章
|
著者名(英) |
Hiromasa, Ito
Yutaka, Matsubara
Hiroaki, Takada
|
論文抄録 |
|
|
内容記述タイプ |
Other |
|
内容記述 |
近年,自動ソフトウェアテスト手法の一種であるfuzzingが注目されており,その効果や効率を向上させるための研究が数多く発表されている.しかし,多くの既存研究では,比較的シンプルなベンチマークを対象に,単一のインタフェースに対し単一の入力を与えた際の探索結果により,評価が行われている.これらのベンチマークとは異なる,より複雑なソフトウェアを対象とした場合,効果的にfuzzingを行うための研究は,あまりなされていない.本研究では,複数のインタフェースから入力系列が与えられ内部状態が変化する,より複雑なソフトウェアとして,ミドルウェアを取り上げ,その開発者がより効果的にfuzzingを適用するためのプロセスを提案する.提案手法では,テスト対象への情報の流入路として,テスト対象が提供するインタフェースに加え,外部コンポーネントがテスト対象へ提供するインタフェースを考慮する.さらに,依存関係を持つインタフェースに対して同時にfuzzingを実行することで,探索範囲の拡大を試みる.既存の組込み向けTCP/IPスタックを用いたケーススタディでは,開発者らが実施したfuzzingの結果と,提案手法に基づくfuzzingの結果を,ラインカバレッジと検出されたクラッシュの数を指標として比較した.結果として,ラインカバレッジを最大で7割程度向上させ,新たなバグを9種類検出した. |
論文抄録(英) |
|
|
内容記述タイプ |
Other |
|
内容記述 |
Fuzzing is one of the most popular automated software testing methods. Many researchers have published in the fuzzing related fields. However, most of them have evaluated their proposals with simple benchmarks, which have explored target programs with a value from a single interface. For more complicated targets, how to do that has not been proposed so far. In this research, we propose a new effective method based on coverage-based greybox fuzzing. The method targets middleware, which take some inputs from a lot of interfaces and change internal states of themselves. In order to increase code coverage of fuzzing, we 1) target every interface from where other system components input some data to the target program, and 2) take care of dependencies between their interfaces. We apply our proposed method to a TCP/IP stack for embedded systems and compare line coverage and the number of found crashes between the fuzzing campaigns of the developers and ours. As a result, our fuzzing campaigns covered up to 70% more codes than developers and discovered 9 zero-day bugs. |
書誌レコードID |
|
|
収録物識別子タイプ |
NCID |
|
収録物識別子 |
AN00116647 |
書誌情報 |
情報処理学会論文誌
巻 62,
号 3,
p. 877-890,
発行日 2021-03-15
|
ISSN |
|
|
収録物識別子タイプ |
ISSN |
|
収録物識別子 |
1882-7764 |