IPS(不正侵入防御システム)を知る[前編]

IPSの実装方法と防御技術とは

小倉 秀敏(おぐら ひでとし)
インターネット セキュリティ システムズ株式会社
営業企画部 テクニカルソリューション課マネージャ
(エグゼクティブ・セキュリティ・エンジニア)
2005/3/16

 IPSの検知技術

 IDSは誤検知が多いという認識は、実はsnortのような単なるパケット・パターン・マッチングシステムから生まれたものにすぎない。現実の製品では、もっと複雑な検知技術を使用し、正確な検知を目指している。

 これはIDSもIPSも変わらない。誤検知を削減するためにはさまざまな技術が利用されている。代表的なものはステートフルなプロトコル分析と、プロトコル分析に基づくヒューリスティックなアノーマリおよびビヘイビア分析である。

●ステートフルなプロトコル分析とは

 通常ステートフルなプロトコル分析といった場合、TCPのセッション管理とHTTPなどのプロトコル解析を組み合わせたものと理解されているが、IPS/IDSの場合それだけでは不十分だ。アプリケーション層ステートの管理が必須である。

 では以前よく攻撃対象として悪用された、sendmailの各コマンドを検知することを例に取り、アプリケーション層ステート管理が重要であることを説明しよう。

 sendmailではMTAとして動作するデータモードと、コマンド操作を受け付けるコマンドモードが存在する。これは25番ポートへの特定の文字列の送信により切り替えが行われる。単にSMTPトラフィック中でDEBUGやVRFY decodeというコマンド文字列を検索するだけでは、メールにこれらの文字列を書いて送信しただけで、これらのイベントを検知してしまうだろう。

 しかしこれらのコマンド文字列は、sendmailがコマンドモードである場合でしか意味がない。MTAとしてメールのやりとりを行っている際は、データモードとなる。従って影響は受けない(もし受けるとしたら、それは大変な脆弱性となってしまう)。

 これを正確に検知するためには、sendmailをデータモードからコマンドモードへ移行させる文字列のチェックと、それによるモードの遷移をIPS/IDSが追跡しなければならない。これがアプリケーション層ステート管理にほかならない。このようにすることで、メールにDEBUGとかVRFY decodeと書いても攻撃として検知することはなくなる。

●アノーマリ検知

 アノーマリ検知とは、通常はRFCに互換かどうかをチェックして、互換性が失われているものを攻撃として検知する。しかしながらそれだけでは大量の誤報が発生する危険性がある。それは、世間一般で信じられているほど厳密にRFCに乗っ取った実装がなされていない場合や、RFC自体にあいまいな部分があり実装に幅が出てしまう場合があるからだ。

 実例を挙げてみよう。Windows 95はDNSにRFCにのっとっていない実装があった。最近でもある大手ベンダのOSPFパケットの事例があった。このベンダの送出するOSPFパケットは、OSPFヘッダ中で指定されたサイズにもかかわらず、常に一定のデータサイズになるように「詰め物」が追加されていたのだ。おそらくハードウェアで高速処理するためだろう。

 RFC互換だけチェックしていると、このようなパケットを攻撃として検知してしまう。しかしこれは「正しくない実装」ではあるが「攻撃ではない」ため、攻撃として検知することは避けなければならない。

 ここにはヒューリスティックな判断を加える必要がある。ヒューリスティックとは「経験上」という意味である。つまりWindows 95のDNS要求は「経験上攻撃ではない」ため攻撃としては検知しない、という判断をIPS/IDSに組み込むのだ。誤検知を少なくするには、このような情報をどれだけ持っているか、ということに尽きる。

 さらにRFCにのっとっているからといってすべて正しいと判断してはいけない状況も存在する。ヒューリスティックな判断は、「RFCにはのっとっているが通常は利用されない」という状態を検知する際にも利用される。この条件がない場合、未検知が発生してしまう危険性がある。

 例えばRFC 1057では、RPCのユーザー名として最大255文字を利用可能であるが、現実的にはそのような長いユーザー名が利用されることはほとんどないといってもよい。ある程度の長さ以上のユーザー名は、何らかの攻撃を意図したものとして検知すべきだろう。

●ヒューリスティックなビヘイビア分析

 ヒューリスティックなビヘイビア分析とは、例えば「1分間に4回telnetログオンに失敗していた場合は攻撃と見なす」といったように、経験的に攻撃と見なすような検知方法だ。これにより、ウイルスが手当たり次第にWindows共有ディレクトリに接続を試みた結果、発生したログオン失敗を攻撃として検知できる。

 IPS/IDSの検知技術は、現実のネットワークでやりとりされる状況を把握し、それを正しく検知できるように実装されていなければ、誤検知や未検知の問題に悩まされ続けることになる。

◆ ◇ ◆

 後編では筆者の経験に基づき、実際にIPSはどのように実装されているかを紹介したい。IDSの場合、主にインターネット接続点にしか設置されないケースがほとんどだった。しかしIPSの場合、ワームという新たな脅威の出現により内部ネットワークに多数設置されるケースが増えてきている。なぜ内部ネットワークにIPSを設置するのかといった部分を中心に、設置パターンをいくつか取り上げていきたいと思う。

【コラム:誤検知について】

 IPS/IDSの利用者の視点からの誤検知と、製品ベンダの視点からの誤検知では、同じ単語でも指す内容が異なることがほとんどだ。利用者は望まない検知結果自体を誤検知と呼び、製品ベンダは技術上検知するはずのない通信で検知した場合を誤検知と呼ぶ。視点が全く異なっているのだ。

 筆者がよく例に挙げるのはURLに“../..”という文字列を含むHTTPリクエストの検知だ【注】。以前はWebサーバによく存在したディレクトリ・トラバーサルの問題により、“../..”文字列でディレクトリをさかのぼり、任意のファイルを参照するという攻撃手法があった。

 一方、HTMLでファイルパスを指定する際に相対パスを利用することがある。その場合URIにはまさに“../..”が含まれてしまう。相対パスが利用されている環境では、この攻撃検知はまさに誤検知となってしまう。これは利用者から見れば誤検知だが、製品ベンダから見れば誤検知ではない典型的な例だ。

【注】
例えばISSのProventiaおよびRealSecureでは、HTTP_Dotdotというシグネチャで検知される


3/3


Index
IPSの実装方法と防御技術とは
  Page1
IDS(不正侵入検知システム)の限界
IPS製品の歴史
IPSで何が変わったのか
  Page2
IPSの実装方法
 -IPSの実装場所
IPSの防御技術
 -正しく攻撃を排除できない
 -パフォーマンスへの悪影響
Page3
IPSの検知技術
 -ステートフルなプロトコル分析とは
 -アノーマリ検知
 -ヒューリスティックなビヘイビア検知

コラム:誤検知について

関連リンク
  IPSを実装する場所と考慮すべき点

Profile
小倉 秀敏(おぐら ひでとし)

インターネット セキュリティ システムズ株式会社
営業企画部 テクニカルソリューション課マネージャ
(エグゼクティブ・セキュリティ・エンジニア)

インターネット セキュリティ システムズ(ISS)におけるプリセールス、システムエンジニアリング(SE)責任者の立場から、IDS/IPSにおける設計、構築、実装、運用フェーズに深い造詣と経験を持つ(大規模案件については、プロジェクト・マネージャとしても対応)。

同時に、ISSの基本設計思想、技術思想を啓蒙するevangelist(エグゼクティブ・セキュリティ・エンジニア)としての講演や執筆、取材活動も精力的に行っている。

また、ISSのグローバル研究開発機関「X-Force」と連携を持つエグゼクティブ・セキュリティ・エンジニアとして、Emergency Response Serviceの立案および実施も担当している。

Security&Trust記事一覧


Security&Trust フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Security & Trust 記事ランキング

本日 月間