提案手法は難読化以外の回避技術を利用している攻撃に対しても有効な対策と考 えられる。理由の1つは実環境で検知が行われることである。クローキングでは図 2.3のように実行環境がサンドボックス環境であるかどうかの判断を行い、サンド ボックス環境では実行されないため検知できない可能性が存在している。しかし、
提案手法では図4.3のように攻撃ファイルがユーザのブラウザ上で実行し、攻撃の 検知をプロキシ上で行うため、検知ポイントの違いからクローキングに関係なく検 知を行うことが可能となる。
Proxy
Malicious
Browser
Attack
code Execute
.EXE
Detect
図4.3 対クローキング
表4.1は既存の検知手法および提案手法と検知回避技術との関係を表している。
○は検知が可能であることを表しており、△は対象外または手法によっては検知可 能である。×は検知不可能を表す。既存の検知手法では回避技術を組み合わせるこ とで検知不可能になる可能性がある。そのため、提案手法を既存手法と組み合わせ ることで、全ての攻撃が検知可能になると考えられる。
提案手法には他の利点として、DGAのようにドメイン情報の生成や変更を行う タイプの回避技術にも有効なことや、ドライブバイダウンロード攻撃では複数回の 通信を行ってマルウェア感染へ導くため、発生する通信ごとに攻撃を検知する可能 性がある。一方で、正規のサイトで用いられている動的なURLを生成する方法に
表4.1 既存の検知手法と回避技術の検知可否
ブラックリスト シグネチャ検知 サンドボックス 提案手法
難読化 ○ × ○ ○
DGA × ○ △ ○
クローキング △ ○ × ○
難読化 + DGA × × △ ○
難読化+ DGA + クローキング
× × × ○
プレーンテキスト ○ ○ ○ ×
おける誤検知やスクリプトコードがブラウザ上で実行されるといった欠点も存在し ている。
メリット
• DGAに対しても有効
提案手法ではDGA を用いたドメイン生成に対しても有効である。これは DGAがブラックリストを回避するためにドメインを一定のルールに沿って 生成するため、ドメイン情報がソースコード内に記述されないことが挙げら れる。そのため、DGAから発生したドメインはパターンマッチしないため 攻撃として検知することが可能となる。
• ドライブバイダウンロード攻撃の各通信ポイントごとの検知
ドライブバイダウンロード攻撃では特徴として1台のサーバで完結せずに複 数のサーバを経由するという点が存在する。提案手法では別のサーバへアク セスする際のソースコードとドメイン情報の不整合を利用しているため、複 数のサーバを経由する回数が多いほど検知が可能となるポイントが増加する ことになる。ドライブバイダウンロード攻撃では攻撃の入り口となるサイト で攻撃コードを配布することは少なく、検知システムを回避するために複数
の踏み台サーバを経由する。また、マルウェアのダウンロードも別のサーバ が担当していることもあり、様々なサーバへアクセスすることが攻撃の特徴 となる。そのため、別のサーバへアクセスを行う際にドメイン情報が難読化 やDGAによってソースコード内に記載されていない場合にパターンマッチ が成立しないため、複数のポイントで攻撃検知の可能性が存在する。図4.2 ではリダイレクトの際に発生する通信とマルウェアをダウンロードする際の 通信といった2カ所のポイントで攻撃検知が可能となる。
デメリット
• 動的に生成されるURLの誤検知
Ajax などのウェブブラウザ上で動的にウェブページを構成するダイナミッ クHTMLを採用している正規のウェブサイトにおいて、生成される動的な URLを悪性のウェブページへのリンクとして誤検知する問題が考えられる。
図4.4は動的なURL生成の一例であるが、JavaScriptのWindowオブジェ
クト内のlocation オブジェクトを利用して自サイト内の別のページや画像
ファイルへのリンクに利用される。また、動的にURLを生成することで他 のウェブサイトへリンクする際にユーザIDをURLに含めることも可能と
なる。locationオブジェクトが利用されることで、ソースコード内にアクセ
ス先のドメイン情報が記述されない可能性があり、誤検知の可能性がある。
しかし、locationオブジェクトは自サイトへのリンクなどに利用される場
合が多く、回避策をもうけることで回避できると考えられる。また、悪性の ウェブサイトがlocationオブジェクトを利用してページ遷移を行おうとする 際にはURL情報をソースコード内で記述する必要があるため、ブラックリ ストの回避対策が困難になる。
• ブラウザ上での攻撃コードの実行
図4.3にもあるように、攻撃コードをブラウザ上で実行することによるブラ ウザ上での安全性確保が問題点となる。これはブラウザ上の脆弱性を悪用さ れることに関しては許容しているため、脆弱性を利用し攻撃コードからバッ クドアを開く攻撃を防ぐことが困難なことが挙げられる。その他にも攻撃 コードからマルウェアを生成するような攻撃が存在する場合は検知が困難と
var c=window.location.protocol
+”//“+m.location.hostname+"/post_login”;
a.location.replace(c)
図4.4 動的なURL生成
なる。