JPWO2019167225A1 - 情報処理装置、制御方法、及びプログラム - Google Patents

情報処理装置、制御方法、及びプログラム Download PDF

Info

Publication number
JPWO2019167225A1
JPWO2019167225A1 JP2020503209A JP2020503209A JPWO2019167225A1 JP WO2019167225 A1 JPWO2019167225 A1 JP WO2019167225A1 JP 2020503209 A JP2020503209 A JP 2020503209A JP 2020503209 A JP2020503209 A JP 2020503209A JP WO2019167225 A1 JPWO2019167225 A1 JP WO2019167225A1
Authority
JP
Japan
Prior art keywords
event
information
model
category
classified
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.)
Granted
Application number
JP2020503209A
Other languages
English (en)
Other versions
JP6892005B2 (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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Publication of JPWO2019167225A1 publication Critical patent/JPWO2019167225A1/ja
Application granted granted Critical
Publication of JP6892005B2 publication Critical patent/JP6892005B2/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
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • 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/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/86Event-based monitoring
    • 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)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Virology (AREA)
  • General Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Medical Informatics (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)

Abstract

情報処理装置(2000)は、判定対象装置(10)で発生した各イベントを、標準装置(20)でも発生したイベント(第1類のイベント)と、標準装置(20)では発生しなかったイベント(第2類のイベント)に分類する。ここで、判定対象装置(10)で発生したイベントが警告対象であるか否かを判定するためのモデルとして、標準装置(20)でも発生したイベントについての判定に利用される第1モデルと、標準装置(20)では発生しなかったイベントについての判定に利用される第2モデルとが用いられる。情報処理装置(2000)は、第1類のイベントを用いて第1モデルの学習を行う。さらに情報処理装置(2000)は、第2類のイベントを用いて第2モデルの学習を行う。

Description

本発明は異常検知に関する。
コンピュータシステムが正常に動作しているかどうかを監視するシステムが開発されている。例えば特許文献1には、観察対象ソフトウエアが正常な動作をしているときの正常動作モデルを学習しておき、観察対象ソフトウエアの動作をそのモデルと比較することで、監視対象ソフトウエアへの不正侵入による異常の発生を検知するシステムを開示している。
特開2008−129714号公報
特許文献1の手法では、監視したいシステムが正常な動作をしているときに、そのシステムのモデルを作成しておかなければならない。すなわち、モデルを作成する段階では、監視したいシステムが正常である必要がある。
本発明は、上記の課題に鑑みてなされたものである。本発明の目的の一つは、監視対象のシステムの動作が正常であるか否かの監視を、そのシステムの動作が正常であるか否かが不明な状況から開始することができる技術を提供することである。
本発明の情報処理装置は、1)標準装置においてプロセスが発生させたイベントに関する情報を示す第1イベント情報と、判定対象装置においてプロセスが発生させたイベントに関する情報を示す第2イベント情報とを取得する取得部と、2)第1イベント情報を利用して、第2イベント情報に示される各イベントを、標準装置でも発生した第1類のイベントと、標準装置では発生しなかった第2類のイベントとに分類する分類部と、3)第1類に分類されるイベントが警告対象のイベントであるか否かを判定する第1モデルを、第1類に分類されたイベントに関する第2イベント情報を用いて学習させる第1学習部と、4)第2類に分類されるイベントが警告対象のイベントであるか否かを判定する第2モデルを、第2類に分類されたイベントに関する第2イベント情報を用いて学習させる第2学習部と、を有する。
本発明の制御方法は、コンピュータによって実行される制御方法である。当該制御方法は、1)標準装置においてプロセスが発生させたイベントに関する情報を示す第1イベント情報と、判定対象装置においてプロセスが発生させたイベントに関する情報を示す第2イベント情報とを取得する取得ステップと、2)第1イベント情報を利用して、第2イベント情報に示される各イベントを、標準装置でも発生した第1類のイベントと、標準装置では発生しなかった第2類のイベントとに分類する分類ステップと、3)第1類に分類されるイベントが警告対象のイベントであるか否かを判定する第1モデルを、第1類に分類されたイベントに関する第2イベント情報を用いて学習させる第1学習ステップと、4)第2類に分類されるイベントが警告対象のイベントであるか否かを判定する第2モデルを、第2類に分類されたイベントに関する第2イベント情報を用いて学習させる第2学習ステップと、を有する。
本発明のプログラムは、本発明の制御方法が有する各ステップをコンピュータに実行させる。
本発明によれば、監視対象のシステムの動作が正常であるか否かの監視を、そのシステムの動作が正常であるか否かが不明な状況から開始することができる技術が提供される。
上述した目的、およびその他の目的、特徴および利点は、以下に述べる好適な実施の形態、およびそれに付随する以下の図面によってさらに明らかになる。
実施形態1の情報処理装置の動作の概要を表す図である。 実施形態1の情報処理装置の構成を例示する図である。 情報処理装置を実現するための計算機を例示する図である。 実施形態1の情報処理装置によって実行される処理の流れを例示するフローチャートである。 イベントを定義する情報をテーブル形式で例示する図である。 実施形態3の情報処理装置の機能構成を例示するブロック図である。 実施形態3の情報処理装置によって実行される処理の流れを例示するフローチャートである。
以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。また、特に説明する場合を除き、各ブロック図において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を表している。
[実施形態1]
<概要>
図1は、実施形態1の情報処理装置の動作の概要を表す図である。図1は情報処理装置2000の動作についての理解を容易にするための概念的な図であり、情報処理装置2000の動作を具体的に限定するものではない。
情報処理装置2000は、判定対象装置10においてプロセスが発生させたイベントについて、そのイベントが警告対象のイベントであるか否かを判定するモデルの学習(更新)を行う。ここでいう「プロセス」とは、実行中のプログラムのことである。また、「イベント」とは、プロセスが何らかの客体(他のプロセスやファイルなど)に対して行った活動である。例えば或るプロセスが発生させるイベントは、他のプロセスの起動、他のプロセスとの通信、又はファイルへのアクセスなどである。
警告対象のイベントとしては、種々のイベントを採用できる。例えば警告対象のイベントは、マルウエアが関与している蓋然性が高いイベントなど、セキュリティ面での危険度が高いと推測されるイベントである。警告対象のイベントのその他の例については後述する。
ここで上記モデルとして、第1モデルと第2モデルという2つのモデルが利用される。第1モデルは、判定対象のイベントが標準装置20でも発生したイベントである場合に利用される。一方、第2モデルは、判定対象のイベントが標準装置20では発生しなかったイベントである場合に利用される。以下、判定対象装置10で発生したイベントのうち、標準装置20でも発生したイベントを第1類のイベントと呼び、標準装置20では発生しなかったイベントを第2類のイベントと呼ぶ。
ここで、標準装置20は、正常に動作する蓋然性が高い(不具合が生じている可能性が低い)と考えられるコンピュータである。例えば、マルウエアが関与している蓋然性が高いイベントを警告対象とする場合、マルウエアに感染している蓋然性が低いコンピュータが標準装置20として利用される。
情報処理装置2000は、モデルの学習を行うために、標準装置20で発生したイベントに関する情報(以下、第1イベント情報)と、判定対象装置10において発生したイベントに関する情報(以下、第2イベント情報)を取得する。情報処理装置2000は、第1イベント情報を用いて、第2イベント情報に示されるイベント(すなわち、判定対象装置10において発生したイベント)を、第1類のイベントと第2類のイベントとに分類する。情報処理装置2000は、第1類に分類されたイベントの第2イベント情報を利用して、第1モデルの学習を行う。また、情報処理装置2000は、第2類に分類されたイベントの第2イベント情報を利用して、第2モデルの学習を行う。
<作用効果>
標準装置20は正常に動作する蓋然性が高いコンピュータであるため、標準装置20でも発生するイベントは、標準装置20では発生しないイベントと比較して、正常なイベントである蓋然性が高いと考えられる。そのため、判定対象装置10で発生したイベントが警告対象であるか否かを判定する際に、そのイベントが標準装置20でも発生したものであるか否かを考慮することで、警告対象であるか否かを高精度に判定することができる。
そこで情報処理装置2000では、判定対象装置10において発生したイベントが警告対象イベントであるか否かを判定するためのモデルとして、標準装置20でも発生したイベント(第1類のイベント)についての判定を行う第1モデルと、標準装置20では発生しなかったイベント(第2類のイベント)についての判定を行う第2モデルという2種類のモデルとが用意される。そして、第1モデルについては、第1類に分類されるイベントを用いて学習が行われ、第2モデルについては、第2類に分類されるイベントを用いて学習が行われる。このようにすることで、判定対象装置10で発生したイベントが警告対象であるか否かを判定する際に、標準装置20でも発生したイベントと標準装置20では発生しなかったイベントとを区別して判定できるようになるため、判定対象装置10で発生したイベントが警告対象であるか否かを高精度に判定することができる。
さらに本実施形態の情報処理装置2000では、モデルの作成において、正常な動作を行う装置として、判定対象装置10ではなく標準装置20を利用する。そのため、モデルの学習を始めるタイミングで既に判定対象装置10が異常な状態になっていたとしても、高精度なモデルを得ることができる。よって、監視対象の装置(判定対象装置10)が正常であるか否かが不明な状況から情報処理装置2000の運用を開始することができる。
以下、本実施形態の情報処理装置2000についてさらに詳細に説明する。
<情報処理装置2000の機能構成の例>
図2は、実施形態1の情報処理装置2000の構成を例示する図である。情報処理装置2000は、取得部2020、分類部2040、第1学習部2060、及び第2学習部2080を有する。取得部2020は、第1イベント情報と第2イベント情報を取得する。第1イベント情報は、標準装置20においてプロセスが発生させたイベントに関する情報である。第2イベント情報は、判定対象装置10においてプロセスが発生させたイベントに関する情報である。
分類部2040は、第1イベント情報を利用して、第2イベント情報に示される各イベントを、第1類のイベントと第2類のイベントとに分類する。前述したように、第1類のイベントは、標準装置20でも発生したイベントである。また、第2類のイベントは、標準装置20では発生しなかったイベントである。
第1学習部2060は、第1類に分類されたイベントに関する第2イベント情報を用いて、第1モデルの学習を行う。第2学習部2080は、第2類に分類されたイベントに関する第2イベント情報を用いて、第2モデルの学習を行う。
<情報処理装置2000のハードウエア構成>
情報処理装置2000の各機能構成部は、各機能構成部を実現するハードウエア(例:ハードワイヤードされた電子回路など)で実現されてもよいし、ハードウエアとソフトウエアとの組み合わせ(例:電子回路とそれを制御するプログラムの組み合わせなど)で実現されてもよい。以下、情報処理装置2000の各機能構成部がハードウエアとソフトウエアとの組み合わせで実現される場合について、さらに説明する。
図3は、情報処理装置2000を実現するための計算機1000を例示する図である。計算機1000は任意の計算機である。例えば計算機1000は、Personal Computer(PC)、サーバマシン、タブレット端末、又はスマートフォンなどである。計算機1000は、情報処理装置2000を実現するために設計された専用の計算機であってもよいし、汎用の計算機であってもよい。
計算機1000は、バス1020、プロセッサ1040、メモリ1060、ストレージデバイス1080、入出力インタフェース1100、及びネットワークインタフェース1120を有する。バス1020は、プロセッサ1040、メモリ1060、ストレージデバイス1080、入出力インタフェース1100、及びネットワークインタフェース1120が、相互にデータを送受信するためのデータ伝送路である。ただし、プロセッサ1040などを互いに接続する方法は、バス接続に限定されない。プロセッサ1040は、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、又は FPGA(Field-Programmable Gate Array)などのプロセッサである。メモリ1060は、RAM(Random Access Memory)などを用いて実現される主記憶装置である。ストレージデバイス1080は、ハードディスクドライブ、SSD(Solid State Drive)、メモリカード、又は ROM(Read Only Memory)などを用いて実現される補助記憶装置である。ただし、ストレージデバイス1080は、RAM など、主記憶装置を構成するハードウエアと同様のハードウエアで構成されてもよい。
入出力インタフェース1100は、計算機1000と入出力デバイスとを接続するためのインタフェースである。ネットワークインタフェース1120は、計算機1000を通信網に接続するためのインタフェースである。この通信網は、例えば LAN(Local Area Network)や WAN(Wide Area Network)である。ネットワークインタフェース1120が通信網に接続する方法は、無線接続であってもよいし、有線接続であってもよい。
ストレージデバイス1080は、情報処理装置2000の機能構成部を実現するプログラムモジュールを記憶している。プロセッサ1040は、これら各プログラムモジュールをメモリ1060に読み出して実行することで、各プログラムモジュールに対応する機能を実現する。
<判定対象装置10について>
判定対象装置10は、PC、サーバマシン、タブレット端末、又はスマートフォンなどといった任意のコンピュータである。判定対象装置10は、1つであってもよいし、複数であってもよい。
ここで、第1モデルと第2モデルは、複数の判定対象装置10で共有されてもよい。この場合、情報処理装置2000は、第1モデルと第2モデルが共有される複数の判定対象装置10それぞれから第2イベント情報を取得して、モデルの学習を行う。
<標準装置20について>
標準装置20は、PC、サーバマシン、タブレット端末、又はスマートフォンなどといった任意のコンピュータである。前述したように、標準装置20は、正常に動作する蓋然性が高いコンピュータである。
例えば標準装置20は、OS(Operating System)をクリーンインストールした後であって運用が開始される前のコンピュータである。ただし、標準装置20は必ずしも運用前のコンピュータである必要はなく、不具合が生じる蓋然性が低い状況で運用されているコンピュータであってもよい。例えばこのようなコンピュータは、ネットワークへの接続が一般ユーザのコンピュータと比較して厳しく制限されているコンピュータや、セキュリティのエキスパートによって運用されているコンピュータなど、マルウエアに感染する蓋然性が低い状況で運用されているコンピュータである。
<処理の流れ>
図4は、実施形態1の情報処理装置2000によって実行される処理の流れを例示するフローチャートである。取得部2020は第1イベント情報を取得する(S102)。取得部2020は、第2イベント情報を取得する(S104)。分類部2040は、第2イベント情報に示される各イベントを、第1類と第2類に分類する(S106)。第1学習部2060は、第1類に分類されたイベントに関する第2イベント情報を用いて第1モデルの学習を行う(S108)。第2学習部2080は、第2類に分類されたイベントに関する第2イベント情報を用いて、第2モデルの学習を行う(S110)。
ここで、判定対象装置10で発生したイベントを利用したモデルの学習は、判定対象装置10の運用中に繰り返し行われることが好適である。そのため、例えば情報処理装置2000は、第2イベント情報の取得を繰り返し行い、第2イベント情報を取得する度にその第2イベント情報を用いたモデルの学習(S106からS110)を行うようにする。
<イベントについて>
前述したように、イベントとは、プロセスが何らかの客体に対して行った活動である。或るプロセスが他のプロセスを客体として活動する場合、これらのプロセスは互いに同一の OS(Operating System)上で動作するものであってもよいし、互いに異なる OS 上で動作するものであってもよい。後者の例としては、例えば、ソケットインタフェースを利用することで、或るプロセスが他の OS 上で動作する別のプロセスと通信を行うことが考えられる。
例えばイベントは、主体、客体、及び活動内容という3つの要素を表す情報によって識別される。例えば主体を表す情報(以下、主体情報)は、そのイベントを発生させたプロセスを識別する情報である。以下、プロセスを識別する情報をプロセス識別情報と呼ぶ。プロセス識別情報は、例えば、プロセスの名称を示す。その他にも例えば、プロセス識別情報は、プロセスに対応するプログラムの実行ファイルの名称やパスなどである。
客体を表す情報(以下、客体情報)は、例えば、その客体の種別及び識別情報である。客体の種別は、例えば、プロセス、ファイル、又は他の装置などである。客体がプロセスである場合、客体情報にはそのプロセスのプロセス識別情報が含まれる。
客体がファイルである場合、客体情報には、そのファイルを識別する情報(以下、ファイル識別情報)が含まれる。ファイル識別情報は、例えばそのファイルの名称やパスなどである。また、客体がファイルである場合、客体情報にはそのファイルのハッシュ値が含まれていてもよい。
客体が他の装置である場合、例えば客体情報には、当該他の装置の識別情報(以下、装置識別情報)が含まれる。装置識別情報は、例えば、IP(Internet Protocol)や MAC(Media Access Control)アドレスなどのネットワークアドレスである。なお、ここでいう他の装置とは、物理的な装置だけでなく、仮想的な装置(仮想マシンなど)も含まれる。また、客体が他の装置である場合、客体情報には、装置識別情報と共に、又は装置識別情報に代えて、客体の数(すなわち、イベントの主体であるプロセスが通信を行った他の装置の数)が示されてもよい。
活動内容を表す情報(以下、内容情報)は、例えば、種々ある活動内容に予め割り当てておいた識別子である。例えば、「プロセスを起動する」、「プロセスを停止する」、「ファイルをオープンする」、「ファイルからデータを読み込む」、「ファイルにデータを書き込む」、「ソケットをオープンする」、「ソケットからデータを読み込む」、又は「ソケットにデータを書き込む」などといった活動の内容に、互いに異なる識別子を割り当てておく。なお、ソケットに対するアクセスは、そのソケットに対応づけられた他の装置へのアクセスを意味する。
図5は、イベントを定義する情報をテーブル形式で例示する図である。図5のテーブルを、テーブル200と呼ぶ。テーブル200は、主体情報202、客体情報204、及び内容情報206を含む。主体情報202は、プロセス名208及びパス210が含まれている。客体情報204には、種別212及び識別情報214が含まれている。
<第1イベント情報について>
第1イベント情報は、標準装置20で発生したイベントに関する情報である。第1イベント情報は、標準装置20で発生した各イベントについて、前述したイベントを識別できる情報(主体情報、客体情報、及び内容情報)を示す。
ここで、プロセスが発生させるイベントは、OS の種類やバージョンなどといった実行環境によって異なる。そこで第1イベント情報は、実行環境ごとに用意しておくことが好適である。そこで、実行環境がそれぞれ異なる複数の標準装置20を用意し、それぞれの標準装置20について第1イベント情報を生成しておく。この場合、第1イベント情報は、実行環境を表す情報(以下、実行環境情報)も含む。実行環境情報は、例えば、OS の種類、バージョン番号、ビルド番号、及び対象の CPU アーキテクチャを示す。
取得部2020は、判定対象装置10の実行環境と一致する実行環境の標準装置20について生成された第1イベント情報を取得することが好適である。ただし、判定対象装置10の実行環境と一致する実行環境の標準装置20について生成された第1イベント情報がないことも考えられる。この場合、例えば取得部2020は、判定対象装置10の実行環境との一致度合いが最も高い標準装置20について生成された第1イベント情報を取得する。
実行環境の一致度合いは、例えば、実行環境情報に示される各情報(前述した OS の種類やバージョンなど)の一致度合いの加重平均として算出される。各要素の一致度合いは、例えば、一致する場合には1とし、一致しない場合には0とする。重みについては、重要な要素ほど大きな重みが付されるように、予め設定しておく。例えば、OS の種類は OS のバージョンよりも重要であると考えられるため、OS の種類の一致度合いに対して付す重みは、OS のバージョンの一致度合いに対して付す重みよりも大きくしておく。
<第2イベント情報について>
第2イベント情報は、判定対象装置10で発生したイベントに関する情報である。第2イベント情報の形式には、第1イベント情報の形式と同様のものを採用できる。ただし、第1イベント情報と第2イベント情報は、それぞれイベントの識別ができる情報であればよく、必ずしも同じ形式の情報である必要はない。
<第1イベント情報の取得:S102>
取得部2020は第1イベント情報を取得する(S102)。取得部2020が第1イベント情報を取得する方法は様々である。例えば取得部2020は、第1イベント情報が記憶されている記憶装置から、第1イベント情報を取得する。この記憶装置は、情報処理装置2000の外部(例えば標準装置20)に設けられていてもよいし、内部に設けられていてもよい。その他にも例えば、取得部2020は、他の装置(例えば標準装置20)から送信される第1イベント情報を受信してもよい。
<第2イベント情報の取得:S104>
取得部2020は第2イベント情報を取得する(S104)。例えば取得部2020は、第2イベント情報が記憶されている記憶装置から、第2イベント情報を取得する。この記憶装置は、情報処理装置2000の外部(例えば判定対象装置10)に設けられていてもよいし、内部に設けられていてもよい。その他にも例えば、取得部2020は、他の装置(例えば判定対象装置10)から送信される第2イベント情報を受信してもよい。
<イベントの分類:S106>
分類部2040は、第1イベント情報を用いて、第2イベント情報に示される各イベントを、第1類と第2類とに分類する(S106)。ここで、第1イベント情報には、標準装置20において発生したイベントの情報が示されている。そこで、分類部2040は、第2イベント情報に示されている各イベントを、第1イベント情報に示されているイベントと比較することで、各イベントが標準装置20で発生したいずれかのイベントと一致しているか否かを判定する。分類部2040は、第2イベント情報に示されるイベントのうち、標準装置20で発生したいずれかのイベントと一致すると判定されたイベントを、第1類に分類する。一方で、分類部2040は、第2イベント情報に示されるイベントのうち、標準装置20で発生したいずれのイベントとも一致しないと判定されたイベントを、第2類に分類する。
<<イベントの比較について>>
判定対象装置10で発生したイベントと標準装置20で発生したイベントとが一致しているか否かを判定する方法について説明する。前述したように、イベントは、主体、客体、及び活動内容という3つの要素で識別できる。そこで分類部2040は、判定対象装置10で発生したイベントと、標準装置20で発生したイベントを、これらの3つの要素について比較することで、イベント同士が一致しているか否かを判定する。分類部2040は、対比する両イベントがこれら3つの要素のいずれについても一致する場合に、これらのイベントが一致すると判定する。一方、対比する両イベントがいずれかの要素において一致しない場合、分類部2040は、これらのイベントが一致しないと判定する。
<<<主体の一致>>>
分類部2040は、第1イベント情報が示すイベントの主体情報と、第2イベント情報が示すイベントの主体情報とを比較する。ここで前述したように、イベントの主体は、イベントを発生させたプロセスのプロセス名、実行ファイルの名称、実行ファイルのパスなどである。これらの情報が一致するか否かは、例えば、文字列の類似度を判定するアルゴリズムを利用して判定することができる。
例えば分類部2040は、これらのイベントの主体情報が互いに一致する場合、これらのイベントの主体が互いに一致すると判定する。一方、これらのイベントの主体情報が互いに一致しない場合、分類部2040は、これらのイベントの主体が互いに一致しないと判定する。
ただし、実質的には同じイベントであっても、主体情報に差異があることもある。例えば、同内容の実行ファイルのパスは、判定対象装置10と標準装置20とで異なることがある。より具体的には、fileA.exe という実行ファイルのパスが、判定対象装置10では「C:\dir1\fileA.exe」である一方で、標準装置20では「D:\dir2\fileA.exe」であるといったケースである。そこで例えば、主体情報が実行ファイルのパスを示す場合、分類部2040は、実行ファイルのパスのうち、ファイル名の部分のみを比較することで、イベントの主体の一致を判定してもよい。
<<<客体の一致>>>
分類部2040は、第1イベント情報が示すイベントの客体情報と、第2イベント情報が示すイベントの客体情報とを比較する。これらのイベントの客体情報が互いに一致する場合、分類部2040は、これらのイベントの客体が互いに一致すると判定する。一方、これらのイベントの客体情報が互いに一致しない場合、分類部2040は、これらのイベントの客体が互いに一致しないと判定する。ただし、客体情報が実行ファイルのパスを示す場合、前述したように、ファイル名の部分のみを比較してもよい。
<<<活動内容の一致>>>
分類部2040は、第1イベント情報が示すイベントの内容情報と、第2イベント情報が示すイベントの内容情報とを比較する。これらのイベントの内容情報が互いに一致する場合、分類部2040は、これらのイベントの活動内容が互いに一致すると判定する。一方、これらのイベントの内容情報が互いに一致しない場合、分類部2040は、これらのイベントの活動内容が互いに一致しないと判定する。
<モデルについての概要>
第1モデルと第2モデルについて説明する。例えば第1モデルは、1)第1類に分類される各イベントの発生数又は発生頻度に基づくスコア、及び2)第1閾値で構成される。ここで、スコアはイベントごとに定められている。判定対象イベントが警告対象であるか否かの判定は、そのイベントのスコアと第1閾値とを比較することで行われる。判定対象イベントのスコアが第1閾値以下である場合、第1モデルは、そのイベントが警告対象であると判定する。一方、判定対象イベントのスコアが第1閾値より大きい場合、第1モデルは、そのイベントが警告対象でないと判定する。
同様に、第2モデルは、1)第2類に分類される各イベントの発生数又は発生頻度に基づくスコア、及び2)第2閾値で構成される。ここでも、スコアはイベントごとに定められている。判定対象イベントが警告対象であるか否かの判定は、そのイベントのスコアと第2閾値とを比較することで行われる。判定対象イベントのスコアが第2閾値以下である場合、第2モデルは、そのイベントが警告対象であると判定する。一方、判定対象イベントのスコアが第2閾値より大きい場合、第2モデルは、そのイベントが警告対象でないと判定する。
ここで、イベントのスコアがイベントの発生数に基づいて定まるものであるとする。この場合、第1モデルと第2モデルにおいて、イベントのスコアは、そのイベントの発生数が多いほど大きくなるようにする。例えば、イベントの発生数をそのままそのイベントのスコアとして用いる。その他にも例えば、任意の単調非減少関数にイベントの発生数を入力し、その出力をスコアとしてもよい。この関数は、予め第1学習部2060からアクセス可能な記憶装置に記憶させておく。
一方、イベントのスコアがイベントの発生頻度に基づいて定まるものであるとする。この場合、第1モデルと第2モデルにおいて、イベントのスコアは、そのイベントの発生頻度が高いほど大きくなるようにする。例えば、イベントの発生頻度をそのままそのイベントのスコアとして用いる。その他にも例えば、任意の単調非減少関数にイベントの発生頻度を入力し、その出力をスコアとしてもよい。この関数は、予め第1学習部2060からアクセス可能な記憶装置に記憶させておく。
以上のようなモデルを利用することで、発生数が少ないイベントや発生頻度が低いイベントを、警告対象とすることができる。
<第1モデルの学習:S108>
第1学習部2060は第1モデルの学習を行う(S108)。具体的には、第1学習部2060は、第2イベント情報に示されるイベントのうち、第1類に分類された各イベントについて、第1モデルが示すスコアを増加させる。
ここで、イベントの発生数をスコアとして用いるとする。この場合、例えば第1学習部2060は、第2イベント情報に示されるイベントのうち、第1類に分類される各イベントについて、そのイベントの発生数に基づくスコアを算出し、算出後のスコアを示すように第1モデルの学習を行う。ここで、各イベントの発生回数は記憶装置に記憶させておく。
また、イベントの発生頻度をスコアとして用いるとする。この場合、例えば第1学習部2060は、第2イベント情報に示されるイベントのうち、第1類に分類される各イベントについて、そのイベントの発生頻度を算出する。そして、各イベントについて算出した発生頻度に基づくスコアで、そのイベントのスコアを更新する。
なお、イベントの発生頻度は、判定対象装置10が動作を開始してからの全期間における発生頻度であってもよいし、一部の期間における発生頻度であってもよい。後者の場合、例えば第1学習部2060は、第2イベント情報に示されるイベントのうち、第1類に分類される各イベントについて、直近所定期間における発生回数をその所定期間の長さで割ることで、そのイベントの発生頻度を算出する。なお、直近所定期間におけるイベントの発生回数は、例えば、各イベントの発生日時を記憶装置に記憶させておくことで特定することができる。
<第2モデルの学習:S110>
第2学習部2080は第2モデルの学習を行う(S110)。具体的には、第2学習部2080は、第2イベント情報に示されるイベントのうち、第2類に分類された各イベントについて、第2モデルにおけるスコアを増加させる。なお、スコアの更新方法については、第1モデルの場合と同様である。
<第1モデルと第2モデルの違い>
第1モデルと第2モデルはいずれも、判定対象のイベントが警告対象であるか否かを判定するために利用されるという点で共通する。一方で、第1モデルは、第1類に分類されるイベントについての判定に利用され、第2モデルは、第2類に分類されるイベントについての判定に利用されるという点で相違する。
ここで前述したように、第1類のイベントは正常なイベントである可能性が高い。よって、第1類のイベントは、第2類のイベントと比較し、警告対象としなくてもよいイベントである可能性が高い。そこで、第1類のイベントの方が第2類のイベントよりも警告対象となりにくいように、第1モデルと第2モデルを構成する必要がある。以下、このようにモデルを構成する方法として、2つの方法を例示する。
<<第1の方法>>
第1モデルにおいて判定の基準となる第1閾値の大きさを、第2モデルにおいて判定の基準となる第2閾値の大きさよりも小さくする。例えば、第1モデルにおける第1閾値が Th1 であり、第2モデルにおける第2閾値が Th2 であるとする。この場合、Th1 < Th2 となるように Th1 と Th2 を定める。こうすると、スコアが Th1 以下であるイベントは、第1類と第2類のどちらに分類されたとしても警告対象となる。一方で、スコアが Th1 より大きく Th2 未満であるイベントは、第1類に分類されれば警告対象とならないが、第2類に分類されれば警告対象となる。このことから、第1類のイベントの方が第2類のイベントよりも警告対象になりにくいといえる。
このケースにおいて、第1閾値と第2閾値は、第1閾値が第2閾値よりも小さいという条件の下、任意に設定しておくことができる。これらの閾値は、予め情報処理装置2000からアクセス可能な記憶装置に記憶させておく。
<<第2の方法>>
第1モデルと第2モデルにおける学習の度合いに差をつけることで、第1類のイベントの方が第2類のイベントよりも警告対象となりにくいようにする。具体的には、第1モデルの学習において第1類のイベントのスコアが増加する量を、第2モデルの学習において第2類のイベントのスコアが増加する量よりも大きくする。例えば、第1モデルと第2モデルのそれぞれにおいて、イベントのスコアを以下のように定義する。
Figure 2019167225
S1iは、第1類のイベントiのスコアを表し、ni はイベントiの発生回数を表す。S2j は、第2類のイベントjのスコアを表し、nj はイベントjの発生回数を表す。αとβはそれぞれ正の実数である。f(ni) は第1類のイベントiの発生回数 ni をスコア S1i に変換する関数であり、g(nj) は第2類のイベントjの発生回数 nj をスコア S2j に変換する関数である。これらはいずれも、前述した単調非減少関数に相当する。
上記の数式(1)において、第1類のイベントについてのスコアは、イベントの発生回数にαを乗算した値である。よって、第1類のイベントについてのスコアは、発生回数が1増えることに応じてα増加する。一方、第2類のイベントについてのスコアは、イベントの発生回数にβを乗算した値である。よって、第2類のイベントについてのスコアは、発生回数が1増えることに応じてβ増加する。α>βであるため、第1類のイベントのスコアの増加量は、第2類のイベントのスコアの増加量よりも大きくなる。
なお、数式(1)において発生回数を発生頻度に置き換えれば、発生頻度に基づいて算出されるスコアを定義することができる。
ここで、このように第1モデルと第2モデルにおける学習の度合いに差をつけるケースでは、第1閾値と第2閾値は同じ値でよい。ただし、このケースにおいもて、第1閾値を第2閾値よりも小さい値にしてもよい。
<モデルの生成について>
第1モデルと第2モデルは、予め生成しておいて記憶装置に記憶させておいてもよいし、情報処理装置2000によって生成されてもよい。後者の場合、例えば第1学習部2060は、第1モデルの学習を実行する際、まだ第1モデルが生成されていなければ(第1モデルが記憶装置に記憶されていなければ)、第1モデルの生成を行う。同様に、例えば第2学習部2080は、第2モデルの学習を実行する際、まだ第2モデルが生成されていなければ(第2モデルが記憶装置に記憶されていなければ)、第2モデルの生成を行う。
[実施形態2]
実施形態2の情報処理装置2000の機能構成は、実施形態1の情報処理装置2000と同様に、図2によって表される。以下で説明する事項を除き、実施形態2の情報処理装置2000は、実施形態1の情報処理装置2000と同様の機能を有する。
本実施形態では、標準装置20において発生したイベントに基づいて第1モデルを生成しておく。第1学習部2060はこの第1モデルについて学習を行う。そのために、実施形態2の取得部2020は第1モデルを取得する。そして、実施形態2の第1学習部2060は、取得した第1モデルの学習を行っていく。
なお、標準装置20において発生したイベントに基づいて第1モデルを生成する方法は、実施形態1において第1学習部2060が第1モデルを生成する方法と同様である。例えば、前述した数式(1)を利用して第1モデルを生成する。
なお、第1モデルの生成は、情報処理装置2000で行われてもよいし、情報処理装置2000以外の装置で行われてもよい。情報処理装置2000が第1モデルを生成する場合、情報処理装置2000は、図5で示したテーブル200のように、標準装置20で発生したイベントを表す情報を取得し、その情報を用いて第1モデルを生成する。
<作用効果>
本実施形態の情報処理装置2000によれば、標準装置20で発生したイベントを利用して第1モデルの学習が或る程度行われた状態で、情報処理装置2000の運用が開始される。そのため、第1モデルの学習を予め行っておかない場合と比較し、第1類のイベントについて早期に高い精度で判定が行えるようになる。また、標準装置20で発生したイベントについての情報を、判定対象装置10で発生したイベントの分類だけでなく、第1モデルの学習にも利用できるため、標準装置20をより有効活用することができる。
<ハードウエア構成の例>
実施形態2の情報処理装置2000を実現する計算機のハードウエア構成は、実施形態1と同様に、例えば図3によって表される。ただし、本実施形態の情報処理装置2000を実現する計算機1000のストレージデバイス1080には、本実施形態の情報処理装置2000の機能を実現するプログラムモジュールがさらに記憶される。
[実施形態3]
図6は、実施形態3の情報処理装置2000の機能構成を例示するブロック図である。以下で説明する事項を除き、実施形態3の情報処理装置2000は、実施形態1又は2の情報処理装置2000と同様の機能を有する。
実施形態3の情報処理装置2000は、判定対象イベントに関する情報を取得し、判定対象イベントが警告対象であるか否かを判定する。そして、判定対象イベントが警告対象であった場合に、所定の警告情報を出力する。
そのために、実施形態3の情報処理装置2000は、判定部2120及び警告部2140を有する。また、実施形態3の取得部2020は、判定対象イベントに関する情報を取得する。分類部2040は、第1イベント情報を用いて、上記判定対象イベントが第1類と第2類のいずれに分類されるかを判定する。具体的には、判定対象イベントが標準装置20で発生したイベントのいずれかに一致していれば、判定対象イベントは第1類に分類され、判定対象イベントが標準装置20で発生したいずれのイベントにも一致していなければ、判定対象イベントは第2類に分類される。
判定部2120は、判定対象イベントが第1類に分類される場合には、第1モデルを用いて、判定対象イベントが警告対象のイベントであるか否かを判定する。また、判定部2120は、判定対象イベントが第2類に分類される場合には、第2モデルを用いて、判定対象イベントが警告対象のイベントであるか否かを判定する。なお、第1類のイベントが警告対象であるか否かを第1モデルによって判定する方法、及び第2類のイベントが警告対象であるか否かを第2モデルによって判定する方法については、実施形態1で説明した通りである。
警告部2140は、判定対象イベントが警告対象のイベントであると判定された場合に、所定の警告情報を出力する。
<作用効果>
本実施形態の情報処理装置2000によれば、判定対象イベントが標準装置20でも発生したイベントであるか否かを分類し、その分類に応じたモデルを利用して、判定対象イベントが警告対象であるか否かが判定される。そのため、このような分類を考慮しないケースと比較し、判定対象イベントを警告対象とすべきか否かを高い精度で判定することができる。また、判定対象イベントが警告対象であると判定された場合に警告情報が出力されるため、判定対象装置10において異常が発生している可能性があることを、判定対象装置10の管理者等が適切に把握することができる。
<ハードウエア構成の例>
実施形態3の情報処理装置2000を実現する計算機のハードウエア構成は、実施形態1と同様に、例えば図3によって表される。ただし、本実施形態の情報処理装置2000を実現する計算機1000のストレージデバイス1080には、本実施形態の情報処理装置2000の機能を実現するプログラムモジュールがさらに記憶される。
<処理の流れ>
図7は、実施形態3の情報処理装置2000によって実行される処理の流れを例示するフローチャートである。取得部2020は、第1イベント情報を取得する(S201)。取得部2020は、判定対象イベントについての情報を取得する(S202)。分類部2040は、判定対象イベントが第1類と第2類のいずれに分類されるかを判定する(S204)。判定対象イベントが第1類に分類される場合(S204:第1類)、判定部2120は、第1モデルを用いて、判定対象イベントが警告対象であるか否かを判定する(S206)。判定対象イベントが警告対象である場合(S206:警告対象である)、警告部2140は警告情報を出力する(S208)。判定対象イベントが警告対象でない場合(S206:警告対象でない)、図7の処理は終了する。
判定対象イベントが第2類に分類される場合(S204:第2類)、判定部2120は、第2モデルを用いて、判定対象イベントが警告対象であるか否かを判定する(S210。判定対象イベントが警告対象である場合(S210:YES)、警告部2140は警告情報を出力する(S208)。判定対象イベントが警告対象でない場合(S210:NO)、図7の処理は終了する。
<警告について>
警告部2140が出力する警告情報としては、様々なものを採用できる。例えば警告情報は、警告対象のイベントが発生したことを通知する文字列、画像、又は音声などである。なお、警告情報には、警告対象であると判定された判定対象イベントを特定する情報(主体情報、客体情報、及び内容情報)を含めることが好適である。
警告情報の出力先としては、様々な出力先を採用できる。例えば警告情報は、判定対象装置10の管理者等が利用するコンピュータに対して出力される。このコンピュータは、据え置き型のコンピュータ(デスクトップ PC など)であってもよいし、可搬型のコンピュータ(携帯端末など)であってもよい。また、警告情報は、判定対象装置10の管理者等に対して送信されてもよい。この場合、例えば警告情報は、判定対象装置10の管理者等に対してメールなどで送信される。
その他にも例えば、警告情報は、判定対象装置10の管理者等が利用するコンピュータからアクセス可能な記憶装置に記憶されてもよい。より具体的には、この記憶装置には、警告対象のイベントが発生した場合に、そのイベントに関する情報を記憶するログファイルを用意しておく。警告部2140は、判定対象イベントが警告対象であると判定された場合に、このログファイルに対して、その判定対象イベントに関する情報を追記する。判定対象装置10の管理者等が利用するコンピュータは、このログファイルを参照することで、判定対象装置10で発生した警告対象のイベントに関する情報を取得することができる。
<判定対象イベントについて>
判定対象イベントは、モデルの学習に利用されるイベントと同じであってもよいし、異なっていてもよい。前者の場合、情報処理装置2000は、第2イベント情報に示されるイベントについて、そのイベントが警告対象であるか否かを判定すると共に、そのイベントを利用したモデルの学習を行う。そのため、判定対象装置10についてモデルの学習を始めた初期の段階では、第2イベント情報に示される多くのイベントが警告対象となりうる。しかしながら、判定対象装置10の運用を継続していくことによってモデルの学習が進み、判定対象装置10において多く発生するイベントについては警告対象にならなくなっていく。一方で、判定対象装置10で発生することが少ないイベントについては、依然として警告対象のままとなる。このように判定対象イベントをモデルの学習のためにも利用することで、判定対象装置10を運用しながらモデルを成熟させていくことができる。
なお、判定対象イベントをモデルの学習にも利用する場合、判定部2120による判定とモデルの学習のどちらを先に行ってもよい。
ここで、判定対象イベントをモデルの学習にも利用する場合、前述したように、判定対象装置10の運用を開始した初期の段階では、多くのイベントが警告対象となりうる。そのため、判定対象装置10の運用を開始してから所定期間が経過するといった所定の条件が満たされるまでは警告情報が出力されないようにしてもよい。情報処理装置2000から警告情報が出力されないようにする方法の1つには、上記所定の条件が満たされるまで、警告部2140を動作させないという方法がある。その他の方法としては、警告部2140を「判定対象イベントが警告対象として判定され、なおかつ上記所定の条件が満たされている場合のみ、警告情報を出力する」という構成にするという方法である。
また、上記所定の条件が満たされているか否かで、警告情報の出力方法を変えてもよい。例えば、所定の条件が満たされている場合には、判定対象装置10の管理者等が早期に認識できる形態の警告情報を出力する。例えば警告部2140は、判定対象イベントが警告対象であると判定された際、所定の条件が満たされている場合には警告情報を判定対象装置10の管理者等が利用する端末へ送信し、所定の条件が満たされていない場合には警告情報をログファイルに出力する。
このようにすることで、モデルが成熟していないために警告情報が多く出力される状況において、判定対象装置10の管理者等に警告情報を提供しつつも、管理者等が感じる煩わしさを軽減することができる。また一般に、判定対象装置10の管理者等が早期に認識できる形態の警告情報は、その出力に要する計算機資源の量が多くなる。そのため、モデルが成熟していないために警告情報が多く出力される状況において消費される計算機資源を削減できるという効果もある。
上記所定の条件は、判定対象装置10の運用を開始してから所定期間が経過するという条件に限定されない。例えばこの条件には、学習に利用されたイベントの数が所定数以上となるという条件なども採用できる。
以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、上記各実施形態の組み合わせ、又は上記以外の様々な構成を採用することもできる。

Claims (17)

  1. 標準装置においてプロセスが発生させたイベントに関する情報を示す第1イベント情報と、判定対象装置においてプロセスが発生させたイベントに関する情報を示す第2イベント情報とを取得する取得部と、
    前記第1イベント情報を利用して、前記第2イベント情報に示される各イベントを、標準装置でも発生した第1類のイベントと、前記標準装置では発生しなかった第2類のイベントとに分類する分類部と、
    前記第1類に分類されるイベントが警告対象のイベントであるか否かを判定する第1モデルを、前記第1類に分類されたイベントに関する前記第2イベント情報を用いて学習させる第1学習部と、
    前記第2類に分類されるイベントが警告対象のイベントであるか否かを判定する第2モデルを、前記第2類に分類されたイベントに関する前記第2イベント情報を用いて学習させる第2学習部と、を有する情報処理装置。
  2. 警告対象のイベントは、マルウエアが介在するイベントである、請求項1に記載の情報処理装置。
  3. 前記第1モデルは、
    前記第1類に分類される各イベントについて、そのイベントの発生数又は発生頻度に基づくスコアを示しており、
    判定対象のイベントのスコアが第1閾値以上である場合に、そのイベントが警告対象であると判定し、
    前記第2モデルは、
    前記第2類に分類される各イベントについて、そのイベントの発生数又は発生頻度に基づくスコアを示しており、
    判定対象のイベントのスコアが第2閾値以上である場合に、そのイベントが警告対象であると判定し、
    前記第1学習部は、前記第2イベント情報に示されるイベントのうち、前記第1類に分類されたイベントについて、前記第1モデルにおけるそのイベントのスコアを増加させることで、前記第1モデルの学習を行い、
    前記第2学習部は、前記第2イベント情報に示されるイベントのうち、前記第2類に分類されたイベントについて、前記第2モデルにおけるそのイベントのスコアを増加させることで、前記第2モデルの学習を行う、請求項1又は2に記載の情報処理装置。
  4. 前記第1閾値は前記第2閾値よりも大きい、請求項3に記載の情報処理装置。
  5. 前記第1学習部が増加させるスコアの大きさは、前記第2学習部が増加させるスコアの増加量よりも大きい、請求項3に記載の情報処理装置。
  6. 前記第1学習部は、前記標準装置において発生した各イベントに基づいて生成された前記第1モデルを取得し、前記取得した第1モデルの学習を、前記第2イベント情報に基づいて行う、請求項1乃至5いずれか一項に記載の情報処理装置。
  7. 前記取得部は、判定対象のイベントに関する情報を取得し、
    前記分類部は、前記判定対象のイベントが前記第1類と前記第2類のいずれに分類されるかを判定し、
    前記判定対象のイベントが前記第1類に分類される場合には、前記第1モデルを用いて、前記判定対象のイベントが警告対象のイベントであるか否かを判定し、前記判定対象のイベントが前記第2類に分類される場合には、前記第2モデルを用いて、前記判定対象のイベントが警告対象のイベントであるか否かを判定する判定部と、
    前記判定対象のイベントが警告対象のイベントであると判定された場合に所定の警告情報を出力する警告部と、を有する請求項1乃至6いずれか一項に記載の情報処理装置。
  8. 前記判定対象のイベントは、前記第2イベント情報に示されているイベントである、請求項7に記載の情報処理装置。
  9. コンピュータによって実行される制御方法であって、
    標準装置においてプロセスが発生させたイベントに関する情報を示す第1イベント情報と、判定対象装置においてプロセスが発生させたイベントに関する情報を示す第2イベント情報とを取得する取得ステップと、
    前記第1イベント情報を利用して、前記第2イベント情報に示される各イベントを、標準装置でも発生した第1類のイベントと、前記標準装置では発生しなかった第2類のイベントとに分類する分類ステップと、
    前記第1類に分類されるイベントが警告対象のイベントであるか否かを判定する第1モデルを、前記第1類に分類されたイベントに関する前記第2イベント情報を用いて学習させる第1学習ステップと、
    前記第2類に分類されるイベントが警告対象のイベントであるか否かを判定する第2モデルを、前記第2類に分類されたイベントに関する前記第2イベント情報を用いて学習させる第2学習ステップと、を有する制御方法。
  10. 警告対象のイベントは、マルウエアが介在するイベントである、請求項9に記載の制御方法。
  11. 前記第1モデルは、
    前記第1類に分類される各イベントについて、そのイベントの発生数又は発生頻度に基づくスコアを示しており、
    判定対象のイベントのスコアが第1閾値以上である場合に、そのイベントが警告対象であると判定し、
    前記第2モデルは、
    前記第2類に分類される各イベントについて、そのイベントの発生数又は発生頻度に基づくスコアを示しており、
    判定対象のイベントのスコアが第2閾値以上である場合に、そのイベントが警告対象であると判定し、
    前記第1学習ステップにおいて、前記第2イベント情報に示されるイベントのうち、前記第1類に分類されたイベントについて、前記第1モデルにおけるそのイベントのスコアを増加させることで、前記第1モデルの学習を行い、
    前記第2学習ステップにおいて、前記第2イベント情報に示されるイベントのうち、前記第2類に分類されたイベントについて、前記第2モデルにおけるそのイベントのスコアを増加させることで、前記第2モデルの学習を行う、請求項9又は10に記載の制御方法。
  12. 前記第1閾値は前記第2閾値よりも大きい、請求項11に記載の制御方法。
  13. 前記第1学習ステップが増加させるスコアの大きさは、前記第2学習ステップが増加させるスコアの増加量よりも大きい、請求項11に記載の制御方法。
  14. 前記第1イベント情報は、前記標準装置において発生した各イベントに基づいて生成された前記第1モデルであり、
    前記第1学習ステップは、前記第1イベント情報として取得された前記第1モデルの学習を、前記第2イベント情報に基づいて行う、請求項9乃至13いずれか一項に記載の制御方法。
  15. 前記取得ステップにおいて、判定対象のイベントに関する情報を取得し、
    前記分類ステップにおいて、前記判定対象のイベントが前記第1類と前記第2類のいずれに分類されるかを判定し、
    前記判定対象のイベントが前記第1類に分類される場合には、前記第1モデルを用いて、前記判定対象のイベントが警告対象のイベントであるか否かを判定し、前記判定対象のイベントが前記第2類に分類される場合には、前記第2モデルを用いて、前記判定対象のイベントが警告対象のイベントであるか否かを判定する判定ステップと、
    前記判定対象のイベントが警告対象のイベントであると判定された場合に所定の警告情報を出力する警告ステップと、を有する請求項9乃至14いずれか一項に記載の制御方法。
  16. 前記判定対象のイベントは、前記第2イベント情報に示されているイベントである、請求項15に記載の制御方法。
  17. 請求項9乃至16いずれか一項に記載の制御方法の各ステップをコンピュータに実行させるプログラム。
JP2020503209A 2018-03-01 2018-03-01 情報処理装置、制御方法、及びプログラム Active JP6892005B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2018/007763 WO2019167225A1 (ja) 2018-03-01 2018-03-01 情報処理装置、制御方法、及びプログラム

Publications (2)

Publication Number Publication Date
JPWO2019167225A1 true JPWO2019167225A1 (ja) 2021-03-18
JP6892005B2 JP6892005B2 (ja) 2021-06-18

Family

ID=67806017

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020503209A Active JP6892005B2 (ja) 2018-03-01 2018-03-01 情報処理装置、制御方法、及びプログラム

Country Status (4)

Country Link
US (1) US11899793B2 (ja)
JP (1) JP6892005B2 (ja)
DE (1) DE112018007202T5 (ja)
WO (1) WO2019167225A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6970344B2 (ja) * 2018-08-03 2021-11-24 日本電信電話株式会社 感染拡大攻撃検知装置、攻撃元特定方法及びプログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006268775A (ja) * 2005-03-25 2006-10-05 Ntt Docomo Inc ソフトウェア動作モデル化装置及びソフトウェア動作監視装置
WO2014020908A1 (ja) * 2012-08-03 2014-02-06 日本電気株式会社 システム状態判別支援装置、及び、システム状態判別支援方法
JP2015108898A (ja) * 2013-12-03 2015-06-11 日本電信電話株式会社 異常検知システム及び異常検知方法
WO2016132992A1 (ja) * 2015-02-20 2016-08-25 日本電信電話株式会社 ブラックリスト生成装置、ブラックリスト生成システム、ブラックリスト生成方法及びブラックリスト生成プログラム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008129714A (ja) 2006-11-17 2008-06-05 Univ Of Tsukuba 異常検知方法、異常検知装置及び異常検知用プログラム並びに学習モデル生成方法
CN107203450B (zh) * 2016-03-16 2020-06-02 伊姆西Ip控股有限责任公司 故障的分类方法和设备
US10685112B2 (en) * 2016-05-05 2020-06-16 Cylance Inc. Machine learning model for malware dynamic analysis
GB2557253B (en) * 2016-12-02 2020-06-03 F Secure Corp Machine learning based malware detection system
US11138514B2 (en) * 2017-03-23 2021-10-05 Futurewei Technologies, Inc. Review machine learning system
EP4085362A1 (en) * 2019-12-31 2022-11-09 Motorola Solutions, Inc. Methods and apparatus for detecting malicious re-training of an anomaly detection system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006268775A (ja) * 2005-03-25 2006-10-05 Ntt Docomo Inc ソフトウェア動作モデル化装置及びソフトウェア動作監視装置
WO2014020908A1 (ja) * 2012-08-03 2014-02-06 日本電気株式会社 システム状態判別支援装置、及び、システム状態判別支援方法
JP2015108898A (ja) * 2013-12-03 2015-06-11 日本電信電話株式会社 異常検知システム及び異常検知方法
WO2016132992A1 (ja) * 2015-02-20 2016-08-25 日本電信電話株式会社 ブラックリスト生成装置、ブラックリスト生成システム、ブラックリスト生成方法及びブラックリスト生成プログラム
EP3244335A1 (en) * 2015-02-20 2017-11-15 Nippon Telegraph and Telephone Corporation Blacklist generation device, blacklist generation system, blacklist generation method, and blacklist generation program

Also Published As

Publication number Publication date
DE112018007202T5 (de) 2021-02-25
US11899793B2 (en) 2024-02-13
WO2019167225A1 (ja) 2019-09-06
JP6892005B2 (ja) 2021-06-18
US20210042412A1 (en) 2021-02-11

Similar Documents

Publication Publication Date Title
JP6643211B2 (ja) 異常検知システム及び異常検知方法
US11818155B2 (en) Cognitive information security using a behavior recognition system
US10176321B2 (en) Leveraging behavior-based rules for malware family classification
RU2625053C1 (ru) Устранение ложных срабатываний антивирусных записей
US9781144B1 (en) Determining duplicate objects for malware analysis using environmental/context information
US8572007B1 (en) Systems and methods for classifying unknown files/spam based on a user actions, a file&#39;s prevalence within a user community, and a predetermined prevalence threshold
US11860721B2 (en) Utilizing automatic labelling, prioritizing, and root cause analysis machine learning models and dependency graphs to determine recommendations for software products
US20180341769A1 (en) Threat detection method and threat detection device
JP2020004009A (ja) 異常検知装置、および、異常検知方法
US11757708B2 (en) Anomaly detection device, anomaly detection method, and anomaly detection program
JP2015108898A (ja) 異常検知システム及び異常検知方法
CN108156127B (zh) 网络攻击模式的判断装置、判断方法及其计算机可读取储存媒体
JP6892005B2 (ja) 情報処理装置、制御方法、及びプログラム
JP6201079B2 (ja) 監視システムおよび監視方法
JP7031735B2 (ja) 情報処理装置、制御方法、及びプログラム
US20190294523A1 (en) Anomaly identification system, method, and storage medium
LU102633B1 (en) Ticket troubleshooting support system
EP3799367B1 (en) Generation device, generation method, and generation program
US11201874B2 (en) Information processing apparatus, control method, and program
US20220035906A1 (en) Information processing apparatus, control method, and program
US20210397498A1 (en) Information processing apparatus, control method, and program
CN114510409A (zh) 一种应用程序代码检测方法和计算机可读存储介质
US20220156371A1 (en) Warning apparatus, control method, and program
US20240098108A1 (en) Evaluating network flow risks
US20230418720A1 (en) System monitoring apparatus, system monitoring method, and computer readable recording medium

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200826

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200826

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: 20210427

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210510

R150 Certificate of patent or registration of utility model

Ref document number: 6892005

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150