研究課題/領域番号 |
19K11916
|
研究機関 | 熊本高等専門学校 |
研究代表者 |
神崎 雄一郎 熊本高等専門学校, 電子情報システム工学系, 准教授 (90435488)
|
研究期間 (年度) |
2019-04-01 – 2022-03-31
|
キーワード | ソフトウェア保護 / Man-At-The-End攻撃 / 難読化 |
研究実績の概要 |
本研究の目的は,(1)自動解析を用いたMan-At-The-End攻撃(MATE攻撃)からソフトウェアを保護する方法,および,(2)MATE攻撃に対する保護機構の有効性を評価する方法,の2点について検討し実用化することである. 2年目となる2020年度は,主に(1)の開発に取り組んだ.具体的には,SMTソルバによるコード(命令列)の自動生成を応用したプログラムの難読化によって,MATE攻撃からソフトウェアを保護する方法を提案した.前年度は,擬似的なアセンブリプログラムを対象に,与えられた演算命令と同様の意味を持つ複雑(不明瞭)な命令列をSMTソルバによって生成するアイデアについて検討した.2020年度はこのアイデアを応用し,アセンブリプログラムに含まれる演算命令やデータ転送命令を,演算,分岐,データ転送などの操作を含んだ複雑な命令列に変形することで,シンボリック実行を用いた自動解析が困難なプログラムを構成する方法について検討した.実装面では,GAS形式のアセンブリプログラムの命令を対象に変形できるよう拡張し,C言語などのプログラムに提案方法を適用するツールを試作した.実装したツールを用いた実験を通して,提案方法によって保護されたプログラムの実行結果の正しさや,シンボリック実行による自動解析への耐性(自動解析の困難さ)について議論した.得られた成果については,国内にて口頭発表を行った. また,(2)に関連するものとして,ソフトウェアに適用されている難読化方法を自動判別する困難さを評価する方法について,前年度に引き続き検討した.2020年度は,自動判別のモデルを再検討した上で,難読化変形の方法によって判別(特定)のされにくさがどの程度異なるかを調査する実験などを行った.
|
現在までの達成度 (区分) |
現在までの達成度 (区分)
3: やや遅れている
理由
研究実績の概要で(1)として述べたソフトウェア保護方法の開発については,2019年度に検討したアイデアをもとに,2020年度に方法を発展させ,システムを試作する段階に至っている.一方で,(2)のソフトウェア保護機構の有効性を評価するテーマについては,適用された難読化方法を自動判別する困難さの評価方法に加え,難読化の有効性の評価に関する複数のアイデアを実験を交えて検討しているものの,2020年度は研究会等で発表するまでの成果が得られなかった. 総合的に考えると,一部の研究テーマについて進展があったものの最終目標に向けて今後の課題が多くなっている状況であるため,進捗状況は,やや遅れていると判断した.
|
今後の研究の推進方策 |
まず,SMTソルバによるコード生成を応用したプログラム難読化方法について,今後もさらに発展させることを考えている.具体的には,コードの変形方法を拡張することや,2019年度に検討した,小さい計算コストでシンボリック実行解析を防ぐアイデアを組み合わせ,実行時間のオーバーヘッドが小さい保護方法を提案することなどを予定している. また,近年性能が向上している逆コンパイラを用いたMATE攻撃に対して既存の保護方法がどの程度有効なのかを評価するなど,保護機構の有効性評価に関する新たなテーマについても取り組みたいと考えている.
|
次年度使用額が生じた理由 |
成果発表や情報収集のために参加した会議等が新型コロナウイルス感染症の影響ですべてオンライン開催となり,旅費が不要となった.このことが,次年度使用額が生じた主な理由である. 次年度に繰り越した予算は,会議での口頭発表や論文誌への投稿など,成果発表のための費用として用いる予定である.
|