📍 適用難読化ツールの特定
🗣 研究概要
世の中のソフトウェアを保護する手法の一つにプログラム難読化技術がある. プログラムの難読化とは,解析が困難になるようプログラムを変換する技術であり,様々な難読化ツールが提案されている. しかし,開発者にとって,多くの難読化ツールのうちどのツールを選べば良いかの基準は明確ではない.
そこで本稿では, JVMプラットフォーム向けの既存の難読化ツールに焦点を当て,保護性能により難読化ツールを比較する. この結果が,開発者にツール選択の判断基準となるであろう. 難読化ツールの保護性能の評価の足掛かりとして,適用ツールの発見の困難さ評価を試みる. 難読化はソフトウェアが解析されないために適用される. 一方,攻撃者の視点から見れば,適用された難読化の逆変換を施し,できるだけ平易なプログラムを解析しようと試みると考えられる. そこで我々は,適用された難読化ツールの特定に着目して研究を進めている. この研究により,もし難読化ツールが特定された場合,当該ツールの利用には注意が必要であると言える. これまで,オペコード列を手掛かりにして適用ツールの特定を試み,特定できるツール,できないツールを明らかにした. 本稿では,これまでの研究で用いた手掛かりに加え,難読化された名前にも着目して特定を試みる. これにより,これまで判定が困難であった ProGuard と yGuard の判別が可能となった.
(大槻 成輝, 玉田 春昭, 神崎 雄一郎, “JVM環境におけるオペコード列と名前に着目した適用難読化ツールの特定”, 2020年暗号と情報セキュリティシンポジウム予稿集(SCIS 2020), January, 2020 概要)