次に、本発明を実施する実施形態について図面を参照しながら詳細に説明する。
<第1の実施形態>
図1を参照しながら、本発明の第1の実施形態に係る診断装置101が有する構成について詳細に説明する。図1は、本発明の第1の実施形態に係る診断装置101が有する構成を示すブロック図である。
第1の実施形態に係る診断装置101は、判定情報特定部102と、順序情報作成部103と、進行度算出部104とを有する。
診断装置101は、情報処理システム701(詳細は図2を参照して後述する)における情報処理装置に対して実行された処理(たとえば、攻撃)に起因する異常が進行している程度を表す進行度を算出する。たとえば、該処理は、マルウェア等の悪意をもって実行されるソフトウェア(または、攻撃者等)によって実行される。以降、説明の便宜上、マルウェア等の悪意をもって実行されるソフトウェア(または、攻撃者等)によって実行される処理を、「攻撃」と表す。
診断装置101は、進行度情報記憶部201に格納されている進行度情報(詳細は図5を参照して後述する)と、履歴情報記憶部202に格納されている履歴情報(詳細は図4を参照して後述する)とに基づき、情報処理装置に関する進行度を算出する。進行度情報は、必ずしも、進行度情報記憶部201に格納されていなくともよく、たとえば、外部装置(不図示)等から受信されてもよい。また、履歴情報は、必ずしも、履歴情報記憶部202に格納されていなくともよく、たとえば、外部装置(不図示)等から受信されてもよい。
次に、図2を参照しながら、情報処理システム701が有する構成について詳細に説明する。図2は、情報処理システム701が有する構成を示すブロック図である。
情報処理システム701は、監視装置702、履歴情報記憶部709、及び、1台以上の情報処理装置(図2においては、情報処理装置705、及び、情報処理装置706)を有する。監視装置702は、1台以上の検知装置(図2においては、検知装置703、及び、検知装置704)を含む。以降の説明においては、説明の便宜上、情報処理装置は、2台であるとする。
監視装置702は、情報処理装置705、及び、情報処理装置706等を含む情報処理システム701を監視している。たとえば、監視装置702は、情報処理装置において実行されるプロセスや、複数の情報処理装置間において実行される通信等を監視している。
情報処理装置においては、該情報処理装置において動作しているプロセス等の挙動や、該情報処理装置に関する通信等を監視するエージェントが動作している。たとえば、図2に例示された情報処理システム701において、エージェント707は、情報処理装置705において動作しているプロセス等の挙動を監視している。以降、プロセスや情報処理装置を総称して、「処理体」とも表す。
同様に、エージェント708は、情報処理装置706において動作しているプロセス等の挙動を監視している。言い換えれば、エージェントは、該エージェントを有する情報処理装置に関して、該情報処理装置において動作しているプロセス等を監視することによって、監視した結果を表す監視結果情報(たとえば、プロセスに関する情報、通信に関する情報)を作成する。たとえば、エージェントは、プロセスに関して、該プロセスが通信を実行した場合の通信先(たとえば、通信ポート)、該プロセスが外部通信ネットワークに対して確立した通信のタイミング及び期間、プロセスに関するシグネチャ、及び、該プロセスがアクセスしたファイル等を監視している。
エージェントが監視する対象を表す監視対象は、プロセスだけでなく、たとえば、情報処理装置を使用するユーザや、ユーザによって実行される通信(たとえば、電子メール、ウェブページの参照)等であってもよい。この場合に、エージェントは、たとえば、情報処理装置に設定されるアカウント、ユーザが情報処理装置を使用した期間、ユーザが起動したプロセスの名称等を監視し、監視した結果を表す監視結果情報を作成する。以下に、エージェントが監視する対象の例に関して詳細に説明する。
エージェントは、該エージェントが動作している情報処理装置における処理に関してプロセス、ソケット等の情報を監視する。
エージェントは、作成した監視結果情報を、たとえば、履歴情報記憶部709等の記憶部に格納する。
検知装置(たとえば、検知装置703、検知装置704)は、エージェントが作成した監視結果情報を解析することによって異常を検知した場合に、検知した異常を表す出力情報を含む履歴情報(図4に例示)を作成し、作成した履歴情報を履歴情報記憶部709に格納する。ここで、図4を参照しながら、履歴情報について詳細に説明する。図4は、履歴情報記憶部202に格納された履歴情報の一例を概念的に表す図である。履歴情報記憶部709に格納される履歴情報は、履歴情報記憶部202に格納される履歴情報と同様な構成を有する。履歴情報は、必ずしも、履歴情報記憶部202に格納されていなくともよく、たとえば、外部装置(不図示)等から受信されてもよい。
履歴情報は、たとえば、情報処理装置に関する異常を検知する検知装置を表す検知装置IDと、該検知装置が異常を検知したタイミングと、該異常に関して検知された内容を表す出力情報とが関連付けされた情報である。IDは、識別子を表す。出力情報は、たとえば、該検知装置が異常を検知した情報処理装置(または、プロセス、アカウント)等の情報が含まれている。
図4に例示された履歴情報においては、検知装置ID「D4」と、タイミング「T5」と、出力情報「M1のプロセスP1は5つのファイルをアクセスした」とが関連付けされている。これは、検知装置ID「D4」が表す検知装置が、タイミング「T5」に、出力情報「M1のプロセスP1は5つのファイルをアクセスした」を作成したことを表す。該出力情報における「M1」は、情報処理装置を識別可能な処理装置IDを表す。また、該出力情報における「プロセスP1」は、プロセスID「P1」が表すプロセスであることを表す。言い換えれば、該出力情報は、「処理装置ID「M1」が表す情報処理装置において、プロセスID「P1」が表すプロセスが5つのファイルにアクセスした」情報を表す。
検知装置は、エージェント等が作成した監視結果情報に基づき、情報処理装置に関する異常を検知する。図2に例示された情報処理システム701において、監視装置702が有している検知装置の台数は2台(図2の検知装置703、及び、検知装置704)である。しかし、監視装置702は、さらに、多くの検知装置を有していてもよい。検知装置は、たとえば、以下に説明する第1検知装置、乃至、第10検知装置である。
第1検知装置:第1検知装置は、情報処理システム701における情報処理装置間の通信状況を表すネットワークトポロジー(以降、「トポロジー情報」と表す)に基づき、異常な通信を実行した情報処理装置を検知する。第1検知装置は、たとえば、1台の情報処理装置から他の多数の情報処理装置に対して通信が実行されたこと等を検知する。
第2検知装置:第2検知装置は、情報処理システム701内の情報処理装置にて実行されたプロセスと、該プロセスがデータを送信した宛先を表すポート番号とが関連付けされた情報(以降、「プロセスポート情報」と表す)に基づき、異常な通信を実行したプロセスを検知する。
第3検知装置:第3検知装置は、トポロジー情報と、プロセスポート情報とに基づき、情報処理システム701において異常な通信を実行した情報処理装置と、異常な通信を実行したプロセスとを検知する。第3検知装置は、トポロジー情報と、プロセスポート情報とに基づき、たとえば、ある情報処理装置におけるあるプロセスが、多数のポートに対して通信を実行したこと等を検知する。
第4検知装置:第4検知装置は、情報処理システム701内のある情報処理装置におけるプロセスが実行した通信に関する監視結果情報に基づき、異常な通信を実行した情報処理装置(または、プロセス)等を検知する。第4検知装置は、監視結果情報を参照することによって、ある情報処理装置におけるプロセスがある期間に確立した通信接続の回数を算出し、算出した回数が定常的な通信接続回数と異なっている場合に、該ある情報処理装置(または、該プロセス)が異常であると検知する。
第5検知装置:第5検知装置は、情報処理システム701内の情報処理装置に設定されたアカウントと、該アカウントが表すユーザが起動したプロセスを表すプロセスIDとが関連付けされた情報(以降、「ユーザプロセス情報」と表す)に基づき、該情報処理装置に関する異常を検知する。第5検知装置は、たとえば、マルウェアである可能性が高いソフトウェアによって起動されたプロセスを実行したアカウント等を検知する。
第6検知装置:第6検知装置は、プロセスIDと、該プロセスIDがアクセスしたファイルを表すファイルIDとが関連付けされた情報(以降、「プロセスファイル情報」と表す)を参照することによって、情報処理システム701において異常である情報処理装置(または、プロセス)を検知する。
第7検知装置:第7検知装置は、プロセスIDが表すプロセスに関するシグネチャに関する情報(以降、「シグネチャ情報」と表す)を参照することによって、情報処理システム701において異常である情報処理装置(または、プロセス)を検知する。シグネチャ情報は、たとえば、プロセスが参照する値の型、該プロセスが出力する値の型、該プロセスを表す名称である。
第8検知装置:第8検知装置は、プロセスIDと、該プロセスIDが表すプロセスがアクセスしたファイルを表すファイルIDとが関連付けされた情報(以降、「プロセスファイル情報」と表す)を参照することによって、情報処理システム701において異常である情報処理装置(または、プロセス)を検知する。
第9検知装置:第9検知装置は、情報処理システム701内の情報処理装置においてアカウントが作成されたことを表す情報と、該アカウントが作成されたタイミングとが関連付けされた情報(以降、「アカウント情報」と表す)を参照することによって、異常である情報処理装置を検知する。
第10検知装置:第10検知装置は、アカウントと、該アカウントが表すユーザが情報処理装置を利用している期間とが関連付けされた情報(以降、「ログイン情報」と表す)に基づき、情報処理システム701において異常である情報処理装置を検知する。第10検知装置は、該ログイン情報に基づき、ある情報処理装置に設定されているアカウントが使用されている時間を特定する。
尚、情報処理装置において、エージェントは、上述した各検知装置が参照した情報(プロセスポート情報、シグネチャ情報、ユーザプロセス情報、ログイン情報等)を作成することができる。
次に、図5を参照しながら、進行度情報について説明する。図5は、進行度情報記憶部201に格納されている進行度情報の一例を概念的に表す図である。進行度情報は、必ずしも、進行度情報記憶部201に格納されていなくともよく、たとえば、外部装置(不図示)等から受信されてもよい。
進行度情報は、たとえば、情報処理装置に関する異常を検知する検知装置を表す検知装置IDと、所定の順序に従い、0個以上の検知装置IDを含む判定情報とが関連付けされた情報である。該進行度情報においては、検知装置IDに、さらに、進行度が関連付けされていてもよい。所定の順序は、たとえば、悪意を有するソフトウェアによって情報処理システム701に対して影響を受けた場合に、検知装置が検知すると想定される順序を表す。この場合に、所定の順序は、検知装置が検知すると想定されるタイミングの順、または、異常を検知する検知装置の順序を表しているともいうことができる。以降の説明において、所定の順序は、説明の便宜上、タイミングの順であるとするが、タイミングの逆順であってもよく、一定の規則に従って検知装置IDが並べられた順序であればよい。
図5に例示された進行度情報においては、検知装置ID「D4」と、進行度「S3」と、判定情報「D1,D2」、及び、判定情報「D1,D3」とが関連付けされている。これは、検知装置ID「D4」が表す検知装置がある情報処理装置に関する異常を検知した場合に、診断装置101が、攻撃によって情報処理システム701に生じた(発生した)と推定できる状態(異常な事象、状態、状況)の深刻さがどの程度であるのかを判定する判定条件を表す。この判定処理について詳細に説明する。
診断装置101は、たとえば、検知装置ID「D4」が表す検知装置がある情報処理装置に関する異常を検知したことを表す情報を入力(受信)する。診断装置101は、履歴情報記憶部202から履歴情報(図4)を読み取り、該履歴情報が作成されたタイミング順に、該履歴情報を作成した検知装置を表す検知装置IDが並べられた順序情報を作成する。診断装置101は、作成した順序情報における検知装置が、判定情報「D1,D2」、または、判定情報「D1,D3」に準じて出現しているか否かを判定し、順序情報が、いずれかの判定情報に準じている場合に、該ある情報処理装置に関する進行度が「S3」であると判定する。
「順序情報が判定情報に準ずる」とは、順序情報において出現する検知装置の順序と、判定情報において出現する検知装置の順序とが矛盾していないことを表す。たとえば、順序情報が「D1、D2、D3」であり、判定情報が「D1、D3」であるとする。この場合には、いずれの情報においても、「D1」が「D3」より先に出現しているので、順序情報における順序と、判定情報における順序とは矛盾しない。たとえば、順序情報が「D1、D2、D3」であり、判定情報が「D3、D2」であるとする。この場合に、順序情報においては「D2」が「D3」より先に出現し、判定情報においては「D3」が「D2」より先に出現しているので、順序情報における順序と、判定情報における順序とは矛盾している。
進行度情報における判定情報が空値である場合には、判定情報が設定されていないことを表す。言い換えると、該判定情報に関連付けされた検知装置IDが表す検知装置が、ある情報処理装置に関する異常を検知した場合に、診断装置101は、該ある情報処理装置に関する進行度が、該検知装置IDに関連付けされた進行度であると判定する。たとえば、図5に例示された進行度情報において、検知装置ID「D1」は、空値の判定情報に関連付けされている。これは、検知装置ID「D1」が表す検知装置が検知した異常が、ある情報処理装置に関する異常である場合に、該ある情報処理装置に関する進行度が「S1」であると診断装置101が診断することを表す。
言い換えれば、図5に例示された進行度情報に含まれている判定情報は、ある情報処理装置が、複数の検知装置によって検知された場合における検知された順序を表す。たとえば、ある情報処理装置が、検知装置ID「D1」が表す検知装置によって検知され、次に、検知装置ID「D2」が表す検知装置によって検知された場合に、診断装置101は、該ある情報処理装置に関する進行度が「S2」であると判定する(図5の2行目に例示された進行度情報)。たとえば、ある情報処理装置が、検知装置ID「D1」が表す検知装置、検知装置ID「D2」が表す検知装置、及び、検知装置ID「D4」が表す検知装置によって順に検知された場合に、診断装置101は、該ある情報処理装置に関する進行度が「S3」であると判定する(図5の4行目に例示された進行度情報)。あるいは、ある情報処理装置が、検知装置ID「D1」が表す検知装置、検知装置ID「D3」が表す検知装置、及び、検知装置ID「D4」が表す検知装置によって順に検知された場合に、診断装置101は、該ある情報処理装置に関する進行度が「S3」であると判定する(図5の4行目に例示された進行度情報)。
次に、図3を参照しながら、本発明の第1の実施形態に係る診断装置101における処理について詳細に説明する。図3は、第1の実施形態に係る診断装置101における処理の流れを示すフローチャートである。
説明の便宜上、ある検知装置が、第1情報処理装置に関する異常を検知し、検知した異常を表す履歴情報(たとえば、図4における1つの行)を、第1タイミングにて出力したとする。第1タイミングは、第1検知装置が異常を検知したタイミング、または、ある検知装置が異常を検知した基である監視結果情報を、該情報処理装置におけるエージェントが作成した時刻であってもよい。すなわち、タイミング(この場合、「第1タイミング」)は、上述した例に限定されない。
判定情報特定部102は、たとえば、ある検知装置が出力した履歴情報を受信する(ステップS101)。上述したように、ステップS101において、判定情報特定部102は、たとえば、ある検知装置が履歴情報記憶部202に格納した履歴情報を入力してもよい。判定情報特定部102は、進行度情報記憶部201に格納されている進行度情報(図5)を参照することによって、ある検知装置を表す検知装置IDに関連付けされた進行度と、該検知装置IDに関連付けされた判定情報とを特定する(ステップS102)。
次に、順序情報作成部103は、履歴情報記憶部202に格納されている履歴情報(図4)を参照することによって、第1タイミング以前のタイミングにて作成された履歴情報であって、第1情報処理装置に関する出力情報を含む履歴情報を特定する(ステップS103)。次に、順序情報作成部103は、特定した履歴情報に含まれている検知装置IDが、該履歴情報に含まれているタイミングの順に並べられた順序情報を作成する(ステップS104)。タイミングの順は、必ずしも、履歴情報が作成されたタイミングの順である必要はない。タイミングの順は、たとえば、履歴情報が作成されたタイミングの逆順であってもよいし、所定の順序に応じて検知装置IDが並べられていればよい。
進行度算出部104は、順序情報作成部103が作成した順序情報に含まれている検知装置IDが、判定情報特定部102が特定した判定情報に含まれている検知装置IDの順に出現しているか否かを判定する(ステップS105)。進行度算出部104は、順序情報作成部103が作成した順序情報に含まれている検知装置IDが、判定情報特定部102が特定した判定情報に含まれている検知装置IDの順に出現していると判定した場合(ステップS105にてYES)には、第1情報処理装置に関する進行度が、判定情報特定部102が特定した進行度であると判定する(ステップS106)。ステップS105にてNOの場合に、進行度算出部104は、ステップS106に示された処理を実行しない。
進行度算出部104は、ステップS105にて、順序情報に含まれている検知装置IDが、判定情報に含まれている検知装置IDの順に出現しているか否かを判定する。進行度算出部104は、順序情報が判定情報に含まれている検知装置ID以外の検知装置IDを含んでいる場合であっても、判定情報に含まれている検知装置IDの順に出現していれば、ステップS105にてYESと判定する。たとえば、順序情報が「D1、D2、D3、D4」であり、判定情報が「D1、D4」である場合に、順序情報における検知装置IDは、「D1」、「D2」、「D3」、及び、「D4」の順である。したがって、判定情報における検知装置ID「D1」、及び、検知装置ID「D4」は、検知装置ID「D2」、及び、検知装置ID「D3」を介して、順序情報における検知装置IDに出現している。
より具体的な例を参照しながら、第1の実施形態に係る診断装置101における処理について説明する。この例において、検知装置ID「D3」が表す検知装置は、タイミング「T2」にて、出力情報「処理装置ID「M1」が表す情報処理装置のユーザ「U1」は、プロセスID「P5」が表すプロセスを起動した」(図4に示す履歴情報における3行目)を出力したとする。
判定情報特定部102は、たとえば、検知装置ID「D3」が表す検知装置が出力した履歴情報(図4の履歴情報における3行目)を受信する(ステップS101)。判定情報特定部102は、進行度情報記憶部201に格納されている進行度情報(図5に例示)を参照することによって、検知装置ID「D3」に関連付けされた進行度「S2」と、該検知装置IDに関連付けされた判定情報「D1」とを特定する(ステップS102)。
次に、順序情報作成部103は、履歴情報記憶部202に格納されている履歴情報(図4に例示)を参照することによって、タイミング「T2」よりも前のタイミング(たとえば、タイミング「T1」)にて作成された履歴情報であって、処理装置ID「M1」に関する出力情報を含む履歴情報(図4の1行目に示す履歴情報)を特定する(ステップS103)。次に、順序情報作成部103は、特定した履歴情報に含まれている検知装置IDが、該履歴情報に含まれているタイミングの順に並べられた順序情報(この例では、「D1」)を作成する(ステップS104)。
進行度算出部104は、順序情報作成部103が作成した順序情報(この例では、「D1」)に含まれている検知装置IDが、判定情報特定部102が特定した判定情報(この例では、「D1」)に含まれている検知装置IDの順に出現しているか否かを判定する(ステップS105)。この例においては、順序情報作成部103が作成した順序情報「D1」に含まれている検知装置IDが、判定情報特定部102が特定した判定情報「D1」に含まれている検知装置IDの順に出現している(ステップS105にてYES)。したがって、進行度算出部104は、第1情報処理装置に関する進行度が、判定情報特定部102が特定した進行度「S2」であると判定する(ステップS106)。
次に、第1の実施形態に係る診断装置101に関する効果について説明する。
本実施形態に係る診断装置101によれば、情報処理システム701にて生じた異常の程度を正確に検知することができる。この理由は、複数の検知装置が検知した結果を、単に、組み合わせることによって、診断装置101が進行度を判定するのではなく、さらに、進行度情報の判定情報に含まれている検知装置IDの順序に従って、診断装置101が進行度を判定するからである。この理由について詳細に説明する。
本願発明者は、マルウェア等の悪意を有するソフトウェアがある情報処理装置を攻撃する場合の手順には、ある傾向があることを見出した。たとえば、該手順は、後述するような手順である。
(手順1)ある情報処理装置から、他の情報処理装置が有するポートをスキャンする、
(手順2)ある情報処理装置において、強い権限を有するアカウントを作成する、
(手順3)作成したアカウントを用いて、ライブラリ等のプログラムを書き換える、
(手順4)ある情報処理装置にて、感染したプログラムを実行する、
(手順5)ファイルを持ち出す。
したがって、本実施形態に係る診断装置101によれば、情報処理装置に関する診断を、上述した傾向が反映された所定の手順に従って段階的に実行することによって、情報処理システム701にて生じた異常の程度を正確に検知することができる。
尚、上述した例においては、診断装置101は、検知装置が検知した場合に、情報処理装置に関する進行度を算出したが、検知装置が検知した場合に作成した情報を参照することによって、情報処理装置に関する進行度を算出してもよい。診断装置101は、上述した例に限定されない。
<第2の実施形態>
次に、上述した第1の実施形態を基本とする本発明の第2の実施形態について説明する。
以降の説明においては、本実施形態に係る特徴的な部分を中心に説明すると共に、上述した第1の実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明を省略する。
図6を参照しながら、本発明の第2の実施形態に係る診断装置111が有する構成について詳細に説明する。図6は、本発明の第2の実施形態に係る診断装置111が有する構成を示すブロック図である。
第2の実施形態に係る診断装置111は、判定情報特定部112と、順序情報作成部113と、進行度算出部114と、進行度情報記憶部115とを有する。
診断装置111は、進行度情報記憶部115に格納されている進行度情報(図8に例示、後述)と、履歴情報記憶部202に格納されている履歴情報(図4に例示)とに基づき、情報処理装置に関する進行度を算出する。進行度情報は、必ずしも、進行度情報記憶部115に格納されていなくともよく、たとえば、外部装置(不図示)等から受信されてもよい。また、履歴情報は、必ずしも、履歴情報記憶部202に格納されていなくともよく、たとえば、外部装置(不図示)等から受信されてもよい。
以降においては、情報処理システム701における検知装置が検知した情報に基づき、診断装置111が診断する基となる進行度情報(図8に例示)について説明する。その後、図7を参照しながら、診断装置111における処理について説明する。
図8を参照しながら、進行度情報について説明する。図8は、進行度情報の一例を、説明の便宜上、テーブルとして概念的に表す図である。進行度情報は、必ずしも、図8に例示されているような態様を有している必要はなく、図4に例示されているような態様を有していてもよい。また、進行度情報は、必ずしも、進行度情報記憶部115に格納されていなくともよく、たとえば、外部装置(不図示)等から受信されてもよい。
進行度情報は、検知装置を表す名称と、該診断装置によって判定される進行度とが関連付けされている。進行度情報は、第1の実施形態にて上述した第1検知装置、乃至、第10検知装置を、それぞれ表す名称を含んでいる。検知装置の名称は、たとえば、図5に例示された進行度情報における検知装置ID(「D1」、「D2」等)を表す。
進行度情報は、以下に示す9つの進行度を含んでいる。すなわち、
○「ネットワーク探索活動」:ある情報処理装置は、他の情報処理装置が脆弱性を有しているか否かを網羅的に調べる。たとえば、ある情報処理装置は、他の情報処理装置が有するポートが開放されているか否かを網羅的に調べる。すなわち、ある情報処理装置は、通信ネットワークを介して通信接続が可能か否かを調べる。
○「C&C通信」:ある情報処理装置において確立した通信接続の回数は、他の情報処理装置において確立した通信接続の平均的な回数から乖離している。すなわち、該ある情報処理装置において確立した通信接続の回数は異常である。C&Cは、Command_and_Controlの略称を表す。
○「ラテラルムーブメント」:ある情報処理装置が、他の情報処理装置に侵入した場合に、通信ネットワークを介して、侵入した情報処理装置にて実行する処理を含む情報を、該侵入した情報処理装置に送信する。すなわち、ある情報処理装置は、通信ネットワークを介して侵入した侵入先にて実行する処理を含む処理情報を、該侵入先に送信する。
○「新規ユーザを作成し、権限を昇格」:ある情報処理装置においては、アクセス権を有したアカウントが作成され、さらに、該アカウントが使用される期間が、アカウントに関する平均的な使用期間に比べて乖離している。すなわち、ある情報処理装置においては、使用された期間が異常であるアカウントが設定される。
○「重要ファイルを検索」:ある情報処理装置においては、パスワードファイル等の所定のファイルが検索される。
○「プログラム、DLL、設定ファイル、ログ等を書き換え」:ある情報処理装置において、DLLや、パスワードファイル、実行された処理を表す情報(ログ)等のファイルが更新される。DLLは、Dynamic_Link_Libraryの略称を表す。
○「感染したプログラムを実行」:ある情報処理装置において、マルウェアである可能性が高い特定のプログラムが実行される。
○「重要ファイルにアクセス、破壊」:ある情報処理装置においては、パスワードファイル等の所定のファイルが読み取られる。さらに、該所定のファイルに対して、消去、または、復元不可能な形式に変換される等の処理が実行される。
○「重要ファイルを持ち出し」:ある情報処理装置において、パスワードファイル等の所定のファイルが通信ネットワークを介して送信される。
これらの進行度は、たとえば、図5に例示された進行度情報における検知装置ID(「S1」、「S2」等)を表す。該9つの進行度は、上から順に、マルウェア等の悪意を有するソフトウェアがある情報処理装置を攻撃する場合の手順として、本願発明者が見出した進行度である。
図8におけるテーブル形式に従い例示された進行度情報においては、進行度「ネットワーク探索活動」なる列、及び、名称「第1」、名称「第2」、及び、名称「第3」なる行において関連付けされて格納(マーキング)されている。尚、図8に例示された進行度情報においては、進行度、及び、名称が関連付けされている場合に、関連付けされている状態が丸印にて表されている。これは、たとえば、ある情報処理装置がネットワーク探索活動をしていると、第1検知装置、第2検知装置、及び、第3検知装置が検知した場合に、診断装置111が、該ある情報処理装置に関する進行度が進行度「ネットワーク探索活動」であると判定することを表す。
図8に例示された進行度情報においては、「C&C通信」なる列にて、名称「第4」なる行に丸印が格納されている。これは、診断装置111によって進行度「ネットワーク探索活動」であると判定された情報処理装置に関して、さらに、第4検知装置が検知した場合に、該診断装置111が、該情報処理装置に関する進行度が「C&C通信」であると判定することを表す。すなわち、診断装置111は、ある情報処理装置に関して、第1乃至第3検知装置が異常を検知し、その後、第4検知装置が異常を検知した場合に、該ある情報処理装置に関する進行度が進行度「C&C通信」であると判定する。
図8に例示された進行度情報における進行度「ラテラルムーブメント」に関しても、診断装置111は、進行度「C&C通信」に関して実行される処理と同様の処理を実行する。すなわち、診断装置111は、ある情報処理装置に関して、第1乃至第3検知装置が異常を検知し、その後、第4検知装置が異常を検知し、さらに、第1乃至第3検知装置が異常を検知した場合に、該ある情報処理装置に関する進行度が進行度「ラテラルムーブメント」であると判定する。
図8に例示された進行度情報においては、進行度「新規ユーザを作成し、権限を昇格」なる列にて、名称「第9」、及び、名称「第10」なる行に丸印が格納されている。これは、診断装置111によって進行度「ラテラルムーブメント」であると判定された情報処理装置と通信した第2情報処理装置に関して、さらに、第9検知装置、及び、第10検知装置が検知した場合の判定処理を表す。すなわち、該判定処理は、診断装置111が第2情報処理装置に関する進行度を進行度「新規ユーザを作成し、権限を昇格」と判定する処理である。
図8に例示された進行度情報においては、進行度「重要ファイルを検索」なる列にて、名称「第6」なる行に丸印が格納されている。これは、診断装置111によって進行度「新規ユーザを作成し、権限を昇格」であると判定された情報処理装置に関して、さらに、第6検知装置が検知した場合に、該診断装置111が、情報処理装置に関する進行度を進行度「重要ファイルを検索」と判定する処理を表す。
図8に例示された進行度情報における進行度「プログラム、DLL、設定ファイル、ログ等を書き換え」、進行度「感染したプログラムを実行」、及び、進行度「重要ファイルにアクセス、破壊」に関して、診断装置111は、進行度「重要ファイルを検索」に関する処理と同様の処理を実行する。
図8に例示された進行度情報においては、進行度「重要ファイルを持ち出し」なる列にて、名称「第1」、及び、名称「第2」なる行に丸印が記憶されている。これは、診断装置111によって進行度「重要ファイルにアクセス、破壊」であると判定された情報処理装置に関して、さらに、第1検知装置、及び、第2検知装置が検知した場合に、該診断装置111が、該情報処理装置に関する進行度が進行度「重要ファイルを持ち出し」であると判定することを表す。すなわち、診断装置111は、ある情報処理装置(または、ある情報処理装置と通信した情報処理装置)に関して、進行度「ネットワーク探索活動」乃至進行度「重要ファイルにアクセス、破壊」であると順に判定し、さらに、第1検知装置、及び、第2検知装置が該ある情報処理装置を検知した場合に、進行度が「重要ファイルを持ち出し」であると判定する。
言い換えると、図8に例示された進行度情報は、各進行度に関して、検知装置が検知した順序(すなわち、図5に例示された進行度情報における判定情報)に基づき判定される基を表す情報である。診断装置111は、図8に例示された進行度情報に基づき情報処理装置がある進行度であるか否かを判定する場合に、該進行度情報から進行度の順に、丸印が付された検知装置の名称(検知装置ID)を読み取る。診断装置111は、読み取った情報(すなわち、図5における判定情報)に基づき、該情報処理装置が該ある進行度であるか否かを判定する。
図8に例示された進行度情報において、進行度「ネットワーク探索活動」、進行度「C&C通信」、進行度「ラテラルムーブメント」、及び、進行度「重要ファイルを持ち出し」に関する判定処理は、通信ネットワークを介した通信処理に関する情報に基づき実行される。また、図8に例示された進行度情報において、進行度「新規ユーザを作成し、権限を昇格」、進行度「重要ファイルを検索」、及び、進行度「プログラム、DLL、設定ファイル、ログ等を書き換え」は、情報処理装置(または、情報処理装置において実行されるプロセス)に関する情報に基づき実行される。同様に、進行度「感染したプログラムを実行」、及び、進行度「重要ファイルにアクセス、破壊」に関する判定処理は、情報処理装置(または、情報処理装置において実行されるプロセス)に関する情報に基づき実行される。
次に、図8に例示された進行度情報に関して、複数の検知装置にて検知される場合の処理について説明する。
進行度「ネットワーク探索活動」に関する検知処理について説明する。第1検知装置は、エージェントが作成した通信情報(監視結果情報の一例)に基づき、情報処理システム701における情報処理装置間の通信状況を表すトポロジー情報に基づき、多数の情報処理装置に対して通信が実行された情報処理装置(または、プロセス)を検知する。第2検知装置は、エージェントが作成したプロセスポート情報に基づき、情報処理装置において異常な通信を実行しているプロセスを検知する。第3検知装置は、第1検知装置が検知したプロセスと、第2検知装置が検知したプロセスとの間において共通しているプロセスを検知する。
進行度「ラテラルムーブメント」に関する検知処理について説明する。第1検知装置は、エージェントが作成した通信情報(監視結果情報の一例)に基づき、通信状況を表すトポロジー情報に基づき、たとえば、2つの情報処理装置間にて通信が実行される頻度が急激に増大した場合に、該2つの情報処理装置(または、プロセス)を検知する。第2検知装置は、エージェントが作成したプロセスポート情報に基づき、情報処理装置において異常な通信を実行しているプロセスを検知する。第3検知装置は、第1検知装置が検知したプロセスと、第2検知装置が検知したプロセスとの間において共通しているプロセスを検知する。
進行度「新規ユーザを作成し、権限を昇格」に関する検知処理について説明する。第9検知装置は、エージェントが作成したアカウント情報(監視結果情報の一例)を参照することによって、アカウントが使用されている時間が所定の間隔以上であるアカウントを検知する。第10検知装置は、エージェントが作成したログイン情報を参照することによって、第9検知装置が検知したアカウントが使用されている時間を特定する。第10検知装置は、特定した時間が、異なるアカウントが使用されている時間の平均値から乖離しており、かつ、該アカウントが広範なアクセス権を有している場合に、該アカウント(または、該情報処理装置)が異常であると検知する。
進行度「感染したプログラムを実行」に関する検知処理について説明する。第7検知装置は、エージェントが作成したシグネチャ情報(監視結果情報の一例)を複数の情報処理装置間に関して比較することによって、異なるシグネチャ情報であるプロセスが、ある情報処理装置にて実行されている場合に、該プロセスを検知する。第8検知装置は、エージェントが作成したプロセスファイル情報(監視結果情報の一例)を参照することによって、第7検知装置が検知したプロセスがアクセスしたファイルの個数が短期間に増大したか否かを判定する。第8検知装置は、ファイルの個数が短期間に増大している場合に、該プロセスを、感染したプログラムに関するプロセスとして検知する。第5検知装置は、エージェントが作成したユーザプロセス情報を参照することによって、第8検知装置が検知したプロセスをユーザが起動したか否かを判定する。第5検知装置は、ユーザが該プロセスを起動したと判定する場合に、該プロセスが起動された情報処理装置を、マルウェアである可能性が高いプログラムが実行された情報処理装置として検知する。
進行度「重要ファイルにアクセス、破壊」に関する検知処理について説明する。第5検知装置は、エージェントが作成したユーザプロセス情報(監視結果情報の一例)を参照することによって、マルウェアである可能性が高いソフトウェアに関して起動されたプロセスを検知する。第6検知装置は、エージェントが作成したプロセスファイル情報(監視結果情報の一例)を参照することによって、第5検知装置が検知したプロセスを表すプロセスIDに関連付けされたファイルIDを特定する。第6検知装置は、特定したファイルIDが、たとえば、DLL等のファイルである場合に、該プロセスを検知する。
進行度「重要ファイルを持ち出し」に関する検知処理について説明する。第1検知装置は、エージェントが作成した通信情報(監視結果情報の一例)に基づき、情報処理システム701における情報処理装置間の通信状況を表すトポロジー情報を作成する。第1検知装置は、トポロジー情報に基づき、多数の情報処理装置に対して通信を実行した情報処理装置を検知する。さらに、第2検知装置は、エージェントが作成したプロセスポート情報(監視結果情報の一例)に基づき、異常な通信を実行しているプロセスを特定する。診断装置111は、進行度「重要ファイルを持ち出し」と判定した情報処理装置が、第1検知装置が検知した情報処理装置であり、さらに、第2検知装置したプロセスが、該情報処理装置において実行されている場合に、該情報処理装置に関する進行度が、進行度「重要ファイルを持ち出し」であると判定する。
尚、各進行度に関して実行される処理は、上述した例に限定されない。
次に、図7を参照しながら、本発明の第2の実施形態に係る診断装置111における処理について詳細に説明する。図7は、第2の実施形態に係る診断装置111における処理の流れを示すフローチャートである。
判定情報特定部112は、検知装置(説明の便宜上、第5検出装置であるとする)が出力した履歴情報を受信する(ステップS111)。上述したように、ステップS111において、判定情報特定部112は、たとえば、第5検出装置が履歴情報記憶部202に格納した履歴情報(図4に例示)を入力してもよい。判定情報特定部112は、進行度情報記憶部115に格納されている進行度情報(図8)を参照することによって、検知装置(この場合、第5検出装置)を表す検知装置IDに関連付けされた進行度と、該検知装置IDに関連付けされた判定情報とを特定する。
具体的に言い換えると、検知装置IDが「第5」である場合に、判定情報特定部112は、履歴情報(図8に例示、丸印が格納されている領域)を参照することによって、「第5」と関連付けされた進行度「プログラム、DLL、設定ファイル、ログ等を書き換え」を特定する(ステップS112)。さらに、判定情報特定部112は、進行度「感染したプログラムを実行」、及び、進行度「重要ファイルにアクセス、破壊」を特定する。判定情報特定部112は、進行度「プログラム、DLL、設定ファイル、ログ等を書き換え」に関して、該進行度よりも前の進行度である進行度「ネットワーク探索活動」乃至進行度「重要ファイルを検索」を特定する(ステップS113)。判定情報特定部112は、さらに、進行度「感染したプログラムを実行」に関して、該進行度よりも前の進行度である進行度「ネットワーク探索活動」乃至進行度「プログラム、DLL、設定ファイル、ログ等を書き換え」を特定する。
判定情報特定部112は、進行度「重要ファイルにアクセス、破壊」に関しても、進行度「ネットワーク探索活動」乃至進行度「感染したプログラムを実行」を特定する。以降の説明においては、説明の便宜上、進行度「プログラム、DLL、設定ファイル、ログ等を書き換え」の場合の例を参照しながら、診断装置111における処理について説明する。また、進行度「感染したプログラムを実行」、及び、進行度「重要ファイルにアクセス、破壊」の場合の診断装置111における処理については、進行度「プログラム、DLL、設定ファイル、ログ等を書き換え」の場合の診断装置111における処理と同様であるので、説明を省略する。
次に、判定情報特定部112は、特定した進行度を判定する場合に参照される情報を出力する検知装置ID(すなわち、各進行度に関して丸印が格納されている行における検知装置の名称)を特定し、特定した名称を、進行度の順(図8の左側から右側に向かう順)に特定する(ステップS114)。たとえば、判定情報特定部112は、進行度「ネットワーク探索活動」に関して、検知装置ID「第1」、検知装置ID「第2」、及び、検知装置ID「第3」を特定する。判定情報特定部112は、進行度「C&C通信」に関して、検知装置ID「第4」を特定する。判定情報特定部112は、進行度「ラテラルムーブメント」に関して、検知装置ID「第1」、検知装置ID「第2」、及び、検知装置ID「第3」を特定する。判定情報特定部112は、進行度「新規ユーザを作成し、権限を昇格」に関して、検知装置ID「第9」、及び、検知装置ID「第10」を特定する。さらに、判定情報特定部112は、進行度「重要ファイルを検索」に関して、検知装置ID「第6」を特定する。
ある進行度に関して複数の検知装置IDが関連付けされている場合に、図5を参照しながら説明したように、各検知装置IDが表す検知装置が処理することによって、ある情報処理装置が検知されるか否かが判定される。以降においては、説明の便宜上、ある進行度に関しては、1台の検知装置の判定結果によって、ある情報処理装置が検知されるか否かが判定されるとする。しかし、必ずしも、1台の検知装置が判定する判定結果によって、ある情報処理装置が検知されるか否かが判定されなくてもよい。
上記のように仮定する場合に、判定情報特定部112は、たとえば、検知装置ID「第1」、検知装置ID「第4」、検知装置ID「第1」、検知装置ID「第9」、及び、検知装置ID「第6」を順に含む判定情報を作成する(ステップS115)。
次に、順序情報作成部113は、履歴情報記憶部に格納されている履歴情報を参照することによって、第1タイミング以前のタイミングにて作成された履歴情報であって、第1情報処理装置に関する出力情報を含む履歴情報を特定する(ステップS116)。次に、順序情報作成部113は、特定した履歴情報に含まれている検知装置IDが、該履歴情報に含まれているタイミングの順に並べられた順序情報を作成する(ステップS117)。尚、タイミングの順は、必ずしも、履歴情報が作成されたタイミングの順である必要はない。タイミングの順は、たとえば、履歴情報が作成されたタイミングの逆順であってもよいし、所定の順序に応じて検知装置IDが並べられていればよい。
進行度算出部114は、順序情報作成部113が作成した順序情報に含まれている検知装置IDが、判定情報特定部112が特定した判定情報に含まれている検知装置IDの順に出現しているか否かを判定する(ステップS118)。進行度算出部114は、順序情報作成部113が作成した順序情報に含まれている検知装置IDが、判定情報特定部112が特定した判定情報に含まれている検知装置IDの順に出現していると判定する場合には(ステップS118にてYES)、第1情報処理装置に関する進行度が、判定情報特定部112が特定した進行度であると判定する(ステップS119)。ステップS118にてNOの場合に、進行度算出部114は、ステップS119に示された処理を実行しない。
たとえば、進行度算出部114は、順序情報作成部113が作成した順序情報が、検知装置ID「第1」、検知装置ID「第4」、検知装置ID「第1」、検知装置ID「第9」、及び、検知装置ID「第6」を順に含んでいるか否かを判定する。進行度算出部114は、含んでいると判定する場合に、該情報処理装置の進行度が、進行度「プログラム、DLL、設定ファイル、ログ等を書き換え」であると判定する。
次に、第2の実施形態に係る診断装置111に関する効果について説明する。
本実施形態に係る診断装置111によれば、情報処理システム701にて生じた異常の程度を正確に検知することができる。この理由は、第1の実施形態に係る診断装置101が該効果を奏した理由と同様である。
さらに、本実施形態に係る診断装置111によれば、一層正確に、情報処理システム701にて生じた異常の程度を正確に検知することができる。この理由は、本願発明者が見出した攻撃の手順に沿う順序にて進行度情報(図8)が作成されており、さらに、診断装置111が、該進行度情報に基づき、情報処理装置に関する異常を検知するからである。
<第3の実施形態>
図9を参照しながら、本発明の第3の実施形態に係る診断装置121が有する構成について詳細に説明する。図9は、本発明の第3の実施形態に係る診断装置121が有する構成を示すブロック図である。
第3の実施形態に係る診断装置121は、進行度特定部122と、進行度判定部123と、進行度更新部124とを有する。
診断装置121は、進行度情報記憶部212に格納されている進行度情報(図11に例示、後述)を参照することができる。診断装置121は、装置情報記憶部211に格納されている装置情報(図12に例示、後述)を、参照、及び、更新することができる。以降の説明においては、説明の便宜上、進行度情報は、進行度情報記憶部212に格納されているとするが、外部装置から受信してもよい。同様に、説明の便宜上、装置情報は、装置情報記憶部211に格納されているとするが、外部装置から受信してもよい。
図11を参照しながら、進行度情報について説明する。図11は、進行度情報記憶部212に格納されている進行度情報の一例を概念的に表す図である。進行度情報は、必ずしも、進行度情報記憶部212に格納されていなくともよく、たとえば、外部装置(不図示)等から受信されてもよい。
進行度情報は、検知装置を表す検知装置IDと、情報処理装置に関する進行度と、該情報処理装置が該進行度であり、さらに、該検知装置IDが表す検知装置が該情報処理装置に関する異常を検知した場合に、当該情報処理装置に設定される更新後の進行度(以降、「更新後進行度」)とが関連付けされた情報である。
図11に例示された進行度情報において、検知装置ID「D4」と、進行度「S2」と、更新後進行度「S3」とが関連付けされている。これは、検知装置ID「D4」が表す検知装置がある情報処理装置に関する異常を検知した場合に、情報処理装置に関する進行度が進行度「S2」であれば、診断装置121が、当該情報処理装置に関する進行度を「S3」に更新することを表す。
図8に例示されているように、各進行度の前後の進行度が一意に決まっている場合に、進行度情報は、必ずしも、更新後進行度を含んでいる必要はなく、検知装置IDと、情報処理装置に関する進行度とが関連付けされた情報であればよい。たとえば、進行度の順序が、S1、S2、S3、S4、及び、S5の順序であるとする。この場合に、診断装置121は、検知装置ID「D2」の検知装置によって作成された履歴情報に含まれている情報処理装置に関する進行度が進行度「S1」であれば、該順序に従い、該情報処理装置に関する進行度を進行度「S2」に更新することができる。
図12を参照しながら、装置情報について説明する。図12は、装置情報記憶部211に格納されている装置情報の一例を概念的に表す図である。装置情報は、必ずしも、装置情報記憶部211に格納されていなくともよく、たとえば、外部装置(不図示)等から受信されてもよい。
装置情報は、情報処理装置を一意に識別可能な処理装置IDと、該情報処理装置に関する進行度とが関連付けされた情報である。たとえば、図12に例示された装置情報においては、処理装置ID「M6」と、進行度「S2」とが関連付けされている。これは、処理装置ID「M6」が表す情報処理装置に関する進行度が進行度「S2」であることを表す。
尚、説明の便宜上、装置情報は、進行度が設定されている情報処理装置を表す処理装置IDのみが格納されているとする。しかし、装置情報は、情報処理装置に進行度が設定されていない場合に、該情報処理装置を表す処理装置IDと、進行度が設定されていないことを表す空値「」とが関連付けされた情報を含んでいてもよい。すなわち、装置情報は、図12に例示された装置情報に限定されない。
次に、図10を参照しながら、本発明の第3の実施形態に係る診断装置121における処理について詳細に説明する。図10は、第3の実施形態に係る診断装置121における処理の流れを示すフローチャートである。
説明の便宜上、ある検知装置が、第1情報処理装置に関する異常を検知し、検知した異常を表す履歴情報(たとえば、図4における1つの行)を、第1タイミングにて出力したとする。第1タイミングは、第1検知装置が異常を検知したタイミング、または、ある検知装置が異常を検知した基である出力情報を、該情報処理装置におけるエージェントが作成した時刻であってもよい。すなわち、タイミング(この場合、「第1タイミング」)は、上述した例に限定されない。
進行度特定部122は、たとえば、ある検知装置が出力した履歴情報を受信する(ステップS121)。上述したように、ステップS121において、進行度特定部122は、たとえば、ある検知装置が履歴情報記憶部(不図示)に格納した履歴情報を入力してもよい。
進行度特定部122は、進行度情報記憶部212に格納されている進行度情報を参照することによって、ある検知装置を表す検知装置IDに関連付けされた進行度と、該検知装置IDに関連付けされた更新後進行度とを特定する(ステップS122)。
たとえば、進行度特定部122は、検知装置ID「D4」が表す検知装置が出力した履歴情報を受信した場合に、進行度情報(図11に例示)において、検知装置ID「D4」に関連付けされた進行度「S2」と、検知装置ID「D4」に関連付けされた更新後進行度「S3」とを特定する。さらに、進行度特定部122は、検知装置ID「D4」が表す検知装置が出力した履歴情報を受信した場合に、進行度情報(図11)において、検知装置ID「D4」に関連付けされた進行度「S3」と、検知装置ID「D4」に関連付けされた更新後進行度「S4」とを特定する。
次に、進行度判定部123は、検知装置が出力した履歴情報(たとえば、図4における1つの行)に含まれている出力情報から、処理装置IDを読み取る(ステップS123)。進行度判定部123は、装置情報記憶部211に格納されている装置情報(図12)を参照することによって、読み取った処理装置IDに関連付けされた進行度を特定する(ステップS124)。
たとえば、履歴情報(図4)における出力情報が処理装置ID「M4」を含んでいる(すなわち、処理装置ID「M4」が表す情報処理装置に関する情報を検知装置が作成した)場合に、進行度判定部123は、装置情報(図12)において、処理装置ID「M4」に関連付けされた進行度「S2」を特定する(ステップS124)。
進行度判定部123は、進行度情報に基づき特定した進行度と、装置情報に基づき特定した進行度とが一致するか否かを判定する(ステップS125)。進行度判定部123は、進行度情報に基づき特定した進行度と、装置情報に基づき特定した進行度とが一致すると判定する場合に(ステップS125にてYES)、進行度判定部123は、読み取った処理装置IDと、更新後進行度とが関連付けされた装置情報を作成する(ステップS126)。進行度判定部123は、作成した装置情報を装置情報記憶部211に格納する。進行度判定部123は、進行度情報に基づき特定した進行度と、装置情報に基づき特定した進行度とが一致しないと判定する場合に(ステップS125にてNO)、ステップS126に示した処理を実行しない。言い換えると、進行度判定部123は、読み取った処理装置IDに関する進行度に更新後進行度を設定することによって、装置情報記憶部211に格納されている装置情報(図12)を更新する。
たとえば、進行度判定部123は、進行度情報に基づき特定した進行度「S2」と、処理装置ID「M4」に関する進行度「S2」とが一致するか否かを判定する(ステップS125)。この場合に該2つの進行度が一致しているので、進行度判定部123は、読み取った処理装置ID「M4」と、更新後進行度「S3」とが関連付けされた装置情報を作成する(ステップS126)。進行度判定部123は、作成した装置情報(図13に例示)を装置情報記憶部211に格納する。図13は、更新後の装置情報の一例を概念的に表す図である。
進行度判定部123は、検知装置IDに関連付けされている進行度が複数である場合に、各進行度に関して、ステップS124乃至ステップS126に示された処理を実行する。また、装置情報が出力情報に含まれている処理装置IDを含んでいない場合に、進行度判定部123は、該処理装置IDに関する進行度が設定されていない(たとえば、進行度が空値「」である)と判定する。進行度判定部123は、装置情報に基づき特定した進行度が空値「」である場合に、ステップS125にて、進行度情報に基づき特定した進行度が空値「」であるか否かを判定する。言い換えれば、この処理は、情報処理装置に関する進行度が設定されていない場合に、進行度判定部123が実行する処理を表す。
また、診断装置121は、装置情報を表示装置(不図示)に表示してもよい。たとえば、診断装置121は、装置情報に含まれている処理装置IDが表す情報処理装置を、丸印等のシンボルを用いて表示し、さらに、該シンボルに付されたラベルとして、該処理装置IDに関連付けされた進行度を表示する表示態様に従い、装置情報を表示装置(不図示)に表示してもよい。表示態様は、上述した例に限定されない。
次に、第3の実施形態に係る診断装置121に関する効果について説明する。
本実施形態に係る診断装置121によれば、情報処理システム701にて生じた異常の程度を正確に検知することができる。この理由は、複数の検知装置が検知した結果を、単に、組み合わせることによって、診断装置121が進行度を判定するのではなく、さらに、進行度情報における判定情報に含まれている検知装置IDの順序に従って、診断装置121が進行度を判定するからである。この理由について詳細に説明する。
本願発明者は、マルウェア等の悪意を有するソフトウェアがある情報処理装置を攻撃する場合の手順には、ある傾向があることを見出した。たとえば、該手順は、後述するような手順である。
(手順1)ある情報処理装置から、他の情報処理装置が有するポートをスキャンする、
(手順2)ある情報処理装置において、強い権限を有するアカウントを作成する、
(手順3)作成したアカウントを用いて、ライブラリ等のプログラムを書き換える、
(手順4)ある情報処理装置にて、感染したプログラムを実行する、
(手順5)ファイルを持ち出す。
したがって、本実施形態に係る診断装置121によれば、情報処理装置に関する診断を、上述した傾向に従い段階的に実行することによって、情報処理システム701にて生じた異常の程度を正確に検知することができる。
尚、上述した例においては、診断装置121は、検知装置が検知した場合に、情報処理装置に関する進行度を算出したが、検知装置が検知した場合に作成した情報を参照することによって、情報処理装置に関する進行度を算出してもよい。診断装置121は、上述した例に限定されない。
<第4の実施形態>
次に、上述した第3の実施形態を基本とする本発明の第4の実施形態について説明する。
以降の説明においては、本実施形態に係る特徴的な部分を中心に説明すると共に、上述した第3の実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明を省略する。
図14を参照しながら、本発明の第4の実施形態に係る診断装置131が有する構成について詳細に説明する。図14は、本発明の第4の実施形態に係る診断装置131が有する構成を示すブロック図である。
第4の実施形態に係る診断装置131は、進行度特定部122と、進行度判定部123と、進行度更新部124と、通信情報作成部132とを有する。
診断装置131は、進行度情報記憶部212に格納されている進行度情報(図11に例示)、及び、通信情報記憶部213に格納されている通信情報(監視結果情報の一例)を参照することができる。診断装置131は、装置情報記憶部211に格納されている装置情報(図12に例示)を、参照、及び、更新することができる。以降の説明においては、説明の便宜上、進行度情報は、進行度情報記憶部212に格納されているとするが、外部装置から受信してもよい。同様に、説明の便宜上、装置情報は、装置情報記憶部211に格納されているとするが、外部装置から受信してもよい。
本実施形態においては、説明の便宜上、装置情報は、進行度が設定されている情報処理装置を表す処理装置IDと、該処理装置IDに関する進行度とを含む(すなわち、装置情報は、空値を含まない)とする。さらに、進行度は、図8に例示されているように、順序付けされているとする。
次に、図15を参照しながら、本発明の第4の実施形態に係る診断装置131における処理について詳細に説明する。図15は、第4の実施形態に係る診断装置131における処理の流れを示すフローチャートである。
進行度特定部122と、進行度判定部123と、進行度更新部124とは、図10のステップS121乃至ステップS126に示された処理を実行する(ステップS131)。
通信情報作成部132が参照する通信情報は、情報処理システム701において実行された通信に関する送信元(情報処理装置)を表す処理装置ID(以降、「送信元ID」と表す)と、該通信に関する送信先(情報処理装置)を表す処理装置ID(以降、「宛先ID」と表す)とが関連付けされた情報である。通信情報は、さらに、該通信が実行されたタイミング、及び、該通信にて送受信されたデータサイズ等の情報が関連付けされてもよい。
通信情報作成部132は、通信情報を参照することによって、送信元IDと、宛先IDとを特定する。通信情報作成部132は、該送信元ID、及び、該宛先IDが、装置情報(図13に例示)に含まれているか否かを判定する(ステップS132)。該送信元ID、及び、該宛先IDが、装置情報に含まれている場合に(ステップS132にてYES)、通信情報作成部132は、装置情報(図13に例示)を参照することによって、送信元IDに関連付けされた進行度(以降、「送信元進行度」と表す)と、宛先IDに関連付けされた進行度(以降、「宛先進行度」と表す)とを特定する(ステップS133)。すなわち、通信情報作成部132は、ステップS133に示す処理において、送信元に関する進行度と、宛先に関する進行度とを特定する。
通信情報作成部132は、送信元進行度が、宛先進行度よりも後の進行度(すなわち、図8においては、より右側の進行度)であるか否かを判定する(ステップS134)。送信元進行度が宛先進行度よりも後の進行度である場合に(ステップS134にてYES)、通信情報作成部132は、該送信元IDと、該宛先IDとが関連付けされた通信情報を作成する(ステップS135)。送信元進行度が宛先進行度よりも前の進行度である場合に(ステップS134にてNO)、通信情報作成部132は、ステップS135及びステップS136に示された処理を実行しない。
通信情報作成部132は、各通信情報に関して、ステップS132乃至ステップS136に示された処理を実行する。
通信情報作成部132は、図16に例示されているような表示態様135に従い、装置情報、及び、通信情報を表示する(ステップS136)。図16は、表示態様の一例を表す図である。すなわち、
○装置情報に含まれている処理装置IDが表す情報処理装置を、丸印等のシンボルを用いて表示する。
○該シンボルに付されたラベルとして、該処理装置IDに関連付けされた進行度を表示する、
○作成した通信情報に含まれている送信元IDを表すシンボルから、該送信元IDに関連付けされた宛先IDを表すシンボルに向かう矢印(矢線)を表示する。
すなわち、通信情報作成部132は、進行度が設定された装置情報に関して、進行度が後の情報処理装置から、進行度が前の情報処理装置に対してデータが送信されていた場合に、該2つの情報処理装置を表すシンボルと、該シンボル間の関連を表す矢印とを表示装置に表示する。通信情報作成部132は、さらに、各シンボルに関して、該シンボルの進行度を表すラベルを表示装置(不図示)に表示する。
図16に例示された表示態様においては、グラフを用いて、装置情報、及び、通信情報が記述された一例が示されている。図16に例示されたグラフは、第1節点乃至第7節点と、2つの節点を結ぶ矢印(枝)とを有する。第1節点乃至第7節点は、それぞれ、情報処理装置を表し、該情報処理装置に関する進行度が、当該節点の付近に、ラベルとして付されている(配置されている)。たとえば、第1節点の付近に付された(配置された)ラベルは、「進行度3」であり、第6節点の付近に付された(配置された)ラベルは、「進行度1」である。
矢印は、該矢印の方向に通信が実行されたこと、及び、該矢印の方向に進行度が前(すなわち、図8に例示された進行度情報において、より左側に位置する進行度)であることを表す。たとえば、第1節点から第6節点に向かう矢印は、第1節点が表す情報処理装置から第6節点が表す情報処理装置にデータが送信されたこと、及び、第1節点が表す情報処理装置が、第6節点が表す情報処理装置に比べて進行度が後であることを表す。すなわち、図16に例示された表示態様においては、第1節点が表す情報処理装置が、第6節点が表す情報処理装置に比べて、一層、異常な状態であることを表す。言い換えれば、該矢印は、複数の異常な情報処理装置の間で、異常であると判定された通信を表す。
次に、第4の実施形態に係る診断装置131に関する効果について説明する。
本実施形態に係る診断装置131によれば、情報処理システム701にて生じた異常の程度を正確に検知することができる。この理由は、第3の実施形態に係る診断装置121が該効果を奏した理由と同様である。
さらに、本実施形態に係る診断装置131によれば、情報処理システム701において生じた異常の発生源である情報処理装置を容易に特定することができる。この理由は、通信情報作成部132が作成する通信情報(あるいは、通信情報を表示した表示(図16に例示))を参照することによって、進行度が最も後である情報処理装置のうち、他の情報処理装置に対してデータを送信した情報処理装置を特定することができるからである。
<第5の実施形態>
次に、上述した各実施形態に共通している本発明の第5の実施形態について説明する。
以降の説明においては、本実施形態に係る特徴的な部分を中心に説明すると共に、上述した各実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明を省略する。
図17を参照しながら、本発明の第5の実施形態に係る診断装置141が有する構成について詳細に説明する。図17は、本発明の第5の実施形態に係る診断装置141が有する構成を示すブロック図である。
第5の実施形態に係る診断装置141は、判定情報特定部142と、順序情報作成部143と、進行度算出部144とを有する。
診断装置141は、進行度情報記憶部145に格納されている進行度情報(図18に例示、後述)に基づき、情報処理装置に関する進行度を算出する。進行度情報は、必ずしも、進行度情報記憶部145に格納されていなくともよく、たとえば、外部装置(不図示)等から受信されてもよい。
情報処理システム701における第1検知装置は、情報処理システム701における第1情報処理装置に関する出力情報を、第1タイミングに診断装置141に対して出力する。
判定情報特定部142は、検知装置の順序を表す進行度情報(図18、後述)のうち、第1検知装置の順番と該進行度情報において該順番以前にある検知装置の順序とを特定する。たとえば、進行度情報が図18に例示された進行度情報であり、第1検知装置を表す検知装置IDが「D4」である場合に、判定情報特定部142は、順番として、左端から数えた順番を表す「4」を特定し、さらに、4番目以前にある順序「D2、D1、D3」を特定する。
順序情報作成部143は、情報処理システム701における検知装置が、情報処理装置に関する出力情報を第2タイミングに出力した履歴を表す履歴情報(図4に例示)を参照することによって、第1タイミング以前の第2タイミングにて出力された出力情報のうち、第1情報処理装置に関する出力情報を特定する。順序情報作成部143は、特定した出力情報を出力した検知装置を表す検知装置IDが、該第2タイミングの順に並べられた態様を表す順序情報を作成する。
進行度算出部144は、判定情報特定部142が特定した順序(たとえば、順序「D2、D1、D3」)に準じて、順序情報作成部143が作成した順序情報における検知装置IDが出現しているか否かを判定する。進行度算出部144は、出現していると判定する場合には、第1情報処理装置に関して、異常である程度を表す進行度を、判定情報特定部142が特定した順番(たとえば、「4」)に応じて算出する。たとえば、進行度算出部144は、順番が「4」である場合に、進行度を「S4」として算出する。
図18を参照しながら、進行度情報について詳細に説明する。図18は、進行度情報記憶部145に格納されている進行度情報の一例を概念的に表す図である。進行度情報は、必ずしも、進行度情報記憶部145に格納されていなくともよく、たとえば、外部装置(不図示)等から受信されてもよい。
図18に例示された進行度情報は、検知装置を表す検知装置IDを複数含む情報である。たとえば、進行度情報は、検知装置ID「D2」、検知装置ID「D1」、検知装置ID「D3」、検知装置ID「D4」、及び、検知装置ID「D5」等の検知装置IDを含む。各検知装置IDが表す検知装置は、情報処理システム701における情報処理装置において発生する異常を検知し、検知した異常に関する出力情報を作成する。
次に、第5の実施形態に係る診断装置141に関する効果について説明する。
本実施形態に係る診断装置141によれば、情報処理システム701にて生じた異常の程度を正確に検知することができる。この理由は、複数の検知装置が検知した結果を、単に、組み合わせることによって、診断装置141が進行度を判定するのではなく、さらに、進行度情報に含まれている検知装置IDの順序に従って検知された場合に、診断装置141が該順序に基づき進行度を判定するからである。
<第6の実施形態>
次に、上述した各実施形態に共通している本発明の第6の実施形態について説明する。
以降の説明においては、本実施形態に係る特徴的な部分を中心に説明すると共に、上述した各実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明を省略する。
図19を参照しながら、本発明の第6の実施形態に係る診断装置151が有する構成について詳細に説明する。図19は、本発明の第6の実施形態に係る診断装置151が有する構成を示すブロック図である。
第6の実施形態に係る診断装置151は、進行度特定部152と、進行度判定部153と、進行度更新部154とを有する。
診断装置151は、進行度情報記憶部155に格納されている進行度情報(図20に例示、後述)を参照することができる。診断装置151は、装置情報記憶部211に格納されている装置情報(図12に例示)を、参照、及び、更新することができる。以降の説明においては、説明の便宜上、進行度情報は、進行度情報記憶部155に格納されているとするが、外部装置から受信してもよい。同様に、説明の便宜上、装置情報は、装置情報記憶部211に格納されているとするが、外部装置から受信してもよい。
情報処理システム701における第1検知装置は、情報処理システム701における第1情報処理装置に関する出力情報を、第1タイミングに出力する。
進行度特定部152は、情報処理システム701における情報処理装置に関して、該情報処理装置が異常である程度を表す進行度を表す装置情報(図12に例示)を参照することによって、第1情報処理装置に関する進行度を特定する。
進行度判定部153は、検知装置を識別可能な検知装置IDと、進行度とが関連付けされた進行度情報(図20に例示、後述)が、第1検知装置を表す検知装置IDと、特定した進行度とが関連付けされた情報を含んでいるか否かを判定する。たとえば、第1検知装置を表す検知装置IDが「D3」であり、第1情報処理装置に関する進行度が「S1」である場合には、進行度判定部153は、進行度情報が、検知装置ID「D3」及び進行度「S1」が関連付けされた情報を含んでいるか否かを判定する。
関連された情報が進行度情報に含まれている場合に、進行度更新部154は、第1情報処理装置に関する進行度を、特定した進行度に応じて算出する。たとえば、特定した進行度が「S1」である場合に、進行度更新部154は、第1情報処理装置に関する進行度として、進行度「S1」の1つ後の進行度「S2」を算出する。
図20を参照しながら、進行度情報について説明する。図20は、進行度情報記憶部155に格納されている進行度情報の一例を概念的に表す図である。進行度情報は、必ずしも、進行度情報記憶部155に格納されていなくともよく、たとえば、外部装置(不図示)等から受信されてもよい。
進行度情報は、検知装置を表す検知装置IDと、情報処理装置に関する進行度とが関連付けされた情報である。
図20に例示された進行度情報において、検知装置ID「D4」と、進行度「S2」とが関連付けされている。これは、検知装置ID「D4」が表す検知装置がある情報処理装置に関する異常を検知した場合に、情報処理装置に関する進行度が進行度「S2」であれば、診断装置151が、当該情報処理装置に関する進行度を更新することを表す。
次に、第6の実施形態に係る診断装置151に関する効果について説明する。
本実施形態に係る診断装置151によれば、情報処理システム701にて生じた異常の程度を正確に検知することができる。この理由は、複数の検知装置が検知した結果を、単に、組み合わせることによって、診断装置151が進行度を判定するのではなく、さらに、進行度情報における判定情報に含まれている検知装置IDの順序に従って検知された場合に、診断装置151が該順序に基づき進行度を判定するからである。
(ハードウェア構成例)
上述した本発明の各実施形態における診断装置を、1つの計算処理装置(情報処理装置、コンピュータ)を用いて実現するハードウェア資源の構成例について説明する。但し、係る診断装置は、物理的または機能的に少なくとも2つの計算処理装置を用いて実現してもよい。また、係る診断装置は、専用の装置として実現してもよい。
図21は、第1の実施形態乃至第6の実施形態に係る診断装置を実現可能な計算処理装置のハードウェア構成例を概略的に示す図である。計算処理装置20は、中央処理演算装置(Central_Processing_Unit、以降「CPU」と表す)21、メモリ22、ディスク23、不揮発性記録媒体24、及び、通信インターフェース(以降、「通信IF」と表す)27を有する。計算処理装置20には、入力装置25、及び、出力装置26が接続されていてもよい。計算処理装置20は、通信IF27を介して、他の計算処理装置、及び、通信装置と情報を送受信することができる。
不揮発性記録媒体24は、コンピュータが読み取り可能な、たとえば、コンパクトディスク(Compact_Disc)、デジタルバーサタイルディスク(Digital_Versatile_Disc)である。また、不揮発性記録媒体24は、ユニバーサルシリアルバスメモリ(USBメモリ)、ソリッドステートドライブ(Solid_State_Drive)等であってもよい。不揮発性記録媒体24は、電源を供給しなくても係るプログラムを保持し、持ち運びを可能にする。不揮発性記録媒体24は、上述した媒体に限定されない。また、不揮発性記録媒体24の代わりに、通信IF27、及び、通信ネットワークを介して係るプログラムを持ち運びしてもよい。
すなわち、CPU21は、ディスク23に記憶されているソフトウェア・プログラム(コンピュータ・プログラム:以下、単に「プログラム」と称する)を、実行する際にメモリ22にコピーし、演算処理を実行する。CPU21は、プログラム実行に必要なデータをメモリ22から読み取る。表示が必要な場合には、CPU21は、出力装置26に出力結果を表示する。外部からプログラムを入力する場合、CPU21は、入力装置25からプログラムを読み取る。CPU21は、上述した図1、図2、図6、図9、図14、図17、または、図19に示す各部が表す機能(処理)に対応するところのメモリ22にある診断プログラム(図3、図7、図10、または、図15)を解釈し実行する。CPU21は、上述した本発明の各実施形態において説明した処理を順次実行する。
すなわち、このような場合、本発明は、係る診断プログラムによっても成し得ると捉えることができる。さらに、係る診断プログラムが記録されたコンピュータが読み取り可能な不揮発性の記録媒体によっても、本発明は成し得ると捉えることができる。
以上、上述した実施形態を模範的な例として本発明を説明した。しかし、本発明は、上述した実施形態には限定されない。すなわち、本発明は、本発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。
尚、上述した各実施形態の一部又は全部は、以下の付記のようにも記載されうる。しかし、上述した各実施形態により例示的に説明した本発明は、以下には限られない。
(付記1)
情報処理装置に関して、該情報処理装置に関して異常である程度の進行度を表す装置情報に基づいて、第1検知装置が第1情報処理装置に関して第1タイミングに出力した出力情報に対して、前記第1情報処理装置に関する前記進行度を特定する進行度特定手段と、
検知装置を識別可能な検知装置識別子と、前記進行度とが関連付けされた進行度情報に基づいて、前記第1検知装置を表す前記第1検知装置識別子と、前記進行度特定手段が特定した前記進行度とが関連付けされた情報が含まれているか否かを判定する進行度判定手段と、
前記進行度情報に含まれていると判定した場合に、前記第1情報処理装置に関する前記進行度を、特定した前記進行度に応じて算出する進行度更新手段と
を備える診断装置。
(付記2)
前記装置情報を格納可能な装置情報記憶手段
をさらに備え、
前記装置情報は、前記情報処理装置を識別可能な装置識別子と、該情報処理装置に関する前記進行度とが関連付けされた情報であり、
前記進行度特定手段は、前記装置情報記憶手段に格納されている前記装置情報に基づいて、前記第1情報処理装置を表す第1処理装置識別子に関連付けされた前記進行度を特定する
付記1に記載の診断装置。
(付記3)
前記進行度情報を格納している進行度情報記憶手段
をさらに備え、
前記進行度情報は、前記検知装置識別子と、前記進行度と、前記進行度に後続している進行度とが関連付けされた情報であり、
前記進行度判定手段は、前記進行度情報記憶手段に格納されている前記進行度情報に基づいて、前記第1検知装置識別子と、特定した前記進行度とに関連付けされた情報が含まれているか否かを判定する
付記1または付記2に記載の診断装置。
(付記4)
前記進行度更新手段は、前記進行度情報に基づいて、前記第1検知装置識別子と、特定した前記進行度とに関連付けされた前記後続している進行度を特定し、特定した前記後続している進行度を、前記第1情報処理装置に関する前記進行度として算出する
付記3に記載の診断装置。
(付記5)
前記進行度更新手段は、前記第1処理装置識別子と、前記第1情報処理装置に関する前記進行度とが関連付けされた情報によって、前記装置情報における前記第1情報処理装置に関する前記進行度情報を更新する
付記1乃至付記4のいずれかに記載の診断装置。
(付記6)
前記進行度情報に含まれている第2処理装置識別子が表す第2情報処理装置が、前記進行度情報に含まれている第3処理装置識別子が表す第3情報処理装置に対してデータを送信した場合であって、さらに、前記進行度情報に基づいて、前記第2情報処理装置に関する前記進行度が、前記第3情報処理装置に関する前記進行度よりも後位の進行度である場合に、前記第2処理装置識別子と、前記第3情報処理装置とが関連付けされた通信情報を作成する通信情報作成手段
をさらに備える付記5に記載の診断装置。
(付記7)
前記通信情報作成手段は、実行された通信において送信元を表す第4処理装置識別子と、宛先を表す第5処理装置識別子とが関連付けされた通信履歴情報が、前記第2処理装置識別子、及び、前記第3処理装置識別子が関連付けされた情報を含んでいるか否かを判定し、含んでいる場合に、さらに、前記進行度情報に基づいて、前記第2処理装置識別子に関連付けされた前記進行度、及び、前記第3処理装置識別子に関連付けされた前記進行度を特定し、特定した2つの前記進行度を比較する
付記6に記載の診断装置。
(付記8)
前記通信情報作成手段は、前記通信情報における前記第2処理装置識別子を表す第2シンボルと、前記第2処理装置識別子に関連付けされた前記第3処理装置識別子を表す第3シンボルと、前記第2シンボルから前記第3シンボルに向かう矢印とを表示装置に表示する
付記6または付記7に記載の診断装置。
(付記9)
記通信情報作成手段は、前記第2情報処理装置に関する前記進行度を前記第2シンボルの付近に配し、前記第3情報処理装置に関する進行度を前記第3シンボルの付近に配置する態様に従い前記表示装置に表示する
付記8に記載の診断装置。
(付記10)
情報処理装置に関して、該情報処理装置に関して異常である程度の進行度を表す装置情報に基づいて、第1検知装置が第1情報処理装置に関して第1タイミングに出力した出力情報に対して、前記第1情報処理装置に関する前記進行度を特定し、
検知装置を識別可能な検知装置識別子と、前記進行度とが関連付けされた進行度情報を参照することによって、前記第1検知装置を表す前記第1検知装置識別子と、特定した前記進行度とが関連付けされた情報が含まれているか否かを判定し、
前記進行度情報に含まれていると判定した場合に、前記第1情報処理装置に関する前記進行度を、特定した前記進行度に応じて算出する
診断方法。
(付記11)
情報処理装置に関して、該情報処理装置に関して異常である程度の進行度を表す装置情報に基づいて、第1検知装置が第1情報処理装置に関して第1タイミングに出力した出力情報に対して、前記第1情報処理装置に関する前記進行度を特定する進行度特定機能と、
検知装置を識別可能な検知装置識別子と、前記進行度とが関連付けされた進行度情報に基づいて、前記第1検知装置を表す前記第1検知装置識別子と、前記進行度特定機能によって特定された前記進行度とが関連付けされた情報が含まれているか否かを判定する進行度判定機能と、
前記進行度情報に含まれていると判定した場合に、前記第1情報処理装置に関する前記進行度を、特定した前記進行度に応じて算出する進行度更新機能と
をコンピュータに実現させる診断プログラムが記録された記録媒体。
この出願は、2015年12月9日に出願された日本出願特願2015−239829を基礎とする優先権を主張し、その開示の全てをここに取り込む。