JP6646494B2 - Monitoring device, monitoring method, and program - Google Patents
Monitoring device, monitoring method, and program Download PDFInfo
- Publication number
- JP6646494B2 JP6646494B2 JP2016062680A JP2016062680A JP6646494B2 JP 6646494 B2 JP6646494 B2 JP 6646494B2 JP 2016062680 A JP2016062680 A JP 2016062680A JP 2016062680 A JP2016062680 A JP 2016062680A JP 6646494 B2 JP6646494 B2 JP 6646494B2
- Authority
- JP
- Japan
- Prior art keywords
- abnormality
- computer
- information
- learning
- cpu
- 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
Links
Images
Description
本発明は、コンピュータに対する攻撃を検知する技術に関連するものである。 The present invention relates to a technology for detecting an attack on a computer.
コンピュータに対する攻撃手法として、"Injection"、"Buffer Overflow:xBoF"、"標的型:APT(Advanced Persistent Threat)"等がある。比較的攻撃技術レベルの低いInjection 系は、HTML等のプログラム言語を用いて想定外/異常/脅威な動作を行わせるものである。このため、セキュアコーディング方法も確立しており、かつ、コードの静的解析でも検出可能である。これに対して、コードをデータだと詐称、もしくは、安全なコードだと詐称するAPT系やBuffer Overflow系は、セキュアコーディングを行ったとしても、根本的対応が困難である。以下、APT系やBuffer Overflow系において攻撃を行うデータ/コードをマルウェアと呼ぶ。 Examples of computer attack techniques include “Injection”, “Buffer Overflow: xBoF”, and “Target Type: APT (Advanced Persistent Threat)”. Injection systems with a relatively low level of attack technology use unexpected programming / abnormal / threat operations using a programming language such as HTML. For this reason, a secure coding method has been established and can be detected even by static analysis of the code. On the other hand, APT and Buffer Overflow systems that misrepresent code as data or secure code are difficult to deal with fundamentally even with secure coding. Hereinafter, the data / code that attacks in APT or Buffer Overflow is called malware.
各種の攻撃方法において、マルウェアは、常に"変種"(所謂、亜種)が現れてZero-Day が恒常化している。換言すると、セキュアコーディングや静的解析を行ったとしても、これをかわす攻撃手法が常に脅威となり、プログラムの安全な実行が困難である状況にある。 In various attack methods, malware always shows "variants" (so-called variants), and Zero-Day becomes constant. In other words, even if secure coding or static analysis is performed, an attack method that evades them always poses a threat, and it is difficult to safely execute a program.
上記にようなマルウェアに対する対策として、例えば、syslog等のログ解析に機械学習(Deep Learning)を適用して、マルウェア攻撃の有無の検知を行うこと等が検討されている。しかし、ログ解析だけでは,基本的に攻撃の回避が非常に困難である。 As a countermeasure against the above-described malware, for example, application of machine learning (Deep Learning) to log analysis of syslog or the like to detect presence or absence of a malware attack is being studied. However, it is basically very difficult to avoid an attack only by log analysis.
従来より、不安定なプログラムを安全に走行させることを目的とした、リングプロテクション(Ring Protection)の技術がある。図1に示すように、リングプロテクションは、リング状の階層構造を有し、各階層はOSから提供されたアクセス権を示している。リング間には特別なゲートがあり、内側のリングのリソースから外側のリングのリソースへのアクセスは許可されるが、外側のリングのリソースから内側のリングのリソースへのアクセスは原則禁止される。 BACKGROUND ART Conventionally, there is a technique of ring protection for safely running an unstable program. As shown in FIG. 1, the ring protection has a ring-shaped hierarchical structure, and each layer indicates an access right provided from the OS. There is a special gate between the rings, and access from the resources of the inner ring to the resources of the outer ring is permitted, but access from the resources of the outer ring to the resources of the inner ring is prohibited in principle.
リングプロテクションは、元来、あるプロセスの異常が他プロセスに影響を与えない仕組みとして提案されたものであり、マルウェアに対しても有効である。しかし、現状の一般のコンピュータにおいては、リングプロテクションが実装されていない。たとえ、CPUにリングプロテクションの機能が用意されていても、コンピュータの他のハードウェア/ソフトウェアが未対応なので、リングプロテクションの機能を活用できない。従って、既存のリングプロテクションの技術をマルウェア対策に用いることができない。 Ring protection was originally proposed as a mechanism in which abnormalities in one process do not affect other processes, and is also effective against malware. However, ring protection is not implemented in current general computers. Even if the CPU is provided with a ring protection function, other hardware / software of the computer is not supported, so that the ring protection function cannot be used. Therefore, the existing ring protection technology cannot be used for malware countermeasures.
一般に普及しているノイマン型のコンピュータは、単一のメモリ上にプログラム領域とデータ領域が混在することを前提とするアーキテクチャとなっており、これがマルウェアの活動(攻撃の成立)を引き起こす主要な要因となっている。 The ubiquitous Neumann-type computer has an architecture that assumes that the program area and the data area are mixed on a single memory, and this is the main factor that causes malware activity (attack establishment). It has become.
本発明は上記の点に鑑みてなされたものであり、監視対象装置におけるメモリの領域を判別することにより、監視対象装置の異常を検知することを可能とする技術を提供することを目的とする。 The present invention has been made in view of the above points, and has as its object to provide a technology capable of detecting an abnormality in a monitored device by determining a memory area in the monitored device. .
本発明の実施の形態によれば、コンピュータからCPUの状態情報を取得する取得手段と、
前記取得手段により取得した状態情報に基づいて、前記コンピュータにおけるメモリの領域情報を学習する学習手段と、
前記領域情報と、前記取得手段により取得される状態情報とに基づいて、前記コンピュータにおける異常の有無を判定し、異常があると判定した場合に、異常を示す情報を出力する異常判定手段とを備える監視装置であって、
前記学習手段は、メモリの領域情報が既知であるコンピュータから得られたCPUの状態情報に基づいて特徴を算出し、当該特徴と、領域情報が未知であるコンピュータから得られたCPUの状態情報に基づき算出された特徴とを比較することにより、領域情報が未知であるコンピュータにおけるメモリの領域情報を学習する
ことを特徴とする監視装置が提供される。
According to an embodiment of the present invention, an acquiring unit for acquiring status information of a CPU from a computer,
Learning means for learning area information of a memory in the computer based on the state information obtained by the obtaining means;
Based on the area information and the status information obtained by the obtaining unit, determine whether there is an abnormality in the computer, and when it is determined that there is an abnormality, an abnormality determining unit that outputs information indicating the abnormality. A monitoring device comprising :
The learning means calculates a feature based on the CPU state information obtained from a computer whose memory area information is known, and calculates the feature and the CPU state information obtained from a computer whose area information is unknown. There is provided a monitoring apparatus characterized by learning area information of a memory in a computer whose area information is unknown by comparing the calculated characteristic with the calculated characteristic .
本発明の実施の形態によれば、コンピュータの異常検知を行う監視装置が実行する監視方法であって、
コンピュータからCPUの状態情報を取得する取得ステップと、
前記取得ステップにより取得した状態情報に基づいて、前記コンピュータにおけるメモリの領域情報を学習する学習ステップと、
前記領域情報と、前記コンピュータから取得されるCPUの状態情報とに基づいて、前記コンピュータにおける異常の有無を判定し、異常があると判定した場合に、異常を示す情報を出力する異常判定ステップとを備える監視方法であり、
前記学習ステップにおいて、前記監視装置は、メモリの領域情報が既知であるコンピュータから得られたCPUの状態情報に基づいて特徴を算出し、当該特徴と、領域情報が未知であるコンピュータから得られたCPUの状態情報に基づき算出された特徴とを比較することにより、領域情報が未知であるコンピュータにおけるメモリの領域情報を学習する
ことを特徴とする監視方法が提供される。
According to an embodiment of the present invention, there is provided a monitoring method executed by a monitoring device that detects an abnormality of a computer,
An acquisition step of acquiring CPU status information from a computer;
A learning step of learning area information of a memory in the computer based on the state information acquired by the acquiring step;
An abnormality determination step of determining the presence or absence of an abnormality in the computer based on the area information and the CPU state information obtained from the computer, and outputting information indicating the abnormality when determining that there is an abnormality; a monitoring method comprises a,
In the learning step, the monitoring device calculates a feature based on CPU state information obtained from a computer whose memory area information is known, and obtains the feature and the area information from a computer whose area information is unknown. Learning the region information of the memory in the computer whose region information is unknown by comparing the feature calculated based on the state information of the CPU
A monitoring method is provided.
本発明の実施の形態によれば、監視対象装置におけるメモリの領域を判別することにより、監視対象装置の異常を検知することを可能とする技術が提供される。 According to the embodiment of the present invention, there is provided a technology that enables an abnormality of a monitored device to be detected by determining a memory area in the monitored device.
以下、図面を参照して本発明の実施の形態(本実施の形態)を説明する。なお、以下で説明する実施の形態は一例に過ぎず、本発明を適用可能な形態は、以下の実施の形態に限られるわけではない。 Hereinafter, embodiments of the present invention (the present embodiment) will be described with reference to the drawings. Note that the embodiments described below are merely examples, and embodiments to which the present invention can be applied are not limited to the following embodiments.
(システム全体構成)
図2に、本実施の形態におけるシステムの全体構成図を示す。図2に示すように、本実施の形態におけるシステムは、監視装置100と複数の監視対象装置200とを含む。監視装置100と各監視対象装置200との間では、インターネット等のネットワークを介してデータ通信が可能である。
(Overall system configuration)
FIG. 2 shows an overall configuration diagram of a system according to the present embodiment. As shown in FIG. 2, the system according to the present embodiment includes a
監視対象装置200は、ネットワークに接続される一般的なコンピュータである。また、当該コンピュータに使用されるOSも一般的なもの(例えば、Linux(登録商標)、Windows(登録商標)等)である。各監視対象装置200は、サービスを提供するサーバとして使用される装置であってもよいし、ユーザのクライアント端末として使用される装置であってもよい。また、監視対象装置200は物理的なコンピュータであってもよいし、仮想マシンとしてのコンピュータであってもよい。監視装置100は、各監視対象装置200の監視を行って、異常を検知する。
The
(監視対象装置200の構成)
図3に、監視対象装置200の構成図を示す。図3に示すように、監視対象装置200は、メモリ201、CPU202、コンテキスト格納部203を含む。図3に示すように、メモリには、データとプログラムが混在して格納されるが、データとプログラムともにビットの羅列であり、一般には、外部からは、メモリ201の各アドレスに格納されているビットが、データかプログラムかの識別はできない。
(Configuration of Monitored Device 200)
FIG. 3 shows a configuration diagram of the
CPU202は、プログラムカウンタ(PC)、スタックポインタ(SP)、汎用レジスタ等の複数のレジスタを有する。プログラムカウンタには、CPU202が次に読み取る命令が格納されたメモリのアドレスが格納されており、基本的に、命令の実行の都度、インクリメントされる。CPU202は、プログラムカウンタにより示されるアドレスの命令をメモリ201から読み出して実行する。
The
スタックポインタは、スタックと呼ばれる領域のうち最も最近参照された位置のアドレスを保持するためのレジスタである。スタックは最初に格納したデータを最後に、最後に格納されたデータを最初に取り出すことができる領域であり、新たにデータが格納されるとスタックポインタの値はそのデータ量の分だけ増え、取り出されるとその分だけ減る。 The stack pointer is a register for holding an address of a position most recently referred to in an area called a stack. The stack is the area from which the data stored first can be retrieved last and the data stored last can be retrieved first.When new data is stored, the value of the stack pointer increases by the amount of data and the data is retrieved. When it is reduced.
コンテキスト格納部203は、CPU202の状態(コンテキスト)を格納する機能部である。コンテキストは、CPU202が持つプログラムカウンタ(PC)、スタックポインタ(SP)、汎用レジスタ等の各レジスタの値を含む。なお、CPU202からコンテキストを取得して、保持する機能は、例えばコンテキストスイッチ等のために、一般的なOSにより動作するコンピュータに一般的に備えられている機能である。
The
また、コンテキストを保持するタイミングは、例えば、監視装置100からのアクセス(情報要求)を受けたタイミング(何等かの割り込みを発生させたタイミング)でもよいし、常時コンテキストを保持・更新(つまり、常にCPUの状態と同じ情報を保持)することとしてもよい。 In addition, the timing of holding the context may be, for example, the timing of receiving an access (information request) from the monitoring device 100 (the timing of generating any interrupt), or holding / updating the context at all times (that is, always (The same information as the state of the CPU may be held).
図4は、監視対象装置200が仮想マシン(VM)である場合における、VM環境の例を示す図である。本例のVM環境は、ハードウェア251、ハイパバイザ252、監視対象装置200としてのVMを含む。VM環境では、ハイパバイザ252により各VMが管理されており、ハイパバイザ252が、各VMについて、図3に示す構成を管理している。すなわち、監視対象装置200が仮想マシン(VM)である場合、コンテキスト格納部203は、ハイパバイザ252が保持するが、以下では、コンテキスト格納部203は、仮想的にVM内(つまり、監視対象装置200内)にあるものとする。つまり、監視対象装置200が仮想マシンであっても、物理マシンであっても、図3に示す構成が適用される。
FIG. 4 is a diagram illustrating an example of a VM environment when the
図5を参照して、監視対象装置200の動作の一例を説明する。左側の状態において、プログラムカウンタ(PC)に2が格納され、レジスタR1に4が格納されている。CPUは、PCに従って、メモリのアドレス2の命令を読み出す。この命令は、「レジスタR1に格納されているメモリアドレス4の値をレジスタR2にコピー」するという命令である。CPUはこの命令を実行することで、右側の状態になる。つまり、命令の実行の結果、アドレス4の値(100)が、R2に格納されている、また、PCがインクリメントされている。
An example of the operation of the
(監視装置100の構成)
図6に、監視装置100の構成図を示す。図6に示すように、監視装置100は、学習部101、監視部102、異常判定部103を備える。各機能部の動作については、以下の動作説明のところで詳しく説明する。なお、以下の説明では、特に断らない限り、複数の監視対象装置200における1つの監視対象装置200を対象にしているが、実際には同様の処理を他の監視対象装置200に対しても行っている。ただし、複数の監視対象装置200を対象とすることは必須ではなく、1つの監視対象装置200を対象としてもよい。
(Configuration of monitoring device 100)
FIG. 6 shows a configuration diagram of the
本実施の形態における監視装置100は、コンピュータに、本実施の形態で説明する処理内容を記述したプログラムを実行させることにより実現可能である。すなわち、監視装置100が有する機能は、当該コンピュータに内蔵されるCPUやメモリ等のハードウェア資源を用いて、当該装置で実施される処理に対応するプログラムを実行することによって実現することが可能である。上記プログラムは、コンピュータが読み取り可能な記録媒体(可搬メモリ等)に記録して、保存したり、配布したりすることが可能である。また、上記プログラムをインターネットや電子メール等、ネットワークを通して提供することも可能である。
The
(監視装置100の動作)
以下、図6に示す構成を有する監視装置100の動作を図7のフローチャートに沿って説明する。
(Operation of monitoring device 100)
Hereinafter, the operation of the
監視部102は、例えば定期的に、監視対象装置200から、コンテキスト格納部203に格納されているコンテキストを取得する(ステップS101)。コンテキストの取得は、例えば、監視部102が監視対象装置200に対してコンテキスト要求を送信し、監視対象装置200が、コンテキスト応答としてコンテキストを監視部102に返すことにより行われる。当該コンテキストには、現時点でのCPUの状態情報(レジスタの値等)が含まれる。監視部102により取得されたコンテキストは、学習部101に渡される。
For example, the
学習部101は、監視部102により取得されたコンテキストに基づいて、監視対象装置200のメモリ201におけるプログラム領域のアドレス範囲とデータ領域のアドレス範囲とを学習(決定)する(ステップS102)。具体的には以下のとおりである。以下、プログラム領域のアドレス範囲とデータ領域のアドレス範囲を「領域情報」と呼ぶ。また、以下の処理は一例である。
The
学習部101は、定期的に取得された監視対象装置200のコンテキストの集合を保持する記憶部を含む。また、学習部101は、教師あり学習機能を有する。この場合、まず、学習部101に、正解の領域情報を与え、更に、この正解が得られた監視対象装置200から取得されたコンテキスト集合を与える。この正解が得られた監視対象装置200は、メモリの領域情報が既知であるコンピュータの一例である。
The
そして、学習部101は、当該コンテキスト集合の特徴を算出する。この特徴は、例えば、コンテキスト集合におけるプログラムカウンタの値(時系列データ)の変化パターン(例:アドレスの遷移等)、コンテキスト集合におけるデータのアドレスを示すレジスタの値(時系列データ)の変化パターン、コンテキスト集合におけるスタックポインタの値(時系列データ)の変化パターン等のうちいずれか1つ又はいずれか複数又は全部である。また、上記の特徴(変化パターン)は、ベクトル等で表わされてもよいし、時系列モデルとして表わされてもよいし、他の形式で表わされてもよい。
Then, the
学習部101は、例えば、上記のような特徴算出を、複数の監視対象装置200における複数の「正解領域情報とコンテクスト集合の組」に対して行うことで、複数の「特徴と領域情報の組」を得て、記憶部に格納する。このようにして得られた特徴を「特徴A」と呼び、対応する領域情報を領域情報Aと呼ぶことにする。つまり、記憶部には、複数の「特徴Aと領域情報Aの組」が格納される。正解を与えて複数の「特徴Aと領域情報Aの組」を学習する処理は、頻繁に行う必要はなく、ある程度の間隔を開けて行えばよい。また、正解を与えて複数の「特徴Aと領域情報Aの組」を学習する処理を1回だけ行い、その後は、後述する領域情報Bを正解と見なして(領域情報Aと見なして)、順次、複数の「特徴Aと領域情報Aの組」を更新することとしてもよい。
The
また、学習部101は、監視部102から定期的に受け取り、記憶部に蓄積されたコンテキスト集合(領域情報が未知)に対して、特徴Aを求めた方法と同じ方法で特徴(これを特徴Bとする)を算出する。学習部101は、特徴Bを、複数の「特徴Aと領域情報Aの組」における各特徴Aと比較することにより、特徴Bに最も近い特徴Aを特定し、当該特徴Aに対応する領域情報Aを、対象としている監視対象装置200の領域情報(これを領域情報Bと呼ぶ)として学習する。
In addition, the
なお、複数の「特徴Aと領域情報Aの組」の中の該当する領域情報Aそのものを、監視対象装置200の領域情報Bとして決定してもよいし、特徴Bと複数の特徴Aとの距離に応じて、複数の「特徴Aと領域情報Aの組」の中の該当する領域情報Aを変更したものを監視対象装置200の領域情報Bとして決定してもよい。例えば、特徴Bと、特徴A1と特徴A2とが同程度に近い場合において、特徴Bの領域情報Bとして、特徴A1の領域情報A1(例:プログラム領域が0〜100)と特徴A2の領域情報A2(例:プログラム領域が0〜110)の平均(例:プログラム領域が0〜105)を用いることができる。
In addition, the corresponding area information A itself among a plurality of “sets of the feature A and the area information A” may be determined as the area information B of the
なお、上記の例では、学習部101は、教師あり学習により領域情報Bを得ているが、教師なし学習により領域情報Bを取得することとしてもよい。この場合、例えば、コンテクスト集合におけるレジスタの値と、その変化のパターンに基づいて、メモリのアドレスを、データ領域のアドレスと、プログラム領域のアドレスにクラス分けすることで、領域情報Bを取得することができる。
In the above example, the
学習部101により得られた監視対象装置200の領域情報Bは、異常判定部103に渡される。また、監視部102は、定期的に取得されたコンテキストを順次、異常判定部103に渡す。
The area information B of the
異常判定部103は、監視部102から渡されたコンテキストにおける、データのアドレスを示すレジスタ(例:スタックポインタ)の値を参照して、当該レジスタの値が領域情報Bに示されるデータ領域のアドレス範囲を超えるかどうかを判定する(ステップS103)。言いかえると、レジスタの値がプログラム領域のアドレス範囲に侵入しているか否かを判定する。
The
異常判定部103は、レジスタの値が領域情報Bに示されるデータ領域のアドレス範囲を超えることを検知した場合に、異常が発生したと判断し、例えば、アラームを出力する(ステップS104)。アラームには、異常を検知した監視対象装置200を識別する情報が含まれる。また、アラームに代えて、対象の監視対象装置200を停止させる命令を当該監視対象装置200に送信してもよい。当該アラーム、当該命令のいずれも「異常を示す情報」の例である。
When detecting that the value of the register exceeds the address range of the data area indicated by the area information B, the
図8は、異常と判定される場合の例を説明するための図である。図8に示す例では、領域情報Bとして、プログラム領域=アドレス0〜40、データ領域=アドレス40〜100が得られている。そして、コンテキストにおける、データのアドレスを示すレジスタの値(例えばスタックポインタの値)が35であることを検知すると、異常であると判定する。なお、閾値を設け、「プログラム領域のアドレス範囲+閾値」を超えた場合に異常であると判定してもよい。
FIG. 8 is a diagram for explaining an example of a case where it is determined that an abnormality has occurred. In the example shown in FIG. 8, as the area information B, a program area =
また、複数の監視対象装置200において、同じプログラム(アプリケーション)が実行されている環境においては、ある監視対象装置200において上記の異常を検知した場合でも、他の監視対象装置200において同様の事象が生じている場合には、現時点の領域情報Bが十分に正確でない可能性が考えられるため、アラームを出力しないこととしてもよい。また、下記のような処理を行ってもよい。
In an environment in which the same program (application) is executed in a plurality of monitored
学習部101に対し、マルウェアが実行されていることが分かっている監視対象装置のコンテクスト集合を与え、学習部101が、当該コンテクスト集合の中のプログラムカウンタの値(時系列データ)の特徴(変化パターンを示すベクトル、時系列モデル等)を算出する。この特徴を特徴Aと呼ぶ。複数種類のマルウェアに対して複数種類の特徴Aを取得することとしてもよい。そして、特徴Aは異常判定部103に渡される。異常判定部103は、マルウェアの実行有無が未知であるコンピュータからのコンテクストを順次、監視部102から受信し、得られたコンテクスト集合から、プログラムカウンタの値の特徴(特徴Bと呼ぶ)を算出し、特徴Aと特徴Bを比較して、特徴Bに近い(例:閾値以下)特徴Aが存在する場合に、異常を検知することとしてもよい。なお、前述した異常検知(領域情報に基づく異常検知)で異常が検知され、かつ、この異常検知(マルウェアのコンテクスト特徴に基づく異常検知)で異常が検知された場合にアラームを出力することとしてもよいし、いずれかの異常が検知された場合に、アラームを出力することとしてもよい。
The
(実施の形態のまとめ)
以上、説明したように、コンピュータからCPUの状態情報を取得する取得手段と、前記取得手段により取得した状態情報に基づいて、前記コンピュータにおけるメモリの領域情報を学習する学習手段と、前記領域情報と、前記取得手段により取得される状態情報とに基づいて、前記コンピュータにおける異常の有無を判定し、異常があると判定した場合に、異常を示す情報を出力する異常判定手段とを備えることを特徴とする監視装置が提供される。
(Summary of Embodiment)
As described above, as described above, acquiring means for acquiring state information of a CPU from a computer, learning means for learning area information of a memory in the computer based on the state information acquired by the acquiring means, An abnormality determining unit configured to determine the presence or absence of an abnormality in the computer based on the state information acquired by the acquiring unit, and to output information indicating the abnormality when it is determined that there is an abnormality. Is provided.
前記学習手段は、例えば、メモリの領域情報が既知であるコンピュータから得られたCPUの状態情報に基づいて特徴を算出し、当該特徴と、領域情報が未知であるコンピュータから得られたCPUの状態情報に基づき算出された特徴とを比較することにより、領域情報が未知であるコンピュータにおけるメモリの領域情報を学習する。 The learning means calculates a feature based on, for example, CPU state information obtained from a computer whose memory area information is known, and calculates the feature and a CPU state obtained from a computer whose area information is unknown. By comparing the information with the feature calculated based on the information, the area information of the memory in the computer whose area information is unknown is learned.
前記異常判定手段は、例えば、前記取得手段により取得される状態情報に基づいて、前記メモリにおけるデータの格納アドレスを検出し、当該データの格納アドレスが、前記学習手段により得られた前記領域情報におけるデータ領域の範囲を超える場合に、異常があると判定する。 The abnormality determination unit detects, for example, a storage address of data in the memory based on state information acquired by the acquisition unit, and a storage address of the data in the area information obtained by the learning unit. If it exceeds the range of the data area, it is determined that there is an abnormality.
前記学習手段は、マルウェアが実行されているコンピュータから得られたCPUの状態情報に基づき、当該状態情報の特徴を算出し、前記異常判定手段は、当該特徴と、マルウェアの実行有無が未知であるコンピュータから得られたCPUの状態情報に基づき算出された特徴とを比較することにより、異常の有無を判定することとしてもよい。 The learning means calculates a feature of the status information based on the status information of the CPU obtained from the computer on which the malware is executed, and the abnormality determination means does not know the feature and whether or not the malware is executed. The presence or absence of an abnormality may be determined by comparing a feature calculated based on the CPU status information obtained from the computer.
(第1項)
コンピュータからCPUの状態情報を取得する取得手段と、
前記取得手段により取得した状態情報に基づいて、前記コンピュータにおけるメモリの領域情報を学習する学習手段と、
前記領域情報と、前記取得手段により取得される状態情報とに基づいて、前記コンピュータにおける異常の有無を判定し、異常があると判定した場合に、異常を示す情報を出力する異常判定手段と
を備えることを特徴とする監視装置。
(第2項)
前記学習手段は、メモリの領域情報が既知であるコンピュータから得られたCPUの状態情報に基づいて特徴を算出し、当該特徴と、領域情報が未知であるコンピュータから得られたCPUの状態情報に基づき算出された特徴とを比較することにより、領域情報が未知であるコンピュータにおけるメモリの領域情報を学習する
ことを特徴とする第1項に記載の監視装置。
(第3項)
前記異常判定手段は、前記取得手段により取得される状態情報に基づいて、前記メモリにおけるデータの格納アドレスを検出し、当該データの格納アドレスが、前記学習手段により得られた前記領域情報におけるデータ領域の範囲を超える場合に、異常があると判定する
ことを特徴とする第1項又は第2項に記載の監視装置。
(第4項)
前記学習手段は、マルウェアが実行されているコンピュータから得られたCPUの状態情報に基づき、当該状態情報の特徴を算出し、
前記異常判定手段は、当該特徴と、マルウェアの実行有無が未知であるコンピュータから得られたCPUの状態情報に基づき算出された特徴とを比較することにより、異常の有無を判定する
ことを特徴とする第1項ないし第3項のうちいずれか1項に記載の監視装置。
(第5項)
コンピュータを、第1項ないし第4項のうちいずれか1項に記載の監視装置における各手段として機能させるためのプログラム。
(第6項)
コンピュータの異常検知を行う監視装置が実行する監視方法であって、
コンピュータからCPUの状態情報を取得する取得ステップと、
前記取得ステップにより取得した状態情報に基づいて、前記コンピュータにおけるメモリの領域情報を学習する学習ステップと、
前記領域情報と、前記コンピュータから取得されるCPUの状態情報とに基づいて、前記コンピュータにおける異常の有無を判定し、異常があると判定した場合に、異常を示す情報を出力する異常判定ステップと
を備えることを特徴とする監視方法。
本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。
(Section 1)
Acquisition means for acquiring CPU status information from a computer;
Learning means for learning area information of a memory in the computer based on the state information obtained by the obtaining means;
An abnormality determining unit that determines whether there is an abnormality in the computer based on the area information and the state information acquired by the acquiring unit, and outputs information indicating the abnormality when it is determined that there is an abnormality;
A monitoring device comprising:
(Section 2)
The learning means calculates a feature based on the CPU state information obtained from a computer whose memory area information is known, and calculates the feature and the CPU state information obtained from a computer whose area information is unknown. Learning the region information of the memory in the computer whose region information is unknown by comparing the calculated feature with the calculated feature
2. The monitoring device according to
(Section 3)
The abnormality determination unit detects a storage address of data in the memory based on the state information acquired by the acquisition unit, and determines a storage address of the data in the data area in the area information obtained by the learning unit. Is determined to be abnormal when the value exceeds the range
The monitoring device according to
(Section 4)
The learning means calculates a feature of the state information based on the state information of the CPU obtained from the computer on which the malware is executed,
The abnormality determination unit determines the presence or absence of an abnormality by comparing the characteristic with a characteristic calculated based on CPU state information obtained from a computer whose execution of the malware is unknown.
The monitoring device according to any one of
(Section 5)
A program for causing a computer to function as each unit in the monitoring device according to any one of the first to fourth aspects.
(Section 6)
A monitoring method performed by a monitoring device that detects abnormality of a computer, comprising:
An acquisition step of acquiring CPU status information from a computer;
A learning step of learning area information of a memory in the computer based on the state information acquired by the acquiring step;
An abnormality determination step of determining the presence or absence of an abnormality in the computer based on the area information and the CPU state information obtained from the computer, and outputting information indicating the abnormality when determining that there is an abnormality;
A monitoring method, comprising:
The present invention is not limited to the embodiments described above, and various modifications and applications are possible within the scope of the claims.
100 監視装置
101 学習部
102 監視部
103 異常判定部
200 監視対象装置
201 メモリ
202 CPU
203 コンテキスト格納部
251 ハードウェア
252 ハイパーバイザ
203
Claims (7)
前記取得手段により取得した状態情報に基づいて、前記コンピュータにおけるメモリの領域情報を学習する学習手段と、
前記領域情報と、前記取得手段により取得される状態情報とに基づいて、前記コンピュータにおける異常の有無を判定し、異常があると判定した場合に、異常を示す情報を出力する異常判定手段とを備える監視装置であって、
前記学習手段は、メモリの領域情報が既知であるコンピュータから得られたCPUの状態情報に基づいて特徴を算出し、当該特徴と、領域情報が未知であるコンピュータから得られたCPUの状態情報に基づき算出された特徴とを比較することにより、領域情報が未知であるコンピュータにおけるメモリの領域情報を学習する
ことを特徴とする監視装置。 Acquisition means for acquiring CPU status information from a computer;
Learning means for learning area information of a memory in the computer based on the state information obtained by the obtaining means;
Based on the area information and the status information obtained by the obtaining unit, determine whether there is an abnormality in the computer, and when it is determined that there is an abnormality, an abnormality determining unit that outputs information indicating the abnormality. A monitoring device comprising:
The learning means calculates a feature based on the CPU state information obtained from a computer whose memory area information is known, and calculates the feature and the CPU state information obtained from a computer whose area information is unknown. A monitoring device characterized by learning area information of a memory in a computer whose area information is unknown by comparing the calculated characteristic with a characteristic calculated based on the calculated characteristic.
前記取得手段により取得した状態情報に基づいて、前記コンピュータにおけるメモリの領域情報を学習する学習手段と、
前記領域情報と、前記取得手段により取得される状態情報とに基づいて、前記コンピュータにおける異常の有無を判定し、異常があると判定した場合に、異常を示す情報を出力する異常判定手段とを備える監視装置であって、
前記異常判定手段は、前記取得手段により取得される状態情報に基づいて、前記メモリにおけるデータの格納アドレスを検出し、当該データの格納アドレスが、前記学習手段により得られた前記領域情報におけるデータ領域の範囲を超える場合に、異常があると判定する
ことを特徴とする監視装置。 Acquisition means for acquiring CPU status information from a computer;
Learning means for learning area information of a memory in the computer based on the state information obtained by the obtaining means;
Based on the area information and the status information obtained by the obtaining unit, determine whether there is an abnormality in the computer, and when it is determined that there is an abnormality, an abnormality determining unit that outputs information indicating the abnormality. A monitoring device comprising:
The abnormality determination unit detects a storage address of data in the memory based on the state information acquired by the acquisition unit, and determines a storage address of the data in the data area in the area information obtained by the learning unit. A monitoring device that determines that there is an abnormality when the value exceeds the range.
前記取得手段により取得した状態情報に基づいて、前記コンピュータにおけるメモリの領域情報を学習する学習手段と、
前記領域情報と、前記取得手段により取得される状態情報とに基づいて、前記コンピュータにおける異常の有無を判定し、異常があると判定した場合に、異常を示す情報を出力する異常判定手段とを備える監視装置であって、
前記学習手段は、マルウェアが実行されているコンピュータから得られたCPUの状態情報に基づき、当該状態情報の特徴を算出し、
前記異常判定手段は、当該特徴と、マルウェアの実行有無が未知であるコンピュータから得られたCPUの状態情報に基づき算出された特徴とを比較することにより、異常の有無を判定する
ことを特徴とする監視装置。 Acquisition means for acquiring CPU status information from a computer;
Learning means for learning area information of a memory in the computer based on the state information obtained by the obtaining means;
Based on the area information and the status information obtained by the obtaining unit, determine whether there is an abnormality in the computer, and when it is determined that there is an abnormality, an abnormality determining unit that outputs information indicating the abnormality. A monitoring device comprising:
The learning means calculates a feature of the state information based on the state information of the CPU obtained from the computer on which the malware is executed,
The abnormality determination unit determines the presence or absence of an abnormality by comparing the characteristic with a characteristic calculated based on CPU state information obtained from a computer whose execution of the malware is unknown. Monitoring device.
コンピュータからCPUの状態情報を取得する取得ステップと、
前記取得ステップにより取得した状態情報に基づいて、前記コンピュータにおけるメモリの領域情報を学習する学習ステップと、
前記領域情報と、前記コンピュータから取得されるCPUの状態情報とに基づいて、前記コンピュータにおける異常の有無を判定し、異常があると判定した場合に、異常を示す情報を出力する異常判定ステップとを備える監視方法であり、
前記学習ステップにおいて、前記監視装置は、メモリの領域情報が既知であるコンピュータから得られたCPUの状態情報に基づいて特徴を算出し、当該特徴と、領域情報が未知であるコンピュータから得られたCPUの状態情報に基づき算出された特徴とを比較することにより、領域情報が未知であるコンピュータにおけるメモリの領域情報を学習する
ことを特徴とする監視方法。 A monitoring method performed by a monitoring device that detects abnormality of a computer, comprising:
An acquisition step of acquiring CPU status information from a computer;
A learning step of learning area information of a memory in the computer based on the state information acquired by the acquiring step;
An abnormality determination step of determining the presence or absence of an abnormality in the computer based on the area information and the CPU state information obtained from the computer, and outputting information indicating the abnormality when determining that there is an abnormality; a monitoring method comprises a,
In the learning step, the monitoring device calculates a feature based on CPU state information obtained from a computer whose memory area information is known, and obtains the feature and the area information from a computer whose area information is unknown. Learning the region information of the memory in the computer whose region information is unknown by comparing the feature calculated based on the state information of the CPU
A monitoring method characterized in that:
コンピュータからCPUの状態情報を取得する取得ステップと、 An acquisition step of acquiring CPU status information from a computer;
前記取得ステップにより取得した状態情報に基づいて、前記コンピュータにおけるメモリの領域情報を学習する学習ステップと、 A learning step of learning area information of a memory in the computer based on the state information acquired by the acquiring step;
前記領域情報と、前記コンピュータから取得されるCPUの状態情報とに基づいて、前記コンピュータにおける異常の有無を判定し、異常があると判定した場合に、異常を示す情報を出力する異常判定ステップとを備える監視方法であり、 An abnormality determination step of determining the presence or absence of an abnormality in the computer based on the area information and the CPU state information obtained from the computer, and outputting information indicating the abnormality when determining that there is an abnormality; It is a monitoring method comprising
前記異常判定ステップにおいて、前記監視装置は、前記取得ステップにより取得される状態情報に基づいて、前記メモリにおけるデータの格納アドレスを検出し、当該データの格納アドレスが、前記学習ステップにより得られた前記領域情報におけるデータ領域の範囲を超える場合に、異常があると判定する In the abnormality determination step, the monitoring device detects a storage address of data in the memory based on the state information acquired in the acquisition step, and the storage address of the data is obtained in the learning step. If it exceeds the range of the data area in the area information, it is determined that there is an abnormality
ことを特徴とする監視方法。 A monitoring method characterized in that:
コンピュータからCPUの状態情報を取得する取得ステップと、 An acquisition step of acquiring CPU status information from a computer;
前記取得ステップにより取得した状態情報に基づいて、前記コンピュータにおけるメモリの領域情報を学習する学習ステップと、 A learning step of learning area information of a memory in the computer based on the state information acquired by the acquiring step;
前記領域情報と、前記コンピュータから取得されるCPUの状態情報とに基づいて、前記コンピュータにおける異常の有無を判定し、異常があると判定した場合に、異常を示す情報を出力する異常判定ステップとを備える監視方法であり、 An abnormality determination step of determining the presence or absence of an abnormality in the computer based on the area information and the CPU state information obtained from the computer, and outputting information indicating the abnormality when determining that there is an abnormality; It is a monitoring method comprising
前記学習ステップにおいて、前記監視装置は、マルウェアが実行されているコンピュータから得られたCPUの状態情報に基づき、当該状態情報の特徴を算出し、 In the learning step, the monitoring device calculates a feature of the state information based on the state information of the CPU obtained from the computer on which the malware is executed,
前記異常判定ステップにおいて、前記監視装置は、当該特徴と、マルウェアの実行有無が未知であるコンピュータから得られたCPUの状態情報に基づき算出された特徴とを比較することにより、異常の有無を判定する In the abnormality determining step, the monitoring device determines whether there is an abnormality by comparing the characteristic with a characteristic calculated based on state information of the CPU obtained from a computer whose execution of the malware is unknown. Do
ことを特徴とする監視方法。 A monitoring method characterized in that:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016062680A JP6646494B2 (en) | 2016-03-25 | 2016-03-25 | Monitoring device, monitoring method, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016062680A JP6646494B2 (en) | 2016-03-25 | 2016-03-25 | Monitoring device, monitoring method, and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017174354A JP2017174354A (en) | 2017-09-28 |
JP6646494B2 true JP6646494B2 (en) | 2020-02-14 |
Family
ID=59973503
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016062680A Active JP6646494B2 (en) | 2016-03-25 | 2016-03-25 | Monitoring device, monitoring method, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6646494B2 (en) |
-
2016
- 2016-03-25 JP JP2016062680A patent/JP6646494B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2017174354A (en) | 2017-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11277423B2 (en) | Anomaly-based malicious-behavior detection | |
EP3506139B1 (en) | Malware detection in event loops | |
US9860262B2 (en) | Methods and systems for encoding computer processes for malware detection | |
US9680848B2 (en) | Apparatus, system and method for detecting and preventing malicious scripts using code pattern-based static analysis and API flow-based dynamic analysis | |
US9781144B1 (en) | Determining duplicate objects for malware analysis using environmental/context information | |
US10944764B2 (en) | Security event detection through virtual machine introspection | |
KR101051722B1 (en) | Monitor program, monitoring method and computer program product for hardware related thereto | |
WO2016057994A1 (en) | Differential dependency tracking for attack forensics | |
JP5692414B2 (en) | Detection device, detection program, and detection method | |
US11244043B2 (en) | Aggregating anomaly scores from anomaly detectors | |
EP3531329B1 (en) | Anomaly-based-malicious-behavior detection | |
US11443032B2 (en) | Stack pivot exploit detection and mitigation | |
CN115427956A (en) | Machine learning system and method for reducing false-alarm malicious software detection rate | |
KR102005107B1 (en) | Method and Apparatus for Analyzing Malicious Code Using API Call Sequence | |
US20070074172A1 (en) | Software problem administration | |
JP6459289B2 (en) | Malware estimation apparatus, malware estimation method, and malware estimation program | |
US11361077B2 (en) | Kernel-based proactive engine for malware detection | |
US9507621B1 (en) | Signature-based detection of kernel data structure modification | |
JP6646494B2 (en) | Monitoring device, monitoring method, and program | |
Kadiyala et al. | LAMBDA: Lightweight assessment of malware for emBeddeD architectures | |
US20220237286A1 (en) | Kernel based exploitation detection and prevention using grammatically structured rules | |
JP7168010B2 (en) | Action plan estimation device, action plan estimation method, and program | |
CN113849813A (en) | Data detection method and device, electronic equipment and storage medium | |
US11314855B2 (en) | Detecting stack pivots using stack artifact verification | |
US20180219884A1 (en) | Changing the deployment status of a pre-processor or analytic |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180725 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20190426 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190528 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190729 |
|
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: 20191224 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200110 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6646494 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |