Snortの監視方法


Snortによる不正アクセス監視方法について簡単にまとめてみました。

ちなみにこのドキュメントは、研修用の資料としてまとめたものをWeb用に編集しなおしたものです。

1.基本的な操作方法
ACIDによるアラート監視の基本的な操作方法については<Snort+ACIDによる不正アクセス監視>を参照すること。

2.注目すべきアラート
Snortは平時においても数多くのアラートを出力する。

あるものは壊れたパケットを警告するものであり、あるものは利用者の操作ミスを警告するものである。それらのほとんどは通常無視しても良い。しかしこの中には重要なアラートが混ざっていることがある。

・突然大量に発生したアラート
静かだったコンピュータが、ある日突然大量のアラートを吐き出した場合である。ポートスキャンを受けた場合など、数十分のあいだに数万を越えるようなアラートを吐き出すことがある。またDoS攻撃なども同様に大量のアラートを吐き出すことがある。

・特に危険度の高いアラート
<Snortアラートの効率的な監視方法>で解説しているように、特に危険度の高いアラートはコンピュータがなんらかの不正アクセスを受けた可能性があることを示している。

もっとも多いのは攻撃コードの痕跡を検知したアラートである。コンピュータの脆弱性を突く際に必要いくつかの条件をルールに記述し、これらの痕跡を検知するものである。

ただし、脆弱性の種類によっては現在のIDSの能力では分析することが難しいために、誤検知を起こしやすいルールがいくつか存在するので注意すること。

・特別なアラート
コンピュータへの侵入に成功したことを示す痕跡が発見された場合に報告されるアラートがいくつか存在するが、これらにはルールセットの中で特に高いclassが与えられていないため、見逃しがちである。しかしこれらのルールは時折非常に正しく不正アクセスの発生を報告してくれる。

ATTACK-RESPOSESがこれにあたる。ASCIIテキスト形式でのトラヒック中に、利用者権限の獲得を示す文字列が発見された場合に報告されるアラートである。すべてについて当てはまるわけではないが、攻撃コードが実行された場合にEggコードと呼ばれるプログラムが標的となったコンピュータ上で実行される。このEggコードはコンピュータの脆弱性を付いて任意のコードを実行しようとする。このeggコードでよく見られるパターンとして、脆弱性をもったプロセスの権限でshellシェルを立ち上げ、攻撃成功を確認するためにidコマンドを実行するのである。これがSnortで検知されるとこのアラートが報告される。

またこのほかにBackDoor系のアラートにも注意すべきである。不審な高位ポートでsshdやTelnetのバナーが検出された場合、不正アクセス者によって設置されたバックドアである可能性が高い。また不正アクセス者が良く利用するツールの痕跡などもアラートとして報告される。


これ以外は緊急性の高くないだろう。

いづれのアラートも誤検知であることを前提として、詳しく調査する必要がある。


3.アラートの詳細な調査

4.無視してよいアラート
Classificationが極端に低いもの
 BAD Trafficなど、通常は無視して良いもの
 Telnet Login Incorrect なんかは注意が必要 reconnaissance の可能性がある
 P2Pファイルシェアリング
・既知のWORM系トラヒック
 単なる統計データにしかならない
・例外なサーバ
 利用者が意図している場合
7.不要になったアラートデータの処置

8.被害を受けてしまった場合

DoS攻撃、ポートスキャン

ポートスキャンは将来本格的な攻撃行為が行なわれることを示す前兆である。またDoS攻撃が検出されたのであれば、もしかしたら組織内に踏み台となるようなコンピュータが存在するかもしれないし、組織内のコンピュータかネットワークがDoS攻撃の標的となっているのなら、それらが攻撃を受けなければならない理由が存在するはずである。

いづれの場合も組織内の対象となったコンピュータが該当する脆弱性を持っているか直ちに確認する必要がある。

侵入行為
この場合本当に不正アクセスの被害を受けてしまったのか慎重に確認しなければならない。
まず該当するアラートの情報を詳細に調査する。脆弱情報を入手し、アラートのパケットダンプと照合して被害を受けたか否か判断する。と同時にコンピュータが該当する脆弱性を持っているか確認しなければならない。

この段階で被害を受けたことが明らかな場合には、コンピュータの管理者に連絡を取り、被害状況を確認し、被害が認められたならコンピュータをネットワークから切り離す。


9.誤検知を減らす工夫