振る舞い検知型IPSの技術解説

後編 “振る舞い検知”の裏側にある技術


出雲 教郎
日本ラドウェア株式会社
技術本部 ソリューション・アーキテクト
2009/6/1


 クライアントの振る舞いを分析する

 クライアントコンピュータがワーム、ウイルス、マルウェア、ボットなどに感染し、その拡散行為が行われる場合、まずは自分のネットワーク上に感染したコンピュータと同じ脆弱性を持つマシンが存在するか検索する。このとき、ネットワーク上のIPアドレスをやみくもに「ポートスキャン」する。クライアントコンピュータの振る舞いに悪意があることを分析するには、このポートスキャンを解析することが重要だ。

 ポートスキャンとは、相手のアドレスあてに、TCPであればSYNパケットを送信し、ACKパケットが帰ってくるか確認する。それにより該当する相手先がそのポート番号を使ったアプリケーションが動作可能であることが判明するため、相手を知るために行われる一種のクラッキングの技術となっている。これはさまざまなワームやマルウェア、ボットなどに実装されている。

 一般的なクライアントコンピュータが、サーバなどほかのコンピュータと通信する場合は、それを統計学的に分析すると、「特定の相手先」の「特定のポート番号」に通信が集中する。例えばWebブラウザを起動してあるWebサイトにアクセスする場合、相手先IPアドレスは少数であり、相手先ポート番号はHTTPプロトコルである80番だけだ。インターネットで使うアプリケーションもメールやWeb、FTPなどにある程度限定されており、正常なクライアントコンピュータの相手先IPアドレスとポート番号を集計し、統計学的に分析すると、おおむね図2のようなグラフとなる。

図2 正常な通信のIPアドレス、ポートの分布イメージ

 それに対してワームやウイルス、ボット、マルウェアに感染したコンピュータは、同じ脆弱性を持ったコンピュータをランダムにアクセスしながら探していくため、相手先のIPアドレスとポート番号は拡散する。その統計データを集計すると図3のようなグラフとなり、前述した正常なクライアントコンピュータとは大きく異なる結果となることが分かる。

図3 感染PCがポートスキャンを行っているときのIPアドレス、ポートの分布イメージ

 クライアントコンピュータが送信するパケットの相手先IPアドレス、ポート番号を統計データとして、そのクライアントからの通信全体のトレンドと相関分析すると、ワームやウイルス、マルウェア、ボットなどに感染して悪意ある行動をとっているマシンを特定することが可能になる。

 このように、クライアントマシンの振る舞いを分析することにより、当該クライアントコンピュータに対してフィルタを適用し、ネットワークからワームやウイルス、マルウェア、ボットの拡散行為を排除することができるのだ。

 サーバの振る舞いを分析する

 振る舞い検知型IPSではサーバ自身の振る舞いを分析するというよりも、サーバへアクセスするトラフィックの振る舞いを分析し、サーバへの攻撃かどうかを解析する。近年特に問題となっているのが、サーバの脆弱性を攻撃するものというよりも、1つ1つのトランザクション自身は正常なものと見分けがつかない攻撃、例えばボットネットからのSQLインジェクション攻撃などであり、このような攻撃をどのように防ぐかが大きな課題になっている。

 ボットネットの概要は図4のような形となるが、前述したとおりボットネットからの攻撃はアプリケーションレベル、レイヤ7レベルのDDoS攻撃に相当するため、送信元IPアドレスも特定できず、どのような動作をさせるのかはボットコマンダー(司令塔)である攻撃者が任意に設定可能なため、従来のセキュリティ技術で判定させるのは非常に難しい。1つ1つのボットマシンからのトランザクション(ログイン、サーチ、クエリ、ログアウトなど)は正規のユーザーとまったく同じものであるからだ。

図4 一般的な分散型攻撃

 統計学的アプローチから、これらボットネットからの攻撃を分析するにはどのような方法があるだろうか。

 ボットネットからの不正リクエストの特徴として、不特定多数のボットからの一連のトランザクションがすべて同じであることが挙げられる。図4の例でいうと、すべてのHTTPボットからのリクエストは「GET /search.php http/1.0」となっている。

 そこで振る舞い検知アルゴリズムでは、リクエスト文の長さごとに統計情報を収集し、サーバへのトラフィック全体の増減とあわせて相関分析を行う。同じ長さのリクエストが突出して多くスパイクしている場合は、ボットネットからのアクセスを疑って、すべてのボットごとにフィルタを作成、防御する。この方法により、ボットコマンダーがどのような動作の指令を出しても、振る舞い検知アルゴリズムで捕らえることが可能になる。

2/3

Index
後編 “振る舞い検知”の裏側にある技術
  Page1
ネットワークの振る舞いを分析する
Page2
クライアントの振る舞いを分析する
サーバの振る舞いを分析する
  Page3
フィードバックループによる最適化
ターゲットはソフトウェアの脆弱性からサービスの脆弱性へ

Security&Trust記事一覧


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

注目のテーマ

Security & Trust 記事ランキング

本日 月間