2007年08月23日 05時00分 公開
特集/連載

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

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

[Michael Cobb,TechTarget]

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

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

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

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

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

news030.jpg

コンテンツSEOでやらかしてしまいがちな3つの勘違い
ITmedia マーケティングで2021年3月に連載して多くの反響をいただいた「勘違いだらけのEC...

news158.jpg

「リベンジ消費」は限定的、コロナ禍以前の状態に完全に戻ると考える人はわずか25%――野村総合研究所調査
コロナ禍が収束した場合の生活者の消費価値観や生活行動はどうなるのか。野村総合研究所...

news176.jpg

Teslaが成長率1位、LVMHグループ5ブランドがランクイン 「Best Global Brands 2021」
毎年恒例の世界のブランド価値評価ランキング。首位のAppleから10位のDisneyまでは前年と...