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

実装

ドキュメント内 NIDS 運用の効率化に関する研究 (ページ 71-75)

第 6 章 OS の種別を基本としたリスク評価システム 55

6.6 実装

ルールには,ある種類のセキュリティイベントについて送信元ホストおよび宛先ホ

ストのOS,そしてリスク度合いの3項目が指定可能である必要がある.

6.5.3 リスク評価の実行

本システムはDHCP gazerにより取得した各ホストが利用しているOSの情報,NIDS が検知したセキュリティイベント,そしてリスク評価ルールの3つを用いてリスクを 評価する.

NIDSで取得されたセキュリティイベントを随時リスク評価する仕様も必要だが,各 ホストの環境変化が後になって判明した場合は,リスクの再評価が必要となり評価結 果に不整合が生じる場合がある.よって,ホストのOS情報を修正した後に,蓄積さ れたセキュリティイベントログを用いてリスク評価する要求も考えられる.そのため,

NIDSで検知されたセキュリティイベント情報を直接受け取る方法と,NIDSによって 蓄積されたログからセキュリティイベント情報を受け取る方法の2通りで動作する必 要がある.

6.6 実装

第6.5節で述べた設計を元に,OS based Risk Evaluation System(OSRES)を実装し

た.第6.5.3項で述べた,即時的なセキュリティイベントのリスク評価と蓄積されたセ

キュリティイベントログからのリスク評価の両方を実現するために,本論文ではリス ク評価のライブラリとして実装し,各種アプリケーションに対応させる手法を採った.

実装にはC言語を用い,情報を蓄積するためのデータベースとしてフリーのリレーショ ナルデータベース実装であるMySQL[45]を利用した.

6.6.1 システム構成

システムの全体的な実装概要を図6.3に示す.本システムは定期的な調査による固定 ホストのOS情報と,DHCP gaezrを用いて取得した動的なホストのOS情報を利用し ている.

リスク評価機構はlibosresライブラリとして実装し,各種アプリケーションが必要に 応じてセキュリティイベントのリスクを判別できるようにしている.本ライブラリを NIDSが利用すれば,セキュリティイベントを検知した時点で,即時的にリスクを判定 できる.ログとして蓄積されたセキュリティイベントを表示するインターフェースアプ リケーションで利用すれば,任意のタイミングでセキュリティイベントをリスク評価 できる.また,本論文ではホストのOS情報を蓄積しているMySQLデータベースに,

OS情報を入力できるようDHCP gazerに機能を追加した.

その他の詳細については,以下で述べる.

6.6. 実装 第 6OSの種別を基本としたリスク評価システム

図 6.3: 実装概要図

signature name, src os:src rev-> dst os:dst rev, risk

図 6.4: リスク評価用ルールの書式

6.6.2 リスク評価用ルール

OS情報をもとにしたリスク評価で使用するルールを図6.4 に示す.libosresが使用 するルールは編集や管理の容易さからテキスト形式で記述している.セキュリティイ ベントの種類判別は各ルールに記述されたシグネチャ名を用いる.NIDSは,検知した 内容が同一の事象であったとしても,実装によってセキュリティイベントの名称は異 なる場合が多い.そのため,NIDS毎にルールを用意する必要があり,アプリケーショ ン側で適宜使用するルールファイルを変更すれば,様々な実装に対応できる.

図6.4中のsrc os,src revにはそれぞれセキュリティイベントの送信元ホストのOS 名とそのリビジョン,dst os,dst revには送信先ホストのOS名とそのリビジョンを記 述する.現在の実装において指定できるOS名と種類を表6.1に示す.任意のOSを指 定した場合は*(アスタリスク)を記述することで,全てのOSやリビジョンが一致する.

6.6. 実装 第 6OSの種別を基本としたリスク評価システム

MS-SQL version overflow attempt, *:* -> Windows:*, R MS-SQL version overflow attempt, *:* -> *:*, S

図 6.5: Slammer wormを対象としたリスク評価用ルールの記述例

最後にriskでは,そのセキュリティイベントやOSの組み合わせの場合にリスクが高 い,あるいは低いことを指定する.リスクが高い場合は“R” (Risky)を,低い場合には

“S” (Safety)を,不明な場合には“U” (Unknown)を指定する.ルールは上から順番に 検査されるため,明示的にリスク不明を示したい場合は“U”を記述する.全てのルー ルに一致しないセキュリティイベントは自動的にUknown,すなわちリスク不明と判断 される.

図6.5に評価用ルールの記述例を示す.図中では,Snort[12]がSlammer worm[1]を検 知したセキュリティイベントのリスクを評価するルールを記述している.Slammer worm が感染するMSSQL[46]はWindows OS上でのみ動作するSQLサーバのアプリケーショ ンである.そのため,Slammer wormが送信するエクスプロイトコードはWindows以 外のOSに対して無効であり,リスクが低いと判断できる.逆に,Windowsを使用し ているホストにエクスプロイトコードが送信されれば,他のOSに送信されるより感染 する可能性が高いと言える.

図6.5は,Slammer wormがWindowsのホストに対してのみ有効である,という事 実をもとにして記述されているルールである.1行目はエクスプロイトコードが送信し たホストがWindowsを利用していればリスクが高いと判断するルールである.判別す べきセキュリティイベントの送信先ホストが,Windowsを利用しているOSだった場 合は,1行目で評価処理を停止する.2行目で送信先ホストに任意のOSを指定するこ とで,Windows以外のOSはリスクが低い,という設定を記述している.

6.6.3 libosres

libosresはアプリケーション側から渡されるセキュリティイベントの情報と,データ

ベースを用いて取得する各ホストのOS情報,そして評価用ルールに基づきリスクを判 別する.libosresを使用するための基本的な流れは以下の通りである.

1. ライブラリの初期化 2. ルールファイルの指定

3. ホスト情報データベースへの接続パラメータの設定 4. 評価処理の準備

5. 評価処理関数の呼び出し

6.6. 実装 第 6OSの種別を基本としたリスク評価システム

表 6.1: リスク評価用ルールで指定できるOS名 OS名 リビジョンの種類 説明

Windows 98,Me,2000,

XP,2003,*

Microsoft Windows[4]

Mac OS X 8,9,10.0.X,10.1.X, 10.2.X,10.3.X,*

Apple Macintosh[47]

Linux 2.2,2.4,2.6,* Linux[48]

FreeBSD 4.X,5.X,6.X,* FreeBSD[49]

NetBSD 2.0,* NetBSD[50]

Sun Solaris 8,* Solaris[51]

3Com embedded * 3Com社製製品のネットワーク接続機器

Bay Networks embedded * Bay Network社製製品のネットワーク接続機器

Cisco embedded * Cisco Systems[52]社製製品のネットワーク接

続機器

Cisco IOS 12.X,* Cisco Systems[52]社のネットワーク接続機器

で使用されているOS

Cisco IP Phone CP-7920,CP- 7940,CP-7960,CP-7940G,CP-7960,*

Cisco IP Phones[53]

D-Link embedded * D-Link社製製品のネットワーク接続機器

Dell embedded * Dell社製製品のネットワーク接続機器

Enterasys embedded E9.0.7.0,* Enterasys社製製品のネットワーク接続機器

Extremeware 6.2.2,* Extreme社製製品のネットワーク接続機器で使

用されているOS

Foundry embedded * Foundry社製製品のネットワーク接続機器

Foundry IronWare * Foundry社製製品のネットワーク接続機器で使

用されているOS

Hitachi embedded * Hitachi社製製品のネットワーク接続機器

HP embedded * HP社製製品のネットワーク接続機器

Juniper JUNOS * Juniper社製製品のネットワーク接続機器

Megras embedded * 東京特殊無線社製RFIDリーダMegras[54]

Motorola VxWorks *

Netscreen ScreenOS * Netscreen[29]で使用されているOS

NIB embedded *

Okidata embedded * OKIデータ社製製品のネットワーク接続機器

Polycom embedded * Polycom[55]製テレビ会議システム

RCA embedded *

Tandem Tandem NSK *

Xerox embedded * Xerox社製製品のネットワーク接続機器

ドキュメント内 NIDS 運用の効率化に関する研究 (ページ 71-75)