Comments
Description
Transcript
PDF 0.13MB
修士論文要旨(2010 年度) 通信の遷移に着目した不正リダイレクトの検出による 悪性 Web サイト検知システムの提案 Proposal of Malicious Websites Detection System based on Detect of Unauthorized Redirect by Transition of Communications 情報工学専攻 安藤 槙悟 Ando Shingo 要約 正規サイトがある日突然改ざんされ,ユーザが 改ざんサイトを閲覧しただけでマルウェアに感染して しまう Gumblar の脅威が増加している.Gumblar は 新たなマルウェアが出現するスピードが早いため,シ グネチャ型の検知手法による検出が困難なだけでなく, 改ざんコードの難読化により,IDS でもマルウェアの 侵入を検知することが難しい. そこで本研究では,通信プロトコルの拡張による Web 感染型マルウェアの侵入検知を提案する.Gumblar が マルウェア感染に利用しているブラウザによるファイ ルの自動読み込み・リダイレクトに注目し,その回数を 通信階層として通信プロトコルに追加・記録すること により,異常通信を検出する. キーワード インターネット,セキュリティ, Gumblar,侵入検知 1 序論 インターネットが普及し利便性が向上する一方,様々 なセキュリティの課題が発生している.中でもマル ウェア (悪意のあるソフトウェアの総称) による脅威 は,攻撃手法の多様化・巧妙化により対策が年々困難 になっている.2009 年 4 月には,正規サイトの改ざん と Drvie-by-Download 攻撃を組み合わせた Gumblar と呼ばれる新たな攻撃手法が出現し,Web 感染型マル ウェアによる脅威は現在猛威を振るっている. Gumblar には,対策を困難にさせる 3 つの要因が存 在する.1 つは新たなマルウェアの出現頻度が非常に 早いため,ウィルス対策ソフトによるパターンファイ ルの更新が追いつかないことである.2 つ目は,攻撃 に用いられる JavaScript コードの難読化によるシグネ チャ型検知の回避である.3 つ目は,HTTP プロトコ ルというインターネットの利用に欠かせない通信プロ トコルを通して感染させられる点である.これにより, プロトコルやトラフィックの異常を検知する IDS(侵入 検知システム) によるアノマリ型検知での検出が困難と なっている. そこで本研究では,Gumblar に用いられる攻撃コー ド配布サイト・マルウェア配布サイトを悪性 Web サイ トと定義し,悪性 Web サイトへの通信を遮断する悪 性 Web サイト検知システムを提案する.具体的には, Gumblar がマルウェアの感染に利用しているブラウザ によるファイルの自動読み込み・リダイレクトに注目 し,自動読み込み・リダイレクト回数を通信の階層とし てカウントすることにより,異常通信を検出する. また,本研究の目的は,通信プロトコルの拡張によ る,Web 感染型マルウェアの侵入検知である.提案シ ステムには,通信プロトコルにユーザの操作情報を反 映することによって異常通信を検知する,ヒューリス ティック型の侵入検知手法を実装した. 提案システムの実装・検知ルールの評価により,Gumblar において,マルウェアの侵入検知がおこなえるこ とを示す. 2 Gumblar Gumblar とは,Web サイトの改ざんと,Drive-byDownload 攻撃を組み合わせた,多数のコンピュータ 端末をマルウェアに感染させる攻撃手法である.また, Drive-by-Download 攻撃とは,Web ブラウザを通じて 利用者に気付かれないように,閲覧者のコンピュータ 端末にマルウェアを感染させる手法である.利用者が 単に Web ページを閲覧しただけで,Web ブラウザや アプリケーション等の脆弱性が突かれ,自動的にマル ウェアがダウンロード・実行される. 2.1 Gumblar の仕組み Gumblar は,その脅威として正規 Web サイトに埋 め込まれる誘導コード,攻撃サイトに埋め込まれる攻 撃コード,および攻撃コードによってコンピュータに 感染するマルウェアに大別される. はじめに,何らかの不正アクセスによって,正規 Web サイトのページに誘導コードを埋め込んで改ざんする. この埋め込みに利用される誘導コードは,iframe タグ, JavaScript などが用いられ,JavaScript には escape 文,replace 文などが用いられた難読化が施されている 場合が多い. 次に,誘導コードによって攻撃サイトにリダイレク トされ,攻撃サイトに埋め込まれている攻撃コードに よって,各アプリケーション製品の脆弱性が突かれる. この攻撃コードにも難読化された JavaScript が用いら れることが多く,HTML ファイル以外に Flash ファイ ル,PDF ファイルなどの自動実行による攻撃コードの 実行などがおこなわれる. 最後に,攻撃コードの自動実行により,マルウェア がダウンロード・実行される.実行されたマルウェア は,端末内に保存してある FTP クライアントのアカウ ント情報を攻撃者に送信したり,Cookie 情報の窃取, キーロガーによるパスワードの窃取などをおこなうこ とによって,FTP アカウント情報を窃取し,新たな感 染源となる誘導サイトを増やす. Gumblar によるマルウェア感染と Web サイト改ざ んのイメージを図 1 に示す. 図 1 Gumblar によるマルウェア感染と Web サイ ト改ざんのイメージ 通プラットフォームが作成した Marionette と呼ばれ る高対話型の Web クライアントハニーポットを用いて 収集した,Web 感染型マルウェアに関する通信データ セットである.また,攻撃通信データは Marionette10 台に巡回対象 URL を入力し巡回させた時の通信をキャ プチャした pcap 形式のデータである.この通信デー タを 1 つの巡回対象 URL へのアクセスによる一連の 通信,すなわち,HTTP 通信がおこなわれ,画像の読 み込みやリダイレクト,外部サイトのスクリプトの読 み込みなどの派生先 URL へのアクセスを含む複数の 通信路を”スロット”と定義し,攻撃通信データを 518 のスロットに分割した. この 518 スロットを基に解析をおこなったところ, D3M 2010 攻撃通信データには Gumblar の一連の流 れである誘導サイトの通信と中継サイトの通信が含ま れていないことが判明したが,Drive-by-Download 攻 撃の半数には PDF ファイルが攻撃コードとして利用 されていることが判明した. 誘導コードの解析 誘導コードを含む改ざんサイトへアクセスした際, どのような通信となるのか調査をおこなうため,誘導 コードの解析をおこなった.検体の収集は参考サイト [2][3] でおこなった.また,収集した検体は以下の 4 種 類に分類することができた. 4.2 3 Web ブラウザと Web サーバとの通信 の仕組み Web ブラウザと Web サーバは,HTTP(Hyper Text Transfer Protocol) と呼ばれるプロトコルを用いて通 信をおこなう.具体的な通信の仕組みは以下のとおり である. • • • • 1. Web ブラウザに URL(Uniform Resource Locatior) が入力される 2. DNS(Domain Name System) プロトコルを用い て,入力された URL のホスト名が DNS サーバに より IP アドレスに変換される 3. TCP プロトコル (Transmission Control Protocol) の 3-way handshaking により Web サーバと 接続 (TCP コネクション) が確立される 4. HTTP プロトコルを用いて,Web サーバに GET 又は POST リクエスト (HTTP リクエスト) を送 信する 5. Web サーバから HTTP レスポンスを受信する 6. Web サーバから指定したファイルが送信される 7. TCP コネクションが切断される Web ブラウザに URL が入力され,そのファイルを 受信後,Web ブラウザはファイル内容の解析をおこ なう.その際,1 つの Web ページを構成する HTML ファイルや画像ファイルなどをすべて収集し,ページ の内容をレンダリング (描写) し,Web ブラウザに表示 する.このように,実際の通信は上述の手順 2 から 7 を繰り返しおこなうことによって,Web ページが表示 される. 4 Gumblar の解析 4.1 Drive-by-Download 攻撃の解析 Gumblar の通信の特徴を調査するために,研究用 データセット D3M 2010 攻撃通信データ [1] を用いて, Drive-by-Download 攻撃の解析をおこなった.研究用 データセット D3M 2010 (Drive-by-Download Data by Marionette 2010) 攻撃通信データは,NTT 情報流 難読化 JavaScript(9 検体) script タグ (2 検体) iframe タグ (3 検体) .htaccess ファイル (1 検体) 難読化 JavaScript の例を図 2 に示す. 図 2 難読化 JavaScript の例 また,難読化 JavaScript において,難読化を解除 (解 読) しなければどのような動作がおこなわれているのか 判別することができない.そのため,JavaScript イン タプリタである SpiderMonkey をコマンドライン上で 実行することによって,難読化 JavaScript コードの解 読をおこなった. このようにして全ての検体において,改ざんコード へアクセスした際,どのような通信遷移となるのか検 証し,実際にどのような通信として特徴が現れるのか 調査した. 5 悪性 Web サイト検知システムの提案 5.1 システム実装のための事前調査 Gumblar による通信を異常と検知するためには,一 般的な Web 通信 (正常通信) がどのように振る舞うの か調査し,比較しなければならない.そこで,正常通信 がどのように振る舞うのか調査をおこない,Gumblar 通信との比較をおこなった. システムの提案 本研究では,Gumblar に用いられる攻撃コード配布 サイト,マルウェア配布サイトを”悪性 Web サイト”と 定義し,この悪性 Web サイトへの通信を遮断する「悪 性 Web サイト検知システム」を提案する.提案内容は つぎのとおりである. 5.2 1. Web ブラウザ (Firefox) に機能追加 2. ”ユーザ操作による HTTP 通信”と”ブラウザによ る自動通信”を区別 3. ”ブラウザによる自動通信”を,”ユーザ操作による HTTP 通信”を基点として発生回数を階層構造で カウント 4. 攻撃コード・マルウェアに用いられやすいファイ ル形式においては提案内容 2,3 より通信を遮断 5. 提案内容 3 より,正常通信から逸脱していると思 われる 3 階層以上の通信を遮断 ”ユーザ操作による HTTP 通信”とは,ユーザが Web ブラウザを操作することにより発生した通信を指す. 具体的には,アドレスバーへの URL の入力,Web ペー ジ内のリンクのクリックなどが挙げられる.また,”ブ ラウザによる自動通信”は,ユーザ操作による HTTP 通信の後に Web ブラウザが自動的に発生させた通信の ことを指す.具体的には,ファイル自動読み込みによ る HTTP 通信,リダイレクトによる HTTP 通信の 2 つが挙げられる. Firefox アドオンによるシステムの実装 システムは大きく分けて 3 つの機能を実装した.そ れぞれの名称と機能は以下のとおりである.また,提 案システムの動作概要を図 3 に示す. 5.3 列 (以下,階層配列) を参照し,HTTP リクエスト に”X-Action: [1,2,3,...]; Auto”というヘッダを追 加する. マウスクリック監視オブジェクト ブラウザ内のマウ スクリックの監視をおこなう.クリックされた箇 所のプロパティに href(Hypertext Reference) 属 性が存在した場合,HTTP 通信監視オブジェクト に URL を渡す.また,HTTP 通信監視オブジェ クトに渡した URL は 0 階層として階層配列に格 納する. HTTP ヘッダ解析オブジェクト HTTP ヘッダの解析 による異常通信の検知をおこなう.HTTP リクエ ストが渡された場合,(1)Referer ヘッダが存在し た場合,階層配列からリクエスト URL の階層情 報を取り出し,+1 した値を X-Action ヘッダに付 加するよう HTTP 通信監視オブジェクトに指示 (2) 指定した値の階層以上の HTTP 通信であった 場合,通信を遮断 の 2 つの処理をおこなう.ま た,HTTP レスポンスが渡された場合,(1) 特定の Content-Type ヘッダ (ファイル形式) において, 指定した検知ルールに当て嵌る場合は通信を遮断 する. 5.4 検知ルールの実装 悪性 Web サイトへの通信を検知し,通信を遮断する ために,検知ルールの実装をおこなった.実装した検 知ルールはつぎのとおりである. 1. X-Action ヘッダの階層情報が 3 以上であった場 合,以降の自動読み込み・リダイレクトによる通信 を遮断する.ただし,例外も存在する. 2. Content-Type ヘッダが application/pdf で,尚且 つ HTTP リクエストの X-Action ヘッダが 0 階層 でない場合,通信を遮断する. 3. Content-Type ヘ ッ ダ が application/octetstream,application/x-download,application/xmsdownload,application/x-msdos-program の いずれかで,尚且つ X-Action ヘッダの値が 0 階 層である HTTP リクエストとホスト名 (ドメイン 名) の一部を比較し異なっていた場合,通信を遮断 する. 図3 提案システムの動作概要 HTTP 通信監視オブジェクト HTTP リ ク エ ス ト と HTTP レスポンスの監視・取得と HTTP ヘッダの 付加をおこなう.マウスクリック監視オブジェク トから URL が渡された場合,指定 URL の HTTP リクエストに”X-Action: 0; Click”というヘッダ を追加する.HTTP ヘッダ解析オブジェクトから URL が渡された場合,URL をハッシュとして値 にその URL の階層情報が格納されている連想配 ホスト名の一部というのは,”国を識別するためのド メイン名”・”組織を識別するためのドメイン名”を削除 し,残ったドメインのサブドメインを削除したドメイ ン名のことを指す. ルール 1 においての例外はつぎのとおりである. • 0 階層の HTTP リクエストと同一ホスト名であっ た場合,通信を遮断しない. • Content-Type が image/jpeg,image/png,image/gif,image/x-icon ファイル又は text/css の 場合は通信を遮断しない. 検知ルールの適用例を図 4 に示す. 表1 正規 Web サイトへアクセスした際の誤検知率 項目 有効数 3 階層以上の通信検知 PDF ファイルの検知 EXE 形式ファイルの検知 誤検知 スロット数 割合 [%] 600 19 0 1 20 3.17 0 0.17 3.33 HTTP セッション数 23147 148 0 1 149 割合 [%] 0.64 0 0.004 0.64 表 2 提案システムの検知率 項目 3 階層以上の通信検知 PDF ファイルの検知 EXE 形式ファイルの検知 合計 図4 6 検知ルールの適用例 悪性 Web サイト検知システムの評価 正規 Web サイトへアクセスした際の誤検知率 提案システムでは正常通信から逸脱した異常通信を 検知するヒューリスティック型の検知手法を用いたこ とから,正常通信を異常異常と判断してしまう誤検知を 発生させてしまう恐れがある.そこで,提案システム が実用に耐えうるかどうか評価するために,正規 Web サイトへアクセスした際の誤検知率を調査した. また,評価をおこなう正規 Web サイトには,Google ディレクトリに登録されている Web サイトを使用し た.12 のカテゴリから Web サイトをランダムに 50 サ イト選び,合計 600 サイトを正規 Web サイトとして評 価をおこなった. 評価結果を表 1 に示す. 6.1 改ざんされた正規 Web サイトへアクセスした 際の検知率 提案システムが実際の Gumblar を検知できるのか 評価するため,インターネット上の改ざんされた正規 Web サイトへアクセスを試み,通信遷移から検知がお こなえるかどうか検証した. 実際の検証では検知漏れによるマルウェア感染を防 ぐため,wepawet サービス [4] により改ざんサイトか どうか調査した後,UNIX コマンドラインツール wget を用いたファイル取得,ファイル内容の解析による通 信遷移先の特定を繰り返し,通信遷移を特定した. 改ざんされた正規 Web サイト 4 件による評価結果を 表 2 に示す. 6.2 考察 正規 Web サイトへアクセスした際の誤検知率は 600 サイト中 20 サイトという結果であったが,誤検知され 6.3 検知 検知漏れ 3 3 2 8 0 0 0 0 た Web サイトをシステム適用前と適用後で見比べてみ たところ,一部の広告画像が表示されなくなるのみで あった.このことから,通常の Web 通信においては, 一部広告が表示されなくなるものの,コンテンツの閲 覧には何ら問題ないことが判明した.また,検知率に おいては,発見できた Gumblar が少なかったため評価 が不十分であるが,全ての攻撃においてマルウェア感 染を阻止することができた.ただし,悪性 Web サイト の URL を直接閲覧してしまった場合のために,ユーザ 操作によって閲覧した Web ページ自体の信頼度を評価 する仕組みが必要だと考えられる. まとめ 7 本稿では,ブラウザによるファイルの自動読み込み・ リダイレクトに注目した悪性 Web サイト検知システ ムを提案し,実装した.評価により,提案システムは Gumblar を検知し,マルウェア感染を未然に防ぐこと ができ,Gumblar 対策における有効性を示した. 今後の課題は以下のとおりである. • • • • マウスクリック以外のユーザの操作情報の反映 攻撃を検出した URL に対する処理の考案 Firefox 以外のブラウザへの実装 XSS(クロスサイトスクリプティング) など,Gumblar 以外の Web 経由の攻撃への対応 参考文献 [1] マルウェア対策研究人材育成ワークショップ 2010, http://www.iwsec.org/mws/2010/about.html [2] ガンブラーウイルス対策まとめサイト , http://www.nca.gr.jp/2010/netanzen/index.html [3] J U M P E R Z . N E T - BBS - じぇの , http://www.jumperz.net/index.php?i=6& threadId=75471261722310979 [4] Wepawet: A service for detecting and analyzing web-based malware, http://wepawet.cs.ucsb.edu/