[実施の形態1]
図1に、情報処理システムの例を示す。複数のコンピュータ101がネットワーク(例えば、LAN(Local Area Network))を介して接続している。ネットワークは、ファイアウォール105を介してインターネットと接続している。例えば、イントラネットによる情報処理システムを想定する。コンピュータ101は、例えばサーバ装置又はクライアント端末である。サーバ装置の機能は、任意である。サーバ装置は、例えばドメイン管理サーバ、Webサーバ、ファイルサーバ、Windows(登録商標)サーバ又はSambaサーバなどであってもよい。
各クライアント端末は、各サーバ装置によるサービスを利用することがある。各クライアント端末は、各サーバ装置で保持するデータを利用することがある。また、複数のサーバ装置が連携する場合もある。クライアント端末同士が、データを共有することもある。クライアント端末が、他のクライアント端末によるサービスを利用することもある。
つまり、コンピュータ101同士は、所定の条件の下で、任意にリモート操作を行うことがあるものとする。そのために、複数のコンピュータ101の間でSMB及び/又はDCE/RPCに基づく制御が行われる。SMB及びDCE/RPCは、リモート操作の機能を提供するアプリケーション層のプロトコルの例である。
マルウェアは、例えば標的型攻撃を行うRATである。マルウェアは、標的型メールや不正サイトなどを介して、情報処理システム内のコンピュータ101に送り込まれる。送り込まれたマルウェアは、情報処理システム外の攻撃者からの指示を受けて、例えば以下のような不正な動作を行う。このようにマルウェアに侵入されたコンピュータ101を、感染コンピュータという。
マルウェアは、感染コンピュータから周囲のコンピュータ101に対するOSスキャンやサービススキャンを行って、情報処理システムの内部状況に関する情報を収集し、攻撃者へ転送する。攻撃者は、周囲のコンピュータ101の中から攻撃対象とするものを選択する。このように攻撃対象となったコンピュータ101を、標的コンピュータという。
マルウェアは、攻撃者の指示を受けて、標的コンピュータを不正に操作し、内部情報を窃取するための環境を整える。このとき、攻撃コンピュータから標的コンピュータに対して、例えばアカウント登録、ファイルライト、タスク登録、サービス登録及びサービス起動などのリモート操作が行われる。
更に、マルウェアは、攻撃者の指示を受けて、標的コンピュータから内部情報を読み取る。そして、内部情報は、例えば攻撃コンピュータから直接的又は間接的に外部の攻撃者へ転送される。
マルウェアは、他のコンピュータ101に自らの複製を送り込む場合もある。つまり、マルウェアは、情報処理システム内において自己増殖する場合がある。このような不正なリモート操作を繰り返されると、連鎖的に被害範囲が拡大する。そして、データ流出やデータ改ざんのようなリスクも高まる。
尚、攻撃を終える段階で、マルウェアは、攻撃者の指示を受けて、自らの攻撃の痕跡を消す。そのため、マルウェアは、標的コンピュータに対して、アカウント削除、ファイル削除、タスク削除、サービス停止、サービス削除及びログ削除などのリモート操作を行う。また、マルウェアは、感染コンピュータに対しても、同様の操作を行う。
本実施の形態では、種々の伝送データの中から攻撃に関わるデータを抽出し、侵害範囲を特定する。最初にマルウェアを見つける段階では、従来技術を用いる。例えば、マルウェアが標的コンピュータから内部情報を読み取る動作や、マルウェアが情報処理システム外に対して通信を行う動作を検出する技術が存在する。
監視装置103で、感染コンピュータを検出すると、感染コンピュータが行った不正なリモート操作を特定する。そして、感染コンピュータが行った不正なリモート操作と類似するリモート操作を抽出して、未検出の感染コンピュータ及び未検出の標的コンピュータを特定する。
尚、監視装置103における機能を、複数のサーバに分担させるようにしてもよい。例えば、第1の監視サーバで、感染したコンピュータ101を検出する。第2の監視サーバで、その他の感染したコンピュータ101や攻撃を受けたコンピュータ101を検出するようにしてもよい。
監視装置103は、例えばポートミラーリング対応のスイッチ又はネットワークタップを介して、ネットワークに接続している。
次に、図2を用いて、リモート操作における属性データの類似性について説明する。図2の左側は、マルウェア201に感染したIP(Internet Protocol)アドレス「x.x.x.1」の感染コンピュータ203が、IPアドレス「x.x.x.2」の標的コンピュータ205に対して、マルウェア201による攻撃の一環として、SMB認証のリクエストメッセージを送った様子を示している。SMB認証のリクエストメッセージは、アカウント名「adminX」が含まれていたものとする。この場合、感染コンピュータ203は要求側に相当する。また、標的コンピュータ205は応答側に相当する。尚、以下の説明で、要求側から送られるパケットをリクエストメッセージという場合がある。同じく、応答側から送られるパケットをレスポンスメッセージという場合がある。
この例で、標的コンピュータ205は、当該リクエストメッセージを受けてSMB認証を行う。当該リクエストメッセージに含まれるアカウント名「adminX」が、標的コンピュータ205におけるサービス部において予め登録されているアカウント名であれば、認証は成功する。そのため、攻撃者は、何らかの手段で他人のアカウント名を盗み、あるいは、不正にアカウント名を登録しておく。従来の検出技術によって感染コンピュータ203を検出した場合には、検出された感染コンピュータ203による攻撃を受けた標的コンピュータ205を特定することは、比較的容易である。
一方、マルウェア201が、自身を他のコンピュータ101に複製する機能を有している場合には、マルウェア201に感染した感染コンピュータ203が、他にも情報処理システム内に存在するかも知れない。ここでは、このようにマルウェア201が自己増殖する場合を想定する。
図2の右側に示したIPアドレス「x.x.x.5」の感染コンピュータ203は、まだ検出されていない。つまり、この感染コンピュータ203は潜伏している状態である。そして、この感染コンピュータ203が、IPアドレス「x.x.x.9」の標的コンピュータ205に対して、マルウェア201による攻撃の一環として、SMB認証のリクエストメッセージを送った様子を示している。この時点で、この標的コンピュータ205が攻撃を受けたことも判明していない。つまり、この標的コンピュータ205も、潜伏している状態である。
この例で、右側のSMB認証のリクエストメッセージにも、同じアカウント名「adminX」が含まれている。このように、攻撃者は、一旦入手したアカウント名を、他の感染コンピュータ203からの攻撃においても用いることがある。
盗まれたアカウント名が使い回され、又はマルウェア201の特性に起因して同じアカウント名が繰り返し使われるケースでは、既知の攻撃において用いられたアカウント名を検索キーとして、キャプチャしたパケットをチェックすれば、潜伏している感染コンピュータ203による攻撃を特定することができる。
検索キーとなる情報は、アカウント名に限らない。本実施の形態では、アカウント名以外の属性データも監視して、不正なアクセスを見分けるようにする。
パラメータの任意性が高い属性項目の場合、繰り返し出現するパラメータは、同じ要求元によって再使用されていると推測される面がある。また、パラメータの任意性が低い属性項目の場合、使用頻度が低い属性パラメータについては、特定の要求元によって限定的に使用されている可能性が高いという面がある。つまり、パラメータが同じであれば、要求元が共通であるという推測が成り立つ場合がある。尚、以下では、属性データにおけるパラメータを属性パラメータということがある。
本実施の形態では、元の感染コンピュータ203から感染経路を辿って先の感染コンピュータ203を特定するわけではないので、感染経路が隠蔽されている場合であっても、新たな感染コンピュータ203を見つけ出しやすいという面がある。
図3を用いて、マルウェア201によるリモート操作の概要について説明する。例えば、マルウェア201が、ユーザプログラムに紛れて独立したプログラムとして存在する場合がある。正常時に比べて不明なプロセスが増えている場合には、このようなマルウェア201がプロセスとして起動した可能性がある。
また、マルウェア201が、オペレーティングシステム内に注入される場合もある。このような場合には、例えばDLL(Dynamic Link Library)のようなライブラリルーチンのプログラムが追加されるが、不明のプロセスが増えるわけではない。同様に、正当なユーザプログラム内に、マルウェア201が注入される場合もある。従って、プロセスの監視だけでは、マルウェア201を見逃す懸念がある。
マルウェア201は、コマンド実行部301を利用して不正なリモート操作を試みる。つまり、マルウェア201は、正当なルートに紛れてコマンド実行部301にコマンドを発行し、間接的に標的コンピュータ205のサービス部303を操作する。又は、マルウェア201自身が、コマンド実行部301に相当する機能を備える場合もある。この場合には、マルウェア201が、コマンド実行部301の場合と同様のメッセージを、直接標的コンピュータ205のサービス部303とやり取りし、所定のコマンドに相当する処理を行う。
ここで、前提技術であるコマンド実行部301及びサービス部303の動作について説明する。コマンド実行部301及びサービス部303の動作は、コンピュータ101がマルウェア201に感染している場合でも、コンピュータ101がマルウェア201に感染していない場合であっても同様である。
コマンド実行部301は、リモート操作を行うためのリクエストメッセージを、サービス部303に送る。サービス部303は、リクエストメッセージを受けてサービスを提供する。
多くの場合コンピュータ101は、各種のコマンド実行部301及びサービス部303を備える。サービス部303は、例えば各種サービスをコントロールするサービスを提供する。他にも、ファイルアクセスのサービスを提供するサービス部303、ネットワーク共有のサービスを提供するサービス部303、あるいはレジスタ操作のサービスを提供するサービス部303などがある。
サービス部303は、オペレーティングシステム内に設けられている場合の他、ユーザプログラム内に設けられている場合もある。コマンド実行部301も、オペレーティングシステム内に設けられている場合の他、ユーザプログラム内に設けられている場合もある。
通常、コマンド実行部301は、例えばオペレーティングシステムあるいはユーザプログラムの内部又は外部のモジュールからコールされ、或いはGUI(Graphical User Interface)を介してコールされてコマンドを実行する。具体的には、コマンド実行部301は、コマンド名、あるいはコマンド名とオプションとの組み合わせを受け付ける。
本実施の形態では、コマンド実行部301はSMB及び/又はDCE/RPCに基づいて、サービス部303との間でリクエストメッセージ及びレスポンスメッセージをやり取りするものとする。1つのコマンドを実行するために行われるメッセージの交換は、1回のこともあり、複数回のこともある。
マルウェア201がオペレーティングシステムあるいはユーザプログラムの内部に侵入した場合には、マルウェア201は、内部的にコマンド実行部301をコールする。マルウェア201がオペレーティングシステムあるいはユーザプログラムの外部に存在する場合には、マルウェア201は、外部からコマンド実行部301をコールする。また、マルウェア201自身が、コマンド実行部301に相当する動作を行う場合にも、感染コンピュータ203は、SMB及び/又はDCE/RPCのプロトコルに従って、コマンドの実行に相当する処理を行うことになる。
続いて、パケットの構成について説明する。図4に、SMBプロトコルによる制御で用いられるパケットの構成を示す。以下、SMBプロトコルによる制御で用いられるパケットをSMBパケットという。図4に示すように、MAC(Media Access Control)ヘッダーには、宛先MACアドレスが設定されるフィールドと、送信元MACアドレスが設定されるフィールドとが含まれている。送信元MACアドレスは、当該パケットを送ったコンピュータ101のMACアドレスである。宛先MACアドレスは、当該パケットを受けるコンピュータ101のMACアドレスである。
また、IPヘッダーには、送信元IPアドレスが設定されるフィールドと、宛先IPアドレスが設定されるフィールドとが含まれている。送信元IPアドレスは、当該パケットを送ったコンピュータ101のIPアドレスである。宛先IPアドレスは、当該パケットを受けるコンピュータ101のIPアドレスである。
SMBパケットがTCP(Transmission Control Protocol)に従って送られる場合に、当該パケットは、TCPヘッダーを有する。SMBパケットが、UDP(User Datagram Protocol)に従って送られる場合に、当該パケットは、UDPヘッダーを有する。この例では、TCPヘッダー又はUDPヘッダーを有するという意味で、TCP/UDPヘッダーと記す。TCPヘッダー又はUDPヘッダーのいずれの場合であっても、当該ヘッダーには、送信元ポート番号が設定されるフィールドと、宛先ポート番号が設定されるフィールドとが含まれている。送信元ポート番号は、当該パケットを送り出したポートの番号である。宛先ポート番号は、当該パケットを受けるポートの番号である。
尚、この例で、NetBiosに関するヘッダーは省略する。
SMBパケットは、SMBヘッダー及びSMBボディを有する。SMBヘッダーには、プロトコルが設定されるフィールドと、オペレーションコードが設定されるフィールドと、パイプ名が設定されるフィールドとが含まれている。プロトコルには、SMBの識別子が設定される。尚、SMBの識別子は、SMBのバージョンを含む。オペレーションコードは、SMBにおけるオペレーションの識別子である。パイプ名は、データ伝送形態の一つであるパイプの名前である。パイプ名は、サービスに対して一意に定められている。従って、利用されるサービスは、パイプ名によって特定される。
SMBヘッダーには、各種の属性データが含まれる。但し、属性項目及び格納位置は、SMBパケットの種類によって異なる場合がある。SMBパケットの種類は、オペレーションコードとパイプ名との両方又は一方によって判別される。属性データの例は、後述する。尚、SMBボディに、属性データが含まれる場合もある。SMBは、ファイルアクセスのサービスもサポートする。
図5に、DCE/RPCパケットの構成を示す。以下、DCE/RPCプロトコルによる制御で用いられるパケットをDCE/RPCパケットという。
MACヘッダー、IPヘッダー及びTCP/UDPヘッダーは、図4に示したSMBパケットの場合と同様である。
DCE/RPCパケットは、DCE/RPCヘッダー及びDCE/RPCボディを有する。DCE/RPCヘッダーには、プロトコルが設定されるフィールドと、オペレーションコードが設定されるフィールドと、サービスUUID(Universally Unique Identifier)が設定されるフィールドとが含まれている。プロトコルには、DCE/RPCの識別子が設定される。オペレーションコードは、DCE/RPCにおけるオペレーションの識別子である。サービスUUIDは、サービスに対して一意に定められている。従って、利用されるサービスは、サービスUUIDによって特定される。尚、DCE/RPCは、ファイルアクセスのサービスをサポートしない。
監視装置103は、これらのSMBパケット及びDCE/RPCパケットをキャプチャし、ロギングを行う。以下、SMBパケット又はDCE/RPCパケットであるリクエストメッセージとログとの関係について説明する。図6乃至図9Bに各種リクエストメッセージとログとの関係の例を示す。
図6に、SMBプロトコルにおける認証(つまり、SMB認証)のリクエストメッセージ及び認証ログの例を示す。不正にサービス部303を利用しようとする場合に、マルウェア201は、直接的又は間接的に当該サービス部303にSMB認証のリクエストメッセージを送ることがある。
この例では、IPアドレスによってコンピュータ101を判別するので、MACアドレスについては言及しない。但し、MACアドレスによってコンピュータ101を判別するようにしてもよい。
図6に示したSMB認証のリクエストメッセージは、IPアドレス「x.x.x.1」のコンピュータ101から、IPアドレス「x.x.x.2」のコンピュータ101へ送られるものと想定する。従って、送信元IPアドレスのフィールドには「x.x.x.1」が設定され、宛先IPアドレスのフィールドには「x.x.x.2」が設定されている。
当該リクエストメッセージは、宛先のコンピュータ101におけるポート番号「P2」のポートに対して、送信元のコンピュータ101におけるポート番号「P1」のポートから送られたものと想定する。従って、送信元ポート番号のフィールドには「P1」が設定され、宛先ポート番号のフィールドには「P2」が設定されている。
この例におけるSMB認証の手順は、SMBのバージョン2に準拠するものとする。従って、プロトコルのフィールドには「SMB2」が設定されている。オペレーションコードの「0x01」は、認証の要求に相当する。プロバイダーの「NTLM(NT LAN Manager)」は、認証の方式がNTLMであることを示している。
キャプチャしたパケットに設定されているプロトコルが「SMB2」であり、同じくオペレーションコードが「0x01」であり、且つ同じくプロバイダーが「NTLM」であるという条件と合致する場合に、当該パケットは、SMB認証のリクエストメッセージに該当すると判定される。
このように、SMB認証のリクエストメッセージに該当するパケットを監視装置103で検出した場合には、当該リクエストメッセージの内容が認証ログに記録される。図6で矢印が指す認証ログには、上段のSMB認証のリクエストメッセージの内容を示す新たなレコードが設けられている。
この例における認証ログは、テーブル形式である。認証ログには、SMB認証又はDCE/RPCプロトコルにおける認証(以下、DCE/RPC認証という。)を要求するリクエストメッセージに対応するレコードが設けられる。認証ログのレコードは、日時を設定するためのフィールドと、送信元IPアドレスを設定するためのフィールドと、送信元ポート番号を設定するためのフィールドと、宛先IPアドレスを設定するためのフィールドと、宛先ポート番号を設定するためのフィールドと、認証種別を設定するためのフィールドと、属性データを設定するためのフィールドとを有している。日時は、当該パケットをキャプチャした日時である。送信元IPアドレス及び宛先IPアドレスは、当該パケットのIPヘッダーから抽出される。送信元ポート番号及び宛先ポート番号は、当該パケットのTCP/UDPヘッダーから抽出される。この例における認証種別は、SMB認証とDCE/RPC認証とのいずれかである。
この例で、属性データのフィールドには、属性項目と属性パラメータとが対で設定される。認証における属性データには、例えばドメイン名とアカウント名とが含まれる。ドメイン名とアカウント名とは、SMBヘッダーから抽出される。ドメイン名とアカウント名とを一体として扱うようにしてもよい。また、SMBヘッダーから要求側に相当するコンピュータ101のホスト名を抽出し、付属情報に加えるようにしてもよい。更に、認証方式を、認証種別又は属性データに加えるようにしてもよい。
このように、認証に関しては、認証ログに内容を記録する。一方、認証以外のコマンドに関しては、操作ログに内容を記録する。以下では、認証以外のコマンドに関するリクエストメッセージと操作ログとの例を示す。
尚、コマンドの種類によって、リクエストメッセージの送出が1回で終わる場合と、コマンドの処理が完了するまでにリクエストメッセージを複数回送出する場合とがある。以下で示す例は、いずれもリクエストメッセージを複数回送出する場合に相当する。
図7A及び図7Bに、ファイルリードのリクエストメッセージ及び操作ログの例を示す。例えば標的コンピュータ205からデータを盗み出す場合に、マルウェア201は、直接的又は間接的にファイルアクセスのサービス部303にファイルリードのリクエストメッセージを送ることがある。
図7Aの上段に示したファイルリードにおける1回目のリクエストメッセージは、IPアドレス「x.x.x.2」のコンピュータ101から、IPアドレス「x.x.x.7」のコンピュータ101へ送られるものと想定する。従って、送信元IPアドレスのフィールドには「x.x.x.2」が設定され、宛先IPアドレスのフィールドには「x.x.x.7」が設定されている。尚、図7Aの下段に示したファイルリードにおける2回目のリクエストメッセージの場合も、同様である。
図7Aの上段に示したファイルリードにおける1回目のリクエストメッセージは、宛先のコンピュータ101におけるポート番号「P4」のポートに対して、送信元のコンピュータ101におけるポート番号「P3」のポートから送られたものと想定する。従って、送信元ポート番号のフィールドには「P3」が設定され、宛先ポート番号のフィールドには「P4」が設定されている。尚、図7Aの下段に示したファイルリードにおける2回目のリクエストメッセージの場合も、同様である。
この例におけるファイルリードの手順は、SMBのバージョン1に準拠するものとする。従って、プロトコルのフィールドには「SMB」が設定されている。
1回目のリクエストメッセージにおけるオペレーションコードの「0xa2」は、NTCreateと呼ばれる。バージョン1のSMBの場合におけるオペレーションコードは、1byteである。1回目のリクエストメッセージにおけるオペレーションコード「0x01」である場合には、ファイルアクセスの要求であること意味する。2回目のリクエストメッセージにおけるオペレーションコードの「0x2e」は、ファイルアクセスの種類がファイルリードであることを示している。
1回目のリクエストメッセージに設定されているオペレーションコードが「0xa2」であり、2回目のリクエストメッセージ(1回目のリクエストメッセージと、プロトコル、送信元IPアドレス、送信元ポート番号、宛先IPアドレス及び宛先ポート番号が共通する。)に設定されているオペレーションコードが「0x2e」である場合に、これらのリクエストメッセージは、ファイルリードを要求するものであると判定される。
上述したように、認証以外のリクエストメッセージに該当するパケットを監視装置103で検出した場合には、当該リクエストメッセージの内容が操作ログに記録される。図7Bに示した操作ログには、図7Aの上段及び下段に示したファイルリードのリクエストメッセージの内容を示す新たなレコードが設けられている。
この例における操作ログは、テーブル形式である。操作ログには、SMB認証又はDCE/RPC認証以外のコマンドに対応するレコードが設けられる。操作ログのレコードは、日時を設定するためのフィールドと、送信元IPアドレスを設定するためのフィールドと、送信元ポート番号を設定するためのフィールドと、宛先IPアドレスを設定するためのフィールドと、宛先ポート番号を設定するためのフィールドと、コマンドとオプションとを設定するためのフィールドと、属性データを設定するためのフィールドとを有している。日時、送信元IPアドレス、宛先IPアドレス、送信元ポート番号及び宛先ポート番号は、認証ログの場合と同様である。
コマンドに対するオプションは任意である。つまりオプションは省かれる場合がある。オプションが省かれる場合には、コマンドとオプションとを設定するためのフィールドには、コマンドが設定されるが、オプションは設定されない。この例では、コマンド名「ファイルリード」が設定され、オプションは省かれる。
認証ログの場合と同様に、属性データのフィールドには、属性項目と属性パラメータとが対で設定される。属性項目は、コマンド(又は、コマンドとオプションとの組み合わせ)によって異なる場合がある。この例で、ファイルリードにおける属性項目は、ファイルパス及びアカウント名である。ファイルパスは、リードするファイルの格納位置及び名前を含む。アカウント名は、ファイルリードの要求元を示す。但し、ファイルリードにおける属性項目は、この例に限定されない。ファイルパスは、1回目のリクエストメッセージのSMBヘッダーから抽出される。アカウント名は、認証段階で特定されているものである。
図8A及び図8Bに、タスク登録のリクエストメッセージ及び操作ログの例を示す。所望のタスクを標的コンピュータ205で動作させようとする場合に、マルウェア201は、標的コンピュータ205にタスク登録のリクエストメッセージを送ることがある。
図8Aの上段に示したタスク登録における1回目のリクエストメッセージは、IPアドレス「x.x.x.1」のコンピュータ101から、IPアドレス「x.x.x.3」のコンピュータ101へ送られるものと想定する。従って、送信元IPアドレスのフィールドには「x.x.x.1」が設定され、宛先IPアドレスのフィールドには「x.x.x.3」が設定されている。尚、図8Aの下段に示したファイルリードにおける2回目のリクエストメッセージの場合も、同様である。
この例におけるタスク登録の手順は、SMBのバージョン2に準拠するものとする。従って、プロトコルのフィールドには「SMB2」が設定されている。
1回目のリクエストメッセージに設定されているオペレーションコードが「0x0005」であり、同じパケットに設定されているパイプ名が「atsvc」であり、且つ2回目のリクエストメッセージ(1回目のリクエストメッセージと、プロトコル、送信元IPアドレス、送信元ポート番号、宛先IPアドレス及び宛先ポート番号が共通する。)に設定されているオペレーションコードが「0x0000」である場合に、これらのリクエストメッセージは、タスク登録を要求するものであると判定される。尚、バージョン2のSMBの場合におけるオペレーションコードは、2bytesである。
図8Bに示した操作ログには、図8Aの上段及び下段に示したタスク登録のリクエストメッセージの内容を示す新たなレコードが設けられている。
日時、送信元IPアドレス、宛先IPアドレス、送信元ポート番号及び宛先ポート番号は、上述した通りである。
この例では、コマンドとオプションのフィールドには、コマンド名「タスク登録」が設定され、オプションは省かれる。
この例で、タスク登録における属性項目は、タスクパス及びアカウント名である。タスクパスは、タスクとして実行されるファイルの格納位置及び名前を含む。アカウント名は、タスク登録の要求元を示す。但し、タスク登録における属性項目は、この例に限定されない。タスクパスは、2回目のリクエストメッセージのSMBヘッダーから抽出される。アカウント名は、認証段階で特定されているものである。
更に、図9A及び図9Bに、サービス登録のリクエストメッセージ及び操作ログの例を示す。標的コンピュータ205においてサービスを利用しようとする場合に、マルウェア201は、標的コンピュータ205にサービス登録のリクエストメッセージを送ることがある。
図9Aの上段に示したサービス登録における1回目のリクエストメッセージは、IPアドレス「x.x.x.1」のコンピュータ101から、IPアドレス「x.x.x.4」のコンピュータ101へ送られるものと想定する。従って、送信元IPアドレスのフィールドには「x.x.x.1」が設定され、宛先IPアドレスのフィールドには「x.x.x.4」が設定されている。尚、図9Aの下段に示したサービス登録における2回目のリクエストメッセージの場合も、同様である。
この例におけるサービス登録の手順は、DCE/RPCに準拠するものとする。従って、プロトコルのフィールドには「DCE/RPC」が設定されている。
1回目のリクエストメッセージに設定されている第1オペレーションコードが「0x0b」であり、同じくサービスUUIDが「9844・・・1003」であり、且つ2回目のリクエストメッセージに(1回目のリクエストメッセージと、プロトコル、送信元IPアドレス、送信元ポート番号、宛先IPアドレス及び宛先ポート番号が共通する。)に設定されている第2オペレーションコードが「0x0c00」である場合に、これらのリクエストメッセージは、サービス登録を要求するものであると判定される。
図9Bに示した操作ログには、図9Aの上段及び下段に示したサービス登録のリクエストメッセージの内容を示す新たなレコードが設けられている。
日時、送信元IPアドレス、宛先IPアドレス、送信元ポート番号及び宛先ポート番号は、上述した通りである。
この例では、コマンドとオプションのフィールドには、コマンド名「サービス登録」が設定され、オプションは省かれる。
この例で、サービス登録における属性項目は、サービス名及びアカウント名である。サービス名は、利用するサービスの名前である。アカウント名は、サービス登録の要求元を示す。但し、サービス登録における属性項目は、この例に限定されない。サービス名は、2回目のリクエストメッセージのSMBヘッダーから抽出される。アカウント名は、認証段階で特定されているものである。
他のコマンドの場合にも、各コマンドに応じた所定のルールに従って、リクエストメッセージに設定されている属性データが特定される。また、所定のルールに従って、コマンドと併せてオプションを特定する場合もある。そして、操作ログには、特定されたコマンド又はコマンドとオプションとの組み合わせが設定される。更に、特定されたコマンド又はコマンドとオプションとの組み合わせに応じて、所定のルールに従って、リクエストメッセージから属性データが抽出され、操作ログに記録される。
ここでは、操作ログと別に認証ログを設ける例を示したが、認証ログを操作ログと一体としてもよい。その場合には、操作ログのレコードにおけるコマンドとオプションのフィールドに、認証ログにおける認証種別を設定するようにしてもよい。以上で、各種のリクエストメッセージとログとの関係についての説明を終える。
監視装置103についての説明に移る。図10に、監視装置103のモジュール構成例を示す。監視装置103は、ロガー1001、認証ログ記憶部1009及び操作ログ記憶部1011を有する。ロガー1001は、SMB又はDCE/RPCのリクエストメッセージに基づくロギングを行う。
ロガー1001は、キャプチャ部1003、パケット格納部1004、分析部1005、記録処理部1007及びルール記憶部1008を有する。キャプチャ部1003は、ネットワーク上を伝送するパケットをキャプチャする。パケット格納部1004は、キャプチャされたパケットを格納する。分析部1005は、所定のルールに基づいてパケットを分析する。記録処理部1007は、以下で述べる第1記録処理乃至第3記録処理を実行する。
ルール記憶部1008は、SMBプロトコルに関して、オペレーションコード及びパイプ名の組み合わせ(或いは、オペレーションコード又はパイプ名の一方)と、リモート操作のコマンド(又は、コマンドとオプションの組み合わせ)とを対応付けたルールを記憶している。ルール記憶部1008は、DCE/RPCプロトコルに関して、オペレーションコード及びサービスUUIDの組み合わせ(或いは、オペレーションコード又はサービスUUIDの一方)と、リモート操作のコマンド(又は、コマンドとオプションの組み合わせ)とを対応付けたルールを記憶している。ルール記憶部1008は、コマンドに対応する属性項目及び属性データの格納位置を定めたルールも記憶している。SMBパケットの場合、属性データの格納位置は、SMBヘッダーにおける所定位置又はSMBボディにおける所定位置を表す。DCE/RPCパケットの場合、属性データの格納位置は、DCE/RPCヘッダーにおける所定位置又はDCE/RPCボディにおける所定位置を表す。
認証ログ記憶部1009は、認証ログを記憶する。操作ログ記憶部1011は、操作ログを記憶する。
更に、監視装置103は、検出部1013、構成記憶部1015、判別部1017、感染リスト記憶部1027、標的リスト記憶部1029及び出力部1031を有する。検出部1013は、従来技術によって感染コンピュータ203を検出する。構成記憶部1015は、情報処理システムの構成データを記憶している。情報処理システムの構成データには、例えば各コンピュータ101のIPアドレス、MACアドレス又はホスト名が含まれる。判別部1017は、第1判別処理乃至第3判別処理を行う。
判別部1017は、受付部1019、特定部1021、抽出部1023及び検索部1025を有する。受付部1019は、検出部1013からアラートを受け付ける。特定部1021は、各種のデータを特定する。抽出部1023は、例えば、認証ログ又は操作ログのレコードから属性パラメータ(例えば、アカウント名、ファイル名又はサービス名)を抽出する。検索部1025は、属性パラメータを検索キーとして、認証ログ又は操作ログにおけるレコードを検索する。
感染リスト記憶部1027は、感染リストを記憶する。標的リスト記憶部1029は、標的リストを記憶する。出力部1031は、感染リスト及び/又は標的リストを出力する。
上述したロガー1001、キャプチャ部1003、分析部1005、記録処理部1007、検出部1013、判別部1017、受付部1019、特定部1021、抽出部1023、検索部1025、及び出力部1031は、ハードウエア資源(例えば、図30)と、以下で述べる処理をプロセッサに実行させるプログラムとを用いて実現される。
上述したパケット格納部1004、ルール記憶部1008、認証ログ記憶部1009、操作ログ記憶部1011、構成記憶部1015、感染リスト記憶部1027及び標的リスト記憶部1029は、ハードウエア資源(例えば、図30)を用いて実現される。
尚、検出部1013は、監視装置103の外部に設けるようにしてもよい。例えば、検出部1013を有する検出サーバを情報処理システム内に設けるようにしてもよい。その場合、受付部1019は、検出サーバに設けられた検出部1013から、ネットワークを介してアラートを受け付けるようにしてもよい。
続いて、監視装置103における処理について説明する。この例で、監視装置103は、常時ロギング処理を行う。図11に、ロギング処理フローの例を示す。キャプチャ部1003は、キャプチャ処理を開始する(S1101)。キャプチャ処理で、キャプチャ部1003は、監視装置103とネットワークとの間に設けられたポートミラーリング対応のスイッチ又はネットワークタップを介して、ネットワーク上を伝送するパケットを取り込む。取り込んだパケットは、パケット格納部1004に格納される。キャプチャ部1003は、格納したパケットに、キャプチャした日時を付するようにしてもよい。
分析部1005は、キャプチャしたパケットのうち、未処理のパケットを1つ特定する(S1103)。分析部1005は、例えばキャプチャした順にパケットを特定する。分析部1005は、分析済みのパケットを破棄するようにしてもよい。未処理のパケットが無い場合に、分析部1005は、次のパケットがキャプチャされるまで待機する。
分析部1005は、特定したパケットがSMBパケットであるか否かを判定する(S1105)。具体的には、分析部1005は、当該パケットにプロトコルがSMBであることを示すデータが設定されている場合に、当該パケットがSMBパケットであると判定する。
特定したパケットがSMBパケットであると判定した場合には、当該パケットをログ対象とするので、S1109の処理に移る。
一方、特定したパケットがSMBパケットではないと判定した場合には、分析部1005は、S1103で特定したパケットがDCE/RPCパケットであるか否かを判定する(S1107)。具体的には、分析部1005は、当該パケットにプロトコルがDCE/RPCであることを示すデータが設定されている場合に、当該パケットがDCE/RPCパケットであると判定する。
当該パケットがDCE/RPCパケットであると判定した場合には、当該パケットをログ対象とするので、S1109の処理に移る。
一方、当該パケットがDCE/RPCパケットではないと判定した場合には、当該パケットをログ対象としないので、S1103の処理に戻って、上述した処理を繰り返す。例えば、HTTP(Hypertext Transfer Protocol)のパケット及びFTP(File Transfer Protocol)のパケットは、この例におけるログ対象ではない。
分析部1005は、S1103で特定したパケットが認証のリクエストメッセージに該当するか否かを判定する(S1109)。具体的には、分析部1005は、SMBヘッダーに、認証のオペレーションコード(SessionSetup)が設定されている場合に、当該パケットがSMB認証のリクエストメッセージに該当すると判定する。また、分析部1005は、DCE/RPCヘッダーに、認証のオペレーションコード(AUTH3)が設定されている場合に、当該パケットがDCE/RPC認証のリクエストメッセージに該当すると判定する。
当該パケットが認証のリクエストメッセージに該当すると判定した場合には、記録処理部1007は、第1記録処理を実行する(S1111)。
図12に、第1記録処理フローの例を示す。記録処理部1007は、認証ログに新たなレコードを設ける(S1201)。記録処理部1007は、新たなレコードに、S1103で特定したパケットがキャプチャされた日時を設定する(S1203)。
記録処理部1007は、当該パケットのIPヘッダーから送信元IPアドレス及び宛先IPアドレスを抽出し、抽出した送信元IPアドレス及び宛先IPアドレスを、新たなレコードに設定する(S1205)。更に、記録処理部1007は、当該パケットのUDP/TCPヘッダーから送信元ポート番号及び宛先ポート番号を抽出し、抽出した送信元ポート番号及び宛先ポート番号を、新たなレコードに設定する(S1207)。
記録処理部1007は、S1109において判定した認証種別(SMB認証又はDCE/RPC認証)を、新たなレコードに設定する(S1209)。
記録処理部1007は、当該パケットのSMBヘッダー又はDCE/RPCヘッダーからドメイン名を抽出し、抽出したドメイン名を、新たなレコードの属性データのフィールドに設定する(S1211)。更に、記録処理部1007は、当該パケットのSMBヘッダー又はDCE/RPCヘッダーからアカウント名を抽出し、抽出したアカウント名を、新たなレコードの属性データのフィールドに設定する(S1213)。第1記録処理を終えると、図11に示したS1103の処理に戻って、上述した処理を繰り返す。
図11の説明に戻る。S1109において、S1103で特定したパケットが、認証のリクエストメッセージに該当しないと判定した場合には、分析部1005は、当該パケットがリモートファイルアクセスのリクエストメッセージに該当するか否かを判定する(S1113)。具体的には、分析部1005は、SMBヘッダーに、リモートファイルアクセスのオペレーションコード(NTCreate)が設定されている場合に、当該パケットが、リモートファイルアクセスのリクエストメッセージに該当すると判定する。尚、リモートファイルアクセスは、複数のリクエストメッセージによって成立する。従って、リモートファイルアクセスの所定シーケンスに従って、NTCreateが設定されているパケット(以下では、1回目のリクエストメッセージという。)に続くパケット(以下では、2回目のリクエストメッセージという。)もリモートファイルアクセスのリクエストメッセージに該当すると判定する。尚、DCE/RPCパケットの場合、リモートファイルアクセスのリクエストメッセージに該当することはない。
当該パケットがリモートファイルアクセスのリクエストメッセージに該当すると判定した場合には、記録処理部1007は、第2記録処理を実行する(S1115)。
図13に、第2記録処理フローの例を示す。第2記録処理では、1回目のリクエストメッセージ及び2回目のリクエストメッセージに基づくデータを、操作ログに設定する。分析部1005は、S1103で特定したパケットが、オペレーションコード(NTCreate)が設定されているパケット、つまり1回目のリクエストメッセージであるか否かを判定する(S1301)。
当該パケットが、1回目のリクエストメッセージであると判定した場合には、記録処理部1007は、操作ログに新たなレコードを設ける(S1303)。記録処理部1007は、新たなレコードに、当該パケットがキャプチャされた日時を設定する(S1305)。
記録処理部1007は、当該パケットのIPヘッダーから送信元IPアドレス及び宛先IPアドレスを抽出し、抽出した送信元IPアドレス及び宛先IPアドレスを、新たなレコードに設定する(S1307)。更に、記録処理部1007は、当該パケットのTCPヘッダー或いはUDPヘッダーから送信元ポート番号及び宛先ポート番号を抽出し、抽出した送信元ポート番号及び宛先ポート番号を、新たなレコードに設定する(S1309)。
記録処理部1007は、当該パケットのSMBヘッダーからファイルパスを抽出し、抽出したファイルパスを、新たなレコードの属性データのフィールドに設定する(S1313)。以上で、1回目のリクエストメッセージに基づくデータの設定を終える。そして、一旦図11に示したS1103の処理に戻って、上述した処理を繰り返す。
一方、S1301において、当該パケットが、1回目のリクエストメッセージではないと判定した場合、つまり当該パケットが、2回目のリクエストメッセージである場合には、分析部1005は、オペレーションコードに基づいてコマンド名を特定する(S1315)。例えば、オペレーションコードが「0x2e」であれば、ファイルリードのコマンドが特定される。記録処理部1007は、1回目のリクエストメッセージに基づきデータが設定されているレコードに、特定されたコマンド名を設定する(S1317)。
記録処理部1007は、認証段階(図12に示したS1213の処理)で特定されたアカウント名を認証ログから抽出し、抽出したアカウント名を、1回目のリクエストメッセージに基づきデータが設定されているレコードの属性データのフィールドに設定する(S1319)。記録処理部1007は、当該レコードを、上記認証ログのレコードに紐付けるようにしてもよい。そして、図11に示したS1103の処理に戻って、上述した処理を繰り返す。
図11の説明に戻る。S1113において、S1103で特定したパケットがリモートファイルアクセスのリクエストメッセージに該当しないと判定した場合には、分析部1005は、当該パケットがリモート操作(リモートファイルアクセスを除く。)のリクエストメッセージに該当するか否かを判定する(S1117)。具体的には、分析部1005は、SMBヘッダーに設定されているオペレーションコード及びパイプ名の組み合わせ(或いは、オペレーションコード又はパイプ名の一方)が、リモート操作として想定されるいずれかのパターンと一致する場合に、当該パケットがリモート操作のリクエストメッセージに該当すると判定する。また、分析部1005は、DCE/RPCヘッダーに設定されているオペレーションコード及びサービスUUIDの組み合わせ(或いは、オペレーションコード又はサービスUUIDの一方)が、リモート操作として想定されるいずれかのパターンと一致する場合に、当該パケットがリモート操作のリクエストメッセージに該当すると判定する。
当該パケットがリモート操作のリクエストメッセージに該当すると判定した場合には、記録処理部1007は、第3記録処理を実行する(S1119)。
この例では、1つのリクエストメッセージによって、リモート操作が成立するものと想定する。但し、リモート操作の中には、リモートファイルアクセスの場合と同様に、複数のリクエストメッセージによって成立するものもある。その場合には、リモートファイルアクセスの場合と同様に、処理を複数回に分ける。つまり、1回目のリクエストメッセージと2回目のリクエストメッセージ(3回目以降のリクエストメッセージを含む場合もある。)を、それぞれリモート操作のリクエストメッセージに該当するものとする。
図14に、第3記録処理フローの例を示す。記録処理部1007は、操作ログに新たなレコードを設ける(S1401)。記録処理部1007は、新たなレコードに、当該パケットがキャプチャされた日時を設定する(S1403)。
記録処理部1007は、当該パケットのIPヘッダーから送信元IPアドレス及び宛先IPアドレスを抽出し、抽出した送信元IPアドレス及び宛先IPアドレスを、新たなレコードに設定する(S1405)。更に、記録処理部1007は、当該パケットのUDP/TCPヘッダーから送信元ポート番号及び宛先ポート番号を抽出し、抽出した送信元ポート番号及び宛先ポート番号を、新たなレコードに設定する(S1407)。
記録処理部1007は、オペレーションコード及び/又はサービス識別子に基づいてコマンド名を特定する(S1409)。具体的には、記録処理部1007は、SMBパケットの場合には、所定のルールに従って、オペレーションコード及びパイプ名の組み合わせ(或いは、オペレーションコード又はパイプ名の一方)に対応するリモート操作のコマンド名(又は、コマンド名とオプションの組み合わせ)を特定する。また、記録処理部1007は、DCE/RPCパケットの場合には、所定のルールに従って、オペレーションコード及びサービスUUIDの組み合わせ(或いは、オペレーションコード又はサービスUUIDの一方)に対応するリモート操作のコマンド名(又は、コマンド名とオプションの組み合わせ)を特定する。
記録処理部1007は、特定したコマンド名(又は、コマンド名とオプションの組み合わせ)を、新たなレコードに設定する(S1411)。
尚、1回目のリクエストメッセージと2回目のリクエストメッセージ(3回目以降のリクエストメッセージを含む場合もある。)によって、コマンド名(又は、コマンド名とオプションの組み合わせ)を特定する場合には、第2記録処理の場合と同様に、後続のリクエストメッセージに対する処理を行う段階で、コマンド名(又は、コマンド名とオプションの組み合わせ)を特定する。
記録処理部1007は、認証段階(図12に示したS1213の処理)で特定されたアカウント名を認証ログから抽出し、抽出したアカウント名を、新たなレコードの属性データのフィールドに設定する(S1413)。記録処理部1007は、新たなレコードを、上記認証ログのレコードに紐付けるようにしてもよい。
分析部1005は、S1409で特定したコマンド名(又は、コマンド名とオプションの組み合わせ)に応じた所定のルールに従って、アカウント名以外の属性データを抽出する(S1415)。記録処理部1007は、抽出した属性データを、新たなレコードの属性データのフィールドに設定する(S1417)。
分析部1005は、SMBボディ又はDCE/RPCボディから属性データを取得するようにしてもよい。また、抽出すべき属性データが無い場合には、S1415及びS1417の処理を省略するようにしてもよい。
2回目のリクエストメッセージ(3回目以降のリクエストメッセージを含む場合もある。)に抽出すべき属性データが含まれる場合には、後続のリクエストメッセージに対する処理を行う段階で、S1415及びS1417の処理を行うようにしてもよい。
尚、後続のリクエストメッセージに対しても分析を行う場合には、リクエストメッセージの順位を判別して、各順位に応じた処理を行うようにしてもよい。第3記録処理を終えると、図11に示したS1103の処理に戻って、上述した処理を繰り返す。
図11の説明に戻る。S1117において、S1103で特定したパケットが、リモート操作のリクエストメッセージに該当しないと判定した場合には、当該パケットはログ対象に該当しないと看做す。従って、そのままS1103に示した処理に戻って、上述した処理を繰り返す。以上で、ロギング処理についての説明を終える。
続いて、メイン処理について説明する。この例では、メイン処理は、ロギング処理と並行して実行される。
図15に、メイン処理フローの例を示す。受付部1019は、待機して、感染コンピュータ203を検出したことを通知するアラートを受け付ける(S1501)。この例では、アラートに、感染コンピュータ203を特定するデータ(例えば、IPアドレス、MACアドレス又はホスト名)が含まれるものとする。
受付部1019は、感染コンピュータ203を特定するデータに併せて、判別対象とするログを特定するための時間範囲を受け付けるようにしてもよい。時間範囲は、例えば感染を検出した時刻よりも前及び後の時間帯である。あるいは、時間範囲は、感染を検出した時刻よりも前の時間帯又は後の時間帯のいずれかでもよい。時間範囲は、例えば管理者が設定してもよい。また、アラートの内容に応じて、時間範囲が決定されるようにしてもよい。
尚、S1503以降の処理を開始する契機は、アラートの受け付けに限らない。例えば、管理者の操作によって、S1503以降の処理を開始するようにしてもよい。また、アラート以外の手段によって、感染コンピュータ203を特定するデータを受け付けるようにしてもよい。例えば、管理者の操作によって、感染コンピュータ203を特定するデータを受け付けるようにしてもよい。
特定部1021は、IPアドレス以外の識別子、例えばMACアドレス又はホスト名がアラートに含まれる場合には、情報処理システムの構成データに基づいて、当該識別子に対応する感染コンピュータ203のIPアドレスを特定する(S1503)。
特定部1021は、認証ログに含まれるレコードのうち、感染コンピュータ203が要求した認証に関するレコードを特定する(S1505)。
図16に、感染コンピュータ203が要求した認証に関するレコードの例を示す。この例では、検出部1013によってIPアドレス「x.x.x.1」のコンピュータ101が感染コンピュータ203として検出され、S1505の処理において、送信元IPアドレスに感染コンピュータ203のIPアドレス「x.x.x.1」が設定されているレコードが特定されたものとする。
このレコードは、当該感染コンピュータ203が、IPアドレス「x.x.x.2」のコンピュータ101に対してSMB認証を要求したことを示している。また、このSMB認証において、ドメイン名「DomA」及びアカウント名「adminX」が用いられている。この例で、SMB認証がマルウェア201の攻撃に起因すると仮定した場合、マルウェア201は、他のコンピュータ101に対する攻撃において同様にドメイン名「DomA」及びアカウント名「adminX」を用いる可能性がある。以降の説明では、アカウント名「adminX」に着目して、類似する攻撃の痕跡を探る例について説明する。尚、宛先ポート番号及び送信元ポート番号については、図示した通りであり、説明を省略する。
図15の説明に戻る。特定部1021は、当該レコードに設定されている宛先IPアドレス、つまり認証を行ったコンピュータ101のIPアドレスを標的リストに加える(S1507)。特定部1021は、IPアドレスに加えて、当該レコードに設定されている宛先ポート番号を標的リストに加えるようにしてもよい。特定部1021は、標的リストにおいてIPアドレスが重複しないようにしてもよい。又は、特定部1021は、標的リストにおいてIPアドレスが重複した回数を記録するようにしてもよい。
そして、判別部1017は、第1判別処理を実行する(S1509)。第1判別処理において、判別部1017は、アカウント名に基づいて、感染コンピュータ203及び標的コンピュータ205を判別する。
図17A及び図17Bに、第1判別処理フローの例を示す。抽出部1023は、S1505で特定したレコードから、認証時におけるアカウント名を抽出する(S1701)。検索部1025は、抽出されたアカウント名と同じアカウント名を用いた認証に関するレコードを、認証ログにおいて検索する(S1703)。図15に示したS1501において時間範囲を受け付けている場合に、検索部1025は、当該時間範囲に含まれない日時に行われた認証に関するレコードを検索対象にしなくてもよい。
図18に、不正な認証時と同じアカウント名を用いた認証に関するレコードの例を示す。この例では、S1703において、図16に示したレコードに基づいて特定されたアカウント名「adminX」が属性データのフィールドに設定されているレコードが検索され、検索結果として3つのレコードが得られたものとする。
第1レコードは、図16に示したレコードと同一である。第2レコード及び第3レコードは、新たに特定されたものである。
第2レコードは、IPアドレス「x.x.x.2」のコンピュータ101が、感染コンピュータ203が使用したアカウント名と同じ「adminX」を用いて、IPアドレス「x.x.x.5」のコンピュータ101に対してSMB認証を要求したことを示している。この場合のSMB認証の要求は、検出部1013によって検出された感染コンピュータ203に潜んでいたマルウェア201と同種のマルウェア201による攻撃に起因する疑いがある。従って、IPアドレス「x.x.x.2」のコンピュータ101は、潜伏していた感染コンピュータ203であり、IPアドレス「x.x.x.5」のコンピュータ101は、潜伏していた標的コンピュータ205であると推定される。推定の確度は、マルウェア201の特性に依存する面があるので、ここでは推定の確度について、これ以上述べない。また、以降で説明する推定についても同様である。
第3レコードは、IPアドレス「x.x.x.3」のコンピュータ101が、感染コンピュータ203が使用したアカウント名と同じ「adminX」を用いて、IPアドレス「x.x.x.6」のコンピュータ101に対してDCE/RPC認証を要求したことを示している。この場合のDCE/RPC認証の要求は、第2レコードの場合と同様に、検出部1013によって検出された感染コンピュータ203に潜んでいたマルウェア201と同種のマルウェア201による攻撃に起因する疑いがある。従って、IPアドレス「x.x.x.3」のコンピュータ101は、潜伏していた感染コンピュータ203であり、IPアドレス「x.x.x.6」のコンピュータ101は、潜伏していた標的コンピュータ205であると推定される。
図17Aの説明に戻る。特定部1021は、図17AのS1703で検索されたレコードに設定されている送信元IPアドレスを感染リストに加える(S1705)。複数のレコードが検索された場合には、特定部1021は、各レコードに設定されている送信元IPアドレスを感染リストに加える。特定部1021は、IPアドレスに加えて、送信元ポート番号を感染リストに加えるようにしてもよい。特定部1021は、感染リストにおいてIPアドレスが重複しないようにしてもよい。又は、特定部1021は、感染リストにおいてIPアドレスが重複した回数を記録するようにしてもよい。
特定部1021は、図17AのS1703で検索されたレコードに設定されている宛先IPアドレスを標的リストに加える(S1707)。複数のレコードが検索された場合には、特定部1021は、各レコードに設定されている宛先IPアドレスを感染リストに加える。特定部1021は、IPアドレスに加えて、宛先ポート番号を標的リストに加えるようにしてもよい。特定部1021は、感染リストにおいてIPアドレスが重複しないようにしてもよい。又は、特定部1021は、感染リストにおいてIPアドレスが重複した回数を記録するようにしてもよい。
更に、検索部1025は、S1701で抽出されたアカウント名と同じアカウント名を用いたリモート操作に関するレコードを、操作ログにおいて検索する(S1709)。図15に示したS1501において時間範囲を受け付けている場合には、検索部1025は、当該時間範囲に含まれない日時に行われたリモート操作に関するレコードを検索対象にしなくてもよい。
図19に、不正な認証時と同じアカウント名を用いたリモート操作に関するレコードの例を示す。この例では、S1709において、図16に示したレコードに基づいて特定されたアカウント名「adminX」が属性データのフィールドに設定されているレコードが検索され、検索結果として3つのレコードが得られたものとする。
第1レコードは、IPアドレス「x.x.x.2」のコンピュータ101が、感染コンピュータ203が使用したアカウント名と同じ「adminX」を用いて、IPアドレス「x.x.x.7」のコンピュータ101に対してファイルリードを実行したことを示している。この場合のファイルリードは、検出部1013によって検出された感染コンピュータ203に潜んでいたマルウェア201と同種のマルウェア201による攻撃に起因する疑いがある。従って、IPアドレス「x.x.x.2」のコンピュータ101は、潜伏していた感染コンピュータ203であり、IPアドレス「x.x.x.7」のコンピュータ101は、潜伏していた標的コンピュータ205であると推定される。
第2レコードは、IPアドレス「x.x.x.1」のコンピュータ101が、感染コンピュータ203が使用したアカウント名と同じ「adminX」を用いて、IPアドレス「x.x.x.3」のコンピュータ101に対してタスク登録を実行したことを示している。この場合のタスク登録は、検出部1013によって検出された感染コンピュータ203に潜んでいたマルウェア201による攻撃に起因する疑いがある。従って、IPアドレス「x.x.x.3」のコンピュータ101は、潜伏していた標的コンピュータ205であると推定される。
第3レコードは、IPアドレス「x.x.x.5」のコンピュータ101が、感染コンピュータ203が使用したアカウント名と同じ「adminX」を用いて、IPアドレス「x.x.x.9」のコンピュータ101に対してファイルライトを実行したことを示している。この場合のファイルライトは、検出部1013によって検出された感染コンピュータ203に潜んでいたマルウェア201と同種のマルウェア201による攻撃に起因する疑いがある。従って、IPアドレス「x.x.x.5」のコンピュータ101は、潜伏していた感染コンピュータ203であり、IPアドレス「x.x.x.9」のコンピュータ101は、潜伏していた標的コンピュータ205であると推定される。
図17Aの説明に戻る。特定部1021は、検索されたレコードに設定されている送信元IPアドレスを、S1705の処理の場合と同様に、感染リストに加える(S1711)。複数のレコードが検索された場合には、特定部1021は、各レコードに設定されている送信元IPアドレスを感染リストに加える。
更に、特定部1021は、検索されたレコードに設定されている宛先IPアドレスを、S1707の処理の場合と同様に、標的リストに加える(S1713)。複数のレコードが検索された場合には、特定部1021は、各レコードに設定されている宛先IPアドレスを標的リストに加える。そして、端子Aを介して、図17Bに示した処理に移る。
検索部1025は、情報処理システムに含まれる各コンピュータ101からコンピュータログを収集し、S1701で抽出されたアカウント名と同じアカウント名を用いたイベントに関するレコードを、収集した各コンピュータログにおいて検索する(S1715)。図15に示したS1501において時間範囲を受け付けている場合には、検索部1025は、当該時間範囲に含まれない日時に発生したイベントに関するレコードを検索対象にしなくてもよい。
尚、コンピュータログは、コンピュータ101におけるオペレーティングシステムのロガーによって、当該コンピュータ101において発生したイベントを記録したものである。当該ロガーに、プロセスに関するイベントを記録するように設定しておけば、例えばプロセス起動の内容が記録される。また、当該ロガーに、ファイルアクセスを記録するように設定しておけば、ファイルアクセスの内容が記録される。
図20に、不正な認証時と同じアカウント名を用いたイベントに関するレコードの例を示す。この例におけるコンピュータログは、テーブル形式である。この例におけるコンピュータログには、コンピュータ101において発生したイベントに対応するレコードが設けられる。コンピュータログのレコードは、日時を設定するためのフィールドと、イベント種別を設定するためのフィールドと、アカウント名を設定するためのフィールドと、ドメイン名を設定するためのフィールドと、属性データを設定するためのフィールドとを有している。コンピュータログにおける日時は、イベントが発生した日時を示す。アカウント名及びドメイン名は、イベントの要求時に用いられたものである。属性データは、イベントによって異なる場合がある。また、イベントによっては属性データが無いこともある。
この例では、S1715において、図16に示したレコードの属性データのフィールドに設定されているアカウント名と同じ「adminX」がアカウント名のフィールドに設定されているレコードが検索され、検索結果として2つのレコードが得られたものとする。
図20に示したレコードは、いずれもIPアドレス「x.x.x.5」のコンピュータ101におけるコンピュータログに含まれていたものとする。
第1レコードにおけるイベントであるログオンについて、いずれのタイプのログオンであるかは特定されない。但し、このログオンが、SMB認証又はDCE/RPC認証に相当する可能性がある。そして、IPアドレス「x.x.x.2」のコンピュータ101が、感染コンピュータ203が使用したアカウント名と同じ「adminX」を用いて、IPアドレス「x.x.x.5」のコンピュータ101に対して認証を要求したことを示している。
従って、当該ログオンは、検出部1013によって検出された感染コンピュータ203に潜んでいたマルウェア201と同種のマルウェア201による攻撃に起因する疑いがある。ここでは、IPアドレス「x.x.x.2」のコンピュータ101は、潜伏していた感染コンピュータ203であり、IPアドレス「x.x.x.5」のコンピュータ101は、潜伏していた標的コンピュータ205であると推定する。尚、推定の確度は、マルウェア201の特性及びコンピュータ101の運用形態などの諸条件に依存する面があるので、ここでは推定の確度について、これ以上述べない。
第2レコードにおけるイベントであるログオフについては、この例で判別の対象としない。
図17Bの説明に戻る。特定部1021は、検索されたレコードに設定されている要求元IPアドレスを感染リストに加える(S1717)。複数のレコードが検索された場合には、特定部1021は、各レコードに設定されている要求元IPアドレスを感染リストに加える。検索されたレコードに要求元IPアドレスが設定されていない場合には、S1717の処理は省いてもよい。
特定部1021は、S1715で検索されたレコードを含むコンピュータログを生成したコンピュータ101、つまり当該レコードに示されたイベントを実行したコンピュータ101のIPアドレスを標的リストに加える(S1719)。複数のレコードが検索された場合には、特定部1021は、各レコードについて上記コンピュータ101のIPアドレスを標的リストに加える。第1判別処理を終えると、図15に示したS1511の処理に戻る。
図15の説明に戻る。特定部1021は、感染コンピュータ203が要求したリモート操作のうち、不正と見込まれるコマンドのレコードを特定する(S1511)。操作ログには、正当なアクセスに基づくレコードも含まれているので、本実施の形態では、不正なアクセスに基づく可能性が比較的高いと想定されるレコードに絞り込むようにする。
この例では、タスク登録及びサービス登録のコマンドに関するレコードを特定する。タスク登録及びサービス登録は、通常の使用態様において実行されることは多くなく、マルウェア201によるコマンドである可能性が高いという推定がされるものとする。
図21に、感染コンピュータ203が要求した不正なリモート操作に関するレコードの例を示す。この例では、検出部1013によってIPアドレス「x.x.x.1」のコンピュータ101が感染コンピュータ203として検出され、S1511の処理において、送信元IPアドレスに感染コンピュータ203のIPアドレス「x.x.x.1」が設定されている2つのレコードが特定されたものとする。
第1レコードは、当該感染コンピュータ203が、IPアドレス「x.x.x.3」のコンピュータ101に対してタスク登録を実行したことを示している。また、このタスク登録において、タスクパス「c:mware.exe」が用いられている。この例で、タスク登録がマルウェア201の攻撃に起因すると仮定した場合、マルウェア201は、他のコンピュータ101に対する攻撃において同様のタスクパス「c:mware.exe」又はタスクパスに含まれるファイル名「mware.exe」を用いる可能性がある。以降の説明では、ファイル名「mware.exe」に着目して、類似する攻撃の痕跡を探る例について説明する。
第2レコードは、当該感染コンピュータ203が、IPアドレス「x.x.x.4」のコンピュータ101に対してサービス登録を実行したことを示している。また、このサービス登録において、サービス名「ServiceY」が用いられている。この例で、サービス登録がマルウェア201の攻撃に起因すると仮定した場合、マルウェア201は、他のコンピュータ101に対する攻撃において同様にサービス名「ServiceY」を用いる可能性がある。後の説明では、サービス名「ServiceY」に着目して、類似する攻撃の痕跡を探る例について説明する。
レコードを絞り込む条件としてのコマンドの種類は、この例に限らない。例えば、アカウント登録、ファイルライト、ファイルリード、Windowsネットワーク情報の変更、サービス起動、サービス停止、サービス削除、タスク起動、タスク停止、タスク削除、レジストリ登録、レジストリ変更又はレジストリ削除を条件としてレコードを絞り込むようにしてもよい。
レコードを絞り込む条件は、例えば、ドメイン名、アカウント名、ファイルパス、ファイル名、ファイルのハッシュ値、サービス名、タスク名、レジストリキー名、レジストリに設定されるパラメータのような属性項目に対する属性パラメータを限定するものであってもよい。
また、レコードを絞り込む条件は、コマンドの条件と属性データの条件とを組み合わせるものであってもよい。
図15の説明に戻る。特定部1021は、S1511で特定したレコードに設定されている宛先IPアドレス、つまりリモート操作されたコンピュータ101のIPアドレスを、S1507の処理の場合と同様に、標的リストに加える(S1513)。
判別部1017は、第2判別処理を実行する(S1515)。第2判別処理において、判別部1017は、ファイル名に基づいて、感染コンピュータ203及び標的コンピュータ205を判別する。
図22に、第2判別処理フローの例を示す。抽出部1023は、S1511で特定したレコードにおける属性データのフィールドから、ファイル名を抽出する(S2201)。つまり、抽出部1023は、不正と見込まれるリモート操作における属性データに含まれるファイル名を得る。
検索部1025は、S2201で抽出されたファイル名と同じファイル名を用いたリモート操作に関するレコードを、操作ログにおいて検索する(S2203)。
図23に、不正なリモート操作時と同じファイル名を用いたリモート操作に関するレコードの例を示す。この例では、S2203において、図21に示した第1レコードに基づき特定されたファイル名「mware.exe」を含む属性パラメータが属性データのフィールドに設定されているレコードが検索され、検索結果として4つのレコードが得られたものとする。
図23に示した第1レコードは、図21に示した第1レコードと同一である。図23に示した第2レコード乃至第4レコードは、新たに特定されたものである。
第2レコードは、IPアドレス「x.x.x.2」のコンピュータ101が、感染コンピュータ203が使用したファイル名と同じ「mware.exe」を含むファイルパスを用いて、IPアドレス「x.x.x.8」のコンピュータ101に対してファイルライトを実行したことを示している。この場合のファイルライトは、検出部1013によって検出された感染コンピュータ203に潜んでいたマルウェア201と同種のマルウェア201による攻撃に起因する疑いがある。従って、IPアドレス「x.x.x.2」のコンピュータ101は、潜伏していた感染コンピュータ203であり、IPアドレス「x.x.x.8」のコンピュータ101は、潜伏していた標的コンピュータ205であると推定される。
第3レコードは、IPアドレス「x.x.x.5」のコンピュータ101が、感染コンピュータ203が使用したファイル名と同じ「mware.exe」を含むファイルパスを用いて、IPアドレス「x.x.x.9」のコンピュータ101に対してファイルライトを実行したことを示している。この場合のファイルライトは、検出部1013によって検出された感染コンピュータ203に潜んでいたマルウェア201と同種のマルウェア201による攻撃に起因する疑いがある。従って、IPアドレス「x.x.x.5」のコンピュータ101は、潜伏していた感染コンピュータ203であり、IPアドレス「x.x.x.9」のコンピュータ101は、潜伏していた標的コンピュータ205であると推定される。
第4レコードは、IPアドレス「x.x.x.5」のコンピュータ101が、感染コンピュータ203が使用したファイル名と同じ「mware.exe」を含むスケジュールパスを用いて、IPアドレス「x.x.x.9」のコンピュータ101に対してタスクのスケジュールを実行したことを示している。この場合のタスクのスケジュールは、検出部1013によって検出された感染コンピュータ203に潜んでいたマルウェア201と同種のマルウェア201による攻撃に起因する疑いがある。従って、IPアドレス「x.x.x.5」のコンピュータ101は、潜伏していた感染コンピュータ203であり、IPアドレス「x.x.x.9」のコンピュータ101は、潜伏していた標的コンピュータ205であると推定される。
図22の説明に戻る。特定部1021は、検索されたレコードに設定されている送信元IPアドレスを、S1705の処理の場合と同様に、感染リストに加える(S2205)。複数のレコードが検索された場合には、特定部1021は、各レコードに設定されている送信元IPアドレスを感染リストに加える。
更に、特定部1021は、検索されたレコードに設定されている宛先IPアドレスを、S1707の処理の場合と同様に、標的リストに加える(S2207)。複数のレコードが検索された場合には、特定部1021は、各レコードに設定されている宛先IPアドレスを標的リストに加える。
更に、検索部1025は、S2201で抽出されたファイル名と同じファイル名を用いたイベントに関するレコードを、S1715で収集した各コンピュータログにおいて検索する(S2209)。
図24に、不正なリモート操作時と同じファイル名を用いたイベントに関するレコードの例を示す。この例では、S2209において、図21に示した第1レコードに基づいて特定されたファイル名「mware.exe」を含む属性パラメータが属性データのフィールドに設定されているレコードが検索され、検索結果として1つのレコードが得られたものとする。また、図24に示したレコードは、IPアドレス「x.x.x.9」のコンピュータ101におけるコンピュータログに含まれていたものとする。
このレコードは、検出部1013によって検出された感染コンピュータ203が使用したファイル名と同じ「mware.exe」によって特定されるプロセスが起動されたことを示している。但し、リモート操作によって当該プロセスが起動されたか否かは不明である。
但し、検出部1013によって検出された感染コンピュータ203に潜んでいたマルウェア201と同種のマルウェア201による攻撃に起因する疑いがある。ここでは、IPアドレス「x.x.x.9」のコンピュータ101は、潜伏していた標的コンピュータ205であると推定する。尚、上述の例と同様に、ここでは推定の確度について、これ以上述べない。
図22の説明に戻る。特定部1021は、S2209で検索されたレコードに設定されている要求元IPアドレスを、感染リストに加える(S2211)。複数のレコードが検索された場合には、特定部1021は、各レコードに設定されている要求元IPアドレスを感染リストに加える。検索されたレコードに要求元IPアドレスが設定されていない場合には、S2211の処理は省いてもよい。
更に、特定部1021は、S2209で検索されたレコードを含むコンピュータログを生成したコンピュータ101、つまり当該レコードに示されたイベントを実行したコンピュータ101のIPアドレスを標的リストに加える(S2213)。複数のレコードが検索された場合には、特定部1021は、各レコードについて上記コンピュータ101のIPアドレスを標的リストに加える。第2判別処理を終えると、図15に示したS1517の処理に戻る。
図15の説明に戻る。判別部1017は、第3判別処理を実行する(S1517)。第3判別処理において、判別部1017は、サービス名に基づいて、感染コンピュータ203及び標的コンピュータ205を判別する。
図25に、第3判別処理フローの例を示す。抽出部1023は、S1511で特定したレコードにおける属性データのフィールドから、サービス名を抽出する。つまり、抽出部1023は、不正と見込まれるリモート操作における属性データに含まれるサービス名を得る(S2501)。
検索部1025は、S2501で抽出されたサービス名と同じサービス名を用いたリモート操作に関するレコードを、操作ログにおいて検索する(S2503)。
図26に、不正なリモート操作時と同じサービス名を用いたリモート操作に関するレコードの例を示す。この例では、S2503において、図21に示した第2レコードに基づいて特定されたサービス名「ServiceY」が属性データのフィールドに設定されているレコードが検索され、検索結果として3つのレコードが得られたものとする。
図26に示した第1レコードは、図21に示した第2レコードと同一である。図26に示した第2レコード及び第3レコードは、新たに特定されたものである。
第2レコードは、IPアドレス「x.x.x.3」のコンピュータ101が、感染コンピュータ203が使用したサービス名と同じ「ServiceY」を用いて、IPアドレス「x.x.x.6」のコンピュータ101に対してサービス登録を実行したことを示している。この場合のサービス登録は、検出部1013によって検出された感染コンピュータ203に潜んでいたマルウェア201と同種のマルウェア201による攻撃に起因する疑いがある。従って、IPアドレス「x.x.x.3」のコンピュータ101は、潜伏していた感染コンピュータ203であり、IPアドレス「x.x.x.6」のコンピュータ101は、潜伏していた標的コンピュータ205であると推定される。
第3レコードは、IPアドレス「x.x.x.3」のコンピュータ101が、感染コンピュータ203が使用したサービス名と同じ「ServiceY」を用いて、IPアドレス「x.x.x.6」のコンピュータ101に対してサービス起動を実行したことを示している。この場合のサービス起動は、検出部1013によって検出された感染コンピュータ203に潜んでいたマルウェア201と同種のマルウェア201による攻撃に起因する疑いがある。従って、IPアドレス「x.x.x.3」のコンピュータ101は、潜伏していた感染コンピュータ203であり、IPアドレス「x.x.x.6」のコンピュータ101は、潜伏していた標的コンピュータ205であると推定される。
図25の説明に戻る。特定部1021は、検索されたレコードに設定されている送信元IPアドレスを、S1705の処理の場合と同様に、感染リストに加える(S2505)。複数のレコードが検索された場合には、特定部1021は、各レコードに設定されている送信元IPアドレスを感染リストに加える。
更に、特定部1021は、検索されたレコードに設定されている宛先IPアドレスを、S1707の処理の場合と同様に、標的リストに加える(S2507)。複数のレコードが検索された場合には、特定部1021は、各レコードに設定されている宛先IPアドレスを標的リストに加える。
また、検索部1025は、S2501で抽出されたサービス名と同じサービス名を用いたイベントに関するレコードを、S1715で収集した各コンピュータログにおいて検索する(S2509)。
特定部1021は、検索されたレコードに設定されている要求元IPアドレスを、感染リストに加える(S2511)。複数のレコードが検索された場合には、特定部1021は、各レコードに設定されている要求元IPアドレスを感染リストに加える。検索されたレコードに要求元IPアドレスが設定されていない場合には、S2511の処理は省いてもよい。
更に、特定部1021は、S2509で検索されたレコードを含むコンピュータログを生成したコンピュータ101、つまり当該レコードに示されたイベントを実行したコンピュータ101のIPアドレスを標的リストに加える(S2513)。複数のレコードが検索された場合には、特定部1021は、各レコードについて上記コンピュータ101のIPアドレスを標的リストに加える。第3判別処理を終えると、図15に示したS1519の処理に戻る。
図15の説明に戻る。出力部1031は、感染リスト及び/又は標的リストを出力する(S1519)。この例では、感染リストに含まれる感染コンピュータ203のIPアドレス及び/又は標的リストに含まれる感染コンピュータ203のIPアドレスの一部又は全部を出力する。出力の形態は、任意であり、例えば画面への表示、通知などの送信、記憶媒体への書き込み又はレポートの印刷などである。出力部1031は、例えば感染リストにより特定される感染コンピュータ203にアラートを通知するようにしてもよい。出力部1031は、同様に標的リストにより特定される標的コンピュータ205にアラートを通知するようにしてもよい。
図27に、上述した判別結果の例を模式的に示す。検出した認証及びリモート操作について、発生順に述べる。(1)時刻T1に、IPアドレス「x.x.x.1」のコンピュータ101が、IPアドレス「x.x.x.2」のコンピュータ101に対して、SMB認証を要求した。(2)時刻T2に、IPアドレス「x.x.x.2」のコンピュータ101が、IPアドレス「x.x.x.7」のコンピュータ101に対して、ファイルリードを実行した。(3)時刻T3に、IPアドレス「x.x.x.1」のコンピュータ101が、IPアドレス「x.x.x.3」のコンピュータ101に対して、タスク登録を実行した。(4)時刻T4に、IPアドレス「x.x.x.1」のコンピュータ101が、IPアドレス「x.x.x.4」のコンピュータ101に対して、サービス登録を実行した。(5)時刻T5に、IPアドレス「x.x.x.2」のコンピュータ101が、IPアドレス「x.x.x.5」のコンピュータ101に対して、SMB認証を要求した。(6)時刻T6に、IPアドレス「x.x.x.3」のコンピュータ101が、IPアドレス「x.x.x.6」のコンピュータ101に対して、DCE/RPC認証を要求した。(7)時刻T7に、IPアドレス「x.x.x.2」のコンピュータ101が、IPアドレス「x.x.x.8」のコンピュータ101に対して、ファイルライトを実行した。(8)時刻T8に、IPアドレス「x.x.x.5」のコンピュータ101が、IPアドレス「x.x.x.9」のコンピュータ101に対して、ファイルライトを実行した。(9)時刻T9に、IPアドレス「x.x.x.3」のコンピュータ101が、IPアドレス「x.x.x.6」のコンピュータ101に対して、サービス登録を実行した。(10)時刻T10に、IPアドレス「x.x.x.3」のコンピュータ101が、IPアドレス「x.x.x.6」のコンピュータ101に対して、サービス起動を実行した。(11)時刻T11に、IPアドレス「x.x.x.5」のコンピュータ101が、IPアドレス「x.x.x.9」のコンピュータ101に対して、タスクのスケジュールを実行した。(12)時刻T12に、IPアドレス「x.x.x.12」のコンピュータ101が、プロセス起動を実行した。但し、リモート操作によるプロセス起動であるか否かは不明である。
尚、以上の例は、実際の事象を示したものではない。説明の便宜のため採用した例である。従って、実際の事象とは異なる面があるかも知れない。
そして、これらの事象に基づいて、IPアドレス「x.x.x.1」のコンピュータ101、IPアドレス「x.x.x.2」のコンピュータ101、IPアドレス「x.x.x.3」のコンピュータ101及びIPアドレス「x.x.x.5」のコンピュータ101が感染コンピュータ203に該当する疑いがあると判定された。また、IPアドレス「x.x.x.4」のコンピュータ101、IPアドレス「x.x.x.6」のコンピュータ101、IPアドレス「x.x.x.7」のコンピュータ101、IPアドレス「x.x.x.8」のコンピュータ101、及びIPアドレス「x.x.x.9」のコンピュータ101が標的コンピュータ205に該当する疑いがあると判定された。
以上の例で、上述した第1判別処理では、アカウント名によって、不正の疑いがある認証のレコード及びリモート操作のレコードを検索した。上述した第2判別処理では、ファイル名によって、不正の疑いがあるリモート操作のレコードを検索した。また、上述した第3判別処理では、サービス名によって、不正の疑いがあるリモート操作のレコードを検索した。但し、他の属性項目によって、認証のレコード及び/又はリモート操作のレコードを検索するようにしてもよい。例えば、属性データに含まれるドメイン名、ファイルパス、ファイルのハッシュ値、タスク名、レジストリキー名又はレジストリに設定されるパラメータなどを、検索キーとしてもよい。尚、ドメイン名及びアカウント名は、認証又はリモート操作の要求元を特定する属性項目の例である。また、ファイルパス、ファイル名、ファイルのハッシュ値、サービス名、タスク名、レジストリキー名及びレジストリに設定されるパラメータは、リモート操作の対象又は内容を特定する属性項目の例である。
また、特定のコマンドに係るレコードに限って、検索対象とするようにしてもよい。
更に、再帰的に判別処理を行うようにしてもよい。例えば、感染リストに加えられた感染コンピュータ203のIPアドレスに基づいて、改めて図15に示したS1505乃至S1517の処理を行うようにしてもよい。このようにすれば、当初抽出されなかった検索キーに基づいて、更に感染コンピュータ203及び標的コンピュータ205を見つけ出すことができる。
コンピュータ101を識別するデータとして、IPアドレスに代えて、MACアドレス又はホスト名を用いるようにしてもよい。IPアドレス及びMACアドレスを用いるようにしてもよい。IPアドレス及びホスト名を用いるようにしてもよい。IPアドレス、MACアドレス及びホスト名を用いるようにしてもよい。
本実施の形態によれば、サイバー攻撃による侵害範囲を特定しやすくなる。具体的には、感染コンピュータ203と類似する動きに基づいて、他の感染コンピュータ203及び/又は標的コンピュータ205を判別できる。
また、不正の可能性が高いコマンドの実行時に送られたリクエストメッセージから検索キーとなる属性パラメータを抽出するので、判別の精度がより高まる。
また、アカウント名を検索キーとするので、比較的広範にマルウェア201による攻撃を監視できる。
また、ファイル名を検索キーとするので、例えばデータ共有に基づくマルウェア201の攻撃を監視することができる。
また、サービスを検索キーとするので、各種のサービスを利用するマルウェア201の攻撃を監視することができる。
[実施の形態2]
本実施の形態では、不正と見込まれるコマンドと属性項目との組み合わせを検索キーとして抽出し、操作ログのレコードを検索する例について説明する。
図28に、実施の形態2に係る第2判別処理フローの例を示す。本実施の形態では、図22に示した第2判別処理に代えて、図28に示した第2判別処理を実行する。
抽出部1023は、S1511で特定したレコードにおける属性データのフィールドからファイル名を抽出し、更に当該レコードからコマンド名を抽出する(S2801)。
検索部1025は、S2801で抽出されたファイル名と同じファイル名を属性データのフィールドに含み、且つS2801で抽出されたコマンド名と同じコマンド名を含むレコードを、操作ログにおいて検索する(S2803)。
S2205乃至S2213における処理は、図22の場合と同様である。
図29に、実施の形態2に係る第3判別処理フローの例を示す。本実施の形態では、図25に示した第3判別処理に代えて、図29に示した第3判別処理を実行する。
抽出部1023は、S1511で特定したレコードにおける属性データのフィールドからサービス名を抽出し、更に当該レコードからコマンド名を抽出する(S2901)。
検索部1025は、S2901で抽出されたサービス名と同じサービス名を属性データのフィールドに含み、且つS2901で抽出されたコマンド名と同じコマンド名を含むレコードを、操作ログにおいて検索する(S2903)。
S2505乃至S2513における処理は、図25の場合と同様である。
本実施の形態によれば、マルウェア201の特性として、コマンドと属性パラメータとの間に関連性がある場合に、判別の精度がより高まる。
以上本発明の実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、上述の機能ブロック構成はプログラムモジュール構成に一致しない場合もある。
また、上で説明した各記憶領域の構成は一例であって、上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ、処理の順番を入れ替えることや複数の処理を並列に実行させるようにしても良い。
なお、上で述べた監視装置103は、コンピュータ装置であって、図30に示すように、メモリ2501とCPU(Central Processing Unit)2503とハードディスク・ドライブ(HDD:Hard Disk Drive)2505と表示装置2509に接続される表示制御部2507とリムーバブル・ディスク2511用のドライブ装置2513と入力装置2515とネットワークに接続するための通信制御部2517とがバス2519で接続されている。オペレーティング・システム(OS:Operating System)及び本実施例における処理を実施するためのアプリケーション・プログラムは、HDD2505に格納されており、CPU2503により実行される際にはHDD2505からメモリ2501に読み出される。CPU2503は、アプリケーション・プログラムの処理内容に応じて表示制御部2507、通信制御部2517、ドライブ装置2513を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ2501に格納されるが、HDD2505に格納されるようにしてもよい。本発明の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク2511に格納されて頒布され、ドライブ装置2513からHDD2505にインストールされる。インターネットなどのネットワーク及び通信制御部2517を経由して、HDD2505にインストールされる場合もある。このようなコンピュータ装置は、上で述べたCPU2503、メモリ2501などのハードウエアとOS及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
以上述べた本発明の実施の形態をまとめると、以下のようになる。
本実施の形態に係るネットワーク監視方法は、(A)ネットワークからキャプチャされたパケットから、送信元コンピュータの識別子と、宛先コンピュータの識別子とを抽出し、当該送信元コンピュータによる当該宛先コンピュータに対するリモート操作における属性パラメータを特定し、当該送信元コンピュータの識別子、当該宛先コンピュータの識別子及び当該属性パラメータを含む記録を蓄積する蓄積処理と、(B)送信元コンピュータの識別子が感染コンピュータの識別子に該当している記録から、属性パラメータを抽出する抽出処理と、(C)抽出された属性パラメータを含む記録を検索する検索処理と、(D)検索された上記記録に含まれる送信元コンピュータの識別子又は宛先コンピュータの識別子を特定する処理とを含む。
このようにすれば、サイバー攻撃による侵害範囲を特定しやすくなる。
更に、上記蓄積処理において、上記パケットから属性パラメータを抽出するようにしてもよい。
このようにすれば、例えば認証要求のリクエストメッセージに相当するパケットからアカウント名を抽出できる。
更に、上記蓄積処理において、リモート操作のプロトコルに従って上記パケットより先行したパケットから予め抽出しておいた属性パラメータを用いるようにしてもよい。
このようにすれば、例えばファイルリードのリクエストメッセージに相当するパケットからアカウント名を抽出できる。
更に、上記蓄積処理において、リモート操作によって実行されたコマンドを特定し、特定された当該コマンドの識別データを上記記録に含めるようにしてもよい。また、上記抽出処理において、所定のコマンドの識別データを含み、且つ送信元コンピュータの識別子が感染コンピュータの識別子に該当している記録から、属性パラメータを抽出するようにしてもよい。
このようにすれば、不正の可能性が高いコマンドの実行時に送られたリクエストメッセージから検索キーとなる属性パラメータを抽出するので、判別の精度がより高まる。
更に、上記抽出処理において、属性パラメータとともに、上記識別データを抽出するようにしてもよい。また、上記検索処理において、抽出された属性パラメータとともに、抽出された上記識別データを含む記録を検索するようにしてもよい。
このようにすれば、マルウェアの特性として、コマンドと属性パラメータとの間に関連性がある場合に、判別の精度がより高まる。
更に、属性パラメータは、アカウント名であってもよい。
このようにすれば、リモート操作においてアカウント名を用いる機会は多いので、比較的広範にマルウェアによる攻撃を監視できる。
更に、属性パラメータは、ファイル名であってもよい。
このようにすれば、例えばデータ共有に基づくマルウェアの攻撃を監視することができる。
更に、属性パラメータは、サービス名であってもよい。
このようにすれば、各種のサービスを利用するマルウェアの攻撃を監視することができる。
なお、上記方法による処理をコンピュータに行わせるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、CD−ROM、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納されるようにしてもよい。尚、中間的な処理結果は、一般的にメインメモリ等の記憶装置に一時保管される。
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
ネットワークからキャプチャされたパケットから、送信元コンピュータの識別子と、宛先コンピュータの識別子とを抽出し、当該送信元コンピュータによる当該宛先コンピュータに対するリモート操作における属性パラメータを特定し、当該送信元コンピュータの識別子、当該宛先コンピュータの識別子及び当該属性パラメータを含む記録を蓄積する蓄積処理と、
前記送信元コンピュータの識別子が感染コンピュータの識別子に該当している記録から、前記属性パラメータを抽出する抽出処理と、
抽出された前記属性パラメータを含む記録を検索する検索処理と、
検索された前記記録に含まれる前記送信元コンピュータの識別子又は前記宛先コンピュータの識別子を特定する処理と
を含み、コンピュータにより実行されるネットワーク監視方法。
(付記2)
前記蓄積処理において、前記パケットから前記属性パラメータを抽出する
付記1記載のネットワーク監視方法。
(付記3)
前記蓄積処理において、前記リモート操作のプロトコルに従って前記パケットより先行したパケットから予め抽出しておいた前記属性パラメータを用いる
付記1記載のネットワーク監視方法。
(付記4)
前記蓄積処理において、前記リモート操作によって実行されたコマンドを特定し、特定された当該コマンドの識別データを前記記録に含め、
前記抽出処理において、所定のコマンドの識別データを含み、且つ前記送信元コンピュータの識別子が前記感染コンピュータの識別子に該当している記録から、前記属性パラメータを抽出する
付記1乃至3のいずれか1つ記載のネットワーク監視方法。
(付記5)
前記抽出処理において、前記属性パラメータとともに、前記識別データを抽出し、
前記検索処理において、抽出された前記属性パラメータとともに、抽出された前記識別データを含む記録を検索する
付記4記載のネットワーク監視方法。
(付記6)
前記属性パラメータは、アカウント名である
付記1乃至5いずれか1つ記載のネットワーク監視方法。
(付記7)
前記属性パラメータは、ファイル名である
付記1又は2記載のネットワーク監視方法。
(付記8)
前記属性パラメータは、サービス名である
付記1又は2記載のネットワーク監視方法。
(付記9)
ネットワークからキャプチャされたパケットから、送信元コンピュータの識別子と、宛先コンピュータの識別子とを抽出し、当該送信元コンピュータによる当該宛先コンピュータに対するリモート操作における属性パラメータを特定し、当該送信元コンピュータの識別子、当該宛先コンピュータの識別子及び当該属性パラメータを含む記録を蓄積し、
前記送信元コンピュータの識別子が感染コンピュータの識別子に該当している記録から、前記属性パラメータを抽出し、
抽出された前記属性パラメータを含む記録を検索し、
検索された前記記録に含まれる前記送信元コンピュータの識別子又は前記宛先コンピュータの識別子を特定する
処理をコンピュータに実行させるネットワーク監視プログラム。
(付記10)
ネットワークからキャプチャされたパケットから、送信元コンピュータの識別子と、宛先コンピュータの識別子とを抽出し、当該送信元コンピュータによる当該宛先コンピュータに対するリモート操作における属性パラメータを特定し、当該送信元コンピュータの識別子、当該宛先コンピュータの識別子及び当該属性パラメータを含む記録を蓄積する蓄積部と、
前記送信元コンピュータの識別子が感染コンピュータの識別子に該当している記録から、前記属性パラメータを抽出する抽出部と、
抽出された前記属性パラメータを含む記録を検索する検索部と、
検索された前記記録に含まれる前記送信元コンピュータの識別子又は前記宛先コンピュータの識別子を特定する特定部と
を有するネットワーク監視装置。