JP5892840B2 - Program analysis system - Google Patents

Program analysis system Download PDF

Info

Publication number
JP5892840B2
JP5892840B2 JP2012086942A JP2012086942A JP5892840B2 JP 5892840 B2 JP5892840 B2 JP 5892840B2 JP 2012086942 A JP2012086942 A JP 2012086942A JP 2012086942 A JP2012086942 A JP 2012086942A JP 5892840 B2 JP5892840 B2 JP 5892840B2
Authority
JP
Japan
Prior art keywords
server
analysis
client
record
program
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.)
Expired - Fee Related
Application number
JP2012086942A
Other languages
Japanese (ja)
Other versions
JP2013218444A (en
Inventor
信隆 川口
信隆 川口
鍛 忠司
忠司 鍛
演己 山口
演己 山口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2012086942A priority Critical patent/JP5892840B2/en
Publication of JP2013218444A publication Critical patent/JP2013218444A/en
Application granted granted Critical
Publication of JP5892840B2 publication Critical patent/JP5892840B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、コンピュータプログラムの挙動を解析するプログラム解析システムに関する。 The present invention relates to program analysis system for analyzing the behavior of a computer program.

ソースコードを用いずに、コンピュータプログラムの挙動を解析する方法として、静的解析と動的解析の2種類が知られている。静的解析とは、プログラムのファイルに記述されている命令コードを分析することで、挙動を調査するものである。動的解析とは、プログラムを計算機上で実行し、当該実行時のプログラムの振る舞いを観測することで、挙動を調査するものである。   There are two known methods for analyzing the behavior of a computer program without using source code: static analysis and dynamic analysis. In static analysis, behavior is investigated by analyzing an instruction code described in a program file. In dynamic analysis, a program is executed on a computer, and the behavior is examined by observing the behavior of the program at the time of execution.

プログラムによっては、静的解析を阻止するために様々な防御策が講じられているものがある。特に、昨今のマルウェア(malware:コンピュータウイルスやスパイウェアなどの不正プログラム)は、静的解析を阻止するために、ファイルが難読化されている場合や、ファイルが暗号化されている場合が多い。そのため、静的解析による調査には、ファイル構造の解読や復号化に長い時間と熟練した技術者とを必要とする。   Some programs have various defensive measures to prevent static analysis. In particular, recent malware (malware: malicious programs such as computer viruses and spyware) is often obfuscated or encrypted in order to prevent static analysis. For this reason, the investigation by static analysis requires a long time and a skilled engineer for decoding and decoding the file structure.

一方、動的解析は、実行時のプログラムの振る舞いを観測して、挙動を調査するため、ファイルの難読化や暗号化による影響を受けにくく、比較的短時間に解析を完了することができるという効果がある。   On the other hand, dynamic analysis observes the behavior of the program at the time of execution and investigates the behavior, so it is less affected by obfuscation and encryption of the file and can be completed in a relatively short time. effective.

そのため、近年では、特許文献1、特許文献2など、動的解析の処理を自動化して効率的な解析を実現するシステムの研究開発が進んでいる。これらのシステムでは、実行環境でマルウェアを実行し、一定時間内に観測された挙動(たとえば、マルウェアのファイルアクセスやネットワーク通信)を取得して解析する。   Therefore, in recent years, research and development of a system that realizes efficient analysis by automating dynamic analysis processing, such as Patent Document 1 and Patent Document 2, has been progressing. In these systems, malware is executed in an execution environment, and behaviors observed within a certain time (for example, malware file access and network communication) are acquired and analyzed.

特開2009−181335号公報JP 2009-181335 A 特開2009−37545号公報JP 2009-37545 A

しかし、プログラムによっては、自身が実行される環境が特定の処理を行う場合にのみ、活発な活動を行うものがある。例えば、マルウェアの中には、計算機が、銀行のWEB(World Wide Web)サイトなどにアクセスしたときのみ活動を開始し、ユーザアカウントを窃取し、ユーザの入力内容を改ざんするものがある。このため、特許文献1、特許文献2に示されているプログラム解析システムのように、プログラムを計算機上で実行して、その挙動を解析するのみでは、プログラムの特徴を十分に解析することは難しい。   However, some programs perform active activities only when the environment in which they are executed performs specific processing. For example, some malware starts an activity only when a computer accesses a bank WEB (World Wide Web) site, steals a user account, and alters a user's input content. For this reason, it is difficult to sufficiently analyze the characteristics of a program only by executing the program on a computer and analyzing the behavior thereof, as in the program analysis systems disclosed in Patent Document 1 and Patent Document 2. .

そこで、本発明は、計算機が特定の処理を行った場合に活動を行うプログラムに対する効率的な解析を可能とするシステムを提供することを課題とする。 The present invention, computer and to provide a system that enables efficient analysis of programs for performing activities when performing a specific process.

前記した課題を解決するため、本発明の請求項1に記載の発明では、検体プログラムを動作させて、その挙動を解析する制御装置と、前記制御装置の指令に基づいてブラウザの動作シナリオを実行し、前記検体プログラムの挙動を記録するクライアント装置と、前記制御装置の指令に基づき前記クライアント装置と通信を行って挙動を記録するサーバ装置と、を備え、前記制御装置は、前記クライアント装置の前記ブラウザの前記動作シナリオ、および、前記サーバ装置のサーバ構成情報を組み合わせた情報を格納する解析データベースを備えた記憶部と、前記クライアント装置および前記サーバ装置に命令を送信して解析処理を行う制御部と、前記クライアント装置および前記サーバ装置から受信した記録を基に、前記検体プログラムの属性を解析する検知部と、を備えることを特徴とするプログラム解析システムとした。
その他の手段については、発明を実施するための形態のなかで説明する。
In order to solve the above-described problem, according to the first aspect of the present invention, a control device that operates a sample program and analyzes its behavior, and executes a browser operation scenario based on a command from the control device. And a client device that records the behavior of the sample program and a server device that records the behavior by communicating with the client device based on a command from the control device, and the control device includes the client device A storage unit including an analysis database that stores information obtained by combining the operation scenario of the browser and server configuration information of the server device, and a control unit that transmits an instruction to the client device and the server device to perform analysis processing And the sample program attribute based on the records received from the client device and the server device. A detection unit for analyzing and a program analysis system, characterized in that it comprises a.
Other means will be described in the embodiment for carrying out the invention.

本発明によれば、計算機が特定の処理を行った場合に活動を行うプログラムに対する効率的な解析を可能とするシステムを提供することが可能となる。 According to the present invention, the computer is able to provide a system that enables efficient analysis of programs for performing activities when performing a specific process.

本実施形態に於けるプログラム解析システムを示す概略の構成図である。It is a schematic block diagram which shows the program analysis system in this embodiment. 本実施形態に於ける制御装置を示す概略の構成図である。It is a schematic block diagram which shows the control apparatus in this embodiment. 本実施形態に於けるクライアント装置を示す概略の構成図である。It is a schematic block diagram which shows the client apparatus in this embodiment. 本実施形態に於けるサーバ装置を示す概略の構成図である。It is a schematic block diagram which shows the server apparatus in this embodiment. 本実施形態に於ける解析シナリオDBを示す図である。It is a figure which shows analysis scenario DB in this embodiment. 本実施形態に於けるWEBサイトDBを示す図である。It is a figure which shows WEB site DB in this embodiment. 本実施形態に於ける活動記録DBを示す図である。It is a figure which shows activity record DB in this embodiment. 本実施形態に於ける検知ルールDBを示す図である。It is a figure which shows detection rule DB in this embodiment. 本実施形態に於ける再解析ルールDBを示す図である。It is a figure which shows reanalysis rule DB in this embodiment. 本実施形態に於けるブラウザ監視ルールDBを示す図である。It is a figure which shows browser monitoring rule DB in this embodiment. 本実施形態に於けるWEBサイト監視DBを示す図である。It is a figure which shows WEB site monitoring DB in this embodiment. 本実施形態に於けるプログラム解析処理のシーケンス図である。It is a sequence diagram of the program analysis process in this embodiment. 本実施形態に於ける制御部が実行する制御前処理を示すフローチャートである。It is a flowchart which shows the control pre-processing which the control part in this embodiment performs. 本実施形態に於ける検知部処理を示すフローチャートである。It is a flowchart which shows the detection part process in this embodiment. 本実施形態に於けるクライアント制御部処理を示すフローチャートである。It is a flowchart which shows the client control part process in this embodiment. 本実施形態に於けるブラウザ操作部処理を示すフローチャートである。It is a flowchart which shows the browser operation part process in this embodiment. 本実施形態に於けるブラウザ監視部処理を示すフローチャートである。It is a flowchart which shows the browser monitoring part process in this embodiment. 本実施形態に於けるサーバ制御部処理を示すフローチャートである。It is a flowchart which shows the server control part process in this embodiment. 本実施形態に於けるWEBサイト監視部処理を示すフローチャートである。It is a flowchart which shows the WEB site monitoring part process in this embodiment.

(本実施形態の構成) (Configuration of this embodiment)

図1は、本実施形態に於けるプログラム解析システムを示す概略の構成図である。
プログラム解析システム1は、制御装置100と、クライアント装置200と、サーバ装置300と、通信ネットワーク400と、通信ネットワーク500とを備えている。
本実施形態のプログラム解析システム1は、後記する検体11が、マルウェアであるか否かを解析するものである。ここでマルウェアとは、不正かつ有害な動作を行う意図で作成された悪意のあるソフトウェアであり、例えば、WEBブラウザに感染して、ユーザが特定のWEBサイトにアクセスした際に、ユーザ入力の窃取や改ざんを行うものである。プログラム解析システム1は、制御装置100、クライアント装置200、および、サーバ装置300が、通信ネットワーク400を介して連携して、このマルウェアを解析する。
FIG. 1 is a schematic configuration diagram showing a program analysis system in the present embodiment.
The program analysis system 1 includes a control device 100, a client device 200, a server device 300, a communication network 400, and a communication network 500.
The program analysis system 1 according to the present embodiment analyzes whether or not the specimen 11 described later is malware. Here, malware is malicious software created with the intention of performing illegal and harmful operations. For example, when a user accesses a specific WEB site by infecting a WEB browser, stealing user input Or tampering. In the program analysis system 1, the control device 100, the client device 200, and the server device 300 cooperate with each other via the communication network 400 to analyze this malware.

制御装置100は、例えば、1台以上のコンピュータやワークステーションなどの計算機である。制御装置100は、プログラム解析システム1に於いて、マルウェアの挙動を解析する処理を行う。制御装置100は、解析対象となるマルウェア(以後、検体と記載している場合がある)、および、その解析手順を決定し、クライアント装置200およびサーバ装置300に指令する。制御装置100は、通信ネットワーク400を介して、クライアント装置200およびサーバ装置300に接続されている。
制御装置100の構成は、後記する図2で説明する。
The control device 100 is, for example, a computer such as one or more computers or workstations. The control device 100 performs processing for analyzing the behavior of malware in the program analysis system 1. The control device 100 determines malware to be analyzed (hereinafter may be referred to as a specimen) and its analysis procedure, and instructs the client device 200 and the server device 300. The control device 100 is connected to the client device 200 and the server device 300 via the communication network 400.
The configuration of the control device 100 will be described with reference to FIG.

クライアント装置200は、例えば、1台以上のコンピュータやワークステーションなどの計算機である。クライアント装置200は、制御装置100から送信された指令に基づいて、検体11の実行およびWEBブラウザの動作シナリオの実行(操作)を行い、検体11の挙動を記録する。クライアント装置200は、通信ネットワーク500を介して、サーバ装置300と通信を行う。クライアント装置200の構成は、後記する図3で説明する。   The client device 200 is, for example, a computer such as one or more computers or workstations. Based on the command transmitted from the control device 100, the client device 200 executes the sample 11 and executes (operates) the operation scenario of the WEB browser, and records the behavior of the sample 11. The client device 200 communicates with the server device 300 via the communication network 500. The configuration of the client device 200 will be described with reference to FIG.

サーバ装置300は、例えば、1台以上のコンピュータやワークステーションなどの計算機である。サーバ装置300は、制御装置100から送信された指令に基づいてWEBサイトを構築し、通信ネットワーク500を介して、クライアント装置200と通信を行って挙動を記録する。サーバ装置300の構成は、後記する図4で説明する。   The server apparatus 300 is a computer such as one or more computers or workstations. The server apparatus 300 constructs a WEB site based on the command transmitted from the control apparatus 100, and communicates with the client apparatus 200 via the communication network 500 to record the behavior. The configuration of the server apparatus 300 will be described with reference to FIG.

通信ネットワーク400は、例えば、WAN(World Area Network)、LAN(Local Area Network)、携帯電話、PHS(Personal Handy-phone System)などの公衆回線網である。制御装置100と、クライアント装置200、サーバ装置300との間の通信は、通信ネットワーク400を介して行われる。   The communication network 400 is, for example, a public line network such as a WAN (World Area Network), a LAN (Local Area Network), a mobile phone, and a PHS (Personal Handy-phone System). Communication between the control device 100, the client device 200, and the server device 300 is performed via the communication network 400.

通信ネットワーク500は、例えば、WAN、LAN、携帯電話、PHSなどの公衆回線網である。クライアント装置200とサーバ装置300との間の通信は、通信ネットワーク500を介して行われる。クライアント装置200は、通信ネットワーク500を介して、例えばインターネットなどの外部ネットワークに接続された装置と、通信することもできる。   The communication network 500 is a public line network such as WAN, LAN, mobile phone, PHS, for example. Communication between the client device 200 and the server device 300 is performed via the communication network 500. The client device 200 can also communicate with a device connected to an external network such as the Internet via the communication network 500.

ラインL1は、制御装置100からクライアント装置200への情報の流れを示すものである。ラインL2は、制御装置100からサーバ装置300への情報の流れを示すものである。ラインL3は、クライアント装置200から制御装置100への情報の流れを示すものである。ラインL4は、サーバ装置300から制御装置100への情報の流れを示すものである。ラインL1〜L4は、物理的な情報の伝達手段として、通信ネットワーク400を用いている。   A line L1 indicates a flow of information from the control apparatus 100 to the client apparatus 200. A line L2 indicates a flow of information from the control device 100 to the server device 300. A line L3 indicates a flow of information from the client apparatus 200 to the control apparatus 100. A line L4 indicates a flow of information from the server apparatus 300 to the control apparatus 100. The lines L1 to L4 use the communication network 400 as a means for transmitting physical information.

ラインL1とは、クライアント制御命令10が、制御装置100からクライアント装置200に伝達される情報の流れである。クライアント制御命令10は、解析対象となる検体11と、動作シナリオ12とを含んでいる。本実施形態のプログラム解析システム1は、クライアント装置200内のWEBブラウザに対して、クライアント制御命令10の動作シナリオ12で指定された操作を行った場合の検体11の挙動に基づいて、マルウェアの検出を行う。   The line L1 is a flow of information in which the client control command 10 is transmitted from the control device 100 to the client device 200. The client control instruction 10 includes a sample 11 to be analyzed and an operation scenario 12. The program analysis system 1 according to the present embodiment detects malware based on the behavior of the sample 11 when the operation specified in the operation scenario 12 of the client control instruction 10 is performed on the WEB browser in the client device 200. I do.

ラインL2とは、サーバ制御命令20が、制御装置100からサーバ装置300に伝達される情報の流れである。サーバ制御命令20は、WEBサイト構成ファイル21を含んでいる。サーバ装置300は、WEBサイト構成ファイル21が含んでいる情報に基づき、WEBサイトを構築する。本実施形態では、構築したWEBサイトがクライアント装置200から受信する情報に基づき、マルウェアの検出を行う。   The line L2 is a flow of information in which the server control command 20 is transmitted from the control device 100 to the server device 300. The server control instruction 20 includes a WEB site configuration file 21. The server apparatus 300 constructs a WEB site based on information included in the WEB site configuration file 21. In the present embodiment, malware detection is performed based on information received from the client device 200 by the constructed WEB site.

ラインL3とは、クライアント側実行結果30が、クライアント装置200から制御装置100へ伝達される情報の流れである。クライアント側実行結果30は、クライアント制御命令10およびサーバ制御命令20に基づいて検体11を解析した際に、クライアント装置200に於いて取得された解析情報を含んでいる。   The line L3 is a flow of information in which the client side execution result 30 is transmitted from the client device 200 to the control device 100. The client-side execution result 30 includes analysis information acquired by the client device 200 when the sample 11 is analyzed based on the client control command 10 and the server control command 20.

ラインL4とは、サーバ側実行結果40が、サーバ装置300から制御装置100へ伝達される情報の流れである。サーバ側実行結果40は、クライアント制御命令10およびサーバ制御命令20に基づいて検体11を解析した場合に、サーバ装置300に於いて取得された解析情報を含んでいる。   The line L4 is a flow of information in which the server side execution result 40 is transmitted from the server apparatus 300 to the control apparatus 100. The server-side execution result 40 includes analysis information acquired by the server device 300 when the sample 11 is analyzed based on the client control command 10 and the server control command 20.

ラインL5は、クライアント装置200からサーバ装置300への情報の流れを示すものである。ラインL6は、サーバ装置300からクライアント装置200への情報の流れを示すものである。ラインL5,L6は、物理的な情報の伝達手段として、通信ネットワーク500を用いている。   A line L5 indicates a flow of information from the client device 200 to the server device 300. A line L6 indicates a flow of information from the server apparatus 300 to the client apparatus 200. The lines L5 and L6 use the communication network 500 as a means for transmitting physical information.

ラインL5とは、リクエスト50および操作完了通知70が、クライアント装置200からサーバ装置300へ伝達される情報の流れである。リクエスト50は、クライアント装置200内のWEBブラウザが発行した要求文であり、サーバ装置300内のWEBサイトによって処理される。また、操作完了通知70は、クライアント装置200からサーバ装置300へ、解析に必要な一連の操作を完了したことを伝達するために用いられる。   The line L5 is a flow of information in which the request 50 and the operation completion notification 70 are transmitted from the client device 200 to the server device 300. The request 50 is a request sentence issued by the WEB browser in the client device 200 and is processed by the WEB site in the server device 300. The operation completion notification 70 is used to transmit from the client device 200 to the server device 300 that a series of operations necessary for analysis has been completed.

ラインL6とは、レスポンス60が、サーバ装置300からクライアント装置200へ伝達される情報の流れである。レスポンス60は、リクエスト50に対する、サーバ装置300内のWEBサイトの応答文である。   The line L6 is a flow of information in which the response 60 is transmitted from the server apparatus 300 to the client apparatus 200. The response 60 is a response sentence of the WEB site in the server apparatus 300 with respect to the request 50.

本実施形態のプログラム解析システム1は、制御装置100と、クライアント装置200と、サーバ装置300とを、それぞれ別の処理装置として構成している。しかし、これに限られず、これらを1つの処理装置で実現してもよく、いずれか2つを1つの処理装置で実現してもよい。また、制御装置100が、複数のクライアント装置200、および、複数のサーバ装置300を管理する構成であってもよい。   In the program analysis system 1 of the present embodiment, the control device 100, the client device 200, and the server device 300 are configured as separate processing devices. However, the present invention is not limited to this, and these may be realized by one processing device, or any two of them may be realized by one processing device. Further, the control device 100 may be configured to manage a plurality of client devices 200 and a plurality of server devices 300.

図2は、本実施形態に於ける制御装置を示す概略の構成図である。
制御装置100は、装置本体110と、入出力装置190とを備えている。
装置本体110は、CPU(Central Processing Unit)120と、メモリ130と、インタフェース(IF)140と、外部記憶装置150と、バス160と、検体保存装置170と、WEBサイト保存装置180とを備えている。なお、図面などでインタフェースのことを「IF」と記載している場合がある。
FIG. 2 is a schematic configuration diagram showing the control device in the present embodiment.
The control device 100 includes a device main body 110 and an input / output device 190.
The apparatus main body 110 includes a CPU (Central Processing Unit) 120, a memory 130, an interface (IF) 140, an external storage device 150, a bus 160, a specimen storage device 170, and a WEB site storage device 180. Yes. Note that the interface may be described as “IF” in the drawings.

CPU120は、制御部121および検知部122を具現化している。CPU120は、メモリ130上のソフトウェアプログラムに基づき、各種演算処理を実行するものである。CPU120は、バス160に接続されている。
メモリ130は、制御プログラム131および検知プログラム132を備えている。メモリ130は、CPU120で実行する命令が記述されたプログラムと、当該プログラムが参照するデータとを含む記憶媒体である。メモリ130は、バス160に接続されている。
The CPU 120 embodies a control unit 121 and a detection unit 122. The CPU 120 executes various arithmetic processes based on the software program on the memory 130. The CPU 120 is connected to the bus 160.
The memory 130 includes a control program 131 and a detection program 132. The memory 130 is a storage medium including a program in which an instruction to be executed by the CPU 120 is described and data referred to by the program. The memory 130 is connected to the bus 160.

制御部121は、CPU120が制御プログラム131を実行することによって具現化される。検知部122は、CPU120が検知プログラム132を実行することによって具現化される。制御部121は、検体11の解析状況を管理すると共に、クライアント装置200に、クライアント制御命令10を送信して解析方法を指示する。制御部121は更に、サーバ装置300にサーバ制御命令20を送信し、WEBサイトの構成方法を指示する。   The control unit 121 is realized by the CPU 120 executing the control program 131. The detection unit 122 is realized by the CPU 120 executing the detection program 132. The control unit 121 manages the analysis status of the sample 11 and transmits a client control command 10 to the client apparatus 200 to instruct an analysis method. The control unit 121 further transmits a server control command 20 to the server apparatus 300 to instruct a method for configuring the WEB site.

検知部122は、マルウェア判定に必要な情報として、クライアント装置200からクライアント側実行結果30を受信し、サーバ装置300からサーバ側実行結果40を受信する。検知部122は、クライアント側実行結果30とサーバ側実行結果40とを解析することにより、検体11がマルウェアであるか否かを判定(検知)する。   The detection unit 122 receives the client-side execution result 30 from the client device 200 and receives the server-side execution result 40 from the server device 300 as information necessary for malware determination. The detection unit 122 determines (detects) whether or not the sample 11 is malware by analyzing the client-side execution result 30 and the server-side execution result 40.

インタフェース140は、例えば、LANカードなどの通信機器であり、当該制御装置100が、通信ネットワーク400を介して通信するインタフェースである。インタフェース140は、バス160に接続されている。   The interface 140 is a communication device such as a LAN card, for example, and is an interface through which the control device 100 communicates via the communication network 400. The interface 140 is connected to the bus 160.

外部記憶装置150は、例えば、HDD(Hard Disk Drive)などの記憶媒体であり、解析シナリオDB151と、WEBサイトDB152と、活動記録DB153と、検知ルールDB154と、再解析ルールDB155とを格納するものである。外部記憶装置150は、バス160に接続されている。   The external storage device 150 is a storage medium such as an HDD (Hard Disk Drive), and stores an analysis scenario DB 151, a WEB site DB 152, an activity record DB 153, a detection rule DB 154, and a reanalysis rule DB 155. It is. The external storage device 150 is connected to the bus 160.

バス160は、CPU120と、メモリ130と、インタフェース140と、外部記憶装置150と、検体保存装置170と、WEBサイト保存装置180と、入出力装置190とを通信可能に接続するものである。
検体保存装置170は、例えば、HDDなどの記憶媒体であり、解析対象である検体11を保存するものである。検体保存装置170は、バス160に接続されている。
The bus 160 connects the CPU 120, the memory 130, the interface 140, the external storage device 150, the sample storage device 170, the WEB site storage device 180, and the input / output device 190 in a communicable manner.
The sample storage device 170 is a storage medium such as an HDD, and stores the sample 11 to be analyzed. The sample storage device 170 is connected to the bus 160.

WEBサイト保存装置180は、HDDなどの記憶媒体から構成され、HTML(Hyper Text Markup Language)ファイルやCGI(Common Gateway Interface)ファイルなどで構成されたWEBサイト構成ファイル21を保存する。WEBサイト保存装置180は、バス160に接続されている。なお、WEBサイト保存装置180には、複数のWEBサイト構成ファイル21が保存されていてもよい。   The WEB site storage device 180 is configured by a storage medium such as an HDD, and stores a WEB site configuration file 21 configured by an HTML (Hyper Text Markup Language) file, a CGI (Common Gateway Interface) file, or the like. The WEB site storage device 180 is connected to the bus 160. Note that the WEB site storage device 180 may store a plurality of WEB site configuration files 21.

入出力装置190は、制御装置100に対するデータの入力、および、制御装置100内のデータの出力を行うものである。入出力装置190は、例えば、キーボード、マウス、ディスプレイなどである。入出力装置190は、バス160に接続されている。   The input / output device 190 inputs data to the control device 100 and outputs data in the control device 100. The input / output device 190 is, for example, a keyboard, a mouse, a display, or the like. The input / output device 190 is connected to the bus 160.

図3は、本実施形態に於けるクライアント装置を示す概略の構成図である。
クライアント装置200は、装置本体210と、入出力装置280とを備えている。
装置本体210は、CPU220と、メモリ230と、インタフェース240,241と、外部記憶装置250と、バス260と、イメージ保存装置270とを備えている。
FIG. 3 is a schematic configuration diagram showing the client device according to the present embodiment.
The client device 200 includes a device main body 210 and an input / output device 280.
The apparatus main body 210 includes a CPU 220, a memory 230, interfaces 240 and 241, an external storage device 250, a bus 260, and an image storage device 270.

CPU220は、クライアント制御部221と、ブラウザ操作部222と、ブラウザ監視部223と、ブラウザ部224とを具現化している。CPU220は、メモリ230上のソフトウェアプログラムに基づき、各種演算処理を実行するものである。CPU220は、バス260に接続されている。
メモリ230は、クライアント制御プログラム231、ブラウザ操作プログラム232、ブラウザ監視プログラム233、ブラウザプログラム234を備えている。メモリ230は、CPU220で実行する命令が記述されたプログラムと、当該プログラムが参照するデータとを含む記憶媒体である。メモリ230は、バス260に接続されている。
The CPU 220 embodies a client control unit 221, a browser operation unit 222, a browser monitoring unit 223, and a browser unit 224. The CPU 220 executes various arithmetic processes based on the software program on the memory 230. The CPU 220 is connected to the bus 260.
The memory 230 includes a client control program 231, a browser operation program 232, a browser monitoring program 233, and a browser program 234. The memory 230 is a storage medium including a program in which an instruction to be executed by the CPU 220 is described and data referred to by the program. The memory 230 is connected to the bus 260.

クライアント制御部221は、CPU220がクライアント制御プログラム231を実行することによって具現化される。ブラウザ操作部222は、CPU220がブラウザ操作プログラム232を実行することによって具現化される。ブラウザ監視部223は、CPU220がブラウザ監視プログラム233を実行することによって具現化される。ブラウザ部224は、CPU220がブラウザプログラム234を実行することによって具現化される。   The client control unit 221 is realized by the CPU 220 executing the client control program 231. The browser operation unit 222 is realized by the CPU 220 executing the browser operation program 232. The browser monitoring unit 223 is realized by the CPU 220 executing the browser monitoring program 233. The browser unit 224 is realized by the CPU 220 executing the browser program 234.

クライアント制御部221は、当該クライアント装置200を制御するものである。すなわちクライアント制御部221は、制御装置100から、クライアント制御命令10を受信し、制御装置100から受信した検体11を解析し、解析結果をクライアント側実行結果30として送信する。
ブラウザ操作部222は、制御装置100より受信した動作シナリオ12に基づき、ブラウザ部224を操作するものである。
ブラウザ監視部223は、ブラウザ部224の挙動を監視するものである。
ブラウザ部224は、WEBブラウザとして動作し、ブラウザ操作部222の指示に基づく動作を行うものである。
The client control unit 221 controls the client device 200. That is, the client control unit 221 receives the client control command 10 from the control device 100, analyzes the sample 11 received from the control device 100, and transmits the analysis result as the client-side execution result 30.
The browser operation unit 222 operates the browser unit 224 based on the operation scenario 12 received from the control device 100.
The browser monitoring unit 223 monitors the behavior of the browser unit 224.
The browser unit 224 operates as a WEB browser and performs an operation based on an instruction from the browser operation unit 222.

インタフェース240は、クライアント装置200を通信ネットワーク400と接続する通信装置である。LANカードなどの通信機器がこれに対応する。インタフェース240は、図中においてIFと記述することがある。同様に、インタフェース241は、クライアント装置200を通信ネットワーク500と接続するための通信装置である。インタフェース240,241は、それぞれバス260に接続されている。   The interface 240 is a communication device that connects the client device 200 to the communication network 400. Communication equipment such as a LAN card corresponds to this. The interface 240 may be described as IF in the figure. Similarly, the interface 241 is a communication device for connecting the client device 200 to the communication network 500. The interfaces 240 and 241 are connected to the bus 260, respectively.

外部記憶装置250は、HDDなどの記憶媒体から構成され、ブラウザ監視ルールDB251を記憶する。ブラウザ監視ルールDB251には、ブラウザ監視プログラム233が、ブラウザプログラム234のどのような活動を記録するのかが記述されている。ブラウザ監視ルールDB251の具体的内容については後記する。
バス260は、CPU220、メモリ230、インタフェース240、インタフェース241、外部記憶装置250、イメージ保存装置270、入出力装置280を接続する。
The external storage device 250 is composed of a storage medium such as an HDD, and stores the browser monitoring rule DB 251. The browser monitoring rule DB 251 describes what activities of the browser program 234 are recorded by the browser monitoring program 233. Specific contents of the browser monitoring rule DB 251 will be described later.
The bus 260 connects the CPU 220, the memory 230, the interface 240, the interface 241, the external storage device 250, the image storage device 270, and the input / output device 280.

イメージ保存装置270は、HDDなどの記憶媒体から構成され、実行環境イメージ271を記憶する。イメージ保存装置270は、バス260に接続されている。
実行環境イメージ271は、一般的なオペレーティングシステムの構成情報を含んでいるファイルであり、CPU220上で実行されると、検体11を実行するためのソフトウェア環境を提供する。イメージ保存装置270には、検体11が実行中に作成または変更したファイルやレジストリに関する情報が、一時的に保存される。
The image storage device 270 includes a storage medium such as an HDD, and stores an execution environment image 271. The image storage device 270 is connected to the bus 260.
The execution environment image 271 is a file including general operating system configuration information, and provides a software environment for executing the sample 11 when executed on the CPU 220. The image storage device 270 temporarily stores information about files and registries created or changed during execution of the specimen 11.

入出力装置280は、クライアント装置200に対して、管理者によるデータの入力、およびクライアント装置200内のデータの出力を行うための装置である。入出力装置280は、例えば、キーボード、マウス、ディスプレイなどである。入出力装置280は、バス260に接続されている。   The input / output device 280 is a device for inputting data by the administrator and outputting data in the client device 200 to the client device 200. The input / output device 280 is, for example, a keyboard, a mouse, a display, or the like. The input / output device 280 is connected to the bus 260.

図4は、本実施形態に於けるサーバ装置を示す概略の構成図である。
サーバ装置300は、装置本体310と、入出力装置380から構成される。
装置本体310は、CPU320と、メモリ330と、インタフェース340,341と、外部記憶装置350と、バス360と、WEBサイト保存装置370とを備えている。
FIG. 4 is a schematic configuration diagram showing the server device in the present embodiment.
The server device 300 includes a device main body 310 and an input / output device 380.
The apparatus main body 310 includes a CPU 320, a memory 330, interfaces 340 and 341, an external storage device 350, a bus 360, and a WEB site storage device 370.

CPU320は、サーバ制御部321と、WEBサイト監視部322と、WEBサーバ部323とを具現化している。CPU320は、メモリ330上のソフトウェアプログラムに基づき、各種演算処理を実行するものである。CPU320は、バス360に接続されている。   The CPU 320 embodies a server control unit 321, a WEB site monitoring unit 322, and a WEB server unit 323. The CPU 320 executes various arithmetic processes based on the software program on the memory 330. The CPU 320 is connected to the bus 360.

メモリ330は、サーバ制御プログラム331と、WEBサイト監視プログラム332と、WEBサイトプログラム333とを備えている。メモリ330は、CPU320で実行する命令が記述されたプログラムと、当該プログラムが参照するデータとを含む記憶媒体である。メモリ330は、バス360に接続されている。   The memory 330 includes a server control program 331, a WEB site monitoring program 332, and a WEB site program 333. The memory 330 is a storage medium including a program in which an instruction to be executed by the CPU 320 is described and data referred to by the program. The memory 330 is connected to the bus 360.

サーバ制御プログラム331がCPU320で実行されることによって、制御装置100と通信を行い、検体11の解析を行う。WEBサイト監視プログラム332がCPU320で実行されることで、WEBサイトプログラム333の挙動を監視する。WEBサイトプログラム333は、CPU320上で実行されることにより、WEBサーバとして動作する。
サーバ制御部321は、CPU320がサーバ制御プログラム331を実行することによって具現化される。WEBサイト監視部322は、CPU320がWEBサイト監視プログラム332を実行することによって具現化される。WEBサーバ部323は、CPU320がWEBサイトプログラム333を実行することによって具現化される。
The server control program 331 is executed by the CPU 320, thereby communicating with the control apparatus 100 and analyzing the sample 11. When the WEB site monitoring program 332 is executed by the CPU 320, the behavior of the WEB site program 333 is monitored. The WEB site program 333 is executed on the CPU 320 to operate as a WEB server.
The server control unit 321 is realized by the CPU 320 executing the server control program 331. The WEB site monitoring unit 322 is realized by the CPU 320 executing the WEB site monitoring program 332. The WEB server unit 323 is realized by the CPU 320 executing the WEB site program 333.

サーバ制御部321は、当該サーバ装置300を制御し、制御装置100から、サーバ制御命令20を受信し、検体11の解析が終了したならば、その解析結果をサーバ側実行結果40として送信するものである。
WEBサイト監視部322は、WEBサーバ部323の挙動を監視するものである。
WEBサーバ部323は、WEBサイト構成ファイル21を読み込んでWEBサーバとして動作し、クライアント装置200からのリクエスト50を受信し、レスポンス60を返すものである。
The server control unit 321 controls the server device 300, receives the server control command 20 from the control device 100, and transmits the analysis result as the server-side execution result 40 when the analysis of the sample 11 is completed. It is.
The WEB site monitoring unit 322 monitors the behavior of the WEB server unit 323.
The WEB server unit 323 reads the WEB site configuration file 21, operates as a WEB server, receives the request 50 from the client device 200, and returns a response 60.

インタフェース340は、サーバ装置300を通信ネットワーク400と接続するための通信装置である。LANカードなどの通信機器がこれに対応する。インタフェース340は、図および明細書に於いて、IFと記載している場合がある。同様に、インタフェース341は、サーバ装置300を通信ネットワーク500と接続するための通信装置である。インタフェース340,341は、バス360に接続されている。   The interface 340 is a communication device for connecting the server device 300 to the communication network 400. Communication equipment such as a LAN card corresponds to this. The interface 340 may be described as IF in the drawings and specification. Similarly, the interface 341 is a communication device for connecting the server device 300 to the communication network 500. The interfaces 340 and 341 are connected to the bus 360.

外部記憶装置350は、HDDなどの記憶媒体から構成され、WEBサイト監視ルールDB351を記憶する。WEBサイト監視ルールDB351には、WEBサイト監視プログラム332が、WEBサイトプログラム333のどのような活動を記録するのかが記述されている。WEBサイト監視ルールDB351の具体的内容については後記する。外部記憶装置350は、バス360に接続されている。
バス360は、CPU320と、メモリ330と、インタフェース340,341と、外部記憶装置350と、WEBサイト保存装置370と、入出力装置380とを接続する。
WEBサイト保存装置370は、HDDなどの記憶媒体から構成され、制御装置100より受信したWEBサイト構成ファイル21を保存する。WEBサイト保存装置370は、バス360に接続されている。
The external storage device 350 includes a storage medium such as an HDD, and stores a WEB site monitoring rule DB 351. The WEB site monitoring rule DB 351 describes what activities of the WEB site program 333 are recorded by the WEB site monitoring program 332. Specific contents of the WEB site monitoring rule DB 351 will be described later. The external storage device 350 is connected to the bus 360.
The bus 360 connects the CPU 320, the memory 330, the interfaces 340 and 341, the external storage device 350, the WEB site storage device 370, and the input / output device 380.
The WEB site storage device 370 includes a storage medium such as an HDD, and stores the WEB site configuration file 21 received from the control device 100. The WEB site storage device 370 is connected to the bus 360.

入出力装置380は、サーバ装置300に対して、管理者によるデータの入力、およびサーバ装置300内のデータの出力を行うための装置である。入出力装置380は、例えば、キーボード、マウス、ディスプレイなどである。入出力装置380は、バス360に接続されている。   The input / output device 380 is a device for inputting data by the administrator and outputting data in the server device 300 to the server device 300. The input / output device 380 is, for example, a keyboard, a mouse, a display, or the like. The input / output device 380 is connected to the bus 360.

(処理の説明)
図5以降の図に、本システムに含まれるDBの構成例および各機能部のフローチャートを示す。
図5以降の図に示す各DBは、以下の手順で検体11の解析が行われた後の構成である。
(Description of processing)
FIG. 5 and subsequent figures show a configuration example of a DB included in the system and a flowchart of each functional unit.
Each DB shown in the figures after FIG. 5 has a configuration after the sample 11 is analyzed in the following procedure.

(第1回目の解析:2012年1月1日午前0時0分)
2012年1月1日午前0時0分に、制御装置100が、IDが“検体A”である検体11の解析を開始する。解析ではまず、解析用WEBサイトとしてサイトXを選択する。制御装置100は、第1回目の解析を同日の午前0時1分に完了し、検体Aを非マルウェアと判定する。
(The first analysis: January 1, 2012, 00:00)
At 0:00 am on January 1, 2012, the control apparatus 100 starts analyzing the sample 11 whose ID is “Sample A”. In the analysis, first, the site X is selected as the analysis WEB site. The control device 100 completes the first analysis at 0:00 am on the same day, and determines that the sample A is non-malware.

(第2回目の解析:2012年1月1日午前0時2分)
2012年1月1日午前0時2分に、制御装置100は、第2回目の解析を開始し、解析用WEBサイトとして、サイトYを選択する。制御装置100は、第2回目の解析を同日の午前0時3分に完了し、検体Aを非マルウェアと判定する。
(Second analysis: January 1, 2012 at 0:02 am)
At 0:02 am on January 1, 2012, the control device 100 starts the second analysis and selects the site Y as the analysis WEB site. The control device 100 completes the second analysis at 0:03 am on the same day, and determines that the sample A is non-malware.

(第3回目の解析:2012年1月1日午前0時4分)
制御装置100は、第3回目の解析を開始し、解析用WEBサイトとしてサイトZを選択する。制御装置100は、第3回目の解析を同日午前0時5分に完了し、検体Aをマルウェアと判定する。これにより、全ての解析処理が完了する。
(Third analysis: January 1, 2012, 0:04 am)
The control device 100 starts the third analysis and selects the site Z as the analysis WEB site. The control device 100 completes the third analysis at 0:05 am on the same day, and determines that the sample A is malware. Thereby, all the analysis processes are completed.

(本実施形態の各種テーブル)
図5は、本実施形態に於ける解析シナリオDBを示す図である。
解析シナリオDB151内の各レコードは、ある検体11に関する解析を開始した時刻と、当該解析を終了した時刻と、当該解析方法と、当該解析の状況と、当該解析によって検知した結果とを記憶するものである。解析シナリオDB151は、各レコードの欄として、解析管理ID151aと、検体ID151bと、サイトID151cと、解析開始時刻151dと、解析終了時刻151eと、解析状況151fと、検知結果151gとを備えている。
(Various tables of this embodiment)
FIG. 5 is a diagram showing an analysis scenario DB in the present embodiment.
Each record in the analysis scenario DB 151 stores a time at which an analysis on a certain sample 11 is started, a time at which the analysis is completed, an analysis method, an analysis status, and a result detected by the analysis. It is. The analysis scenario DB 151 includes an analysis management ID 151a, a sample ID 151b, a site ID 151c, an analysis start time 151d, an analysis end time 151e, an analysis status 151f, and a detection result 151g as columns of each record.

解析管理ID151aは、解析シナリオDB151内のレコードを一意に認識するのに用いられる。このため、各解析管理ID151aの値は、解析シナリオDB151内でユニークである。   The analysis management ID 151a is used to uniquely recognize a record in the analysis scenario DB 151. For this reason, the value of each analysis management ID 151a is unique in the analysis scenario DB 151.

検体ID151bは、本システムで解析された各検体11を一意に識別するための番号である。異なるレコードに同一の検体ID151bが設定されている場合、同一の検体11が異なる条件で複数回、解析されたことを意味する。ここでは、同一の検体Aが3回解析されている。   The sample ID 151b is a number for uniquely identifying each sample 11 analyzed by this system. When the same sample ID 151b is set in different records, it means that the same sample 11 is analyzed a plurality of times under different conditions. Here, the same specimen A is analyzed three times.

サイトID151cは、当該解析に用いられたWEBサイトを一意に識別する識別子である。サイトID151cは、後記するWEBサイトDB152内のレコードに紐づいている。
解析開始時刻151dは、各レコードに係る当該解析の開始時刻を示している。
解析終了時刻151eは、各レコードに係る当該解析の終了時刻を示している。
解析状況151fは、検体ID151bで指定した検体11の解析状況を示し、「解析中」または「解析完了」のいずれかの値が格納される。
検知結果151gは、各レコードで行った検体解析の検知結果を示し、「非マルウェア」、「マルウェアの可能性あり」、「マルウェア」のいずれかの値が格納される。
The site ID 151c is an identifier that uniquely identifies the WEB site used for the analysis. The site ID 151c is linked to a record in the WEB site DB 152 described later.
The analysis start time 151d indicates the start time of the analysis related to each record.
The analysis end time 151e indicates the end time of the analysis related to each record.
The analysis status 151f indicates the analysis status of the sample 11 specified by the sample ID 151b, and stores a value of “under analysis” or “analysis completed”.
The detection result 151g indicates the detection result of the sample analysis performed for each record, and stores any value of “non-malware”, “possible malware”, and “malware”.

この図5には、3種類の解析シナリオのレコードの例が示されている。
解析管理ID151aに「1」が格納されているレコードは、第1回目の解析の結果を示すものである。当該レコードの検体ID151bには「検体A」が、サイトID151cには「サイトX」が格納されている。当該レコードの解析開始時刻151dには「2012 01/01 00:00:00」が格納され、解析終了時刻151eには「2012 01/01 00:01:00」が格納されている。当該レコードの解析状況151fには「解析完了」が格納され、検知結果151gには「非マルウェア」が格納されている。
FIG. 5 shows examples of records of three types of analysis scenarios.
The record in which “1” is stored in the analysis management ID 151a indicates the result of the first analysis. “Sample A” is stored in the sample ID 151b of the record, and “Site X” is stored in the site ID 151c. “2012 01/01 00:00:00” is stored in the analysis start time 151d of the record, and “2012 01/01 00:01:00” is stored in the analysis end time 151e. “Analysis completed” is stored in the analysis status 151f of the record, and “non-malware” is stored in the detection result 151g.

解析管理ID151aに「2」が格納されているレコードは、第2回目の解析の結果を示すものである。当該レコードの検体ID151bには「検体A」、サイトID151cには「サイトY」が格納されている。当該レコードの解析開始時刻151dには「2012 01/01 00:02:00」が格納され、解析終了時刻151eには「2012 01/01 00:03:00」が格納されている。当該レコードの解析状況151fには「解析完了」が格納され、検知結果151gには「非マルウェア」が格納されている。   The record in which “2” is stored in the analysis management ID 151a indicates the result of the second analysis. “Sample A” is stored in the sample ID 151b of the record, and “Site Y” is stored in the site ID 151c. “2012 01/01 00:02:00” is stored in the analysis start time 151d of the record, and “2012 01/01 00:03:00” is stored in the analysis end time 151e. “Analysis completed” is stored in the analysis status 151f of the record, and “non-malware” is stored in the detection result 151g.

解析管理ID151aに「3」が格納されているレコードは、第3回目の解析の結果を示すものである。当該レコードの検体ID151bには「検体A」が格納され、サイトID151cには「サイトZ」が格納されている。当該レコードの解析開始時刻151dには「2012 01/01 00:04:00」が格納され、解析終了時刻151eには「2012 01/01 00:05:00」が格納されている。当該レコードの解析状況151fには「解析完了」が格納され、検知結果151gは「マルウェア」が格納されている。   The record in which “3” is stored in the analysis management ID 151a indicates the result of the third analysis. “Sample A” is stored in the sample ID 151b of the record, and “Site Z” is stored in the site ID 151c. “2012 01/01 00:04:00” is stored in the analysis start time 151d of the record, and “2012 01/01 00:05:00” is stored in the analysis end time 151e. “Analysis completed” is stored in the analysis status 151f of the record, and “malware” is stored in the detection result 151g.

これにより、プログラム解析システム1は、IDが「検体A」である検体11が、サイトZに対するマルウェアであることを判断することができる。   Thereby, the program analysis system 1 can determine that the sample 11 having the ID “sample A” is malware for the site Z.

図6は、本実施形態に於けるWEBサイトDBを示す図である。
WEBサイトDB152内の各レコードは、WEBサイトの識別子と、当該WEBサイトに関する攻撃の容易性、当該WEBサイトを構成するWEBサイト構成ファイル21、および、当該WEBサイトにアクセスするブラウザ部224の操作の手順を記憶する。WEBサイトDB152は、各レコードの欄として、サイトID152aと、攻撃容易性152bと、サイト構成ファイル保存先152cと、操作手順152dとを備えている。
解析データベースであるWEBサイトDB152は、クライアント装置200に於けるブラウザ部224を動作させる動作シナリオ12、および、サーバ装置300を構成するサイト構成ファイル保存先152cを組み合わせた情報を格納するものである。
FIG. 6 is a diagram showing the WEB site DB in the present embodiment.
Each record in the WEB site DB 152 includes an identifier of the WEB site, the ease of an attack on the WEB site, the WEB site configuration file 21 that configures the WEB site, and the operation of the browser unit 224 that accesses the WEB site. Memorize the procedure. The WEB site DB 152 includes a site ID 152a, an attack ease 152b, a site configuration file storage destination 152c, and an operation procedure 152d as fields of each record.
The WEB site DB 152 serving as an analysis database stores information obtained by combining the operation scenario 12 for operating the browser unit 224 in the client device 200 and the site configuration file storage destination 152 c constituting the server device 300.

サイトID152aは、WEBサイトDB152内のレコードを一意に認識するのに用いられると共に、当該レコードに係る当該WEBサイトを識別するために用いられる。このため、各サイトID152aの値は、WEBサイトDB152内でユニークである。   The site ID 152a is used to uniquely recognize a record in the WEB site DB 152, and is used to identify the WEB site related to the record. For this reason, the value of each site ID 152a is unique within the WEB site DB 152.

攻撃容易性152bは、マルウェアが、当該レコードに係る当該WEBサイトを攻撃する可能性を示している。攻撃容易性152bには、任意の数値が設定され、数値が高いほど、マルウェアが当該WEBサイトを攻撃する可能性が高いことを示している。
サイト構成ファイル保存先152cは、当該レコードのWEBサイト構成ファイル21の、WEBサイト保存装置180に於ける保存場所を示す。
操作手順152dは、当該WEBサイトにアクセスしたブラウザ部224に対して、ブラウザ操作部222が、どのような操作を行うのかを指定する。
The attack ease 152b indicates the possibility that the malware attacks the WEB site related to the record. An arbitrary numerical value is set in the attack ease 152b, and the higher the numerical value, the higher the possibility that malware will attack the WEB site.
The site configuration file storage destination 152c indicates a storage location in the WEB site storage device 180 of the WEB site configuration file 21 of the record.
The operation procedure 152d designates what operation the browser operation unit 222 performs on the browser unit 224 that has accessed the WEB site.

この図6には、3種類のWEBサイトのレコードの例が示されている。サイトID152a=「サイトX」のレコードには、攻撃容易性152b=100、サイト構成ファイル保存先152c=「C:¥storage¥サイトX」が格納されている。また、操作手順152dには、以下7段階の操作手順が格納されている。
(1)Userフィールドに“alice”,パスワードフィールドに“pass”を入力
(2)“ログイン”ボタンを実行
(3)“振り込みボタン”を実行
(4)振込先フィールドに“bob”を、振込金額フィールドに“¥1000”を入力
(5)“手続きボタン”を実行
(6)“確認ボタン”を実行
(7)“手続き実行ボタン”を実行
FIG. 6 shows an example of records of three types of WEB sites. The record of the site ID 152a = “site X” stores the ease of attack 152b = 100 and the site configuration file storage destination 152c = “C: \ storage \ site X”. The operation procedure 152d stores the following seven operation procedures.
(1) Enter “alice” in the User field and “pass” in the password field. (2) Execute the “Login” button. (3) Execute the “Transfer button”. (4) Transfer “bob” in the transfer destination field. Enter “¥ 1000” in the field (5) Execute “Procedure button” (6) Execute “Confirm button” (7) Execute “Procedure button”

サイトID152a=「サイトY」のレコードには、攻撃容易性152b=80、サイト構成ファイル保存先152c=「C:¥storage¥サイトY」が格納されている。また、操作手順152dには、以下5段階の操作手順が格納されている。
(1)Userフィールドに“alice”,パスワードフィールドに“pass”を入力
(2)“login”ボタンを実行
(3)“Transfer”ボタンを実行
(4)振込先フィールドに“cindy”を、振込金額フィールドに“$100”を入力、
(5)“submit”ボタンを実行
The record of the site ID 152a = “site Y” stores the ease of attack 152b = 80 and the site configuration file storage destination 152c = “C: \ storage \ site Y”. The operation procedure 152d stores the following five operation procedures.
(1) Enter “alice” in the User field and “pass” in the password field. (2) Execute the “login” button. (3) Execute the “Transfer” button. (4) “Cindy” in the transfer destination field. Enter “$ 100” in the field,
(5) Execute “submit” button

サイトID152a=「サイトZ」のレコードには、攻撃容易性152b=30、サイト構成ファイル保存先152c=「C:¥storage¥サイトZ」が格納されている。また、操作手順152dには、以下7段階の操作手順が格納されている。
(1) Userフィールドに“alice”,パスワードフィールドに“pass”を入力
(2)“ログイン”ボタンを実行
(3)“振り込みボタン”を実行
(4)振込先フィールドに“dave”を、振込金額フィールドに“¥1000”を入力
(5)“手続きボタン”を実行
(6)“確認ボタン”を実行
(7)“手続き実行ボタン”を実行
The record of site ID 152a = “site Z” stores ease of attack 152b = 30 and site configuration file storage destination 152c = “C: \ storage \ site Z”. The operation procedure 152d stores the following seven operation procedures.
(1) Enter “alice” in the User field and “pass” in the password field. (2) Execute the “Login” button. (3) Execute the “Transfer button”. (4) “Dave” in the transfer destination field. Enter “¥ 1000” in the field (5) Execute “Procedure button” (6) Execute “Confirm button” (7) Execute “Procedure button”

図7は、本実施形態に於ける活動記録DBを示す図である。
活動記録DB153には、クライアント装置200のブラウザ監視部223およびサーバ装置300のWEBサイト監視部322で記録された活動記録が記録される。検知部122は、活動記録DB153を参照して、検体11がマルウェアであるか否かを判定する。
FIG. 7 is a diagram showing an activity record DB in the present embodiment.
Activity records recorded by the browser monitoring unit 223 of the client device 200 and the WEB site monitoring unit 322 of the server device 300 are recorded in the activity record DB 153. The detection unit 122 refers to the activity record DB 153 to determine whether or not the sample 11 is malware.

この図7には、13種類の活動記録DB153のレコード例が示されている。活動記録ID153a=1〜4のレコードには、解析管理ID153b=1の解析シナリオの実行時に記録された活動記録が格納されている。活動記録ID153a=5〜8のレコードには、解析管理ID153b=2の解析シナリオの実行時に記録された活動記録が格納されている。活動記録ID153a=9〜13のレコードには、解析管理ID153b=3の解析シナリオの実行時に記録された活動記録が格納されている。   FIG. 7 shows record examples of 13 types of activity record DBs 153. The records of activity record IDs 153a = 1 to 4 store the activity records recorded during the execution of the analysis scenario of analysis management ID 153b = 1. In the records of activity record IDs 153a = 5 to 8, the activity records recorded when the analysis scenario of analysis management ID 153b = 2 is executed are stored. The records of activity record IDs 153a = 9 to 13 store the activity records recorded when the analysis scenario of analysis management ID 153b = 3 is executed.

活動記録ID153a=1のレコードには、解析管理ID153b=1、活動記録時刻153c=「2012/01/01 00:00:05」、記録場所153d=「クライアント」、活動種類153e=「CPU使用率上昇率」、活動データ153f=「0.1%」が格納されている。「CPU使用率上昇率」は、ブラウザ部224が使用するCPUの使用率が、一定時間前(例えば、10秒前)に比べて、どの程度上昇したかを示している。
活動記録ID153a=2のレコードには、解析管理ID153b=1、活動記録時刻153c=「2012/01/01 00:00:06」、記録場所153d=「サーバ」、活動種類153e=「クライアント送信内容」、活動データ153f=「user=alice&password=pass」が格納されている。「クライアント送信内容」は、リクエスト50に含まれるデータを示す。
活動記録ID153a=3〜9は、活動記録ID153a=1,2の場合と同様のレコードである。
活動記録ID153a=10のレコードには、解析管理ID153b=3、活動記録時刻153c=「2012/01/01 00:04:05」、記録場所153d=「クライアント」、活動種類153e=「ソケットオープン」、活動データ153f=「dst=192.168.1.1」が格納されている。「ソケットオープン」は、ブラウザ部224が、通信ネットワーク500を介して、「192.168.1.1」のIPアドレスを持つ端末に対して、通信要求を送信したことを示す情報である。活動記録ID153a=11〜13は、活動記録ID153a=1,2の場合と同様のレコードである。
The record of activity record ID 153a = 1 includes analysis management ID 153b = 1, activity record time 153c = “2012/01/01 00:00:05”, record location 153d = “client”, activity type 153e = “CPU usage rate” "Increase rate" and activity data 153f = "0.1%" are stored. The “CPU usage rate increase rate” indicates how much the usage rate of the CPU used by the browser unit 224 has increased compared to a certain time before (for example, 10 seconds before).
In the record of activity record ID 153a = 2, analysis management ID 153b = 1, activity record time 153c = “2012/01/01 00:00:06”, recording location 153d = “server”, activity type 153e = “client transmission content” ”, Activity data 153f =“ user = alice & password = pass ”is stored. “Client transmission content” indicates data included in the request 50.
The activity record IDs 153a = 3 to 9 are the same records as in the case of the activity record IDs 153a = 1 and 2.
The record of the activity record ID 153a = 10 includes the analysis management ID 153b = 3, the activity record time 153c = “2012/01/01 00:04:05”, the recording location 153d = “client”, and the activity type 153e = “socket open”. , Activity data 153f = “dst = 192.168.1.1” is stored. “Socket open” is information indicating that the browser unit 224 has transmitted a communication request to a terminal having an IP address of “192.168.1.1” via the communication network 500. The activity record IDs 153a = 11 to 13 are the same records as in the case of the activity record IDs 153a = 1 and 2.

図8は、本実施形態に於ける検知ルールDBを示す図である。
検知部122は、検知ルールDB154と活動記録DB153を参照して、検体11のマルウェア判定を行う。
検知ルールID154aは、検知ルールDB154内の各レコードを一意に識別するために用いられる。
FIG. 8 is a diagram showing the detection rule DB in the present embodiment.
The detection unit 122 refers to the detection rule DB 154 and the activity record DB 153 to perform malware determination on the sample 11.
The detection rule ID 154a is used to uniquely identify each record in the detection rule DB 154.

検知内容154bは、検知手順を示している。検知部122は、ある解析管理ID153bに紐づけられる活動記録DB153レコードと、検知内容154bを比較し、「マルウェア」、「マルウェアの可能性あり」、「非マルウェア」のいずれかの判定を行う。判定処理では、検知ルールID154aの値が小さいものから順に適用され、検知内容154bに適合する活動記録DB153レコードが存在した場合に、判定処理は終了する。
この図8には、4種類の検知ルールDB154のレコード例が示されている。
The detection content 154b indicates a detection procedure. The detection unit 122 compares the activity record DB 153 record linked to a certain analysis management ID 153b with the detected content 154b, and determines one of “malware”, “possible malware”, and “non-malware”. In the determination process, the detection rule ID 154a is applied in order from the smallest value, and the determination process ends when there is an activity record DB 153 record that matches the detection content 154b.
FIG. 8 shows record examples of four types of detection rule DBs 154.

検知ルールID154a=1のレコードに於いて、検知内容154bには、「『クライアント送信内容』が操作手順152dで想定したものと異なる場合、『マルウェア』と判定する」が格納されている。   In the record of the detection rule ID 154a = 1, the detection content 154b stores “determined as“ malware ”when“ client transmission content ”differs from that assumed in the operation procedure 152d”.

検知ルールID154a=2のレコードに於いて、検知内容154bには、「WEBサイトアクセス時に、『CPU使用率上昇率』が30%上昇した場合、『マルウェアの可能性あり』と判定」が格納されている。   In the record of the detection rule ID 154a = 2, the detection content 154b stores “determined“ possibility of malware ”when the“ CPU usage rate increase rate ”increased by 30% when accessing the WEB site” ing.

検知ルールID154a=3のレコードに於いて、検知内容154bには、「WEBサイトアクセス時に、『ソケットオープン』が発生した場合、『マルウェアの可能性あり』と判定」が格納されている。   In the record of the detection rule ID 154a = 3, the detection content 154b stores “determined“ possibility of malware ”when“ socket open ”occurs when accessing the WEB site”.

検知ルールID154a=4のレコードに於いて、検知内容154bには、「それ以外の場合、『非マルウェア』と判定」が格納されている。すなわち、活動記録DB153レコードの中に、検知ルールID154a=1〜3に当てはまるものが1つもない場合、検体11は、「非マルウェア」と判定される。   In the record of the detection rule ID 154a = 4, “determined as“ non-malware ”otherwise” ”is stored in the detection content 154b. In other words, if none of the activity record DB 153 records match the detection rule ID 154a = 1 to 3, the sample 11 is determined to be “non-malware”.

図9は、本実施形態に於ける再解析ルールDBを示す図である。
制御部121は、検知部122の検知結果と再解析ルールDB155を参照して、検体11の再解析を行うかどうかを判断する。
再解析ルールID155aは、再解析ルールDB155内の各レコードを一意に識別するために用いられる。
FIG. 9 is a diagram showing the reanalysis rule DB in the present embodiment.
The control unit 121 refers to the detection result of the detection unit 122 and the reanalysis rule DB 155 to determine whether to reanalyze the sample 11.
The reanalysis rule ID 155a is used to uniquely identify each record in the reanalysis rule DB 155.

判定内容155bは、判定手順を示している。制御部121は、解析シナリオDB151の検知結果151gと判定内容155bとを参照し、検体11の再解析を行うべきかどうかを判断する。
この図9には、3種類の再解析ルールDB155のレコード例が示されている。
再解析ルールID155a=1のレコードに於いて、判定内容155bには、「検知結果が『マルウェア』の場合、最終的にマルウェアと判定し、解析を完了」が格納されている。
The determination content 155b indicates a determination procedure. The control unit 121 refers to the detection result 151g and the determination content 155b of the analysis scenario DB 151 and determines whether or not the sample 11 should be reanalyzed.
FIG. 9 shows record examples of three types of reanalysis rule DB 155.
In the record of the reanalysis rule ID 155a = 1, the determination content 155b stores “if the detection result is“ malware ”, it is finally determined to be malware and analysis is completed”.

再解析ルールID155a=2のレコードに於いて、判定内容155bには、「『マルウェアの可能性あり』が1回発生した場合、再解析を実行。2回発生した場合は、最終的にマルウェアと判定し、解析を完了」が格納されている。   In the record of the reanalysis rule ID 155a = 2, the determination content 155b includes “If there is a possibility of malware”, the reanalysis is executed. “Determine and complete analysis” is stored.

再解析ルールID155a=3のレコードに於いて、判定内容155bには、「検知結果が『非マルウェア』が3回発生した場合、最終的に非マルウェアと判定し、解析を完了。それ以外の場合、再解析を実行」が格納されている。   In the record of the reanalysis rule ID 155a = 3, the determination content 155b includes “If the detection result“ non-malware ”occurs three times, it is finally determined as non-malware, and the analysis is completed. "Reanalyze" is stored.

図10は、本実施形態に於けるブラウザ監視ルールDBを示す図である。
ブラウザ監視部223は、ブラウザ監視ルールDB251を参照して、ブラウザ部224の監視を行う。
ブラウザ監視ルールID251aは、ブラウザ監視ルールDB251内の各レコードを一意に識別するために用いられる。
監視内容251bは、ブラウザ部224をどのように監視するのかを規定する。
この図10には、2種類のブラウザ監視ルールDB251のレコード例が示されている。
FIG. 10 is a diagram showing the browser monitoring rule DB in the present embodiment.
The browser monitoring unit 223 refers to the browser monitoring rule DB 251 to monitor the browser unit 224.
The browser monitoring rule ID 251a is used to uniquely identify each record in the browser monitoring rule DB 251.
The monitoring content 251b defines how the browser unit 224 is monitored.
FIG. 10 shows record examples of two types of browser monitoring rule DB 251.

ブラウザ監視ルールID251a=1のレコードに於いて、監視内容251bには、「CPU使用率上昇率を定期的に記録する」が格納されている。
ブラウザ監視ルールID251a=2のレコードに於いて、監視内容251bには、「ソケットオープンを記録する」が格納されている。
In the record of the browser monitoring rule ID 251a = 1, the monitoring content 251b stores “record the CPU usage rate increase rate periodically”.
In the record of the browser monitoring rule ID 251a = 2, “monitor socket open” is stored in the monitoring content 251b.

図11は、本実施形態に於けるWEBサイト監視DBを示す図である。
WEBサイト監視部322は、WEBサイト監視ルールDB351を参照して、WEBサーバ部323の監視を行う。
WEBサイト監視ルールID351aは、WEBサイト監視ルールDB351内の各レコードを一意に識別するために用いられる。
監視内容351bは、WEBサーバ部323をどのように監視するのかを規定する。
この図11には、1種類のWEBサイト監視ルールDB351のレコード例が示されている。
WEBサイト監視ルールID351a=1のレコードに於いて、監視内容351bには、「クライアント送信内容を記録する」が格納されている。
FIG. 11 is a diagram showing a WEB site monitoring DB in the present embodiment.
The WEB site monitoring unit 322 refers to the WEB site monitoring rule DB 351 and monitors the WEB server unit 323.
The WEB site monitoring rule ID 351a is used to uniquely identify each record in the WEB site monitoring rule DB 351.
The monitoring content 351b defines how the WEB server unit 323 is monitored.
FIG. 11 shows a record example of one type of WEB site monitoring rule DB 351.
In the record of WEB site monitoring rule ID 351a = 1, “record client transmission content” is stored in the monitoring content 351b.

(本実施形態の動作) (Operation of this embodiment)

図12は、本実施形態に於けるプログラム解析処理のシーケンス図である。
シーケンスQ10に於いて、制御装置100は、クライアント装置200に、クライアント制御命令10を送信する。クライアント制御命令10には、検体11と動作シナリオ12とが含まれている。これにより、クライアント装置200は、動作シナリオ12を実行する。
シーケンスQ11に於いて、制御装置100は、サーバ装置300に、サーバ制御命令20を送信する。
シーケンスQ12に於いて、クライアント装置200は、サーバ装置300に、リクエスト「1」を送信する。
シーケンスQ13に於いて、クライアント装置200は、サーバ装置300から、リクエスト「1」に対するレスポンス「1」を受信する。
シーケンスQ14に於いて、クライアント装置200は、サーバ装置300に、リクエスト「2」を送信する。
シーケンスQ15に於いて、クライアント装置200は、サーバ装置300から、リクエスト「2」に対するレスポンス「2」を受信する。以下同様にして、クライアント装置200とサーバ装置300とは、検体11の解析処理を実行する。
FIG. 12 is a sequence diagram of program analysis processing in the present embodiment.
In sequence Q <b> 10, the control device 100 transmits the client control command 10 to the client device 200. The client control command 10 includes a sample 11 and an operation scenario 12. Thereby, the client apparatus 200 executes the operation scenario 12.
In sequence Q11, control device 100 transmits server control command 20 to server device 300.
In sequence Q12, the client apparatus 200 transmits a request “1” to the server apparatus 300.
In sequence Q13, the client apparatus 200 receives a response “1” to the request “1” from the server apparatus 300.
In sequence Q14, the client apparatus 200 transmits a request “2” to the server apparatus 300.
In sequence Q15, the client apparatus 200 receives the response “2” to the request “2” from the server apparatus 300. Similarly, the client device 200 and the server device 300 execute the analysis process of the sample 11.

クライアント装置200は、動作シナリオ12を全て実行するとシーケンスQ20,Q21の処理を行う。
シーケンスQ20に於いて、クライアント装置200は、サーバ装置300に、操作完了通知70を送信する。
シーケンスQ21に於いて、クライアント装置200は、制御装置100に、クライアント側実行結果30を送信する。
シーケンスQ21に於いて、サーバ装置300は、制御装置100に、サーバ側実行結果40を送信する。これにより、図12に示すプログラム解析シーケンスは終了する。
When all of the operation scenarios 12 are executed, the client device 200 performs processing of sequences Q20 and Q21.
In sequence Q20, the client apparatus 200 transmits an operation completion notification 70 to the server apparatus 300.
In sequence Q <b> 21, the client apparatus 200 transmits the client side execution result 30 to the control apparatus 100.
In sequence Q <b> 21, server apparatus 300 transmits server-side execution result 40 to control apparatus 100. Thereby, the program analysis sequence shown in FIG. 12 is completed.

図13は、本実施形態に於ける制御装置の制御部が実行する制御前処理を示すフローチャートである。
フローチャートは、検体11が投入されてから全ての解析が完了するまでの一連の流れを示している。解析担当者が入出力装置190を介して、解析対象となる検体11を設定することにより、制御装置100は制御前処理を開始する。
FIG. 13 is a flowchart showing pre-control processing executed by the control unit of the control device according to this embodiment.
The flowchart shows a series of flows from the introduction of the specimen 11 to the completion of all analysis. When the person in charge of analysis sets the sample 11 to be analyzed via the input / output device 190, the control device 100 starts pre-control processing.

ステップS10に於いて、制御部121は、検体保存装置170に保存された検体11を選択する。制御部121は、インタフェース140を介して、別の端末から検体11を選択してもよく、入出力装置190を介して検体11を選択してもよい。   In step S <b> 10, the control unit 121 selects the sample 11 stored in the sample storage device 170. The control unit 121 may select the sample 11 from another terminal via the interface 140, or may select the sample 11 via the input / output device 190.

ステップS11に於いて、制御部121は、解析シナリオDB151に新たなレコードを作成する。制御部121は、当該新たなレコードの解析開始時刻151dに、レコード作成時刻を設定する。制御部121は更に、解析状況151fを「解析中」に設定する。制御部121は、当該新たなレコードのサイトID151cに、攻撃容易性152bが最も高く、かつ、未だ当該検体11について解析されていないサイトを設定する。これにより、検体11がマルウェアであったときには、そのことを短時間で判定することができる。   In step S11, the control unit 121 creates a new record in the analysis scenario DB 151. The control unit 121 sets a record creation time as the analysis start time 151d of the new record. The control unit 121 further sets the analysis status 151f to “under analysis”. The control unit 121 sets a site that has the highest attack ease 152b and has not yet been analyzed for the sample 11 as the site ID 151c of the new record. Thereby, when the sample 11 is malware, it can be determined in a short time.

ステップS12に於いて、制御部121は、ステップS11で作成された解析シナリオDB151(図5)のレコードのサイトID151cの情報に基づき、WEBサイトDB152(図6)のサイトID152aを検索して、一致するレコードを選択する。   In step S12, the control unit 121 searches the site ID 152a of the WEB site DB 152 (FIG. 6) based on the information of the site ID 151c of the record of the analysis scenario DB 151 (FIG. 5) created in step S11. Select the record to be used.

ステップS13に於いて、制御部121は、クライアント制御命令10を、クライアント装置200に送信する。クライアント制御命令10に含まれる検体11には、ステップS10で選択した検体11が設定される。クライアント制御命令10に含まれる動作シナリオ12には、WEBサイトDB152(図6)の当該レコードに係る操作手順152dが設定される。   In step S <b> 13, the control unit 121 transmits the client control command 10 to the client device 200. In the sample 11 included in the client control command 10, the sample 11 selected in step S10 is set. In the operation scenario 12 included in the client control command 10, an operation procedure 152d related to the record in the WEB site DB 152 (FIG. 6) is set.

ステップS14に於いて、制御部121は、サーバ制御命令20を、サーバ装置300に送信する。サーバ制御命令20に含まれるWEBサイト構成ファイル21は、WEBサイトDB152の当該レコードに係るサイト構成ファイル保存先152cで示されるものである。
ステップS15に於いて、制御部121は、検知部122に検知部処理(図14)を行わせ、検知結果を導出するまで待機する。
In step S <b> 14, the control unit 121 transmits the server control command 20 to the server device 300. The WEB site configuration file 21 included in the server control command 20 is indicated by the site configuration file storage destination 152c related to the record in the WEB site DB 152.
In step S15, the control unit 121 causes the detection unit 122 to perform detection unit processing (FIG. 14) and waits until a detection result is derived.

ステップS16に於いて、制御部121は、解析シナリオDB151(図5)に新たに作成した当該レコードと、再解析ルールDB155(図9)の全てのレコードとを参照して、検体11の再解析を行う必要があるか否かを判定する。制御部121は、当該条件が成立した場合、すなわち検体11の判定が終了した場合には(Yes)、ステップS11の処理に戻って再解析を行い、当該条件が成立しなかった場合、すなわち検体11の判定が終了しない場合には(No)、ステップS17の処理を行う。
すなわち、制御部121は、検知部122による検体11の検知結果が、陽性、または、一定回数以上陰性となるまで、再解析処理を指示する。
In step S16, the control unit 121 refers to the record newly created in the analysis scenario DB 151 (FIG. 5) and all the records in the re-analysis rule DB 155 (FIG. 9) to re-analyze the specimen 11. It is determined whether or not it is necessary to perform. When the condition is satisfied, that is, when the determination of the sample 11 is completed (Yes), the control unit 121 returns to the process of step S11 to perform reanalysis, and when the condition is not satisfied, that is, the sample. If the determination of 11 does not end (No), the process of step S17 is performed.
That is, the control unit 121 instructs the reanalysis process until the detection result of the sample 11 by the detection unit 122 is positive or negative for a certain number of times.

ステップS17に於いて、制御部121は、解析結果を出力する。制御部121は、解析シナリオDB151のレコードを出力内容とし、入出力装置190を通じて管理者に提示してもよく、通信ネットワーク500を介して、別の装置に送信して出力してもよい。ステップS17の処理が終了すると、図13の処理は終了する。   In step S17, the control unit 121 outputs an analysis result. The control unit 121 may output a record of the analysis scenario DB 151 as an output content and present it to the administrator through the input / output device 190, or may transmit it to another device via the communication network 500 and output it. When the process of step S17 ends, the process of FIG. 13 ends.

次に、図13で行われる処理の具体例を改めて説明する。
ステップS10に於いて、制御部121は、検体Aを選択して、検体保存装置170に保存する。
ステップS11に於いて、制御部121は、解析シナリオDB151(図5)に、新たなレコードを作成し、解析管理ID151a=1を設定する。制御部121は、当該新たなレコードに対して、検体ID151bに選択した検体Aを設定し、解析開始時刻151dに現在の時刻の「2012/01/01 00:00:00」を設定し、解析状況151fに「解析中」を設定する。
ステップS12に於いて、制御部121は、WEBサイトDB152(図6)の最初のレコードを選択し、当該レコードに係るサイトID152aに設定された「サイトX」を、解析シナリオDB151(図5)に作成した当該レコードのサイトID151cに設定する。
Next, a specific example of the process performed in FIG. 13 will be described again.
In step S <b> 10, the control unit 121 selects the sample A and stores it in the sample storage device 170.
In step S11, the control unit 121 creates a new record in the analysis scenario DB 151 (FIG. 5) and sets the analysis management ID 151a = 1. The control unit 121 sets the selected sample A as the sample ID 151b for the new record, sets the current start time “2012/01/01 00:00:00” as the analysis start time 151d, and performs analysis. Set “under analysis” in the situation 151f.
In step S12, the control unit 121 selects the first record in the WEB site DB 152 (FIG. 6), and stores “site X” set in the site ID 152a related to the record in the analysis scenario DB 151 (FIG. 5). It is set to the site ID 151c of the created record.

ステップS13に於いて、制御部121は、クライアント制御命令10に含まれる検体11に検体Aを設定し、クライアント制御命令10に含まれる動作シナリオ12に、WEBサイトDB152(図6)の選択したレコードの(サイトXの)操作手順152dを設定する。制御部121は、当該クライアント制御命令10を、クライアント装置200に送信する。   In step S13, the control unit 121 sets the sample A to the sample 11 included in the client control command 10, and selects the record selected in the WEB site DB 152 (FIG. 6) in the operation scenario 12 included in the client control command 10. The operation procedure 152d (site X) is set. The control unit 121 transmits the client control command 10 to the client device 200.

ステップS14に於いて、制御部121は、サーバ制御命令20に含まれるWEBサイト構成ファイル21に、サイトXのサイト構成ファイル保存先152cが示すファイル群を設定する。制御部121は、当該サーバ制御命令20を、サーバ装置300に送信する。
ステップS15に於いて、制御部121は、検知部122が検知結果を導出するまで待機する。
In step S14, the control unit 121 sets a file group indicated by the site configuration file storage destination 152c of the site X in the WEB site configuration file 21 included in the server control command 20. The control unit 121 transmits the server control command 20 to the server device 300.
In step S15, the control unit 121 stands by until the detection unit 122 derives a detection result.

ステップS16に於いて、制御部121は、解析管理ID151a=1のレコードの検知結果151gに「非マルウェア」が設定されているため、再解析ルールDB155(図9)の再解析ルールID155a=3のレコードを適用し、再解析が必要であり、検体Aの判定が終了していないと判断する。制御部121は、解析管理ID151a=1のレコードの解析終了時刻151eに「2012 01/01 00:01:00」を設定し、解析状況151fに「解析完了」を設定する。更に、制御部121は、検体Aの判定が終了していないため(No)、ステップS11の処理に戻る。   In step S16, since “non-malware” is set in the detection result 151g of the record with the analysis management ID 151a = 1, the control unit 121 sets the re-analysis rule ID 155a = 3 in the re-analysis rule DB 155 (FIG. 9). It is determined that the record is applied, re-analysis is necessary, and the determination of the sample A is not completed. The control unit 121 sets “2012 01/01 00:01:00” as the analysis end time 151e of the record with the analysis management ID 151a = 1, and sets “analysis completed” as the analysis status 151f. Furthermore, since the determination of the sample A has not ended (No), the control unit 121 returns to the process of step S11.

ステップS11に戻って、制御部121は、解析管理ID151a=2の解析シナリオDB151に新たなレコードを作成する。制御部121は、当該新たなレコードに対して、検体ID151bに検体Aを設定し、解析開始時刻151dに「2012/01/01 00:02:00」を設定し、解析状況151fに「解析中」を設定する。
ステップS12に於いて、制御部121は、WEBサイトDB152(図6)の第2番目のレコードを選択し、当該レコードに係るサイトID152aに設定された「サイトY」を、解析シナリオDB151(図5)に作成したレコードのサイトID151cに設定する。
Returning to step S11, the control unit 121 creates a new record in the analysis scenario DB 151 with the analysis management ID 151a = 2. For the new record, the control unit 121 sets the sample A to the sample ID 151b, sets “2012/01/01 00:02:00” to the analysis start time 151d, and sets “analysis in progress” to the analysis status 151f. "Is set.
In step S12, the control unit 121 selects the second record in the WEB site DB 152 (FIG. 6), and sets the “site Y” set in the site ID 152a related to the record as the analysis scenario DB 151 (FIG. 5). ) To the site ID 151c of the created record.

ステップS13に於いて、制御部121は、クライアント制御命令10に含まれる検体11に検体Aを設定し、クライアント制御命令10に含まれる動作シナリオ12にサイトYの操作手順152dを設定する。制御部121は、当該クライアント制御命令10をクライアント装置200に送信する。   In step S13, the control unit 121 sets the sample A to the sample 11 included in the client control command 10, and sets the operation procedure 152d of the site Y to the operation scenario 12 included in the client control command 10. The control unit 121 transmits the client control command 10 to the client device 200.

ステップS14に於いて、制御部121は、サーバ制御命令20に含まれるWEBサイト構成ファイル21に、サイトYのサイト構成ファイル保存先152cが示すファイル群を設定する。制御部121は、当該サーバ制御命令20を、サーバ装置300に送信する。
ステップS15に於いて、制御部121は、検知部122が検知結果を導出するまで待機する。
In step S14, the control unit 121 sets a file group indicated by the site configuration file storage destination 152c of the site Y in the WEB site configuration file 21 included in the server control command 20. The control unit 121 transmits the server control command 20 to the server device 300.
In step S15, the control unit 121 stands by until the detection unit 122 derives a detection result.

ステップS16に於いて、制御部121は、解析管理ID151a=2のレコードの検知結果151gに「非マルウェア」が設定されているため、再解析ルールDB155(図9)の再解析ルールID155a=3のレコードを適用し、再解析が必要であり、検体Aの判定が終了してないと判断する。制御部121は、解析管理ID151a=2のレコードの解析終了時刻151eに「2012 01/01 00:03:00」を設定し、解析状況151fに「解析完了」を設定する。更に、制御部121は、検体Aの判定が終了していないため(No)、ステップS11の処理に戻る。   In step S16, since “non-malware” is set in the detection result 151g of the record with the analysis management ID 151a = 2, the control unit 121 sets the re-analysis rule ID 155a = 3 in the re-analysis rule DB 155 (FIG. 9). It is determined that the record is applied, re-analysis is necessary, and the determination of the sample A is not completed. The control unit 121 sets “2012 01/01 00:03:00” as the analysis end time 151e of the record with the analysis management ID 151a = 2, and sets “analysis completed” as the analysis status 151f. Furthermore, since the determination of the sample A has not ended (No), the control unit 121 returns to the process of step S11.

ステップS11に戻って、制御部121は、解析管理ID151a=3の解析シナリオDB151に新たなレコードを作成する。制御部121は、当該新たなレコードに対して、検体ID151bに検体Aを設定し、解析開始時刻151dに「2012/01/01 00:04:00」を設定し、解析状況151fに「解析中」を設定する。
ステップS12に於いて、制御部121は、WEBサイトDB152(図6)の第2番目のレコードを選択し、当該レコードに係るサイトID152aに設定された「サイトZ」を、解析シナリオDB151(図5)に作成したレコードのサイトID151cに設定する。
Returning to step S11, the control unit 121 creates a new record in the analysis scenario DB 151 with the analysis management ID 151a = 3. For the new record, the control unit 121 sets the sample A to the sample ID 151b, sets “2012/01/01 00:04:00” to the analysis start time 151d, and sets “under analysis” to the analysis status 151f. "Is set.
In step S12, the control unit 121 selects the second record in the WEB site DB 152 (FIG. 6), and sets the “site Z” set in the site ID 152a related to the record as the analysis scenario DB 151 (FIG. 5). ) To the site ID 151c of the created record.

ステップS13に於いて、制御部121は、クライアント制御命令10に含まれる検体11に検体Aを設定し、クライアント制御命令10に含まれる動作シナリオ12にサイトZの操作手順152dを設定する。制御部121は、当該クライアント制御命令10を、クライアント装置200に送信する。   In step S13, the control unit 121 sets the sample A to the sample 11 included in the client control command 10, and sets the operation procedure 152d of the site Z to the operation scenario 12 included in the client control command 10. The control unit 121 transmits the client control command 10 to the client device 200.

ステップS14に於いて、制御部121は、サーバ制御命令20に含まれるWEBサイト構成ファイル21に、サイトZのサイト構成ファイル保存先152cが示すファイル群を設定する。制御部121は、当該サーバ制御命令20を、サーバ装置300に送信する。
ステップS15に於いて、制御部121は、検知部122が検知結果を導出するまで待機する。
In step S <b> 14, the control unit 121 sets a file group indicated by the site configuration file storage destination 152 c of the site Z in the WEB site configuration file 21 included in the server control command 20. The control unit 121 transmits the server control command 20 to the server device 300.
In step S15, the control unit 121 stands by until the detection unit 122 derives a detection result.

ステップS16に於いて、制御部121は、解析管理ID151a=3のレコードの検知結果151gに「マルウェア」が設定されているため、再解析ルールDB155(図9)の再解析ルールID155a=1のレコードを適用し、再解析は不要と判断し、検体Aの判定が終了したと判断する。制御部121は、解析管理ID151a=3のレコードの解析終了時刻151eに「2012 01/01 00:05:00」を設定し、解析状況151fに「解析完了」を設定する。更に、制御部121は、検体Aの判定が終了したと判断し(Yes)、ステップS17の処理を行う。
ステップS17に於いて、制御部121は、「検体Aがマルウェアである」旨を管理者に通知し、図13に示す処理を完了する。
In step S16, since “malware” is set in the detection result 151g of the record with the analysis management ID 151a = 3, the control unit 121 records with the reanalysis rule ID 155a = 1 in the reanalysis rule DB 155 (FIG. 9). Is applied, it is determined that reanalysis is unnecessary, and it is determined that the determination of the sample A is completed. The control unit 121 sets “2012 01/01 00:05:00” as the analysis end time 151e of the record with the analysis management ID 151a = 3, and sets “analysis completed” as the analysis status 151f. Further, the control unit 121 determines that the determination of the sample A has been completed (Yes), and performs the process of step S17.
In step S17, the control unit 121 notifies the administrator that “sample A is malware” and completes the process shown in FIG.

図14は、本実施形態に於ける検知部処理(図13のステップS15)を示すフローチャートである。
第1回目の解析に於いて、制御装置100の制御部121がステップS15(図13)の処理を行うと、制御装置100の検知部122は、検知部処理を行う。
ステップS20に於いて、検知部122は、クライアント装置200からクライアント側実行結果30を受信し、活動記録DB153(図7)に新たなレコードを作成して保存する。
ステップS21に於いて、検知部122は、サーバ装置300から、サーバ側実行結果40を受信して、活動記録DB153(図7)に新たなレコードを作成して保存する。
FIG. 14 is a flowchart showing the detection unit processing (step S15 in FIG. 13) in the present embodiment.
In the first analysis, when the control unit 121 of the control device 100 performs the process of step S15 (FIG. 13), the detection unit 122 of the control device 100 performs a detection unit process.
In step S20, the detection unit 122 receives the client side execution result 30 from the client device 200, and creates and stores a new record in the activity record DB 153 (FIG. 7).
In step S21, the detection unit 122 receives the server-side execution result 40 from the server device 300, and creates and saves a new record in the activity record DB 153 (FIG. 7).

ステップS22に於いて、検知部122は、活動記録DB153(図7)のレコードと検知ルールDB154(図8)のレコードとを参照して、検体11がマルウェアであるか否かを判定する。
ステップS23に於いて、検知部122は、その判定結果を、解析シナリオDB151(図5)に新たに作成したレコードの検知結果151gに記録(更新)する。
In step S22, the detection unit 122 refers to the record in the activity record DB 153 (FIG. 7) and the record in the detection rule DB 154 (FIG. 8) to determine whether or not the sample 11 is malware.
In step S23, the detection unit 122 records (updates) the determination result in the detection result 151g of the record newly created in the analysis scenario DB 151 (FIG. 5).

次に、図14で行われる処理の具体例を改めて説明する。
ステップS20に於いて、検知部122は、クライアント側実行結果30を受信して、活動記録DB153(図7)の活動記録ID153a=1,3のレコードとして保存する。
ステップS21に於いて、検知部122は、サーバ側実行結果40を受信して、活動記録DB153(図7)の活動記録ID153a=2,4のレコードとして保存する。
Next, a specific example of the process performed in FIG. 14 will be described again.
In step S20, the detection unit 122 receives the client-side execution result 30 and stores it as a record of activity record IDs 153a = 1, 3 in the activity record DB 153 (FIG. 7).
In step S21, the detection unit 122 receives the server-side execution result 40 and stores it as a record of activity record ID 153a = 2, 4 in the activity record DB 153 (FIG. 7).

ステップS22に於いて、検知部122は、活動記録DB153(図7)の活動記録ID153a=1〜4のレコードに、検知ルールDB154(図8)の検知ルールID154a=1〜3のレコードに該当するものが有るか否かを判断し、検体11がマルウェアであるか否かを判定する。
ステップS23において、検知部122は、解析シナリオDB151(図5)の解析管理ID151a=1のレコードの検知結果151gに「非マルウェア」を設定(更新)して、図14の処理を終了する。
In step S22, the detection unit 122 corresponds to the records of the activity record ID 153a = 1 to 4 in the activity record DB 153 (FIG. 7) and the records of the detection rule ID 154a = 1 to 3 in the detection rule DB 154 (FIG. 8). It is determined whether or not there is something, and it is determined whether or not the sample 11 is malware.
In step S23, the detection unit 122 sets (updates) “non-malware” in the detection result 151g of the record with the analysis management ID 151a = 1 in the analysis scenario DB 151 (FIG. 5), and ends the process of FIG.

第2回目の解析に於いて、制御装置100の制御部121がステップS15(図13)の処理を行うと、制御装置100の検知部122は、検知部処理を行う。
ステップS20に於いて、検知部122は、クライアント側実行結果30を受信して、活動記録DB153(図7)の活動記録ID153a=5,7のレコードとして保存する。
ステップS21に於いて、検知部122は、サーバ側実行結果40を受信して、活動記録DB153(図7)の活動記録ID153a=6,8のレコードとして保存する。
In the second analysis, when the control unit 121 of the control device 100 performs the process of step S15 (FIG. 13), the detection unit 122 of the control device 100 performs a detection unit process.
In step S20, the detection unit 122 receives the client-side execution result 30 and stores it as a record of activity record IDs 153a = 5 and 7 in the activity record DB 153 (FIG. 7).
In step S21, the detection unit 122 receives the server-side execution result 40 and stores it as a record of activity record IDs 153a = 6, 8 in the activity record DB 153 (FIG. 7).

ステップS22に於いて、検知部122は、活動記録DB153(図7)の活動記録ID153a=5〜8のレコード中に、検知ルールDB154(図8)の検知ルールID154a=1〜3のレコードに該当するものが有るか否かを判断し、検体11がマルウェアであるか否かを判定する。
ステップS23に於いて、検知部122は、解析シナリオDB151(図5)の解析管理ID151a=2のレコードの検知結果151gに「非マルウェア」を設定して、図14の処理を終了する。
In step S22, the detection unit 122 corresponds to the record of the detection rule ID 154a = 1 to 3 in the detection rule DB 154 (FIG. 8) in the record of the activity record ID 153a = 5 to 8 in the activity record DB 153 (FIG. 7). It is determined whether or not there is something to do, and it is determined whether or not the sample 11 is malware.
In step S23, the detection unit 122 sets “non-malware” to the detection result 151g of the record of the analysis management ID 151a = 2 in the analysis scenario DB 151 (FIG. 5), and ends the process of FIG.

第3回目の解析に於いて、制御装置100の制御部121がステップS15(図13)の処理を行うと、制御装置100の検知部122は、検知部処理を行う。
ステップS20に於いて、検知部122は、クライアント側実行結果30を受信して、活動記録DB153(図7)の活動記録ID153a=9,10,12のレコードとして保存する。
ステップS21に於いて、検知部122は、サーバ側実行結果40を受信して、活動記録DB153(図7)の活動記録ID153a=11,13のレコードとして保存する。
In the third analysis, when the control unit 121 of the control device 100 performs the process of step S15 (FIG. 13), the detection unit 122 of the control device 100 performs a detection unit process.
In step S20, the detection unit 122 receives the client-side execution result 30 and stores it as a record of activity record ID 153a = 9, 10, 12 in the activity record DB 153 (FIG. 7).
In step S21, the detection unit 122 receives the server-side execution result 40 and stores it as records of activity record IDs 153a = 11, 13 in the activity record DB 153 (FIG. 7).

ステップS22に於いて、検知部122は、活動記録DB153(図7)の活動記録ID153a=9〜13のレコード中に、検知ルールDB154(図8)の検知ルールID154a=1〜3のレコードに該当するものがあるか否かを検索する。すると、活動記録ID153a=13のレコードの活動データ153fに「target=evil&money=\1000000」とあり、これは、evilというユーザに\1000000を振り込む通信を示している。しかし、解析管理ID153b=3の解析シナリオDB151レコードで指定したサイトID152a=サイトZの操作手順(4)には「ユーザdaveに\1000を振り込む」旨が記録されており、振込先と振込金額とが異なっている。このため、検知部122は、検知ルールID154a=1のレコードの検知内容154bを適用し、当該検体Aを「マルウェア」と判断する。
ステップS23において、検知部122は、解析管理ID151a=3の解析シナリオDB151レコードの検知結果151gに「マルウェア」を設定し、図14の処理を終了する。
In step S22, the detection unit 122 corresponds to the record of the detection rule ID 154a = 1 to 3 in the detection rule DB 154 (FIG. 8) in the record of the activity record ID 153a = 9 to 13 in the activity record DB 153 (FIG. 7). Search whether there is something to do. Then, there is “target = evil & money = ¥ 1000000” in the activity data 153f of the record with the activity record ID 153a = 13, which indicates communication for transferring ¥ 1000000 to the user named evil. However, in the operation procedure (4) of the site ID 152a = site Z designated by the analysis scenario DB 151 record of the analysis management ID 153b = 3, “transfer 1000 yen to user dave” is recorded, and the transfer destination, transfer amount, Is different. Therefore, the detection unit 122 applies the detection content 154b of the record with the detection rule ID 154a = 1, and determines that the sample A is “malware”.
In step S23, the detection unit 122 sets “malware” in the detection result 151g of the analysis scenario DB 151 record with the analysis management ID 151a = 3, and ends the process of FIG.

なお、検知ルールDB154(図8)検知ルールID154a=2のレコードは、活動記録ID153a=12の活動記録DB153レコードに適合する。検知ルールDB154(図8)の検知ルールID154a=3のレコードは、活動記録DB153(図8)の活動記録ID153a=10のレコードに適合する。しかし、優先度が高い検知ルールID154a=1のレコードが適用されるため、判定結果は「マルウェア」となる。   The record of the detection rule DB 154 (FIG. 8) detection rule ID 154a = 2 matches the activity record DB 153 record of the activity record ID 153a = 12. The record with the detection rule ID 154a = 3 in the detection rule DB 154 (FIG. 8) matches the record with the activity record ID 153a = 10 in the activity record DB 153 (FIG. 8). However, since the record with the detection rule ID 154a = 1 having a high priority is applied, the determination result is “malware”.

図15は、本実施形態に於けるクライアント制御部処理を示すフローチャートである。
ステップS30に於いて、クライアント制御部221は、制御装置100からクライアント制御命令10を受信する。
ステップS31に於いて、クライアント制御部221は、ブラウザ監視部223を起動し、ブラウザ監視部処理(図17)を行わせる。
FIG. 15 is a flowchart showing client control unit processing in the present embodiment.
In step S <b> 30, the client control unit 221 receives the client control command 10 from the control device 100.
In step S31, the client control unit 221 activates the browser monitoring unit 223 to perform browser monitoring unit processing (FIG. 17).

ステップS32に於いて、クライアント制御部221は、ブラウザ操作部222を起動する。クライアント制御部221は更に、クライアント制御命令10に含まれる検体11および動作シナリオ12をブラウザ操作部222に渡す。
ステップS33に於いて、クライアント制御部221は、ブラウザ操作部222の処理が終了するまで待機する。
ステップS34に於いて、クライアント制御部221は、サーバ装置300に操作完了通知70を送信する。
ステップS35に於いて、クライアント制御部221は、ブラウザ監視部223の処理が終了するまで待機する。
ステップS36に於いて、クライアント制御部221は、ブラウザ監視部223からクライアント側実行結果30を取得する。
ステップS37に於いて、クライアント制御部221は、当該クライアント側実行結果30を、制御装置100に送信する。
ステップS38に於いて、クライアント制御部221は、実行環境イメージ271を使用して、クライアント装置200内の各プログラムを、検体11の実行前の状態に復旧する。クライアント制御部221は、ステップS38の処理が終了すると、図15の処理を終了する。
In step S <b> 32, the client control unit 221 activates the browser operation unit 222. The client control unit 221 further passes the sample 11 and the operation scenario 12 included in the client control command 10 to the browser operation unit 222.
In step S33, the client control unit 221 stands by until the processing of the browser operation unit 222 is completed.
In step S <b> 34, the client control unit 221 transmits an operation completion notification 70 to the server device 300.
In step S35, the client control unit 221 stands by until the processing of the browser monitoring unit 223 is completed.
In step S 36, the client control unit 221 acquires the client side execution result 30 from the browser monitoring unit 223.
In step S <b> 37, the client control unit 221 transmits the client side execution result 30 to the control device 100.
In step S <b> 38, the client control unit 221 uses the execution environment image 271 to restore each program in the client device 200 to a state before the sample 11 is executed. When the process of step S38 ends, the client control unit 221 ends the process of FIG.

図16は、本実施形態に於けるブラウザ操作部処理を示すフローチャートである。
クライアント制御部221が、クライアント制御部処理(図15)のステップS32の処理を実行すると、図16のブラウザ操作部処理が起動する。
ステップS40に於いて、ブラウザ操作部222は、検体11を実行する。
ステップS41に於いて、ブラウザ操作部222は、ブラウザ部224を起動する。
ステップS42〜S44に於いて、ブラウザ操作部222は、全ての動作シナリオ12の操作手順について処理を繰り返す。
ステップS43に於いて、ブラウザ操作部222は、動作シナリオ12の当該操作手順に従い、ブラウザ部224を操作する。
ステップS44に於いて、ブラウザ操作部222は、全ての動作シナリオ12の操作手順が完了したか否かを判断する。ブラウザ操作部222は、当該判断条件が成立していない場合には、ステップS42の処理に戻り、当該判断条件が成立している場合には、図16の処理を終了する。
FIG. 16 is a flowchart showing browser operation unit processing in the present embodiment.
When the client control unit 221 executes the process of step S32 of the client control unit process (FIG. 15), the browser operation unit process of FIG. 16 is activated.
In step S40, the browser operation unit 222 executes the sample 11.
In step S41, the browser operation unit 222 activates the browser unit 224.
In steps S42 to S44, the browser operation unit 222 repeats the process for the operation procedures of all the operation scenarios 12.
In step S43, the browser operation unit 222 operates the browser unit 224 in accordance with the operation procedure of the operation scenario 12.
In step S44, the browser operation unit 222 determines whether or not the operation procedure for all operation scenarios 12 has been completed. If the determination condition is not satisfied, the browser operation unit 222 returns to the process of step S42, and if the determination condition is satisfied, the browser operation unit 222 ends the process of FIG.

図17は、本実施形態に於けるブラウザ監視部処理を示すフローチャートである。
クライアント制御部221が、クライアント制御部処理(図15)のステップS31の処理を実行すると、図17のブラウザ監視部処理が起動する。
ステップS50に於いて、ブラウザ監視部223は、ブラウザ監視ルールDB251を読み取り、監視処理を実行する。
ステップS51に於いて、ブラウザ監視部223は、ブラウザ操作部222の終了を検知したか否かを判断する。ブラウザ監視部223は、当該判断条件が成立しなかったならば(No)、ステップS50の処理に戻り、当該判断条件が成立したならば(Yes)、ステップS52の処理を行う。
ステップS52に於いて、ブラウザ監視部223は、これまでに記録された活動記録をクライアント制御部221に送信し、図17の処理を終了する。
FIG. 17 is a flowchart showing browser monitoring processing in the present embodiment.
When the client control unit 221 executes the process of step S31 of the client control unit process (FIG. 15), the browser monitoring unit process of FIG. 17 is activated.
In step S50, the browser monitoring unit 223 reads the browser monitoring rule DB 251 and executes monitoring processing.
In step S51, the browser monitoring unit 223 determines whether the end of the browser operation unit 222 is detected. If the determination condition is not satisfied (No), the browser monitoring unit 223 returns to the process of step S50, and if the determination condition is satisfied (Yes), the browser monitoring unit 223 performs the process of step S52.
In step S52, the browser monitoring unit 223 transmits the activity record recorded so far to the client control unit 221 and ends the process of FIG.

図18は、本実施形態に於けるサーバ制御部処理を示すフローチャートである。
サーバ装置300が起動し、サーバ制御部321が受信待ち状態になると、図18の処理が開始する。
ステップS60に於いて、サーバ制御部321は、サーバ制御命令20を制御装置100より受信する。サーバ制御部321は、サーバ制御命令20に含まれるWEBサイト構成ファイル21を、WEBサイト保存装置370に保存する。
ステップS61に於いて、サーバ制御部321は、WEBサイト監視部322を起動する。
ステップS62に於いて、サーバ制御部321は、WEBサーバ部323を起動する。WEBサーバ部323は、WEBサイト構成ファイル21を読み取り、WEBサイトを立ち上げる。
ステップS63に於いて、サーバ制御部321は、クライアント装置200から操作完了通知70を受信するまで待機する。
FIG. 18 is a flowchart showing server control unit processing in the present embodiment.
When the server apparatus 300 is activated and the server control unit 321 is in a reception waiting state, the processing in FIG. 18 starts.
In step S <b> 60, the server control unit 321 receives the server control command 20 from the control device 100. The server control unit 321 stores the WEB site configuration file 21 included in the server control command 20 in the WEB site storage device 370.
In step S61, the server control unit 321 activates the WEB site monitoring unit 322.
In step S62, the server control unit 321 activates the WEB server unit 323. The WEB server unit 323 reads the WEB site configuration file 21 and starts up the WEB site.
In step S <b> 63, the server control unit 321 waits until an operation completion notification 70 is received from the client device 200.

ステップS64に於いて、サーバ制御部321は、WEBサイト監視部322に終了信号を通知して停止させる。
ステップS65に於いて、サーバ制御部321は、WEBサイト監視部322から活動記録であるサーバ側実行結果40を取得する。
ステップS66に於いて、サーバ制御部321は、サーバ側実行結果40を制御装置100に送信し、図18の処理を終了する。
In step S64, the server control unit 321 notifies the WEB site monitoring unit 322 of an end signal and stops it.
In step S <b> 65, the server control unit 321 acquires the server-side execution result 40 that is an activity record from the WEB site monitoring unit 322.
In step S66, the server control unit 321 transmits the server-side execution result 40 to the control device 100, and ends the process of FIG.

図19は、本実施形態に於けるWEBサイト監視部処理を示すフローチャートである。
サーバ制御部321が、サーバ制御部処理(図18)のステップS61の処理を実行すると、当該WEBサイト監視部処理が起動する。
ステップS70に於いて、WEBサイト監視部322は、WEBサイト監視ルールDB351を読み取り、監視処理を実行する。
ステップS71に於いて、WEBサイト監視部322は、サーバ制御部321から終了信号を検知したか否かを判断する。ブラウザ監視部223は、当該判断条件が成立しなかったならば(No)、ステップS70の処理に戻り、当該判断条件が成立したならば(Yes)、ステップS72の処理を行う。

ステップS72に於いて、WEBサイト監視部322は、これまでに記録された活動記録をサーバ制御部321に通知し、図19の処理を終了する。
FIG. 19 is a flowchart showing a WEB site monitoring unit process in the present embodiment.
When the server control unit 321 executes the process of step S61 of the server control unit process (FIG. 18), the WEB site monitoring unit process is activated.
In step S70, the WEB site monitoring unit 322 reads the WEB site monitoring rule DB 351 and executes monitoring processing.
In step S71, the WEB site monitoring unit 322 determines whether an end signal is detected from the server control unit 321. If the determination condition is not satisfied (No), the browser monitoring unit 223 returns to the process of step S70, and if the determination condition is satisfied (Yes), the browser monitoring unit 223 performs the process of step S72.

In step S72, the WEB site monitoring unit 322 notifies the server control unit 321 of the activity records recorded so far, and ends the process of FIG.

(本実施形態の効果)
以上説明した本実施形態では、次の(A)〜(D)のような効果がある。
(Effect of this embodiment)
The present embodiment described above has the following effects (A) to (D).

(A) 計算機が特定の処理を行った場合にのみ活動を行うプログラムに対し、効率的な解析が可能となる。 (A) An efficient analysis is possible for a program that is active only when a computer performs a specific process.

(B) 実際に運用されているシステムのサーバ装置に対する検体11の挙動ではなく、このプログラム解析システム1内で評価用として稼働しているサーバ装置300に、実際に運用されているシステムと同一のWEBサイト構成ファイル21を送信している。これにより、実際に運用されているシステムに対する検体11の挙動と同一の挙動を取得できると共に、実際に運用されているシステムに対する悪影響を抑止することができる。 (B) The behavior of the specimen 11 relative to the server device of the system actually operated is not the same as the system actually operated on the server device 300 operating for evaluation in the program analysis system 1. The WEB site configuration file 21 is transmitted. As a result, the same behavior as the behavior of the specimen 11 with respect to the actually operated system can be acquired, and adverse effects on the actually operated system can be suppressed.

(C) プログラム解析システム1に於いて、制御装置100は、クライアント側実行結果30と、サーバ側実行結果40とを総合的に解析して、マルウェアであるか否かを判断している。これにより、クライアント側実行結果30のみを解析するよりも、的確にマルウェアであることを判断することができる。 (C) In the program analysis system 1, the control device 100 comprehensively analyzes the client-side execution result 30 and the server-side execution result 40 to determine whether or not it is malware. This makes it possible to accurately determine that the malware is more than analyzing only the client-side execution result 30.

(D) プログラム解析システム1に於いて、制御装置100は、再解析ルールDB155に基づいて、繰り返し検体11のプログラムを解析している。これにより、マルウェアであるか否かの判断の確実性を向上することができる。 (D) In the program analysis system 1, the control device 100 repeatedly analyzes the program of the specimen 11 based on the reanalysis rule DB 155. Thereby, the certainty of judgment whether it is malware can be improved.

(変形例)
本発明は、上記実施形態に限定されることなく、本発明の趣旨を逸脱しない範囲で、変更実施が可能である。この利用形態や変形例としては、例えば、次の(a)〜(c)のようなものがある。
(Modification)
The present invention is not limited to the above embodiment, and can be modified without departing from the spirit of the present invention. For example, the following forms (a) to (c) are available as usage forms and modifications.

(a) 本実施形態の制御装置100は、WEBサイトを1つずつサーバ装置300に構築し、検体11を実行して解析を行っている。しかし、これに限られず、制御装置100は、複数のWEBサイトを同時に構築し、クライアント装置200から連続してアクセスしてもよい。これにより、複数のWEBサイトを同時にテストでき、解析時間を短縮することができる。 (A) The control device 100 according to the present embodiment constructs WEB sites one by one in the server device 300 and executes the sample 11 for analysis. However, the present invention is not limited to this, and the control apparatus 100 may simultaneously construct a plurality of WEB sites and continuously access from the client apparatus 200. Thereby, a plurality of WEB sites can be tested simultaneously, and the analysis time can be shortened.

(b) ラインL1〜L6は、何れも物理的な情報の伝達手段として通信ネットワーク400を媒介している。しかし、これに限られず、ラインL1〜L6は、外部記憶装置などを経由して、物理的な情報の伝達が行われるものであってもよい。 (B) Each of the lines L1 to L6 mediates the communication network 400 as a means for transmitting physical information. However, the present invention is not limited to this, and the lines L1 to L6 may be those in which physical information is transmitted via an external storage device or the like.

(c) プログラム解析システム1に於いて、制御装置100は、所定の優先度情報に基づいて、検体11の解析環境の順序を決定してもよい。これにより、解析環境の重要度に応じて、マルウェアであるか否かを判定することができる。 (C) In the program analysis system 1, the control device 100 may determine the order of the analysis environment of the specimen 11 based on predetermined priority information. Thereby, it can be determined whether it is malware according to the importance of an analysis environment.

(d) 検体保存装置170に保存されている検体11から任意のものが自動的に選択され、制御部121が制御前処理を開始してもよい。 (D) Any one of the samples 11 stored in the sample storage device 170 may be automatically selected, and the control unit 121 may start the pre-control processing.

1 プログラム解析システム
10 クライアント制御命令
11 検体 (検体プログラム)
12 動作シナリオ
20 サーバ制御命令
21 WEBサイト構成ファイル
30 クライアント側実行結果
40 サーバ側実行結果
50 リクエスト
60 レスポンス
70 操作完了通知
100 制御装置
110 装置本体
120 CPU
121 制御部
122 検知部
130 メモリ
131 制御プログラム
132 検知プログラム
140 インタフェース
150 外部記憶装置 (記憶部)
151 解析シナリオDB
152 WEBサイトDB
153 活動記録DB
154 検知ルールDB
155 再解析ルールDB
160 バス
170 検体保存装置
180 WEBサイト保存装置
190 入出力装置
200 クライアント装置
210 装置本体
220 CPU
220 処理部
221 クライアント制御部
222 ブラウザ操作部
223 ブラウザ監視部
224 ブラウザ部 (ブラウザ)
250 外部記憶装置
251 ブラウザ監視ルールDB
270 イメージ保存装置
271 実行環境イメージ
300 サーバ装置
320 CPU
321 サーバ制御部
322 WEBサイト監視部
323 WEBサーバ部
350 外部記憶装置
351 WEBサイト監視ルールDB
370 WEBサイト保存装置
400 通信ネットワーク
500 通信ネットワーク
1 Program analysis system 10 Client control instruction 11 Sample (Sample program)
12 operation scenario 20 server control instruction 21 WEB site configuration file 30 client side execution result 40 server side execution result 50 request 60 response 70 operation completion notification 100 control device 110 device main body 120 CPU
121 Control Unit 122 Detection Unit 130 Memory 131 Control Program 132 Detection Program 140 Interface 150 External Storage Device (Storage Unit)
151 Analysis scenario DB
152 WEB site DB
153 Activity record DB
154 Detection rule DB
155 Reanalysis rule DB
160 Bus 170 Specimen Storage Device 180 WEB Site Storage Device 190 Input / Output Device 200 Client Device 210 Device Body 220 CPU
220 processing unit 221 client control unit 222 browser operation unit 223 browser monitoring unit 224 browser unit (browser)
250 External storage device 251 Browser monitoring rule DB
270 Image storage device 271 Execution environment image 300 Server device 320 CPU
321 Server control unit 322 WEB site monitoring unit 323 WEB server unit 350 External storage device 351 WEB site monitoring rule DB
370 WEB site storage device 400 communication network 500 communication network

Claims (11)

検体プログラムを動作させて、その挙動を解析する制御装置と、
前記制御装置の指令に基づいてブラウザの動作シナリオを実行し、前記検体プログラムの挙動を記録するクライアント装置と、
前記制御装置の指令に基づき前記クライアント装置と通信を行って挙動を記録するサーバ装置と、
を備え
前記制御装置は、
前記クライアント装置の前記ブラウザの前記動作シナリオ、および、前記サーバ装置のサーバ構成情報を組み合わせた情報を格納する解析データベースを備えた記憶部と、
前記クライアント装置および前記サーバ装置に命令を送信して解析処理を行う制御部と、
前記クライアント装置および前記サーバ装置から受信した記録を基に、前記検体プログラムの属性を解析する検知部と、
を備えることを特徴とするプログラム解析システム。
A control device that operates the sample program and analyzes its behavior;
A client device that executes a browser operation scenario based on a command from the control device and records the behavior of the sample program;
A server device that records behavior by communicating with the client device based on a command of the control device;
Equipped with a,
The control device includes:
A storage unit comprising an analysis database for storing information obtained by combining the operation scenario of the browser of the client device and server configuration information of the server device;
A control unit that transmits an instruction to the client device and the server device to perform analysis processing;
Based on the records received from the client device and the server device, a detection unit for analyzing the attribute of the sample program,
A program analysis system comprising:
前記制御部は、
前記動作シナリオを前記クライアント装置に対して送信し、前記動作シナリオと組み合わせて格納された前記サーバ構成情報を前記サーバ装置に対して送信する、
ことを特徴とする請求項に記載のプログラム解析システム。
The controller is
Transmitting the operation scenario to the client device and transmitting the server configuration information stored in combination with the operation scenario to the server device;
The program analysis system according to claim 1 .
前記クライアント装置は、
前記制御装置との通信を行うクライアント制御部と、
前記制御装置から指定された前記動作シナリオに従って前記ブラウザを操作するブラウザ操作部と、
当該クライアント装置を監視して特定の事象をクライアント実行結果として記録するブラウザ監視部と、を備える、
ことを特徴とする請求項に記載のプログラム解析システム。
The client device is
A client control unit for communicating with the control device;
A browser operation unit for operating the browser according to the operation scenario specified by the control device;
A browser monitoring unit that monitors the client device and records a specific event as a client execution result,
The program analysis system according to claim 2 .
前記サーバ装置は、
前記制御装置の前記制御部から送信された前記サーバ構成情報に基づき、当該サーバ装置のサーバ機能を構築するサーバ制御部と、
前記クライアント装置のリクエストを監視して、所定事象をサーバ実行結果として記録するWEBサイト監視部と、を備える、
ことを特徴とする請求項に記載のプログラム解析システム。
The server device
Based on the server configuration information transmitted from the control unit of the control device, a server control unit that constructs a server function of the server device,
A WEB site monitoring unit that monitors a request from the client device and records a predetermined event as a server execution result;
The program analysis system according to claim 2 .
前記検知部は、前記サーバ実行結果を前記サーバ装置より受信し、前記動作シナリオと前記サーバ実行結果との間の不整合を検出して、前記検体プログラムの属性を検知する、
ことを特徴とする請求項に記載のプログラム解析システム。
The detection unit receives the server execution result from the server device, detects an inconsistency between the operation scenario and the server execution result, and detects an attribute of the sample program;
The program analysis system according to claim 4 .
前記検知部は、前記クライアント実行結果を前記クライアント装置より受信して分析し、前記検体プログラムの属性を検知する、
ことを特徴とする請求項に記載のプログラム解析システム。
The detection unit receives and analyzes the client execution result from the client device, and detects an attribute of the sample program.
The program analysis system according to claim 3 .
前記制御部は、前記検知部による前記検体プログラムの検知結果に基づいて、再解析処理を指令する、
ことを特徴とする、請求項に記載のプログラム解析システム。
The control unit commands reanalysis processing based on the detection result of the sample program by the detection unit.
The program analysis system according to claim 1 , wherein:
前記制御部は、前記検知部による前記検体プログラムの検知結果が、陽性、または、一定回数以上陰性となるまで、再解析処理を指令する、
ことを特徴とする請求項に記載のプログラム解析システム。
The control unit commands reanalysis processing until the detection result of the sample program by the detection unit is positive or negative for a certain number of times.
The program analysis system according to claim 7 .
前記解析データベースには更に、前記動作シナリオおよび前記サーバ構成情報の各組み合わせに対する優先度情報が格納され、
前記制御部は、前記優先度情報に基づき、前記検体プログラムの挙動の解析に用いる前記動作シナリオおよび前記サーバ構成情報の組み合わせを決定する、
ことを特徴とする請求項に記載のプログラム解析システム。
The analysis database further stores priority information for each combination of the operation scenario and the server configuration information,
The control unit determines a combination of the operation scenario and the server configuration information used for analyzing the behavior of the sample program based on the priority information.
The program analysis system according to claim 2 .
前記制御部は、前記動作シナリオおよび前記サーバ構成情報の複数の組み合わせを前記クライアント装置および前記サーバ装置の各組み合わせに送信することで、複数の解析を並行処理する、
ことを特徴とする請求項に記載のプログラム解析システム。
The control unit processes a plurality of analyzes in parallel by transmitting a plurality of combinations of the operation scenario and the server configuration information to each combination of the client device and the server device.
The program analysis system according to claim 2 .
前記クライアント制御部は、前記動作シナリオの実行終了後に、前記クライアント装置を、前記検体プログラムの実行前の状態に復旧する機能を有する、
ことを特徴とする請求項に記載のプログラム解析システム。
The client control unit has a function of restoring the client device to a state before the execution of the sample program after completion of the execution of the operation scenario.
The program analysis system according to claim 3 .
JP2012086942A 2012-04-06 2012-04-06 Program analysis system Expired - Fee Related JP5892840B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012086942A JP5892840B2 (en) 2012-04-06 2012-04-06 Program analysis system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012086942A JP5892840B2 (en) 2012-04-06 2012-04-06 Program analysis system

Publications (2)

Publication Number Publication Date
JP2013218444A JP2013218444A (en) 2013-10-24
JP5892840B2 true JP5892840B2 (en) 2016-03-23

Family

ID=49590486

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012086942A Expired - Fee Related JP5892840B2 (en) 2012-04-06 2012-04-06 Program analysis system

Country Status (1)

Country Link
JP (1) JP5892840B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150379268A1 (en) * 2014-06-27 2015-12-31 Prabhat Singh System and method for the tracing and detection of malware
US10050798B2 (en) 2015-02-06 2018-08-14 Mitsubishi Electric Corporation Cryptographic block identification apparatus, cryptographic block identification method, and non-transitory computer readable recording medium storing cryptographic block identification program
JP6984114B2 (en) * 2016-10-14 2021-12-17 日本電気株式会社 E-mail monitoring device, terminal device, e-mail monitoring method, and e-mail monitoring program
WO2021124528A1 (en) * 2019-12-19 2021-06-24 三菱電機株式会社 Incident response assistant system, incident response assistant method, and incident response assistant program

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4755658B2 (en) * 2008-01-30 2011-08-24 日本電信電話株式会社 Analysis system, analysis method and analysis program

Also Published As

Publication number Publication date
JP2013218444A (en) 2013-10-24

Similar Documents

Publication Publication Date Title
US11868242B1 (en) Method, apparatus, and computer program product for predictive API test suite selection
US11570185B2 (en) Insider attack resistant system and method for cloud services integrity checking
US10033748B1 (en) System and method employing structured intelligence to verify and contain threats at endpoints
KR102641847B1 (en) Discovery and mapping of cloud-based authentication, authorization, and user management services
US8768964B2 (en) Security monitoring
US8695027B2 (en) System and method for application security assessment
TWI575397B (en) Point-wise protection of application using runtime agent and dynamic security analysis
US10904267B2 (en) Non-intrusive threat detection in a computer network
US20220210202A1 (en) Advanced cybersecurity threat mitigation using software supply chain analysis
JP2014115833A (en) Method for inhibiting continuous unauthorized access
US11533325B2 (en) Automatic categorization of IDPS signatures from multiple different IDPS systems
US10440050B1 (en) Identifying sensitive data on computer networks
JP5892840B2 (en) Program analysis system
US20230065845A1 (en) Automated runbook operation recommendations
JP2014179025A (en) Connection destination information extraction device, connection destination information extraction method, and connection destination information extraction program
US20190235984A1 (en) Systems and methods for providing predictive performance forecasting for component-driven, multi-tenant applications
JP2008015733A (en) Log management computer
Eberendu et al. A systematic literature review of software vulnerability detection
US11418570B2 (en) Robust computing device identification framework
US9398041B2 (en) Identifying stored vulnerabilities in a web service
JP6084688B2 (en) Data conversion method and apparatus
JP2016192139A (en) Malware analyzer and malware analysis method
Ward et al. Analysis of Identity Access Management Controls in IoT Systems
Elsbroek et al. Fidius: Intelligent support for vulnerability testing
US9438607B2 (en) Information processing apparatus and verification control method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150210

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151007

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151124

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160121

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160223

R150 Certificate of patent or registration of utility model

Ref document number: 5892840

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees