📍 難読化手法の不自然さ評価
🗣 研究概要
本稿では、Javaを対象としてソフトウェア保護機構のステルシネスを評価する。 ステルシネスとは、ソフトウェア保護機構が適用されたコードと適用されていないコードの区別のつきにくさを示す指標である。 ソフトウェアを不正に解析しようとする者はソフトウェア保護機構の解析をしなければならないため、ステルシネスはソフトウェアを保護する者にとって保護手法を選ぶための重要な指標となり得る。 本研究ではJavaバイトコードに含まれるオペコードおよびオペランドを評価対象としている。 オペコードおよびオペランドを言語体系とみなして、確率的言語モデルを用いて評価を行う。評価の指標は単語の生成確率とパープレキシティであり、実験ではあるプログラムについて既存の難読化手法を施す前後でこの2種類の指標で評価を行い、比較した。
結果は生成確率による評価ではメソッド数の増減とステルシネスに関連は見られなかった。 一方、オペランドに対しての評価は、一部の難読化手法に対してオペコードに対する評価より効果的であるというものであった。
(大滝 隆貴, 大堂 哲也, 玉田 春昭, 神崎 雄一郎, 門田 暁人, ‘‘Javaバイトコード命令のオペコード、オペランドを用いた難読化手法のステルシネス評価’’, 2014年暗号と情報セキュリティシンポジウム予稿集 (SCIS2014), 2D2-2, January, 2014. 概要)