ウイルスシグネチャでは太刀打ちできない
動的コード難読化──新たな脅威には新たな防御策を
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.
この記事の著者
関連記事
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
「Excel至上主義」の終わらせ方 丸2日の手作業地獄から情シスと現場を救うには
-
2
「Microsoft 365のセキュリティ運用」に関するアンケート
-
3
取手市がVDIと決別した理由 更改費用「4倍超」を約1.7倍に圧縮
-
4
急増する「AIはこう言ってる」マン 判断を狂わせる「AI忖度」を防ぐには?
-
5
221人調査で分かった「情シス最大のストレス」は?
-
6
「Salesforceのテスト自動化ツール」に関するアンケート
-
7
「データストレージの活用方法」に関するアンケート
-
8
「AI時代の統合基盤・エンタープライズAI管理」に関するアンケート
-
9
100億円の「Linux更新」を回避 みずほ銀行が選んだ“おきて破り”のRHEL延命策
-
10
自宅のWi-Fiが「遅い」「途切れる」本当の原因は? Dellが推奨する鉄則
ホワイトペーパーランキング PR
-
1
年収2000万「クラウドセキュリティのプロ」になれる資格とは
-
2
セキュリティソフトをすり抜ける標的型攻撃メール、不審メールの見破り方とは?
-
3
Windows Updateの通信集中で回線が逼迫、ネットワーク刷新事例に学ぶ解決策
-
4
財務を戦略的組織へ進化させるAI活用術、4つの主要な障壁と解消方法
-
5
「NAS」「SAN」「DAS」は何が違う? いまさら聞けないストレージの基礎
-
6
“あのファイル転送”で暗躍するノーウェアランサム
-
7
標的型攻撃メールを見破るには? サンプル文面を例に傾向を解説
-
8
商用利用の安全性を確保し大量のコンテンツを高速で生成する、AI活用の秘訣
-
9
マンガで解説、1日で生成AI環境を構築できるワークショップの中身とは?
-
10
Dark AIが台頭する時代の新発想、「より高度なAIで対抗する」具体的方法とは?
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー