講演名 2021-01-26
脆弱性の原因となるコード最適化のバイナリ比較による検出
東 優花(関西学院大), 石浦 菜岐佐(関西学院大),
PDFダウンロードページ PDFダウンロードページへ
抄録(和) 本稿では, ソフトウェアの脆弱性の原因となるコード削除がコンパイラの最適化によって行われていることを検出する手法を提案する. 不正なメモリアクセスを防止するためのガードや, 秘密情報の主記憶での残留を防止するための消去コードがソースコードに書かれていても, これがコンパイラの最適化によって削除されてしまうために脆弱性が生じる例が報告されている. 本稿ではコンパイラによるこのようなコード削除をバイナリ比較によって検出する. 与えられたソースコードに対し, 通常の最適化オプションでコンパイルして得られるバイナリコードと, 問題を引き起こす最適化を抑止するオプションで得られるバイナリコードを比較して差分を検出をする. 単純なコード比較では有意な差を得ることができないため, 特定の命令に着目した比較を行う. その後, 元のソースコードを最小化し, 検出された差分とコードの対応を取ることにより問題となるコード部分を特定する. 提案手法に基づくツールをPerl 5 を用いて実装し, 200 行〜 51400 行のプログラム 5 件についてテストを行った結果, 1 件のガード消失と 2 件のデッドストア削除を特定することができた.
抄録(英) In this paper, we propose a method to detect vulnerability inducing code elimination by compiler optimization. It is reported that security codes, which are intended to protect programs against invalid memory accesses or to scrub secret information in memories, can be eliminated by compiler optimization. This paper attempts to detect such code elimination by binary comparison. A pair of binary codes are generated from a given source code and are compared; one is obtained with a typical set of optimization options and the other by suppressing the problematic optimization. Since the two binaries are often too different to reveal the code elimination, comparison is done focusing on specific instructions. When the code elimination is detected, the source code is minimized to identify the code fragment that caused the difference. A detection tool implemented in Perl5 has been run on 5 programs consisting of about 200 to 51400 lines, to detect one case of guard elimination and two cases of dead store elimination.
キーワード(和) ソフトウェア / コンパイラ / 最適化 / 脆弱性 / ガード消失 / デッドストア削除
キーワード(英) Software vulnerability / Compiler optimization / Guard elimination / Dead store elimination
資料番号 VLD2020-65,CPSY2020-48,RECONF2020-84
発行日 2021-01-18 (VLD, CPSY, RECONF)

研究会情報
研究会 CPSY / RECONF / VLD / IPSJ-ARC / IPSJ-SLDM
開催期間 2021/1/25(から2日開催)
開催地(和) オンライン開催
開催地(英) Online
テーマ(和) FPGA 応用および一般
テーマ(英) FPGA Applications, etc.
委員長氏名(和) 入江 英嗣(東大) / 柴田 裕一郎(長崎大) / 福田 大輔(富士通研) / 井上 弘士(九大) / 中村 祐一(NEC)
委員長氏名(英) Hidetsugu Irie(Univ. of Tokyo) / Yuichiro Shibata(Nagasaki Univ.) / Daisuke Fukuda(Fujitsu Labs.) / Hiroshi Inoue(Kyushu Univ.) / Yuichi Nakamura(NEC)
副委員長氏名(和) 鯉渕 道紘(NII) / 中島 耕太(富士通研) / 佐野 健太郎(理研) / 山口 佳樹(筑波大) / 小林 和淑(京都工繊大)
副委員長氏名(英) Michihiro Koibuchi(NII) / Kota Nakajima(Fujitsu Lab.) / Kentaro Sano(RIKEN) / Yoshiki Yamaguchi(Tsukuba Univ.) / Kazutoshi Kobayashi(Kyoto Inst. of Tech.)
幹事氏名(和) 高前田 伸也(北大) / 津邑 公暁(名工大) / 三好 健文(イーツリーズ・ジャパン) / 小林 悠記(NEC) / 桜井 祐市(日立) / 兼本 大輔(大阪大学) / 今村 智(富士通研) / 塩谷 亮太(名大) / 谷本 輝夫(九大) / 新田 高庸(NTT) / 瀬戸 謙修(東京都市大) / 密山 幸男(高知工科大) / 君家 一紀(三菱電機) / 廣本 正之(富士通研)
幹事氏名(英) Shinya Takameda(Hokkaido Univ.) / Tomoaki Tsumura(Nagoya Inst. of Tech.) / Takefumi Miyoshi(e-trees.Japan) / Yuuki Kobayashi(NEC) / Yuichi Sakurai(Hitachi) / Daisuke Kanemoto(Osaka Univ.) / Satoshi Imamura(Fujitsu lab.) / Ryota Shioya(Nagoya Univ.) / Teruo Tanimoto(Kyushu Univ.) / Koyo Nitta(NTT) / Kenshu Seto(Tokyo City Univ.) / Yukio Mitsuyama(Kochi Univ. of Tech.) / Kazuki Oya(Mitsubishi Electric) / Masayuki Hiromoto(Fujistu Lab.)
幹事補佐氏名(和) 小川 周吾(日立) / 有間 英志(東大) / 中原 啓貴(東工大) / 竹村 幸尚(インテル) / 西元 琢真(日立)
幹事補佐氏名(英) Shugo Ogawa(Hitachi) / Eiji Arima(Univ. of Tokyo) / Hiroki Nakahara(Tokyo Inst. of Tech.) / Yukitaka Takemura(INTEL) / Takuma Nishimoto(Hitachi)

講演論文情報詳細
申込み研究会 Technical Committee on Computer Systems / Technical Committee on Reconfigurable Systems / Technical Committee on VLSI Design Technologies / Special Interest Group on System Architecture / Special Interest Group on System and LSI Design Methodology
本文の言語 JPN
タイトル(和) 脆弱性の原因となるコード最適化のバイナリ比較による検出
サブタイトル(和)
タイトル(英) Detection of Vulnerability Inducing Code Optimization Based on Binary Code
サブタイトル(和)
キーワード(1)(和/英) ソフトウェア / Software vulnerability
キーワード(2)(和/英) コンパイラ / Compiler optimization
キーワード(3)(和/英) 最適化 / Guard elimination
キーワード(4)(和/英) 脆弱性 / Dead store elimination
キーワード(5)(和/英) ガード消失
キーワード(6)(和/英) デッドストア削除
第 1 著者 氏名(和/英) 東 優花 / Yuka Azuma
第 1 著者 所属(和/英) 関西学院大学(略称:関西学院大)
Kwansei Gakuin University(略称:Kwansei Gakuin Univ.)
第 2 著者 氏名(和/英) 石浦 菜岐佐 / Nagisa Ishiura
第 2 著者 所属(和/英) 関西学院大学(略称:関西学院大)
Kwansei Gakuin University(略称:Kwansei Gakuin Univ.)
発表年月日 2021-01-26
資料番号 VLD2020-65,CPSY2020-48,RECONF2020-84
巻番号(vol) vol.120
号番号(no) VLD-337,CPSY-338,RECONF-339
ページ範囲 pp.148-153(VLD), pp.148-153(CPSY), pp.148-153(RECONF),
ページ数 6
発行日 2021-01-18 (VLD, CPSY, RECONF)