JP6984761B2 - 情報処理装置及び情報処理プログラム - Google Patents

情報処理装置及び情報処理プログラム Download PDF

Info

Publication number
JP6984761B2
JP6984761B2 JP2020549949A JP2020549949A JP6984761B2 JP 6984761 B2 JP6984761 B2 JP 6984761B2 JP 2020549949 A JP2020549949 A JP 2020549949A JP 2020549949 A JP2020549949 A JP 2020549949A JP 6984761 B2 JP6984761 B2 JP 6984761B2
Authority
JP
Japan
Prior art keywords
log
attacker
information processing
definition information
actions
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2020549949A
Other languages
English (en)
Other versions
JPWO2020075333A1 (ja
Inventor
忠賢 千田
楊 鐘本
一史 青木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Publication of JPWO2020075333A1 publication Critical patent/JPWO2020075333A1/ja
Application granted granted Critical
Publication of JP6984761B2 publication Critical patent/JP6984761B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/034Test or assess a computer or a system

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、情報処理装置及び情報処理プログラムに関する。
インシデント調査では、分析者が被害の発生した環境からログを収集・分析することによって、攻撃ベクトルの有無や情報漏えいの有無などの攻撃者の一連の行動を明確にする調査が必要となる。この調査は、膨大な時間を要する作業であることが知られており、調査効率化のための様々な研究が行われている。
ここで、ログ間の明確な依存関係を表す情報を基にログを関連付ける方法(非特許文献1,2参照)の、インシデント調査への適用が提案されている。この方法においては、ログ間の明確な依存関係を表す情報として、例えば、プロセスIDと親プロセスIDなどを設定し、ログの関連付けを行う。
また、他にも、ログ間の明確な依存関係を表す情報に限らず、ログ間に共通して現れる情報を基にログを関連付ける方法が提案されている(非特許文献3参照)。この方法においては、ログ間に共通して現れる情報として、2つのログに含まれる同一のファイル名を設定し、ログの関連付けを行う。
また、他にも、OpenIOC frameworkがある(非特許文献4,5参照)。この方法では、ファイル名やハッシュ値などの一致を確かめる項を論理和や論理積でつないだ条件式を用いて、攻撃の痕跡を定義することができる。そして、この方法では、定義したIndicator of Compromise(IOC)を用いて、調査環境に痕跡が残っているかどうかについても調べることもできる。
Samuel T. King and Peter M. Chen, "Backtracking Intrusions", ACM Transactions on Computer Systems, Vol. 23, No. 1, February 2005, Pages 51−76. Yushan Liu et al, "Towards a Timely Causality Analysis for Enterprise Security", NDSS, 2018. Kexin Pei et al, "HERCULE:Attack Story Reconstruction via Community Discovery on Correlated Log Graph", ACSAC, 2016. Free Security Software、[online]、[平成30年9月28日検索]、インターネット<URL:https://www.fireeye.com/services/freeware.html> IIJ−SECT、[online]、[平成30年9月28日検索]、インターネット<URL:https://sect.iij.ad.jp/d/2012/02/278431.html>
しかしながら、非特許文献1〜3に記載の方法では、攻撃者の一連の行動を見つけることのみに注力しており、見つけた攻撃者の一連の行動をその後の調査の効率化には活用していなかった。
また、非特許文献4,5に記載の方法では、攻撃者の一連の行動を記述するだけの表現力がないという問題がある。非特許文献4,5に記載の方法では、論理和或いは論理積を使って条件式化するもので、項同士の順序性や繰り返しなどを表現することができない。
例えば、以下の行動について考える。
項1:外部からファイルxをダウンロードした。
項2:ファイルxを実行した。
項3:外部通信が発生した。
項4:リモートログインの通信が発生した。
項5:リモートログインに失敗した。
このとき、これらの項1から5までがその順で出現した場合は、非特許文献4,5に記載の方法によれば、既知の攻撃のパターンと類似しているため攻撃の疑いがあることを判定できる。しかしながら、非特許文献4,5に記載の方法によれば、順番を無視し各項の有無だけで考えた場合、各項に対応する行動自体は攻撃でなくとも、頻繁に発生しうることなので攻撃の疑いを持つことはできない。
本発明は、上記に鑑みてなされたものであって、ログから攻撃者の一連の行動を形式化し、再構築することができる情報処理装置及び情報処理プログラムを提供することを目的とする。
上述した課題を解決し、目的を達成するために、本発明に係る情報処理装置は、入力されたログ毎に、攻撃者の行動に関する要素を抽出する要素抽出部と、形式文法を用いて攻撃者の行動を定義した定義情報を基に、定義情報において定義された行動に該当する特徴を有するログ列をログから検出する構文解析器を生成する生成部と、構文解析器を用いて、要素抽出部によって抽出された要素から成るログから、定義情報において定義された行動に該当する特徴を有するログ列を検出する構文解析部と、構文解析部によって検出されたログ列を再構築し、再構築後の各ログ列に、定義情報において定義された行動を表すラベルを付加し、ラベルを付加したログ列を、攻撃者の一連の行動に該当するログとして出力する再構築部と、を有することを特徴とする。
本発明によれば、ログから攻撃者の一連の行動を形式化し、再構築することができる。
図1は、実施の形態における情報処理システムの構成の一例を模式的に示す図である。 図2は、情報処理装置の構成を示すブロック図である。 図3は、要素抽出部における要素抽出の例を示す図である。 図4は、行動を形式文法で定義したファイルの一例を示す図である。 図5は、一般的な形式文法で行動の構文を定義した例を示す図である。 図6は、実施の形態における形式文法で行動の構文を定義した例を示す図である。 図7は、構文解析部による処理を説明する図である。 図8−1は、再構築部のラベル付加の処理を説明する図である。 図8−2は、再構築部のラベル付加の処理を説明する図である。 図9は、情報処理装置における処理の流れを示す図である。 図10は、実施の形態に係る情報処理方法の処理手順を示すフローチャートである。 図11は、行動を形式文法で定義したファイルの一例を示す図である。 図12は、定義を満たすログ列を含むログデータの一例を示す図である。 図13は、情報処理装置が出力するログの一例を示す図である。 図14は、プログラムが実行されることにより情報処理装置が実現されるコンピュータの一例を示す図である。
以下、図面を参照して、本発明の一実施形態を詳細に説明する。なお、この実施形態により本発明が限定されるものではない。また、図面の記載において、同一部分には同一の符号を付して示している。
[実施の形態]
本発明の実施の形態について説明する。本発明の実施の形態では、取得したログを基に、攻撃者の一連の行動を、形式化し、再構築を行う情報処理装置及び情報処理プログラムについて説明する。本実施の形態として、攻撃者の一連の行動を定義する多くのモデル(Cyber Kill ChainやAttack Life Cycleなど)が存在することから、攻撃自体は異なるものでも、行動が同じであれば形式化可能なパターンが存在するという観点に注目し、攻撃者の一連の行動の形式化と、形式化に従いログからの攻撃者の一連の行動の再構築を実現する技術を説明する。まず、実施の形態における情報システムの一例を説明する。
[情報システムの構成]
図1は、実施の形態における情報処理システムの構成の一例を模式的に示す図である。図1に示す情報処理システムは、例えば、ログ保持装置100と、情報処理装置10とが、インターネットや専用線等のネットワークNを介して接続する構成を有する。
ログ保持装置100は、分析者による調査対象のログを保持する。ログ保持装置100は、ネットワークNを介して、情報処理装置10に、調査対象のログを提供する。なお、調査対象のログは、ログ保持装置100ではなく、情報処理装置10が装置内に調査対象のログを保持していてもよい。
情報処理装置10は、取得したログを基に、攻撃者の一連の行動を、形式化し、再構築を行い、攻撃者の一連の行動に該当するログとして出力する。情報処理装置10は、以下の手順を用いる。
具体的には、情報処理装置10は、手順として、形式文法を用いて、攻撃者の行動を記録したログに現れる特徴的な要素及び行動間の関係性を定義し、定義を満たすようなログを抽出する。形式文法とは、非終端記号とその記号が受理するパターンをあらわす表現からなる文法であり、A = e のような形で記述される。ここで、Aは非終端記号であり、eはAが受理するパターンを表す表現である。ここで、本実施の形態において用いる形式文法は、ログから得られた要素を終端記号として扱うように変更を加えたものである。また、以降の例では、形式文法として、PEGwUC(Parsing expression grammar with Unordered choices)を用いるが、これに限定するものではない。すなわち、その他の形式文法でも同様の変更を加えた上で置き換え可能である。
情報処理装置10は、この手順により、ログが、明確な依存関係や共通の情報を持たない場合でも関連付けることができる。また、情報処理装置10は、ログがどのような行動により記録されたものであるのかを定義できるようになる。
[情報処理装置]
次に、情報処理装置10の構成について説明する。図2は、図1に示す情報処理装置10の構成を示すブロック図である。図2に示すように、情報処理装置10は、通信部11、入力部12、出力部13、記憶部14及び制御部15を有する。
通信部11は、ネットワーク等を介して接続された他の装置との間で、各種情報を送受信する通信インタフェースである。通信部11は、NIC(Network Interface Card)等で実現され、LAN(Local Area Network)やインターネットなどの電気通信回線を介した他の装置と制御部15との間の通信を行う。例えば、通信部11は、ネットワークNなどを介して入力された調査対象のログを、制御部15に入力する。また、通信部11は、行動を形式文法で定義したファイルの入力を受け付け、制御部15に入力する。通信部11は、再構築された攻撃者の一連の行動に該当するログを、ネットワークN等を介して、他の装置に送信してもよい。
入力部12は、情報処理装置10の操作者からの各種操作を受け付ける入力インタフェースである。例えば、入力部12は、タッチパネル、音声入力デバイス、キーボードやマウス等の入力デバイスによって構成される。
出力部13は、例えば、液晶ディスプレイなどの表示装置、プリンター等の印刷装置、情報通信装置等によって実現される。出力部13は、再構築された攻撃者の一連の行動を示すログを操作者(例えば、分析者)に対して出力する。
記憶部14は、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、又は、ハードディスク、光ディスク等の記憶装置によって実現され、情報処理装置10を動作させる処理プログラムや、処理プログラムの実行中に使用されるデータなどが記憶される。
制御部15は、各種の処理手順などを規定したプログラム及び所要データを格納するための内部メモリを有し、これらによって種々の処理を実行する。例えば、制御部15は、CPU(Central Processing Unit)やMPU(Micro Processing Unit)などの電子回路である。制御部15は、要素抽出部151、生成部152、構文解析部153、再構築部154を有する。
要素抽出部151は、入力されたログ毎に、攻撃者の行動に関する要素を抽出する。要素抽出部151は、調査対象のログを受け付け、記録されているログ毎に要素を抽出する。要素は、攻撃者の一連の行動を記録したログに現れる特徴的なものである。要素抽出部151は、抽出した要素のみから成るログを構文解析部153に出力する。
要素抽出部151は、調査対象のログを受け付け、記録されているログごとに要素を抽出する。抽出対象の要素は、例えば、記録時刻、プロセスID、親プロセスID、ユーザID、コマンドライン、送信先アドレス、送信先ポート、ファイル名、DNS(Domain Name System)ドメイン名、名前解決により得られたIPアドレス、プロセス名、GETリクエストの絶対パス、POSTリクエストの絶対パス等である。要素は、攻撃者の一連の行動を記録したログに現れる特徴的なものであればよく、上記のものに限定する必要ない。また、情報処理装置10では、要素の追加や削除を適宜行うことも可能である。
図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に出力する。
生成部152は、形式文法を用いて攻撃者の行動を定義した定義情報を基に、定義情報において定義された行動に該当する特徴を有するログ列をログから検出する構文解析器を生成する。定義情報とは、行動を記録したログに現れる特徴的な要素を、形式文法を用いて定義したものであり、ファイル形式で入力される。定義情報には、要素を終端記号として扱った形式文法が用いられる。定義情報は、非終端記号についても定義する。また、定義情報は、攻撃者の行動の順序を示す情報を含む。構文解析器は、定義情報において定義された行動に該当する特徴を有するログ列をログから検出する機能を有する。生成部152は、生成した構文解析器を、構文解析部153に出力する。
生成部152は、攻撃者の行動を形式文法で定義したファイルを定義情報として受け取る。図4は、行動を形式文法で定義したファイルの一例を示す図である。図4に示すファイルは、形式文法として、PEGwUCを用いている。
ここで、一般的な形式文法では、文字を終端記号として扱うが、生成部152では、ログから得られた要素を終端記号として扱う。例えば、一般的な形式文法として、正規文法、文脈自由文法、解析表現文法、Boolean Grammar等がある。
そして、本実施の形態において、形式文法中において終端記号を記述する際には、[(要素名1)(演算子1)(要素値1),(要素名2)(演算子2)(要素値2)),・・・]とした表記を用いる。例えば、終端記号として、[fname=“dummy.txt”]、[opcode=“FileCreate”,dport>50,dport<=80]のように、記述される。本実施の形態では、終端記号を扱う際に論理式を用いている。なお、終端記号以外の記述方法は、一般的な形式文法と同様である。
次に、記述例を具体的に示す。図5は、一般的な形式文法で四則演算の構文を定義した例を示す図である。図6は、実施の形態における形式文法で行動の構文を定義した例を示す図である。図5に示すように、例えば、PEGwUCで四則演算の構文を定義した場合には、「‘」及び「’」で囲まれる文字が一般的なPEGwUCにおける終端記号である。これに対し、図6に示すように、本実施の形態では、「[」及び「]」で囲まれる要素の列が、PEGwUCの終端記号である。このように、生成部152は、要素を終端記号として扱った形式文法を用いる。
生成部152は、このような攻撃者の行動を形式文法で定義したファイルを用いて、攻撃者の行動に該当する特徴を有するログ列をログから検出するための構文解析器を生成する。
構文解析部153は、要素抽出部151によって抽出された要素のみから成るログと、生成部152が生成した構文解析器とを基に、構文解析を行う。構文解析部153は、構文解析器を用いて、要素抽出部151によって抽出された要素から成るログから、定義情報において定義された行動に該当する特徴を有するログ列を検出する。また、構文解析部153は、検出したログ列を再構築可能とする処理を行う。構文解析部153は、解析結果を再構築部154に出力する。
構文解析部153は、構文解析器を用いて、要素を抽出するステップにおいて抽出された前記要素から成るログから、定義情報において定義された行動に該当する特徴を有するログ列を検出する構文解析を行う。この際、構文解析部153は、検出したログ列から攻撃者の一連の行動を再構築可能とする処理を行う。
図7は、構文解析部153による処理を説明する図である。例えば、図7のログ1は、図3の(2)に示す、要素抽出部151が抽出した要素を含む。ここで、図7に示すように、構文解析部153は、構文解析器を用いて検出したログ列を、後段の処理において再構築できるように、解析木の生成や、受理した部分列の情報の記録を実行する。
再構築部154は、構文解析部153によって検出されたログ列に、定義情報において定義された行動を表すラベルを付加し、このラベルを付加したログ列を、攻撃者の一連の行動に該当するログとして出力する。
再構築部154は、構文解析の結果から、受理されたログ列を再構築する。再構築部154は、解析木、或いは、記録された部分列の情報を基に、ログ列を再構築する。そして、再構築部154は、再構築したログ列のうち、構文解析部153が検出したログ列に、攻撃者の行動を表すラベルを付加する。ラベルは、定義情報で定義された行動の種別を表す。行動の種別として、サイバーキルチェーンにおけるDelivery, Exploitation, InstallationやCommand and Controlなどのフェーズがある。
図8−1及び図8−2は、再構築部154のラベル付加の処理を説明する図である。図8―1は、定義情報である形式文法ファイルP1を示す。図8―2は、ログへの、形式文法ファイルP1に定義された行動の種別に基づくラベル付与の一例を示す。なお、再構築したログ列のうち、定義情報に含まれる非終端記号に合致した部分列が含まれるログ列は、その非終端記号に対応する攻撃者の行動によるものであるとする。
図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」を付加する。
なお、再構築部154は、ログ列を復元する際に、形式文法ファイルP1に示す選択を表す記号「|」により曖昧性を含む箇所を検出した場合は、選択「|」の先頭の要素から優先的に選択するものとする。これまで説明した処理によって、調査対象のログの列のうち、攻撃者の一連の行動に該当する箇所のうち、特徴的な箇所を検出することができる。
そして、再構築部154は、形式文法ファイルP1で定義された行動の順序にしたがって、ラベル「Delivery」のログ5,6の次に、ラベル「Objective」のログ53を配置する。再構築部154は、このように、攻撃者の行動順にしたがって配置したログを、攻撃者の一連の行動を形式化して表現したログとして出力する。
このように、再構築部154は、要素抽出部151から入力された要素から成るログを用いて、構文解析部153によって検出されたログ列を再構築する。そして、再構築部154は、再構築後のログ列にラベルを付加する。再構築部154は、この再構築してラベルを付加したログ列を、定義情報が示す順序で配置し、このログを、攻撃者の一連の行動を形式化して表現したログとして出力する。
[処理の流れ]
図9は、情報処理装置10における処理の流れを示す図である。図9に示すように、要素抽出部151は、調査対象のログの入力を受けると(図9の矢印Y1参照)、入力されたログ毎に抽出要素を抽出して、抽出要素のみから成るログを構文解析部153に出力する(図9の矢印Y3参照)。
一方、生成部152は、攻撃者の行動を定義したファイル(定義情報)を受けると(図9の矢印Y2参照)、構文解析器を生成し、生成した構文解析器を構文解析部153に出力する(図9の矢印Y4参照)。
構文解析部153は、構文解析器を用いて、要素から成るログから、定義された行動に該当する特徴を有するログ列を検出する構文解析を行い、解析結果を再構築部154に出力する(図9の矢印Y5参照)。この際、構文解析部153は、抽出要素のみから成るログも、再構築部154に出力する(図9の矢印Y6参照)。
再構築部154は、構文解析部153によって検出されたログ列を再構築した後に、ログ列にラベルを付加する。そして、再構築部154は、ラベルを付加したログ列を、定義情報が示す順序で配置したログを、攻撃者の一連の行動に該当するログとして出力する(図9の矢印Y7)。
このように、情報処理装置10は、入力されたログから、攻撃者の一連の行動を形式化し、再構築することができる。このため、情報処理装置10からの出力を利用すれば、分析者自らが、多数のログを調査・分析して攻撃者の一連の行動を明らかにするという処理を行う必要がない。したがって、情報処理装置10によれば、従来よりも、インシデント調査に対する分析者の処理負担を軽減することができる。
[情報処理方法の処理手順]
次に、情報処理装置10による情報処理方法の処理手順について説明する。図10は、実施の形態に係る情報処理方法の処理手順を示すフローチャートである。
図10に示すように、要素抽出部151は、入力されたログ毎に、処理に必要な要素のみを抽出して(ステップS1)、抽出した要素のみから成るログを構文解析部153に出力する。
一方、生成部152は、攻撃者の行動を定義したファイルに記載された行動の定義に従い構文解析器を生成し(ステップS2)、生成した構文解析器を構文解析部153に出力する。
構文解析部153は、構文解析器を用いて、抽出された要素のみから成るログに、定義された行動に一致するログ列が存在するか否かを判定する(ステップS3)。構文解析部153が、抽出された要素のみから成るログに、定義された行動に一致するログ列が存在しないと判定した場合(ステップS3:No)、情報処理装置10は、処理を終了する。
一方、構文解析部153が、抽出された要素のみから成るログに、定義された行動に一致するログ列が存在すると判定した場合(ステップS3:Yes)、再構築部154は、解析結果から、定義に一致したログ列を再構築し、ログ列にラベルを付加する(ステップS4)。そして、再構築部154は、ラベルを付加したログ列を、定義情報が示す順序で配置したログを、攻撃者の一連の行動に該当するログとして出力する。分析者は、攻撃者の一連の行動に該当するログを分析することによって、インシデント調査を実行する。
[実施の形態の効果]
このように、情報処理装置10は、取得したログを基に、攻撃者の一連の行動を、形式化し、再構築を行うことによって、攻撃者の一連の行動に該当するログを出力することができる。このログを使用することによって、分析者は、多数のログを調査・分析して攻撃者の一連の行動を明らかにする処理を行わずとも、攻撃者の一連の行動を、出力されたログから検出できるようになる。したがって、情報処理装置10によれば、従来よりも、インシデント調査に対する分析者の処理負担を軽減することができる。
また、攻撃者の一連の行動は形式文法として定義されるため、本実施の形態では、一度定義すれば、定義の共有や組み合わせ等が可能であり、柔軟に、攻撃者の一連の行動は形式文法として定義できる。このため、分析者としての経験が浅い人であっても、本情報処理装置10を用いることによって、攻撃者の一連の行動の適切な検出及び調査が可能となる。したがって、本実施の形態によれば、分析者による分析結果を一定水準まで高めることができる。
[実施例]
本実施の形態の実施例を示す。情報処理装置10では、行動を記録したログに現れる特徴的な要素を、形式文法を用いて定義した後に、定義を満たすログ列を、調査対象のログから検出し、検出したログ列に、行動と対応するラベルを付加する。そして、情報処理装置10は、ラベルを付加したログ列を、定義情報が示す順序で配置し、該ログを、攻撃者の一連の行動に該当するログとして出力する。
まず、攻撃者の行動を形式文法で定義したファイルについて具体的に説明する。図11は、行動を形式文法で定義したファイルの一例を示す図である。また、図12は、定義を満たすログ列を含むログデータの一例を示す図である。この例では、ログR20は、XMLで記述されており、Eventタグ(<Event>…</Event>)が1つのログに対応し、Eventタグの列がログ全体を表す。情報処理装置10では、再構築部154が、図11のファイルT1に定義された行動に該当するログ列に、その行動を表すラベルを付加する。例えば、再構築部154は、検出されたログ列W21のうちの4,5行目のログ列R21に対して、ラベル「Delivery」を付し、8,9行目のログ列R22に対して、ラベル「Installation」を付加する(図12参照)。
図13は、情報処理装置10が出力するログの一例を示す図である。再構築部154は、形式文法ファイルT1(図11参照)が示す行動の順序にしたがって、ラベル「Delivery」のログR21の次に、ラベル「Installation」のログR22を配置する。情報処理装置10は、このように、攻撃者の行動順にしたがって配置したログを、攻撃者の一連の行動を形式化して表現したログとして出力する。
[システム構成等]
図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部又は任意の一部が、CPU及び当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
また、本実施の形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的におこなうこともでき、あるいは、手動的に行なわれるものとして説明した処理の全部又は一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
[プログラム]
図14は、プログラムが実行されることにより、情報処理装置10が実現されるコンピュータの一例を示す図である。コンピュータ1000は、例えば、メモリ1010、CPU1020を有する。また、コンピュータ1000は、ハードディスクドライブインタフェース1030、ディスクドライブインタフェース1040、シリアルポートインタフェース1050、ビデオアダプタ1060、ネットワークインタフェース1070を有する。これらの各部は、バス1080によって接続される。
メモリ1010は、ROM(Read Only Memory)1011及びRAM1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1100に挿入される。シリアルポートインタフェース1050は、例えばマウス1110、キーボード1120に接続される。ビデオアダプタ1060は、例えばディスプレイ1130に接続される。
ハードディスクドライブ1090は、例えば、OS(Operating System)1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、情報処理装置10の各処理を規定するプログラムは、コンピュータにより実行可能なコードが記述されたプログラムモジュール1093として実装される。プログラムモジュール1093は、例えばハードディスクドライブ1090に記憶される。例えば、情報処理装置10における機能構成と同様の処理を実行するためのプログラムモジュール1093が、ハードディスクドライブ1090に記憶される。なお、ハードディスクドライブ1090は、SSD(Solid State Drive)により代替されてもよい。
また、上述した実施の形態の処理で用いられる設定データは、プログラムデータ1094として、例えばメモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020が、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して実行する。
なお、プログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。あるいは、プログラムモジュール1093及びプログラムデータ1094は、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール1093及びプログラムデータ1094は、他のコンピュータから、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
以上、本発明者によってなされた発明を適用した実施の形態について説明したが、本実施の形態による本発明の開示の一部をなす記述及び図面により本発明は限定されることはない。すなわち、本実施の形態に基づいて当業者等によりなされる他の実施の形態、実施例及び運用技術等は全て本発明の範疇に含まれる。
10 情報処理装置
11 通信部
12 入力部
13 出力部
14 記憶部
15 制御部
151 要素抽出部
152 生成部
153 構文解析部
154 再構築部

Claims (4)

  1. 入力されたログ毎に、攻撃者の行動に関する要素を抽出する要素抽出部と、
    形式文法を用いて前記攻撃者の行動を定義した定義情報を基に、前記定義情報において定義された行動に該当する特徴を有するログ列をログから検出する構文解析器を生成する生成部と、
    前記構文解析器を用いて、前記要素抽出部によって抽出された前記要素から成るログから、前記定義情報において定義された行動に該当する特徴を有するログ列を検出する構文解析部と、
    前記構文解析部によって検出されたログ列を再構築し、再構築後の各ログ列に、前記定義情報において定義された行動を表すラベルを付加し、前記ラベルを付加したログ列を、攻撃者の一連の行動に該当するログとして出力する再構築部と、
    を有することを特徴とする情報処理装置。
  2. 前記定義情報は、要素を終端記号として扱った形式文法が用いられることを特徴とする請求項1に記載の情報処理装置。
  3. 前記定義情報は、前記攻撃者の行動の順序を示す情報を含み、
    前記再構築部は、前記ラベルを付加したログ列を、定義情報が示す順序で配置し、該ログを、攻撃者の一連の行動に該当するログとして出力することを特徴とする請求項1に記載の情報処理装置。
  4. 入力されたログ毎に、攻撃者の行動に関する要素を抽出するステップと、
    形式文法を用いて前記攻撃者の行動を定義した定義情報を基に、前記定義情報において定義された行動に該当する特徴を有するログ列をログから検出する構文解析器を生成するステップと、
    前記構文解析器を用いて、前記要素するステップにおいて抽出された前記要素から成るログから、前記定義情報において定義された行動に該当する特徴を有するログ列を検出するステップと、
    前記検出するステップにおいて検出されたログ列を再構築し、再構築後の各ログ列に、前記定義情報において定義された行動を表すラベルを付加し、前記ラベルを付加したログ列を、攻撃者の一連の行動に該当するログとして出力するステップと、
    をコンピュータに実行させるための情報処理プログラム。
JP2020549949A 2018-10-10 2019-05-20 情報処理装置及び情報処理プログラム Active JP6984761B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2018192048 2018-10-10
JP2018192048 2018-10-10
PCT/JP2019/019976 WO2020075333A1 (ja) 2018-10-10 2019-05-20 情報処理装置及び情報処理プログラム

Publications (2)

Publication Number Publication Date
JPWO2020075333A1 JPWO2020075333A1 (ja) 2021-04-30
JP6984761B2 true JP6984761B2 (ja) 2021-12-22

Family

ID=70164211

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020549949A Active JP6984761B2 (ja) 2018-10-10 2019-05-20 情報処理装置及び情報処理プログラム

Country Status (3)

Country Link
US (1) US11907365B2 (ja)
JP (1) JP6984761B2 (ja)
WO (1) WO2020075333A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023162047A1 (ja) * 2022-02-22 2023-08-31 日本電信電話株式会社 生成装置、生成方法および生成プログラム
CN114330190B (zh) * 2022-03-04 2022-05-20 北京大学 基于多电场模型的时钟驱动fpga芯片全局布局方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080010680A1 (en) * 2006-03-24 2008-01-10 Shenyang Neusoft Co., Ltd. Event detection method
US9060017B2 (en) * 2012-02-21 2015-06-16 Logos Technologies Llc System for detecting, analyzing, and controlling infiltration of computer and network systems
JP5868514B2 (ja) * 2012-09-19 2016-02-24 三菱電機株式会社 情報処理装置及び情報処理方法及びプログラム
WO2017131963A1 (en) * 2016-01-29 2017-08-03 Acalvio Technologies, Inc. Using high-interaction networks for targeted threat intelligence

Also Published As

Publication number Publication date
WO2020075333A1 (ja) 2020-04-16
US11907365B2 (en) 2024-02-20
US20210390178A1 (en) 2021-12-16
JPWO2020075333A1 (ja) 2021-04-30

Similar Documents

Publication Publication Date Title
Carmony et al. Extract Me If You Can: Abusing PDF Parsers in Malware Detectors.
JP5579922B2 (ja) ラージ・スケール正規表現のマッチングのための二重dfa分解
Han et al. {SIGL}: Securing software installations through deep graph learning
Pham et al. Static PE malware detection using gradient boosting decision trees algorithm
CN108769081B (zh) 一种检测xss攻击的方法、装置及计算机可读存储介质
Kasim An ensemble classification-based approach to detect attack level of SQL injections
TWI439097B (zh) 跨站腳本攻擊產生方法
JP6984761B2 (ja) 情報処理装置及び情報処理プログラム
Mimura et al. Static detection of malicious PowerShell based on word embeddings
Kim et al. AIBFT: artificial intelligence browser forensic toolkit
Marashdih et al. An enhanced static taint analysis approach to detect input validation vulnerability
Liguori et al. Can we generate shellcodes via natural language? An empirical study
Leithner et al. Hydra: Feedback-driven black-box exploitation of injection vulnerabilities
CN113971284B (zh) 基于JavaScript的恶意网页检测方法、设备及计算机可读存储介质
Noman et al. A survey on detection and prevention of web vulnerabilities
Cosovan et al. A practical guide for detecting the java script-based malware using hidden markov models and linear classifiers
Carrillo-Mondejar et al. Security and Communication Network Automatic Analysis Architecture of IoT Malware Samples
US11574053B1 (en) System and method for detecting malicious scripts
Maniriho et al. MalDetConv: automated behaviour-based malware detection framework based on natural language processing and deep learning techniques
Awang et al. Automated security testing framework for detecting SQL injection vulnerability in web application
Shahriar et al. A model-based detection of vulnerable and malicious browser extensions
Takata et al. Identifying evasive code in malicious websites by analyzing redirection differences
WO2023162047A1 (ja) 生成装置、生成方法および生成プログラム
Plohmann Classification, Characterization, and Contextualization of Windows Malware using Static Behavior and Similarity Analysis
Düzgün et al. Benchmark Static API Call Datasets for Malware Family Classification

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201016

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20211026

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211108

R150 Certificate of patent or registration of utility model

Ref document number: 6984761

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150