講演名 2019-03-01
Android仮想マシンのランダムテストにおける命令列生成の強化
清水 遼太朗(関西学院大), 石浦 菜岐佐(関西学院大),
PDFダウンロードページ PDFダウンロードページへ
抄録(和) 本稿では, Android 仮想マシンのランダムテストにおける命令列の生成を強化する手法を提案する. Android 仮想マシンのランダムテスト手法において, 既存の DEX ファイルを変異させて生成する手法では, ベリファイアを通過できないテストケースを多く生成してしまうという課題がある. また, ベリファイアを通過できる DEX ファイルを生成する手法では, 1 ファイル中に生成できる命令数, 命令種類, およびクラスフィールドのバリエーションが少ない等の課題がある. 本稿では, 後者の Android 仮想マシンのテストシステムを拡張し, バイトコードの規模とバリエーションを拡大する. 本手法では, 複数のメソッドを生成することにより, 1 ファイル中に生成できる命令数を増やす. 命令列の生成法をボトムアップからトップダウンに変更することにより, 命令の種類やバリエーションを増やす. また, クラスフィールドの型や修飾子等の情報を各セクションに挿入することにより, クラスフィールドの型と修飾子がテスト毎に変化するようにする. 本手法に基づくテストシステムを Perl 5 で実装し, Android 9.0 の仮想マシンを対象にテストを行った結果, 不具合を検出することはできなかったが, 従来のテストシステムに比べてバイトコードの規模とバリエーションが拡大した.
抄録(英) This article presents a method of reinforcing generation of instruction sequences in random testing of the Android virtual machine (VM). A mutation based random test generation method, in which input DEX (Dalvik Executable) files are generated by randomly mutating some bytes in existing valid DEX files, ends up with low efficiency because invalid DEX files are rejected by the VM's verifier. On the other hand, in a generation based method, which generates only valid DEX files that pass the verifier, did not incorporate enough number nor enough variation of instructions and class fields. In this article the latter method is extended to provide test files with larger number and variation of instruction and class fields. More than one methods are generated in a byte code to increase the total number of instructions in a file. A top-down generation procedure is employed instead of the bottom-up one to make it easier to afford variety of instructions and operands. The field information in the file header is modified to randomly change the types and modifiers of class fields. A test system has been implemented in Perl 5 and the VM of Android 9.0 have been tested. Although no error has been detected so far, it is expected that the tests provides a wider coverage.
キーワード(和) Android / 仮想マシン / ランダムテスト
キーワード(英) Android / Virtual Machine / Random Testing
資料番号 VLD2018-124,HWS2018-87
発行日 2019-02-20 (VLD, HWS)

研究会情報
研究会 HWS / VLD
開催期間 2019/2/27(から4日開催)
開催地(和) 沖縄県青年会館
開催地(英) Okinawa Ken Seinen Kaikan
テーマ(和) システムオンシリコンを支える設計技術, ハードウェアセキュリティ, 一般
テーマ(英) Design Technology for System-on-Silicon, Hardware Security, etc.
委員長氏名(和) 松本 勉(横浜国大) / 峯岸 孝行(三菱電機)
委員長氏名(英) Tsutomu Matsumoto(Yokohama National Univ.) / Noriyuki Minegishi(Mitsubishi Electric)
副委員長氏名(和) 川村 信一(東芝) / 池田 誠(東大) / 戸川 望(早大)
副委員長氏名(英) Shinichi Kawamura(Toshiba) / Makoto Ikeda(Univ. of Tokyo) / Nozomu Togawa(Waseda Univ.)
幹事氏名(和) 三浦 典之(神戸大) / 国井 裕樹(セコム) / 新田 高庸(NTT) / 小平 行秀(会津大)
幹事氏名(英) Noriyuki Miura(Kobe Univ.) / Hiroki Kunii(SECOM) / Koyo Nitta(NTT) / Yukihide Kohira(Univ. of Aizu)
幹事補佐氏名(和)
幹事補佐氏名(英)

講演論文情報詳細
申込み研究会 Technical Committee on Hardware Security / Technical Committee on VLSI Design Technologies
本文の言語 JPN
タイトル(和) Android仮想マシンのランダムテストにおける命令列生成の強化
サブタイトル(和)
タイトル(英) Reinforcing Generation of Instruction Sequences in Random Testing of Android Virtual Machine
サブタイトル(和)
キーワード(1)(和/英) Android / Android
キーワード(2)(和/英) 仮想マシン / Virtual Machine
キーワード(3)(和/英) ランダムテスト / Random Testing
第 1 著者 氏名(和/英) 清水 遼太朗 / Ryotaro Shimizu
第 1 著者 所属(和/英) 関西学院大学(略称:関西学院大)
Kwansei Gakuin University(略称:Kwansei Gakuin Univ.)
第 2 著者 氏名(和/英) 石浦 菜岐佐 / Nagisa Ishiura
第 2 著者 所属(和/英) 関西学院大学(略称:関西学院大)
Kwansei Gakuin University(略称:Kwansei Gakuin Univ.)
発表年月日 2019-03-01
資料番号 VLD2018-124,HWS2018-87
巻番号(vol) vol.118
号番号(no) VLD-457,HWS-458
ページ範囲 pp.187-192(VLD), pp.187-192(HWS),
ページ数 6
発行日 2019-02-20 (VLD, HWS)