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

Monitoring device, monitoring method, and monitoring program Download PDF

Info

Publication number
JP2014211733A
JP2014211733A JP2013087176A JP2013087176A JP2014211733A JP 2014211733 A JP2014211733 A JP 2014211733A JP 2013087176 A JP2013087176 A JP 2013087176A JP 2013087176 A JP2013087176 A JP 2013087176A JP 2014211733 A JP2014211733 A JP 2014211733A
Authority
JP
Japan
Prior art keywords
malware
program
dynamic analysis
analysis
host
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
JP2013087176A
Other languages
Japanese (ja)
Other versions
JP5996481B2 (en
Inventor
一史 青木
Kazufumi Aoki
一史 青木
知範 幾世
Tomonori Ikuyo
知範 幾世
剛男 針生
Takeo Hario
剛男 針生
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2013087176A priority Critical patent/JP5996481B2/en
Publication of JP2014211733A publication Critical patent/JP2014211733A/en
Application granted granted Critical
Publication of JP5996481B2 publication Critical patent/JP5996481B2/en
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

Abstract

PROBLEM TO BE SOLVED: To dynamically analyze a large number of malware with limited computer resources.SOLUTION: A monitoring device performs time-division dynamic analysis to malware, and records an operation record of the malware. The monitoring device refers to the operation record, and determines the malware to be subjected to consecutive dynamic analysis when the malware establishes communication with any host on a network within a predetermined period. Upon determination that the malware has not established communication with any host on the network within the predetermined period, the malware is determined to be subjected to the time-division dynamic analysis.

Description

本発明は、プログラムの監視装置、監視方法、および、監視プログラムに関するものである。   The present invention relates to a program monitoring apparatus, a monitoring method, and a monitoring program.

近年、情報漏洩や不正アクセス等の脅威をもたらす不正プログラム(以下、「マルウェア」と呼ぶ)が猛威を振るっている。昨今のマルウェアは、C&C(Command and Control)サーバを介して攻撃者からの指令を受け取り、他のサーバに対する攻撃や情報漏洩といった被害をもたらす。また、一度感染させたマルウェアに対して、新たな攻撃機能を具備させようとしたときには、攻撃者は感染端末にマルウェアダウンロードサイトへの接続を行わせ、新たなマルウェアを感染させる。C&Cサーバからどのような指令を送るのか、またマルウェアダウンロードサイトからどのようなマルウェアをインストールさせるのかについては、攻撃者の意思によって変化する。   In recent years, fraudulent programs (hereinafter referred to as “malware”) that cause threats such as information leakage and unauthorized access are gaining in popularity. Recent malware receives commands from attackers via a C & C (Command and Control) server and causes damage such as attacks on other servers and information leakage. Further, when attempting to provide a new attack function for the once infected malware, the attacker causes the infected terminal to connect to the malware download site and infect the new malware. What command is sent from the C & C server and what kind of malware is installed from the malware download site varies depending on the intention of the attacker.

このような、攻撃者の意思によって変化する脅威をいち早く把握するには、継続的にC&Cサーバやマルウェアダウンロードサイトといった攻撃者サイトの監視を行うのが有効である。継続的な監視により、いつどのような命令が送信されたのか、またどういった機能をマルウェアに追加しようとしているのかといったことを把握することができる。   In order to quickly grasp such a threat that changes depending on the intention of the attacker, it is effective to continuously monitor the attacker site such as the C & C server and the malware download site. Through continuous monitoring, it is possible to know when and what commands have been sent, and what functions are being added to the malware.

継続的に攻撃者サイトを監視する場合、マルウェアの通信を模擬するプログラムを作成し、それを用いて攻撃者サイトとの通信を監視する手法(非特許文献1)や、マルウェアを実際に動作させて攻撃者サイトとの通信を監視する手法(動的解析)がある(特許文献1)。非特許文献1の手法は、マルウェアの通信を完全に模擬する必要があるため、マルウェア自体の詳細な解析が必要となる。しかしながら、非特許文献2に記載されているように、現在確認されているマルウェアは非常に膨大であり、すべてを詳細に解析するのは困難である。そのため、解析の容易さ・早さの観点から、動的解析を用いて監視する手法が有効である。   When continuously monitoring the attacker site, create a program that simulates malware communication, and use it to monitor communication with the attacker site (Non-patent Document 1) or to actually operate the malware. There is a technique (dynamic analysis) for monitoring communication with an attacker site (Patent Document 1). Since the method of Non-Patent Document 1 needs to completely simulate malware communication, detailed analysis of the malware itself is required. However, as described in Non-Patent Document 2, the currently confirmed malware is extremely large, and it is difficult to analyze all of them in detail. Therefore, the monitoring method using dynamic analysis is effective from the viewpoint of easy and fast analysis.

特許第4755658号公報Japanese Patent No. 4755658

Catching Malware -Detecting, Tracking, and Mitigating Botnets-, Georg Wicherski and Thorsten Holz, Black Hat Japan 2006 Briefings.Catching Malware -Detecting, Tracking, and Mitigating Botnets-, Georg Wicherski and Thorsten Holz, Black Hat Japan 2006 Briefings. McAfee脅威レポート:2012年第3四半期McAfee Threats Report: Third Quarter 2012

しかしながら上述した従来技術では、マルウェアを実際に動作させる環境を準備する必要があるため、多数のマルウェアを同時に、かつ、継続的に解析し続けるのは計算機資源の都合上困難である、という問題があった。   However, in the above-described conventional technology, it is necessary to prepare an environment for actually operating the malware. Therefore, it is difficult to analyze a large number of malware simultaneously and continuously due to the convenience of computer resources. there were.

具体的には、1つのマルウェアをハードウェア上にインストールしたOS(Operating System)上で動作させる場合、継続的な解析を行うためのハードウェアを、解析するマルウェアの数だけ用意しなければならない。また、仮想環境を用いて1つのハードウェア上で複数の仮想OSを動作させる場合には、ハードウェア上にインストールしたOS上で動作させる場合に比べ、同時に多数のマルウェアを継続的に解析できるものの、1つのハードウェア上で動作可能な仮想OSの数も限りがあるため、同時に解析を実施可能なマルウェア数には限りがある。   Specifically, when operating a piece of malware on an OS (Operating System) installed on hardware, hardware for continuous analysis must be prepared for the number of malware to be analyzed. In addition, when multiple virtual OSs are operated on a single hardware using a virtual environment, many malwares can be analyzed simultaneously at the same time as compared to operating on an OS installed on hardware. Since the number of virtual OSs that can operate on one piece of hardware is limited, the number of malware that can be analyzed simultaneously is limited.

そこで、本発明は、上述の問題を解決し、計算機資源が限られている場合でも、複数のマルウェアを動作させ、通信を監視できる装置、方法、および、プログラムを提供することを目的とする。   Therefore, an object of the present invention is to provide an apparatus, a method, and a program that can solve the above-described problems and can operate a plurality of malware and monitor communication even when computer resources are limited.

上述した課題を解決し、目的を達成するために、本発明は、プログラムを動作させ、前記プログラムによる通信を監視する監視装置であって、前記プログラムの動作記録を参照して、前記プログラムにより、所定期間内に、ネットワーク上のいずれかのホストとの通信が実施されたと判定されたとき、前記プログラムを、継続的に動作させると判定し、前記所定期間内に、ネットワーク上のいずれのホストとも通信が実施されなかったと判定されたとき、予め決められた時刻に動作させると判定する継続判定部と、前記継続的に動作させると判定されたプログラムを継続的に動作させ、前記プログラムの動作を前記動作記録に記録する連続動的解析部と、前記予め決められた時刻に動作させると判定されたプログラムを前記予め決められた時刻に動作させ、前記プログラムの動作を前記動作記録に記録する時分割動的解析部と、を備えることを特徴とする監視装置とした。   In order to solve the above-described problems and achieve the object, the present invention is a monitoring device that operates a program and monitors communication by the program, and refers to an operation record of the program, When it is determined that communication with any host on the network has been performed within a predetermined period, it is determined that the program is to be continuously operated, and any host on the network is within the predetermined period. When it is determined that communication has not been performed, a continuation determination unit that determines to operate at a predetermined time and a program that is determined to operate continuously are continuously operated, and the operation of the program is A continuous dynamic analysis unit for recording in the operation record, and a program determined to be operated at the predetermined time It is operated to and the monitoring apparatus characterized by comprising a dividing dynamic analysis unit when recording operation of the program in the operation recording.

本発明によれば、計算機資源が限られている場合でも、複数のマルウェアを動作させ、通信を監視できる。   According to the present invention, even when computer resources are limited, it is possible to operate a plurality of malware and monitor communication.

図1は、監視装置の処理の概要を説明する図である。FIG. 1 is a diagram for explaining an overview of processing of the monitoring apparatus. 図2は、監視装置の構成図である。FIG. 2 is a configuration diagram of the monitoring apparatus. 図3は、解析情報の一例を示す図である。FIG. 3 is a diagram illustrating an example of analysis information. 図4は、時分割動的解析制御処理を示すフローチャートである。FIG. 4 is a flowchart showing the time division dynamic analysis control process. 図5は、時分割動的解析処理を示すフローチャートである。FIG. 5 is a flowchart showing the time division dynamic analysis process. 図6は、連続動的解析判定処理を示すフローチャートである。FIG. 6 is a flowchart showing the continuous dynamic analysis determination process. 図7は、連続動的解析制御処理を示すフローチャートである。FIG. 7 is a flowchart showing the continuous dynamic analysis control process. 図8は、連続動的解析処理を示すフローチャートである。FIG. 8 is a flowchart showing the continuous dynamic analysis process. 図9は、連続動的解析継続判定処理を示すフローチャートである。FIG. 9 is a flowchart showing continuous dynamic analysis continuation determination processing. 図10は、監視プログラムを実行するコンピュータを示す図である。FIG. 10 is a diagram illustrating a computer that executes a monitoring program.

以下、図面を参照して、本発明の監視装置の実施の形態を説明する。本発明は、以下の実施の形態に限定されるものではない。なお、以下の説明において、マルウェアの解析とは、例えば、監視装置がマルウェアを動作させて、このマルウェアによる通信先(攻撃者サイト等のホストコンピュータ)との通信を監視することをいう。また、このマルウェアの解析は、マルウェアによる通信先との通信の監視の他に、マルウェアがOS上で動作する際に実行される機械語や呼び出されるAPI(Application Programming Interface)、読み書きされるメモリ領域を監視することも含んでいてもよい。さらに、ここでは監視装置の監視対象をマルウェアとしたが、マルウェア以外のプログラムを対象としてもよい。   Embodiments of the monitoring device of the present invention will be described below with reference to the drawings. The present invention is not limited to the following embodiments. In the following description, malware analysis means, for example, that a monitoring device operates malware to monitor communication with a communication destination (host computer such as an attacker site) by the malware. In addition to monitoring the communication with the communication destination by the malware, this malware analysis includes machine language executed when the malware operates on the OS, an API (Application Programming Interface) to be called, and a memory area to be read and written Monitoring may also be included. Furthermore, although the monitoring target of the monitoring device is malware here, it may be a program other than malware.

(概要)
まず、図1を用いて、本実施の形態における監視装置の処理の概要を説明する。図1は、監視装置の処理の概要を説明する図である。
(Overview)
First, the outline of the processing of the monitoring apparatus according to the present embodiment will be described with reference to FIG. FIG. 1 is a diagram for explaining an overview of processing of the monitoring apparatus.

監視装置10(図2参照)は、複数のマルウェアを保管しており、解析情報112に示されるスケジュールに基づき各マルウェアを解析する(時分割で解析する)。そして、監視装置10は、各マルウェアの解析結果に基づき、今後当該マルウェアを時分割で解析するか、連続で解析する(継続的に解析する)かを判定する。   The monitoring device 10 (see FIG. 2) stores a plurality of malware, and analyzes each malware based on the schedule indicated in the analysis information 112 (analyzes in a time division manner). And the monitoring apparatus 10 determines whether the said malware will be analyzed by a time division from now on, or will be analyzed continuously (continuously analyzed) based on the analysis result of each malware.

例えば、監視装置10が、当該マルウェアについて、所定時間以上ネットワーク上のホストとの通信がなかった場合、そのマルウェアを、今後も時分割で解析すると判定する。一方、当該マルウェアについて、所定時間の間にネットワーク上のホストへの通信が検出された場合、監視装置10は、そのマルウェアを、今後連続で解析すると判定する。   For example, if the monitoring device 10 has not communicated with the host on the network for a predetermined time or more with respect to the malware, the monitoring device 10 determines that the malware will be analyzed in a time division manner in the future. On the other hand, when communication with a host on the network is detected for a predetermined time for the malware, the monitoring device 10 determines that the malware will be continuously analyzed in the future.

また、監視装置10は、図1(a)に示すように、連続で解析すると判定したマルウェアについて、再度解析を行った結果、所定時間以上インターネット上のホストへの通信がなかった場合、そのマルウェアを時分割で解析すると判定する。一方、監視装置10が、再度解析を行った結果、所定時間内にインターネット上のホストへの通信があった場合、そのマルウェアを引き続き連続で解析すると判定する。つまり、監視装置10は、いったん連続で解析すると判定したマルウェアについても、その後の解析結果に基づき、時分割での解析の対象に戻したり、連続での解析の対象としたりする。また、監視装置10は、図1(b)に示すように、いったん時分割で解析すると判定したマルウェアについても、その後の解析結果に基づき、引き続き時分割での解析の対象としたり、連続での解析の対象としたりする。   Further, as shown in FIG. 1A, when the monitoring apparatus 10 analyzes again about the malware determined to be continuously analyzed, if there is no communication with the host on the Internet for a predetermined time or more, the malware Is determined to be analyzed in a time-sharing manner. On the other hand, as a result of the analysis being performed again, if there is communication with a host on the Internet within a predetermined time, it is determined that the malware is continuously analyzed. In other words, the monitoring device 10 also returns the malware once determined to be continuously analyzed to the time-division analysis target or based on the subsequent analysis result. In addition, as shown in FIG. 1 (b), the monitoring device 10 can continue to analyze the malware once determined to be analyzed in time division based on the subsequent analysis results. Or subject to analysis.

このように、監視装置10は、マルウェアの解析の結果、ネットワーク上のホストとの通信が検出されたマルウェアについてはその後も連続で解析するが、それ以外のマルウェアは時分割で解析する。よって、監視装置10が、マルウェアの解析に用いる計算機資源(CPUやメモリ等)を有効活用できる。つまり、監視装置10の計算機資源が限られている場合でも、多数のマルウェアを解析することができる。   As described above, the monitoring device 10 continuously analyzes the malware whose communication with the host on the network is detected as a result of the analysis of the malware, but analyzes the other malware in a time division manner. Accordingly, the monitoring device 10 can effectively use computer resources (CPU, memory, etc.) used for analyzing malware. That is, even when the computer resources of the monitoring device 10 are limited, a large number of malware can be analyzed.

(構成)
図2は、監視装置の構成図である。監視装置10は、記憶部11と、制御部12と、通信I/F(インタフェース)部13とを備え、ネットワーク経由でホストコンピュータ(ホスト)と通信可能に接続される。なお、このネットワークは、インターネットや、LAN(Local Area Network)等である。
(Constitution)
FIG. 2 is a configuration diagram of the monitoring apparatus. The monitoring device 10 includes a storage unit 11, a control unit 12, and a communication I / F (interface) unit 13, and is communicably connected to a host computer (host) via a network. This network is the Internet, a LAN (Local Area Network), or the like.

記憶部11は、マルウェア保管部111を備え、解析情報112および解析結果(マルウェアの動作記録)113を記憶する領域を備える。   The storage unit 11 includes a malware storage unit 111 and includes an area for storing analysis information 112 and an analysis result (malware operation record) 113.

マルウェア保管部111は、監視装置10の解析対象のマルウェアを保管する。解析情報112は、マルウェアごとの解析スケジュールを示した情報である。   The malware storage unit 111 stores malware to be analyzed by the monitoring device 10. The analysis information 112 is information indicating an analysis schedule for each malware.

解析情報112は、例えば、図3に示すように、マルウェアの解析開始時刻、解析終了時刻、および、当該解析開始時刻から解析終了時刻までの間に実行するマルウェアのIDが示される。この解析情報112は、後記する時分割動的解析部121がマルウェアを解析する際に参照される。なお、解析情報112において解析終了時刻の代わりに、解析を行う時間を用いてもよい。   For example, as shown in FIG. 3, the analysis information 112 indicates the malware analysis start time, the analysis end time, and the ID of the malware executed between the analysis start time and the analysis end time. This analysis information 112 is referred to when the time division dynamic analysis unit 121 described later analyzes malware. In the analysis information 112, the time for performing the analysis may be used instead of the analysis end time.

図2の解析結果113は、監視装置10による各マルウェアの解析結果を示した情報である。この解析結果113には、当該マルウェアの実行による通信先(ホスト)のアドレスや、通信先との通信時刻、通信内容等が示される。この解析結果113は、制御部12の各部がマルウェアを解析した際に追加、更新される。   The analysis result 113 in FIG. 2 is information indicating the analysis result of each malware by the monitoring device 10. This analysis result 113 shows the address of the communication destination (host) by the execution of the malware, the communication time with the communication destination, the communication content, and the like. The analysis result 113 is added and updated when each unit of the control unit 12 analyzes malware.

制御部12は、監視装置10全体の制御を司り、ここでは主に、各マルウェアについて継続的に解析するか否かを判定し、継続的に解析すると判定されたマルウェアについては継続的に解析する。一方、継続的に解析しないと判定されたマルウェアについては、時分割で解析する。制御部12は、時分割動的解析部121と、連続動的解析部122と、解析管理部123とを備える。   The control unit 12 controls the entire monitoring apparatus 10, and here, mainly determines whether to continuously analyze each malware, and continuously analyzes the malware determined to be continuously analyzed. . On the other hand, malware that is determined not to be continuously analyzed is analyzed in a time-sharing manner. The control unit 12 includes a time division dynamic analysis unit 121, a continuous dynamic analysis unit 122, and an analysis management unit 123.

時分割動的解析部121は、マルウェアに時分割動的解析を行う。つまり、時分割動的解析部121は、解析情報112に指定された時刻に各マルウェアを動作させて解析を行う。そして、時分割動的解析部121は、マルウェアの解析の結果を解析結果113に書き込む。   The time division dynamic analysis unit 121 performs time division dynamic analysis on the malware. That is, the time division dynamic analysis unit 121 performs analysis by operating each malware at the time specified in the analysis information 112. Then, the time division dynamic analysis unit 121 writes the result of malware analysis in the analysis result 113.

連続動的解析部122は、連続動的解析制御部125(後記)により指示されたマルウェアに対し連続動的解析を行う。つまり、連続動的解析部122は、連続動的解析制御部125により指示されたマルウェアを継続的に動作させて解析を行う。そして、連続動的解析部122は、マルウェアの解析の結果を解析結果113に書き込む。   The continuous dynamic analysis unit 122 performs continuous dynamic analysis on the malware instructed by the continuous dynamic analysis control unit 125 (described later). That is, the continuous dynamic analysis unit 122 performs analysis by continuously operating the malware instructed by the continuous dynamic analysis control unit 125. Then, the continuous dynamic analysis unit 122 writes the result of malware analysis in the analysis result 113.

なお、時分割動的解析部121および連続動的解析部122はそれぞれ、実際にマルウェアを動作させるマルウェア実行部127と、このマルウェア実行部127によるネットワーク上のホスト(通信先)と通信制御を行う外部通信制御部128とを備える。   Each of the time division dynamic analysis unit 121 and the continuous dynamic analysis unit 122 performs communication control with a malware execution unit 127 that actually operates malware and a host (communication destination) on the network by the malware execution unit 127. And an external communication control unit 128.

解析管理部123は、時分割動的解析部121を制御する時分割動的解析制御部124と、連続動的解析部122を制御する連続動的解析制御部125と、継続判定部126とを備える。   The analysis management unit 123 includes a time division dynamic analysis control unit 124 that controls the time division dynamic analysis unit 121, a continuous dynamic analysis control unit 125 that controls the continuous dynamic analysis unit 122, and a continuation determination unit 126. Prepare.

時分割動的解析制御部124は、マルウェア保管部111からマルウェアを取得すると、この取得したマルウェアと、解析情報112とを時分割動的解析部121へ転送する。これにより、時分割動的解析部121は、解析情報112に示されるマルウェアについて、解析情報112に示されるスケジュールに従い解析するよう指示する。   When the time division dynamic analysis control unit 124 acquires the malware from the malware storage unit 111, the time division dynamic analysis control unit 124 transfers the acquired malware and the analysis information 112 to the time division dynamic analysis unit 121. As a result, the time division dynamic analysis unit 121 instructs the malware indicated in the analysis information 112 to be analyzed according to the schedule indicated in the analysis information 112.

連続動的解析制御部125は、継続判定部126からの指示に基づき、連続動的解析部122にマルウェアの連続動的解析を実行させる。なお、連続動的解析制御部125が、継続判定部126から当該マルウェアの連続動的解析を実行させる旨の指示を受け取ったとき、解析情報112から当該マルウェアのIDを削除する。これにより、当該マルウェアは、時分割動的解析部121による時分割動的解析の対象から外される。   The continuous dynamic analysis control unit 125 causes the continuous dynamic analysis unit 122 to execute continuous dynamic analysis of malware based on an instruction from the continuation determination unit 126. When the continuous dynamic analysis control unit 125 receives an instruction from the continuation determination unit 126 to execute the continuous dynamic analysis of the malware, the continuous dynamic analysis control unit 125 deletes the malware ID from the analysis information 112. As a result, the malware is excluded from the target of the time division dynamic analysis by the time division dynamic analysis unit 121.

継続判定部126は、連続動的解析部122または時分割動的解析部121によるマルウェアの解析後、当該マルウェアを連続動的解析の対象とするか否かを判定する。例えば、連続動的解析部122または時分割動的解析部121によるマルウェアの解析から所定時間経過した後、継続判定部126は、解析情報112における当該マルウェアの動作記録を確認する。そして、継続判定部126が、当該マルウェアの動作記録によりいずれかのホストと通信したことを検出したとき、当該マルウェアを連続動的解析の対象とすると判定する。そして、継続判定部126は、連続動的解析制御部125へ当該マルウェアの連続動的解析を指示する。一方、連続動的解析部122または時分割動的解析部121によるマルウェアの解析から所定時間経過した後、継続判定部126は、解析情報112における当該マルウェアの動作記録を確認し、当該マルウェアによる通信を検出しなかったとき、当該マルウェアを時分割動的解析の対象とすると判定する。そして、継続判定部126は、割解析情報112に当該マルウェアのIDを追加する。これにより、時分割動的解析部121は当該マルウェアに対し時分割動的解析を実施する。   The continuation determination unit 126 determines whether or not the malware is to be subjected to continuous dynamic analysis after the malware is analyzed by the continuous dynamic analysis unit 122 or the time division dynamic analysis unit 121. For example, after a predetermined time has elapsed since the analysis of malware by the continuous dynamic analysis unit 122 or the time division dynamic analysis unit 121, the continuation determination unit 126 confirms the operation record of the malware in the analysis information 112. Then, when the continuation determination unit 126 detects communication with any of the hosts from the operation record of the malware, the continuation determination unit 126 determines that the malware is a target of continuous dynamic analysis. Then, the continuation determination unit 126 instructs the continuous dynamic analysis control unit 125 to perform continuous dynamic analysis of the malware. On the other hand, after a predetermined time has elapsed since the analysis of the malware by the continuous dynamic analysis unit 122 or the time division dynamic analysis unit 121, the continuation determination unit 126 confirms the operation record of the malware in the analysis information 112, and performs communication by the malware Is not detected, it is determined that the malware is a target of time-division dynamic analysis. Then, the continuation determination unit 126 adds the malware ID to the percent analysis information 112. Thereby, the time division dynamic analysis unit 121 performs the time division dynamic analysis on the malware.

通信I/F(インタフェース)部13は、制御部12の各部がネットワーク上のホストと通信を行う際に用いられるインタフェースであり、例えば、ネットワークインタフェースカードである。   The communication I / F (interface) unit 13 is an interface used when each unit of the control unit 12 communicates with a host on the network, and is, for example, a network interface card.

(処理手順)
次に、監視装置10の処理手順を説明する。まず、時分割動的解析制御部124の処理手順を説明する。図4は、時分割動的解析制御処理を示すフローチャートである。
(Processing procedure)
Next, the processing procedure of the monitoring apparatus 10 will be described. First, the processing procedure of the time division dynamic analysis control unit 124 will be described. FIG. 4 is a flowchart showing the time division dynamic analysis control process.

時分割動的解析制御部124はマルウェア保管部111からマルウェアを取得し(S1)、取得したマルウェアを予め決められた数のセットに分割する(S2)。分割されたマルウェアのセットは、例えば、記憶部11のメインメモリ(図示省略)等に格納される。なお、時分割動的解析制御部124は、マルウェア分割する際、個々のマルウェアにIDを設定し、解析情報112との対応を取れるようにしておく。   The time division dynamic analysis control unit 124 acquires malware from the malware storage unit 111 (S1), and divides the acquired malware into a predetermined number of sets (S2). The divided malware set is stored in, for example, a main memory (not shown) of the storage unit 11. The time division dynamic analysis control unit 124 sets an ID for each malware when dividing the malware so that the analysis information 112 can be matched.

その後、時分割動的解析制御部124は、時分割動的解析部121にマルウェアセットと解析情報112を転送し(S3)、時分割動的解析部121は、転送されたマルウェアセットに対し、解析情報112に基づく時分割動的解析処理を実行する(S4)。その後、継続判定部126は、S4で解析を行ったマルウェアを連続動的解析処理の対象とするか否かを判定する(S5:連続動的解析判定処理)。そして、連続動的解析制御部125は、継続判定部126により連続動的解析処理の対象と判定されたマルウェアの解析を連続動的解析部122に対し指示する(S6:連続動的解析制御処理)。   Thereafter, the time division dynamic analysis control unit 124 transfers the malware set and the analysis information 112 to the time division dynamic analysis unit 121 (S3), and the time division dynamic analysis unit 121 A time-division dynamic analysis process based on the analysis information 112 is executed (S4). Thereafter, the continuation determination unit 126 determines whether or not the malware analyzed in S4 is a target of continuous dynamic analysis processing (S5: continuous dynamic analysis determination processing). Then, the continuous dynamic analysis control unit 125 instructs the continuous dynamic analysis unit 122 to analyze the malware determined to be the target of the continuous dynamic analysis process by the continuation determination unit 126 (S6: continuous dynamic analysis control process). ).

S6の後、解析が終了であれば(S7のYes)、処理を終了し、まだ解析終了でなければ(S7のNo)、S4へ戻る。なお、解析の終了は、監視装置10に対し、解析終了の指示入力がされたときであってもよいし、マルウェアの解析開始から所定時間経過したときであってもよい。   After S6, if the analysis is complete (Yes in S7), the process is terminated. If the analysis is not yet complete (No in S7), the process returns to S4. The end of the analysis may be when an instruction to end the analysis is input to the monitoring device 10 or when a predetermined time has elapsed since the start of the analysis of the malware.

次に、図5を用いて、図4の時分割動的解析処理(S4)を詳細に説明する。図5は、時分割動的解析処理を示すフローチャートである。   Next, the time division dynamic analysis process (S4) of FIG. 4 will be described in detail with reference to FIG. FIG. 5 is a flowchart showing the time division dynamic analysis process.

時分割動的解析部121は、現在時刻が、解析情報112に示される解析開始時刻であるか否かを確認し(S51)、解析開始時刻であることを確認すると(S51のYes)、当該解析開始時刻に割り当てられたマルウェアIDのマルウェアを記憶部11のメインメモリ上等から取り出す(S52)。そして、時分割動的解析部121は、マルウェア実行部127に、取り出したマルウェアを実行させる。一方、まだ解析開始時刻でなければ(S51のNo)、S51へ戻る。なお、マルウェア実行部127に仮想マシンを用いる場合、マルウェア実行部127は仮想OSとして動作する。そして、時分割動的解析部121は1つのマルウェア実行部(仮想OS)127に対しては、取り出したマルウェアのうち1つを実行させる。   The time division dynamic analysis unit 121 confirms whether or not the current time is the analysis start time indicated in the analysis information 112 (S51), and confirms that the current time is the analysis start time (Yes in S51), The malware having the malware ID assigned at the analysis start time is taken out from the main memory of the storage unit 11 (S52). Then, the time division dynamic analysis unit 121 causes the malware execution unit 127 to execute the extracted malware. On the other hand, if it is not yet the analysis start time (No in S51), the process returns to S51. When using a virtual machine for the malware execution unit 127, the malware execution unit 127 operates as a virtual OS. Then, the time division dynamic analysis unit 121 causes one malware execution unit (virtual OS) 127 to execute one of the extracted malware.

S52の後、時分割動的解析部121は、取り出したマルウェアを過去に実行したマルウェア実行部127が存在するか否かを確認する(S53)。ここで、過去に当該マルウェアを実行したマルウェア実行部127が存在すれば(S53のYes)、時分割動的解析部121は、過去に当該マルウェアを実行したマルウェア実行部127を起動し、起動したマルウェア実行部127に当該マルウェアを実行させる(S54)。   After S52, the time division dynamic analysis unit 121 checks whether or not there is a malware execution unit 127 that has executed the extracted malware in the past (S53). Here, if there is a malware execution unit 127 that executed the malware in the past (Yes in S53), the time-division dynamic analysis unit 121 starts and starts the malware execution unit 127 that executed the malware in the past. The malware execution unit 127 is caused to execute the malware (S54).

一方、当該マルウェアを実行したマルウェア実行部127が存在しない場合には(S53のNo)、時分割動的解析部121は、いずれかのマルウェア実行部127を起動し、当該マルウェアをマルウェア実行部127に転送し、実行させる(S55)。そして、時分割動的解析部121は、S54およびS55におけるマルウェアの実行結果(動作結果)を解析結果113に書き込む。   On the other hand, when the malware execution unit 127 that executed the malware does not exist (No in S53), the time division dynamic analysis unit 121 activates one of the malware execution units 127, and the malware execution unit 127 executes the malware. And execute it (S55). Then, the time division dynamic analysis unit 121 writes the execution result (operation result) of the malware in S54 and S55 in the analysis result 113.

S54、S55の後、時分割動的解析部121は、解析情報112において当該解析開始時刻に割り当てられたマルウェアを全て取り出したと判断すると(S56のYes)、解析情報112に示される解析終了時刻まで待機する(S57)。一方、解析情報112において当該解析開始時刻に割り当てられたマルウェアのうち、まだ取り出していないマルウェアがあれば(S56のNo)、S52へ戻る。   After S54 and S55, when the time division dynamic analysis unit 121 determines that all of the malware assigned to the analysis start time is extracted in the analysis information 112 (Yes in S56), the analysis end time indicated by the analysis information 112 is reached. Wait (S57). On the other hand, if there is malware that has not yet been taken out of the malware assigned to the analysis start time in the analysis information 112 (No in S56), the process returns to S52.

S57の後、時分割動的解析部121は、解析終了時刻になると、起動していたマルウェア実行部127を終了させる(S58)。そして、時分割動的解析処理を終了する。なお、マルウェア実行部127の終了は、通常のOSのシャットダウン処理でもよいし、仮想マシンを利用している場合には仮想OSのサスペンド処理でもよい。   After S57, the time division dynamic analysis unit 121 terminates the activated malware execution unit 127 when the analysis end time is reached (S58). Then, the time division dynamic analysis process is terminated. The termination of the malware execution unit 127 may be a normal OS shutdown process, or may be a virtual OS suspend process when a virtual machine is used.

次に、図6を用いて、図4の連続動的解析判定処理(S5)を詳細に説明する。図6は、連続動的解析判定処理を示すフローチャートである。   Next, the continuous dynamic analysis determination process (S5) in FIG. 4 will be described in detail with reference to FIG. FIG. 6 is a flowchart showing the continuous dynamic analysis determination process.

まず、継続判定部126は、解析結果113を参照して、連続動的解析の判定を実施するのに必要な期間(例えば、2日間)の解析結果があるか否かを判断する(S61)。例えば、継続判定部126は、解析結果113に、判定対象とするマルウェアに関する解析結果が2日分あるか否かを判断する。ここで、必要な期間の解析結果がある場合(S61のYes)、継続判定部126は、例えば、以下の処理により、各マルウェアが連続動的解析の対象となるか否かを判定する。一方、まだ必要な期間の解析結果がない場合(S61のNo)、S67へ進む。   First, the continuation determination unit 126 refers to the analysis result 113 to determine whether or not there is an analysis result for a period (for example, two days) necessary for performing the determination of continuous dynamic analysis (S61). . For example, the continuation determination unit 126 determines whether or not the analysis result 113 includes two days of analysis results regarding the malware to be determined. Here, when there is an analysis result for a necessary period (Yes in S61), the continuation determination unit 126 determines whether or not each malware is a target of continuous dynamic analysis, for example, by the following processing. On the other hand, if there is no analysis result for the necessary period yet (No in S61), the process proceeds to S67.

例えば、継続判定部126は、指定された期間内(例えば、前記した2日間のうち所定期間内)に、マルウェアによりネットワーク上のいずれかのホストへの通信が発生しているか否か(S62)、指定された期間内に通信を行ったホストは当該マルウェアが過去に通信したことのないホストか否か(S63)、指定された期間内にネットワーク上のホストから応答を取得しているか否か(S64)、指定された期間内にネットワーク上のホストから取得した応答は、当該マルウェアが過去に取得したことがない応答であるか否か(S65)を判定する。   For example, the continuation determination unit 126 determines whether or not communication with any host on the network occurs due to malware within a specified period (for example, within a predetermined period of the above two days) (S62). Whether the host that communicated within the specified period is a host that the malware has not communicated with in the past (S63), and whether a response has been obtained from a host on the network within the specified period (S64) It is determined whether the response acquired from the host on the network within the designated period is a response that the malware has not acquired in the past (S65).

そして、継続判定部126は、S62〜S65のすべてでYesだったとき、当該マルウェアを連続動的解析の対象に設定する(S66)。つまり、継続判定部126は、指定された期間内にマルウェアによるネットワーク上のホストへの通信が発生し(S62のYes)、かつ、当該ホストは当該マルウェアが過去に通信したことのないホストであり(S63のYes)、かつ、当該ホストから応答を取得し(S64のYes)、かつ、当該応答は、当該マルウェアが過去に取得したことがない応答である(S65のYes)とき、当該マルウェアを連続動的解析の対象と判定する。そして、継続判定部126は、連続動的解析の対象と判定されたマルウェアのIDを、解析情報112から削除する。これにより、当該マルウェアは時分割動的解析の処理対象から外されることになる。そして、S67へ進む。   Then, when all of S62 to S65 are Yes, the continuation determination unit 126 sets the malware as a target of continuous dynamic analysis (S66). In other words, the continuation determination unit 126 is a host in which communication to a host on the network by malware occurs within a specified period (Yes in S62), and the host has not communicated with the malware in the past. (Yes in S63), and when a response is acquired from the host (Yes in S64) and the response is a response that the malware has not acquired in the past (Yes in S65), the malware is Judged as the target of continuous dynamic analysis Then, the continuation determination unit 126 deletes from the analysis information 112 the malware ID determined to be the target of continuous dynamic analysis. As a result, the malware is excluded from the processing target of the time division dynamic analysis. Then, the process proceeds to S67.

また、S62〜S65のいずれかでNoだったときはS66をスキップして、S67へ進む。つまり、S62〜S65のいずれかでNoだったマルウェアは、引き続き、時分割動的解析の対象となる。S67において、継続判定部126は、時分割動的解析を行った全マルウェアに対して、S62〜S65の判定を実施したことを確認すると(S67のYes)、連続動的解析判定処理を終了する。一方、まだS62〜S65の判定を実施していないマルウェアがあれば(S67のNo)、S61へ戻る。   If the answer is No in any of S62 to S65, S66 is skipped and the process proceeds to S67. That is, the malware that is No in any of S62 to S65 is continuously subjected to time division dynamic analysis. In S67, when the continuation determination unit 126 confirms that the determinations in S62 to S65 have been performed on all malware that has been subjected to the time-division dynamic analysis (Yes in S67), the continuous dynamic analysis determination process ends. . On the other hand, if there is any malware that has not yet performed the determination of S62 to S65 (No in S67), the process returns to S61.

なお、継続判定部126は、連続動的解析判定処理を、S62〜S65の判定処理のうちいずれか、またはいずれかの組み合わせにより実施してもよい。また、連続動的解析判定処理において、連続動的解析の対象と判定されたマルウェアのIDを記憶部11のメインメモリ等に記憶しておいてもよい。そして、連続動的解析制御部125が現在連続動的解析の対象とすべきマルウェアを特定する際、このメインメモリ上に記録されたマルウェアのIDを参照するようにしてもよい。   The continuation determination unit 126 may perform the continuous dynamic analysis determination process by any one or a combination of the determination processes of S62 to S65. Further, in the continuous dynamic analysis determination process, an ID of malware determined to be a target of continuous dynamic analysis may be stored in the main memory or the like of the storage unit 11. And when the continuous dynamic analysis control part 125 specifies the malware which should be the object of the present continuous dynamic analysis now, you may make it refer to ID of the malware recorded on this main memory.

このようにすることで監視装置10は、所定期間内にネットワーク上のホストとの間で何らかの通信を行ったマルウェアについては連続動的解析の対象とし、それ以外のマルウェアについては時分割動的解析の対象とすることができる。   By doing in this way, the monitoring apparatus 10 makes the subject of continuous dynamic analysis about the malware which communicated with the host on the network within a predetermined period, and time division dynamic analysis about the other malware. Can be the target of.

次に、図7を用いて、図4の連続動的解析制御処理(S6)を詳細に説明する。図7は、連続動的解析制御処理を示すフローチャートである。   Next, the continuous dynamic analysis control process (S6) of FIG. 4 will be described in detail with reference to FIG. FIG. 7 is a flowchart showing the continuous dynamic analysis control process.

連続動的解析制御部125は、連続動的解析を実施するマルウェア(継続判定部126により連続動的解析対象と判定されたマルウェア)が存在するとき(S71のYes)、連続動的解析部122に当該マルウェアの連続動的解析処理を実施させる(S72)。一方、連続動的解析を実施すると判定されたマルウェアが存在しなければ(S71のNo)、連続動的解析制御部125は、連続動的解析制御処理を終了する。なお、S72の後、解析が終了であれば(S73のYes)、連続動的解析制御処理を終了し、まだ解析終了でなければ(S73のNo)、S72へ戻る。   The continuous dynamic analysis control unit 125, when there is malware that performs continuous dynamic analysis (malware determined as a continuous dynamic analysis target by the continuous determination unit 126) (Yes in S71), the continuous dynamic analysis unit 122. The continuous dynamic analysis process of the malware is executed (S72). On the other hand, if there is no malware determined to perform the continuous dynamic analysis (No in S71), the continuous dynamic analysis control unit 125 ends the continuous dynamic analysis control process. If the analysis is finished after S72 (Yes in S73), the continuous dynamic analysis control process is finished. If the analysis is not finished yet (No in S73), the process returns to S72.

次に、図8を用いて、図7の連続動的解析処理(S72)を詳細に説明する。図8は、連続動的解析処理を示すフローチャートである。   Next, the continuous dynamic analysis process (S72) of FIG. 7 will be described in detail with reference to FIG. FIG. 8 is a flowchart showing the continuous dynamic analysis process.

連続動的解析部122は、連続動的解析対象のマルウェアを取得すると(S81)、前記したS53と同様に、過去に当該マルウェアを実行したマルウェア実行部127が存在するか否かを確認する(S82)。   When the continuous dynamic analysis unit 122 acquires malware to be subjected to continuous dynamic analysis (S81), it confirms whether or not there is a malware execution unit 127 that executed the malware in the past (S81). S82).

ここで、当該マルウェアを実行したマルウェア実行部127が存在しなければ(S82のNo)、連続動的解析部122は、当該マルウェアをマルウェア実行部127に転送し、実行させる(S84)。一方、当該マルウェアを実行したマルウェア実行部127が存在し(S82のYes)、かつ、当該マルウェアを実行したマルウェア実行部127が起動済みであれば(S83のYes)、S86へ進む。また、当該マルウェアを実行したマルウェア実行部127がまだ起動していなければ(S83のNo)、連続動的解析部122は、当該マルウェアを実行したマルウェア実行部127を起動し、当該マルウェアを実行させる(S85)。そして、時分割動的解析部121は、S84およびS85におけるマルウェアの実行結果(動作結果)を解析結果113に書き込む。   Here, if there is no malware execution unit 127 that executed the malware (No in S82), the continuous dynamic analysis unit 122 transfers the malware to the malware execution unit 127 for execution (S84). On the other hand, if the malware execution unit 127 that executed the malware exists (Yes in S82) and the malware execution unit 127 that executed the malware has already been started (Yes in S83), the process proceeds to S86. If the malware execution unit 127 that executed the malware has not yet started (No in S83), the continuous dynamic analysis unit 122 starts the malware execution unit 127 that executed the malware and causes the malware to be executed. (S85). Then, the time division dynamic analysis unit 121 writes the execution result (operation result) of the malware in S84 and S85 in the analysis result 113.

S84、S85の後、連続動的解析部122は連続動的解析対象のマルウェアを全て実行したと判断すると(S86のYes)、所定時間待機した後(S87)、継続判定部126により連続動的解析継続判定処理を行い(S88)、連続動的解析処理を終了する。一方、連続動的解析対象のマルウェアのうち未実行のマルウェアがあれば(S86のNo)、S81へ戻る。   After S84 and S85, if the continuous dynamic analysis unit 122 determines that all of the malware subject to continuous dynamic analysis has been executed (Yes in S86), after waiting for a predetermined time (S87), the continuous determination unit 126 performs continuous dynamic analysis. An analysis continuation determination process is performed (S88), and the continuous dynamic analysis process is terminated. On the other hand, if there is unexecuted malware among the malware subject to continuous dynamic analysis (No in S86), the process returns to S81.

次に、図9を用いて、図8の連続動的解析継続判定処理(S88)を詳細に説明する。図9は、連続動的解析継続判定処理を示すフローチャートである。   Next, the continuous dynamic analysis continuation determination process (S88) of FIG. 8 will be described in detail with reference to FIG. FIG. 9 is a flowchart showing continuous dynamic analysis continuation determination processing.

まず、継続判定部126は、図6のS61と同様に、解析結果113を参照して、マルウェアを連続動的解析の判定を実施するのに必要な期間(例えば、2日間)の解析結果があるか否かを判断する(S91)。ここで、必要な期間の解析結果がある場合(S91のYes)、S92へ進む。継続判定部126は、例えば、S92以降の処理により、各マルウェアが引き続き連続動的解析の対象となるか否かを判定する。一方、まだ、必要な期間の解析結果がない場合(S91のNo)、S98へ進む。   First, the continuation determination unit 126 refers to the analysis result 113 in the same manner as S61 in FIG. 6, and the analysis result for a period (for example, two days) necessary for performing the determination of the continuous dynamic analysis of the malware is obtained. It is determined whether or not there is (S91). If there is an analysis result for a necessary period (Yes in S91), the process proceeds to S92. The continuation determination unit 126 determines whether or not each malware is continuously subjected to continuous dynamic analysis, for example, through the processing from S92. On the other hand, if there is no analysis result for the required period yet (No in S91), the process proceeds to S98.

S91でYesだったとき、継続判定部126は、例えば、当該マルウェアについて、ネットワーク上のホストと最後に通信してから所定期間以上経過していないか否か(S92)、指定された期間内に通信を行ったホストは当該マルウェアが過去に通信したことのないホストか否か(S93)、指定された期間内にネットワーク上のホストから応答を取得しているか否か(S94)、指定された期間内にネットワーク上のホストから取得した応答は、当該マルウェアが過去に取得したことがない応答であるか否か(S95)を判定する。   When the answer is YES in S91, the continuation determination unit 126 determines whether or not a predetermined period or more has elapsed since the last communication with the host on the network for the malware (S92), for example, within the specified period. The host that communicated is the host that the malware has not communicated with in the past (S93), and whether or not a response has been obtained from the host on the network within the specified period (S94). It is determined whether or not the response acquired from the host on the network within the period is a response that the malware has not acquired in the past (S95).

S92〜S95のいずれかでNoだったとき、継続判定部126は、当該マルウェアを連続動的解析対象外に設定する(S96)。つまり、継続判定部126は、当該マルウェアについて、ネットワーク上のホストと最後に通信してからまだ所定期間経過していない場合(S92のNo)、指定された期間内に通信を行ったホストは当該マルウェアが過去に通信したことのあるホストである場合(S93のNo)、指定された期間内にネットワーク上のホストから応答を取得していない場合(S94のNo)、指定された期間内にネットワーク上のホストから取得した応答は、当該マルウェアが過去に取得したことのある応答である場合(S95のNo)、のいずれかに該当すれば、当該マルウェアを連続動的解析対象外と判定する。つまり、継続判定部126は、当該マルウェアを時分割動的解析の対象と判定し、当該マルウェアのIDを解析情報112に追加する。これにより、S92〜S95のいずれかでNoだったマルウェアは、時分割動的解析の対象となる。継続判定部126は、当該マルウェアの連続動的解析で起動していたマルウェア実行部127bを終了させる(S97)。一方、S92〜S95すべてでYesだったときはS96およびS97は実行せず、S98へ進む。つまり、継続判定部126は、現在、連続動的解析中のマルウェアを引き続き連続動的解析の対象とする。   When the answer is No in any of S92 to S95, the continuation determination unit 126 sets the malware out of the continuous dynamic analysis target (S96). That is, if the predetermined period has not yet elapsed since the last communication with the host on the network for the malware (No in S92), the continuation determination unit 126 determines that the host that communicated within the specified period is If the malware is a host that has communicated in the past (No in S93), or if a response has not been acquired from a host on the network within the specified period (No in S94), the network within the specified period If the response acquired from the upper host is a response that the malware has acquired in the past (No in S95), the malware is determined not to be subject to continuous dynamic analysis. That is, the continuation determination unit 126 determines the malware as a target of time-division dynamic analysis, and adds the malware ID to the analysis information 112. Thereby, the malware that was No in any of S92 to S95 becomes a target of time-division dynamic analysis. The continuation determination unit 126 terminates the malware execution unit 127b that was activated by the continuous dynamic analysis of the malware (S97). On the other hand, when all of S92 to S95 are YES, S96 and S97 are not executed, and the process proceeds to S98. That is, the continuation determination unit 126 continues the malware currently under continuous dynamic analysis as a target of continuous dynamic analysis.

S98において、継続判定部126は、連続動的解析中の全マルウェアに対して、S92〜S95の判定を実施したことを確認すると(S98のYes)、連続動的解析継続判定処理を終了する。一方、まだS92〜S95の判定を実施していないマルウェアがあれば(S98のNo)、S91へ戻る。   In S98, when the continuation determination unit 126 confirms that the determinations in S92 to S95 have been performed on all the malware under continuous dynamic analysis (Yes in S98), the continuous dynamic analysis continuation determination process ends. On the other hand, if there is any malware that has not yet performed the determination of S92 to S95 (No in S98), the process returns to S91.

なお、継続判定部126は、連続動的解析継続判定処理を、S92〜S95の判定処理のうちいずれか、またはいずれかの組み合わせにより実施してもよい。   In addition, the continuation determination unit 126 may perform the continuous dynamic analysis continuation determination process by any one or a combination of the determination processes in S92 to S95.

このようにすることで監視装置10は、いったん連続動的解析の対象としたマルウェアについても、その後のマルウェアの解析結果に基づき、時分割動的解析の対象に戻すことができる。従って、監視装置10は、限られた計算機資源を有効活用して、マルウェアを解析することができる。   By doing in this way, the monitoring apparatus 10 can also return the malware once targeted for continuous dynamic analysis to the target of time-division dynamic analysis based on the analysis result of the subsequent malware. Therefore, the monitoring apparatus 10 can analyze malware by effectively using limited computer resources.

なお、本実施の形態では時分割動的解析制御部124から時分割動的解析部121にマルウェアセットと解析情報112を転送することとしたがこれに限定されない。例えば、時分割動的解析制御部124で解析情報112を基にして、時分割動的解析部121のマルウェア実行環境における個々のマルウェアの実行を制御してもよい。   In this embodiment, the malware set and the analysis information 112 are transferred from the time division dynamic analysis control unit 124 to the time division dynamic analysis unit 121. However, the present invention is not limited to this. For example, the time division dynamic analysis control unit 124 may control the execution of individual malware in the malware execution environment of the time division dynamic analysis unit 121 based on the analysis information 112.

また、本実施の形態では、時分割動的解析処理(図5参照)において、時分割動的解析部121が、S52で取り出したマルウェアを過去に実行したマルウェア実行部127が存在すれば(S53のYes)、そのマルウェア実行部127に当該マルウェアを実行させることとしたが、これに限定されない。例えば、時分割動的解析部121は、S52の後、マルウェア実行部127における仮想OSのイメージをマルウェアのインストール前の状態に復元した上で、S52で取り出したマルウェアを実行させるようにしてもよい。   In the present embodiment, in the time division dynamic analysis process (see FIG. 5), if the time division dynamic analysis unit 121 has a malware execution unit 127 that executed the malware extracted in S52 in the past (S53). Yes), the malware execution unit 127 is caused to execute the malware. However, the present invention is not limited to this. For example, after the time division S52, the time division dynamic analysis unit 121 may restore the virtual OS image in the malware execution unit 127 to a state before the malware installation, and then execute the malware extracted in S52. .

また、連続動的解析処理(図8参照)においても、連続動的解析部122が、S81で取得したマルウェアを過去に実行したマルウェア実行部127が存在すれば(S82のYes)、そのマルウェア実行部127に取り出したマルウェアを実行させることとしたが、これに限定されない。例えば、連続動的解析部122は、S81の後、マルウェア実行部127における仮想OSのイメージをマルウェアのインストール前の状態に復元した上で、S81で取得したマルウェアを実行させるようにしてもよい。   Also in the continuous dynamic analysis process (see FIG. 8), if there is a malware execution unit 127 in which the continuous dynamic analysis unit 122 has executed the malware acquired in S81 in the past (Yes in S82), the malware execution Although the malware extracted by the unit 127 is executed, the present invention is not limited to this. For example, after S81, the continuous dynamic analysis unit 122 may restore the virtual OS image in the malware execution unit 127 to a state before the malware installation, and then execute the malware acquired in S81.

このようにすることで、監視装置10は、マルウェアの解析を行う際、いったんマルウェア実行部127をマルウェア感染前の状態に戻してから、マルウェアに感染させてマルウェアの解析を行うので、マルウェアに新規に感染したときの動作を解析することができる。   In this way, when analyzing the malware, the monitoring device 10 returns the malware execution unit 127 to the state before the malware infection and then infects the malware to analyze the malware. It is possible to analyze the behavior when infected with.

前記した実施の形態において説明した監視装置10が実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成することもできる。例えば、監視装置10が実行する処理をコンピュータが実行可能な言語で記述した監視プログラムを作成することもできる。この場合、コンピュータが監視プログラムを実行することにより、上記実施形態と同様の効果を得ることができる。さらに、かかる監視プログラムをコンピュータで読み取り可能な記録媒体に記録して、この記録媒体に記録された監視プログラムをコンピュータに読み込ませて実行することにより前記した実施形態と同様の処理を実現してもよい。以下に、図2に示した監視装置10と同様の機能を実現する監視プログラムを実行するコンピュータの一例を説明する。   It is also possible to create a program in which the processing executed by the monitoring apparatus 10 described in the above-described embodiment is described in a language that can be executed by a computer. For example, a monitoring program in which processing executed by the monitoring device 10 is described in a language that can be executed by a computer can be created. In this case, when the computer executes the monitoring program, the same effect as in the above embodiment can be obtained. Further, by recording such a monitoring program on a computer-readable recording medium, and reading and executing the monitoring program recorded on this recording medium, the same processing as in the above-described embodiment may be realized. Good. Hereinafter, an example of a computer that executes a monitoring program that implements the same function as the monitoring device 10 illustrated in FIG. 2 will be described.

図10は、監視プログラムを実行するコンピュータ1000を示す図である。図10に例示するように、コンピュータ1000は、例えば、メモリ1010と、CPU1020と、ハードディスクドライブインタフェース1030と、ディスクドライブインタフェース1040と、シリアルポートインタフェース1050と、ビデオアダプタ1060と、ネットワークインタフェース1070とを有し、これらの各部はバス1080によって接続される。   FIG. 10 is a diagram illustrating a computer 1000 that executes a monitoring program. As illustrated in FIG. 10, the computer 1000 includes, for example, a memory 1010, a CPU 1020, a hard disk drive interface 1030, a disk drive interface 1040, a serial port interface 1050, a video adapter 1060, and a network interface 1070. These units are connected by a bus 1080.

メモリ1010は、図10に例示するように、ROM(Read Only Memory)1011及びRAM1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、図10に例示するように、ハードディスクドライブ1031に接続される。ディスクドライブインタフェース1040は、図10に例示するように、ディスクドライブ1041に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1041に挿入される。シリアルポートインタフェース1050は、図10に例示するように、例えばマウス1051、キーボード1052に接続される。ビデオアダプタ1060は、図10に例示するように、例えばディスプレイ1061に接続される。   The memory 1010 includes a ROM (Read Only Memory) 1011 and a RAM 1012 as illustrated in FIG. The ROM 1011 stores a boot program such as BIOS (Basic Input Output System). The hard disk drive interface 1030 is connected to the hard disk drive 1031 as illustrated in FIG. The disk drive interface 1040 is connected to the disk drive 1041 as illustrated in FIG. For example, a removable storage medium such as a magnetic disk or an optical disk is inserted into the disk drive 1041. The serial port interface 1050 is connected to, for example, a mouse 1051 and a keyboard 1052 as illustrated in FIG. The video adapter 1060 is connected to a display 1061, for example, as illustrated in FIG.

ここで、図10に例示するように、ハードディスクドライブ1031は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、上記の監視プログラムは、コンピュータ1000によって実行される指令が記述されたプログラムモジュールとして、例えばハードディスクドライブ1031に記憶される。   Here, as illustrated in FIG. 10, the hard disk drive 1031 stores, for example, an OS 1091, an application program 1092, a program module 1093, and program data 1094. That is, the above monitoring program is stored in, for example, the hard disk drive 1031 as a program module in which a command to be executed by the computer 1000 is described.

また、上記実施の形態で説明した各種データは、プログラムデータとして、例えばメモリ1010やハードディスクドライブ1031に記憶される。そして、CPU1020が、メモリ1010やハードディスクドライブ1031に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出し実行することで監視装置10の制御部12の機能を実現する。   The various data described in the above embodiment is stored as program data, for example, in the memory 1010 or the hard disk drive 1031. Then, the CPU 1020 implements the function of the control unit 12 of the monitoring apparatus 10 by reading the program module 1093 and the program data 1094 stored in the memory 1010 and the hard disk drive 1031 into the RAM 1012 as necessary.

なお、監視プログラムに係るプログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1031に記憶される場合に限られず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ1041等を介してCPU1020によって読み出されてもよい。あるいは、監視プログラムに係るプログラムモジュール1093やプログラムデータ1094は、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶され、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。   The program module 1093 and the program data 1094 related to the monitoring program are not limited to being stored in the hard disk drive 1031, but are stored in, for example, a removable storage medium and read out by the CPU 1020 via the disk drive 1041 or the like. Also good. Alternatively, the program module 1093 and the program data 1094 related to the monitoring program are stored in another computer connected via a network (LAN (Local Area Network), WAN (Wide Area Network), etc.), and via the network interface 1070. May be read by the CPU 1020.

10 監視装置
11 記憶部
12 制御部
13 通信I/F部
111 マルウェア保管部
112 解析情報
113 解析結果
121 時分割動的解析部
122 連続動的解析部
123 解析管理部
124 時分割動的解析制御部
125 連続動的解析制御部
126 継続判定部
127 マルウェア実行部
128 外部通信制御部
DESCRIPTION OF SYMBOLS 10 Monitoring apparatus 11 Memory | storage part 12 Control part 13 Communication I / F part 111 Malware storage part 112 Analysis information 113 Analysis result 121 Time division dynamic analysis part 122 Continuous dynamic analysis part 123 Analysis management part 124 Time division dynamic analysis control part 125 Continuous dynamic analysis control unit 126 Continuation determination unit 127 Malware execution unit 128 External communication control unit

Claims (5)

プログラムを動作させ、前記プログラムによる通信を監視する監視装置であって、
前記プログラムの動作記録を参照して、前記プログラムにより、所定期間内に、ネットワーク上のいずれかのホストとの通信が実施されたと判定されたとき、前記プログラムを、継続的に動作させると判定し、前記所定期間内に、ネットワーク上のいずれのホストとも通信が実施されなかったと判定されたとき、予め決められた時刻に動作させると判定する継続判定部と、
前記継続的に動作させると判定されたプログラムを継続的に動作させ、前記プログラムの動作を前記動作記録に記録する連続動的解析部と、
前記予め決められた時刻に動作させると判定されたプログラムを前記予め決められた時刻に動作させ、前記プログラムの動作を前記動作記録に記録する時分割動的解析部と、
を備えることを特徴とする監視装置。
A monitoring device that operates a program and monitors communication by the program,
Referring to the operation record of the program, when it is determined by the program that communication with any host on the network has been performed within a predetermined period, it is determined that the program is continuously operated. A continuation determining unit that determines to operate at a predetermined time when it is determined that communication with any host on the network is not performed within the predetermined period;
A continuous dynamic analysis unit that continuously operates the program determined to be continuously operated and records the operation of the program in the operation record;
A time-division dynamic analysis unit that operates the program determined to operate at the predetermined time at the predetermined time and records the operation of the program in the operation record;
A monitoring device comprising:
前記継続判定部は、
前記時分割動的解析部による前記プログラムの動作後、前記プログラムの動作記録を参照して、前記プログラムにより、所定期間内に、(1)いずれかのホストとの通信が実施されたこと、(2)過去に確認されていないホストとの通信が実施されたこと、(3)いずれかのホストから応答を受信したこと、および、(4)過去に確認されていない応答をいずれかのホストから受信したこと、のいずれかまたはこれらの組み合わせが確認できたとき、前記プログラムを、継続的に動作させると判定することを特徴とする請求項1に記載の監視装置。
The continuation determination unit
After the operation of the program by the time-division dynamic analysis unit, with reference to the operation record of the program, the program has performed (1) communication with any of the hosts within a predetermined period. 2) Communication with a host that has not been confirmed in the past, (3) A response has been received from any host, and (4) A response that has not been confirmed in the past from any host. The monitoring apparatus according to claim 1, wherein when it is confirmed that any one of the received information or a combination thereof is received, the program is determined to be continuously operated.
前記継続判定部は、
前記連続動的解析部による前記プログラムの動作後、前記プログラムの動作記録を参照して、前記プログラムにより、(1)いずれかのホストと最後に通信を実施してから所定期間以上経過していること、(2)所定期間内に、過去に確認されていないホストとの通信が実施されていないこと、(3)所定期間内に、いずれのホストからも応答を受信していないこと、および、(4)所定期間内に、過去に確認されていない応答をいずれのホストからも受信していないことと、のいずれかまたはこれらの組み合わせが確認できたとき、前記プログラムを、前記予め決められた時刻に動作させると判定することを特徴とする請求項1または請求項2に記載の監視装置。
The continuation determination unit
After the operation of the program by the continuous dynamic analysis unit, referring to the operation record of the program, the program (1) has passed a predetermined period of time since the last communication with any host. (2) communication with a host that has not been confirmed in the past within a predetermined period, (3) no response has been received from any host within a predetermined period, and (4) When a response that has not been confirmed in the past has not been received from any host within a predetermined period, or any combination thereof has been confirmed, the program is determined in advance The monitoring device according to claim 1, wherein the monitoring device is determined to be operated at a time.
プログラムを動作させ、前記プログラムによる通信を監視する監視方法であって、
コンピュータが、
前記プログラムの動作記録を参照して、前記プログラムにより、所定期間内に、ネットワーク上のいずれかのホストとの通信が実施されたか否かを判定する継続判定ステップと、
前記継続判定ステップにおいて、前記プログラムにより、所定期間内に、ネットワーク上のいずれかのホストと通信が実施されたと判定されたとき、前記プログラムを、継続的に動作させると判定するステップと、
前記継続判定ステップにおいて、前記プログラムにより、所定期間内に、ネットワーク上のいずれのホストとも通信が実施されなかったと判定されたとき、予め決められた時刻に動作させると判定するステップと、
前記継続的に動作させると判定されたプログラムを継続的に動作させ、前記プログラムの動作を前記動作記録に記録する連続動的解析ステップと、
前記予め決められた時刻に動作させると判定されたプログラムを前記予め決められた時刻に動作させ、前記プログラムの動作を前記動作記録に記録する時分割動的解析ステップと、
を実行することを特徴とする監視方法。
A monitoring method for operating a program and monitoring communication by the program,
Computer
A continuation determination step for determining whether or not communication with any host on the network is performed within a predetermined period by the program with reference to the operation record of the program;
In the continuation determination step, when it is determined by the program that communication has been performed with any host on the network within a predetermined period, the step of determining that the program is continuously operated;
In the continuation determination step, when it is determined by the program that communication has not been performed with any host on the network within a predetermined period, it is determined to operate at a predetermined time;
A continuous dynamic analysis step of continuously operating the program determined to be continuously operated and recording the operation of the program in the operation record;
A time-division dynamic analysis step of operating the program determined to be operated at the predetermined time at the predetermined time and recording the operation of the program in the operation record;
The monitoring method characterized by performing.
プログラムを動作させ、前記プログラムによる通信を監視するための監視プログラムであって、
コンピュータに、
前記プログラムの動作記録を参照して、前記プログラムにより、所定期間内に、ネットワーク上のいずれかのホストとの通信が実施されたか否かを判定する継続判定ステップと、
前記継続判定ステップにおいて、前記プログラムにより、所定期間内に、ネットワーク上のいずれかのホストと通信が実施されたと判定されたとき、前記プログラムを、継続的に動作させると判定するステップと、
前記継続判定ステップにおいて、前記プログラムにより、所定期間内に、ネットワーク上のいずれのホストとも通信が実施されなかったと判定されたとき、予め決められた時刻に動作させると判定するステップと、
前記継続的に動作させると判定されたプログラムを継続的に動作させ、前記プログラムの動作を前記動作記録に記録する連続動的解析ステップと、
前記予め決められた時刻に動作させると判定されたプログラムを前記予め決められた時刻に動作させ、前記プログラムの動作を前記動作記録に記録する時分割動的解析ステップと、
を実行させるための監視プログラム。
A monitoring program for operating a program and monitoring communication by the program,
On the computer,
A continuation determination step for determining whether or not communication with any host on the network is performed within a predetermined period by the program with reference to the operation record of the program;
In the continuation determination step, when it is determined by the program that communication has been performed with any host on the network within a predetermined period, the step of determining that the program is continuously operated;
In the continuation determination step, when it is determined by the program that communication has not been performed with any host on the network within a predetermined period, it is determined to operate at a predetermined time;
A continuous dynamic analysis step of continuously operating the program determined to be continuously operated and recording the operation of the program in the operation record;
A time-division dynamic analysis step of operating the program determined to be operated at the predetermined time at the predetermined time and recording the operation of the program in the operation record;
Monitoring program to execute.
JP2013087176A 2013-04-18 2013-04-18 Monitoring device, monitoring method, and monitoring program Active JP5996481B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013087176A JP5996481B2 (en) 2013-04-18 2013-04-18 Monitoring device, monitoring method, and monitoring program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013087176A JP5996481B2 (en) 2013-04-18 2013-04-18 Monitoring device, monitoring method, and monitoring program

Publications (2)

Publication Number Publication Date
JP2014211733A true JP2014211733A (en) 2014-11-13
JP5996481B2 JP5996481B2 (en) 2016-09-21

Family

ID=51931460

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013087176A Active JP5996481B2 (en) 2013-04-18 2013-04-18 Monitoring device, monitoring method, and monitoring program

Country Status (1)

Country Link
JP (1) JP5996481B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017522641A (en) * 2014-06-27 2017-08-10 マカフィー, インコーポレイテッド Systems and methods for malware tracing and detection

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012103893A (en) * 2010-11-10 2012-05-31 Nippon Telegr & Teleph Corp <Ntt> Analysis system, analysis device, analysis method, and analysis program

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012103893A (en) * 2010-11-10 2012-05-31 Nippon Telegr & Teleph Corp <Ntt> Analysis system, analysis device, analysis method, and analysis program

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
JPN6016021364; '2013年  春季会合  都道府県CIOフォーラム' 日経BPガバメントテクノロジー 第27号, 20130404, 第20〜21頁, 日経BP社 *
JPN6016021365; 細渕  嘉彦: 'インターネット接続型動的解析におけるIPアドレス使用法に関する考察' 情報処理学会研究報告  コンピュータセキュリティ(CSEC)  [DVD-ROM] No.48, 20100415, 第1〜7頁, 情報処理学会 *
JPN6016021366; 川古谷  裕平: 'Dense  Ship:サーバ型ハニーポット用仮想マシンモニタ' 電子情報通信学会技術研究報告 Vol.111,No.82, 20110609, 第63〜68頁, 電子情報通信学会 *
JPN6016021367; 八木  毅: 'Webサイト向けマルウェアダウンロードサイトの生存期間監視方式' 電子情報通信学会技術研究報告 Vol.110,No.79, 20100610, 第75〜80頁, 電子情報通信学会 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017522641A (en) * 2014-06-27 2017-08-10 マカフィー, インコーポレイテッド Systems and methods for malware tracing and detection

Also Published As

Publication number Publication date
JP5996481B2 (en) 2016-09-21

Similar Documents

Publication Publication Date Title
US10599846B2 (en) Segregating executable files exhibiting network activity
US10242186B2 (en) System and method for detecting malicious code in address space of a process
US9507939B1 (en) Systems and methods for batch processing of samples using a bare-metal computer security appliance
RU2653985C2 (en) Method and system for detecting malicious software by control of software implementation running under script
CN109586282B (en) Power grid unknown threat detection system and method
US9111089B1 (en) Systems and methods for safely executing programs
JP6313384B2 (en) System and method for optimizing anti-virus determination
US9208317B2 (en) Simultaneous screening of untrusted digital files
US10055579B2 (en) System resources for sandboxing
JPWO2016203759A1 (en) ANALYSIS SYSTEM, ANALYSIS METHOD, ANALYSIS DEVICE, AND RECORDING MEDIUM CONTAINING COMPUTER PROGRAM
CN105760787A (en) System and method used for detecting malicious code of random access memory
JP2017174373A (en) System and method for performing antivirus scanning of files on virtual machine
US9202053B1 (en) MBR infection detection using emulation
US10360371B1 (en) Systems and methods for protecting automated execution environments against enumeration attacks
JP5437977B2 (en) Analysis system, analysis apparatus, analysis method, and analysis program
JP2008129707A (en) Program analyzing device, program analyzing method, and program
JP5996481B2 (en) Monitoring device, monitoring method, and monitoring program
CN110659478A (en) Method for detecting malicious files that prevent analysis in an isolated environment
US10635811B2 (en) System and method for automation of malware unpacking and analysis
JP7238987B2 (en) SECURITY TRAINING SUPPORT DEVICE, SECURITY TRAINING SUPPORT METHOD, AND PROGRAM
CH716699B1 (en) Method to thwart the removal of digital forensic science information by malicious software.
Shi et al. Design of a comprehensive virtual machine monitoring system
JP6687844B2 (en) Malware analysis device, malware analysis method, and malware analysis program
KR20200069111A (en) Method and apparatus for verifying control-flow integrity of virtual machine kernel
JP5710547B2 (en) Information processing apparatus, monitoring method, and monitoring program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150623

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20151001

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20151005

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160531

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160607

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160713

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160824

R150 Certificate of patent or registration of utility model

Ref document number: 5996481

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150