(58)【調査した分野】(Int.Cl.,DB名)
前記攻撃の種別に関係のある情報は、時間に関する情報、データの大きさに関する情報、又はキーボードからの入力に関する情報のうち一つ以上を含む、請求項1から3のいずれか一項に記載のログ分析装置。
【発明を実施するための形態】
【0015】
本発明の各実施形態について、添付の図面を参照して説明する。本発明の各実施形態において、各装置(システム)の各構成要素は、機能単位のブロックを示している。各装置(システム)の各構成要素の一部又は全部は、例えば
図18に示すような情報処理装置1000とプログラムとの任意の組み合わせにより実現される。情報処理装置1000は、一例として、以下のような構成を含む。
【0016】
・CPU(Central Processing Unit)1001
・ROM(Read Only Memory)1002
・RAM(Random Access Memory)1003
・RAM1003にロードされるプログラム1004
・プログラム1004を格納する記憶装置1005
・記録媒体1006の読み書きを行うドライブ装置1007
・通信ネットワーク1009と接続する通信インターフェース1008
・データの入出力を行う入出力インターフェース1010
・各構成要素を接続するバス1011
各実施形態における各装置の各構成要素は、これらの機能を実現するプログラム1004をCPU1001が取得して実行することで実現される。各装置の各構成要素の機能を実現するプログラム1004は、例えば、予め記憶装置1005やRAM1003に格納されており、必要に応じてCPU1001が読み出す。なお、プログラム1004は、通信ネットワーク1009を介してCPU1001に供給されてもよいし、予め記録媒体1006に格納されており、ドライブ装置1007が当該プログラムを読み出してCPU1001に供給してもよい。
【0017】
各装置の実現方法には、様々な変形例がある。例えば、各装置は、構成要素毎にそれぞれ別個の情報処理装置1000とプログラムとの任意の組み合わせにより実現されてもよい。また、各装置が備える複数の構成要素が、一つの情報処理装置1000とプログラムとの任意の組み合わせにより実現されてもよい。
【0018】
また、各装置の各構成要素の一部又は全部は、プロセッサ等を含む汎用または専用の回路や、これらの組み合わせによって実現される。これらは、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。各装置の各構成要素の一部又は全部は、上述した回路等とプログラムとの組み合わせによって実現されてもよい。
【0019】
各装置の各構成要素の一部又は全部が複数の情報処理装置や回路等により実現される場合には、複数の情報処理装置や回路等は、集中配置されてもよいし、分散配置されてもよい。例えば、情報処理装置や回路等は、クライアントアンドサーバシステム、クラウドコンピューティングシステム等、各々が通信ネットワークを介して接続される形態として実現されてもよい。
【0020】
(第1の実施形態)
まず、本発明の第1の実施形態について説明する。
図1は、本発明の第1の実施形態におけるログ分析装置100を示す図である。
【0021】
図1に示すとおり、本発明の第1の実施形態におけるログ分析装置100は、少なくとも、抽出部110と、判定部120とを備える。抽出部110は、攻撃に関連する通信のログから、攻撃の種別に関係のある情報を抽出する。判定部120は、攻撃の種別に関係のある情報と、攻撃の種別に応じた判定ルールとに基づいて、ログに関連する攻撃の種別を判定する。
【0022】
また、
図2は、ログ分析装置100のより具体的な構成の一例を示す。
図2に示す例では、ログ分析装置100は、抽出部110及び判定部120に加えて、ログ取得部101と、出力部102と、記憶部130とを備える。この構成では、全ての要素が一つの装置として実現されてもよいし、記憶部130とその他の要素とが、通信ネットワークを介して接続される別個の装置によって実現されてもよい。
【0023】
ログ取得部101は、攻撃種別の判定の対象となる通信のログを取得する。出力部102は、判定部120によって判定された攻撃種別の結果や、結果に関連する情報を出力する。記憶部130は、主に判定部120における攻撃の種別の判定に必要となる情報を記憶する。
図2に示す例では、記憶部130は、判定ルール記憶部131と、自動操作定義記憶部132と、手動操作定義記憶部133とを有する。判定ルール記憶部131は、攻撃の種別を判定する際の条件を記憶する。自動操作定義記憶部132は、自動の操作によって行われる攻撃に関連する特徴を記憶する。手動操作定義記憶部133は、手動の操作によって行われる攻撃に関連する特徴を記憶する。
【0024】
続いて、ログ分析装置100の各構成要素について説明する。
【0025】
ログ取得部101は、攻撃種別の判定の対象となる通信のログを取得する。ログ取得部101が取得するログは、主に、何らかの攻撃に関連する通信のログであることを想定する。ログ取得部101が取得するログの種類は特に限られず、pcap(packet capture)ファイルのようなバイナリファイルでもよいし、又はプロキシログのようなテキストファイルでもよい。また、攻撃の種類は特に制限されず、例えば、スキャン攻撃や不正アクセスを目的とした攻撃が、想定される攻撃に含まれる。
【0026】
抽出部110は、攻撃に関連する通信のログから、攻撃の種別に関係のある情報を抽出する。通信のログは、例えばログ取得部101によって取得されたログである。抽出部110は、通信のセッションやその他の予め定められた期間を単位として、攻撃の種別に関係のある情報を抽出する。
【0027】
セッションを単位として攻撃の種別に関係のある情報が抽出される場合には、セッションの区別には、送信元のIP(Internet Protocol)アドレス、送信元のポート番号、宛先のIPアドレス、宛先のポート番号、プロトコル及びその他の情報が用いられる。
【0028】
また、攻撃の種別に関係のある情報には、例えば、時間に関する情報や、データの大きさに関する情報、キーボードからの入力に関する情報が含まれる。抽出部110は、一例として、これらの情報をログから抽出する。なお、攻撃の種別に関係のある情報はこれらに限られず、抽出部110は、他の情報を攻撃の種別に関係のある情報として取得してもよい。
【0029】
時間に関する情報には、例えば、送信元からの応答時間や、パケットの到達間隔、あるパケットとその前のパケットとの到達時間差が含まれる。また、これらの平均や標準偏差等の統計的な値が時間に関する情報として求められてもよい。データの大きさに関する情報には、例えば、対象となるセッションにおいて受信したパケットサイズが含まれる。また、パケットサイズの平均や標準偏差等の統計的な値が時間に関する情報として求められてもよい。キーボードからの入力に関する情報には、例えば、特定のキーの入力の有無が含まれる。ただし、時間に関する情報、データの大きさに関する情報及びキーボードからの入力に関する情報の各々には、上述した情報以外の情報が含まれてもよい。
【0030】
抽出部110は、ログを順次参照して、上述した情報を抽出する。また、抽出部110は、抽出した情報を用いて、更に上述した統計的な値を求めてもよい。
ログを参照する場合には、抽出部110は、ログの種類に応じた手段を適宜用いてログを参照する。
【0031】
ログがpcapファイルである場合には、抽出部110は、ファイルの先頭から順に、pcapヘッダや各プロトコルレイヤーのヘッダに格納された値を取得する。抽出部110は、TCP(Transmission Control Protocol)ペイロードのサイズやキーボードからの入力等、ヘッダに記録されていない情報も併せて取得してもよい。抽出部110は、取得された値をセッション毎にまとめ、例えば後述する
図3のような形式にて記憶部130やその他の要素に必要に応じて適宜格納する。pcapファイルの最後まで参照した場合には、抽出部110は、セッション毎に記録された情報から、パケット到達間隔やパケットサイズ等の平均や標準偏差を含む他の情報を更に求めてもよい。
【0032】
図3は、攻撃の種別に関係のある情報がセッション毎に抽出された場合における、抽出部110によって抽出される情報の一例を示す。
図3において、“id”は、セッション毎に割り当てられる識別番号を示す。“src_ip”は、送信元のIPアドレスを、“src_port”は、送信元のポート番号を示す。また、“dst_ip”は、宛先のIPアドレスを、“dst_port”は、宛先のポート番号を示す。“src_ip”、“src_port”、“dst_ip”及び“dst_port”の各々の項には、具体的なアドレスやポート番号が記載されてもよい。“type”は、当該セッションにおいて用いられたプロトコルの種類を示す。
図3に示す例では、当該セッションにおいてはSSHが用いられたことを示している。また、“keyboard_input”は、指摘されたキーの入力の有無を示す。
図3に示す例では、当該項目に対する値は「“backspace”:True」である。すなわち、キーボードのバックスペースキーの入力が含まれることが示されている。
【0033】
なお、抽出部110によって抽出するセッションの数は、特に限られない。また、
図3に示す例において、セッション等の抽出の単位毎に、攻撃の種別に関係のある情報の数は限られない。すなわち、
図3に示す例においては、送信元からの応答時間の統計値やパケットサイズ等、その他の情報が更に含まれてもよい。判定部120による判定の手順等によっては、
図3に挙げられている情報の各々の少なくとも一部は、抽出されなくてもよい。
【0034】
判定部120は、抽出部110によって抽出される攻撃の種別に関係のある情報と、攻撃の種別に応じた判定ルールとに基づいて、ログに関連する攻撃の種別を判定する。判定部120は、上述した単位毎に、当該ログに関連する攻撃が、スクリプトやマルウェア等によって自動的に行われる自動攻撃であるか、又は、攻撃者が手順を逐次実行する手動攻撃であるかを判定する。
【0035】
より詳しくは、判定部120は、抽出部110によって抽出される攻撃の種別に関係のある情報と、攻撃の種別に応じた判定ルールとを照合することで、当該ログに関連する攻撃が、自動攻撃であるか、又は手動攻撃であるかを判定する。判定部120による手順について、更に説明する。
【0036】
図4は、判定部120にて用いられる判定ルールの一例を示す。判定ルールは、例えば、判定ルール記憶部131に予め記憶される。なお、判定部120は、判定ルール記憶部131に予め記憶される判定ルールに限らず、例えば外部のサーバや他の外部の装置から適宜取得した判定ルールを用いて判定を行ってもよい。
【0037】
図4に示す例において、“ID”は、各々の判定ルール毎に割り当てられ、各々の判定ルールを識別する識別情報を示す。“プロトコル”は、各々の判定ルールによって対象とされるプロトコルの種類を示す。“攻撃種別”は、各々の判定ルールによって対象とされる攻撃の種別を示す。
そして、“ルール”は、項目“プロトコル”が合致するログが、“攻撃種別”に示される攻撃の種別に関連するものであると判断するために満たすべき条件を示す。
【0038】
すなわち、“ID”が“R1”の判定ルールは、プロトコルがTelnetである通信のログについて、条件A1及びA2が共に成り立つ場合に、当該ログは自動攻撃に関するログであると判断可能であることを示す。同様に、“ID”が“R2”の判定ルールは、プロトコルがSSHである通信のログについて、条件M2が成り立つ場合に、当該ログは手動攻撃に関するログであると判断可能であることを示す。
【0039】
また、
図4に示すルールの詳細は、自動操作定義又は手動操作定義として規定される。
図5は、自動操作定義の例を示す。また、
図6は、手動操作定義の例を示す。
【0040】
自動操作定義又は手動操作定義の各々は、例えば、自動操作定義記憶部132又は手動操作定義記憶部133に予めそれぞれ記憶される。なお、判定部120は、自動操作定義記憶部132又は手動操作定義記憶部133に予め記憶される判定ルールに限らず、適宜外部のサーバ等から適宜取得した判定ルールを用いて判定を行ってもよい。
【0041】
図5及び
図6に示す例において、“識別子”は、各々のルールを識別する識別子である。“特徴”は、ログにおいて攻撃の種別に関連する特徴を示す。“条件”は、当該ルールが満たされると判断されるための特徴に対する条件を示す。
【0042】
なお、
図5及び
図6の各々において、“特徴”欄の“response_time”は、送信元IPアドレスにて指定された相手からの応答時間を示す。また、“std”は標準偏差を示し、“mean”は平均を示す。また、
図5及び
図6の各々において、“条件”欄の“s”は秒を示し、“is_true”は、“特徴”欄において指定されたキーボードの入力が存在することを示す。すなわち、送信元IPアドレスにて指定された相手からの応答時間の標準偏差が5秒未満である場合に、
図5に示すルールA1が満たされると判断できる。
【0043】
なお、
図4に示す例では、プロトコル毎に1つずつの判定ルールが設定されている。しかしながら、プロトコル毎に複数の判定ルールが設定されてもよい。プロトコルの種類はTelnet又はSSHに限られず、これ以外のプロトコルであってもよい。また、
図4に示す例では、自動攻撃又は手動攻撃の各々について、1つずつの判定ルールが設定されている。しかしながら、自動攻撃又は手動攻撃の各々について、複数の判定ルールが設定されてもよい。
【0044】
また、
図4に示す自動操作定義及び
図6に示す手動操作定義の各々についても、条件の数は図示される数に限定されない。条件は、応答時間又はキーボードからの入力に限られない。例えば、パケットサイズに関する条件やその他の条件が、
図4又は
図6に示す条件として含まれてもよい。多くの判定ルール又はそのための条件が設定されることで、より多数の種類の攻撃に対する判定が可能となる。
【0045】
図3から
図6に示す例を用いて、抽出部110によって抽出された、攻撃の種別に関係のある情報に対して、判定部120が攻撃の種別を判定する場合の処理を説明する。
【0046】
図3に示す、抽出部110によって抽出された“id”が“00001”である情報を参照すると、“type”が“SSH”である。そのため、判定部120は、
図4に示す判定ルールのうち、プロトコルが“SSH”であるルールを取得して判定を行う。つまり、判定部120は、
図3に示す情報が、
図4に示す判定ルールのうち、プロトコルが“SSH”であるルールR2を満たすか否かを判定する。すなわち、判定部120は、ルールM2を満たすか否かを判定する。
図3に示す情報がルールM2を満たす場合には、判定部120は、当該情報の抽出元となったログに関連する攻撃は、手動攻撃であると判定する。
【0047】
図6を参照すると、ルールM2は、特徴が“keyboard_input[“backspace”]”であり、条件が“is_true”である。すなわち、キーボードのバックスペースキーの入力がある場合に、当該ルールが成り立つことが示されている。一方、
図3を参照すると、“keyboard_input”との項目があり、当該項目に対する値は、「“backspace”:True」である。これは、上述のように、キーボードのバックスペースキーの入力が含まれることが示している。すなわち、ルールM2は成り立つ。
【0048】
したがって、この場合に、判定部120は、“id”が“00001”である情報の抽出元となるログに関連する攻撃は、手動攻撃であると判定する。
【0049】
出力部102は、判定部120によって判定された攻撃種別の結果や、結果に関連する情報を出力する。出力部102による出力の対象は特に限られず、例えば、任意の表示装置(不図示)において表示されるコンソールであってもよいし、ファイルであってもよい。また、出力部102によって出力される結果やその他の情報は、判定された全ての結果であってもよいし、自動攻撃又は手動攻撃と判定された結果のいずれか一方であってもよい。また、出力部102は、抽出部110によって情報を抽出した際の単位や、抽出の基準を含む他の情報を出力してもよい。通信のセッションを単位として攻撃種別の判定が行われた場合には、出力部102は、判定結果と併せて、送信元のIPアドレス、送信元のポート番号、宛先のIPアドレス、宛先のポート番号、プロトコル等を、判定された攻撃種別の結果に関連する情報として出力してもよい。
【0050】
続いて、
図7に示すフローチャートを参照して、本実施形態におけるログ分析装置100の動作を説明する。なお、この動作例は、ログ分析装置100が
図2に示す構成を備えることを想定する。
【0051】
まず、ログ取得部101は、攻撃種別の判定の対象となる通信のログを取得する(ステップS101)。このステップにおいて、ログ取得部101は、複数のログを取得してもよい。
【0052】
次に、抽出部110は、ステップS101にて取得された通信のログから、予め定められた期間やセッション等を単位として攻撃の種別に関係のある情報を抽出する(ステップS102)。ステップS101において複数のログが取得されている場合には、ステップS102の動作は、適宜繰り返して行われる。
【0053】
次に、判定部120は、ステップS102において抽出された攻撃の種別に関係のある情報と、攻撃の種別に応じた判定ルールとに基づいて、攻撃の種別を判定する(ステップS103)。ステップS102において、複数の期間やセッション等を対象として情報の抽出が行われた場合には、ステップS103の処理は適宜繰り返して行われる。
【0054】
次に、出力部102は、ステップS103において判定された、攻撃種別の結果等の情報を出力する(ステップS104)。
【0055】
以上のとおり、本実施形態におけるログ分析装置100は、通信のログから、攻撃の種別に関係のある情報を抽出し、当該情報と攻撃の種別に応じた判定ルールとに基づいて、ログに関連する攻撃の種別を判定する。ログ分析装置100による分析では、攻撃の種別に関係のある情報として、種々の情報が利用可能であり、かつ、攻撃の種別に応じた複数の判定ルールが利用可能である。
そのため、ログ分析装置100は、様々なパターンの攻撃を含む通信のログに関して、攻撃の種別を判定することができる。したがって、ログ分析装置100は、サイバー攻撃における攻撃種類の判別を容易にする。
【0056】
(第2の実施形態)
次に、本発明の第2の実施形態について説明する。
図8は、本発明の第2の実施形態におけるログ分析装置200を示す図である。
【0057】
図8に示すとおり、本発明の第2の実施形態におけるログ分析装置200は、抽出部110と、判定部120と、判定ルール生成部240とを備える。抽出部110及び判定部120は、第1の実施形態におけるログ分析装置100が備える要素と同様の要素である。判定ルール生成部240は、攻撃の種別が判定された通信のログに基づいて、判定ルールを生成する。すなわち、ログ分析装置200は、判定ルール生成部240を備える点が、ログ分析装置100と異なる。
【0058】
また、
図9は、ログ分析装置200のより具体的な構成の一例を示す。
図9に示す例では、ログ分析装置200は、抽出部110、判定部120及び判定ルール生成部240に加えて、ログ取得部101と、出力部102と、記憶部130とを備える。ログ取得部101及び出力部102は、
図2において同じ符号が付された要素と同様の要素である。また、
図9に示す例では、記憶部130は、判定ルール記憶部131と、自動操作定義記憶部132と、手動操作定義記憶部133と、通信データ記憶部234とを有する。判定ルール記憶部131、自動操作定義記憶部132及び手動操作定義記憶部133の各々は、
図2において同じ符号が付された要素と同様の要素である。通信データ記憶部234は、攻撃の種別が判定された攻撃に関連する通信のログを記憶する。すなわち、
図9に示す例では、記憶部130が通信データ記憶部234を更に有する点が、
図2に示すログ分析装置200の具体的な構成例と異なる。
【0059】
続いて、ログ分析装置200の各構成要素について説明する。なお、上述したログ分析装置100が備える要素と同様の要素については、説明を適宜省略する。
【0060】
判定ルール生成部240は、攻撃の種別が判定された通信のログに基づいて、判定ルールを生成する。生成される判定ルールは、例えば、上述した
図4から
図6のような形式にて表されるが、これには限られず、判定ルールの生成方法に応じて適宜定められればよい。判定部120は、予め用意された判定ルールに限らず、判定ルール生成部240にて生成された判定ルールに基づいて攻撃の種別を判定する。
【0061】
判定ルール生成部240は、一例として、機械学習の手法を用いて判定ルールを生成する。この場合に、判定ルール生成部240は、例えばランダムフォレストと呼ばれる手法を用いて判定ルールを生成する。
【0062】
判定ルール生成部240が、ランダムフォレストにより判定ルールを生成する場合の一例を説明する。この場合に、判定ルール生成部240は、予め自動攻撃又は手動攻撃に関連すると判定されたログの各々から、上述した攻撃の種別に関係のある情報を抽出する。すなわち、判定ルール生成部240は、これらのログの各々から、時間に関する情報、データの大きさに関する情報、又はキーボードからの入力に関する情報を含む各種の情報を抽出する。抽出された情報は、例えば上述した
図3のように表される。
【0063】
そして、判定ルール生成部240は、上述した攻撃の種別に関係のある情報を自動攻撃と手動攻撃とに分類する複数の決定木を生成する。生成される決定木の数は特に制限されず、抽出された情報の量等に応じて適宜定められればよい。このように判定ルールが生成された場合に、判定部120は、生成された決定木に基づいて攻撃の種別を判定する。すなわち、判定部120は、生成された決定木の各々による自動攻撃又は手動攻撃の分類結果の多数決により、攻撃の種別を判定する。
【0064】
なお、判定ルール生成部240は、ランダムフォレスト以外の他の機械学習の手法に基づいて判定ルールを生成してもよい。また、生成された判定ルールは、記憶部130の判定ルール記憶部131、自動操作定義記憶部132又は手動操作定義記憶部133の各々に適宜格納される。判定部120は、記憶部130の各要素に記憶された判定ルールを参照して攻撃の種別を判定する。
【0065】
判定ルール生成部240が判定ルールの生成に際して用いる通信のログは、例えば、予め通信データ記憶部234に格納される。通信データ記憶部234に記憶される通信のログは、自動攻撃又は手動攻撃のいずれかであることが判定されているログである。通信データ記憶部234に記憶される通信のログは、判定部120にて攻撃の種別が判定されたログであってもよい。このようにすることで、精度の高い判定ルールに基づいて判定部120にて攻撃の種別が判定された通信のログが、判定ルールの生成においても利用可能となる。
【0066】
通信データ記憶部234においては、通信のログは、攻撃の種別に応じて別個のファイルとして格納される。そのため、通信データ記憶部234は、ファイルを管理する表を保持する。
図10は、ファイルを管理する表の一例を示す。
図10に示すような表には、記憶されるファイルの各々について、攻撃種別とファイルを識別する情報が記載される。ファイルを識別する情報には、ファイルパスやファイルのハッシュ値が用いられる。
図10に示す例では、自動攻撃に関するログのファイルは、<ファイルパス>にて指定されるファイルである。また、手動攻撃に関するログのファイルは、<ファイルのハッシュ値>によって特定されるファイルである。
【0067】
なお、判定ルール生成部240は、通信データ記憶部234に記憶される通信のログとは異なるログを用いて判定ルールを生成してもよい。例えば、判定ルール生成部240は、予め種別が判定された、攻撃に関連する通信のログを外部のサーバ等から適宜取得し、取得した判定ルールを用いて判定ルールを作成してもよい。
【0068】
続いて、
図11に示すフローチャートを参照して、本実施形態におけるログ分析装置200の判定ルールの生成に関する動作を説明する。この動作例は、ログ分析装置200が
図9に示す構成を備えることを想定する。なお、ログ分析装置200は、ログ分析装置100と同様の動作にて情報の抽出や攻撃の種別の判定等を行う。
【0069】
まず、判定ルール生成部240は、判定ルールの生成に際して用いられる通信のログを取得する(ステップS201)。判定ルール生成部240は、記憶部130の通信データ記憶部234を適宜参照して、通信のログを取得する。
【0070】
次に、判定ルール生成部240は、ステップS201にて取得された通信のログを用いて、判定ルールを生成する(ステップS202)。
【0071】
次に、判定ルール生成部240は、ステップS202において生成された判定ルールを記憶部130の各要素に記憶するように記憶部130の内容を更新する(ステップS203)。
【0072】
以上のとおり、本実施形態におけるログ分析装置200は、判定ルールを生成する判定ルール生成部240を更に備える。判定ルール生成部240が備えられることで、判定部120は、より多くの判定ルールを用いて攻撃の種別を判定することができる。また、判定ルール生成部240は、判定部120によって判定された通信のログを用いて判定ルールを生成することができる。すなわち、判定ルール生成部240において機械学習の手法が用いられる場合に、より多くのデータを学習データとして用いることができる。したがって、ログ分析装置200は、ログ分析装置100と同様の効果を奏し、かつ、より高い精度での攻撃種類の判別を可能にする。
【0073】
(第3の実施形態)
次に、本発明の第3の実施形態について説明する。
図12は、本発明の第3の実施形態におけるログ分析装置300を示す図である。
【0074】
図12に示すとおり、本発明の第3の実施形態におけるログ分析装置300は、抽出部110と、判定部120と、判定ルール生成部240と、受信部350と、第1の観測部360とを備える。抽出部110及び判定部120は、第1の実施形態におけるログ分析装置100が備える要素と同様の要素である。判定ルール生成部240は、第2の実施形態におけるログ分析装置200が備える要素と同様の要素である。受信部350は、攻撃に関連する通信を受信する。第1の観測部360は、受信部350が受信する通信を観測する。すなわち、ログ分析装置300は、受信部350及び第1の観測部360を備える点が、ログ分析装置200と異なる。
【0075】
また、
図13は、ログ分析装置300のより具体的な構成の一例を示す。
図13に示す例では、ログ分析装置300は、抽出部110、判定部120、判定ルール生成部240、受信部350及び第1の観測部360に加えて、ログ取得部101と、出力部102と、記憶部130とを備える。ログ取得部101及び出力部102は、
図2において同じ符号が付された要素と同様の要素である。
【0076】
また、
図13に示す例では、記憶部130は、判定ルール記憶部131と、自動操作定義記憶部132と、手動操作定義記憶部133と、通信データ記憶部234と、観測データ記憶部335とを有する。判定ルール記憶部131、自動操作定義記憶部132、手動操作定義記憶部133及び通信データ記憶部234の各々は、
図2又は
図9において同じ符号が付された要素と同様の要素である。観測データ記憶部335は、第1の観測部360が、受信部350の通信を観測することで得た通信のログを記憶する。
【0077】
なお、
図12及び
図13に示す例では、判定ルール生成部240及び通信データ記憶部234を備える構成が示されている。しかしながら、ログ分析装置300は、これらの要素を備えなくてもよい。すなわち、ログ分析装置300は、第1の実施形態におけるログ分析装置100に対して、更に受信部350と、第1の観測部360とを少なくとも備える構成であってもよい。
【0078】
続いて、ログ分析装置300の各構成要素について説明する。なお、上述したログ分析装置100又はログ分析装置200が備える要素と同様の要素については、説明を適宜省略する。
【0079】
受信部350は、攻撃に関連する通信を受信する。すなわち、受信部350は、少なくとも、攻撃に関連して外部から送信される通信を受信する。攻撃に関連する通信には、例えば、スキャン攻撃や、不正アクセスを目的とした通信が含まれるが、これ以外の通信が攻撃に関連する通信に含まれてもよい。また、受信部350は、その他の通信を受信可能であってもよい。受信部350は、更に、受信した通信に対して応答するような構成であってもよい。
【0080】
受信部350は、TelnetやSSH、又はその他のプロトコルをエミュレートするハニーポット等によって実現される。また、受信部350は、TelnetやSSH又はその他のサービスが動作する任意の種類のコンピュータによって実現されてもよい。受信部350は、攻撃に関連する通信が受信可能であれば、この他の手段によって実現されてもよい。
【0081】
第1の観測部360は、受信部350が受信する通信を観測する。第1の観測部360は、例えば、tcpdumpやWireshark等により実現されるが、これらには限られない。第1の観測部360は、観測した通信を、上述したpcapファイルやテキストファイル、又はその他の種類のログファイルに記録する。
【0082】
また、本実施形態において、受信部350は、外部からの通信に応じてデータを送信する場合がある。しかしながら、受信部350から送信されるデータは、一般に、外部からの攻撃には関係のないデータである。そのため、第1の観測部360は、受信部350から送信されるデータを除外してログに記録する。ただし、第1の観測部360は、受信部350から送信されるデータを含めてログに記録してもよい。
【0083】
本実施形態においては、ログ取得部101は、第1の観測部360が、受信部350の通信を観測することで得た通信のログを取得する。ログ分析装置300が記憶部130を備える場合には、ログ取得部101は、第1の観測部360が観測し、観測データ記憶部335に記憶されたログを取得してもよい。このような構成とすることで、攻撃が行われた場合に、迅速な攻撃の種別の判定が可能となる。
【0084】
続いて、
図14に示すフローチャートを参照して、本実施形態におけるログ分析装置300の主に受信部350及び第1の観測部360に関する動作を説明する。なお、ログ分析装置300は、ログ分析装置100と同様の動作によって情報の抽出や攻撃の種別の判定等を行う。また、ログ分析装置300が判定ルール生成部240を備える場合には、判定ルール生成部240は、ログ分析装置200と同様の動作によって判定ルールの生成を行う。
【0085】
最初に、第1の観測部360は、観測を開始する(ステップS301)。第1の観測部360による観測は、受信部350が受信する通信の観測に漏れが生じないよう、受信部350による受信の開始に先行して開始される。
【0086】
次に、受信部350は、攻撃に関連する通信の受信を開始する(ステップS302)。
【0087】
次に、受信部350による受信した通信の処理、及び、第1の観測部360による当該通信の観測が行われる(ステップS303)。すなわち、受信部350は、外部からパケットを受信すると、当該パケットの処理及び応答を必要に応じて行う。この場合に、第1の観測部360は、受信部350によって行われる通信を観測する。第1の観測部360は、ログファイルのローテートやその他の必要な処理を一定時間毎、通信量やその他の条件に応じて行ってもよい。
【0088】
以上のとおり、本実施形態におけるログ分析装置300は、受信部350及び第1の観測部360を更に備える。受信部350及び第1の観測部360によって、攻撃に関する通信の受信及び観測が行われる。観測された攻撃に関する通信のログに対して、攻撃の種別の判定が行われる。したがって、ログ分析装置300は、少なくとも、第1の実施形態におけるログ分析装置100と同様の効果を奏する。また、ログ分析装置300は、迅速な攻撃種別の判定を可能とする。
【0089】
(第4の実施形態)
次に、本発明の第4の実施形態について説明する。
図15は、本発明の第4の実施形態におけるログ分析装置400を示す図である。
【0090】
図15に示すとおり、ログ分析装置400は、抽出部110と、判定部120と、判定ルール生成部240と、受信部350と、第1の観測部360と、マルウェア実行部470と、第2の観測部480と、制御部490とを備える。
【0091】
抽出部110及び判定部120は、第1の実施形態におけるログ分析装置100が備える要素と同様の要素である。判定ルール生成部240は、第2の実施形態におけるログ分析装置200が備える要素と同様の要素である。また、受信部350及び第1の観測部360は、第3の実施形態におけるログ分析装置300が備える要素と同様の要素である。
【0092】
マルウェア実行部470は、取得されたマルウェアを実行する。第2の観測部480は、マルウェア実行部470において実行されるマルウェアによる通信を観測する。制御部490は、マルウェア実行部470及び第2の観測部480の動作を制御する。
【0093】
また、
図16は、ログ分析装置400のより具体的な構成の一例を示す。
図16に示す例では、ログ分析装置400は、上述した要素に加えて、ログ取得部101と、出力部102と、記憶部130と、マルウェア取得部451とを備える。ログ取得部101、出力部102、及び記憶部130の各々は、第1から第3の実施形態までの各図において同じ符号が付された要素と同様の要素である。マルウェア取得部451は、受信部350が受信したマルウェアを取得する。
【0094】
なお、
図15及び
図16に示す例では、判定ルール生成部240及び通信データ記憶部234を備える構成が示されている。しかしながら、ログ分析装置300は、これらの要素を備えなくてもよい。
【0095】
続いて、ログ分析装置400の各構成要素について説明する。なお、上述した各実施形態において説明した要素と同様の要素については、説明を適宜省略する。
【0096】
マルウェア取得部451は、受信部350が受信したマルウェアを取得する。より詳しくは、マルウェア取得部451は、受信部350が受信したデータから、マルウェアを検出して取得する。
【0097】
マルウェア取得部451は、マルウェアの検出を、例えば、一般的なアンチウイルスソフトウェアと同様に行う。つまり、マルウェア取得部451は、受信したデータが予め定義された特徴に合致するか否か等によってマルウェアを検出して取得する。受信部350が能動的に外部への通信を行わない構成である場合には、マルウェア取得部451は、受信部350へ送信されるプログラムは全てマルウェアであるとして、送信されたプログラムを取得してもよい。取得されたマルウェアは、任意の記憶手段(不図示)に識別子と共に記憶されてもよい。
【0098】
マルウェア実行部470は、例えばマルウェア取得部451によって取得されたマルウェアを実行する。マルウェア実行部470は、マルウェア取得部451以外の手段によって取得されたマルウェアを実行してもよい。
【0099】
マルウェア実行部470は、マルウェアを実行するための一般的な環境にて実現される。すなわち、マルウェア実行部470は、OS(Operating System)の動作を模擬するエミュレータや仮想マシン等によって実現される。マルウェア実行部470を実現する手段はこれらに限られないが、マルウェアの動作に起因する問題が他の構成要素や別の装置に波及しないような態様であることが好ましい。また、マルウェアは、一般に外部への攻撃を行うことから、マルウェア実行部470において、外部への影響が生じないように通信のアクセス制御が行われてもよい。例えば、マルウェア実行部470においては、特定の外部のサーバのみへの通信が可能となるように制御が行われていてもよい。また、外部へのアクセスを制御する場合には、マルウェア実行部470には、外部のサーバに相当するダミーサーバが含まれてもよい。
【0100】
第2の観測部480は、マルウェア実行部470において実行されるマルウェアによる通信を観測する。例えば、第2の観測部480は、エミュレータや仮想マシン等と、外部のサーバやダミーサーバ等との間の通信を観測する。第2の観測部480は、一例として、tcpdumpコマンド等によって実現される。第2の観測部480は、観測した通信を、上述したpcapファイルやテキストファイルやその他の種類のログファイルに記録する。観測された結果は、マルウェアを特定するための情報と併せて通信データ記憶部234に適宜記憶される。
【0101】
制御部490は、マルウェア実行部470及び第2の観測部480の動作を制御する。制御部490は、マルウェアのマルウェア実行部470への転送、マルウェア実行部470によるマルウェアの実行又は停止、第2の観測部480による観測の開始や停止、又はその他の必要な制御を行う。制御部490は、マルウェア取得部451の各動作を制御してもよい。
【0102】
制御部490は、例えば、SCP(Secure Copy)、SFTP(Secure File Transfer Protocol)又は共有フォルダ等の手段を用いてマルウェア実行部470へマルウェアを転送する。この場合には、セキュリティが確保された手順にて行われることが好ましい。
【0103】
また、制御部490は、一例として、第2の観測部480による観測が、概ね、マルウェア実行部470によってマルウェアが実行されている間に限って行われるように制御する。つまり、この例では、制御部490は、マルウェア実行部470によるマルウェアの実行が開始される直前に第2の観測部480による観測を開始するように制御する。そして制御部490は、マルウェア実行部470によるマルウェアの実行が終了された直後に第2の観測部480による観測を停止するよう制御する。
【0104】
マルウェア実行部470によってマルウェアが実行され、第2の観測部480がマルウェアの通信を観測することで、通信のログが得られる。得られた通信のログは、自動攻撃に関するログとなる。このように得られた通信のログを用いて、判定ルール生成部240によって新たな判定ルールが生成される。そして、判定部120は、生成された判定ルールを更に用いて攻撃の種別を判定する。判定部120が生成された判定ルールを用いて攻撃の種別を判定することで、分析の精度の向上が可能となる。
【0105】
続いて、
図17に示すフローチャートを参照して、本実施形態におけるログ分析装置400の主にマルウェア取得部451、マルウェア実行部470及び第2の観測部480に関する動作を説明する。
【0106】
最初に、マルウェア取得部451は、受信部350が受信したデータからマルウェア取得する(ステップS401)。ステップS401において、マルウェア取得部451は、未取得であるマルウェアのみを取得するように動作してもよい。
【0107】
次に、制御部490は、第2の観測部480がマルウェアによる通信の観測を開始するように制御する(ステップS402)。制御に応じて、第2の観測部480は、通信の観測を開始する。
【0108】
次に、制御部490は、マルウェア実行部470がマルウェアを実行するように制御する(ステップS403)。制御に応じて、マルウェア実行部470は、マルウェアの実行を開始する。
【0109】
次に、制御部490は、マルウェア実行部470がマルウェアの実行を停止するように制御する(ステップS404)。制御に応じて、マルウェア実行部470は、マルウェアの実行を停止する。
【0110】
次に、制御部490は、第2の観測部480がマルウェアによる通信の観測を停止するように制御する(ステップS405)。制御に応じて、第2の観測部480は、通信の観測を停止する。
【0111】
最後に、制御部490は、第2の観測部480によって観測された通信のログを通信データ記憶部234に格納する(ステップS406)。
【0112】
以上のとおり、本実施形態におけるログ分析装置400は、取得したマルウェアを実行し、マルウェアによる通信を観測するための構成を更に備える。このような構成とすることで、観測されたマルウェアによる通信のログに基づいて、自動攻撃に関する判定ルールが更に生成される。そして、生成された判定ルールを用いて、攻撃の種類の判定が行われる。
【0113】
したがって、ログ分析装置400は、少なくとも、第1の実施形態におけるログ分析装置100と同様の効果を奏する。また、ログ分析装置400は、精度の高い攻撃種別の判定を可能とする。
【0114】
この発明の一部又は全部は、以下の付記のようにも記載されうるが、以下に限られない。
(付記1)
攻撃に関連する通信のログから、前記攻撃の種別に関係のある情報を抽出する抽出手段と、
前記攻撃の種別に関係のある情報と、前記攻撃の種別に応じた判定ルールとに基づいて、前記ログに関連する前記攻撃の種別を判定する判定手段と、
を備えるログ分析装置。
(付記2)
前記判定手段は、前記攻撃が自動攻撃であるか手動攻撃であるかを判定する、請求項1に記載のログ分析装置。
(付記3)
前記判定手段は、前記攻撃の種類に関係のある情報が、前記自動攻撃に関する前記判定ルール又は前記手動攻撃に関する前記判定ルールのいずれに合致するか否かに基づいて、前記攻撃が自動攻撃であるか手動攻撃であるかを判定する、付記2に記載のログ分析装置。
(付記4)
前記攻撃の種別に関係のある情報は、時間に関する情報、データの大きさに関する情報、又はキーボードからの入力に関する情報のうち一つ以上を含む、付記1から3のいずれか一項に記載のログ分析装置。
(付記5)
攻撃に関連する通信を受信する受信手段と、
前記受信手段が受信する通信を観測する第1の観測手段と、
を備える付記1から4のいずれか一項に記載のログ分析装置。
(付記6)
前記判定手段は、前記第1の観測手段が観測した前記通信のログから前記攻撃の種別に関係のある情報を抽出する、
付記5に記載のログ分析装置。
(付記7)
前記種別が判定された前記通信のログに基づいて、前記判定ルールを生成する判定ルール生成手段、
を備える付記1から6のいずれか一項に記載のログ分析装置。
(付記8)
マルウェアを実行するマルウェア実行手段と、
前記マルウェア実行手段において実行された前記マルウェアによる前記通信を観測する第2の観測手段と、
前記マルウェア実行手段及び前記第2の観測手段を制御する制御手段と、
を備える付記7に記載のログ分析装置。
(付記9)
前記判定ルール生成手段は、前記第2の観測手段によって観測された前記通信のログに基づいて、前記自動攻撃に関する前記判定ルールを生成する、
請求項8に記載のログ分析装置。
(付記10)
攻撃に関連する通信のログから、前記攻撃の種別に関係のある情報を抽出し、
前記攻撃の種別に関係のある情報と、前記攻撃の種別に応じた判定ルールとに基づいて、前記ログに関連する前記攻撃の種別を判定する、
ログ分析方法。
(付記11)
コンピュータに、
攻撃に関連する通信のログから、前記攻撃の種別に関係のある情報を抽出する処理と、
前記攻撃の種別に関係のある情報と、前記攻撃の種別に応じた判定ルールとに基づいて、前記ログに関連する前記攻撃の種別を判定する処理と、
を実行させるプログラム。