JP6646494B2 - Monitoring device, monitoring method, and program - Google Patents

Monitoring device, monitoring method, and program Download PDF

Info

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
Application number
JP2016062680A
Other languages
Japanese (ja)
Other versions
JP2017174354A (en
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.)
NTT Communications Corp
Original Assignee
NTT Communications 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 NTT Communications Corp filed Critical NTT Communications Corp
Priority to JP2016062680A priority Critical patent/JP6646494B2/en
Publication of JP2017174354A publication Critical patent/JP2017174354A/en
Application granted granted Critical
Publication of JP6646494B2 publication Critical patent/JP6646494B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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.

特開2000−076135号公報JP 2000-076135 A

従来より、不安定なプログラムを安全に走行させることを目的とした、リングプロテクション(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.

リングプロテクションの概念を説明するための図である。It is a figure for explaining the concept of ring protection. 本発明の実施の形態におけるシステムの全体構成図である。FIG. 1 is an overall configuration diagram of a system according to an embodiment of the present invention. 監視対象装置200の構成図である。3 is a configuration diagram of a monitoring target device 200. FIG. VM環境の例を示す図である。FIG. 4 is a diagram illustrating an example of a VM environment. 監視対象装置200の基本的な動作を説明するための図である。FIG. 4 is a diagram for explaining a basic operation of the monitoring target device 200. 監視装置100の構成図である。1 is a configuration diagram of a monitoring device 100. 監視装置100の動作を示すフローチャートである。6 is a flowchart illustrating an operation of the monitoring device 100. 異常判定の例を説明するための図である。FIG. 9 is a diagram for describing an example of abnormality determination.

以下、図面を参照して本発明の実施の形態(本実施の形態)を説明する。なお、以下で説明する実施の形態は一例に過ぎず、本発明を適用可能な形態は、以下の実施の形態に限られるわけではない。   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 monitoring device 100 and a plurality of monitoring target devices 200. Data communication is possible between the monitoring device 100 and each monitoring target device 200 via a network such as the Internet.

監視対象装置200は、ネットワークに接続される一般的なコンピュータである。また、当該コンピュータに使用されるOSも一般的なもの(例えば、Linux(登録商標)、Windows(登録商標)等)である。各監視対象装置200は、サービスを提供するサーバとして使用される装置であってもよいし、ユーザのクライアント端末として使用される装置であってもよい。また、監視対象装置200は物理的なコンピュータであってもよいし、仮想マシンとしてのコンピュータであってもよい。監視装置100は、各監視対象装置200の監視を行って、異常を検知する。   The monitoring target device 200 is a general computer connected to a network. The OS used for the computer is also a general OS (for example, Linux (registered trademark), Windows (registered trademark), or the like). Each monitoring target device 200 may be a device used as a server for providing a service, or may be a device used as a client terminal of a user. The monitored device 200 may be a physical computer or a computer as a virtual machine. The monitoring device 100 monitors each monitoring target device 200 and detects an abnormality.

(監視対象装置200の構成)
図3に、監視対象装置200の構成図を示す。図3に示すように、監視対象装置200は、メモリ201、CPU202、コンテキスト格納部203を含む。図3に示すように、メモリには、データとプログラムが混在して格納されるが、データとプログラムともにビットの羅列であり、一般には、外部からは、メモリ201の各アドレスに格納されているビットが、データかプログラムかの識別はできない。
(Configuration of Monitored Device 200)
FIG. 3 shows a configuration diagram of the monitoring target device 200. As shown in FIG. 3, the monitoring target device 200 includes a memory 201, a CPU 202, and a context storage unit 203. As shown in FIG. 3, data and programs are mixedly stored in the memory, but both data and programs are a sequence of bits, and are generally stored from the outside at each address of the memory 201. It is not possible to identify whether a bit is data or program.

CPU202は、プログラムカウンタ(PC)、スタックポインタ(SP)、汎用レジスタ等の複数のレジスタを有する。プログラムカウンタには、CPU202が次に読み取る命令が格納されたメモリのアドレスが格納されており、基本的に、命令の実行の都度、インクリメントされる。CPU202は、プログラムカウンタにより示されるアドレスの命令をメモリ201から読み出して実行する。   The CPU 202 has a plurality of registers such as a program counter (PC), a stack pointer (SP), and a general-purpose register. The program counter stores the address of the memory where the instruction to be read next by the CPU 202 is stored, and is basically incremented each time the instruction is executed. The CPU 202 reads out the instruction at the address indicated by the program counter from the memory 201 and executes it.

スタックポインタは、スタックと呼ばれる領域のうち最も最近参照された位置のアドレスを保持するためのレジスタである。スタックは最初に格納したデータを最後に、最後に格納されたデータを最初に取り出すことができる領域であり、新たにデータが格納されるとスタックポインタの値はそのデータ量の分だけ増え、取り出されるとその分だけ減る。   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 context storage unit 203 is a functional unit that stores the state (context) of the CPU 202. The context includes a value of each register such as a program counter (PC), a stack pointer (SP), and a general-purpose register of the CPU 202. The function of acquiring a context from the CPU 202 and holding the context is a function generally provided in a computer operated by a general OS, for example, for a context switch or the like.

また、コンテキストを保持するタイミングは、例えば、監視装置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 monitoring target device 200 is a virtual machine (VM). The VM environment of this example includes a hardware 251, a hypervisor 252, and a VM as the monitored device 200. In the VM environment, each VM is managed by the hypervisor 252, and the hypervisor 252 manages the configuration illustrated in FIG. 3 for each VM. That is, when the monitored device 200 is a virtual machine (VM), the context storage unit 203 is held by the hypervisor 252, but hereinafter, the context storage unit 203 is virtually stored in the VM (that is, the monitored device 200). ). That is, the configuration shown in FIG. 3 is applied whether the monitored device 200 is a virtual machine or a physical machine.

図5を参照して、監視対象装置200の動作の一例を説明する。左側の状態において、プログラムカウンタ(PC)に2が格納され、レジスタR1に4が格納されている。CPUは、PCに従って、メモリのアドレス2の命令を読み出す。この命令は、「レジスタR1に格納されているメモリアドレス4の値をレジスタR2にコピー」するという命令である。CPUはこの命令を実行することで、右側の状態になる。つまり、命令の実行の結果、アドレス4の値(100)が、R2に格納されている、また、PCがインクリメントされている。   An example of the operation of the monitoring target device 200 will be described with reference to FIG. In the state on the left, 2 is stored in the program counter (PC) and 4 is stored in the register R1. The CPU reads the instruction at address 2 of the memory according to the PC. This instruction is to copy the value of the memory address 4 stored in the register R1 to the register R2. The CPU enters the state on the right by executing this instruction. That is, as a result of the execution of the instruction, the value (100) of the address 4 is stored in R2, and the PC is incremented.

(監視装置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 monitoring device 100. As shown in FIG. 6, the monitoring device 100 includes a learning unit 101, a monitoring unit 102, and an abnormality determination unit 103. The operation of each functional unit will be described in detail in the following operation description. In the following description, one monitored device 200 in the plurality of monitored devices 200 is targeted unless otherwise specified. However, the same processing is actually performed on the other monitored devices 200. ing. However, it is not essential that a plurality of monitoring target devices 200 are targeted, and one monitoring target device 200 may be targeted.

本実施の形態における監視装置100は、コンピュータに、本実施の形態で説明する処理内容を記述したプログラムを実行させることにより実現可能である。すなわち、監視装置100が有する機能は、当該コンピュータに内蔵されるCPUやメモリ等のハードウェア資源を用いて、当該装置で実施される処理に対応するプログラムを実行することによって実現することが可能である。上記プログラムは、コンピュータが読み取り可能な記録媒体(可搬メモリ等)に記録して、保存したり、配布したりすることが可能である。また、上記プログラムをインターネットや電子メール等、ネットワークを通して提供することも可能である。   The monitoring device 100 according to the present embodiment can be realized by causing a computer to execute a program describing the processing content described in the present embodiment. That is, the functions of the monitoring device 100 can be realized by executing a program corresponding to a process performed by the device using hardware resources such as a CPU and a memory built in the computer. is there. The above-described program can be recorded on a computer-readable recording medium (a portable memory or the like) and can be stored or distributed. Further, the above program can be provided through a network such as the Internet or electronic mail.

(監視装置100の動作)
以下、図6に示す構成を有する監視装置100の動作を図7のフローチャートに沿って説明する。
(Operation of monitoring device 100)
Hereinafter, the operation of the monitoring apparatus 100 having the configuration shown in FIG. 6 will be described with reference to the flowchart of FIG.

監視部102は、例えば定期的に、監視対象装置200から、コンテキスト格納部203に格納されているコンテキストを取得する(ステップS101)。コンテキストの取得は、例えば、監視部102が監視対象装置200に対してコンテキスト要求を送信し、監視対象装置200が、コンテキスト応答としてコンテキストを監視部102に返すことにより行われる。当該コンテキストには、現時点でのCPUの状態情報(レジスタの値等)が含まれる。監視部102により取得されたコンテキストは、学習部101に渡される。   For example, the monitoring unit 102 periodically acquires the context stored in the context storage unit 203 from the monitoring target device 200 (step S101). The acquisition of the context is performed, for example, by the monitoring unit 102 transmitting a context request to the monitoring target device 200, and the monitoring target device 200 returning the context to the monitoring unit 102 as a context response. The context includes current CPU status information (register values and the like). The context acquired by the monitoring unit 102 is passed to the learning unit 101.

学習部101は、監視部102により取得されたコンテキストに基づいて、監視対象装置200のメモリ201におけるプログラム領域のアドレス範囲とデータ領域のアドレス範囲とを学習(決定)する(ステップS102)。具体的には以下のとおりである。以下、プログラム領域のアドレス範囲とデータ領域のアドレス範囲を「領域情報」と呼ぶ。また、以下の処理は一例である。   The learning unit 101 learns (determines) the address range of the program area and the address range of the data area in the memory 201 of the monitoring target device 200 based on the context acquired by the monitoring unit 102 (step S102). The details are as follows. Hereinafter, the address range of the program area and the address range of the data area are referred to as “area information”. The following process is an example.

学習部101は、定期的に取得された監視対象装置200のコンテキストの集合を保持する記憶部を含む。また、学習部101は、教師あり学習機能を有する。この場合、まず、学習部101に、正解の領域情報を与え、更に、この正解が得られた監視対象装置200から取得されたコンテキスト集合を与える。この正解が得られた監視対象装置200は、メモリの領域情報が既知であるコンピュータの一例である。   The learning unit 101 includes a storage unit that stores a set of contexts of the monitoring target device 200 acquired periodically. The learning unit 101 has a supervised learning function. In this case, first, the correct area information is provided to the learning unit 101, and further, a context set obtained from the monitoring target device 200 from which the correct answer is obtained is provided. The monitoring target device 200 from which the correct answer has been obtained is an example of a computer whose memory area information is known.

そして、学習部101は、当該コンテキスト集合の特徴を算出する。この特徴は、例えば、コンテキスト集合におけるプログラムカウンタの値(時系列データ)の変化パターン(例:アドレスの遷移等)、コンテキスト集合におけるデータのアドレスを示すレジスタの値(時系列データ)の変化パターン、コンテキスト集合におけるスタックポインタの値(時系列データ)の変化パターン等のうちいずれか1つ又はいずれか複数又は全部である。また、上記の特徴(変化パターン)は、ベクトル等で表わされてもよいし、時系列モデルとして表わされてもよいし、他の形式で表わされてもよい。   Then, the learning unit 101 calculates the feature of the context set. This feature includes, for example, a change pattern of a program counter value (time-series data) in a context set (eg, an address transition), a change pattern of a register value (time-series data) indicating an address of data in a context set, It is any one or any plural or all of the change patterns of the stack pointer value (time-series data) in the context set. Further, the above characteristics (change patterns) may be represented by a vector or the like, may be represented as a time-series model, or may be represented in another format.

学習部101は、例えば、上記のような特徴算出を、複数の監視対象装置200における複数の「正解領域情報とコンテクスト集合の組」に対して行うことで、複数の「特徴と領域情報の組」を得て、記憶部に格納する。このようにして得られた特徴を「特徴A」と呼び、対応する領域情報を領域情報Aと呼ぶことにする。つまり、記憶部には、複数の「特徴Aと領域情報Aの組」が格納される。正解を与えて複数の「特徴Aと領域情報Aの組」を学習する処理は、頻繁に行う必要はなく、ある程度の間隔を開けて行えばよい。また、正解を与えて複数の「特徴Aと領域情報Aの組」を学習する処理を1回だけ行い、その後は、後述する領域情報Bを正解と見なして(領域情報Aと見なして)、順次、複数の「特徴Aと領域情報Aの組」を更新することとしてもよい。   The learning unit 101 performs, for example, the above-described feature calculation on a plurality of “sets of the correct answer area information and the context set” in the plurality of monitoring target devices 200 to thereby obtain a plurality of “sets of the feature and area information”. Is obtained and stored in the storage unit. The feature obtained in this manner is called “feature A”, and the corresponding area information is called area information A. That is, the storage unit stores a plurality of “sets of feature A and area information A”. The process of giving a correct answer and learning a plurality of “sets of feature A and region information A” does not need to be performed frequently, and may be performed at a certain interval. Further, a process of giving a correct answer and learning a plurality of “combinations of feature A and region information A” is performed only once, and thereafter, region information B described later is regarded as a correct answer (considering region information A), A plurality of “sets of feature A and area information A” may be sequentially updated.

また、学習部101は、監視部102から定期的に受け取り、記憶部に蓄積されたコンテキスト集合(領域情報が未知)に対して、特徴Aを求めた方法と同じ方法で特徴(これを特徴Bとする)を算出する。学習部101は、特徴Bを、複数の「特徴Aと領域情報Aの組」における各特徴Aと比較することにより、特徴Bに最も近い特徴Aを特定し、当該特徴Aに対応する領域情報Aを、対象としている監視対象装置200の領域情報(これを領域情報Bと呼ぶ)として学習する。   In addition, the learning unit 101 periodically receives a feature set (which is a feature B) from the context set (region information is unknown) received from the monitoring unit 102 and stored in the storage unit in the same manner as the method of obtaining the feature A. Is calculated). The learning unit 101 identifies the feature A closest to the feature B by comparing the feature B with each of the features A in a plurality of “sets of the feature A and the area information A”, and determines the area information corresponding to the feature A. A is learned as area information of the target monitoring target device 200 (this is referred to as area information B).

なお、複数の「特徴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 monitoring target device 200, or the combination of the feature B and the plurality of features A may be determined. The information obtained by changing the corresponding area information A among a plurality of “sets of the feature A and the area information A” according to the distance may be determined as the area information B of the monitoring target device 200. For example, when the feature B, the feature A1 and the feature A2 are almost the same, as the region information B of the feature B, the region information A1 of the feature A1 (eg, the program region is 0 to 100) and the region information of the feature A2 The average of A2 (example: program area is 0 to 110) (example: program area is 0 to 105) can be used.

なお、上記の例では、学習部101は、教師あり学習により領域情報Bを得ているが、教師なし学習により領域情報Bを取得することとしてもよい。この場合、例えば、コンテクスト集合におけるレジスタの値と、その変化のパターンに基づいて、メモリのアドレスを、データ領域のアドレスと、プログラム領域のアドレスにクラス分けすることで、領域情報Bを取得することができる。   In the above example, the learning unit 101 obtains the area information B by supervised learning, but may obtain the area information B by unsupervised learning. In this case, for example, the area information B is obtained by classifying the memory address into a data area address and a program area address based on the register value in the context set and its change pattern. Can be.

学習部101により得られた監視対象装置200の領域情報Bは、異常判定部103に渡される。また、監視部102は、定期的に取得されたコンテキストを順次、異常判定部103に渡す。   The area information B of the monitoring target device 200 obtained by the learning unit 101 is passed to the abnormality determination unit 103. Further, the monitoring unit 102 sequentially passes the contexts acquired periodically to the abnormality determination unit 103.

異常判定部103は、監視部102から渡されたコンテキストにおける、データのアドレスを示すレジスタ(例:スタックポインタ)の値を参照して、当該レジスタの値が領域情報Bに示されるデータ領域のアドレス範囲を超えるかどうかを判定する(ステップS103)。言いかえると、レジスタの値がプログラム領域のアドレス範囲に侵入しているか否かを判定する。   The abnormality determining unit 103 refers to the value of a register (eg, a stack pointer) indicating the address of the data in the context passed from the monitoring unit 102, and sets the value of the register to the address of the data area indicated by the area information B. It is determined whether or not the range is exceeded (step S103). In other words, it is determined whether or not the value of the register has entered the address range of the program area.

異常判定部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 abnormality determination unit 103 determines that an abnormality has occurred, and outputs an alarm, for example (step S104). The alarm includes information for identifying the monitoring target device 200 that has detected the abnormality. In place of the alarm, a command to stop the target monitored device 200 may be transmitted to the monitored device 200. Both the alarm and the instruction are examples of “information indicating an abnormality”.

図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 = address 0 to 40 and a data area = address 40 to 100 are obtained. Then, when it is detected that the value of the register indicating the address of the data in the context (for example, the value of the stack pointer) is 35, it is determined to be abnormal. Note that a threshold value may be provided, and it may be determined that there is an abnormality when the value exceeds “address range of the program area + threshold value”.

また、複数の監視対象装置200において、同じプログラム(アプリケーション)が実行されている環境においては、ある監視対象装置200において上記の異常を検知した場合でも、他の監視対象装置200において同様の事象が生じている場合には、現時点の領域情報Bが十分に正確でない可能性が考えられるため、アラームを出力しないこととしてもよい。また、下記のような処理を行ってもよい。   In an environment in which the same program (application) is executed in a plurality of monitored devices 200, even if the above-described abnormality is detected in one monitored device 200, a similar event occurs in another monitored device 200. If the alarm has occurred, there is a possibility that the current area information B is not sufficiently accurate, and the alarm may not be output. Further, the following processing may be performed.

学習部101に対し、マルウェアが実行されていることが分かっている監視対象装置のコンテクスト集合を与え、学習部101が、当該コンテクスト集合の中のプログラムカウンタの値(時系列データ)の特徴(変化パターンを示すベクトル、時系列モデル等)を算出する。この特徴を特徴Aと呼ぶ。複数種類のマルウェアに対して複数種類の特徴Aを取得することとしてもよい。そして、特徴Aは異常判定部103に渡される。異常判定部103は、マルウェアの実行有無が未知であるコンピュータからのコンテクストを順次、監視部102から受信し、得られたコンテクスト集合から、プログラムカウンタの値の特徴(特徴Bと呼ぶ)を算出し、特徴Aと特徴Bを比較して、特徴Bに近い(例:閾値以下)特徴Aが存在する場合に、異常を検知することとしてもよい。なお、前述した異常検知(領域情報に基づく異常検知)で異常が検知され、かつ、この異常検知(マルウェアのコンテクスト特徴に基づく異常検知)で異常が検知された場合にアラームを出力することとしてもよいし、いずれかの異常が検知された場合に、アラームを出力することとしてもよい。   The learning unit 101 is provided with a context set of the monitoring target device that is known to be executing malware, and the learning unit 101 determines the characteristic (change in time series data) of the program counter value (time-series data) in the context set. A vector indicating a pattern, a time-series model, etc.). This feature is called feature A. A plurality of types of features A may be obtained for a plurality of types of malware. Then, the feature A is passed to the abnormality determination unit 103. The abnormality determination unit 103 sequentially receives the contexts from the computers in which the presence or absence of the execution of the malware is unknown from the monitoring unit 102, and calculates the feature of the value of the program counter (called feature B) from the obtained context set. The feature A may be compared with the feature B, and when the feature A close to the feature B (eg, equal to or less than the threshold) exists, the abnormality may be detected. It is also possible to output an alarm when an abnormality is detected in the abnormality detection (abnormality detection based on area information) described above and an abnormality is detected in this abnormality detection (malware abnormality detection based on context features). Alternatively, an alarm may be output when any abnormality is detected.

(実施の形態のまとめ)
以上、説明したように、コンピュータから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 claim 1, wherein:
(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 claim 1 or 2, wherein:
(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 claims 1 to 3, characterized in that:
(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 ハイパーバイザ
Reference Signs List 100 monitoring device 101 learning unit 102 monitoring unit 103 abnormality determination unit 200 monitored device 201 memory 202 CPU
203 Context storage unit 251 Hardware 252 Hypervisor

Claims (7)

コンピュータからCPUの状態情報を取得する取得手段と、
前記取得手段により取得した状態情報に基づいて、前記コンピュータにおけるメモリの領域情報を学習する学習手段と、
前記領域情報と、前記取得手段により取得される状態情報とに基づいて、前記コンピュータにおける異常の有無を判定し、異常があると判定した場合に、異常を示す情報を出力する異常判定手段とを備える監視装置であって、
前記学習手段は、メモリの領域情報が既知であるコンピュータから得られた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.
コンピュータから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 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の状態情報に基づき、当該状態情報の特徴を算出し、
前記異常判定手段は、当該特徴と、マルウェアの実行有無が未知であるコンピュータから得られた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.
コンピュータを、請求項1ないしのうちいずれか1項に記載の監視装置における各手段として機能させるためのプログラム。 A program for causing a computer to function as each unit in the monitoring device according to any one of claims 1 to 3 . コンピュータの異常検知を行う監視装置が実行する監視方法であって、
コンピュータから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:
コンピュータの異常検知を行う監視装置が実行する監視方法であって、  A monitoring method performed by a monitoring device that detects abnormality of a computer, comprising:
コンピュータから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:
コンピュータの異常検知を行う監視装置が実行する監視方法であって、  A monitoring method performed by a monitoring device that detects abnormality of a computer, comprising:
コンピュータから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:
JP2016062680A 2016-03-25 2016-03-25 Monitoring device, monitoring method, and program Active JP6646494B2 (en)

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)

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