本研究課題では,難読化によって秘密情報が保護されたソフトウェアに対するMan-At-The-End攻撃(エンドユーザによるソフトウェアの解析・改ざん行為)の困難さ評価に関する研究を行った.特に,プログラムに存在する秘密情報の位置を特定しようとする攻撃の困難さを評するのに重要となる,難読化されたコードのステルス(難読化によって変形された部分がどれだけ攻撃者に発見されにくいか)の評価方法の開発に重点を置いて取り組んだ. 本年度は,新しい試みとして,アセンブリプログラムの基本ブロック単位でのステルス評価方法を提案した.具体的には,難読化によって変形されたコードを含む基本ブロックがどれだけ攻撃者に目立つのか,すなわち,難読化されているコード(秘密情報を保護しているコード)を探そうとしている攻撃者にとってどれだけ発見しやすいかを定量的に評価するための方法を提案した.この方法では,基本ブロックに含まれる命令数や出現する命令の順番などに基づいて,「基本ブロックらしくない度合」を測定する.提案方法を実装し,既存の難読化方法によって変形されたコードを含む基本ブロックがどれだけ攻撃者にとって目立つのかを評価・議論するケーススタディを行った.得られた成果について,学会発表を行った. 本年度の提案方法を含め,研究期間内に提案した方法は,プログラムの難読化などのソフトウェア保護方法が適用されたソフトウェアに対する解析・改ざんの困難さの実際的な評価の一助になると考える.
|