振る舞い検知型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記事一覧 |
- Windows起動前後にデバイスを守る工夫、ルートキットを防ぐ (2017/7/24)
Windows 10が備える多彩なセキュリティ対策機能を丸ごと理解するには、5つのスタックに分けて順に押さえていくことが早道だ。連載第1回は、Windows起動前の「デバイスの保護」とHyper-Vを用いたセキュリティ構成について紹介する。 - WannaCryがホンダやマクドにも。中学3年生が作ったランサムウェアの正体も話題に (2017/7/11)
2017年6月のセキュリティクラスタでは、「WannaCry」の残り火にやられたホンダや亜種に感染したマクドナルドに注目が集まった他、ランサムウェアを作成して配布した中学3年生、ランサムウェアに降伏してしまった韓国のホスティング企業など、5月に引き続きランサムウェアの話題が席巻していました。 - Recruit-CSIRTがマルウェアの「培養」用に内製した動的解析環境、その目的と工夫とは (2017/7/10)
代表的なマルウェア解析方法を紹介し、自社のみに影響があるマルウェアを「培養」するために構築した動的解析環境について解説する - 侵入されることを前提に考える――内部対策はログ管理から (2017/7/5)
人員リソースや予算の限られた中堅・中小企業にとって、大企業で導入されがちな、過剰に高機能で管理負荷の高いセキュリティ対策を施すのは現実的ではない。本連載では、中堅・中小企業が目指すべきセキュリティ対策の“現実解“を、特に標的型攻撃(APT:Advanced Persistent Threat)対策の観点から考える。
|
|