特許第6984761号(P6984761)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本電信電話株式会社の特許一覧

<>
  • 特許6984761-情報処理装置及び情報処理プログラム 図000002
  • 特許6984761-情報処理装置及び情報処理プログラム 図000003
  • 特許6984761-情報処理装置及び情報処理プログラム 図000004
  • 特許6984761-情報処理装置及び情報処理プログラム 図000005
  • 特許6984761-情報処理装置及び情報処理プログラム 図000006
  • 特許6984761-情報処理装置及び情報処理プログラム 図000007
  • 特許6984761-情報処理装置及び情報処理プログラム 図000008
  • 特許6984761-情報処理装置及び情報処理プログラム 図000009
  • 特許6984761-情報処理装置及び情報処理プログラム 図000010
  • 特許6984761-情報処理装置及び情報処理プログラム 図000011
  • 特許6984761-情報処理装置及び情報処理プログラム 図000012
  • 特許6984761-情報処理装置及び情報処理プログラム 図000013
  • 特許6984761-情報処理装置及び情報処理プログラム 図000014
  • 特許6984761-情報処理装置及び情報処理プログラム 図000015
  • 特許6984761-情報処理装置及び情報処理プログラム 図000016
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6984761
(24)【登録日】2021年11月29日
(45)【発行日】2021年12月22日
(54)【発明の名称】情報処理装置及び情報処理プログラム
(51)【国際特許分類】
   G06F 21/55 20130101AFI20211213BHJP
【FI】
   G06F21/55
【請求項の数】4
【全頁数】15
(21)【出願番号】特願2020-549949(P2020-549949)
(86)(22)【出願日】2019年5月20日
(86)【国際出願番号】JP2019019976
(87)【国際公開番号】WO2020075333
(87)【国際公開日】20200416
【審査請求日】2020年10月16日
(31)【優先権主張番号】特願2018-192048(P2018-192048)
(32)【優先日】2018年10月10日
(33)【優先権主張国】JP
(73)【特許権者】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】特許業務法人酒井国際特許事務所
(72)【発明者】
【氏名】千田 忠賢
(72)【発明者】
【氏名】鐘本 楊
(72)【発明者】
【氏名】青木 一史
【審査官】 平井 誠
(56)【参考文献】
【文献】 米国特許出願公開第2008/0010680(US,A1)
【文献】 国際公開第2014/045827(WO,A1)
【文献】 山口聖司ほか,アプリケーション層プロトコルの文脈を考慮したNIDS,情報処理学会研究報告,社団法人情報処理学会,2005年08月03日,第2005巻 第79号,p.9-16
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/55
(57)【特許請求の範囲】
【請求項1】
入力されたログ毎に、攻撃者の行動に関する要素を抽出する要素抽出部と、
形式文法を用いて前記攻撃者の行動を定義した定義情報を基に、前記定義情報において定義された行動に該当する特徴を有するログ列をログから検出する構文解析器を生成する生成部と、
前記構文解析器を用いて、前記要素抽出部によって抽出された前記要素から成るログから、前記定義情報において定義された行動に該当する特徴を有するログ列を検出する構文解析部と、
前記構文解析部によって検出されたログ列を再構築し、再構築後の各ログ列に、前記定義情報において定義された行動を表すラベルを付加し、前記ラベルを付加したログ列を、攻撃者の一連の行動に該当するログとして出力する再構築部と、
を有することを特徴とする情報処理装置。
【請求項2】
前記定義情報は、要素を終端記号として扱った形式文法が用いられることを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記定義情報は、前記攻撃者の行動の順序を示す情報を含み、
前記再構築部は、前記ラベルを付加したログ列を、定義情報が示す順序で配置し、該ログを、攻撃者の一連の行動に該当するログとして出力することを特徴とする請求項1に記載の情報処理装置。
【請求項4】
入力されたログ毎に、攻撃者の行動に関する要素を抽出するステップと、
形式文法を用いて前記攻撃者の行動を定義した定義情報を基に、前記定義情報において定義された行動に該当する特徴を有するログ列をログから検出する構文解析器を生成するステップと、
前記構文解析器を用いて、前記要素するステップにおいて抽出された前記要素から成るログから、前記定義情報において定義された行動に該当する特徴を有するログ列を検出するステップと、
前記検出するステップにおいて検出されたログ列を再構築し、再構築後の各ログ列に、前記定義情報において定義された行動を表すラベルを付加し、前記ラベルを付加したログ列を、攻撃者の一連の行動に該当するログとして出力するステップと、
をコンピュータに実行させるための情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置及び情報処理プログラムに関する。
【背景技術】
【0002】
インシデント調査では、分析者が被害の発生した環境からログを収集・分析することによって、攻撃ベクトルの有無や情報漏えいの有無などの攻撃者の一連の行動を明確にする調査が必要となる。この調査は、膨大な時間を要する作業であることが知られており、調査効率化のための様々な研究が行われている。
【0003】
ここで、ログ間の明確な依存関係を表す情報を基にログを関連付ける方法(非特許文献1,2参照)の、インシデント調査への適用が提案されている。この方法においては、ログ間の明確な依存関係を表す情報として、例えば、プロセスIDと親プロセスIDなどを設定し、ログの関連付けを行う。
【0004】
また、他にも、ログ間の明確な依存関係を表す情報に限らず、ログ間に共通して現れる情報を基にログを関連付ける方法が提案されている(非特許文献3参照)。この方法においては、ログ間に共通して現れる情報として、2つのログに含まれる同一のファイル名を設定し、ログの関連付けを行う。
【0005】
また、他にも、OpenIOC frameworkがある(非特許文献4,5参照)。この方法では、ファイル名やハッシュ値などの一致を確かめる項を論理和や論理積でつないだ条件式を用いて、攻撃の痕跡を定義することができる。そして、この方法では、定義したIndicator of Compromise(IOC)を用いて、調査環境に痕跡が残っているかどうかについても調べることもできる。
【先行技術文献】
【非特許文献】
【0006】
【非特許文献1】Samuel T. King and Peter M. Chen, “Backtracking Intrusions”, ACM Transactions on Computer Systems, Vol. 23, No. 1, February 2005, Pages 51−76.
【非特許文献2】Yushan Liu et al, “Towards a Timely Causality Analysis for Enterprise Security”, NDSS, 2018.
【非特許文献3】Kexin Pei et al, “HERCULE:Attack Story Reconstruction via Community Discovery on Correlated Log Graph”, ACSAC, 2016.
【非特許文献4】Free Security Software、[online]、[平成30年9月28日検索]、インターネット<URL:https://www.fireeye.com/services/freeware.html>
【非特許文献5】IIJ−SECT、[online]、[平成30年9月28日検索]、インターネット<URL:https://sect.iij.ad.jp/d/2012/02/278431.html>
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、非特許文献1〜3に記載の方法では、攻撃者の一連の行動を見つけることのみに注力しており、見つけた攻撃者の一連の行動をその後の調査の効率化には活用していなかった。
【0008】
また、非特許文献4,5に記載の方法では、攻撃者の一連の行動を記述するだけの表現力がないという問題がある。非特許文献4,5に記載の方法では、論理和或いは論理積を使って条件式化するもので、項同士の順序性や繰り返しなどを表現することができない。
【0009】
例えば、以下の行動について考える。
項1:外部からファイルxをダウンロードした。
項2:ファイルxを実行した。
項3:外部通信が発生した。
項4:リモートログインの通信が発生した。
項5:リモートログインに失敗した。
【0010】
このとき、これらの項1から5までがその順で出現した場合は、非特許文献4,5に記載の方法によれば、既知の攻撃のパターンと類似しているため攻撃の疑いがあることを判定できる。しかしながら、非特許文献4,5に記載の方法によれば、順番を無視し各項の有無だけで考えた場合、各項に対応する行動自体は攻撃でなくとも、頻繁に発生しうることなので攻撃の疑いを持つことはできない。
【0011】
本発明は、上記に鑑みてなされたものであって、ログから攻撃者の一連の行動を形式化し、再構築することができる情報処理装置及び情報処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【0012】
上述した課題を解決し、目的を達成するために、本発明に係る情報処理装置は、入力されたログ毎に、攻撃者の行動に関する要素を抽出する要素抽出部と、形式文法を用いて攻撃者の行動を定義した定義情報を基に、定義情報において定義された行動に該当する特徴を有するログ列をログから検出する構文解析器を生成する生成部と、構文解析器を用いて、要素抽出部によって抽出された要素から成るログから、定義情報において定義された行動に該当する特徴を有するログ列を検出する構文解析部と、構文解析部によって検出されたログ列を再構築し、再構築後の各ログ列に、定義情報において定義された行動を表すラベルを付加し、ラベルを付加したログ列を、攻撃者の一連の行動に該当するログとして出力する再構築部と、を有することを特徴とする。
【発明の効果】
【0013】
本発明によれば、ログから攻撃者の一連の行動を形式化し、再構築することができる。
【図面の簡単な説明】
【0014】
図1図1は、実施の形態における情報処理システムの構成の一例を模式的に示す図である。
図2図2は、情報処理装置の構成を示すブロック図である。
図3図3は、要素抽出部における要素抽出の例を示す図である。
図4図4は、行動を形式文法で定義したファイルの一例を示す図である。
図5図5は、一般的な形式文法で行動の構文を定義した例を示す図である。
図6図6は、実施の形態における形式文法で行動の構文を定義した例を示す図である。
図7図7は、構文解析部による処理を説明する図である。
図8-1】図8−1は、再構築部のラベル付加の処理を説明する図である。
図8-2】図8−2は、再構築部のラベル付加の処理を説明する図である。
図9図9は、情報処理装置における処理の流れを示す図である。
図10図10は、実施の形態に係る情報処理方法の処理手順を示すフローチャートである。
図11図11は、行動を形式文法で定義したファイルの一例を示す図である。
図12図12は、定義を満たすログ列を含むログデータの一例を示す図である。
図13図13は、情報処理装置が出力するログの一例を示す図である。
図14図14は、プログラムが実行されることにより情報処理装置が実現されるコンピュータの一例を示す図である。
【発明を実施するための形態】
【0015】
以下、図面を参照して、本発明の一実施形態を詳細に説明する。なお、この実施形態により本発明が限定されるものではない。また、図面の記載において、同一部分には同一の符号を付して示している。
【0016】
[実施の形態]
本発明の実施の形態について説明する。本発明の実施の形態では、取得したログを基に、攻撃者の一連の行動を、形式化し、再構築を行う情報処理装置及び情報処理プログラムについて説明する。本実施の形態として、攻撃者の一連の行動を定義する多くのモデル(Cyber Kill ChainやAttack Life Cycleなど)が存在することから、攻撃自体は異なるものでも、行動が同じであれば形式化可能なパターンが存在するという観点に注目し、攻撃者の一連の行動の形式化と、形式化に従いログからの攻撃者の一連の行動の再構築を実現する技術を説明する。まず、実施の形態における情報システムの一例を説明する。
【0017】
[情報システムの構成]
図1は、実施の形態における情報処理システムの構成の一例を模式的に示す図である。図1に示す情報処理システムは、例えば、ログ保持装置100と、情報処理装置10とが、インターネットや専用線等のネットワークNを介して接続する構成を有する。
【0018】
ログ保持装置100は、分析者による調査対象のログを保持する。ログ保持装置100は、ネットワークNを介して、情報処理装置10に、調査対象のログを提供する。なお、調査対象のログは、ログ保持装置100ではなく、情報処理装置10が装置内に調査対象のログを保持していてもよい。
【0019】
情報処理装置10は、取得したログを基に、攻撃者の一連の行動を、形式化し、再構築を行い、攻撃者の一連の行動に該当するログとして出力する。情報処理装置10は、以下の手順を用いる。
【0020】
具体的には、情報処理装置10は、手順として、形式文法を用いて、攻撃者の行動を記録したログに現れる特徴的な要素及び行動間の関係性を定義し、定義を満たすようなログを抽出する。形式文法とは、非終端記号とその記号が受理するパターンをあらわす表現からなる文法であり、A = e のような形で記述される。ここで、Aは非終端記号であり、eはAが受理するパターンを表す表現である。ここで、本実施の形態において用いる形式文法は、ログから得られた要素を終端記号として扱うように変更を加えたものである。また、以降の例では、形式文法として、PEGwUC(Parsing expression grammar with Unordered choices)を用いるが、これに限定するものではない。すなわち、その他の形式文法でも同様の変更を加えた上で置き換え可能である。
【0021】
情報処理装置10は、この手順により、ログが、明確な依存関係や共通の情報を持たない場合でも関連付けることができる。また、情報処理装置10は、ログがどのような行動により記録されたものであるのかを定義できるようになる。
【0022】
[情報処理装置]
次に、情報処理装置10の構成について説明する。図2は、図1に示す情報処理装置10の構成を示すブロック図である。図2に示すように、情報処理装置10は、通信部11、入力部12、出力部13、記憶部14及び制御部15を有する。
【0023】
通信部11は、ネットワーク等を介して接続された他の装置との間で、各種情報を送受信する通信インタフェースである。通信部11は、NIC(Network Interface Card)等で実現され、LAN(Local Area Network)やインターネットなどの電気通信回線を介した他の装置と制御部15との間の通信を行う。例えば、通信部11は、ネットワークNなどを介して入力された調査対象のログを、制御部15に入力する。また、通信部11は、行動を形式文法で定義したファイルの入力を受け付け、制御部15に入力する。通信部11は、再構築された攻撃者の一連の行動に該当するログを、ネットワークN等を介して、他の装置に送信してもよい。
【0024】
入力部12は、情報処理装置10の操作者からの各種操作を受け付ける入力インタフェースである。例えば、入力部12は、タッチパネル、音声入力デバイス、キーボードやマウス等の入力デバイスによって構成される。
【0025】
出力部13は、例えば、液晶ディスプレイなどの表示装置、プリンター等の印刷装置、情報通信装置等によって実現される。出力部13は、再構築された攻撃者の一連の行動を示すログを操作者(例えば、分析者)に対して出力する。
【0026】
記憶部14は、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、又は、ハードディスク、光ディスク等の記憶装置によって実現され、情報処理装置10を動作させる処理プログラムや、処理プログラムの実行中に使用されるデータなどが記憶される。
【0027】
制御部15は、各種の処理手順などを規定したプログラム及び所要データを格納するための内部メモリを有し、これらによって種々の処理を実行する。例えば、制御部15は、CPU(Central Processing Unit)やMPU(Micro Processing Unit)などの電子回路である。制御部15は、要素抽出部151、生成部152、構文解析部153、再構築部154を有する。
【0028】
要素抽出部151は、入力されたログ毎に、攻撃者の行動に関する要素を抽出する。要素抽出部151は、調査対象のログを受け付け、記録されているログ毎に要素を抽出する。要素は、攻撃者の一連の行動を記録したログに現れる特徴的なものである。要素抽出部151は、抽出した要素のみから成るログを構文解析部153に出力する。
【0029】
要素抽出部151は、調査対象のログを受け付け、記録されているログごとに要素を抽出する。抽出対象の要素は、例えば、記録時刻、プロセスID、親プロセスID、ユーザID、コマンドライン、送信先アドレス、送信先ポート、ファイル名、DNS(Domain Name System)ドメイン名、名前解決により得られたIPアドレス、プロセス名、GETリクエストの絶対パス、POSTリクエストの絶対パス等である。要素は、攻撃者の一連の行動を記録したログに現れる特徴的なものであればよく、上記のものに限定する必要ない。また、情報処理装置10では、要素の追加や削除を適宜行うことも可能である。
【0030】
図3は、要素抽出部151における要素抽出の例を示す図である。要素抽出部151は、図3の(1)のログのうち、領域W1の記載内容から、記録時刻「2018-07-11T10:28:06.078110000Z」を抽出する(図3の(2)参照)。そして、要素抽出部151は、図3の(1)のログのうち、領域W2の記載内容から、送信先アドレス「192.168.56.101」、送信元アドレス「10.0.2.15」、送信先ポート「8080」、送信元ポート「49636」を抽出する(図3の(2)参照)。要素抽出部151は、抽出した要素から成るログを構文解析部153に出力する。
【0031】
生成部152は、形式文法を用いて攻撃者の行動を定義した定義情報を基に、定義情報において定義された行動に該当する特徴を有するログ列をログから検出する構文解析器を生成する。定義情報とは、行動を記録したログに現れる特徴的な要素を、形式文法を用いて定義したものであり、ファイル形式で入力される。定義情報には、要素を終端記号として扱った形式文法が用いられる。定義情報は、非終端記号についても定義する。また、定義情報は、攻撃者の行動の順序を示す情報を含む。構文解析器は、定義情報において定義された行動に該当する特徴を有するログ列をログから検出する機能を有する。生成部152は、生成した構文解析器を、構文解析部153に出力する。
【0032】
生成部152は、攻撃者の行動を形式文法で定義したファイルを定義情報として受け取る。図4は、行動を形式文法で定義したファイルの一例を示す図である。図4に示すファイルは、形式文法として、PEGwUCを用いている。
【0033】
ここで、一般的な形式文法では、文字を終端記号として扱うが、生成部152では、ログから得られた要素を終端記号として扱う。例えば、一般的な形式文法として、正規文法、文脈自由文法、解析表現文法、Boolean Grammar等がある。
【0034】
そして、本実施の形態において、形式文法中において終端記号を記述する際には、[(要素名1)(演算子1)(要素値1),(要素名2)(演算子2)(要素値2)),・・・]とした表記を用いる。例えば、終端記号として、[fname=“dummy.txt”]、[opcode=“FileCreate”,dport>50,dport<=80]のように、記述される。本実施の形態では、終端記号を扱う際に論理式を用いている。なお、終端記号以外の記述方法は、一般的な形式文法と同様である。
【0035】
次に、記述例を具体的に示す。図5は、一般的な形式文法で四則演算の構文を定義した例を示す図である。図6は、実施の形態における形式文法で行動の構文を定義した例を示す図である。図5に示すように、例えば、PEGwUCで四則演算の構文を定義した場合には、「‘」及び「’」で囲まれる文字が一般的なPEGwUCにおける終端記号である。これに対し、図6に示すように、本実施の形態では、「[」及び「]」で囲まれる要素の列が、PEGwUCの終端記号である。このように、生成部152は、要素を終端記号として扱った形式文法を用いる。
【0036】
生成部152は、このような攻撃者の行動を形式文法で定義したファイルを用いて、攻撃者の行動に該当する特徴を有するログ列をログから検出するための構文解析器を生成する。
【0037】
構文解析部153は、要素抽出部151によって抽出された要素のみから成るログと、生成部152が生成した構文解析器とを基に、構文解析を行う。構文解析部153は、構文解析器を用いて、要素抽出部151によって抽出された要素から成るログから、定義情報において定義された行動に該当する特徴を有するログ列を検出する。また、構文解析部153は、検出したログ列を再構築可能とする処理を行う。構文解析部153は、解析結果を再構築部154に出力する。
【0038】
構文解析部153は、構文解析器を用いて、要素を抽出するステップにおいて抽出された前記要素から成るログから、定義情報において定義された行動に該当する特徴を有するログ列を検出する構文解析を行う。この際、構文解析部153は、検出したログ列から攻撃者の一連の行動を再構築可能とする処理を行う。
【0039】
図7は、構文解析部153による処理を説明する図である。例えば、図7のログ1は、図3の(2)に示す、要素抽出部151が抽出した要素を含む。ここで、図7に示すように、構文解析部153は、構文解析器を用いて検出したログ列を、後段の処理において再構築できるように、解析木の生成や、受理した部分列の情報の記録を実行する。
【0040】
再構築部154は、構文解析部153によって検出されたログ列に、定義情報において定義された行動を表すラベルを付加し、このラベルを付加したログ列を、攻撃者の一連の行動に該当するログとして出力する。
【0041】
再構築部154は、構文解析の結果から、受理されたログ列を再構築する。再構築部154は、解析木、或いは、記録された部分列の情報を基に、ログ列を再構築する。そして、再構築部154は、再構築したログ列のうち、構文解析部153が検出したログ列に、攻撃者の行動を表すラベルを付加する。ラベルは、定義情報で定義された行動の種別を表す。行動の種別として、サイバーキルチェーンにおけるDelivery, Exploitation, InstallationやCommand and Controlなどのフェーズがある。
【0042】
図8−1及び図8−2は、再構築部154のラベル付加の処理を説明する図である。図8―1は、定義情報である形式文法ファイルP1を示す。図8―2は、ログへの、形式文法ファイルP1に定義された行動の種別に基づくラベル付与の一例を示す。なお、再構築したログ列のうち、定義情報に含まれる非終端記号に合致した部分列が含まれるログ列は、その非終端記号に対応する攻撃者の行動によるものであるとする。
【0043】
図8―2に示すように、再構築部154は、再構築により、例えば、ログ4〜53を有するログの部分列W11´が得られたとする。この部分列W11´のうち、形式文法ファイルP1に基づいて、行動「Delivery」(図8―1の枠W12参照)により記録されたログ5,6(図8―2の枠W12´参照)にラベル「Delivery」を付加する。そして、再構築部154は、部分列W11´のうち、行動「Objective」(図8―1の枠W13参照)により記録されたログ53(図8―2の枠W13´参照)にラベル「Objective」を付加する。
【0044】
なお、再構築部154は、ログ列を復元する際に、形式文法ファイルP1に示す選択を表す記号「|」により曖昧性を含む箇所を検出した場合は、選択「|」の先頭の要素から優先的に選択するものとする。これまで説明した処理によって、調査対象のログの列のうち、攻撃者の一連の行動に該当する箇所のうち、特徴的な箇所を検出することができる。
【0045】
そして、再構築部154は、形式文法ファイルP1で定義された行動の順序にしたがって、ラベル「Delivery」のログ5,6の次に、ラベル「Objective」のログ53を配置する。再構築部154は、このように、攻撃者の行動順にしたがって配置したログを、攻撃者の一連の行動を形式化して表現したログとして出力する。
【0046】
このように、再構築部154は、要素抽出部151から入力された要素から成るログを用いて、構文解析部153によって検出されたログ列を再構築する。そして、再構築部154は、再構築後のログ列にラベルを付加する。再構築部154は、この再構築してラベルを付加したログ列を、定義情報が示す順序で配置し、このログを、攻撃者の一連の行動を形式化して表現したログとして出力する。
【0047】
[処理の流れ]
図9は、情報処理装置10における処理の流れを示す図である。図9に示すように、要素抽出部151は、調査対象のログの入力を受けると(図9の矢印Y1参照)、入力されたログ毎に抽出要素を抽出して、抽出要素のみから成るログを構文解析部153に出力する(図9の矢印Y3参照)。
【0048】
一方、生成部152は、攻撃者の行動を定義したファイル(定義情報)を受けると(図9の矢印Y2参照)、構文解析器を生成し、生成した構文解析器を構文解析部153に出力する(図9の矢印Y4参照)。
【0049】
構文解析部153は、構文解析器を用いて、要素から成るログから、定義された行動に該当する特徴を有するログ列を検出する構文解析を行い、解析結果を再構築部154に出力する(図9の矢印Y5参照)。この際、構文解析部153は、抽出要素のみから成るログも、再構築部154に出力する(図9の矢印Y6参照)。
【0050】
再構築部154は、構文解析部153によって検出されたログ列を再構築した後に、ログ列にラベルを付加する。そして、再構築部154は、ラベルを付加したログ列を、定義情報が示す順序で配置したログを、攻撃者の一連の行動に該当するログとして出力する(図9の矢印Y7)。
【0051】
このように、情報処理装置10は、入力されたログから、攻撃者の一連の行動を形式化し、再構築することができる。このため、情報処理装置10からの出力を利用すれば、分析者自らが、多数のログを調査・分析して攻撃者の一連の行動を明らかにするという処理を行う必要がない。したがって、情報処理装置10によれば、従来よりも、インシデント調査に対する分析者の処理負担を軽減することができる。
【0052】
[情報処理方法の処理手順]
次に、情報処理装置10による情報処理方法の処理手順について説明する。図10は、実施の形態に係る情報処理方法の処理手順を示すフローチャートである。
【0053】
図10に示すように、要素抽出部151は、入力されたログ毎に、処理に必要な要素のみを抽出して(ステップS1)、抽出した要素のみから成るログを構文解析部153に出力する。
【0054】
一方、生成部152は、攻撃者の行動を定義したファイルに記載された行動の定義に従い構文解析器を生成し(ステップS2)、生成した構文解析器を構文解析部153に出力する。
【0055】
構文解析部153は、構文解析器を用いて、抽出された要素のみから成るログに、定義された行動に一致するログ列が存在するか否かを判定する(ステップS3)。構文解析部153が、抽出された要素のみから成るログに、定義された行動に一致するログ列が存在しないと判定した場合(ステップS3:No)、情報処理装置10は、処理を終了する。
【0056】
一方、構文解析部153が、抽出された要素のみから成るログに、定義された行動に一致するログ列が存在すると判定した場合(ステップS3:Yes)、再構築部154は、解析結果から、定義に一致したログ列を再構築し、ログ列にラベルを付加する(ステップS4)。そして、再構築部154は、ラベルを付加したログ列を、定義情報が示す順序で配置したログを、攻撃者の一連の行動に該当するログとして出力する。分析者は、攻撃者の一連の行動に該当するログを分析することによって、インシデント調査を実行する。
【0057】
[実施の形態の効果]
このように、情報処理装置10は、取得したログを基に、攻撃者の一連の行動を、形式化し、再構築を行うことによって、攻撃者の一連の行動に該当するログを出力することができる。このログを使用することによって、分析者は、多数のログを調査・分析して攻撃者の一連の行動を明らかにする処理を行わずとも、攻撃者の一連の行動を、出力されたログから検出できるようになる。したがって、情報処理装置10によれば、従来よりも、インシデント調査に対する分析者の処理負担を軽減することができる。
【0058】
また、攻撃者の一連の行動は形式文法として定義されるため、本実施の形態では、一度定義すれば、定義の共有や組み合わせ等が可能であり、柔軟に、攻撃者の一連の行動は形式文法として定義できる。このため、分析者としての経験が浅い人であっても、本情報処理装置10を用いることによって、攻撃者の一連の行動の適切な検出及び調査が可能となる。したがって、本実施の形態によれば、分析者による分析結果を一定水準まで高めることができる。
【0059】
[実施例]
本実施の形態の実施例を示す。情報処理装置10では、行動を記録したログに現れる特徴的な要素を、形式文法を用いて定義した後に、定義を満たすログ列を、調査対象のログから検出し、検出したログ列に、行動と対応するラベルを付加する。そして、情報処理装置10は、ラベルを付加したログ列を、定義情報が示す順序で配置し、該ログを、攻撃者の一連の行動に該当するログとして出力する。
【0060】
まず、攻撃者の行動を形式文法で定義したファイルについて具体的に説明する。図11は、行動を形式文法で定義したファイルの一例を示す図である。また、図12は、定義を満たすログ列を含むログデータの一例を示す図である。この例では、ログR20は、XMLで記述されており、Eventタグ(<Event>…</Event>)が1つのログに対応し、Eventタグの列がログ全体を表す。情報処理装置10では、再構築部154が、図11のファイルT1に定義された行動に該当するログ列に、その行動を表すラベルを付加する。例えば、再構築部154は、検出されたログ列W21のうちの4,5行目のログ列R21に対して、ラベル「Delivery」を付し、8,9行目のログ列R22に対して、ラベル「Installation」を付加する(図12参照)。
【0061】
図13は、情報処理装置10が出力するログの一例を示す図である。再構築部154は、形式文法ファイルT1(図11参照)が示す行動の順序にしたがって、ラベル「Delivery」のログR21の次に、ラベル「Installation」のログR22を配置する。情報処理装置10は、このように、攻撃者の行動順にしたがって配置したログを、攻撃者の一連の行動を形式化して表現したログとして出力する。
【0062】
[システム構成等]
図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部又は任意の一部が、CPU及び当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【0063】
また、本実施の形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的におこなうこともでき、あるいは、手動的に行なわれるものとして説明した処理の全部又は一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【0064】
[プログラム]
図14は、プログラムが実行されることにより、情報処理装置10が実現されるコンピュータの一例を示す図である。コンピュータ1000は、例えば、メモリ1010、CPU1020を有する。また、コンピュータ1000は、ハードディスクドライブインタフェース1030、ディスクドライブインタフェース1040、シリアルポートインタフェース1050、ビデオアダプタ1060、ネットワークインタフェース1070を有する。これらの各部は、バス1080によって接続される。
【0065】
メモリ1010は、ROM(Read Only Memory)1011及びRAM1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1100に挿入される。シリアルポートインタフェース1050は、例えばマウス1110、キーボード1120に接続される。ビデオアダプタ1060は、例えばディスプレイ1130に接続される。
【0066】
ハードディスクドライブ1090は、例えば、OS(Operating System)1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、情報処理装置10の各処理を規定するプログラムは、コンピュータにより実行可能なコードが記述されたプログラムモジュール1093として実装される。プログラムモジュール1093は、例えばハードディスクドライブ1090に記憶される。例えば、情報処理装置10における機能構成と同様の処理を実行するためのプログラムモジュール1093が、ハードディスクドライブ1090に記憶される。なお、ハードディスクドライブ1090は、SSD(Solid State Drive)により代替されてもよい。
【0067】
また、上述した実施の形態の処理で用いられる設定データは、プログラムデータ1094として、例えばメモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020が、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して実行する。
【0068】
なお、プログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。あるいは、プログラムモジュール1093及びプログラムデータ1094は、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール1093及びプログラムデータ1094は、他のコンピュータから、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
【0069】
以上、本発明者によってなされた発明を適用した実施の形態について説明したが、本実施の形態による本発明の開示の一部をなす記述及び図面により本発明は限定されることはない。すなわち、本実施の形態に基づいて当業者等によりなされる他の実施の形態、実施例及び運用技術等は全て本発明の範疇に含まれる。
【符号の説明】
【0070】
10 情報処理装置
11 通信部
12 入力部
13 出力部
14 記憶部
15 制御部
151 要素抽出部
152 生成部
153 構文解析部
154 再構築部
図1
図2
図3
図4
図5
図6
図7
図8-1】
図8-2】
図9
図10
図11
図12
図13
図14