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

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を積極的に利用するようになったのに伴い、コード難読化はブラウザ攻撃、リダイレクト機能、クロスサイトスクリプティング攻撃を隠すための強力なツールとなったのだ。

Copyright © ITmedia, Inc. All Rights Reserved.

アイティメディアからのお知らせ

From Informa TechTarget

いまさら聞けない「仮想デスクトップ」と「VDI」の違いとは

いまさら聞けない「仮想デスクトップ」と「VDI」の違いとは
遠隔のクライアント端末から、サーバにあるデスクトップ環境を利用できる仕組みである仮想デスクトップ(仮想PC画面)は便利だが、仕組みが複雑だ。仮想デスクトップの仕組みを基礎から確認しよう。

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

news017.png

「サイト内検索」&「ライブチャット」売れ筋TOP5(2025年5月)
今週は、サイト内検索ツールとライブチャットの国内売れ筋TOP5をそれぞれ紹介します。

news027.png

「ECプラットフォーム」売れ筋TOP10(2025年5月)
今週は、ECプラットフォーム製品(ECサイト構築ツール)の国内売れ筋TOP10を紹介します。

news023.png

「パーソナライゼーション」&「A/Bテスト」ツール売れ筋TOP5(2025年5月)
今週は、パーソナライゼーション製品と「A/Bテスト」ツールの国内売れ筋各TOP5を紹介し...