ウイルスシグネチャでは太刀打ちできない
動的コード難読化──新たな脅威には新たな防御策を
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
-
技術文書・技術解説
[アトラシアン株式会社] IT運用や従業員サポートは生成AIでどう変わる? 使い方や導入の流れは? -
製品資料
[株式会社みらい翻訳] 音声翻訳活用の課題を解決、“本当に使える”ツールの特徴とは? -
製品レビュー
[Wrike Japan 株式会社] 400店舗を支えるWalmart Canada、散在する情報やアナログな管理をどう変えた? -
事例
[Wrike Japan 株式会社] 年間100件超のDXプロジェクトを統合管理、JERAはどのように実現した? -
事例
[Wrike Japan 株式会社] グローバルなクリエイティブ業務を合理化、エスティーローダーに学ぶ実践のコツ
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
全社標準Copilotに絶望? MS Copilotで問い合わせ6割減できた企業は何が違った
-
2
身代金支払いは逆効果 情シスのためのランサムウェア対策ガイド2026
-
3
自社を守る「SCS評価制度」活用法 7割の企業が取引先起点の情報漏えいに直面
-
4
ランサムウェア、暗号化の89%は深夜 情シスが備える「夜間の空白」対策
-
5
多要素認証導入済みでもランサムウェア被害に 復旧費用は平均2億7000万円
-
6
「技術屋」で終わるか、部長へ昇格するか 今取りたい「IT×ビジネスの認定資格」5選
-
7
「Copilot」はなぜ放置される? “議事録要約止まり”を脱する処方箋
-
8
脱VMwareの前提が崩れる BroadcomのVDDK公開停止で確認すべき点
-
9
「AI活用を前提とした業務PCへの移行」に関するアンケート
-
10
AIエージェントを暴走させない設定、済んでますか? 対策5選を専門家が紹介
ホワイトペーパーランキング PR
-
1
5回聞くだけじゃ足りない? トヨタ式「なぜなぜ分析」の正しい実践方法
-
2
JR西日本ITソリューションズが「監視業務の属人化」を解消した方法とは?
-
3
生成AIで文書活用を進めるには? 効率化と安全性をどう両立する
-
4
Windows PCとMacの選択制で生産性向上 LINEヤフーが実践する運用管理方法とは
-
5
インシデント対応工数を約3割削減、東京ガスの事例に学ぶ監視体制刷新のコツ
-
6
国税庁の次世代基幹システム「KSK2」稼働開始に向けて、対応すべき変更点とは?
-
7
「スクラム」と「カンバン」の違いとは? アジャイル型開発手法を徹底比較
-
8
AI時代に成功するための「ナレッジマネジメント」ベストプラクティス
-
9
「オンプレミス回帰」せざるを得ない“合理的な理由”
-
10
Microsoft 365を安全に運用 うっかりミスやサイバー攻撃に備えるデータ保護術
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー