動的コード難読化──新たな脅威には新たな防御策をウイルスシグネチャでは太刀打ちできない

Web2.0技術の登場に伴い、コード難読化はブラウザ攻撃、リダイレクト機能、クロスサイトスクリプティング攻撃を隠すための強力なツールになった。

2007年08月23日 05時00分 公開
[Michael Cobb,TechTarget]

 動的コード難読化(Dynamic code obfuscation)――何やら難しそうな言葉である。いったいどういう意味なのだろうか。まず最初に、従来方式のコード難読化の定義を示そう。その後で、動的難読化とその危険性について解説する。

 コード難読化というのは、スクリプトまたはプログラムのソースコードを意図的に読みにくくすることを意味する。これには、暗号化を利用したり、余分なタブやランダムなコメント、可変名を追加したりするなど、さまざまな方法がある。難読化を施す正当な理由として最も多いのが、リバースエンジニアリングの防止である。開発元ベンダーはソースコードを読みにくくし、理解しにくくすることにより、自社のソースコードに不正にアクセスしようとする人に歯がゆい思いをさせることができるのだ。例えばMicrosoftでは、開発者が最終的なスクリプトを難読化するために同社のScript Encoderの使用を推奨している。

 難読化はある意味で、アクセスコントロールの露骨な形態であり、知的財産や売り上げの損失に起因するリスクを管理するために用いられている。実際、コード難読化プログラミングコンテストなどもあるくらいで、例えば、International Obfuscated C Code Contestでは、最もあいまいで読みにくいCプログラムを書く能力を競う。

 残念ながら、コード難読化は、悪質なコードの作成者が自分のコードの真の目的を隠ぺいあるいは偽装する手段としても利用できる。ハッカーによる難読化の利用は今に始まったことではない。1990年代には、検出困難な多形態型ウイルスのシグネチャを隠したり変更するために、難読化テクニックが利用された。これらはスクリプトではなくバイナリコードをベースとするウイルスだったが、今日のハッカーたちは、難読化テクニックをスクリプトの隠ぺい手段として利用している。スパマーたちも、URLによって導かれるサイトや彼らのスクリプトコードの目的を隠すために、難読化されたJavaScriptやHTMLコードをよく利用する。Web2.0技術の登場、そしてハッカーやスパマーらがJavaScriptやHTMLを積極的に利用するようになったのに伴い、コード難読化はブラウザ攻撃、リダイレクト機能、クロスサイトスクリプティング攻撃を隠すための強力なツールとなったのだ。

ITmedia マーケティング新着記事

news035.jpg

低迷するナイキやアディダスを猛追する「HOKA」の “破壊的”ブランディングとは?
ランナーの間で好感度が低迷しているNikeに対し、ディスラプター(破壊的企業)として取...

news051.jpg

新紙幣の発行、3社に1社が日本経済に「プラスの影響」と回答――帝国データバンク調査
20年ぶりの新紙幣発行は日本経済にどのような影響を及ぼすのでしょうか。帝国データバン...

news196.png

WPPとIBMが生成AIを活用したB2Bマーケティング領域で連携
IBMのビジネス向けAIおよびデータプラットフォームである「watsonx」の機能を「WPP Open...