Item type |
Trans(1) |
公開日 |
2019-07-17 |
タイトル |
|
|
タイトル |
実行可能コードを対象とするスケーラブルかつ部分的パス依存なバッファオーバフロー静的検知 |
タイトル |
|
|
言語 |
en |
|
タイトル |
Scalable and Partial Path Sensitive Static Detection of Buffer Overflows in Executables |
言語 |
|
|
言語 |
jpn |
キーワード |
|
|
主題Scheme |
Other |
|
主題 |
[発表概要,Unrefereed Presentation Abstract] |
資源タイプ |
|
|
資源タイプ識別子 |
http://purl.org/coar/resource_type/c_6501 |
|
資源タイプ |
journal article |
著者所属 |
|
|
|
東京工業大学 |
著者所属 |
|
|
|
東京工業大学 |
著者所属 |
|
|
|
東京工業大学 |
著者所属(英) |
|
|
|
en |
|
|
Tokyo Institute of Technology |
著者所属(英) |
|
|
|
en |
|
|
Tokyo Institute of Technology |
著者所属(英) |
|
|
|
en |
|
|
Tokyo Institute of Technology |
著者名 |
黒岩, 将平
荒堀, 喜貴
権藤, 克彦
|
著者名(英) |
Shohei, Kuroiwa
Yoshitaka, Arahori
Katsuhiko, Gondow
|
論文抄録 |
|
|
内容記述タイプ |
Other |
|
内容記述 |
バッファオーバフロー検知は20年以上研究されているにもかかわらず脆弱性の中でも最も多いものの1つであり,セキュリティ上で深刻な問題を引き起こす原因になりうる.これまでに様々なバッファオーバフロー検知手法が提案されてきた.静的手法では記号実行を用いた手法があり,高い精度でセキュリティ上の脆弱性を検知できるが大規模なプログラムを網羅的に解析することが困難である.また,ソースコードやシンボル情報を必要とせずに大規模なプログラムにも対応した手法(Kindermann, 2008)もあるが,スタック上で発生するバッファオーバフローのみを検知対象としている.そこで,本手法では実行ファイルのみを入力としたデバッグ情報やシンボル情報を必要とせずにスタックやヒープ,構造体内で発生するバッファオーバフローの検知手法を提案する.提案手法ではx86の実行ファイルを対象とし,関数内のメモリアクセスからメモリ上の値を過大近似する静的な数値とポインタ解析アルゴリズムの組み合わせた手法Value-Set Analysis(VSA)(Balakrishnan and Reps, 2010)を元にした手法によりプログラム中の変数を復元し,プログラムのメモリアクセス範囲を計算することでバッファオーバフローの検知を目指す.さらに本手法ではVSAに加えてバッファオーバフロー検知のために一部Path-Sensitivityを加えた.実験では100万行を超えるコードの実行ファイルに対しても網羅的にバッファオーバフロー脆弱性の解析が可能なことを示す. |
論文抄録(英) |
|
|
内容記述タイプ |
Other |
|
内容記述 |
Although Buffer overflow detection has been studied for more than 20 years, it is stil the most common source of security vulnerabilities. Various approaches has been proposed ever. Although symbolic analysis techniques can find such vulnerabilities with high precision, it does not scale to millions lines of code (MLOC). And it requires source code to analyze. (Kindermann, 2008) can analyze buffer overflows scalably without either source code or debug symbols, but it can not detect buffer overflows occured inside either heap allocated region or the field of structs. In this presentation, we employ Value-Set Analysis (VSA) (Balakrishnan and Reps, 2010) which is flow-sensitive and context-sensitive, a combined numeric-analysis and pointer-analysis algorithm to recover variables and overapproximate possible accessed locations to scalably detect possible buffer overflows which occurs on stack, heap, the field of structs. Moreover, we add partial path-sensitivity to VSA to improve the precision of our algorithm. Our experiments show that we can successfully analyze MLOC program. |
書誌レコードID |
|
|
収録物識別子タイプ |
NCID |
|
収録物識別子 |
AA11464814 |
書誌情報 |
情報処理学会論文誌プログラミング(PRO)
巻 12,
号 3,
p. 13-13,
発行日 2019-07-17
|
ISSN |
|
|
収録物識別子タイプ |
ISSN |
|
収録物識別子 |
1882-7802 |
出版者 |
|
|
言語 |
ja |
|
出版者 |
情報処理学会 |