4. トラフィック分析技術
4.3. ニューラルネットワークによるアプローチ
様々な計測結果からネットワークの障害発見や不正アクセスを発見する技術は、何をもっ て不正とするかの技術とも言える。困難な点は流れているトラフィックの種別、量、その 時間的な変化等の計測対象パラメータは、ネットワークの規模、特性、利用者の振る舞い に大きく依存しており、明確な基準が与えられないことである。
そこで、そのような基準をネットワークから自動的に学習し、それをもって異常、正常の 基準を与えて検知するようなアプローチのひとつとしてニューラルネットの活用が長年に わたって研究されてきた。
文献[34]では、異常検知の手法の一つとして注目されているニューラルネットを利用したア プローチについて調査している。
現在、コンピュータの悪意のあるふるまい、または、異常なふるまいを検知する種々の侵 入検知システム(Intrusion Detection System : IDS)が提案されている。しかし、現在のIDS には多くの誤報を発生するという問題がある。この、誤報を減少させるために実用的です らないチューニングが行われたり、IDS の不正アクセス検知能力が減少させられたりして いる。
また、現在主流となっている不正アクセスデータベースとトラフィックの比較による検出 では新しい不正アクセス及び、今までの不正アクセスを変化させた亜種に対して対応する ことができない。そこでその問題点を改善するために、異常検知システムが提案されてい る。異常検知システムは通常観測される状態から逸脱した時にアラートを発生させる。し かし、現在の異常検知システムは誤報の割合が非常に高い。
ニューラルネットワーク(NN)を用いたIDSは、上記の問題を解決するIDSとして期待され ている。
4.3.1. ニューラルネットワーク
ニューラルネットワークは人の神経系をモデルとして作成されたシステムでありニューロ ンとニューロン間のリンクで形成されている。その形態は複数存在し、大まかに学習の際 の教師の有り、無し、及び、学習のニューラルネットワークに対する適用形式によって分
タ及び、そのデータに対する答えが与えられる。そして、与えられたデータを用いてニュ ーラルネットワークはニューロン間の結合を変更し、データを学習する。
この方式のニューラルネットワークには、シグネチャ方式よりも広い範囲の問題を扱える という利点がある。そして、ニューラルネットワークを用いたIDSにおいてこの方式は主 流となっている。
教師無し学習を行うニューラルネットワークでは、多くのデータの中から関連のあるデー タを探すことができる。この方法はデータの特性が分からない大量の生のデータの関連性 を調べるのに有効である。
学習のニューラルネットワークへの適用方式はデータ出力ニューロンから入力ニューロン に向かって決まった伝搬路で学習結果を伝搬させるフィードフォワードネットワークと、
途中からのフィードバック経路も持つリカレントネットワークの二種類に大きく分けるこ とができる。フィードフォワードネットワークはシンプルであり、現在のニューラルネッ トワークを用いたIDSの主流となっている。リカレントネットワークは学習データの選別 が困難であり、負荷も大きいが、学習データを適切に選択できた場合、高い性能を示すこ とが可能である。
4.3.2. ニューラルネットワークを用いたIDS
現 在 ニ ュ ー ラ ル ネ ッ ト ワ ー ク を 用 い た IDS で 主 流 に な っ て い る の は 、MultiLayer
Perceptron(MLP)を用いたニューラルネットワークである。MLPは多くのIDSでさまざま
な用途に用いられている。この研究にはコマンドの入力状況を特徴量として、適正なユー ザがコンピュータを使用しているか確認する、Jake らの Neural Network Intrusion
Detector (NNID)[35]と同様に、ユーザの活動時間、ログインホスト、CPU使用率等を用い
て適切なユーザの使用を判断する Kymie の The Application Of Neural Networks To UNIX Computer Security[36]がある。これらは、高い精度でユーザを識別することが可能 である。また、プロセスの状態をニューラルネットワークに入力し、異常なプロセスを検 出する Anup K. Ghoshら の Detecting Anomalous and Unknown Intrusions Against Programs[37]がある。この研究では、特定のプログラムのバッファオーバーフローの検出 が可能であるという結果が得られた。
ネットワーク上を流れるパケットの情報をニューラルネットワークに攻撃毎に入力、学習 し、不正検出のシグネチャのマッチングと同様に検出するという研究に、James Cannady のArtificial Neural Networks for Misuse Detection[38]がある。この研究ではProbe、 DoS 等の幾つかの不正アクセスがこの手法で検知可能であったことが報告されている。
ニューラルネットワークに直接トラフィックデータを入力するのではなく、統計処理を行 ってから、ニューラルネットワークに入力する研究として Zheng Zhang ら の HIDE: a Hierarchical Network Intrusion Detection System Using Statistical Preprocessing and Neural Network Classification[39]がある。この手法では UDP Flood が検出可能であるこ とが報告されている。
最近では、上記のMLP以外のニューラルネットワークであり、学習に教師を必要としない
Self Organizing Map(SOM)を元としたIDSが出現した。この手法を用いた研究にはPeter
Lichodzijewskiら の Host-Based Intrusion Detection Using Self-Organizing Maps[40]
がある。この手法では通信の始まりから終了までのセッションを単位とし、そこからユー ザ名、継続時間等を抽出し、SOM を行っている。SOM を行うことにより、セッションの グループ化を行い、特別な行動をしているユーザを検出可能であった。
また、Anup K. Ghoshら は 特別なフィードバックニューロンを含むElman Networksを
用いることにより、MLP を用いた Detecting Anomalous and Unknown Intrusions Against Programs よりも結果を向上させることができたことを Learning Program Behavior Profiles for Intrusion Detection[41]で報告している。
ここまでに述べたニューラルネットワークを元としたIDS と他の手法の結果の統合手法も 考案されている。統合手法には多数のIDSの利点が取り込まれるが学習が複雑になると言 う問題点も存在する。
4.3.3. ニューラルネットのIDSへの応用の可能性
現在ニューラルネットワークを元とした IDSに不足しているのは、未知及び亜種の不正ア クセスに対応する能力の欠如と、低い誤検知率である。現在行われている研究では主にMLP が用いられているが、上記の欠点を克服するため、様々な形態のニューラルネットワーク、
特にリカレントネットワークによる検出が行われ、様々な不正アクセスに対応するために より多くのレベルから情報を取得するシステムが研究されていくと考えられる。加えて多 くのIDSモジュールが連係し、検知率の向上、誤検知率の減少が行われると考えられる。
ネットワークの複数のレベル(パケット、セッション等)でそれぞれのレベルに特化したIDS モジュールが動作することにより、欠点の克服が行われると考えられる。ニューラルネッ トワークを用いたモジュールはモジュールの一つとして有望であり、また、他のIDSに入 力するデータの前処理を行うためのエンジンとしても有望である。
しかし、実際にネットワークに適用するときには、学習データをどのようにして得るのか、
ない「クリーンな」環境で学習させる必要があるが、それは現実的には容易ではない。
ニューラルネットワークはそれ自体で完結する技術ではなく、学習のための技術、得られ た検知結果の検証のための技術などと組み合わせて活用することで、その真価を発揮する と考えられる。