JP2014211733A - Monitoring device, monitoring method, and monitoring program - Google Patents
Monitoring device, monitoring method, and monitoring program Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
Abstract
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.
しかしながら上述した従来技術では、マルウェアを実際に動作させる環境を準備する必要があるため、多数のマルウェアを同時に、かつ、継続的に解析し続けるのは計算機資源の都合上困難である、という問題があった。 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.
以下、図面を参照して、本発明の監視装置の実施の形態を説明する。本発明は、以下の実施の形態に限定されるものではない。なお、以下の説明において、マルウェアの解析とは、例えば、監視装置がマルウェアを動作させて、このマルウェアによる通信先(攻撃者サイト等のホストコンピュータ)との通信を監視することをいう。また、このマルウェアの解析は、マルウェアによる通信先との通信の監視の他に、マルウェアが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
例えば、監視装置10が、当該マルウェアについて、所定時間以上ネットワーク上のホストとの通信がなかった場合、そのマルウェアを、今後も時分割で解析すると判定する。一方、当該マルウェアについて、所定時間の間にネットワーク上のホストへの通信が検出された場合、監視装置10は、そのマルウェアを、今後連続で解析すると判定する。
For example, if the
また、監視装置10は、図1(a)に示すように、連続で解析すると判定したマルウェアについて、再度解析を行った結果、所定時間以上インターネット上のホストへの通信がなかった場合、そのマルウェアを時分割で解析すると判定する。一方、監視装置10が、再度解析を行った結果、所定時間内にインターネット上のホストへの通信があった場合、そのマルウェアを引き続き連続で解析すると判定する。つまり、監視装置10は、いったん連続で解析すると判定したマルウェアについても、その後の解析結果に基づき、時分割での解析の対象に戻したり、連続での解析の対象としたりする。また、監視装置10は、図1(b)に示すように、いったん時分割で解析すると判定したマルウェアについても、その後の解析結果に基づき、引き続き時分割での解析の対象としたり、連続での解析の対象としたりする。
Further, as shown in FIG. 1A, when the
このように、監視装置10は、マルウェアの解析の結果、ネットワーク上のホストとの通信が検出されたマルウェアについてはその後も連続で解析するが、それ以外のマルウェアは時分割で解析する。よって、監視装置10が、マルウェアの解析に用いる計算機資源(CPUやメモリ等)を有効活用できる。つまり、監視装置10の計算機資源が限られている場合でも、多数のマルウェアを解析することができる。
As described above, the
(構成)
図2は、監視装置の構成図である。監視装置10は、記憶部11と、制御部12と、通信I/F(インタフェース)部13とを備え、ネットワーク経由でホストコンピュータ(ホスト)と通信可能に接続される。なお、このネットワークは、インターネットや、LAN(Local Area Network)等である。
(Constitution)
FIG. 2 is a configuration diagram of the monitoring apparatus. The
記憶部11は、マルウェア保管部111を備え、解析情報112および解析結果(マルウェアの動作記録)113を記憶する領域を備える。
The storage unit 11 includes a
マルウェア保管部111は、監視装置10の解析対象のマルウェアを保管する。解析情報112は、マルウェアごとの解析スケジュールを示した情報である。
The
解析情報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
図2の解析結果113は、監視装置10による各マルウェアの解析結果を示した情報である。この解析結果113には、当該マルウェアの実行による通信先(ホスト)のアドレスや、通信先との通信時刻、通信内容等が示される。この解析結果113は、制御部12の各部がマルウェアを解析した際に追加、更新される。
The analysis result 113 in FIG. 2 is information indicating the analysis result of each malware by the
制御部12は、監視装置10全体の制御を司り、ここでは主に、各マルウェアについて継続的に解析するか否かを判定し、継続的に解析すると判定されたマルウェアについては継続的に解析する。一方、継続的に解析しないと判定されたマルウェアについては、時分割で解析する。制御部12は、時分割動的解析部121と、連続動的解析部122と、解析管理部123とを備える。
The control unit 12 controls the
時分割動的解析部121は、マルウェアに時分割動的解析を行う。つまり、時分割動的解析部121は、解析情報112に指定された時刻に各マルウェアを動作させて解析を行う。そして、時分割動的解析部121は、マルウェアの解析の結果を解析結果113に書き込む。
The time division
連続動的解析部122は、連続動的解析制御部125(後記)により指示されたマルウェアに対し連続動的解析を行う。つまり、連続動的解析部122は、連続動的解析制御部125により指示されたマルウェアを継続的に動作させて解析を行う。そして、連続動的解析部122は、マルウェアの解析の結果を解析結果113に書き込む。
The continuous
なお、時分割動的解析部121および連続動的解析部122はそれぞれ、実際にマルウェアを動作させるマルウェア実行部127と、このマルウェア実行部127によるネットワーク上のホスト(通信先)と通信制御を行う外部通信制御部128とを備える。
Each of the time division
解析管理部123は、時分割動的解析部121を制御する時分割動的解析制御部124と、連続動的解析部122を制御する連続動的解析制御部125と、継続判定部126とを備える。
The
時分割動的解析制御部124は、マルウェア保管部111からマルウェアを取得すると、この取得したマルウェアと、解析情報112とを時分割動的解析部121へ転送する。これにより、時分割動的解析部121は、解析情報112に示されるマルウェアについて、解析情報112に示されるスケジュールに従い解析するよう指示する。
When the time division dynamic
連続動的解析制御部125は、継続判定部126からの指示に基づき、連続動的解析部122にマルウェアの連続動的解析を実行させる。なお、連続動的解析制御部125が、継続判定部126から当該マルウェアの連続動的解析を実行させる旨の指示を受け取ったとき、解析情報112から当該マルウェアのIDを削除する。これにより、当該マルウェアは、時分割動的解析部121による時分割動的解析の対象から外される。
The continuous dynamic
継続判定部126は、連続動的解析部122または時分割動的解析部121によるマルウェアの解析後、当該マルウェアを連続動的解析の対象とするか否かを判定する。例えば、連続動的解析部122または時分割動的解析部121によるマルウェアの解析から所定時間経過した後、継続判定部126は、解析情報112における当該マルウェアの動作記録を確認する。そして、継続判定部126が、当該マルウェアの動作記録によりいずれかのホストと通信したことを検出したとき、当該マルウェアを連続動的解析の対象とすると判定する。そして、継続判定部126は、連続動的解析制御部125へ当該マルウェアの連続動的解析を指示する。一方、連続動的解析部122または時分割動的解析部121によるマルウェアの解析から所定時間経過した後、継続判定部126は、解析情報112における当該マルウェアの動作記録を確認し、当該マルウェアによる通信を検出しなかったとき、当該マルウェアを時分割動的解析の対象とすると判定する。そして、継続判定部126は、割解析情報112に当該マルウェアのIDを追加する。これにより、時分割動的解析部121は当該マルウェアに対し時分割動的解析を実施する。
The
通信I/F(インタフェース)部13は、制御部12の各部がネットワーク上のホストと通信を行う際に用いられるインタフェースであり、例えば、ネットワークインタフェースカードである。
The communication I / F (interface)
(処理手順)
次に、監視装置10の処理手順を説明する。まず、時分割動的解析制御部124の処理手順を説明する。図4は、時分割動的解析制御処理を示すフローチャートである。
(Processing procedure)
Next, the processing procedure of the
時分割動的解析制御部124はマルウェア保管部111からマルウェアを取得し(S1)、取得したマルウェアを予め決められた数のセットに分割する(S2)。分割されたマルウェアのセットは、例えば、記憶部11のメインメモリ(図示省略)等に格納される。なお、時分割動的解析制御部124は、マルウェア分割する際、個々のマルウェアにIDを設定し、解析情報112との対応を取れるようにしておく。
The time division dynamic
その後、時分割動的解析制御部124は、時分割動的解析部121にマルウェアセットと解析情報112を転送し(S3)、時分割動的解析部121は、転送されたマルウェアセットに対し、解析情報112に基づく時分割動的解析処理を実行する(S4)。その後、継続判定部126は、S4で解析を行ったマルウェアを連続動的解析処理の対象とするか否かを判定する(S5:連続動的解析判定処理)。そして、連続動的解析制御部125は、継続判定部126により連続動的解析処理の対象と判定されたマルウェアの解析を連続動的解析部122に対し指示する(S6:連続動的解析制御処理)。
Thereafter, the time division dynamic
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
次に、図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
S52の後、時分割動的解析部121は、取り出したマルウェアを過去に実行したマルウェア実行部127が存在するか否かを確認する(S53)。ここで、過去に当該マルウェアを実行したマルウェア実行部127が存在すれば(S53のYes)、時分割動的解析部121は、過去に当該マルウェアを実行したマルウェア実行部127を起動し、起動したマルウェア実行部127に当該マルウェアを実行させる(S54)。
After S52, the time division
一方、当該マルウェアを実行したマルウェア実行部127が存在しない場合には(S53のNo)、時分割動的解析部121は、いずれかのマルウェア実行部127を起動し、当該マルウェアをマルウェア実行部127に転送し、実行させる(S55)。そして、時分割動的解析部121は、S54およびS55におけるマルウェアの実行結果(動作結果)を解析結果113に書き込む。
On the other hand, when the
S54、S55の後、時分割動的解析部121は、解析情報112において当該解析開始時刻に割り当てられたマルウェアを全て取り出したと判断すると(S56のYes)、解析情報112に示される解析終了時刻まで待機する(S57)。一方、解析情報112において当該解析開始時刻に割り当てられたマルウェアのうち、まだ取り出していないマルウェアがあれば(S56のNo)、S52へ戻る。
After S54 and S55, when the time division
S57の後、時分割動的解析部121は、解析終了時刻になると、起動していたマルウェア実行部127を終了させる(S58)。そして、時分割動的解析処理を終了する。なお、マルウェア実行部127の終了は、通常のOSのシャットダウン処理でもよいし、仮想マシンを利用している場合には仮想OSのサスペンド処理でもよい。
After S57, the time division
次に、図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
例えば、継続判定部126は、指定された期間内(例えば、前記した2日間のうち所定期間内)に、マルウェアによりネットワーク上のいずれかのホストへの通信が発生しているか否か(S62)、指定された期間内に通信を行ったホストは当該マルウェアが過去に通信したことのないホストか否か(S63)、指定された期間内にネットワーク上のホストから応答を取得しているか否か(S64)、指定された期間内にネットワーク上のホストから取得した応答は、当該マルウェアが過去に取得したことがない応答であるか否か(S65)を判定する。
For example, the
そして、継続判定部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
また、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
なお、継続判定部126は、連続動的解析判定処理を、S62〜S65の判定処理のうちいずれか、またはいずれかの組み合わせにより実施してもよい。また、連続動的解析判定処理において、連続動的解析の対象と判定されたマルウェアのIDを記憶部11のメインメモリ等に記憶しておいてもよい。そして、連続動的解析制御部125が現在連続動的解析の対象とすべきマルウェアを特定する際、このメインメモリ上に記録されたマルウェアのIDを参照するようにしてもよい。
The
このようにすることで監視装置10は、所定期間内にネットワーク上のホストとの間で何らかの通信を行ったマルウェアについては連続動的解析の対象とし、それ以外のマルウェアについては時分割動的解析の対象とすることができる。
By doing in this way, the
次に、図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
次に、図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
ここで、当該マルウェアを実行したマルウェア実行部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
S84、S85の後、連続動的解析部122は連続動的解析対象のマルウェアを全て実行したと判断すると(S86のYes)、所定時間待機した後(S87)、継続判定部126により連続動的解析継続判定処理を行い(S88)、連続動的解析処理を終了する。一方、連続動的解析対象のマルウェアのうち未実行のマルウェアがあれば(S86のNo)、S81へ戻る。
After S84 and S85, if the continuous
次に、図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
S91でYesだったとき、継続判定部126は、例えば、当該マルウェアについて、ネットワーク上のホストと最後に通信してから所定期間以上経過していないか否か(S92)、指定された期間内に通信を行ったホストは当該マルウェアが過去に通信したことのないホストか否か(S93)、指定された期間内にネットワーク上のホストから応答を取得しているか否か(S94)、指定された期間内にネットワーク上のホストから取得した応答は、当該マルウェアが過去に取得したことがない応答であるか否か(S95)を判定する。
When the answer is YES in S91, the
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
S98において、継続判定部126は、連続動的解析中の全マルウェアに対して、S92〜S95の判定を実施したことを確認すると(S98のYes)、連続動的解析継続判定処理を終了する。一方、まだS92〜S95の判定を実施していないマルウェアがあれば(S98のNo)、S91へ戻る。
In S98, when the
なお、継続判定部126は、連続動的解析継続判定処理を、S92〜S95の判定処理のうちいずれか、またはいずれかの組み合わせにより実施してもよい。
In addition, the
このようにすることで監視装置10は、いったん連続動的解析の対象としたマルウェアについても、その後のマルウェアの解析結果に基づき、時分割動的解析の対象に戻すことができる。従って、監視装置10は、限られた計算機資源を有効活用して、マルウェアを解析することができる。
By doing in this way, the
なお、本実施の形態では時分割動的解析制御部124から時分割動的解析部121にマルウェアセットと解析情報112を転送することとしたがこれに限定されない。例えば、時分割動的解析制御部124で解析情報112を基にして、時分割動的解析部121のマルウェア実行環境における個々のマルウェアの実行を制御してもよい。
In this embodiment, the malware set and the analysis information 112 are transferred from the time division dynamic
また、本実施の形態では、時分割動的解析処理(図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
また、連続動的解析処理(図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
このようにすることで、監視装置10は、マルウェアの解析を行う際、いったんマルウェア実行部127をマルウェア感染前の状態に戻してから、マルウェアに感染させてマルウェアの解析を行うので、マルウェアに新規に感染したときの動作を解析することができる。
In this way, when analyzing the malware, the
前記した実施の形態において説明した監視装置10が実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成することもできる。例えば、監視装置10が実行する処理をコンピュータが実行可能な言語で記述した監視プログラムを作成することもできる。この場合、コンピュータが監視プログラムを実行することにより、上記実施形態と同様の効果を得ることができる。さらに、かかる監視プログラムをコンピュータで読み取り可能な記録媒体に記録して、この記録媒体に記録された監視プログラムをコンピュータに読み込ませて実行することにより前記した実施形態と同様の処理を実現してもよい。以下に、図2に示した監視装置10と同様の機能を実現する監視プログラムを実行するコンピュータの一例を説明する。
It is also possible to create a program in which the processing executed by the
図10は、監視プログラムを実行するコンピュータ1000を示す図である。図10に例示するように、コンピュータ1000は、例えば、メモリ1010と、CPU1020と、ハードディスクドライブインタフェース1030と、ディスクドライブインタフェース1040と、シリアルポートインタフェース1050と、ビデオアダプタ1060と、ネットワークインタフェース1070とを有し、これらの各部はバス1080によって接続される。
FIG. 10 is a diagram illustrating a
メモリ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
ここで、図10に例示するように、ハードディスクドライブ1031は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、上記の監視プログラムは、コンピュータ1000によって実行される指令が記述されたプログラムモジュールとして、例えばハードディスクドライブ1031に記憶される。
Here, as illustrated in FIG. 10, the
また、上記実施の形態で説明した各種データは、プログラムデータとして、例えばメモリ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
なお、監視プログラムに係るプログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1031に記憶される場合に限られず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ1041等を介してCPU1020によって読み出されてもよい。あるいは、監視プログラムに係るプログラムモジュール1093やプログラムデータ1094は、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶され、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
The
10 監視装置
11 記憶部
12 制御部
13 通信I/F部
111 マルウェア保管部
112 解析情報
113 解析結果
121 時分割動的解析部
122 連続動的解析部
123 解析管理部
124 時分割動的解析制御部
125 連続動的解析制御部
126 継続判定部
127 マルウェア実行部
128 外部通信制御部
DESCRIPTION OF
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.
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)
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)
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 |
-
2013
- 2013-04-18 JP JP2013087176A patent/JP5996481B2/en active Active
Patent Citations (1)
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)
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)
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 |