WEKO3
アイテム
ファジングにおける根本原因解析のための字句化・局所化されたデータフローグラフの生成
https://ipsj.ixsq.nii.ac.jp/records/223143
https://ipsj.ixsq.nii.ac.jp/records/22314347aca199-f54d-410d-af69-e74313d934e7
名前 / ファイル | ライセンス | アクション |
---|---|---|
![]() |
Copyright (c) 2022 by the Information Processing Society of Japan
|
|
オープンアクセス |
Item type | Symposium(1) | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
公開日 | 2022-10-17 | |||||||||
タイトル | ||||||||||
タイトル | ファジングにおける根本原因解析のための字句化・局所化されたデータフローグラフの生成 | |||||||||
タイトル | ||||||||||
言語 | en | |||||||||
タイトル | Generating Lexicalized and Localized Data Flow Graphs for Root Cause Analysis in Fuzzing | |||||||||
言語 | ||||||||||
言語 | jpn | |||||||||
資源タイプ | ||||||||||
資源タイプ識別子 | http://purl.org/coar/resource_type/c_5794 | |||||||||
資源タイプ | conference paper | |||||||||
著者所属 | ||||||||||
東京大学情報理工学系研究科 | ||||||||||
著者所属 | ||||||||||
東京大学 | ||||||||||
著者所属(英) | ||||||||||
en | ||||||||||
The University of Tokyo | ||||||||||
著者所属(英) | ||||||||||
en | ||||||||||
The University of Tokyo | ||||||||||
著者名 |
青木, 克憲
× 青木, 克憲
× 品川, 高廣
|
|||||||||
著者名(英) |
Katsunori, Aoki
× Katsunori, Aoki
× Takahiro, Shinagawa
|
|||||||||
論文抄録 | ||||||||||
内容記述タイプ | Other | |||||||||
内容記述 | ファジングは脆弱性検出のために広く使われている手法であり,入力をランダムに変えながら実行を繰り返すことにより,クラッシュを引き起こす入力を自動的に発見することができる.しかし,発見されたクラッシュが真に脆弱性によるものであるかどうかを識別するためには,人手による根本原因解析(Root Cause Analysis)が必要であり,非常に手間と時間がかかる作業が必要になる.従来の研究では,制御フローやデータフローを抽出して根本原因解析の支援情報を生成するものや,多数のクラッシュから根本原因の絞り込みを試みるものなどがあるが,支援情報が人間にとって分かりにくかったり,多数のクラッシュ入力の生成が必要であったりした.本研究では,人間にとって分かりやすい解析支援情報を1つのクラッシュ入力のみから生成するために,字句化及び局所化されたデータフローグラフを生成する手法を提案する.ソースコード計装により変数名や型名など字句レベルの情報を付加したデータフローを実行時に記録し,人間がデータフローとソースコードの関係を理解しやすいようにする.また,クラッシュの前後のシードからデータフローの差分をとることで,単一のクラッシュ情報のみから根本原因に関連した部分に局所化したデータフローグラフを生成する.ファジング評価用データセットである Magma に含まれる 2 つの既知の脆弱性に対して提案手法を適用した結果,データフロー上から根本原因に至ることが容易になったことを確認した. | |||||||||
論文抄録(英) | ||||||||||
内容記述タイプ | Other | |||||||||
内容記述 | Fuzzing is a widely used method for vulnerability detection that can automatically find inputs that cause crashes by repeating execution with randomly changing inputs. However, to identify whether a discovered crash is truly caused by a vulnerability or not, a manual Root Cause Analysis is required, which is a very time-consuming and labor-intensive process. Previous studies have attempted to generate support information for root cause analysis by extracting control flow and data flow, or to narrow down the root cause from a large number of crashes, but the support information was difficult for humans to understand or required the generation of a large number of crash inputs. In this study, we propose a method for generating lexicalized and localized data flow graphs to generate human-intuitive analysis support information from only one crash input. The data flow with lexical-level information such as variable names and type names is recorded at runtime by source code instrumentation, making it easier for humans to understand the relationship between the data flow and the source code. By differencing data flows from the seeds before and after a crash, we generate a data flow graph that is localized to the root-cause related parts from only a single crash information. We applied the proposed method to two known vulnerabilities in Magma, a fuzzing evaluation dataset, and observed that it is easier to get to the root cause from the data flow. |
|||||||||
書誌情報 |
コンピュータセキュリティシンポジウム2022論文集 p. 643-650, 発行日 2022-10-17 |
|||||||||
出版者 | ||||||||||
言語 | ja | |||||||||
出版者 | 情報処理学会 |