ウイルスシグネチャでは太刀打ちできない
動的コード難読化──新たな脅威には新たな防御策を
Web2.0技術の登場に伴い、コード難読化はブラウザ攻撃、リダイレクト機能、クロスサイトスクリプティング攻撃を隠すための強力なツールになった。
動的コード難読化(Dynamic code obfuscation)――何やら難しそうな言葉である。いったいどういう意味なのだろうか。まず最初に、従来方式のコード難読化の定義を示そう。その後で、動的難読化とその危険性について解説する。
コード難読化というのは、スクリプトまたはプログラムのソースコードを意図的に読みにくくすることを意味する。これには、暗号化を利用したり、余分なタブやランダムなコメント、可変名を追加したりするなど、さまざまな方法がある。難読化を施す正当な理由として最も多いのが、リバースエンジニアリングの防止である。開発元ベンダーはソースコードを読みにくくし、理解しにくくすることにより、自社のソースコードに不正にアクセスしようとする人に歯がゆい思いをさせることができるのだ。例えばMicrosoftでは、開発者が最終的なスクリプトを難読化するために同社のScript Encoderの使用を推奨している。
難読化はある意味で、アクセスコントロールの露骨な形態であり、知的財産や売り上げの損失に起因するリスクを管理するために用いられている。実際、コード難読化プログラミングコンテストなどもあるくらいで、例えば、International Obfuscated C Code Contestでは、最もあいまいで読みにくいCプログラムを書く能力を競う。
残念ながら、コード難読化は、悪質なコードの作成者が自分のコードの真の目的を隠ぺいあるいは偽装する手段としても利用できる。ハッカーによる難読化の利用は今に始まったことではない。1990年代には、検出困難な多形態型ウイルスのシグネチャを隠したり変更するために、難読化テクニックが利用された。これらはスクリプトではなくバイナリコードをベースとするウイルスだったが、今日のハッカーたちは、難読化テクニックをスクリプトの隠ぺい手段として利用している。スパマーたちも、URLによって導かれるサイトや彼らのスクリプトコードの目的を隠すために、難読化されたJavaScriptやHTMLコードをよく利用する。Web2.0技術の登場、そしてハッカーやスパマーらがJavaScriptやHTMLを積極的に利用するようになったのに伴い、コード難読化はブラウザ攻撃、リダイレクト機能、クロスサイトスクリプティング攻撃を隠すための強力なツールとなったのだ。
幸いにも、ウイルス対策ベンダー各社も、コード難読化を利用するハッカーがインターネット上でのさばるのを手をこまぬいて見ているわけではない。ベンダー各社は現在、難読化されたコードに対処するために、広範なエミュレータやヒューリスティックアナライザのほか、既知のマルウェアのシグネチャデータベースを活用している。シグネチャは、悪質なコードから抽出された「デジタル指紋」であり、悪質なコードを特定するのに利用される。
次に、動的コード難読化の「動的」という部分について解説しよう。今日ハッカーたちは、悪質なコードを即座に暗号化し、関数の名前を変更し、個別の暗号鍵を用いてコードを暗号化している。つまり、悪質なコードが動的に変更されるため、例えばユーザーが悪質なWebサイトにアクセスすると、各ユーザーはそれぞれのマシンに対して独自のウイルスを受け取る可能性があるのだ。これは悪質なコードの脅威を根本的に変えるだけでなく、攻撃者が無警戒の犠牲者を通じて悪質なコードを拡散させるペースにも大きな変化をもたらす。例えば、広範に使われているハッキングツールキットのMetasploitにVoMM(eVade-o-Matic Module)モジュールが追加されようとしている。VoMMはもともと、JavaScriptベースのエクスプロイト(攻撃コード)用に設計されたものだが、ほかの非バイナリ型エクスプロイトでも利用されるようになるのは確実だ。このツールは、未熟な悪質ハッカーでも動的コード難読化プロセスを自動化できることを意味する。
ウイルス対策ソフトは今でもそれなりの役割を果たしているが、オンラインの世界では、この拡大する脅威を特定するための代替技術に目を向けなければならない。ウイルスシグネチャは、動的に変更されるコードに対してはほとんど役に立たない。ランダム化機能により、ウイルス対策ソフトが合致パターンを見つけるのがほぼ不可能になるからだ。このため、防護技術はシグネチャを利用するのではなく、ビヘイビア(挙動)に基づく分析手法を用いることにより、プログラムが何をしようとしているのか分析する必要がある。そして不審な動作(ファイルの削除など)が検出された場合には、警告を発するようにすればいいのだ。この種の分析は当然、かなりの処理能力を必要とするため、生産性やユーザーエクスペリエンスにもある程度影響するだろう。
一方、ソーシャルエンジニアリングは依然として、こういった攻撃の多くにおいて重要な要素となっているため、この最新の攻撃手段と戦う上でセキュリティ意識が今後もいっそう重要になるだろう。
本稿筆者のマイケル・コッブ氏は、データセキュリティおよび解析に関するトレーニングやサポートを提供するITコンサルティング会社、コッブウェブアプリケーションズの創業者兼マネージングディレクター。CISSP-ISSAP(公認情報システムセキュリティプロフェッショナル―情報システムセキュリティアーキテクチャプロフェッショナル)の資格を持つ。共著書として「IIS Security」があり、主要なIT出版物に多くの技術記事を寄稿している。
Copyright © ITmedia, Inc. All Rights Reserved.
この記事の著者
関連記事
新着ホワイトペーパー PR
-
製品資料
[株式会社MatrixFlow] 「物流リソース最適化」ガイド:人員・配車・傭車を出庫依頼の確定前に決めきる -
製品資料
[株式会社キーエンス] なぜRPA導入は頓挫する? シナリオ作成の壁を乗り越える解決策とは -
製品資料
[株式会社セールスフォース・ジャパン] 「CRMは設計と無関係」は本当か? PLMとの融合で実現する高速開発 -
事例
[日本ヒューレット・パッカード合同会社] AIエージェントの時代にどう備える? 「新たな働き手」を支える3要素とは -
製品資料
[日本ヒューレット・パッカード合同会社] “横並びの自動化”から脱却、AI活用で生産性と競争力を高める秘訣
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
ChatGPTは“検索しまくり”でGeminiは“淡泊”? データが明かすAIの裏側
-
2
法務と開発者で「言葉が通じない」問題 トヨタやソニーが語るOSS管理の真実
-
3
なぜ「全社配布Copilot」は使われないのか? 失敗に学ぶAI定着
-
4
「何も変更していないのにWebサイトがクラッシュ」 そのときの原因は?
-
5
損保ジャパンはなぜ「COBOL」を捨てなかったのか? 脱メインフレームの真相
-
6
情シスの約8割が転職や退職を意識 調査で分かった“辞めたくなる最大の理由”
-
7
「何から始めればいい?」 情報漏えい対策で悲鳴を上げる中小企業のリアル
-
8
【漫画付き】ひとり情シス協会が明かす、RAG導入でしくじる企業「2つの共通点」
-
9
個人の業務効率化で終わる企業の盲点 AIで成果を出す「上位6%」の手法
-
10
なぜ「Gemini 4 Argon」は出遅れたのか? Googleが狙う“逆転のシナリオ”
ホワイトペーパーランキング PR
-
1
不審メールの経路や見せ方に変化? 2026年夏の3事例から見えた動向と対処方法
-
2
家庭用Wi-Fiルーターの業務利用は危険? 避けるべき理由と具体的な対策
-
3
Microsoft 365を安全に運用 うっかりミスやサイバー攻撃に備えるデータ保護術
-
4
プログラミング不要で誰でも実現できる、ネットワーク運用管理の自動化とは
-
5
財務部門がAIを最大限に活用する方法 無駄のない戦略的リーダーシップへの道
-
6
LLMが兵器化? 元FBI高官が鳴らす警鐘とセキュリティツール統合のポイント
-
7
なぜRPA導入は頓挫する? シナリオ作成の壁を乗り越える解決策とは
-
8
HDDを使わない「SSDオンリー」が無謀なのはなぜ?
-
9
「オンプレミス回帰」せざるを得ない“合理的な理由”
-
10
“あのファイル転送”で暗躍するノーウェアランサム
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー