第 329 回 PTT のお知らせ


日時:2006年 1月18日(木) 18:30 から


場所:慶應義塾大学理工学部 矢上キャンパス 創想館(14棟)-201教室(セミナールーム1)(地図



話者:
河野健二(慶應義塾大学 理工学部)


話題:
ネットワーク侵入防止システム TCP Stream Filter

概要:
インターネット・サーバの脆弱性を突く不正攻撃は後を絶たない.そうした不正 攻撃を未然に検知し防止するための機構はいろいろと研究・開発がすすめられて いるものの,その多くは既知の脆弱性を突く攻撃を防御対象としている.そのた め,新しく発見された脆弱性を突く攻撃には本質的に無力である.これまでに話 者らが開発を進めてきた TCP Stream Filter は,未知の脆弱性を突く攻撃を防 ぐことを念頭において設計されている.既存の攻撃検知機構の多くが不正攻撃メッ セージをリストアップするというブラックリスト型であるのに対し,TCP Stream Filter は不正攻撃とはなりえない正しいメッセージをリストアップするという ホワイトリストの考え方に立脚している.そのため,未知の攻撃に対しても高い 耐性を持つ.本講演では TCP Stream Filter について紹介した後,実際の攻撃 用コードの収集の難しさなど研究を進める上での悩みについても話したい.



第 329 回 PTTメモ

出席者:

伊知地宏(ラムダ数教研)、並木美太郎、(農工大)、石畑清(明治大)、
筧一彦、(東大)、ダオタンビン、前野年紀(東工大)、日比野啓(朝日ネット)、
飯嶋浩光(電脳外道学会)、飯島正、篠沢佳久(慶應大)、
篠原哲洋、寺田実、丸山一貴(電通大)


質疑応答:

・Vulnerability-Specificなシグネチャは、buffer overflow以外でも作れるの
  か。

論文で挙げている例のほとんどは buffer overflow です.でも,フォーマット
文字列攻撃などの場合,メッセージに %n を含むといったようなシグネチャを書
くことになると思います.

・MILW0RMなどのサイトの探し方

一筋縄ではいかないので大変です.

・SMTPのNIPSをSPAM対策に使えないか

SPAM 送信用のソフトウェアが厳密に SMTP を守っていないとすると可能です.

・プロトコルごとのシグネチャの正しさはどう確かめるか(RFCは正しいのか)

これは実運用してみない限りなんともいえません.

・このアプローチにしたときに、うまくいっていたものがうまくいかなくなる
 ことはあるか(ホワイトリストとブラックリストの併用?)

この方式でも通過してしまう攻撃は存在します.ですので,将来的にはブラック
リスト的なアプローチと併用するのがいいでしょう.

・シグネチャの書き方を簡略化できないか(formalな記述の取り込み)
 サイトごとのカスタマイズはどうか

フォーマルな形でプロトコルを記述することが一般的になってくれれば,それを
取り込むのが一番いいでしょう.

なお,専用言語で記述できるようにしたのは,サイトごとのカスタマイズを念頭
に入れているためです.

・ライブラリをミドルボックスにしたときのパフォーマンスはどうか
 regexのパフォーマンスはどうか

そういう実装もあります.正規表現ライブラリを自前で用意したせいか,それほ
どパフォーマンスは落ちませんでした.

・クライアントサイドのプログラム(Wordとかブラウザとか)を防御する
 方針はあるか

サーバに比べ動いているソフトウェアがあまりに多様なため,簡単ではないでしょ
う.「管理者」も仮定できないので余計に難しい.ただ,特定の攻撃に対する防
御策はいろいろと論文が出始めています.

・ホワイトリストにマッチしなかったときの動作はどうなるか
 繰り返し不正な内容を送りつけてくる場合にDoSにならないか

不正なメッセージとして拒否しています.メッセージを拒否してしまうので,す
べてのメッセージを通過させる場合に比べ DoS になりやすいということはあり
ません.

・500クライアントの時の性能に関するデータはあるか

500 クライアントで実験するのは大変なのでデータはとっていません.

・regexのmatcherのメモリ消費はどうか

それほど多くありません.また,(実装にバグがなければ)特定のパターンに対
してメモリを多く消費するということもありません.

・sshのbrute force attackは通ってしまう

はい.そういう攻撃は防ぐことはできません.

・管理者にパッチを当てさせるためにはどうするか

パッチ当てをさぼって痛い目に会うのが一番でしょう.

 ・河野研のサーバで試しているか

パケット・キャプチャしたデータで試しています.