• 検索結果がありません。

通信におけるソフトウェア挙動の抽象化

ドキュメント内 PDF Year 2009 Dissertation (ページ 74-82)

H 3UDP: 1

5.2 通信におけるソフトウェア挙動の抽象化

TCP: 3249 <-> 80 (HTTP)

H

2

H

3

H

1

H

2

HTTP 200 OK...

GET /example.html HTTP/1.1...

...User-Agent: Mozilla...

<body><h1>This page is...

<script type="text/javascri...

ef="http://example.com/a.exe"..

E

1

E

2

HTTP Client HTTP Server

Packet

E

n Event

図5.4:通信におけるイベントの例

セッションとはIPネットワークにおける2インターフェース間の通信を,目的ごとのチャ ネルで分割した単位である.実際にはOSI参照モデルにおける第3層(ネットワーク層)と第 4(トランスポート層)の識別子を用いて抽象化している通信の単位である.2つのIPアド レス間で通信するとき,TCPを用いた通信では各TCPセッション,UDPを用いた通信では 送信元ポート番号と宛先ポート番号の組み合わせ,ICMPを用いた通信では要求と応答の組 み合わせがそれぞれ別々のセッションとして扱う.これはTCPUDPを使うアプリケーショ ンが1つの入出力チャネルとしてソケットを扱うため,TCPセッションやUDPのポート番号 の組み合わせ上で発生する通信は同期的になることが多いためである.実際には従来のネッ トワークセキュリティ監視手法でも,トランスポート層までを一つの通信の単位として扱う 実装が多い.

図5.3では,セッションの例を示している.H1,2,3はそれぞれ1つのネットワークインター フェースをもち,各インターフェースに1つずつIPアドレスが割り当てられているとする.

線にそった文にはトランスポート層のプロトコル名,送信元ポート番号,宛先ポート番号と第 7(アプリケーション層)のプロトコルが示されている.図中ではH1H2は2種類のTCP

セッションが存在し,2つのセッションで通信されている.上側のセッションのHTTPでは一 つのTCPセッション中に複数回のHTTP要求とHTTP応答を送受信できるが,本論文ではこ れらも1つのセッションとして扱う.一方,H1H2の間にはUDPとICMPの通信があり,

これもそれぞれ2つのセッションとして扱う.

イベントとは,IPネットワーク上において特定の条件を満たす通信を指す.特定の条件と は送信元および宛先IPアドレス,IPバージョン,トランスポート層プロトコル,TCP/UDP の送信元および宛先ポート番号,ICMPの要求コードや種別コード,データグラムに含まれる 文字列パターンなどの任意の組み合わせを指す.これは一般的なシグネチャ型IDSにおける 1つのシグネチャに相当し,どのような条件が指定できるかはネットワークセキュリティ監視 手法の実装に依存するが,本論文では各イベントはそれぞれ1つのセッションとの対応付け がされているものとする.

図5.4に通信におけるイベントの例を示す.図はHTTPのクライアントとサーバとの通信 の一部を現しており,1つの矢印線が1つのパケットのパケットに相当する.図中のE1 ライアントからサーバに送信されるパケットと"/example.html"という文字列がTCPのデー タセグメントに含まれることの2つ条件としたイベントとする.また,E2はTCPのデータ セグメントに"<script ""/a.exe"の両方が含まれることを条件としたイベントである.こ の場合,2つのパケットにまたがって文字列が出現しているが,多くのネットワークセキュリ ティ監視手法の実装ではTCPストリームの再構成が適切に処理されており,このような条件 でも1つのイベントとして扱える.

5.2.2 通信の相関関係を利用した既存手法の分類

IDSをはじめとするこれまでネットワークセキュリティ監視では,部分的に通信の相関関 係を分析し,検知に役立てる実装を取り入れてきた.しかし,個々の手法は対応出来る相関 関係の種類に限界がある.本論文では,既存の相関関係分析手法を5つに分類した.図5.5に それぞれの手法と通信およびイベントの関係性を示した.

1. 同一セッション内でのイベント発生順序を監視する手法:

同一セッション内で発生する複数イベントの発生順序を監視することで,通信内容をよ り正確に把握したり,応答内容の違いから異常を検知する手法である.第5.2.1節で定 義した通り,イベントの条件は複数のパケットを横断して設定できるが,文字列などの 発生順序に着目することでプロトコルや通信内容の正確な把握が容易になる.例えば,

Netscreenで採用されているStateful Signature[46]Network Flight Recorder[45]が挙げ られる.これらは自由にイベントの出現順序を制御できるが,基本的にはクライアント からサーバ,もしくはサーバからクライアントなど,一方向の通信内容にしか対応して いない.そのため,藤田は侵入検知ポリシの記述性向上によりログ出力量の低減を可

e1

h1 h2

e2

1) 同一セッション内における複数のイベントを追跡

e1

h1 h2

e2

2) プロトコルに従って生成された複数セッションでのイベントを追跡 e.g.) FTP-ctrl

e.g.) FTP-data

3) 複数セッションにおける同一イベントの発生回数を検査

h1 h3

h2

h4

e1

e1' e1''

4) 複数セッション上で異なる種類のイベントの順序を追跡

h1 h3

h2

h4 e1

e2

e3

5) 複数セッション上でのイベントを個別のアルゴリズムで処理

h1 h3

h2

h4

ea

eb

ec result = f(Ea, Eb, Ec, ...)

図5.5:既存の通信の相関関係を利用したネットワークセキュリティ監視手法

能とした不正アクセス処理システムの開発[47]においてアプリケーションの双方向の 通信をルール化したネットワークセキュリティ監視手法を開発している.

2. プロトコルに従った相関関係を扱う手法:

プロトコルが規定しているセッションの相関関係を解釈することで,セッションの属性 を把握する手法は多くのIDS実装で導入されてきた.例えばFile Transfer Protocol (FTP) やSimple Network Management Protocol(SNMP)ではプロトコルの処理手順に従って複 数のセッションが発生する.FTPは制御用のセッションとデータ転送用のセッションが 別々に通信するように規定されているため,制御用セッションの通信中に出現する命令 を監視することで,新しく通信を開始したセッションがFTPのデータ転送であるとわ かる.この相関関係は新しいセッションの属性を明らかにし,誤検知を軽減させるため に用いられることが多いが,相関関係を処理できるのは実装されているプロトコルや使 い方に限定されるのが難点である.

3. 複数セッション上でイベントの発生回数を数える手法:

あるイベントが一定時間中に何回発生したかを数えることで,同じ動作を繰り返すホス トを検知できる手法である.2003年に出現したSlammerワーム[3]をはじめとする高 速伝播型のマルウェアやスパムメールおよびトラックバックスパムを大量に送信するマ

ルウェアは,基本的に特定ポート番号へのTCP-SYNパケット送信や,SMTPを用いた メール送信,特定の文字列が含まれるHTTPPOSTリクエストなどを短時間で多く繰 り返す.このようなイベントが一定時間内に何回発生したかを数える手法はマルウェア 検知において有効な手段であり,Snortでも採用されている.ただし,あくまでもイベ ントの発生回数を数えるだけなので,同一ネットワーク内のサービスを探索するために SYNパケットを多数のホストへ送信するソフトウェアや,メール送信を繰り返すメー ルサーバなどに対して誤検知をおこす可能性が高い.

4. 複数セッション上でイベントの発生順序を監視する手法:

第4.4.2節で示したイベント相関分析では複数種類のイベントの発生順序を分析し,イ

ンシデントの全体像を把握を試みている.イベント相関分析が使える実装の多くは,イ ベントの発生順序を分岐のない状態遷移か木形式の状態遷移のどちらを扱える.これ は,イベント相関分析が不正侵入のシナリオに基づいたインシデントの全体像把握を目 的としており,個々のソフトウェアの動作などを監視するのが目的ではないためだと考 えられる.

5. 規定された手順によってイベントの相関関係を監視する手法:

第4.4.3節で示した,目的に応じて通信の相関関係分析手法を定義している手法である.

これらは目的に特化して個々の手法を検討,実装しているため,特定のインシデントの 検知精度は高い.しかし,目的以外のインシデント検知には有用性が低く,目的に応じ た追加の手法検討,実装が必要である.

5.2.3 通信の挙動を表す相関関係の抽象化

第5.2.2節の議論を元に,本論文ではイベント発生順序異なるセッション間での通信内容

比較という2点から通信の挙動を抽象化した.本論文ではこの2つの抽象化を組み合わせる ことで多様な相関関係に対応する.

イベント発生規則

イベント間の相関関係を表すためには,従来の同一セッション内でのイベント発生順序の 追跡やイベント相関分析などと同様に,イベントの発生規則を管理する必要がある.ただし,

複数のイベントが逐次的に発生するのを監視するだけではマルウェアの複雑な挙動に対応す るのが難しい.

図5.6ではe1,2,3,4,5の5種類のイベントの組合せによってボットの活動を検知するモデルの 例を示している.このモデルはC&Cサーバとの通信とボットとしての活動の両方を発見した 場合に,ボットを検知したとみなすモデルである.例えばe1e2が共に発生した場合はIRC によるC&Cサーバとの通信を,e3が発生した場合はHTTPによるC&Cサーバとの通信をそ

ドキュメント内 PDF Year 2009 Dissertation (ページ 74-82)