Next Up Previous Contents References
適切なルールの書き方

2.6 適切なルールの書き方

効率と速度を最大限に高めるSnortのルールを書くために、、 念頭に置くべき一般的概念がいくつかあります。

適切なルールにはcontentsが含まれています。2.0 検知エンジンは、 第1段階で設定別のパターンマッチを実行することにより、Snortの動作を 少々変更します。contentオプションが長ければ長いほど、マッチはより ``正確''になります。ルールにcontentオプションが含まれていなければ、 システム全体の性能が低下してしまいます。

ルールを書き込む場合に、exploitの詳細(ここではこのシェルコード)では なく、脆弱性に的を絞った(たとえば、1025以上のoffsetでこの手順を呼び 出すことなど)ルールを書くように心掛けてください。

contentルールは大文字と小文字を区別します(ただし、nocaseオプションを 利用する場合を除く)。

Contentルールが大文字と小文字を区別し、多くのプログラムでは コマンドを表示するために一般に大文字を利用することを念頭に 置いてください。FTPはその好例といえます。次の2つのルールを ご覧ください。

alert tcp any any -> 192.168.1.0/24 21 (content: "user root"; \
      msg: "FTP root login";)

alert tcp any any -> 192.168.1.0/24 21 (content: "USER root";\
      msg: "FTP root login";)

上記の2つ目のルールはほぼすべての自動的なrootログイン試行を 検知しますが、userに小文字を利用する試行を検知できないので 注意する必要があります。インターネットデーモンは入力として 受け取るものに関して寛大です。ルールを書く際には、プロトコルが 受け付けるものを把握できれば、攻撃を見逃す件数を最小限に抑える ことが可能となります。


Next Up Previous Contents References