説明

不正プロセス検知方法および不正プロセス検知システム

【課題】ネットワークを介して行われる通信を監視しているだけでは検知が困難な、コンピュータウイルスなどの不正なプロセスを検知する。
【解決手段】端末内の記憶装置及び入出力装置へのシステムアクセスの監視によって得られる活動、及び、端末によって実行されるネットワークを介した通信の監視によって得られる活動と、それらの活動を生じさせた端末内のプロセスとを関連付け、それらの活動が、同一または関連するプロセスにより実行される所定の活動である場合に、この端末内で不正プロセスが動作していると検知する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワークを介して不正な活動をするコンピュータウイルスなどの不正なプロセスを検知するための方法およびシステムに関する。
【背景技術】
【0002】
ネットワークを介した不正侵入への対策の一つとして、ネットワーク型侵入検知システムが挙げられる。ネットワーク型侵入検知システムに関する技術としては特許文献1に記載されるものがある。特許文献1において、侵入検知装置は、ネットワークを介した通信を監視し、流れているパケットを解析して不正侵入が行われているか否かを判断する。また、不正侵入が行われていると判断した場合、通信遮断などの対策を行う。
【0003】
ネットワーク型侵入検知システムを応用し、ネットワーク内部にコンピュータウイルスに感染した端末が存在することを検知する技術として、特許文献2や非特許文献1に記載されるものがある。特許文献2に記載される技術では、ネットワークを介した通信の監視結果に基づいて異常な通信の検知を実行する。異常な通信を検知した場合、異常な通信の特徴パターンを端末へ通知し、端末は自身による通信の特徴パターンと比較することで過去に異常な通信をしたか否かを判定する。また、非特許文献1に記載される技術では、ネットワークを介した通信を監視し、一台の端末による複数のネットワーク活動を関連付けることで、不審な活動を行っている端末を検出する。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2002−73433
【特許文献2】特開2008−278272
【非特許文献】
【0005】
【非特許文献1】「BotHunter: Detecting Malware Infection Through IDS-Driven Dialog Correlation」、Guofei Gu、Phillip Porras、Vinod Yegneswaran、Marth Fong and Wenke Lee、Proceedings of 16th USENIX Security Symposium、pp.167-182、2007.
【発明の概要】
【発明が解決しようとする課題】
【0006】
近年、ボットと呼ばれるコンピュータウイルスの一種が問題となっている。ボットは、ユーザの端末(コンピュータ)上で動作し、ネットワークを介した遠隔地の攻撃者からの指令に対応して不正な活動を行うものである。ボットの不正な活動には、ソフトウェアの脆弱性を狙った攻撃活動、サービス不能攻撃、スパムメールの送信やボットに感染した端末内の機密情報の外部への送信などがある。
【0007】
従来のワームなどのコンピュータウイルスとは異なり、ボットは、必ずしもソフトウェアの脆弱性を狙って攻撃するわけではない。特許文献1や特許文献2に記載される技術では、ソフトウェアの脆弱性を狙った異常なデータを含む攻撃を検知することはできるが、スパムメールの送信や機密情報の外部への送信といった不正な活動を検知できないという問題がある。これは、例えばスパムメールの送信は、ソフトウェアの動作に異常を生じるようなデータを送信するのではなく、通常のメールと同じ手順を経て送信されるためである。
【0008】
また、非特許文献1に記載される技術では、複数のネットワーク活動(メール送信とIRC(Internet Relay Chat)によるチャット通信)が不正プロセスなどによらず正規に行われた場合に、正常な端末を不審な端末と誤検知するという問題がある。このように、従来の侵入検知システムを用いた異常検知では、正規の手続きに則った不正な活動を、正常な活動と切り分けて検知することは困難である。
【課題を解決するための手段】
【0009】
上述の通り、ネットワークにおける活動だけを監視することにより不正プロセスを検知することは困難であるため、本発明では、端末内でのプロセスの活動またはネットワークにおけるプロセスの活動、もしくはその両者を監視し、当該活動と当該プロセスの識別子とを結びつけ、同一のプロセスまたは関連したプロセス群によって活動をまとめ、不正な活動が行われているかどうかを判定する。
【0010】
ここで、二つのプロセスが関連しているとは、それぞれのプロセスを生成したプロセス(親プロセス)を再帰的に辿って行った場合に、両者に共通するプロセスが存在することを表す。
【0011】
本発明の具体的な態様は次のとおりである。端末及び通信監視装置及び不正プロセス判定装置は内部ネットワークへと接続する。端末内における、メモリアクセスや記憶装置、入力装置へのアクセスなど(以下システムアクセス)を監視し、システムアクセスの監視によって得られる活動と端末内でのプロセスとを結びつけ、不正プロセス判定装置へと通知する。また、通信監視装置において端末が実行する通信を監視し、通信の監視によって得られる活動と端末内でのプロセスとを結びつけ、不正プロセス判定装置へと通知する。不正プロセス判定装置では通知された活動を参照し、所定の条件を満たす活動が同一または関連するプロセスにより行われたか否かにより、前記端末内で不正なプロセスが活動していると判定する。
【発明の効果】
【0012】
本発明によれば、ネットワークを介して行われる通信を監視しているだけでは検知が困難な不正プロセスの活動を検知することができる。
【図面の簡単な説明】
【0013】
【図1】不正プロセス検知システムの構成例を示す。
【図2】不正プロセス検知システムを構成する各装置のハードウェア構成例を示す。
【図3】不正プロセス検知システムを構成する各装置のソフトウェア構成例を示す。
【図4】プロセス情報データベースの構成例を示す。
【図5】システム監視結果データベースの構成例を示す。
【図6】通信監視結果データベースの構成例を示す。
【図7】判定ポリシの構成例を示す。
【図8】システム監視部の処理フロー例を示す。
【図9】通信監視部の処理フロー例を示す。
【図10】プロセス情報関連付け部の処理フロー例を示す。
【図11】不正プロセス判定部の処理フロー例を示す。
【図12】実施例2における端末のソフトウェア構成例を示す。
【発明を実施するための形態】
【0014】
以下、本発明の実施の形態について、図面を用いて説明する。なお以降の説明は本発明の実施形態を示すものであり、本発明の構成や機能その他を制限するものではない。
【実施例1】
【0015】
図1は、本実施例による不正プロセス検知システム100の構成例を示している。不正プロセス検知システム100は、端末101、通信監視装置102、不正プロセス判定装置103を備え、これらが内部ネットワーク104で接続されている。内部ネットワーク104には、図示されていない端末や通信装置なども接続されている。通信監視装置102は、インターネットなどの外部ネットワーク105にも接続されている。
【0016】
図1において、通信監視装置102は、通信監視装置102を介して内部ネットワーク104と外部ネットワーク105との間で通信されるように設置されているが、通信監視装置102を設置する位置は図1の位置に限らず、内部ネットワーク104と外部ネットワーク105との間の通信を監視できる位置に設置されていればよい。
【0017】
図2は、本不正プロセス検知システムの各装置101、102、103のハードウェア構成例を示す。各装置を構成するハードウェアは、実質的に同様の装置構成を有し、各演算装置で実行されるソフトウェアによって各々の動作が定められる。
【0018】
端末101は情報処理装置であり、ユーザが所有するPCなどの端末である。端末101は、演算装置211、メモリ212、ハードディスク等の記憶装置213、ネットワークカードなどの通信装置214、キーボードやマウス等の入力装置215、LCD(Liquid Crystal Display)等の表示装置216を備える。演算装置211は、記憶装置213に格納されたプログラムを実行し、各部の制御を行う。記憶装置213は、演算装置211が実行するプログラムおよび演算装置211が使用するデータ等を格納する。通信装置214は、ネットワーク104を介して他の装置からデータを受信して演算装置211へ送ると共に、演算装置211が生成したデータを、ネットワーク104を介して他の装置へ送信する。演算装置211は、入力装置215や表示装置216を制御し、入力装置215からデータを入力し、データを表示装置216へ出力する。記憶装置213にはプログラムが格納されており、プログラムは記憶装置213からメモリ212にロードされ、演算装置211によって実行される。端末101は、これらのプログラムを記憶装置213からロードして実行するが、他の例として、CD、DVD等の光学記録媒体、MO等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等の記録媒体からこのプログラムをロードしてもよい。また他の例として、他の装置から、通信媒体を介して、これらのプログラムをロードしてもよい。通信媒体とは、ネットワークまたはこれらを伝搬するディジタル信号または搬送波を指す。
【0019】
通信監視装置2は、演算装置221、メモリ222、ハードディスク等の記憶装置223、ネットワークカードなどの通信装置224および225、キーボードやマウス等の入力装置226、LCD等の表示装置227を備える。不正プロセス判定装置103は、演算装置231、メモリ232、ハードディスク等の記憶装置233、ネットワークカードなどの通信装置234、キーボードやマウス等の入力装置235、LCD等の表示装置236を備える。通信監視装置102および不正プロセス判定装置103のハードウェアとしての動作は端末101の動作に準ずる。
【0020】
図3は、不正プロセス検知システム100を構成する端末101、通信監視装置102、及び不正プロセス判定装置103のソフトウェア構成例を示す。
【0021】
本実施例は、端末101が内部で動作している不正プロセスを不正プロセス検知システム100によって検知する。端末101は、内部ネットワーク104と情報を送受信するデータ送受信部311と、内部で動作するプロセス312と、プロセス312による記憶装置213や入力装置215などへのアクセスを監視するシステム監視部313と、データ送受信部311を介した内部ネットワーク4との通信とプロセスとを関連付けるプロセス情報関連付け部314と、システム監視部313による監視結果を不正プロセス判定装置103へと送信するシステム監視結果通知部315と、端末101内のプロセスに関してどのプロセスがどのプロセスを生成したかという親子関係を表す情報を格納するプロセス情報データベース316とを有する。
【0022】
プロセス312は、記憶装置213などに格納されている任意のプログラムの端末101内での実行時のインスタンスであり、データ送受信部311を介した内部ネットワーク4との情報の送受信、メモリ212や入力装置215などへのアクセス、もしくはその両方を実行する。プロセス312によるメモリ212や入力装置215などの記憶装置及び入出力装置へのアクセスをシステムアクセスと呼び、内部ネットワーク4との情報の送受信を通信と呼ぶ。本実施例における監視対象は、これらのシステムアクセス及び通信である。
【0023】
図4に、プロセス情報データベース316の一例を示す。プロセス情報データベース316は、プロセス識別子401、親プロセス識別子402で構成される。プロセス識別子401は、端末101内のプロセスを特定する識別子である。親プロセス識別子402は、プロセス識別子401で表されるプロセスを生成したプロセス(親プロセス)の識別子である。
【0024】
図3に説明を戻す。通信監視装置102は、内部ネットワーク104と情報を送受信するデータ送受信部321と、外部ネットワーク105と情報を送受信するデータ送受信部322と、内部ネットワーク104と外部ネットワーク105との間に通信される情報を監視する通信監視部323と、通信監視部323による監視結果を不正プロセス判定装置103へ送信する通信監視結果通知部324とを有する。
【0025】
不正プロセス判定装置103は、内部ネットワーク104と情報を送受信するデータ送受信部331と、端末101のシステム監視結果通知部315から通知されるシステム監視結果をデータ送受信部331を介して受信するシステム監視結果受信部332と、通信監視装置102の通信監視結果通知部324から通知される通信監視結果をデータ送受信部331を介して受信する通信監視結果受信部333と、受信したシステム監視結果を蓄積するシステム監視結果データベース334と、受信した通信監視結果を蓄積する通信監視結果データベース335と、不正な活動(以下、コンピュータウイルスなどを想定した用語として不正な「活動」を用いるが、不正なプロセスの実行に伴う不正な「処理」または「動作」である。同様に、正規のプロセスの実行に伴う「処理」または「動作」も「活動」である。)を規定する判定ポリシ336と、システム監視結果データベース334と通信監視結果データベース335と判定ポリシ336の内容を比較することで端末101内で動作しているプロセスが不正プロセスであるかどうかを判定する不正プロセス判定部337と、不正プロセス判定部337によって得られた判定結果に基づき警告を通知する判定結果通知部338とを有する。
【0026】
図5に、システム監視結果データベース334の一例を示す。システム監視結果データベース334は、端末識別子501、プロセス識別子502、関連プロセス識別子リスト503、活動内容504で構成される。端末識別子501は、システム監視部313によって検知された活動を行った端末の識別子である。プロセス識別子502は、システム監視部313によって検知された活動を行った、端末識別子501で特定される端末101内のプロセスの識別子である。関連プロセス識別子リスト503は、プロセス識別子502で特定されるプロセスを生成したプロセス(親プロセス)の識別子、この親プロセスを生成したプロセスの識別子、というようにプロセス識別子502から親プロセスを再帰的に求めていくことによって得られるプロセス識別子のリストである。以下、符号なしで「関連プロセス識別子リスト」と言う場合は、あるプロセスに対してその親プロセスを再帰的に求めて得られるプロセス識別子のリストを表す。活動内容504は、システム監視部313によって検知された活動内容を表す情報である。
【0027】
図6に、通信監視結果データベース335の一例を示す。通信監視結果データベース335は、端末識別子601、プロセス識別子602、関連プロセス識別子リスト603、通信パラメータ604、通信内容605で構成される。端末識別子601は、通信監視部323によって活動が検知された端末101の識別子である。プロセス識別子602は、通信監視部323によって活動が検知された端末識別子601で特定される端末101内のプロセスの識別子である。関連プロセス識別子リスト603は、プロセス識別子602で特定されるプロセスを生成したプロセス(親プロセス)の識別子、この親プロセスを生成したプロセスの識別子、というようにプロセス識別子602から親プロセスを再帰的に求めていくことによって得られるプロセス識別子のリストである。通信パラメータ604は、通信監視部323によって検知された通信のパラメータであり、プロトコル606、発信元IP(Internet Protocol)アドレス607、発信元ポート番号608、宛先IPアドレス609、宛先ポート番号610で構成される。通信内容605は、通信監視部323によって検知された通信内容(通信種別)である。
【0028】
図7に、判定ポリシ336の一例を示す。判定ポリシ336は、判定条件監視結果リスト701、判定結果702で構成される。判定条件監視結果リスト701は、不正プロセス判定部337において不正プロセスの活動と判定するために満たされるべき条件としての監視結果のリストである。判定条件監視結果リスト701は、一つまたは複数の監視結果703から構成され、各々の監視結果703はカテゴリ704と内容705で構成される。カテゴリ704は、監視結果703がシステム監視部313によって検知されたものであるか、通信監視部323によって検知されたものであるかを表し、内容705はシステム監視部313または通信監視部323によって検知された活動の内容を表す。判定結果702は、判定条件監視結果リスト701に含まれる監視結果が全て満たされた場合に不正プロセス判定部337から得られる判定結果である。
【0029】
判定ポリシ336への情報登録については、本実施例では規定しない。情報登録の例としては、ネットワーク管理者が手動で登録する、既存のアンチウイルスソフトなどのように外部ウェブサイトに定期的にアクセスして登録する情報をダウンロードするなどがある。
【0030】
不正プロセス検知システム100の動作を説明する。端末101内のプロセス312は、メモリ212や記憶装置213に格納されたデータの読み書き、入力装置215や表示装置216へアクセスする(これらをまとめてシステムアクセスと呼ぶ)。システム監視部313では、プロセス312により端末101内のシステムアクセスを監視し、不審な活動を行っているプロセスがないか確認する。本実施例においては、システム監視部313で監視する対象のプロセスは端末101内で動作する全てのプロセスとしているが、システム監視部313により監視対象とするプロセスを、特定のプロセスのみとする、特定のユーザにより起動されたプロセスのみとする、など監視対象となるプロセスに制限を加えてもよい。
【0031】
図8に、システム監視部313の処理フローチャートの一例を示す。システム監視部313は起動されると、プロセスの起動及びシステムアクセスの監視を行う(ステップ801)。プロセスの起動もしくは任意のプロセスによるシステムアクセスを検知すると(ステップ802)、プロセス起動の検知であるかを確認する(ステップ803)。
【0032】
プロセス起動の検知である場合、起動を検知したプロセスの識別子、及びこのプロセスを生成したプロセス(親プロセス)の識別子を取得する(ステップ804)。プロセスの識別子及び親プロセスの識別子は、OS(Operating System)の機能を利用して取得するか、もしくは端末101内のメモリ212の特定個所の読み取りによって取得する。
【0033】
取得したプロセス識別子と親プロセス識別子とをプロセス情報データベース316に登録し(ステップ805)、ステップ801へ戻り、監視を継続する。端末101内のプロセスの中に、不正でないことが明らかなプロセス(正規プロセス)が存在する場合、プロセス情報データベース316への登録の際、正規プロセスのプロセス識別子と一致するプロセス識別子または親プロセス識別子をプロセス情報データベース316に登録をしないように、プロセスをフィルタリングしてもよい。
【0034】
ステップ803で、システムアクセスの検知である場合、このシステムアクセスの内容を特定し(ステップ806)、ステップ807でこのシステムアクセスを不正プロセス判定部337へ通知するか否かを判断する(ステップ807)。
【0035】
システムアクセス監視及びその内容の特定は、例えば「P2Pファイル交換ソフトウエア環境におけるノード型情報流出防止機能の提案」、松岡正明、松木隆宏、寺田真敏、鬼頭哲郎、仲小路博史、情報処理学会 コンピュータセキュリティ研究会 研究報告 Vol.2008 No.71 pp.115-122、2008.に記載される、端末101内のファイルアクセスの監視による特定のフォルダ内へのアクセスの検知、または「端末内の動作監視に基づく情報漏えいウイルスの検知手法に関する検討」、鬼頭哲郎、松木隆宏、松岡正明、仲小路博史、寺田真敏、情報処理学会 コンピュータセキュリティ研究会 研究報告 Vol.2008 No.71 pp.317-322、2008.に記載される、任意のプロセスによるOSの機能呼び出しの監視による、事前に規定した機能呼び出しの組み合わせの同一プロセスによる実行の検知などである。
【0036】
ステップ807でシステムアクセスを通知しないと判断した場合、ステップ801へ戻り、システムアクセスの監視を続行する。システムアクセスを通知すると判断した場合、このシステムアクセスを実行したプロセスの識別子を取得し(ステップ808)、取得したプロセスの関連プロセス識別子リストをプロセス情報データベース316から取得する(ステップ809)。システムアクセスを実行したプロセスは、端末101のメモリ212の特定個所の読み取りによって特定する。OSによってはこのようなメモリの読み取りを機能として提供している場合もある。システム監視結果通知部315を呼び出し(ステップ810)、不正プロセス判定装置103へシステム監視結果(プロセスの識別子(ステップ808の結果)、関連プロセス識別子リスト(ステップ809の結果)、活動内容(ステップ806の結果))を通知し、ステップ801へ戻り、システムアクセスの監視を続行する。
【0037】
プロセス312は、システムアクセスに加え、データ送受信部311を介して通信する。端末101内のプロセス情報関連付け部314では、プロセス312によるデータ送受信部311を介した通信を監視し、プロセスと通信パラメータとを関連付けする。プロセス情報関連付け部314は、プロセスの情報と通信のパラメータとを関連付ける機能を有したソフトウェアであって、通信監視装置102の通信監視部323が通信を検知した場合に、その通信を実したプロセスが何であるか特定できるような情報を提供する。
【0038】
図9に、プロセス情報関連付け部314の処理フローチャートの一例を示す。プロセス情報関連付け部314は、データ送受信部311を介したパケットの送信を監視する(ステップ901)。パケットの送信を検知すると(ステップ902)、このパケットの送信を一時停止させ(ステップ903)、送信されるパケットがIPパケットであるか確認する(ステップ904)。IPパケットでない場合には、このパケットをデータ送受信部311を介して送信し(ステップ908)、ステップ901へ戻り、監視を続行する。
【0039】
送信されるパケットがIPパケットである場合、このパケットを送信しようとしたプロセスの識別子を取得し(ステップ905)、取得したプロセスの関連プロセス識別子リストをプロセス情報データベース316から取得する(ステップ906)。パケットを送信しようとしたプロセスは、OSの機能を利用して取得するか、もしくは端末101内のメモリ212の特定個所の読み取りによって特定する。取得したプロセスの識別子及び関連プロセス識別子リストをこのパケットに埋め込み(ステップ907)、プロセスの識別子及び関連プロセス識別子リストを埋め込んだパケットを送信し(ステップ908)、ステップ901へ戻り、監視を続行する。
【0040】
ステップ907において、プロセス識別子などは、たとえば「P2Pファイル交換ソフトウェア環境における情報流通対策アーキテクチャの検討」、寺田真敏、鬼頭哲郎、仲小路博史、松木隆宏、松岡正明、情報処理学会 コンピュータセキュリティ研究会 研究報告 Vol.2008 No.21 pp.243-248、2008.に記載されるように、IPパケットのオプションフィールドに埋め込む。
【0041】
IPパケットへプロセス情報を埋め込むことで、通信監視部323で通信を検知した場合に、他の情報に頼ることなく、パケットの特定の部分(たとえば、オプションフィールド)を参照することで、その通信を実行したプロセスを特定できる。
【0042】
プロセス情報関連付け部314における通信とプロセスとの対応付けの他の例として、通信が実行されるたびに、通信パラメータとプロセス識別子との対応を記録しておき、所定のタイミングで通信監視装置へ通知してもよい。
【0043】
端末101内のプロセス312が外部ネットワーク105に向けてパケットを送信した場合、このパケットは通信監視装置102を通過する。通信監視装置102内の通信監視部323では、通信監視装置102を通過するパケットを監視し、通過するパケットによる通信がどのようなものであるかを特定する。
【0044】
図10に、通信監視部323の処理フローチャートの一例を示す。通信監視部323は、通信監視装置102内を通過する通信を監視する(ステップ1001)。通信を検知すると(ステップ1002)、その通信の活動内容の特定し(ステップ1003)、この活動を通知するか否かを判断する(ステップ1004)。
【0045】
活動内容は、例えば、特許文献1に記載されているような既存の侵入検知システムにおける手法を用いて、または通過しようとするパケットのIPアドレスやポート番号に基づいて特定する。
【0046】
ステップ1004にて通知しないと判断した場合には、ステップ1001へと戻り、監視を続行する。ステップ1004にて通知すると判断した場合には、この通信を実行したプロセスに関する情報を取得する(ステップ1005)。
【0047】
ステップ1005におけるプロセスに関する情報の取得、すなわちプロセス識別子と関連プロセス識別子リストの取得は、端末101のプロセス関連付け部314における通信とプロセスとの対応付け方式によって変化する。前述のように、プロセス関連付け部314においてIPパケットにプロセス識別子及び関連プロセス識別子リストを埋め込む場合は、パケットに埋め込まれた情報を抽出することでプロセス識別子及び関連プロセス識別子リストを取得する。
【0048】
通信監視結果通知部324を呼び出し(ステップ1006)、不正プロセス判定装置103へ通信監視結果(通信を行ったプロセスの識別子、関連プロセス識別子リスト、通信内容)を通知し、ステップ1001へ戻り、通信の監視を続行する。
【0049】
端末101内のシステム監視部313および通信監視装置102内の通信監視部323で検知された活動に関する情報はそれぞれシステム監視結果通知部315および通信監視結果通知部324により不正プロセス判定装置103へ送られる。システム監視結果受信部332では、端末101から送られてきたシステム監視結果を受信し、システム監視結果データベース334へ受信したシステム監視結果を記録し、このシステム監視結果を呼び出しパラメータとして不正プロセス判定部337を呼び出す。通信監視結果受信部333では、通信監視装置102から送られてきた通信監視結果を受信し、通信監視結果データベース335へ受信した通信監視結果を記録し、この通信監視結果を呼び出しパラメータとして不正プロセス判定部337を呼び出す。不正プロセス判定部337では、パラメータとして与えられる監視結果、システム監視結果データベース334、通信監視結果データベース335、および判定ポリシ336に格納された情報を基に、端末101内で不正なプロセスが活動しているか否かを判定する。
【0050】
図11に、不正プロセス判定部337の処理フローチャートの一例を示す。不正プロセス判定部337は、パラメータとして渡された監視結果を取得する(ステップ1101)。パラメータとして渡される監視結果は、システム監視結果と通信監視結果とのいずれかであるが、以下では両者をまとめて監視結果として取り扱う。取得した監視結果から端末識別子を抽出する(ステップ1102)。システム監視結果データベース334を参照し(ステップ1103)、ステップ1102にて抽出した端末識別子と同一の端末識別子を持つシステム監視結果があるか否かを確認する(ステップ1104)。システム監視結果データベース334に抽出した端末識別子と同一の端末識別子を持つシステム監視結果がある場合にはステップ1105へ進み、ない場合にはステップ1107へ進む。抽出した端末識別子と同一の端末識別子を持つシステム監視結果のうち、取得した監視結果と関連するシステム監視結果がシステム監視結果データベース334にあるか否かを確認する(ステップ1105)。システム監視結果データベース334に抽出した監視結果と関連するシステム監視結果がある場合には、関連するシステム監視結果を取得する(ステップ1106)。ある監視結果が他のシステム監視結果と関連するとは、ある監視結果に含まれるプロセス識別子または関連プロセス識別子リストに記載されたプロセス識別子のいずれかが、他のシステム監視結果に含まれるプロセス識別子または関連プロセス識別子リストに記載されたプロセス識別子のいずれかと一致することを表す。
【0051】
通信監視結果データベース335を参照し(ステップ1107)、ステップ1102にて抽出した端末識別子と同一の端末識別子を持つ通信監視結果があるか否かを確認する(ステップ1108)。通信監視結果データベース335に抽出した端末識別子と同一の端末識別子を持つ通信監視結果がある場合にはステップ1109へ進み、ない場合にはステップ1011へ進む。抽出した端末識別子と同一の端末識別子を持つ通信監視結果のうち、取得した監視結果と関連する通信監視結果があるか否かを確認する(ステップ1109)。通信監視結果データベース335に取得した監視結果と関連する通信監視結果がある場合には、関連する通信監視結果を取得する(ステップ1110)。ある監視結果が他の通信監視結果と関連するとは、前述の通りである。
【0052】
判定ポリシを参照し(ステップ1111)、ステップ1101にて取得した監視結果、ステップ1106で取得したシステム監視結果、及びステップ1110で取得した通信監視結果により判定条件を全て満たすポリシがあるか否かを確認する(ステップ1112)。図11の処理フローチャートを簡略化してあるので、ステップ1112の確認対象を分かり易く説明すると、判定条件を全て満たすポリシがあるか否かを確認する対象は、ステップ1101にて取得した監視結果に関連するシステム監視結果をステップ1106で取得した場合及びステップ1101にて取得した監視結果に関連する通信監視結果をステップ1110で取得した場合における、ステップ1101で取得した監視結果である。すなわち、ステップ1101にて取得した監視結果に関連する監視結果がすでにシステム監視結果データベース334または通信監視結果データベース335にある場合を対象とする。該当するポリシがない場合には処理を終了する。該当するポリシがある場合には、不正なプロセスによる活動が行われていたと判定し(ステップ1113)、判定結果通知部338を呼び出し(ステップ1114)、ステップ1101で取得した監視結果を、システム監視結果データベース334または通信監視結果データベース335に記録して、処理を終了する。
【0053】
不正プロセス判定部337によって判定結果通知部338が呼び出されると、判定結果通知部338は、端末101内で不正プロセスが活動している旨のメッセージ及び不正と判定されたプロセスのプロセス識別子を警告として端末101、または図示していない通信制御装置、または内部ネットワーク104を管理する組織に通知する。
【0054】
端末101は警告を受信すると、不正と判定されたプロセスの停止、および/またはプロセスのシステムアクセスや通信のブロックなどの措置を取ることにより、不正なプロセスの活動を抑制する。また、プロセスそのものへの措置以外に取りうる措置としては、この不正なプロセスの実行ファイルの以後の起動の禁止、この不正なプロセスの実行ファイルのプロセスが他にある場合にそのプロセスの停止などである。
【0055】
通信制御装置は警告を受信すると、不正プロセスが活動していると判定された端末101による通信、もしくは端末101による通信のうち不正と判定されたプロセスの通信を制御する。ここで、制御とは、通信の遮断、帯域制限、経路変更などである。この制御を実行する通信制御装置は、端末101から外部ネットワーク105へとアクセスする際に通過する経路上に接続するか、通信監視装置102内に通信制御装置の機能を内蔵してもよい。
【0056】
内部ネットワーク104を管理する組織は警告を受信すると、不正プロセスが活動していると判定された端末101への警告の送信、内部ネットワーク104に接続されている端末101以外の端末への警告の送信、通信制御装置への警告の送信など、ネットワーク全体の安全性を高める対策を実施する。
【0057】
本実施例においては、端末101、通信監視装置102、不正プロセス判定装置103の3つの装置を用いているが、端末101または通信監視装置102が不正プロセス判定装置103を兼ね、2つの装置から構成されるシステムでもよい。端末101が不正プロセス判定装置103を兼ねる場合には、システム監視結果通知部315とシステム監視結果受信部332はネットワークを介して接続されている必要はなく、システム監視結果通知部315からシステム監視結果受信部332へ直接システム監視結果を通知する。同様に、通信監視装置102が不正プロセス判定装置103を兼ねる場合には、通信監視結果通知部324と通信監視結果受信部333はネットワークを介して接続されている必要はなく、通信監視結果通知部324から通信監視結果受信部333へ直接通信監視結果を通知する。
【0058】
また、端末101が通信監視装置102を兼ねていてもよい。この場合、通信監視部323が監視する対象の通信は、内部ネットワーク104と外部ネットワーク105の間の通信ではなく、端末101が内部ネットワーク104に対して行う通信となる。またこの場合、プロセス情報関連付け部314は、図9のステップ907でのプロセス識別子及び関連プロセス識別子リストのIPパケットへの埋め込みを行う必要はなく、プロセス識別子及び関連プロセス識別子リストと通信パラメータとの対応をメモリや記憶装置に保持しておき、通信監視部323が図10のステップ1005でプロセス識別子及び関連プロセス識別子リストを取得する際に参照できるようにしておけばよい。
【0059】
また、本実施例においては、システム監視結果通知部315及び通信監視結果通知部324によって通知される情報には活動を行ったプロセス識別子とその関連プロセス識別子リストが含まれるが、通知される情報に関連プロセス識別子リストを含まなくてもよい。その場合は、端末101から不正プロセス判定装置103へとプロセス情報データベース316に格納された情報を通知し、不正プロセス判定装置103のシステム監視結果受信部332及び通信監視結果受信部333においてプロセス情報データベース316に格納された情報から関連プロセス識別子リストを取得する。
【0060】
本実施例によれば、システムの監視によって得られた活動と通信の監視によって得られた活動をプロセス識別子によって関連付けることによって、不正なプロセスが活動していることを検知できる。
【実施例2】
【0061】
近年注目されている技術として、仮想マシンモニタという技術がある。仮想マシンモニタは、端末101のような情報処理装置の上で動作するソフトウェアであり、実際の端末と同様に扱える仮想マシンを動作させる。仮想マシンは仮想マシンモニタの上で動作する(仮想マシンは仮想マシンモニタの制御下で動作する)ため、仮想マシンモニタは自身が管理するメモリを参照することで、仮想マシンモニタの上で動作している仮想マシンの状態を監視することができる。ボットなどの不正プロセスの中には、端末内で監視が行われていることを検知し、監視を無効化する機能を持つものがあるが、不正プロセスが動作する仮想マシンを仮想マシンモニタを用いて外部から監視することで、監視を無効化されることがない。
【0062】
本実施例では、ユーザの利用する端末が仮想マシンである場合の例を示す。本実施例と実施例1との相違点は、端末101のソフトウェア構成である。実施例1と共通する内容に関しては説明を省略する。
【0063】
図12は、本実施例における端末101のソフトウェア構成を示している。端末101は内部ネットワーク104に接続されており、端末101の中では、仮想マシンモニタ1201が動作し、その上で仮想マシン1202が稼働する。仮想マシン1202のハードウェア構成は実施例1の端末101と同様であり、演算装置、メモリ、記憶装置、通信装置、入力装置、表示装置を備える(一部のみ図示)。仮想マシン1202内で活動するプロセス1203は、実施例1におけるプロセス312と同様、データ送受信部1204を介した内部ネットワーク104との通信や、メモリ1205や記憶装置1206、入力装置1207、表示装置1208などへアクセスする。このアクセスをシステムアクセスと呼ぶ。
【0064】
本実施例において、仮想マシンモニタ1201上には、仮想マシン1202以外に、内部ネットワーク104とデータを送受信するデータ送受信部1209、システム監視部1210、プロセス情報関連付け部1211、システム監視結果通知部1212、及びプロセス情報データベース1213がある。システム監視部1210では、仮想マシン1202内部でのプロセス1203のシステムアクセスを仮想マシン1202の外部から監視する。プロセス情報関連付け部1211では、仮想マシン1202から内部ネットワーク104への通信を仮想マシン1202の外部から監視し、仮想マシン1202内のプロセスと監視した通信の通信パラメータとを関連付ける。システム監視結果通知部1212は、システム監視部1210によって得られた監視結果をデータ送受信部1209を介して不正プロセス判定装置103へ送信する。プロセス情報データベース1213は、仮想マシン1202内のプロセスに関して、このプロセスのプロセス識別子と、このプロセスを生成したプロセス(親プロセス)のプロセス識別子とを格納している。
【0065】
システム監視部1210の処理は、仮想マシン1202の外部から仮想マシン1202内部におけるシステムアクセスを監視すること以外は図8に示した実施例1におけるシステム監視部313の処理と同じである。また、同様に、プロセス情報関連付け部1211の処理は、プロセスの情報を仮想マシン1202の外部から取得すること以外は図9に示した実施例1におけるプロセス情報関連付け部314の処理と同じである。同様に、システム監視結果通知部1212の動作は実施例1におけるシステム監視結果通知部315の動作と同じであり、プロセス情報データベース1213の構造は図4に示した実施例1におけるプロセス情報データベース316の構造と同じである。
【0066】
本実施例によれば、仮想マシン1202の外側から仮想マシン1202内部を監視することで、不正プロセスによるセキュリティソフトの無効化などの影響を受けることなく監視することができ、端末の監視を妨害するような悪質な不正プロセスに対しても検知が可能になる。
【符号の説明】
【0067】
100:不正プロセス検知システム、101:端末、102:通信監視装置、103:不正プロセス判定装置、104:内部ネットワーク、105:外部ネットワーク、313:システム監視部、314:プロセス情報関連付け部、315:システム監視結果通知部、316:プロセス情報データベース、323:通信監視部、324:通信監視結果通知部、332:システム監視結果受信部、333:通信監視結果受信部、334:システム監視結果データベース、335:通信監視結果データベース、336:判定ポリシ、337:不正プロセス判定部、338:判定結果通知部。

【特許請求の範囲】
【請求項1】
ネットワークと接続する端末内で動作する不正なプロセスを検知する不正プロセス検知システムにおける不正プロセス検知方法であって、前記不正プロセス検知システムは、前記端末におけるプロセスの実行に伴う前記端末の記憶装置及び入出力装置へのアクセスであるシステムアクセスを監視し、前記システムアクセスの監視によって得られる、前記プロセスの処理である第1の活動と前記第1の活動を実行した前記プロセスとを関連付けてシステム監視結果データベースに記録し、
前記端末における前記プロセスの実行に伴う、前記ネットワークを介した通信を監視し、前記通信の監視によって得られる、前記プロセスの処理である第2の活動と前記第2の活動を実行した前記プロセスとを関連付けて通信監視結果データベースに記録し、
前記第1及び第2の活動の少なくとも一方と同じであり、実行した前記プロセスが同一または関連するプロセスである活動が、すでに前記システム監視結果データベースまたは前記通信監視結果データベースに記録されているかを判定し、記録されていると判定された前記活動が予め定めた所定の条件を満たすとき、実行した前記プロセスは不正なプロセスであると判定することを特徴とする不正プロセス検知方法。
【請求項2】
請求項1に記載の不正プロセス検知方法であって、前記活動を実行したプロセスと関連するプロセスとは、前記活動を実行したプロセスを第1のプロセスとし、前記関連するプロセスを第2のプロセスとして、前記第1のプロセス及び前記第1のプロセスを生成した親プロセスを再帰的に辿ることにより得られる第1のプロセスリストと、前記第2のプロセス及び前記第2のプロセスを生成した親プロセスを再帰的に辿ることにより得られる第2のプロセスリストとに共通するプロセスが存在することであることを特徴とする不正プロセス検知方法。
【請求項3】
請求項1または請求項2に記載の不正プロセス検知方法であって、前記端末は前記ネットワークを介した通信のIPパケットに該通信を実行したプロセスを示す情報を埋め込み、前記不正プロセス検知システムは、前記通信の監視において、前記第2の活動に対応して前記IPパケットに埋め込まれた前記プロセスの情報を抽出し、抽出した前記情報が示す前記プロセスが前記第2の活動を実行したプロセスとすることを特徴とする不正プロセス検知方法。
【請求項4】
請求項1から請求項3のいずれか1項に記載の不正プロセス検知方法であって、前記不正プロセス検知システムは、前記端末内で前記活動を実行したプロセスは不正なプロセスであるとの判定に応じて、警告を出力することを特徴とする不正プロセス検知方法。
【請求項5】
請求項1から請求項4のいずれか1項に記載の不正プロセス検知方法であって、前記端末が仮想マシンである場合に、前記仮想マシンを制御する仮想マシンモニタが、前記仮想マシンにおける前記システムアクセスを監視し、前記仮想マシンにおける前記第1の活動と前記第1の活動を実行した前記プロセス情報とを関連付けることを特徴とする不正プロセス検知方法。
【請求項6】
端末、通信監視装置及び不正プロセス判定装置が接続されているネットワークにおける不正プロセス検知システムであって、
プロセスの実行に伴う記憶装置及び入出力装置へのアクセスであるシステムアクセスを監視し、前記システムアクセスの監視によって得られる、前記プロセスの処理である第1の活動と前記第1の活動を実行した前記プロセスとを関連付けてアクセス監視結果として通知し、ネットワークを介した通信に該通信を実行した前記プロセスを示す情報を含む端末と、
前記ネットワークを介して前記端末と接続し、前記ネットワークを介した前記通信に含まれる前記プロセスを示す情報を抽出し、前記通信を監視し、前記通信の監視によって得られた第2の活動と抽出した前記プロセスとを関連付けて通信監視結果として通知する通信監視装置と、
前記端末と前記通信監視装置とに接続し、前記端末から通知される前記アクセス監視結果及び前記通信監視装置から通知される前記通信監視結果を記録するデータベースを有し、前記アクセス監視結果または前記通信監視装置に含まれる前記第1または前記第2の活動が、所定の条件を満たし、前記第1または前記第2の活動に関連付けられている前記プロセスと同一または関連するプロセスにより実行された活動として前記データベースにすでに記録されているとき、前記端末内で不正なプロセスが活動していると判定する不正プロセス判定装置とを有することを特徴とする不正プロセス検知システム。
【請求項7】
請求項6に記載の不正プロセス検知システムであって、前記端末が、前記プロセスの親子関係を表した情報を記録し、前記アクセス監視結果の通知時に、前記プロセス及び前記プロセスから親プロセスを再帰的に辿ることによって得られるプロセスリストを含めて通知し、前記通信監視装置への通信に、さらに前記プロセスから親プロセスを再帰的に辿ることによって得られるプロセスリストを含み、
前記通信監視装置は、前記通信監視結果の通知時に、さらに前記プロセスリストを含むことを特徴とする不正プロセス検知システム。
【請求項8】
請求項6に記載の不正プロセス検知システムであって、前記活動を実行したプロセスと関連するプロセスとは、前記活動を実行したプロセスを第1のプロセスとし、前記関連するプロセスを第2のプロセスとして、前記第1のプロセス及び前記第1のプロセスを生成した親プロセスを再帰的に辿ることにより得られる第1のプロセスリストと、前記第2のプロセス及び前記第2のプロセスを生成した親プロセスを再帰的に辿ることにより得られる第2のプロセスリストとに共通するプロセスが存在することであることを特徴とする不正プロセス検知システム。
【請求項9】
請求項6から請求項8のいずれか1項に記載の不正プロセス検知システムであって、前記端末は、前記ネットワークを介した通信のIPパケットに前記プロセスを示す情報として前記プロセスの識別子を埋め込ことを特徴とする不正プロセス検知システム。
【請求項10】
請求項6から請求項9のいずれか1項に記載の不正プロセス検知システムであって、前記不正プロセス判定装置は、前記端末内で不正なプロセスが活動しているという判定に応じて、警告を出力することを特徴とする不正プロセス検知システム。
【請求項11】
請求項6から請求項10のいずれか1項に記載の不正プロセス検知システムであって、前記端末が、仮想マシンが前記プロセスを実行し、前記端末内部における前記システムアクセスを監視し、前記アクセスの監視によって得られる前記第1の活動と全k第1の活動を実行した前記プロセスとを結び付けて前記不正プロセス判定装置へ通知し、前記端末によって実行された前記ネットワークを介した通信に、該通信を実行した前記プロセスを示す情報を埋め込み、前記仮想マシンを制御する仮想マシンモニタに有することを特徴とする不正プロセス検知システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate


【公開番号】特開2011−53893(P2011−53893A)
【公開日】平成23年3月17日(2011.3.17)
【国際特許分類】
【出願番号】特願2009−201794(P2009−201794)
【出願日】平成21年9月1日(2009.9.1)
【国等の委託研究の成果に係る記載事項】(出願人による申告)国等の委託研究の成果に係る特許出願 (平成21年度 独立行政法人情報通信研究機構「マルウェア対策ユーザサポートシステムの研究開発」委託研究、産業技術力強化法第19条の適用を受ける特許出願)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】