cafebabe.jp 日々のよしなしごとをのたまうブログ.

124月/110

難読化手法 ― ダミー命令追加


プログラム中にダミーの命令(bogus code)を追加する難読化手法.手法としては非常に単純で実装も難しいものではない.さらに,プログラムの意味が理解できれば逆難読化もそれほど難しいものではないと思う.しかし,その反面,この難読化手法が電子透かしの破壊やバースマークの改変といった攻撃として使われると,高い効果を出す場合が多い.

この難読化手法は目的によって追加するダミーの命令は異なっているが,良く行われるものとしては,副作用のないメソッドの呼び出しや不要な計算式の追加,必要のないフィールド変数,ローカル変数の宣言とそれらに対する処理などが考えられる.また,ダミーの命令ではなく,ダミーのデータを挿入することも考えられる.

この手法を実際に適用するときには,この手法により何を隠したいのか,また,何を改ざんしたいのかをよく考え,それにより効果的なダミー命令を追加することが必要だろう.

ちなみに,ハードウェアの分野では昔から行われているようで,セキュアなプロセッサの場合であると,RAMへのダミーアクセスが良く行われている.

参考文献

  • R. Best, "Crypto microprocessor that executes enciphered programs," U.S. Patent 4,465,901, 14 Aug. 1984.
  • X. Zhuang, T Zhang, S. Pande, and H.H.S. Lee, "HIDE: Hardware-support for leakage-immune dynamic execution," Center for Experimental Research in Computer Systems Technical Reports, GIT-CERCS-03-21, Georgia Institute of Technology, 2003.
  • O. Goldreich and R. Ostrovsky, "Software protection and simulation on oblivious RAM," J. of the ACM, vol. 43, no. 3, 1996.
  • "DS5002FP Secure Microprocessor Chip", Dallas Semiconductor, 25 pp., 5 March 2003.
 
Comments (0) Trackbacks (0)

No comments yet.


Leave a comment

Spam Protection by WP-SpamFree

No trackbacks yet.