みんなが幸せになる異常検出のために
公開日: 2008年4月23日
はじめまして、肥村 (ひむら) と申します。つい最近、大学院生になりました。今回は、私の研究トピックである、ネットワークベースのアノマリ型異常トラフィック検出について簡単にお話をさせていただきます。
異常トラフィックとは
インターネットの利用者数は 2005 年において 9.65 億人だそうです *1。すごい数ですよね。これだけ人がいると、当然、悪いことをする人もたくさんいるでしょう。例えば、2000 年 2 月には、アメリカの Yahoo! や Amazon などが攻撃を受け、一時的にサービス停止することなりました。他にも、サーバーが大量の負荷を受け、サービス停止であったり一般ユーザーへのレスポ
ンスの悪化などが多々あります。
本文章では、こういった“システムがサービスを提供するにあたって害をなすトラフィック”のことを、異常トラフィックと呼ぶことにします。異常トラフィックの代表例として、DDoS 攻撃
が挙げられます。DDoS 攻撃は、複数のホストから攻撃対象ホストへの攻撃を行うことを言います。主に、大量のパケットを投げつける“フラッディング攻撃”を行い、対象サーバーを高負荷状態にし、サービスの提供を阻害します。攻撃ホストは、主に、ワームに感染し、奴隷となって攻撃に参加させられます。
また、異常トラフィックとは、攻撃トラフィックのような悪意のあるトラフィックに限ったことではありません。ルータの設定ミスなど (ループしてしまったりなど) により、害のあるトラフィックが思いがけず発生してしまうこともあります。
以下、異常トラフィックを、異常と呼ぶことにします。
異常検出の必要性
こういった異常によって、ネットワークシステムに対する被害・人々の産業活動への損失は大変なことになります。機器の故障による被害額もたまりませんが、サービスの停止あるいは機能低下による損失 (顧客を獲得するチャンスを失った) も小さくはありません。実際、アメリカの 616 企業が回答した調査では、DoS 攻撃による被害額 (CSI/FBI、2006 年) は 292 万ドルだそうです *2。
となると、必要となってくるのが、セキュリティ機能です。このような異常を的確に検出し、管理者へ迅速に知らせる、あるいは異常を排除することは、サーバーが安全にシステムを提供する上で大切なことです。異常検出にあたって、要求される事項が精度とリアルタイム性です。この 2 つを満たす異常検出手法が、精力的に研究・開発されています。
異常検出の種類
異常検出手法は その検出方法から、シグニチャ型と アノマリ型に分けられます。
| • | シグニチャ型: 異常トラフィックを構成するパケットの特徴のルールをデータベース化し、パターンマッチによって計測トラフィックを調査する方法です。代表例として、snort が挙げ
られます。ルールを的確に設定することで、低誤検出率・高検出率を達成することができます。
|
| • | アノマリ型: 数理的なモデルを用いて、統計的に異常トラフィックを判定する手法です。例えば、トラフィック量が一定の閾値を超えた場合は異常とみなす、ポート番号の分布のうち 137 番が極端に多かったら異常とみなす、といった具合です。少ないルールで異常検出を行うことができます。
|
また、用途から、ホストベース と ネットワークベースに分けられます。
| • | ホストベース: エンドホストへ流れるトラフィックを監視するタイプのものです。ホスト毎にインストールする必要がありますが、柔軟に設定を行うことが可能です。
|
| • | ネットワークベース: ルータやゲートウェイに流れるトラフィックを監視するタイプのものです。一括して監視を行うことができますが、広帯域のトラフィックを処理する必要があります。
|
用途に応じて、これらの手法が使い分けられます。
現在の異常検出
私が考えるには、エンドホストにおける異常検出は snort などによって達成できており、これからは中間リンク (国際線やバックボーンなど) における異常検出がトピックになるでしょう。
エンドホストにおける異常排除では、トラフィックはエンドホストに到達して初めて処理されるため、攻撃者からエンドホストに至るまでのネットワーク資源が浪費されてしまいます。ゆえに、同じ資源を共有するユーザーのため、あるいは、ISP のためには、中間リンクで異常を排除することが必要です。
バックボーンレベルにおける異常検出では、短時間に大量のパケットを処理する必要があり、パケットをひとつひとつ精査している余裕はありません。そこで、アノマリ型検出手法を用いる必要があります。しかしながら、現在、リアルタイム性と高精度を兼ね備える異常検出手法は未だないでしょう。統計的に処理を行うアノマリ型検出手法では、悪意のあるなしを見分けることが難しく、実用段階に至っていないためです。
例えば、HTTP リクエストの押し寄せるようなトラフィックを検出したとします。これが HTTP サーバーに対するフラッディング攻撃なのか、それとも一度にたくさんのユーザー アクセスをしている (フラッシュクラウド) なのか、瞬時に区別することは困難です。誤って正規ユーザーのアクセスを遮断してしまったら、大変ですよね。
このような課題に対して、研究者達はパターン認識手法やデータ マイニング手法を応用し、なんとか正常と異常を分離しようと頑張っています。
まとめ
今回は、ネットワークベースのアノマリ型異常トラフィック検出についてお話を書かせていただきました。みなさまの知識が少しでも増えることに貢献できれば、この上なく幸いです。
*1 総務省情報通信統計データベース: http://www.johotsusintokei.soumu.go.jp/
*2 2006 CSI/FBI Computer Crime and Security Survey: http://www.gocsi.com/

この記事は、マイクロソフト セキュリティ ニュースレターで配信しました。