Item type |
Trans(1) |
公開日 |
2019-07-17 |
タイトル |
|
|
タイトル |
バイナリコードを対象とした高速かつ正確な動的Use-After-Free検出 |
タイトル |
|
|
言語 |
en |
|
タイトル |
Efficient and Precise Dynamic Use-After-Free Detection for 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 |
著者名 |
石山, 泰地
荒堀, 喜貴
権藤, 克彦
|
著者名(英) |
Taichi, Ishiyama
Yoshitaka, Arahori
Katsuhiko, Gondow
|
論文抄録 |
|
|
内容記述タイプ |
Other |
|
内容記述 |
近年,Use-After-Free(UAF)脆弱性を悪用した攻撃が数多く存在している.UAF脆弱性は解放済みのメモリ領域を参照しているダングリングポインタを使用することで発生し,これを悪用することで任意コードの実行や情報漏洩などが引き起こされる可能性がある.これまでCソースコードに対して高精度かつ低オーバヘッドでUAF脆弱性の悪用を防ぐ手法が多く提案されてきた.一方で,バイナリレベルでのUAF検出はオーバヘッドが大きく,リアルタイムでの保護に向かないものが多い.また,バイナリレベルではスタックフレームの解放に起因するUAFの検出も難しい.本発表ではバイナリコードを対象とした高速かつ正確なUAF検出手法を提案する.本手法はFreeSentryをバイナリコードを対象に再実装した上で,計装ツールへの最適化と,ポインタ追跡に使う命令とレジスタを限定することで高速化を達成した.また,call命令やret命令などを監視することでスタックに起因するUAFの検出も可能にした.検出精度について,自作の11のテストケースとNIST SAMATE benchmark suiteの38のテストケースで誤検出や検出漏れは発生しなかった.また,LAVAをUAF用に改造したものを使用して精度を確認した.オーバヘッドについて,gzipに本手法を適用すると実行時間は7倍程度になった. |
論文抄録(英) |
|
|
内容記述タイプ |
Other |
|
内容記述 |
Use-After-Free (UAF) is a memory bug in which a (dangling) pointer to a freed memory objects is dereferenced. UAFs are a notorious source of many security vulnerabilities such as arbitrary code execution and information leakage. There have been proposed a number of efficient and precise detection techniques for UAFs. However, most of them are implemented via source-code instrumentation, limiting the range of code checked. Binary instrumentation-based UAF detectors are, on the other hand, neither efficient nor precise. Especially, they are too inefficient to be used as an online UAF detector, and not able to detect UAFs over stack frames. In this work, we propose an efficient and precise dynamic UAF detector based on binary instrumentation. We extend FreeSentry, a source-level UAF detector, to precisely check binary execution via monitoring stack frames, while taming runtime overheads by optimizing binary instrumentation and limiting registers over which to perform pointer-tracking. Our experiments with 18 small benchmarks and 38 NIST SAMATE benchmarks show that our approach incurs neither false positives nor false negatives. In addition, the runtime overhead imposed by our approach was about 7x for gzip. |
書誌レコードID |
|
|
収録物識別子タイプ |
NCID |
|
収録物識別子 |
AA11464814 |
書誌情報 |
情報処理学会論文誌プログラミング(PRO)
巻 12,
号 3,
p. 14-14,
発行日 2019-07-17
|
ISSN |
|
|
収録物識別子タイプ |
ISSN |
|
収録物識別子 |
1882-7802 |
出版者 |
|
|
言語 |
ja |
|
出版者 |
情報処理学会 |