JP6626804B2 - Computer, selection method and selection program - Google Patents

Computer, selection method and selection program Download PDF

Info

Publication number
JP6626804B2
JP6626804B2 JP2016178052A JP2016178052A JP6626804B2 JP 6626804 B2 JP6626804 B2 JP 6626804B2 JP 2016178052 A JP2016178052 A JP 2016178052A JP 2016178052 A JP2016178052 A JP 2016178052A JP 6626804 B2 JP6626804 B2 JP 6626804B2
Authority
JP
Japan
Prior art keywords
execution environment
software
candidate
information
environment
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016178052A
Other languages
Japanese (ja)
Other versions
JP2018045329A (en
Inventor
喜一 徳山
喜一 徳山
倫宏 重本
倫宏 重本
磯部 義明
義明 磯部
仲小路 博史
博史 仲小路
Original Assignee
株式会社日立アドバンストシステムズ
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 株式会社日立アドバンストシステムズ filed Critical 株式会社日立アドバンストシステムズ
Priority to JP2016178052A priority Critical patent/JP6626804B2/en
Publication of JP2018045329A publication Critical patent/JP2018045329A/en
Application granted granted Critical
Publication of JP6626804B2 publication Critical patent/JP6626804B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Description

本発明は、計算機、選定方法、および選定プログラムに関する。   The present invention relates to a computer, a selection method, and a selection program.

近年、企業のシステムにおける脆弱性を狙い、システムへ侵入、機密情報の窃取などを行う標的型攻撃の件数は、増加の一途をたどっている。標的型攻撃は、マルウェアと呼ばれるコンピュータウイルスをメールへ添付し、標的の企業へ送りつけることで開始される。これに対し、マルウェアの検知や解析を目的としたマルウェア解析システムの導入が進んでいる。   2. Description of the Related Art In recent years, the number of targeted attacks that infiltrate systems and steal confidential information in order to exploit vulnerabilities in corporate systems has been steadily increasing. Targeted attacks begin by attaching a computer virus called malware to an email and sending it to the target company. On the other hand, malware analysis systems for detecting and analyzing malware are being introduced.

マルウェア解析は、ユーザPC上で発見されたマルウェアの可能性がある実行ファイル(擬陽性ファイル)を、マルウェアを実行するために用意した端末の上で実行し、その挙動を観察することで行われるが、前記端末の上でマルウェアにユーザPC上と同等の振る舞いをさせて、ユーザPCにおける脅威を特定するためには、前記端末の上に、ユーザPCと同等の実行環境を用意する必要がある。   Malware analysis is performed by executing an executable file (false positive file) that may be malware found on the user PC on a terminal prepared for executing the malware, and observing the behavior. In order to cause malware on the terminal to behave in the same manner as on the user PC and identify a threat on the user PC, it is necessary to prepare an execution environment equivalent to the user PC on the terminal.

特開2012−221170号公報JP 2012-221170 A

特許文献1の技術は、あるユーザ組織のマルウェアの実行環境として、ユーザPCと同等の実行環境を備えた実行端末を複数用意することで、ユーザ組織のあるユーザ端末でマルウェアの感染が発覚した際に、迅速にマルウェア解析を行うことを可能としている。しかし、ユーザ組織の規模に応じて、ユーザPCの台数と、ユーザPCにインストールされるソフトウェアの種類は増加するため、本技術の適用においては、必要となるマルウェアの実行端末の個数は際限なく増加する。このため、本技術において用意することが求められる実行端末の、個数や、端末の用意に係る予算について、ユーザ組織ごとの要求を反映させることが困難である。   The technique disclosed in Patent Document 1 prepares a plurality of execution terminals having an execution environment equivalent to that of a user PC as an execution environment of malware of a certain user organization, so that a malware infection is detected on a certain user terminal of the user organization. In addition, malware analysis can be performed quickly. However, since the number of user PCs and the types of software installed on the user PCs increase according to the size of the user organization, in the application of the present technology, the number of necessary malware execution terminals increases endlessly. I do. For this reason, it is difficult to reflect the request for each user organization regarding the number of execution terminals required to be prepared in the present technology and the budget for preparing the terminals.

本発明は、制約条件に遵守したマルウェアの実行環境を容易に生成することを目的とする。   SUMMARY OF THE INVENTION An object of the present invention is to easily generate an execution environment of malware complying with constraints.

本願において開示される発明の一側面となる計算機は、選定プログラムを実行するプロセッサと、前記選定プログラムを記憶する記憶デバイスと、を有する計算機であって、前記記憶デバイスは、同一端末内で実行可能な1以上のソフトウェアの組み合わせである実行環境候補群の各実行環境候補に前記ソフトウェアに含まれる脆弱性を対応付けた実行環境脆弱性関係情報を記憶しており、前記プロセッサは、前記ソフトウェアの組み合わせである第1実行環境を第1端末群で実行する場合に要求される制約条件を設定する設定処理と、前記実行環境脆弱性関係情報に基づいて、前記設定処理によって設定された前記制約条件下で前記実行環境候補について前記脆弱性の数を最大化することにより、前記実行環境候補群の中から前記第1端末群で実行される特定の第1実行環境候補を選定する第1選定処理と、前記第1選定処理によって選定された前記特定の第1実行環境候補を出力する出力処理と、を実行することを特徴とする。 A computer according to one aspect of the invention disclosed in the present application is a computer including a processor that executes a selection program and a storage device that stores the selection program, wherein the storage device can be executed in the same terminal. a each execution environment candidates for one or more software which is a combination execution environment group of candidates, stores the execution environment vulnerability related information associating the vulnerabilities in the software, the processor, the software A setting process for setting a constraint condition required when the first execution environment which is a combination of the first execution environment and the first terminal group is executed, and the constraint set by the setting process based on the execution environment vulnerability relation information. by maximizing the number of vulnerabilities for the execution environment candidate under conditions, wherein the first end from the execution environment candidates A first selection process for selecting a particular first execution environment candidates to be executed by the group, and an output process of outputting the selected are the specific first execution environment candidate by the first selection process, to execution Features.

本発明の代表的な実施の形態によれば、制約条件に遵守したマルウェアの実行環境を容易に生成することができる。前述した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。   According to the representative embodiment of the present invention, it is possible to easily generate a malware execution environment that complies with the constraint conditions. Problems, configurations, and effects other than those described above will be apparent from the following description of the embodiments.

図1は、実施例にかかる実行環境構築システムのシステム構成例を示すブロック図である。FIG. 1 is a block diagram illustrating a system configuration example of the execution environment construction system according to the embodiment. 図2は、ユーザ環境脆弱性テーブルの記憶内容例を示す説明図である。FIG. 2 is an explanatory diagram of an example of the contents of a user environment vulnerability table. 図3は、解析環境脆弱性テーブルの一例を示す図である。FIG. 3 is a diagram illustrating an example of the analysis environment vulnerability table. 図4は、ソフトウェア脆弱性関係情報の記憶内容例を示す説明図である。FIG. 4 is an explanatory diagram of an example of the stored contents of the software vulnerability relation information. 図5は、ソフトウェア特徴情報テーブルの記憶内容例を示す説明図である。FIG. 5 is an explanatory diagram of an example of the stored contents of the software feature information table. 図6は、ソフトウェア関係テーブルの記憶内容例を示す説明図である。FIG. 6 is an explanatory diagram of an example of the contents of a software relation table. 図7は、実行環境候補情報の一例を示す説明図である。FIG. 7 is an explanatory diagram illustrating an example of the execution environment candidate information. 図8は、実行環境脆弱性関係情報の記憶内容例を示す説明図である。FIG. 8 is an explanatory diagram of an example of the storage contents of the execution environment vulnerability-related information. 図9は、実行環境占有率関係情報の記憶内容例を示す説明図である。FIG. 9 is an explanatory diagram of an example of the storage contents of the execution environment occupancy ratio relationship information. 図10は、実行環境構築装置による実行環境構築処理手順例を示すフローチャートである。FIG. 10 is a flowchart illustrating an example of an execution environment construction process performed by the execution environment construction apparatus. 図11は、環境構築判定プログラムによる環境構築判定処理(ステップS1003)の詳細な処理手順例を示すフローチャートである。FIG. 11 is a flowchart illustrating a detailed processing procedure example of the environment construction determination processing (step S1003) by the environment construction determination program. 図12は、実行環境構成決定プログラムによる実行環境構成決定処理(ステップS1004)の詳細な処理手順例を示すフローチャートである。FIG. 12 is a flowchart illustrating a detailed processing procedure example of the execution environment configuration determination process (step S1004) by the execution environment configuration determination program. 図13は、実行環境構成決定プログラムによる実行環境候補情報作成処理(ステップS1201)の詳細な処理手順例を示すフローチャートである。FIG. 13 is a flowchart illustrating a detailed processing procedure example of the execution environment candidate information creation processing (step S1201) by the execution environment configuration determination program. 図14は、実行環境候補情報作成処理(ステップS1201)での実行環境候補情報の作成過程を示す説明図である。FIG. 14 is an explanatory diagram showing a process of creating execution environment candidate information in the execution environment candidate information creation process (step S1201). 図15は、実行環境構成決定プログラムによる実行環境選定処理(ステップS1202)の詳細な処理手順例を示すフローチャートである。FIG. 15 is a flowchart illustrating a detailed processing procedure example of the execution environment selection processing (step S1202) by the execution environment configuration determination program. 図16は、判定結果表示プログラムによる出力画面例を示す説明図である。FIG. 16 is an explanatory diagram illustrating an example of an output screen according to the determination result display program. 図17は、実行環境脆弱性関係情報の他の記憶内容例を示す説明図である。FIG. 17 is an explanatory diagram of another example of the storage contents of the execution environment vulnerability-related information.

本実施例では、ユーザからの制約条件として、たとえば、マルウェアを解析する端末の端末環境の構築に係るソフトウェアに関する費用、またはマルウェアを解析する端末の個数に関して制限がある場合を例に挙げて説明する。また、以後は、マルウェアを解析する端末の端末環境と、ユーザ組織に存在する端末の端末環境とにおいて、端末環境として、特に端末のソフトウェア構成に着目する。   In the present embodiment, as an example of a constraint condition from a user, a case will be described in which, for example, there is a limit on the cost of software related to the construction of a terminal environment of a terminal for analyzing malware or the number of terminals for analyzing malware. . In the following, in the terminal environment of a terminal that analyzes malware and the terminal environment of a terminal that exists in a user organization, attention will be paid particularly to the software configuration of the terminal as the terminal environment.

また、以下では「プログラム」を主語(動作主体)として本発明の実施形態における各処理について説明を行う場合があるが、プログラムはプロセッサによって実行されることで定められた処理をメモリ及び通信ポート(通信制御装置)を用いながら行うため、プロセッサを主語とした説明としてもよい。また、プログラムを主語として開示された処理は管理サーバ等の計算機、情報処理装置が行う処理としてもよい。プログラムの一部または全ては専用ハードウェアで実現してもよく、また、モジュール化されていてもよい。各種プログラムはプログラム配布サーバや記憶メディアによって各計算機にインストールされてもよい。   In the following, each process in the embodiment of the present invention will be described with “program” as a subject (subject of operation). However, a program executes a process determined by a processor by a memory and a communication port ( Since the description is performed using the communication control device), the description may be made with the processor as the subject. Further, the processing disclosed with the program as the subject may be processing performed by a computer such as a management server or an information processing apparatus. Part or all of the program may be realized by dedicated hardware, or may be modularized. Various programs may be installed in each computer by a program distribution server or a storage medium.

<システム構成例>
図1は、実施例にかかる実行環境構築システムのシステム構成例を示すブロック図である。実行環境構築システムは、ユーザ環境と、マルウェア解析環境と、実行環境構築装置と、を有する。ユーザ環境はネットワーク121aを介して実行環境構築装置と通信可能である。ユーザ環境は、ユーザ組織に存在する1以上のクライアント端末の集合である。クライアント端末120a、120bは、ユーザが使用するコンピュータである。パーソナルコンピュータやワークステーション、その他のコンピュータにて実現される。なお、図1では、クライアント端末120a、120bを示したが、これらを区別する必要がない場合は、クライアント端末120と称することもある。なお、各クライアント端末120には、オペレーティングシステムや文書編集ツールなどの複数のソフトウェアがインストールされていることを想定する。また、図1には、2台のクライアント端末120しか示していないが、3台以上のクライアント端末120を設けてもよい。
<System configuration example>
FIG. 1 is a block diagram illustrating a system configuration example of the execution environment construction system according to the embodiment. The execution environment construction system has a user environment, a malware analysis environment, and an execution environment construction device. The user environment can communicate with the execution environment construction device via the network 121a. The user environment is a set of one or more client terminals existing in the user organization. The client terminals 120a and 120b are computers used by the user. It is realized by a personal computer, a workstation, or another computer. Although FIG. 1 shows the client terminals 120a and 120b, they may be referred to as the client terminals 120 when there is no need to distinguish them. It is assumed that a plurality of software such as an operating system and a document editing tool are installed in each client terminal 120. Although FIG. 1 shows only two client terminals 120, three or more client terminals 120 may be provided.

マルウェア解析環境は、ネットワーク121bを介して実行環境構築装置と通信可能である。マルウェア解析環境は、マルウェアを解析する1以上の実行端末の集合である。実行端末123a、123bは、マルウェアを実行する際に用いるコンピュータである。パーソナルコンピュータやワークステーション、その他のコンピュータにて実現される。なお、図1では、実行端末123a,123bを示したが、これらを区別する必要がない場合は、実行端末123と称することもある。なお、各実行端末123には、クライアント端末120と同様に、オペレーティングシステムや文書編集ツールなどの複数のソフトウェアがインストールされていることを想定する。また、図1には、2台の実行端末123しか示していないが、3台以上の実行端末123を設けてもよい。   The malware analysis environment can communicate with the execution environment construction device via the network 121b. The malware analysis environment is a set of one or more execution terminals that analyze malware. The execution terminals 123a and 123b are computers used when executing malware. It is realized by a personal computer, a workstation, or another computer. Although the execution terminals 123a and 123b are shown in FIG. 1, they may be referred to as execution terminals 123 when there is no need to distinguish between them. It is assumed that a plurality of software such as an operating system and a document editing tool are installed in each execution terminal 123, similarly to the client terminal 120. Although FIG. 1 shows only two execution terminals 123, three or more execution terminals 123 may be provided.

実行環境構築装置101は、ユーザ環境とマルウェア環境とを互いに比較し、比較の結果一定以上の差異が見られた場合に、マルウェア解析環境を、ユーザから要求された一定の制約条件の下で再構成する。   The execution environment construction device 101 compares the user environment and the malware environment with each other, and when a comparison shows a certain difference or more, re-creates the malware analysis environment under certain constraints requested by the user. Constitute.

実行環境構築装置101は、プロセッサ103と、プロセッサ103が処理を実行するために必要なデータを格納するためのメインメモリ104と、大量のデータを記憶する容量を持つハードディスクやフラッシュメモリなどの記憶装置105と、他装置と通信を行なうためのIF(InterFace)102a,102bと、キーボード、ディスプレイなどの入出力を行うための入出力装置106と、これらの各装置を接続する通信路107と、を有する。実行環境構築装置101は、例えば、パーソナルコンピュータやワークステーション、その他のコンピュータにより実現される。なお、通信路107は、例えば、バスやケーブルといった情報伝達媒体である。   The execution environment construction apparatus 101 includes a processor 103, a main memory 104 for storing data necessary for the processor 103 to execute processing, and a storage device such as a hard disk or a flash memory having a capacity for storing a large amount of data. 105, an IF (Interface) 102a, 102b for communicating with another device, an input / output device 106 for inputting / outputting a keyboard, a display, and the like, and a communication path 107 for connecting these devices. Have. The execution environment construction device 101 is realized by, for example, a personal computer, a workstation, or another computer. The communication path 107 is an information transmission medium such as a bus and a cable.

プロセッサ103は、メインメモリ104に格納された環境構築判定プログラム108を実行することで、マルウェア解析環境124上の実行端末123の、ソフトウェア構成を再構築する必要性を判定する。プロセッサ103は、メインメモリ104に格納された実行環境構成決定プログラム109を実行することで、実行端末123の上で構築可能なソフトウェア構成を決定する。プロセッサ103は、メインメモリ104に格納された判定結果表示プログラム110を実行することで、環境構築判定プログラム108の出力結果および実行環境構成決定プログラム109の出力結果をそれぞれ表示する。プロセッサ103は、メインメモリ104に格納された実行端末実装プログラム111を実行することで、実行環境構成決定プログラム109の出力結果に基づき、マルウェア解析環境124の中に、実行端末123のソフトウェア構成を再構築する。   The processor 103 determines the necessity of reconstructing the software configuration of the execution terminal 123 on the malware analysis environment 124 by executing the environment construction determination program 108 stored in the main memory 104. The processor 103 determines a software configuration that can be built on the execution terminal 123 by executing the execution environment configuration determination program 109 stored in the main memory 104. The processor 103 displays the output result of the environment construction determination program 108 and the output result of the execution environment configuration determination program 109 by executing the determination result display program 110 stored in the main memory 104. By executing the execution terminal implementation program 111 stored in the main memory 104, the processor 103 re-creates the software configuration of the execution terminal 123 in the malware analysis environment 124 based on the output result of the execution environment configuration determination program 109. To construct.

メインメモリ104は、環境構築判定プログラム108と、実行環境構成決定プログラム109と、判定結果表示プログラム110と、実行端末実装プログラム111と、を記憶する記憶デバイスである。環境構築判定プログラム108は、記憶装置105内のユーザ環境脆弱性テーブル112と解析環境脆弱性テーブル113とを参照し、実行端末123のソフトウェア構成を再構築する必要性を判定する。   The main memory 104 is a storage device that stores an environment construction determination program 108, an execution environment configuration determination program 109, a determination result display program 110, and an execution terminal mounting program 111. The environment construction determination program 108 refers to the user environment vulnerability table 112 and the analysis environment vulnerability table 113 in the storage device 105, and determines the necessity of reconstructing the software configuration of the execution terminal 123.

実行環境構成決定プログラム109は、記憶装置105内のユーザ環境脆弱性テーブル112とソフトウェア脆弱性関係情報114とソフトウェア特徴情報テーブル115とソフトウェア関係テーブル116とを参照する。そして、実行環境構成決定プログラム109は、記憶装置105上で実行環境候補情報117と、実行環境脆弱性関係情報118と、実行環境占有率関係情報119とを作成する。そして、実行環境構成決定プログラム109は、作成した情報(117〜119)を参照することで、マルウェア解析環境124で構築する実行端末123のソフトウェア構成を決定する。なお、実行環境構成決定プログラム109は、ソフトウェア構成としては、実行環境脆弱性関係情報118を用いた結果と、実行環境占有率関係情報119を用いた結果との二通りを、候補として出力する。   The execution environment configuration determination program 109 refers to the user environment vulnerability table 112, software vulnerability relationship information 114, software feature information table 115, and software relationship table 116 in the storage device 105. Then, the execution environment configuration determination program 109 creates execution environment candidate information 117, execution environment vulnerability relation information 118, and execution environment occupancy relation information 119 on the storage device 105. Then, the execution environment configuration determining program 109 determines the software configuration of the execution terminal 123 constructed in the malware analysis environment 124 by referring to the created information (117 to 119). The execution environment configuration determination program 109 outputs two types of candidates for the software configuration, a result using the execution environment vulnerability relation information 118 and a result using the execution environment occupancy relation information 119.

判定結果表示プログラム110は、実行環境構成決定プログラム109の出力結果を参照し、マルウェア解析環境124上の実行端末123がソフトウェア構成を再構築する必要がある旨を入出力装置106に表示する。判定結果表示プログラム110は、実行環境構成決定プログラム109の出力結果を参照し、再構築後の実行端末123のソフトウェア構成を、入出力装置106に二通り表示する。これにより、いずれか一方の出力結果がユーザに選択可能である。   The determination result display program 110 refers to the output result of the execution environment configuration determination program 109 and displays on the input / output device 106 that the execution terminal 123 on the malware analysis environment 124 needs to reconstruct the software configuration. The determination result display program 110 refers to the output result of the execution environment configuration determination program 109 and displays the software configuration of the reconstructed execution terminal 123 on the input / output device 106 in two ways. This allows the user to select one of the output results.

実行端末実装プログラム111は、判定結果表示プログラム110により入出力装置106に表示されたメッセージに対し、ユーザが選択した出力結果を入出力装置106から参照し、マルウェア解析環境124の実行端末123の上に、ソフトウェア構成を再構築する。   The execution terminal mounting program 111 refers to the output result selected by the user from the input / output device 106 with respect to the message displayed on the input / output device 106 by the determination result display program 110, and displays the execution result on the execution terminal 123 of the malware analysis environment 124. Second, rebuild the software configuration.

記憶装置105には、マルウェア解析環境124上の実行端末123のソフトウェア構成を再構築する必要性の有無の判定に用いる記録データが記憶される。また、記憶装置105には、再構築の必要が生じた際、マルウェア解析環境124上に再構築する実行端末123の、ソフトウェア構成の候補情報を出力するために用いる記録データが記憶される。また、記憶装置105には、候補情報を格納する記録データが記憶される。   The storage device 105 stores record data used to determine whether the software configuration of the execution terminal 123 on the malware analysis environment 124 needs to be reconfigured. Further, in the storage device 105, when a rebuild is necessary, record data used for outputting candidate information of the software configuration of the execution terminal 123 to be rebuilt on the malware analysis environment 124 is stored. Further, the storage device 105 stores record data for storing the candidate information.

具体的には、記憶装置105は、ユーザ環境脆弱性テーブル112と、解析環境脆弱性テーブル113と、ソフトウェア脆弱性関係情報114と、ソフトウェア特徴情報テーブル115と、ソフトウェア関係テーブル116と、実行環境候補情報117と、実行環境脆弱性関係情報118と、実行環境占有率関係情報119と、を記憶する記憶デバイスである。   Specifically, the storage device 105 stores the user environment vulnerability table 112, the analysis environment vulnerability table 113, the software vulnerability relation information 114, the software characteristic information table 115, the software relation table 116, the execution environment candidate The storage device stores information 117, execution environment vulnerability relation information 118, and execution environment occupancy relation information 119.

ユーザ環境脆弱性テーブル112は、ユーザ環境122のクライアント端末120に存在する脆弱性を記録する。解析環境脆弱性テーブル113は、マルウェア解析環境124の実行端末123に存在する脆弱性を記録する。ソフトウェア脆弱性関係情報114は、ユーザ環境脆弱性テーブル112に記録された各脆弱性に対し、該当するソフトウェアとそのバージョンの情報を記録する。ソフトウェア特徴情報テーブル115は、ソフトウェア脆弱性関係情報114に記録された各ソフトウェアとそのバージョンに付随する情報を記録する。   The user environment vulnerability table 112 records the vulnerabilities existing in the client terminal 120 of the user environment 122. The analysis environment vulnerability table 113 records the vulnerabilities existing in the execution terminal 123 of the malware analysis environment 124. The software vulnerability relation information 114 records, for each vulnerability recorded in the user environment vulnerability table 112, information on the corresponding software and its version. The software characteristic information table 115 records information associated with each software and its version recorded in the software vulnerability relation information 114.

ソフトウェア関係テーブル116は、ユーザ環境122に含まれるクライアント端末120から抽出した、同一の端末にインストール可能な二つのソフトウェアの対応関係を記録する。実行環境候補情報117は、マルウェア解析環境124上に構築する実行端末123のソフトウェア構成の候補情報を記録する。実行環境脆弱性関係情報118は、実行環境候補情報117に記録されたソフトウェア構成の候補情報と、ソフトウェア構成に存在する脆弱性と、の対応関係を記録する。実行環境占有率関係情報119は、実行環境候補情報117に記録されたソフトウェア構成の候補情報と、各ソフトウェアがユーザ環境122上のクライアント端末120にインストールされている割合と、の対応関係を記録する。   The software relation table 116 records the correspondence between two pieces of software that can be installed on the same terminal and extracted from the client terminal 120 included in the user environment 122. The execution environment candidate information 117 records candidate information of the software configuration of the execution terminal 123 constructed on the malware analysis environment 124. The execution environment vulnerability relation information 118 records the correspondence between the software configuration candidate information recorded in the execution environment candidate information 117 and the vulnerability existing in the software configuration. The execution environment occupancy ratio relationship information 119 records the correspondence between the software configuration candidate information recorded in the execution environment candidate information 117 and the ratio of each software installed on the client terminal 120 on the user environment 122. .

<各種テーブルの記憶内容例>
図2〜図9を用いて、記憶装置に記憶されているテーブル群および情報の記憶内容例について説明する。以降のテーブルの説明において、AAフィールドbbb(AAはフィールド名、bbbは符号)の値を、AAbbbと表記する場合がある。たとえば、ユーザ環境脆弱性フィールド201の値を、ユーザ環境脆弱性201と表記する。
<Examples of storage contents of various tables>
An example of a table group and information stored in the storage device will be described with reference to FIGS. 2 to 9. In the following description of the table, the value of the AA field bbb (AA is a field name, bbb is a sign) may be described as AAbbb. For example, the value of the user environment vulnerability field 201 is described as user environment vulnerability 201.

図2は、ユーザ環境脆弱性テーブル112の記憶内容例を示す説明図である。ユーザ環境脆弱性テーブル112は、ユーザ環境脆弱性フィールド201と、ユーザ環境内占有率フィールド202と、脅威指標フィールド203と、を有する。同一行における各フィールド201〜203の値の組み合わせによりエントリが構成される。なお、ユーザ環境脆弱性テーブル112は、後述するステップS1103と、ステップS1104と、ステップS1106とで、それぞれ参照される。ステップS1103と、ステップS1104と、ステップS1106とについては、図11を用いて後述する。   FIG. 2 is an explanatory diagram showing an example of the stored contents of the user environment vulnerability table 112. The user environment vulnerability table 112 includes a user environment vulnerability field 201, a user environment occupation ratio field 202, and a threat index field 203. An entry is constituted by a combination of the values of the fields 201 to 203 in the same row. The user environment vulnerability table 112 is referred to in step S1103, step S1104, and step S1106, which will be described later. Step S1103, step S1104, and step S1106 will be described later with reference to FIG.

ユーザ環境脆弱性フィールド201は、ユーザ環境脆弱性を格納する記憶領域である。ユーザ環境脆弱性201は、ユーザ環境122上のクライアント端末120のいずれかに存在する脆弱性を一意に特定する識別子である。ユーザ環境脆弱性201は、たとえば、MITRE Corporationの採番するCVE(Common Vulnerabilities and Exposures)の形式を用いて記述される。だたし、ユーザ環境脆弱性201には、その他公的な機関(たとえば、IPA(Information‐technology Promotion Agency))の採番する脆弱性のIDを用いてもよい。また、ユーザ環境122上のいずれかのクライアント端末120に存在する脆弱性は、すべてユーザ環境脆弱性テーブル112に含まれる。   The user environment vulnerability field 201 is a storage area for storing the user environment vulnerability. The user environment vulnerability 201 is an identifier that uniquely identifies a vulnerability existing in any of the client terminals 120 on the user environment 122. The user environment vulnerability 201 is described using, for example, the format of CVE (Common Vulnerabilities and Exposures) numbered by MITRE Corporation. However, as the user environment vulnerability 201, a vulnerability ID numbered by another public agency (for example, IPA (Information-technology Promotion Agency)) may be used. In addition, all vulnerabilities existing in any of the client terminals 120 on the user environment 122 are included in the user environment vulnerability table 112.

ユーザ環境内占有率フィールド202は、ユーザ環境内占有率を格納する記憶領域である。ユーザ環境内占有率202は、ユーザ環境脆弱性テーブル112において同一の行で対応するユーザ環境脆弱性201が、ユーザ環境122のクライアント端末120に存在する脆弱性全体に占める割合である。ユーザ環境内占有率202は、たとえば、以下のように構成される。ユーザ環境122上のすべてのクライアント端末120から、クライアント端末120に存在する脆弱性を、重複を認めて全て列挙した際、列挙した結果の個数全体に対して、対象のユーザ環境脆弱性201が占める割合が、ユーザ環境内占有率202である。なお、ユーザ環境内占有率202は、たとえば、パーセンテージを単位とした数値で表される。   The user environment occupancy rate field 202 is a storage area for storing the user environment occupancy rate. The user environment occupancy ratio 202 is a ratio of the user environment vulnerability 201 corresponding to the same row in the user environment vulnerability table 112 to the entire vulnerability existing in the client terminal 120 in the user environment 122. The user environment occupancy rate 202 is configured as follows, for example. When all the vulnerabilities existing in the client terminal 120 are enumerated from all the client terminals 120 on the user environment 122 while recognizing the duplication, the target user environment vulnerability 201 occupies the entire number of enumerated results. The ratio is the user environment occupation ratio 202. The occupation ratio 202 in the user environment is represented, for example, by a numerical value in units of percentage.

脅威指標フィールド203は、脅威指標を格納する記憶領域である。脅威指標203は、ユーザ環境脆弱性テーブル112において同一の行で対応するユーザ環境脆弱性201に付随して存在する脆弱性の脅威を区分けした指標値である。脅威指標203には、たとえば、CVSS(Common Vulnerability Scoring System)などを用いて表される。   The threat index field 203 is a storage area for storing a threat index. The threat index 203 is an index value that categorizes threats of vulnerabilities existing along with the corresponding user environment vulnerabilities 201 in the same row in the user environment vulnerability table 112. The threat index 203 is represented using, for example, CVSS (Common Vulnerability Scoring System).

なお、ユーザ環境脆弱性201は、ユーザ環境122上のクライアント端末120のいずれかに存在する脆弱性の一覧を出力するシステムにより、あらかじめ格納されているものとする。また、ユーザ環境内占有率202および脅威指標203についても、あらかじめ格納されているものとする。   Note that the user environment vulnerability 201 is stored in advance by a system that outputs a list of vulnerabilities existing in any of the client terminals 120 on the user environment 122. It is also assumed that the user environment occupancy rate 202 and the threat index 203 are stored in advance.

図3は、解析環境脆弱性テーブル113の一例を示す図である。図3に示すように、解析環境脆弱性テーブル113は、解析環境脆弱性フィールド301と、ユーザ環境内占有率フィールド202と、を有する。同一行における各フィールド301,202の値の組み合わせによりエントリが構成される。なお、解析環境脆弱性テーブル113は、ステップS1106で参照される。ステップS1106については、図11を用いて後述する。   FIG. 3 is a diagram illustrating an example of the analysis environment vulnerability table 113. As shown in FIG. 3, the analysis environment vulnerability table 113 has an analysis environment vulnerability field 301 and a user environment occupation rate field 202. An entry is constituted by a combination of the values of the fields 301 and 202 in the same row. The analysis environment vulnerability table 113 is referred to in step S1106. Step S1106 will be described later with reference to FIG.

解析環境脆弱性フィールド301は、解析環境脆弱性を格納する記憶領域である。解析環境脆弱性301は、マルウェア解析環境124上の実行端末123のいずれかに存在する脆弱性である。解析環境脆弱性301は、ユーザ環境脆弱性201と同様の形式で記述される。また、マルウェア解析環境124上のいずれかの実行端末123に存在する脆弱性は、すべて解析環境脆弱性テーブル113に含まれる。   The analysis environment vulnerability field 301 is a storage area for storing the analysis environment vulnerability. The analysis environment vulnerability 301 is a vulnerability that exists in any of the execution terminals 123 on the malware analysis environment 124. The analysis environment vulnerability 301 is described in the same format as the user environment vulnerability 201. In addition, all the vulnerabilities existing in any of the execution terminals 123 on the malware analysis environment 124 are included in the analysis environment vulnerability table 113.

解析環境脆弱性テーブル113におけるユーザ環境内占有率202は、以下のように格納される。プロセッサ103は、解析環境脆弱性301に対して、ユーザ環境脆弱性テーブル112のユーザ環境脆弱性201において対応する行を探索する。対応する行が存在した場合、プロセッサ103は、対応するユーザ環境脆弱性201と同一の行に格納されているユーザ環境内占有率202を、解析環境脆弱性テーブル113におけるユーザ環境内占有率フィールド202に格納する。   The user environment occupancy 202 in the analysis environment vulnerability table 113 is stored as follows. The processor 103 searches for a row corresponding to the analysis environment vulnerability 301 in the user environment vulnerability 201 of the user environment vulnerability table 112. If there is a corresponding row, the processor 103 calculates the user environment occupancy 202 stored in the same row as the corresponding user environment vulnerability 201 by using the user environment occupancy field 202 in the analysis environment vulnerability table 113. To be stored.

たとえば、解析環境脆弱性301が「CVE−TTTT−UUUU」である場合、プロセッサ103は、ユーザ環境脆弱性テーブル112において、ユーザ環境脆弱性201が「CVE−TTTT−UUUU」であるエントリを探索し、当該エントリのユーザ環境内占有率202である「0.03%」を特定する。そして、プロセッサ103は、特定したユーザ環境内占有率202の「0.03%」を、解析環境脆弱性テーブル113の解析環境脆弱性301が「CVE−TTTT−UUUU」であるエントリのユーザ環境内占有率フィールド202に格納する。   For example, when the analysis environment vulnerability 301 is “CVE-TTTT-UUUU”, the processor 103 searches the user environment vulnerability table 112 for an entry in which the user environment vulnerability 201 is “CVE-TTTT-UUUU”. , The user environment occupation ratio 202 of the entry is specified as “0.03%”. Then, the processor 103 sets “0.03%” of the identified user environment occupancy 202 in the user environment of the entry in which the analysis environment vulnerability 301 of the analysis environment vulnerability table 113 is “CVE-TTTT-UUUU”. It is stored in the occupation ratio field 202.

なお、ユーザ環境脆弱性テーブル112の中に解析環境脆弱性301に対応する格納情報が存在しない場合は、解析環境脆弱性テーブル113におけるユーザ環境内占有率202の値は入力なしとなる。また、解析環境脆弱性301は、マルウェア解析環境124上の実行端末123のいずれかに存在する脆弱性の一覧を出力するシステムにより、あらかじめ格納されているものとする。   If there is no stored information corresponding to the analysis environment vulnerability 301 in the user environment vulnerability table 112, the value of the user environment occupancy 202 in the analysis environment vulnerability table 113 is not input. It is assumed that the analysis environment vulnerability 301 is stored in advance by a system that outputs a list of vulnerabilities existing in any of the execution terminals 123 on the malware analysis environment 124.

図4は、ソフトウェア脆弱性関係情報114の記憶内容例を示す説明図である。ソフトウェア脆弱性関係情報114は、ユーザ環境脆弱性201を行とし、ソフトウェアバージョン401を列とする表データである。なお、ソフトウェア脆弱性関係情報114におけるセルに含まれる値は、対応する列の表すソフトウェアのバージョンに、対応する行の表す脆弱性が存在するかを示す。存在する場合は「1」、存在しない場合は「0」となる。なお、ソフトウェア脆弱性関係情報114は、ステップS102で参照される。ステップS102については、図1を用いて後述する。 FIG. 4 is an explanatory diagram showing an example of the stored contents of the software vulnerability relation information 114. The software vulnerability relation information 114 is table data in which the user environment vulnerability 201 is set as a row and the software version 401 is set as a column. The value included in the cell in the software vulnerability relation information 114 indicates whether the software version represented by the corresponding column has the vulnerability represented by the corresponding row. If it exists, it becomes "1", and if it does not exist, it becomes "0". Note that software vulnerability related information 114 is referred to in step S1 5 02. For Step S1 5 02, described later with reference to FIG 5.

ソフトウェアバージョン401(401a,401b,401c,…)は、ソフトウェアの名称とそのバージョンを示す。ソフトウェアの名称とそのバージョンは、たとえば、MITRE Corporationの採番するCVE(Common Vulnerabilities and Exposures)の、定義の記述に利用される形式を用いて記述される。たとえば、列401aの場合、ソフトウェアXXのバージョンYYは、ユーザ環境脆弱性201bとして「CVE−RRRR−SSSS」を有する。なお、ソフトウェア脆弱性関係情報114は、ソフトウェアに対して存在する脆弱性を出力するシステムにより、あらかじめ格納されているものとする。   The software version 401 (401a, 401b, 401c, ...) indicates the name of the software and its version. The name of the software and its version are described using, for example, a format used to describe the definition of CVE (Common Vulnerabilities and Exposures) numbered by MITRE Corporation. For example, in the case of the column 401a, the version YY of the software XX has “CVE-RRRR-SSSS” as the user environment vulnerability 201b. It is assumed that the software vulnerability relation information 114 is stored in advance by a system that outputs a vulnerability existing in software.

図5は、ソフトウェア特徴情報テーブル115の記憶内容例を示す説明図である。図5に示すように、ソフトウェア特徴情報テーブル115は、ソフトウェアIDフィールド501と、ソフトウェアバージョンフィールド401と、費用フィールド502と、必要データ量フィールド503と、占有率フィールド504と、ソフトウェアカテゴリフィールド505と、を有する。同一行における各フィールド401,502〜505の値の組み合わせによりエントリが構成される。   FIG. 5 is an explanatory diagram showing an example of the storage contents of the software feature information table 115. As shown in FIG. 5, the software characteristic information table 115 includes a software ID field 501, a software version field 401, a cost field 502, a required data amount field 503, an occupancy rate field 504, a software category field 505, Having. An entry is constituted by a combination of the values of the fields 401, 502 to 505 in the same row.

なお、ソフトウェア特徴情報テーブル115は、ステップS1309と、ステップS1312と、ステップS103と、ステップS104と、ステップS105とで、それぞれ参照される。ステップS1309と、ステップS1302とについては、図13を用いて後述し、ステップS103と、ステップS104については、図1を用いて後述する。 Incidentally, the software feature information table 115, a step S1309, and step S1312, and step S1 5 03, and Step S1 5 04, in a step S1 5 05, are referred to, respectively. A step S1309, for a step S1302, described later with reference to FIG. 13, and Step S1 5 03, for the steps S1 5 04, described later with reference to FIG 5.

ソフトウェアIDフィールド501は、ソフトウェアIDを格納する記憶領域である。ソフトウェアID501は、ソフトウェアバージョン401を一意に特定する識別情報である。費用フィールド502は、費用を格納する記憶領域である。費用502は、あるソフトウェアのバージョンを、ユーザ環境122へ導入する際に発生する、全般の費用を示す。費用502には、たとえば、OS(Operating System)やアプリケーションのライセンス費が含まれる。   The software ID field 501 is a storage area for storing a software ID. The software ID 501 is identification information for uniquely specifying the software version 401. The cost field 502 is a storage area for storing costs. The cost 502 indicates the overall cost incurred in introducing a software version into the user environment 122. The cost 502 includes, for example, an OS (Operating System) and an application license fee.

必要容量フィールド503は、必要データ量を格納する記憶領域である。必要データ量503は、あるソフトウェアのバージョンを、ユーザ環境122上のクライアント端末120へインストールする際に必要となるデータ量である。必要データ量503は、たとえば、キロバイトを単位とした数値で記述される。   The required capacity field 503 is a storage area for storing a required data amount. The required data amount 503 is the data amount required when a certain software version is installed on the client terminal 120 on the user environment 122. The required data amount 503 is described by a numerical value in units of kilobytes, for example.

占有率フィールド504は、占有率を格納する記憶領域である。占有率504は、あるソフトウェアのバージョンが、ユーザ環境122上のクライアント端末120にインストールされている割合である。占有率504は、たとえば、ユーザ環境122上のすべてのクライアント端末120から、クライアント端末120にインストールされたソフトウェアのバージョンを、重複を認めて全て列挙した際、列挙した結果の個数全体(すなわち、ソフトウェアのバージョンの種類数)に対する、対象のソフトウェアのバージョンが占める割合である。なお、占有率504は、たとえば、パーセンテージを単位とした数値で表される。   The occupation ratio field 504 is a storage area for storing the occupation ratio. The occupation rate 504 is a rate at which a certain software version is installed on the client terminal 120 on the user environment 122. The occupancy 504 is, for example, when all the versions of the software installed in the client terminal 120 are enumerated from all the client terminals 120 on the user environment 122 while recognizing duplication, the total number of enumerated results (ie, software The number of versions of the target software). The occupancy 504 is represented, for example, by a numerical value in units of percentage.

ソフトウェアカテゴリフィールド505は、ソフトウェアカテゴリを格納する記憶領域である。ソフトウェアカテゴリ505は、ソフトウェアの種類をいくつかのグループに分類するための分類情報である。ソフトウェアカテゴリ505の例として、OS、文書編集ソフト、インターネットブラウザが挙げられる。ソフトウェアカテゴリ505は、ステップS1312において、同一の分類であるソフトウェアを複数持つようなソフトウェア構成を、削除するために用いられる。   The software category field 505 is a storage area for storing a software category. The software category 505 is classification information for classifying software types into several groups. Examples of the software category 505 include an OS, document editing software, and an Internet browser. The software category 505 is used in step S1312 to delete a software configuration having a plurality of software of the same classification.

なお、費用502と必要データ量503とは、該当ソフトウェアの取扱説明書に記載の内容や、各企業の公式ウェブサイトに記載されたリリース情報等から抽出される。また、占有率504は、ユーザ環境122に含まれるクライアント端末120を構成するソフトウェアを全て列挙するシステムにより抽出される。費用502〜占有率504は、あらかじめ格納されているものとする。   Note that the cost 502 and the required data amount 503 are extracted from the contents described in the instruction manual of the corresponding software, release information described on the official website of each company, and the like. The occupancy 504 is extracted by a system that enumerates all the software that constitutes the client terminal 120 included in the user environment 122. It is assumed that the cost 502 to the occupancy 504 are stored in advance.

図6は、ソフトウェア関係テーブル116の記憶内容例を示す説明図である。ソフトウェア関係テーブル116は、関係ID601と、ソフトウェアバージョンA602と、ソフトウェアバージョンB603と、を有する。同一行における各フィールド401,502〜505の値の組み合わせによりエントリが構成される。なお、ソフトウェア関係テーブル116は、ステップS1302と、ステップS1308と、ステップS103と、ステップS105と、ステップS106とで、それぞれ参照される。ステップS1302と、ステップS1308とは、図13を用いて後述し、ステップS103と、ステップS105と、ステップS106とは、図1を用いて後述する。 FIG. 6 is an explanatory diagram showing an example of the storage contents of the software relation table 116. The software relation table 116 has a relation ID 601, a software version A 602, and a software version B 603. An entry is constituted by a combination of the values of the fields 401, 502 to 505 in the same row. Incidentally, the software relationship table 116, a step S1302, and step S1308, and step S1 5 03, and Step S1 5 05, in a step S1 5 06, are referred to, respectively. A step S1302, the step S1308, described later with reference to FIG. 13, and Step S1 5 03, and Step S1 5 05, and Step S1 5 06, described later with reference to FIG 5.

関係IDフィールド601は、関係IDを格納する記憶領域である。関係ID601は、ソフトウェアバージョンA602と、ソフトウェアバージョンB603とを一意に特定する識別情報である。なお、同一の関係ID601に対応する、ソフトウェアバージョンA602と、ソフトウェアバージョンB603との組み合わせは、同一の端末にインストール可能なソフトウェアのバージョンの組み合わせであることを示す。たとえば、関係ID601が「D1」のエントリでは、ソフトウェアバージョンA602が「ソフトウェアXXのバージョンYY」であり、ソフトウェアバージョンB603が「ソフトウェアPPのバージョンQQ」である。したがって、「ソフトウェアXXのバージョンYY」および「ソフトウェアPPのバージョンQQ」は、同一端末にインストール可能である。   The relation ID field 601 is a storage area for storing a relation ID. The relationship ID 601 is identification information for uniquely specifying the software version A 602 and the software version B 603. Note that the combination of the software version A 602 and the software version B 603 corresponding to the same relation ID 601 indicates a combination of software versions that can be installed on the same terminal. For example, in the entry where the relation ID 601 is “D1”, the software version A 602 is “version YY of software XX” and the software version B 603 is “version QQ of software PP”. Therefore, “version YY of software XX” and “version QQ of software PP” can be installed in the same terminal.

ソフトウェアバージョンAフィールド602は、ソフトウェアバージョンAの識別情報を格納する記憶領域である。ソフトウェアバージョンAの識別情報(以下、単に、「ソフトウェアバージョンA」)602は、ソフトウェアバージョン401と同様に、ソフトウェアの名称とそのバージョンを示す。なお、ソフトウェアバージョンA602で特定されるソフトウェアのバージョンは、関係ID601により対応するソフトウェアバージョンB603で特定されるソフトウェアのバージョンに対し、リリース時期が早いものとする。さらに、ソフトウェアバージョンA602で特定されるソフトウェアのバージョンは、リリース時期に関して昇順で格納されるものとする。   The software version A field 602 is a storage area for storing software version A identification information. The identification information 602 of the software version A (hereinafter, simply referred to as “software version A”) 602 indicates the name of the software and its version, similarly to the software version 401. The release time of the software version specified by the software version A 602 is earlier than the software version specified by the software version B 603 corresponding to the relation ID 601. Further, the software versions specified by the software version A602 are stored in ascending order with respect to the release time.

ソフトウェアバージョンBフィールド603は、ソフトウェアバージョンBの識別情報を格納する記憶領域である。ソフトウェアバージョンBの識別情報(以下、単に、「ソフトウェアバージョンB」)603は、ソフトウェアバージョン401と同様に、ソフトウェアの名称とそのバージョンを示す。なお、ソフトウェアバージョンB603で特定されるソフトウェアのバージョンは、関係ID601により対応するソフトウェアバージョンA602で特定されるソフトウェアのバージョンに対し、リリース時期が遅いものとする。さらに、ソフトウェアバージョンB603で特定されるソフトウェアのバージョンは、リリース時期に関して昇順で、格納されるものとする。   The software version B field 603 is a storage area for storing software version B identification information. The identification information of the software version B (hereinafter, simply referred to as “software version B”) 603 indicates the name of the software and its version, similarly to the software version 401. The release time of the software version specified by the software version B 603 is later than that of the software version specified by the software version A 602 corresponding to the relation ID 601. Furthermore, the versions of the software specified by the software version B603 are stored in ascending order with respect to the release time.

ソフトウェア関係テーブル116は、以下の方式であらかじめ構成されていることを想定する。たとえば、ユーザ環境122に存在するクライアント端末120のソフトウェア構成から、同一の端末にインストールされた、任意の二つのソフトウェアの組み合わせが、同一エントリの行にて対応する、ソフトウェアバージョンAフィールド602とソフトウェアバージョンBフィールド603とに格納される。この場合、前リリース時期が古い方のソフトウェアバージョンが、ソフトウェアバージョンAフィールド602に格納される。   It is assumed that the software relation table 116 is configured in advance by the following method. For example, based on the software configuration of the client terminal 120 existing in the user environment 122, a combination of two arbitrary software installed on the same terminal corresponds to the software version A field 602 and the software version And stored in the B field 603. In this case, the software version whose earlier release time is earlier is stored in the software version A field 602.

また、プロセッサ103は、異なる二つのエントリから、推移律により対応すると分かった二つのソフトウェアの組み合わせについても、ソフトウェア関係テーブル116の新たな行に追記してもよい。たとえば、ある行にてソフトウェアXとソフトウェアYがそれぞれソフトウェアバージョンAフィールド602とソフトウェアバージョンBフィールド603とに格納されており、かつ、別のエントリにてソフトウェアXとソフトウェアZがそれぞれソフトウェアバージョンAフィールド602とソフトウェアバージョンBフィールド603とに格納されているものとする。   In addition, the processor 103 may additionally write a combination of two pieces of software found to correspond according to the transition rule from two different entries in a new row of the software relation table 116. For example, in one row, software X and software Y are stored in software version A field 602 and software version B field 603, respectively, and in another entry, software X and software Z are stored in software version A field 602, respectively. And the software version B field 603.

この場合、プロセッサ103は、ソフトウェアYとソフトウェアZとを、新規エントリのソフトウェアバージョンAフィールド602とソフトウェアバージョンBフィールド603とに格納する。さらに、ソフトウェア関係テーブル116のソフトウェアバージョンAフィールド602を参照し、ソフトウェアバージョンA602に関して、そのリリース時期が昇順となるように、ソフトウェア関係テーブル116のソフトウェアバージョンAフィールド602とソフトウェアバージョンBフィールド603を並べ替える。   In this case, the processor 103 stores the software Y and the software Z in the software version A field 602 and the software version B field 603 of the new entry. Further, the software version A field 602 and the software version B field 603 of the software relation table 116 are rearranged with reference to the software version A field 602 of the software relation table 116 so that the release time of the software version A 602 is in ascending order. .

なお、ソフトウェア関係テーブル116は、ソフトウェア特徴情報テーブル115におけるソフトウェアバージョン401と、ソフトウェアの取扱説明書に記載のリリース時期や、各企業の公式ウェブサイトに記載されたリリース情報等の情報から格納可能である。   The software relation table 116 can be stored from the software version 401 in the software feature information table 115, the release time described in the instruction manual of the software, and the release information described on the official website of each company. is there.

図7は、実行環境候補情報117の一例を示す説明図である。実行環境候補情報117は、1以上の実行環境候補を列挙した表データである。実行環境候補情報117は、1以上の実行環境候補インデックス(図では、4個の実行環境候補インデックス701〜704。総称して、実行環境候補インデックス700)を有する。実行環境候補情報117は、ステップS1202で作成され、ステップS102で参照される。ステップS1202は、図12を用いて後述し、ステップS102は、図1を用いて後述する。 FIG. 7 is an explanatory diagram illustrating an example of the execution environment candidate information 117. The execution environment candidate information 117 is tabular data listing one or more execution environment candidates. The execution environment candidate information 117 has one or more execution environment candidate indexes (four execution environment candidate indexes 701 to 704 in the figure; execution environment candidate index 700 collectively). Execution environment candidate information 117 is created in step S1202, the are referred to in step S1 5 02. Step S1202 is described later with reference to FIG. 12, step S1 5 02 will be described later with reference to FIG 5.

実行環境候補700は、マルウェア解析環境124上の実行端末123で構築する、ソフトウェア構成の候補情報、すなわち、ソフトウェアのバージョンを1以上含む。実行環境候補700は、ソフトウェア特徴情報テーブル115における、ソフトウェアバージョン401の中の1個のソフトウェアのバージョン、または、複数のソフトウェアのバージョンにより構成される。なお、実行環境候補701〜704は、それぞれ、一つの端末上で構築可能なソフトウェア構成である。   The execution environment candidate 700 includes one or more software configuration candidate information, that is, one or more software versions to be constructed by the execution terminal 123 on the malware analysis environment 124. The execution environment candidate 700 includes one software version in the software version 401 or a plurality of software versions in the software feature information table 115. Each of the execution environment candidates 701 to 704 has a software configuration that can be constructed on one terminal.

図8は、実行環境脆弱性関係情報118の記憶内容例を示す説明図である。実行環境脆弱性関係情報118は、ユーザ環境脆弱性201を行とし、実行環境候補700を列とする表データである。なお、実行環境脆弱性関係情報118におけるセルに含まれる値は、当該セルが対応する列の実行環境候補700に対し、実行環境候補700を構成するソフトウェアに、当該セルが対応する行の脆弱性201が存在する場合は「1」、存在しない場合は「0」となる。なお、実行環境脆弱性関係情報118は、ステップS102で作成され、ステップS103で参照される。ステップS102と、ステップS103とは、図1を用いて後述する。 FIG. 8 is an explanatory diagram showing an example of the storage contents of the execution environment vulnerability relation information 118. The execution environment vulnerability relation information 118 is table data in which the user environment vulnerability 201 is set as a row and the execution environment candidate 700 is set as a column. Note that the value included in the cell in the execution environment vulnerability relation information 118 indicates, for the execution environment candidate 700 in the column corresponding to the cell, the software that constitutes the execution environment candidate 700 indicates the vulnerability of the row corresponding to the cell. When 201 exists, it is “1”, and when it does not exist, it is “0”. The execution environment vulnerability related information 118 is created in step S1 5 02, it is referred to in Step S1 5 03. And Step S1 5 02, and Step S1 5 03, described later with reference to FIG 5.

図9は、実行環境占有率関係情報119の記憶内容例を示す説明図である。実行環境占有率関係情報119は、ソフトウェアバージョン401を行とし、実行環境候補701を列とする表データである。なお、実行環境占有率関係情報119におけるセルに含まれる値は、当該セルが対応する列の実行環境候補700に対し、実行環境候補700を構成するソフトウェアに、当該セルが対応する行のソフトウェアのバージョンが該当する場合は、当該ソフトウェアのバージョンの占有率504の数値、該当しない場合は「0」の数値となる。なお、実行環境占有率関係情報119は、ステップS104で作成され、ステップS105で参照される。ステップS104と、ステップS105とは、図1を用いて後述する。 FIG. 9 is an explanatory diagram of an example of the storage contents of the execution environment occupancy ratio relationship information 119. The execution environment occupancy relationship information 119 is table data in which the software version 401 is a row and the execution environment candidate 701 is a column. Note that the value included in the cell in the execution environment occupancy relationship information 119 is such that, for the execution environment candidate 700 in the column corresponding to the cell, If the version is applicable, the numerical value of the occupation ratio 504 of the software version is used, and if not, the numerical value is “0”. The execution environment occupancy related information 119 is created in step S1 5 04, it is referred to in Step S1 5 05. And Step S1 5 04, and Step S1 5 05, described later with reference to FIG 5.

<実行環境構築処理手順例>
図10は、実行環境構築装置による実行環境構築処理手順例を示すフローチャートである。実行環境構築装置101は、まず、管理者からの操作により制約条件を設定する(ステップS1000)。設定される制約条件は、具体的には、たとえば、マルウェアを解析する実行端末123に構築されるソフトウェアに関する費用や、マルウェアを解析する実行端末123の台数である。
<Example of execution environment construction process>
FIG. 10 is a flowchart illustrating an example of an execution environment construction process performed by the execution environment construction apparatus. First, the execution environment construction apparatus 101 sets a constraint condition by an operation from the administrator (step S1000). Specifically, the set constraints are, for example, the cost of software built in the execution terminal 123 for analyzing malware and the number of execution terminals 123 for analyzing malware.

つぎに、実行環境構築装置101は、最終実行日時から一定期間が経過したことを条件として(ステップS1001:Yes)、メインメモリ104に格納された、環境構築判定プログラム108により環境構築判定処理を実行する(ステップS1003)。初回の実行環境構築処理の場合も同様である。最終実行日時から一定期間が経過していない場合(ステップS1001:No)、最終実行日時から一定期間が経過するまで待機する。一定期間は、管理者により任意に設定される。環境構築判定処理(ステップS1003)の詳細は、図11で後述する。   Next, the execution environment construction apparatus 101 executes the environment construction judgment processing by the environment construction judgment program 108 stored in the main memory 104 on condition that a certain period has elapsed from the last execution date and time (step S1001: Yes). (Step S1003). The same applies to the first execution environment construction processing. If a certain period has not elapsed since the last execution date and time (step S1001: No), the process waits until a certain period has elapsed since the last execution date and time. The certain period is arbitrarily set by the administrator. Details of the environment construction determination process (step S1003) will be described later with reference to FIG.

つぎに、実行環境構築装置101は、環境構築判定処理の判定結果が「再構築の必要あり」か否かを判定する(ステップS1003)。再構築の必要なしの場合(ステップS1003:No)、実行環境構築装置101は、実行環境構築処理を終了する。一方、再構築の必要がある場合(ステップS1003:Yes)、実行環境構築装置101は、実行環境構成決定プログラム109による実行環境構成決定処理を実行する(ステップS1004)。   Next, the execution environment construction apparatus 101 determines whether or not the result of the environment construction determination processing is “need to be rebuilt” (step S1003). If there is no need to reconstruct (Step S1003: No), the execution environment construction device 101 ends the execution environment construction processing. On the other hand, when reconfiguration is necessary (Step S1003: Yes), the execution environment construction apparatus 101 executes an execution environment configuration determination process by the execution environment configuration determination program 109 (Step S1004).

実行環境構成決定処理(ステップS1004)の決定結果は2種類存在し、当該決定結果は、それぞれ、マルウェア解析環境124の実行端末123に再構築するソフトウェア構成を表す。すなわち、一方の決定結果は、ユーザ環境122のクライアント端末120に存在する脆弱性を、より多く有することを目的としたソフトウェア構成である。他方の決定結果は、ユーザ環境122のクライアント端末120で実際にインストールされている個数の多いソフトウェアを、より多く有したソフトウェア構成である。実行環境構成決定処理(ステップS1004)の詳細については、図12で後述する。   There are two types of determination results of the execution environment configuration determination process (step S1004), and the determination results respectively indicate the software configurations to be reconfigured on the execution terminal 123 of the malware analysis environment 124. That is, one determination result is a software configuration that aims to have more vulnerabilities that exist in the client terminal 120 of the user environment 122. The other determination result is a software configuration having more software actually installed on the client terminal 120 of the user environment 122. Details of the execution environment configuration determination processing (step S1004) will be described later with reference to FIG.

そして、実行環境構築装置101は、判定結果表示プログラム110を実行することで、環境構築判定処理(ステップS1003)の判定結果と、実行環境構成決定処理(ステップS1004)の決定結果とを用いて表示情報を生成し、入出力装置106に表示する(ステップS1005)。表示情報は、実行環境構成決定処理(ステップS1004)の2種類の決定結果である再構築環境候補群と、それらを選択するインタフェース(たとえば、選択ボタン)と、を含む。当該表示情報の詳細については図16で後述する。   Then, the execution environment construction apparatus 101 executes the judgment result display program 110 to display using the judgment result of the environment construction judgment process (step S1003) and the decision result of the execution environment configuration decision process (step S1004). Information is generated and displayed on the input / output device 106 (step S1005). The display information includes reconstructed environment candidate groups, which are two types of determination results of the execution environment configuration determination processing (step S1004), and an interface (for example, a selection button) for selecting them. Details of the display information will be described later with reference to FIG.

実行環境構築装置101は、入出力装置106に表示された表示情報からユーザによる再構築環境候補の選択を受け付ける(ステップS1006)と、実行端末実装プログラム111により、選択された再構築候補であるソフトウェア構成をマルウェア解析環境124上の実行端末123に構築する(ステップS1007)。   When the execution environment construction device 101 receives the user's selection of the reconstruction environment candidate from the display information displayed on the input / output device 106 (step S1006), the execution terminal implementation program 111 selects the software that is the reconstruction candidate selected. The configuration is constructed on the execution terminal 123 on the malware analysis environment 124 (step S1007).

<環境構築判定処理(ステップS1003)>
図11は、環境構築判定プログラム108による環境構築判定処理(ステップS1003)の詳細な処理手順例を示すフローチャートである。環境構築判定プログラム108は、マルウェア解析環境124上の実行端末123の、ソフトウェア構成を再構築する必要性の有無を判定するプログラムである。当該判定には、ユーザ環境122のクライアント端末120に存在する脆弱性の数(後述する変数Mの最終的な値)と、マルウェア解析環境124の実行端末123に存在する脆弱性の数(後述する変数Xの最終的な値)と、が用いられる。
<Environment construction determination process (step S1003)>
FIG. 11 is a flowchart illustrating a detailed processing procedure example of the environment construction determination process (step S1003) by the environment construction determination program 108. The environment construction determination program 108 is a program for determining whether the execution terminal 123 on the malware analysis environment 124 needs to reconstruct the software configuration. In the determination, the number of vulnerabilities existing in the client terminal 120 of the user environment 122 (final value of a variable M described later) and the number of vulnerabilities existing in the execution terminal 123 of the malware analysis environment 124 (described later) (The final value of the variable X).

環境構築判定プログラム108は、変数Mと、変数Xを、それぞれ値を0として定義する(ステップS1101)。ここで、変数Mは、ユーザ環境122上のクライアント端末120に存在する脆弱性の総数を示す。変数Xは、ユーザ環境122上のクライアント端末120に存在し、かつ、マルウェア解析環境124上の実行端末123に存在する脆弱性の総数を示す。   The environment construction determination program 108 defines each of the variable M and the variable X as having a value of 0 (step S1101). Here, the variable M indicates the total number of vulnerabilities existing in the client terminal 120 on the user environment 122. The variable X indicates the total number of vulnerabilities that exist on the client terminal 120 on the user environment 122 and on the execution terminal 123 on the malware analysis environment 124.

環境構築判定プログラム108は、ユーザ環境脆弱性テーブル112の、ユーザ環境脆弱性フィールド201の列から、新たに一行(ユーザ環境脆弱性201)を読み出る(ステップS1102)。   The environment construction determination program 108 reads a new row (user environment vulnerability 201) from the column of the user environment vulnerability field 201 of the user environment vulnerability table 112 (step S1102).

環境構築判定プログラム108は、ステップS1102において読み出した行が、ユーザ環境脆弱性フィールド201の列の最終行であるか否かを判定する(ステップS1103)。最終行である場合(ステップS1103:Yes)、ステップS1107へ進み、最終行ではない場合(ステップS1103:No)、環境構築判定プログラム108は、変数Mの値を、M+1の値に更新する(ステップS1104)。これにより、ユーザ環境脆弱性テーブル112のユーザ環境脆弱性フィールド201の列におけるユーザ環境脆弱性201の総数が計数される。   The environment construction determination program 108 determines whether or not the row read in step S1102 is the last row of the column of the user environment vulnerability field 201 (step S1103). If it is the last line (step S1103: YES), the process proceeds to step S1107, and if it is not the last line (step S1103: NO), the environment construction determination program 108 updates the value of the variable M to the value of M + 1 (step S1103). S1104). Thus, the total number of the user environment vulnerabilities 201 in the column of the user environment vulnerabilities field 201 of the user environment vulnerabilities table 112 is counted.

環境構築判定プログラム108は、解析環境脆弱性テーブル113の、解析環境脆弱性フィールド301の列を参照する。そして、環境構築判定プログラム108は、ステップS1102において読み出し中の行(ユーザ環境脆弱性201)が、解析環境脆弱性フィールド301の列に存在するか否かを判定する(ステップS1105)。存在しない場合(ステップS1105:No)、ステップS1102に戻る。一方、存在する場合(ステップS1105:Yes)、環境構築判定プログラム108は、変数Xの値を、X+1の値に更新する(ステップS1106)。これにより、ユーザ環境脆弱性テーブル112のユーザ環境脆弱性フィールド201の列に存在し、かつ、解析環境脆弱性テーブル113の解析環境脆弱性フィールド301の列に存在する脆弱性の総数が計数される。   The environment construction determination program 108 refers to the column of the analysis environment vulnerability field 301 of the analysis environment vulnerability table 113. Then, the environment construction determination program 108 determines whether or not the row being read in step S1102 (user environment vulnerability 201) exists in the column of the analysis environment vulnerability field 301 (step S1105). If not (step S1105: No), the process returns to step S1102. On the other hand, if it exists (step S1105: Yes), the environment construction determination program 108 updates the value of the variable X to the value of X + 1 (step S1106). As a result, the total number of vulnerabilities that exist in the column of the user environment vulnerability field 201 of the user environment vulnerability table 112 and that are present in the column of the analysis environment vulnerability field 301 of the analysis environment vulnerability table 113 are counted. .

ステップS1107において、環境構築判定プログラム108は、変数Mの値が「0」であるか否かを判定する(ステップS1107)。「0」である場合(ステップS1107:Yes)、ステップS1109へ進み、Mの値が「0」ではない場合(ステップS1107:No)、ステップS1108へ進む。この場合、環境構築判定プログラム108は、変数Mの値と、変数Xの値とを参照し、X/Mの値を算出する。そして、環境構築判定プログラム108は、X/Mがあらかじめ定められた閾値以下であるか否かを判定する(ステップS1108)。   In step S1107, the environment construction determination program 108 determines whether the value of the variable M is “0” (step S1107). If it is “0” (Step S1107: Yes), the process proceeds to Step S1109, and if the value of M is not “0” (Step S1107: No), the process proceeds to Step S1108. In this case, the environment construction determination program 108 calculates the value of X / M by referring to the value of the variable M and the value of the variable X. Then, the environment construction determination program 108 determines whether X / M is equal to or less than a predetermined threshold (step S1108).

X/Mの値が閾値以下である場合(ステップS1108:Yes)、環境構築判定プログラム108は、”必要あり”を出力する(ステップS1110)。X/Mの値が閾値を超える場合(ステップS1108:No)、環境構築判定プログラム108は、”必要なし”を出力する(ステップS1109)。これにより、環境構築判定処理(ステップS1003)が終了する。ここで、閾値は、マルウェア解析環境124上の実行端末123に存在する脆弱性と、ユーザ環境122上のクライアント端末120に存在する脆弱性との間で、共通する脆弱性の数に依存して変化する設定値である。また、閾値は、ユーザ組織ごとにあらかじめ定められる。   When the value of X / M is equal to or smaller than the threshold (step S1108: Yes), the environment construction determination program 108 outputs "necessary" (step S1110). If the value of X / M exceeds the threshold value (step S1108: No), the environment construction determination program 108 outputs "not necessary" (step S1109). Thus, the environment construction determination process (step S1003) ends. Here, the threshold value depends on the number of vulnerabilities common between the vulnerabilities existing in the execution terminal 123 on the malware analysis environment 124 and the vulnerabilities existing in the client terminal 120 on the user environment 122. It is a set value that changes. Further, the threshold is determined in advance for each user organization.

<実行環境構成決定処理(ステップS1004)>
図12は、実行環境構成決定プログラム109による実行環境構成決定処理(ステップS1004)の詳細な処理手順例を示すフローチャートである。実行環境構成決定プログラム109は、実行環境候補情報作成処理を開始して、図7に示した実行環境候補情報117を作成する(ステップS1201)。実行環境候補情報作成処理(ステップS1201)の詳細については、図13で後述する。実行環境構成決定プログラム109は、実行環境選定処理を実行して、実行環境候補情報117から、マルウェア解析環境124上の実行端末123に構築するソフトウェア構成を出力する(ステップS1202)。なお、出力結果であるソフトウェア構成は2種類存在し、その内訳は、ステップS1004で前述した。実行環境選定処理(ステップS1202)の詳細については、図15で後述する。
<Execution environment configuration determination processing (step S1004)>
FIG. 12 is a flowchart illustrating an example of a detailed processing procedure of the execution environment configuration determination process (step S1004) by the execution environment configuration determination program 109. The execution environment configuration determination program 109 starts the execution environment candidate information creation processing and creates the execution environment candidate information 117 shown in FIG. 7 (step S1201). The details of the execution environment candidate information creation processing (step S1201) will be described later with reference to FIG. The execution environment configuration determination program 109 executes an execution environment selection process, and outputs a software configuration to be built in the execution terminal 123 on the malware analysis environment 124 from the execution environment candidate information 117 (step S1202). Note that there are two types of software configurations that are output results, the details of which are described above in step S1004. Details of the execution environment selection processing (step S1202) will be described later with reference to FIG.

<実行環境候補情報作成処理(ステップS1201)>
図13は、実行環境構成決定プログラム109による実行環境候補情報作成処理(ステップS1201)の詳細な処理手順例を示すフローチャートである。図14は、実行環境候補情報作成処理(ステップS1201)での実行環境候補情報117の作成過程を示す説明図である。なお、実行環境候補情報作成処理(ステップS1201)を開始する時点で、実行環境候補情報117は、すべてのセルにおける格納情報が空である。
<Execution environment candidate information creation processing (step S1201)>
FIG. 13 is a flowchart illustrating a detailed processing procedure example of the execution environment candidate information creation processing (step S1201) by the execution environment configuration determination program 109. FIG. 14 is an explanatory diagram showing a process of creating the execution environment candidate information 117 in the execution environment candidate information creation processing (step S1201). When the execution environment candidate information creation process (step S1201) is started, the execution environment candidate information 117 has empty storage information in all cells.

実行環境構成決定プログラム109は、ソフトウェア関係テーブル116のソフトウェアバージョンAフィールド602の列から、新たに一行を読み出す(ステップS1302)。読み出されたソフトウェアバージョンA602を「候補データ」と称す。たとえば、実行環境構成決定プログラム109は、関係ID601が「D1」のエントリのソフトウェアバージョンA602(ソフトウェアXX バージョンYY)を候補データD1Aとして読み出す。   The execution environment configuration determination program 109 reads a new line from the column of the software version A field 602 of the software relation table 116 (step S1302). The read software version A602 is referred to as “candidate data”. For example, the execution environment configuration determination program 109 reads the software version A602 (software XX version YY) of the entry with the relation ID 601 of “D1” as the candidate data D1A.

実行環境構成決定プログラム109は、実行環境候補インデックス700を新規作成し、実行環境候補情報117の最終列に追加する。そして、実行環境構成決定プログラム109は、ステップS1301において読み出し中の候補データを、新規作成した実行環境候補インデックス700に関連付ける(ステップS1302)。具体的には、たとえば、図14の(A)において、実行環境候補インデックス701が新規作成された場合、実行環境構成決定プログラム109は、実行環境候補インデックス701の列に、候補データD1Aである「ソフトウェアXX バージョンYY」を関連付ける。   The execution environment configuration determination program 109 newly creates an execution environment candidate index 700 and adds it to the last column of the execution environment candidate information 117. Then, the execution environment configuration determination program 109 associates the candidate data being read in step S1301 with the newly created execution environment candidate index 700 (step S1302). Specifically, for example, in FIG. 14A, when the execution environment candidate index 701 is newly created, the execution environment configuration determination program 109 stores the candidate data D1A in the column of the execution environment candidate index 701. Software XX version YY "is associated.

実行環境構成決定プログラム109は、実行環境候補情報117の左端から、読み出していない実行環境候補インデックス700の列を読み出す(ステップS1303)。そして、実行環境構成決定プログラム109は、ステップS1303において読み出し中の実行環境候補インデックス700の列の最終行の候補データを読み出す。たとえば、図14の(A)では、実行環境候補インデックス701の列の最終行は、候補データD1Aである「ソフトウェアXX バージョンYY」である。したがって、候補データD1Aが読み出される。実行環境構成決定プログラム109は、当該読み出し中の候補データと、ステップS1301において読み出し中の候補データとを比較する(ステップS1304)。両者が一致する場合(ステップS1304:Yes)は、ステップS1305へ進み、両者が一致しない場合(ステップS1304:No)は、ステップS1306へ進む。   The execution environment configuration determination program 109 reads a column of the execution environment candidate index 700 that has not been read from the left end of the execution environment candidate information 117 (step S1303). Then, the execution environment configuration determining program 109 reads the candidate data of the last row of the column of the execution environment candidate index 700 being read in step S1303. For example, in FIG. 14A, the last row of the column of the execution environment candidate index 701 is “software XX version YY” which is the candidate data D1A. Therefore, candidate data D1A is read. The execution environment configuration determining program 109 compares the candidate data being read with the candidate data being read in step S1301 (step S1304). If they match (step S1304: Yes), the process proceeds to step S1305, and if they do not match (step S1304: No), the process proceeds to step S1306.

具体的には、たとえば、ステップS1301において読み出し中の候補データが候補データD1Aである場合、図14の(A)に示したように、実行環境候補インデックス701の列の最終行は、候補データD1Aである「ソフトウェアXX バージョンYY」である。両者は、ともに候補データD1Aであるため、ステップS1305に移行する。   Specifically, for example, when the candidate data being read in step S1301 is candidate data D1A, the last row of the column of the execution environment candidate index 701 is the candidate data D1A as shown in FIG. "Software XX version YY". Since both are the candidate data D1A, the process moves to step S1305.

両候補データが一致する場合(ステップS1304:Yes)、実行環境構成決定プログラム109は、ステップS1303において読み出し中の実行環境候補インデックス700の列を引数として、対応関係追記処理を実行する(ステップS1305)。   If the two candidate data match (step S1304: YES), the execution environment configuration determining program 109 executes a correspondence addition process using the column of the execution environment candidate index 700 being read in step S1303 as an argument (step S1305). .

対応関係追記処理では、実行環境構成決定プログラム109は、まず、実行環境候補インデックス700を新規作成し、実行環境候補情報117の最終列に追加する。実行環境構成決定プログラム109は、つぎに、読み出し中の実行環境候補インデックス700の列の候補データ群を複製し、新規作成した実行環境候補インデックス700の列に追記する。実行環境構成決定プログラム109は、最後に、ステップS1301において読み出し中の候補データに対応するソフトウェアバージョンB603をソフトウェア関係テーブル116から読み出し、新規作成した実行環境候補インデックス700の列に追記する。   In the correspondence addition process, the execution environment configuration determination program 109 first creates a new execution environment candidate index 700 and adds it to the last column of the execution environment candidate information 117. Next, the execution environment configuration determination program 109 duplicates the candidate data group in the column of the execution environment candidate index 700 being read, and adds it to the newly created column of the execution environment candidate index 700. Finally, the execution environment configuration determination program 109 reads the software version B603 corresponding to the candidate data being read in step S1301 from the software relation table 116, and adds the software version B603 to the newly created execution environment candidate index 700 column.

具体的には、たとえば、図14の(A)において、実行環境構成決定プログラム109は、まず、実行環境候補インデックス702を新規作成し、(B)に示すように、実行環境候補情報117の最終列に追加する。つぎに、読み出し中の実行環境候補インデックス701の列の候補データD1Aを複製し、(B)に示すように、新規作成した実行環境候補インデックス702の列に追記する。実行環境構成決定プログラム109は、最後に、ステップS1301において読み出し中の候補データD1Aに対応するソフトウェアバージョンB603(ソフトウェアPP バージョンQQ)を候補データD1Bとしてソフトウェア関係テーブル116から読み出し、(B)に示すように、新規作成した実行環境候補インデックス702の列に追記する。   More specifically, for example, in FIG. 14A, the execution environment configuration determination program 109 first creates a new execution environment candidate index 702, and as shown in FIG. Add to column. Next, the candidate data D1A in the column of the execution environment candidate index 701 that is being read is duplicated and added to the newly created column of the execution environment candidate index 702 as shown in FIG. Finally, the execution environment configuration determining program 109 reads the software version B603 (software PP version QQ) corresponding to the candidate data D1A being read in step S1301 from the software relation table 116 as the candidate data D1B, as shown in FIG. Is added to the column of the newly created execution environment candidate index 702.

つぎに、実行環境構成決定プログラム109は、ステップS1303において読み出した実行環境候補インデックス700の列が、実行環境候補情報117の最終列(EOC)であるか否かを判定する(ステップS1307)。最終列である場合(ステップS1307:Yes)、ステップS1308へ進み、最終列ではない場合(ステップS1307:No)、ステップS1303に戻る。   Next, the execution environment configuration determination program 109 determines whether or not the column of the execution environment candidate index 700 read in step S1303 is the last column (EOC) of the execution environment candidate information 117 (step S1307). If it is the last column (step S1307: YES), the process proceeds to step S1308, and if it is not the last column (step S1307: NO), the process returns to step S1303.

具体的には、たとえば、ステップS1303において読み出した実行環境候補インデックス700が実行環境候補インデックス701である場合、実行環境候補インデックス702が存在するため、実行環境候補インデックス701は最終列に該当しない。したがって、ステップS1303に戻る。この場合、実行環境構成決定プログラム109は、実行環境候補情報117の左端から、読み出していない実行環境候補インデックス702の列を読み出す(ステップS1303)。   Specifically, for example, when the execution environment candidate index 700 read in step S1303 is the execution environment candidate index 701, the execution environment candidate index 702 does not correspond to the last column because the execution environment candidate index 702 exists. Therefore, the process returns to step S1303. In this case, the execution environment configuration determination program 109 reads a column of the execution environment candidate index 702 that has not been read from the left end of the execution environment candidate information 117 (step S1303).

そして、実行環境構成決定プログラム109は、図14の(B)に示したように、ステップS1303において読み出し中の実行環境候補インデックス702の列の最終行の候補データD1B(ソフトウェアPP バージョンQQ)を読み出す。実行環境構成決定プログラム109は、当該読み出し中の候補データD1Bと、ステップS1301において読み出し中の候補データD1Aとを比較する(ステップS1304)。両者は不一致であるため(ステップS1304:No)、ステップS1306へ進む。実行環境候補インデックス702の列は、図14の(B)の時点で最終列となるため(ステップS1307:Yes)、ステップS1307に移行する。   Then, the execution environment configuration determination program 109 reads the candidate data D1B (software PP version QQ) of the last row of the column of the execution environment candidate index 702 that is being read in step S1303, as shown in FIG. . The execution environment configuration determining program 109 compares the candidate data D1B being read with the candidate data D1A being read in step S1301 (step S1304). Since they do not match (step S1304: No), the process proceeds to step S1306. Since the column of the execution environment candidate index 702 becomes the last column at the time of FIG. 14B (step S1307: Yes), the process proceeds to step S1307.

ステップS1307において、実行環境構成決定プログラム109は、ステップS1301において読み出した候補データが、ソフトウェア関係テーブル116におけるソフトウェアバージョンAフィールド602の列の最終行であるか否かを判定する(ステップS1307)。最終行である場合(ステップS1307:Yes)、ステップS1308へ進み、最終行ではない場合(ステップS1307:No)、ステップS1301に戻る。   In step S1307, the execution environment configuration determining program 109 determines whether the candidate data read in step S1301 is the last row of the column of the software version A field 602 in the software relation table 116 (step S1307). If it is the last line (step S1307: YES), the process proceeds to step S1308, and if it is not the last line (step S1307: NO), the process returns to step S1301.

図14の(B)の時点では、ステップS1301において読み出した候補データは候補データD1Aであり、ソフトウェア関係テーブル116におけるソフトウェアバージョンAフィールド602の列の最終行ではない。したがって、ステップS1301に戻り、実行環境構成決定プログラム109は、ソフトウェア関係テーブル116のソフトウェアバージョンAフィールド602の列から、新たな一行として、関係ID601が「D2」のエントリのソフトウェアバージョンA602(ソフトウェアPP バージョンQQ)を候補データD2Aとして読み出す(ステップS1302)。   At the time of FIG. 14B, the candidate data read in step S1301 is the candidate data D1A, and is not the last row of the column of the software version A field 602 in the software relationship table 116. Therefore, returning to step S1301, the execution environment configuration determination program 109 sets the software version A 602 (software PP version) of the entry whose relation ID 601 is “D2” as a new line from the column of the software version A field 602 of the software relation table 116. QQ) is read as candidate data D2A (step S1302).

実行環境構成決定プログラム109は、図14の(C)に示すように、実行環境候補インデックス703を新規作成し、実行環境候補インデックス703の列に、今回読み出した候補データD2Aである「ソフトウェアPP バージョンQQ」を関連付ける(ステップS1302)。   As shown in FIG. 14C, the execution environment configuration determination program 109 newly creates an execution environment candidate index 703, and stores “software PP version”, which is the candidate data D2A read this time, in the column of the execution environment candidate index 703. "QQ" (step S1302).

実行環境構成決定プログラム109は、図14の(C)の時点で、実行環境候補情報117の左端から、読み出していない実行環境候補インデックス703の列を読み出す(ステップS1303)。そして、実行環境構成決定プログラム109は、図14の(C)において、実行環境候補インデックス703の列の最終行の候補データD2A(ソフトウェアPP バージョンQQ)を読み出す。そして、実行環境構成決定プログラム109は、当該読み出し中の候補データD2Aと、ステップS1301において読み出し中の候補データD2Aとを比較する(ステップS1304)。両者はともに候補データD2Aであるため、ステップS1305に移行する。   The execution environment configuration determination program 109 reads a column of the execution environment candidate index 703 that has not been read from the left end of the execution environment candidate information 117 at the time of (C) in FIG. 14 (step S1303). Then, the execution environment configuration determination program 109 reads the candidate data D2A (software PP version QQ) of the last row of the column of the execution environment candidate index 703 in FIG. Then, the execution environment configuration determination program 109 compares the candidate data D2A being read with the candidate data D2A being read in step S1301 (step S1304). Since both are candidate data D2A, the process moves to step S1305.

実行環境構成決定プログラム109は、まず、実行環境候補インデックス704を新規作成し、(D)に示すように、実行環境候補情報117の最終列に追加する。つぎに、読み出し中の実行環境候補インデックス703の列の候補データD2Aを複製し、(D)に示すように、新規作成した実行環境候補インデックス704の列に追記する。なお、候補データD2Aである「ソフトウェアPP バージョンQQ」は、実行環境候補インデックス702において、「ソフトウェアXX バージョンYY」と関連付けられている。したがって、実行環境構成決定プログラム109は、推移律を利用して、「ソフトウェアXX バージョンYY」である候補データD1Aも複製してもよい。実行環境構成決定プログラム109は、最後に、ステップS1301において読み出し中の候補データD2Aに対応するソフトウェアバージョンB603(ソフトウェアZZ バージョンWW)を候補データD2Bとしてソフトウェア関係テーブル116から読み出し、(D)に示すように、新規作成した実行環境候補インデックス704の列に追記する。   The execution environment configuration determination program 109 first creates a new execution environment candidate index 704 and adds it to the last column of the execution environment candidate information 117 as shown in FIG. Next, the candidate data D2A in the column of the execution environment candidate index 703 that is being read is copied and added to the newly created column of the execution environment candidate index 704 as shown in (D). The “software PP version QQ” that is the candidate data D2A is associated with the “software XX version YY” in the execution environment candidate index 702. Therefore, the execution environment configuration determination program 109 may copy the candidate data D1A that is “software XX version YY” using the transition rule. Finally, the execution environment configuration determination program 109 reads the software version B603 (software ZZ version WW) corresponding to the candidate data D2A being read in step S1301 from the software relation table 116 as candidate data D2B, as shown in (D). Is added to the column of the newly created execution environment candidate index 704.

ステップS1303において読み出した実行環境候補インデックス703は、実行環境候補インデックス704が存在するため、実行環境候補インデックス703は最終列に該当しない。したがって、ステップS1303に戻る。この場合、実行環境構成決定プログラム109は、実行環境候補情報117の左端から、読み出していない実行環境候補インデックス704の列を読み出す(ステップS1303)。   The execution environment candidate index 703 read in step S1303 does not correspond to the last column because the execution environment candidate index 704 exists. Therefore, the process returns to step S1303. In this case, the execution environment configuration determination program 109 reads a column of the execution environment candidate index 704 that has not been read from the left end of the execution environment candidate information 117 (step S1303).

そして、実行環境構成決定プログラム109は、図14の(D)に示したように、ステップS1303において読み出し中の実行環境候補インデックス704の列の最終行の候補データD2B(ソフトウェアZZ バージョンWW)を読み出す。実行環境構成決定プログラム109は、当該読み出し中の候補データD2Bと、ステップS1301において読み出し中の候補データD1Aとを比較する(ステップS1304)。両者は不一致であるため(ステップS1304:No)、ステップS1306へ進む。実行環境候補インデックス704の列は、図14の(D)の時点で最終列となるため(ステップS1307:Yes)、ステップS1308に移行する。   Then, as shown in FIG. 14D, the execution environment configuration determination program 109 reads the candidate data D2B (software ZZ version WW) of the last row of the column of the execution environment candidate index 704 being read in step S1303. . The execution environment configuration determination program 109 compares the candidate data D2B being read with the candidate data D1A being read in step S1301 (step S1304). Since they do not match (step S1304: No), the process proceeds to step S1306. Since the column of the execution environment candidate index 704 becomes the last column at the time of (D) in FIG. 14 (step S1307: Yes), the process proceeds to step S1308.

このように、ステップS1301〜S1308の処理により、ソフトウェア関係テーブル116に記録された同一の端末にインストール可能なソフトウェアの組み合わせをもとに、構成可能なソフトウェア構成を列挙することができる。   As described above, by the processes of steps S1301 to S1308, configurable software configurations can be listed based on a combination of software that can be installed in the same terminal and recorded in the software relationship table 116.

ステップS1307:Yesの場合、実行環境構成決定プログラム109は、データ量超過列削除処理(ステップS1308)、重複列削除処理(ステップS1309)、包含列削除処理(ステップS1310)、およびカテゴリ重複列削除処理(ステップS1311)を実行し、実行環境候補情報作成処理(ステップS1201)を終了する。これらの処理(S1308〜S1311)の実行可否は、管理者が設定可能である。   Step S1307: In the case of Yes, the execution environment configuration determining program 109 deletes the excess data column (step S1308), the duplicate column deletion process (step S1309), the inclusion column deletion process (step S1310), and the category duplicate column deletion process. (Step S1311) is executed, and the execution environment candidate information creation processing (Step S1201) ends. Whether or not these processes (S1308 to S1311) can be executed can be set by an administrator.

データ量超過列削除処理(ステップS1308)は、所定のデータ量しきい値を超過したソフトウェア構成である実行環境候補を削除する処理である。たとえば、図14の(D)の実行環境候補4(実行環境候補インデックス704の列)の総必要データ量が所定のデータ量しきい値を超過する場合、実行環境構成決定プログラム109は、実行環境候補情報117から実行環境候補4を削除する。この場合、実行環境構成決定プログラム109は、ソフトウェア特徴情報テーブル115から各ソフトウェアのバージョンの必要データ量503を読み出して、総必要データ量を求める。なお、所定のデータ量しきい値は、マルウェア解析環境124上の実行端末123にインストール可能なソフトウェアのデータ量に関する制限値である。所定のデータ量しきい値は、ユーザ組織ごとに、あらかじめ定められる。これにより、実質的に再構成できないソフトウェア構成を除外することができ、無駄な再構成を抑制することができる。   The data amount excess column deletion process (step S1308) is a process of deleting an execution environment candidate having a software configuration exceeding a predetermined data amount threshold value. For example, when the total required data amount of the execution environment candidate 4 (the column of the execution environment candidate index 704) in FIG. 14D exceeds a predetermined data amount threshold, the execution environment configuration determination program 109 executes the execution environment The execution environment candidate 4 is deleted from the candidate information 117. In this case, the execution environment configuration determination program 109 reads out the required data amount 503 of each software version from the software characteristic information table 115 to obtain the total required data amount. The predetermined data amount threshold value is a limit value regarding the data amount of software that can be installed on the execution terminal 123 on the malware analysis environment 124. The predetermined data amount threshold is determined in advance for each user organization. As a result, a software configuration that cannot be reconfigured substantially can be excluded, and useless reconfiguration can be suppressed.

重複列削除処理(ステップS1309)は、ソフトウェア構成が完全一致する実行環境候補が複数存在する場合、当該複数の実行環境候補のうち1つのみ残して他を削除する処理である。   The duplicated column deletion process (step S1309) is a process of, when there are a plurality of execution environment candidates having completely identical software configurations, deleting only one of the plurality of execution environment candidates while leaving others.

包含列削除処理(ステップS1310)は、一方の実行環境候補のソフトウェア構成が、他方の実行環境のソフトウェア構成に包含される場合、一方の実行環境候補を削除する処理である。たとえば、実行環境候補1〜3は、実行環境候補4に包含されるため、実行環境候補1〜3は削除される。   The included column deletion process (step S1310) is a process of deleting one execution environment candidate when the software configuration of one execution environment candidate is included in the software configuration of the other execution environment. For example, since the execution environment candidates 1 to 3 are included in the execution environment candidate 4, the execution environment candidates 1 to 3 are deleted.

カテゴリ重複列削除処理(ステップS1311)は、カテゴリが同一なソフトウェアバージョンが複数存在する実行環境候補を削除する処理である。たとえば、実行環境候補2において、候補データD1Aである「ソフトウェアXX バージョンYY」のカテゴリが「OS」であり、候補データD1Bである「ソフトウェアPP バージョンQQ」のカテゴリも「OS」である場合、実行環境候補2は削除される。この場合、実行環境構成決定プログラム109は、ソフトウェア特徴情報テーブル115から各ソフトウェアのバージョンのソフトウェアカテゴリ505を読み出して、総必要データ量を求める。なお、対象とするカテゴリを特定のカテゴリ(たとえば、OS)に限定してもよい。   The category overlap column deletion process (step S1311) is a process of deleting an execution environment candidate in which a plurality of software versions having the same category exist. For example, in the execution environment candidate 2, when the category of the “software XX version YY” as the candidate data D1A is “OS” and the category of the “software PP version QQ” as the candidate data D1B is also “OS”, The environment candidate 2 is deleted. In this case, the execution environment configuration determination program 109 reads out the software category 505 of the version of each software from the software feature information table 115 and obtains the total required data amount. Note that the target category may be limited to a specific category (for example, OS).

<実行環境選定処理(ステップS1202)>
図15は、実行環境構成決定プログラム109による実行環境選定処理(ステップS1202)の詳細な処理手順例を示すフローチャートである。実行環境選定処理(ステップS1202)は、図7の実行環境候補情報117を用いて、図8の実行環境脆弱性関係情報118および図9の実行環境占有率関係情報119を作成し、作成した実行環境脆弱性関係情報118および実行環境占有率関係情報119を用いて、実行環境を選定する処理である。
<Execution environment selection processing (step S1202)>
FIG. 15 is a flowchart illustrating a detailed processing procedure example of the execution environment selection processing (step S1202) by the execution environment configuration determination program 109. The execution environment selection process (step S1202) uses the execution environment candidate information 117 in FIG. 7 to create the execution environment vulnerability relationship information 118 in FIG. 8 and the execution environment occupancy relationship information 119 in FIG. This is a process of selecting an execution environment using the environment vulnerability relation information 118 and the execution environment occupation rate relation information 119.

実行環境構成決定プログラム109は、まず、実行環境脆弱性関係情報118を作成する(ステップS1501)。実行環境脆弱性関係情報118の任意のセルに格納される値は、以下のように決定される。実行環境構成決定プログラム109は、図7の実行環境候補情報117の対象となる実行環境候補700について、ソフトウェア構成であるソフトウェアバージョン401を特定する。実行環境構成決定プログラム109は、ソフトウェア脆弱性関係情報114を参照し、特定した各ソフトウェアバージョン401について、ユーザ環境脆弱性201が含まれているか否かを判断する。   The execution environment configuration determination program 109 first creates the execution environment vulnerability relation information 118 (step S1501). The value stored in an arbitrary cell of the execution environment vulnerability relation information 118 is determined as follows. The execution environment configuration determination program 109 specifies the software version 401 that is the software configuration for the execution environment candidate 700 that is the target of the execution environment candidate information 117 in FIG. The execution environment configuration determination program 109 refers to the software vulnerability relation information 114 and determines whether or not the user environment vulnerability 201 is included in each of the identified software versions 401.

ユーザ環境脆弱性201が含まれている場合、実行環境構成決定プログラム109は、実行環境脆弱性関係情報118の対象となる実行環境候補700の列において、そのソフトウェア構成内のソフトウェアバージョン401に含まれているユーザ環境脆弱性201のセルの値を「1」に設定する。含まれていない場合は、「0」に設定する。   When the user environment vulnerability 201 is included, the execution environment configuration determination program 109 is included in the software version 401 in the software configuration in the column of the execution environment candidate 700 that is the target of the execution environment vulnerability relationship information 118. The value of the cell of the user environment vulnerability 201 is set to “1”. If not included, set to “0”.

具体的には、たとえば、実行環境候補1には、ソフトウェア構成として「ソフトウェアXX バージョンYY」が含まれている。図4のソフトウェア脆弱性関係情報114を参照すると、ソフトウェアXX バージョンYYの列401aにおいてセルの値が「1」であるユーザ環境脆弱性201は、ユーザ環境脆弱性201bの「CVE−RRRR−SSSS」であり、他のユーザ環境脆弱性201a,201cについては、セルの値は「0」である。したがって、実行環境構成決定プログラム109は、実行環境脆弱性関係情報118の実行環境候補インデックス701の列(実行環境候補1)において、ユーザ環境脆弱性201bの「CVE−RRRR−SSSS」に対応するセルの値を「1」に設定し、それ以外のセルの値を「0」に設定する。   Specifically, for example, the execution environment candidate 1 includes “software XX version YY” as a software configuration. Referring to the software vulnerability relation information 114 of FIG. 4, the user environment vulnerability 201 whose cell value is “1” in the column 401a of the software XX version YY is the “CVE-RRRR-SSSS” of the user environment vulnerability 201b. For other user environment vulnerabilities 201a and 201c, the cell value is “0”. Therefore, the execution environment configuration determination program 109 determines in the column (execution environment candidate 1) of the execution environment candidate index 701 of the execution environment vulnerability relationship information 118 that the cell corresponding to the user environment vulnerability 201b “CVE-RRRR-SSSS”. Is set to “1”, and the values of the other cells are set to “0”.

つぎに、実行環境構成決定プログラム109は、ステップS1501で作成した実行環境脆弱性関係情報118から、ユーザ環境122上のクライアント端末120に存在する脆弱性に共通する脆弱性がより多く存在するようなソフトウェア構成の組み合わせを選択する(ステップS1502)。   Next, the execution environment configuration determination program 109 determines from the execution environment vulnerability relation information 118 created in step S1501 that there are more vulnerabilities common to the vulnerabilities existing in the client terminal 120 in the user environment 122. A combination of software configurations is selected (step S1502).

ここで選択されたソフトウェア構成は、マルウェア解析環境124の実行端末123の上でソフトウェア構成を構築する際に利用される。なお、ステップS1502は、マルウェア解析環境124の実行端末123の上でソフトウェア構成を構築する際に係る費用、または、用意可能な実行端末123の個数に関して、ユーザ組織の要求により制限がかけられた場合に、当該制限に対応しながら実行される。   The software configuration selected here is used when constructing the software configuration on the execution terminal 123 of the malware analysis environment 124. Step S1502 is performed when the cost for constructing the software configuration on the execution terminal 123 of the malware analysis environment 124 or the number of available execution terminals 123 is restricted by the request of the user organization. Then, the program is executed in response to the restriction.

ステップS1502は、たとえば、以下の方式により実現可能である。実行環境構成決定プログラム109は、実行環境脆弱性関係情報118から、複数の列の組み合わせを選択する。この選択には、ステップS1000で設定された制約条件が適用される。   Step S1502 can be realized by, for example, the following method. The execution environment configuration determination program 109 selects a combination of a plurality of columns from the execution environment vulnerability relation information 118. The constraint set in step S1000 is applied to this selection.

たとえば、ユーザ組織によりマルウェア解析環境124に用意可能な実行端末123の個数について制約条件が与えられている場合がある。この場合、実行環境脆弱性関係情報118から列の組み合わせを選択する際に、選択する列の数が、ユーザ組織による実行端末123の個数を超えないことになる。   For example, the user organization may impose a constraint on the number of execution terminals 123 that can be prepared in the malware analysis environment 124. In this case, when selecting a combination of columns from the execution environment vulnerability relationship information 118, the number of selected columns does not exceed the number of execution terminals 123 by the user organization.

また、ユーザ組織により費用ついて制約条件が与えられている場合がある。この場合、実行環境脆弱性関係情報118から列の組み合わせを選択する際に、当該組み合わせに含まれるソフトウェアバージョン401に対応する費用502の総和が、ユーザ組織による費用の制限を超えないことになる。   Further, there may be a case where a constraint is imposed on the cost by the user organization. In this case, when selecting a combination of columns from the execution environment vulnerability relationship information 118, the sum of the costs 502 corresponding to the software versions 401 included in the combination does not exceed the cost limit imposed by the user organization.

以上の制約条件の下で、実行環境構成決定プログラム109は、実行環境脆弱性関係情報118から複数の列を選択する際、選択結果に対して、行ごとにMAXを、列に関してSUMを取った結果が最大となるような列の組み合わせを求める最適化問題を解けばよい。なお、最適化問題は、たとえば、数理計画問題を解くための近似アルゴリズムにより、近似解を求めることができる。これにより、マルウェア解析環境124上の実行端末123に構築するソフトウェア構成として、ユーザ環境脆弱性テーブル112のユーザ環境脆弱性201に格納された脆弱性を、より多く具備するようなソフトウェア構成を導出することができる。   Under the above constraints, the execution environment configuration determination program 109, when selecting a plurality of columns from the execution environment vulnerability relationship information 118, takes MAX for each row and SUM for the columns for the selection result. It is sufficient to solve an optimization problem for finding a combination of columns that maximizes the result. For the optimization problem, for example, an approximate solution can be obtained by an approximate algorithm for solving a mathematical programming problem. This derives a software configuration that includes more vulnerabilities stored in the user environment vulnerabilities 201 of the user environment vulnerabilities table 112 as a software configuration to be built on the execution terminal 123 on the malware analysis environment 124. be able to.

ここで、ステップS1502の数理計画問題について具体的に説明する。ここで、ステップS1502の数理計画問題における目的関数および制約条件の組み合わせ(以下、要求A)は、以下の通りである。   Here, the mathematical programming problem in step S1502 will be specifically described. Here, the combination of the objective function and the constraint condition (hereinafter, requirement A) in the mathematical programming problem in step S1502 is as follows.

Figure 0006626804
Figure 0006626804

ステップS1502は、要求Aを満たす実行環境候補jを選定する処理となる。すなわち、ステップS1502は、制約条件下で目的関数を最大化する処理となる。ここで、jは、1≦j≦Nを満たす整数である。xは、実行環境候補jを選択した(x=1)か、選択しない(x=0)かを示す。実行環境候補jの選択の有無については、たとえば、制約条件により決まる。Nは、実行環境候補700の総数である。図7の場合は、N=4となる。iは、1≦i≦Mを満たす整数である。Mは、ユーザ環境脆弱性201の総数である。L1は、実行環境候補jを選択する個数のしきい値である。aijは、図8の実行環境脆弱性関係情報118を行列Pにした場合の要素である。 Step S1502 is a process of selecting an execution environment candidate j that satisfies the request A. That is, step S1502 is processing for maximizing the objective function under the constraint condition. Here, j is an integer satisfying 1 ≦ j ≦ N. x j indicates whether the execution environment candidate j is selected (x j = 1) or not selected (x j = 0). Whether or not the execution environment candidate j is selected is determined by, for example, a constraint condition. N is the total number of execution environment candidates 700. In the case of FIG. 7, N = 4. i is an integer satisfying 1 ≦ i ≦ M. M is the total number of user environment vulnerabilities 201. L1 is a threshold value for selecting the execution environment candidate j. a ij is an element when the execution environment vulnerability relation information 118 of FIG.

Figure 0006626804
Figure 0006626804

ステップS1502の数理計画問題を解いた場合の出力は、下記式Xでベクトル表現される。   The output when the mathematical programming problem in step S1502 is solved is expressed by a vector using the following Expression X.

X={x,x,…,x,…,xX = {x 1 , x 2 , ..., x j , ..., x N }

つぎに、実行環境構成決定プログラム109は、実行環境占有率関係情報作成処理を実行する(ステップS1503)。なお、実行環境占有率関係情報119の任意のセルに格納される値は以下のように決定される。実行環境構成決定プログラム109は、図7の実行環境候補情報117の対象となる実行環境候補700について、ソフトウェア構成であるソフトウェアバージョン401を特定する。実行環境構成決定プログラム109は、ソフトウェア特徴情報テーブル115を参照し、特定した各ソフトウェアバージョン401について、占有率504が含まれているか否かを判断する。占有率504が含まれている場合、実行環境構成決定プログラム109は、実行環境占有率関係情報119の対象となる実行環境候補700の列において、そのソフトウェア構成内のソフトウェアバージョン401に含まれているセルに、占有率504を設定する。含まれていない場合は、当該セルに「0」に設定する。   Next, the execution environment configuration determination program 109 executes execution environment occupancy rate relationship information creation processing (step S1503). The value stored in an arbitrary cell of the execution environment occupancy ratio relationship information 119 is determined as follows. The execution environment configuration determination program 109 specifies the software version 401 that is the software configuration for the execution environment candidate 700 that is the target of the execution environment candidate information 117 in FIG. The execution environment configuration determination program 109 refers to the software characteristic information table 115 and determines whether or not the occupation ratio 504 is included in each of the identified software versions 401. When the occupancy 504 is included, the execution environment configuration determination program 109 is included in the software version 401 in the software configuration in the column of the execution environment candidate 700 to be the target of the execution environment occupancy relationship information 119. The occupancy 504 is set in the cell. If not included, “0” is set in the cell.

具体的には、たとえば、実行環境候補1には、ソフトウェア構成として「ソフトウェアXX バージョンYY」が含まれている。図5のソフトウェア特徴情報テーブル115を参照すると、ソフトウェアバージョン401が「ソフトウェアXX バージョンYY」であるエントリ(ソフトウェアID501が「C1」)において、占有率504は「5.0」である。   Specifically, for example, the execution environment candidate 1 includes “software XX version YY” as a software configuration. Referring to the software characteristic information table 115 in FIG. 5, in the entry whose software version 401 is “software XX version YY” (software ID 501 is “C1”), the occupancy 504 is “5.0”.

したがって、実行環境構成決定プログラム109は、実行環境占有率関係情報119の実行環境候補インデックス701の列(実行環境候補1)のうちユーザ環境脆弱性201が「ソフトウェアXX バージョンYY」であるセル(図9の左上のセル)の値を、「5.0」に設定する。また、実行環境構成決定プログラム109は、実行環境占有率関係情報119の実行環境候補1の列(実行環境候補701)のうち、ユーザ環境脆弱性201が「ソフトウェアXX バージョンYY」でないセルの値を、「0」に設定する。   Therefore, the execution environment configuration determination program 109 determines that the user environment vulnerability 201 in the column (execution environment candidate 1) of the execution environment candidate index 701 of the execution environment occupancy relationship information 119 is “software XX version YY” (FIG. 9 is set to “5.0”. In addition, the execution environment configuration determination program 109 determines the value of the cell whose user environment vulnerability 201 is not “software XX version YY” in the column of the execution environment candidate 1 (execution environment candidate 701) of the execution environment occupancy relationship information 119. , "0".

つぎに、実行環境構成決定プログラム109は、ステップS1503で作成した実行環境占有率関係情報119から、ユーザ環境122上のクライアント端末120で、より多くインストールされているソフトウェアから成るような、ソフトウェア構成の組み合わせを選択する(ステップS1504)。   Next, the execution environment configuration determination program 109 uses the execution environment occupancy relationship information 119 created in step S1503 to create a software configuration that includes more software installed on the client terminal 120 on the user environment 122. A combination is selected (step S1504).

なお、ステップS1504は、ステップS1502と同様、マルウェア解析環境124の実行端末123の上でソフトウェア構成を構築する際に利用される。すなわち、ソフトウェア構成を構築する際に係る費用、または、用意可能な実行端末123の個数に関して、ユーザ組織の要求により制限がかけられた場合に、当該制限に対応しながら実行される。   Step S1504 is used when constructing a software configuration on the execution terminal 123 of the malware analysis environment 124, as in step S1502. That is, if the cost for constructing the software configuration or the number of available execution terminals 123 is restricted by the request of the user organization, the execution is performed in accordance with the restriction.

ステップS1504は、たとえば、ステップS1502で示した方式と同様の方式により実現可能である。実行環境構成決定プログラム109は、実行環境占有率関係情報119から、複数の列の組み合わせを選択する。この選択には、ステップS1000で設定された制約条件が適用される。   Step S1504 can be implemented by, for example, a method similar to the method shown in step S1502. The execution environment configuration determining program 109 selects a combination of a plurality of columns from the execution environment occupancy ratio information 119. The constraint set in step S1000 is applied to this selection.

たとえば、ユーザ組織によりマルウェア解析環境124に用意可能な実行端末123の個数について制約条件が与えられている場合がある。この場合、実行環境占有率関係情報119から列の組み合わせを選択する際に、選択する列の数が、ユーザ組織による実行端末123の個数を超えないことになる。   For example, the user organization may impose a constraint on the number of execution terminals 123 that can be prepared in the malware analysis environment 124. In this case, when selecting a combination of columns from the execution environment occupancy ratio relationship information 119, the number of selected columns does not exceed the number of execution terminals 123 by the user organization.

また、ユーザ組織により費用ついて制約条件が与えられている場合がある。この場合、実行環境占有率関係情報119から列の組み合わせを選択する際に、当該組み合わせに含まれるソフトウェアバージョン401に対応する費用502の総和が、ユーザ組織による費用の制限を超えないことになる。   Further, there may be a case where a constraint is imposed on the cost by the user organization. In this case, when selecting a combination of columns from the execution environment occupancy ratio relationship information 119, the sum of the costs 502 corresponding to the software versions 401 included in the combination does not exceed the cost limitation by the user organization.

以上の制約条件の下で、実行環境構成決定プログラム109は、実行環境占有率関係情報119から複数の列を選択する際、選択結果に対して、行ごとにMAX(最大値)を、列に関してSUM(総和)を取った結果が最大となるような列の組み合わせを求める最適化問題を解けばよい。なお、最適化問題は、たとえば、数理計画問題を解くための近似アルゴリズムにより、近似解を求めることができる。これにより、マルウェア解析環境124上の実行端末123に構築するソフトウェア構成として、より多くインストールされているソフトウェアから成るソフトウェア構成を導出することができる。   Under the above-described constraints, the execution environment configuration determination program 109, when selecting a plurality of columns from the execution environment occupation ratio relationship information 119, specifies MAX (maximum value) for each row, What is necessary is just to solve the optimization problem of finding the combination of columns that maximizes the result of taking the SUM (sum). For the optimization problem, for example, an approximate solution can be obtained by an approximate algorithm for solving a mathematical programming problem. Thus, a software configuration including more installed software can be derived as a software configuration to be built in the execution terminal 123 on the malware analysis environment 124.

ここで、ステップS1504の数理計画問題について具体的に説明する。ここで、ステップS1502の数理計画問題における目的関数および制約条件の組み合わせ(以下、要求B)は、以下の通りである。   Here, the mathematical programming problem in step S1504 will be specifically described. Here, combinations of objective functions and constraints in the mathematical programming problem in step S1502 (hereinafter, requirement B) are as follows.

Figure 0006626804
Figure 0006626804

ステップS1504は、要求Bを満たす実行環境候補jを選定する処理となる。すなわち、ステップS1504は、制約条件下で目的関数を最大化する処理となる。ここで、jは、1≦j≦Nを満たす整数である。xは、実行環境候補jを選択した(x=1)か、選択しない(x=0)かを示す。実行環境候補jの選択の有無については、たとえば、制約条件により決まる。Nは、実行環境候補700の総数である。図7の場合は、N=4となる。iは、1≦i≦Mを満たす整数である。Mは、ユーザ環境脆弱性201の総数である。L2は、実行環境候補jを選択する個数のしきい値である。cijは、図9の実行環境占有率関係情報119を行列Qにした場合の要素である。cijは占有率504であり、aijまたは0となる行列Qのi行j列の要素となる。 Step S1504 is a process of selecting an execution environment candidate j that satisfies the request B. That is, step S1504 is processing for maximizing the objective function under the constraint condition. Here, j is an integer satisfying 1 ≦ j ≦ N. x j indicates whether the execution environment candidate j is selected (x j = 1) or not selected (x j = 0). Whether or not the execution environment candidate j is selected is determined by, for example, a constraint condition. N is the total number of execution environment candidates 700. In the case of FIG. 7, N = 4. i is an integer satisfying 1 ≦ i ≦ M. M is the total number of user environment vulnerabilities 201. L2 is a threshold value for selecting the execution environment candidate j. c ij is an element when the execution environment occupancy relationship information 119 in FIG. c ij is the occupancy 504 and is an element in the i-th row and the j-th column of the matrix Q that is a ij or 0.

Figure 0006626804
Figure 0006626804

ステップS1504の数理計画問題を解いた場合の出力は、下記式Xでベクトル表現される。   An output obtained when the mathematical programming problem in step S1504 is solved is represented by a vector using the following Expression X.

X={x,x,…,x,…,xX = {x 1 , x 2 , ..., x j , ..., x N }

つぎに、実行環境構成決定プログラム109は、ステップS1502と、ステップS1504でそれぞれ得られたソフトウェア構成の組み合わせを出力する(ステップS1505)。出力結果は、ステップS1005において、判定結果表示プログラム110により入出力装置106に表示される。   Next, the execution environment configuration determination program 109 outputs the combination of the software configurations obtained in step S1502 and step S1504 (step S1505). The output result is displayed on the input / output device 106 by the determination result display program 110 in step S1005.

<出力画面例>
図16は、判定結果表示プログラム110による出力画面例を示す説明図である。出力画面1600は、判定結果表示画面1601と、解析環境情報画面1602と、再構築事由表示画面1607と、構築環境候補表示画面1608とを表示する。
<Example of output screen>
FIG. 16 is an explanatory diagram illustrating an example of an output screen by the determination result display program 110. The output screen 1600 displays a determination result display screen 1601, an analysis environment information screen 1602, a reconstruction reason display screen 1607, and a construction environment candidate display screen 1608.

判定結果表示画面1601は、環境構築判定プログラム108を実行した結果、マルウェア解析環境124上の実行端末123のソフトウェア構成を再構築する必要が生じた旨が表示される画面である。   The determination result display screen 1601 is a screen on which the execution of the environment construction determination program 108 indicates that the software configuration of the execution terminal 123 on the malware analysis environment 124 needs to be reconstructed.

解析環境情報画面1602は、その時点でのマルウェア解析環境124上に構築された実行端末123に関する情報を表示する画面である。解析環境情報画面1602は、最終更新日1603と、クライアント環境情報1604と、解析環境情報1605と、前回結果1606とを表示する。   The analysis environment information screen 1602 is a screen that displays information about the execution terminal 123 constructed on the malware analysis environment 124 at that time. The analysis environment information screen 1602 displays a last update date 1603, client environment information 1604, analysis environment information 1605, and a previous result 1606.

最終更新日1603は、実行環境構築装置101により、最後に、マルウェア解析環境124上の実行端末123の、ソフトウェア構成が再構築された日時である。最終更新日1603は、たとえば、実行環境構築装置101の起動した日時をメインメモリ104に記憶しておくことで表示可能である。   The last update date 1603 is the date and time when the software configuration of the execution terminal 123 on the malware analysis environment 124 was last reconstructed by the execution environment construction device 101. The last update date 1603 can be displayed by, for example, storing the date and time when the execution environment construction apparatus 101 is started in the main memory 104.

クライアント環境情報1604は、ユーザ環境122上のクライアント端末120に存在する脆弱性の数を表示する。クライアント環境情報1604は、たとえば、ステップS1109で参照されたMの値である。   The client environment information 1604 displays the number of vulnerabilities existing in the client terminal 120 on the user environment 122. The client environment information 1604 is, for example, the value of M referenced in step S1109.

解析環境情報1605は、マルウェア解析環境124上の実行端末123に存在し、かつ、クライアント端末120にも存在する脆弱性の数が、ユーザ環境122上のクライアント端末120に存在する脆弱性の数全体に占める割合の数値を表示する。解析環境情報1605は、たとえば、ステップS1109で参照されたMの値とXの値とを用いて表示される(たとえば、X/M)。   The analysis environment information 1605 indicates that the number of vulnerabilities existing in the execution terminal 123 on the malware analysis environment 124 and also existing in the client terminal 120 is the total number of vulnerabilities existing in the client terminal 120 in the user environment 122. The numerical value of the ratio to is displayed. The analysis environment information 1605 is displayed using, for example, the value of M and the value of X referred to in step S1109 (for example, X / M).

前回結果1606は、実行環境構築装置101の前回実行結果における、解析環境情報1605の情報を表示する。前回結果1606は、たとえば、メインメモリ104に保存されている実行環境構築装置101の前回実行結果である。   The previous result 1606 displays information of the analysis environment information 1605 in the previous execution result of the execution environment construction device 101. The previous result 1606 is, for example, a previous execution result of the execution environment construction device 101 stored in the main memory 104.

再構築事由表示画面1607は、解析環境情報画面1602の結果を用いて、マルウェア解析環境124の実行端末123のソフトウェア構成を再構築する必要の生じた理由を説明するメッセージを表示する画面である。再構築事由表示画面1607は、たとえば、図10のステップS1103:Yesとなった場合に表示される。   The reconstruction reason display screen 1607 is a screen that displays a message explaining the reason why the software configuration of the execution terminal 123 of the malware analysis environment 124 needs to be reconstructed using the result of the analysis environment information screen 1602. The rebuild reason display screen 1607 is displayed, for example, when the result of step S1103 in FIG. 10 is “Yes”.

構築環境候補表示画面1608は、環境候補A選択画面1609と、環境候補B選択画面1510とをそれぞれ表示し、いずれか一方をユーザに選択させる旨を表示する画面である。環境候補A選択画面1609および環境候補B選択画面1510は、選択ボタンとしても機能する。   The construction environment candidate display screen 1608 is a screen that displays an environment candidate A selection screen 1609 and an environment candidate B selection screen 1510, respectively, and indicates that the user is to select one of them. The environment candidate A selection screen 1609 and the environment candidate B selection screen 1510 also function as selection buttons.

環境候補A選択画面1609は、ステップS1502により出力されたソフトウェア構成を表示する画面である。なお、環境候補A選択画面1609は、ユーザによる入力を受け付けるGUI(Graphical User Interface)である。ユーザが環境候補A選択画面1609にて入力を行った場合、ステップS1502で導出されたソフトウェア構成が、判定結果表示プログラム110の出力となる。なお、当該出力結果は、ステップS1007で示した実行端末実装プログラム111による処理の入力となる。   The environment candidate A selection screen 1609 is a screen that displays the software configuration output in step S1502. The environment candidate A selection screen 1609 is a GUI (Graphical User Interface) that accepts an input from the user. When the user makes an input on the environment candidate A selection screen 1609, the software configuration derived in step S1502 is output from the determination result display program 110. Note that the output result is an input of the processing by the execution terminal mounting program 111 shown in step S1007.

環境候補B選択画面1510は、ステップS1504により出力されたソフトウェア構成を表示する画面である。なお、環境候補B選択画面1510は、ユーザによる入力を受け付けるGUIである。ユーザが環境候補B選択画面1510にて入力を行った場合、ステップS1405で導出されたソフトウェア構成が、判定結果表示プログラム110の出力となる。なお、当該出力結果は、ステップS1008で示した実行端末実装プログラム111による処理の入力となる。   The environment candidate B selection screen 1510 is a screen that displays the software configuration output in step S1504. The environment candidate B selection screen 1510 is a GUI for receiving an input from the user. When the user makes an input on the environment candidate B selection screen 1510, the software configuration derived in step S1405 becomes the output of the determination result display program 110. Note that the output result is an input of the processing by the execution terminal mounting program 111 shown in step S1008.

本実施例による実行環境構築装置101の処理を説明する。なお、ここでは、ステップS1006において、ユーザは、環境候補A選択画面1609を押下することを想定する。すなわち、ユーザは、ユーザ環境122上のクライアント端末120に存在する脆弱性に着目し、再構築のためのソフトウェア構成を選択するものとする。   Processing of the execution environment construction apparatus 101 according to the present embodiment will be described. Here, it is assumed that the user presses the environment candidate A selection screen 1609 in step S1006. That is, the user pays attention to the vulnerability existing in the client terminal 120 on the user environment 122 and selects a software configuration for reconstruction.

実行環境構築装置101の最終起動日時から一定期間が経過した際、実行環境構築装置101が起動し、環境構築判定プログラム108が実行される。環境構築判定プログラム108では、ユーザ環境脆弱性テーブル112と、解析環境脆弱性テーブル113とを参照し、これにより、ユーザ環境122上のクライアント端末120と、マルウェア解析環境124上の実行端末123との間に、共通して存在する脆弱性の割合が出力される。   When a certain period has elapsed from the last activation date and time of the execution environment construction apparatus 101, the execution environment construction apparatus 101 starts up and the environment construction judgment program 108 is executed. The environment construction determination program 108 refers to the user environment vulnerability table 112 and the analysis environment vulnerability table 113, and thereby, the client terminal 120 on the user environment 122 and the execution terminal 123 on the malware analysis environment 124 In the meantime, the percentage of commonly existing vulnerabilities is output.

当該共通する脆弱性の割合が所定の閾値を下回った場合、実行環境構成決定プログラム109が実行される。具体的には、たとえば、実行環境構成決定プログラム109は、ソフトウェア特徴情報テーブル115と、ソフトウェア関係テーブル116とを参照し、実行環境候補情報117を作成する。さらに、実行環境構成決定プログラム109は、ユーザ環境脆弱性テーブル112と、ソフトウェア脆弱性関係情報114と、ソフトウェア特徴情報テーブル115と、実行環境候補情報117とを参照する。そして、実行環境構成決定プログラム109は、マルウェア解析環境124上の実行端末123に構築するソフトウェア構成が、当該ソフトウェア構成の構築に付随する予算や、実行端末123の個数に関するユーザからの固有の要求の下で決定し、出力結果として出力する。   When the ratio of the common vulnerabilities falls below a predetermined threshold, the execution environment configuration determination program 109 is executed. Specifically, for example, the execution environment configuration determination program 109 creates execution environment candidate information 117 with reference to the software characteristic information table 115 and the software relation table 116. Further, the execution environment configuration determination program 109 refers to the user environment vulnerability table 112, software vulnerability relation information 114, software characteristic information table 115, and execution environment candidate information 117. Then, the execution environment configuration determination program 109 determines whether the software configuration to be constructed on the execution terminal 123 on the malware analysis environment 124 is a budget associated with the construction of the software configuration or a unique request from the user regarding the number of execution terminals 123. Determined below and output as output result.

判定結果表示プログラム110は、当該出力結果であるソフトウェア構成を、入出力装置106に表示する。ユーザは環境候補A選択画面1609のボタンを押下することで、マルウェア解析環境124上の実行端末123の上での、ソフトウェア構成の再構築を承認する。ユーザによる環境候補A選択画面1609のボタン押下により、実行環境構成決定プログラム109の出力結果が、実行端末実装プログラム111に入力される。   The determination result display program 110 displays the software configuration as the output result on the input / output device 106. By pressing the button on the environment candidate A selection screen 1609, the user approves the reconfiguration of the software configuration on the execution terminal 123 on the malware analysis environment 124. When the user presses a button on the environment candidate A selection screen 1609, the output result of the execution environment configuration determination program 109 is input to the execution terminal implementation program 111.

これにより、実行端末実装プログラム111は、入力結果であるソフトウェア構成に基づき、マルウェア解析環境124上の実行端末123を、入力結果であるソフトウェア構成に基づき再構築する。再構築された実行環境は、一定期間が経過するごとに、実行環境構築装置101に含まれる環境構築判定プログラム108によって、ユーザ環境122上のクライアント端末120と、マルウェア解析環境124上の実行端末123との間に、共通して存在する脆弱性の割合(X/M)が導出され、評価される。   Thereby, the execution terminal mounting program 111 reconstructs the execution terminal 123 on the malware analysis environment 124 based on the software configuration as the input result. Each time a certain period elapses, the reconstructed execution environment is executed by the environment construction determination program 108 included in the execution environment construction device 101 by the client terminal 120 on the user environment 122 and the execution terminal 123 on the malware analysis environment 124. The ratio (X / M) of the commonly existing vulnerabilities is derived and evaluated.

以上により、ユーザ組織におけるマルウェア解析環境124上の実行端末123で、ソフトウェア構成の再構築が、実行端末123の個数や、ソフトウェア構成の構築に付随する費用に関するユーザ組織ごとの固有の要件に基づき、実行可能となる。   As described above, in the execution terminal 123 on the malware analysis environment 124 in the user organization, the reconfiguration of the software configuration is performed based on the number of the execution terminals 123 and the unique requirements of each user organization regarding the cost associated with the construction of the software configuration. It becomes executable.

なお、本実施例の一部を変更して、次のように実施してもよい。たとえば、環境構築判定処理(ステップS1002)は、脅威指標203で重み付けして判定してもよい。具体的には、たとえば、ステップS110の式が下記式(1)に置き換わる。 It is to be noted that a part of the present embodiment may be modified and implemented as follows. For example, in the environment construction determination process (step S1002), the determination may be made by weighting with the threat index 203. Specifically, for example, the formula of step S110 8 is replaced by the following formula (1).

Figure 0006626804
Figure 0006626804

は、図2のユーザ環境脆弱性テーブル112のa番目のエントリの脅威指標203である。yは、dの脅威指標203の採用(y=1)または不採用(y=0)を示す値である。dは、図3の解析環境脆弱性テーブル113の解析環境脆弱性301と共通するユーザ環境脆弱性201のエントリにおける脅威指標203である。yは、dの脅威指標203の採用(y=1)または不採用(y=0)を示す値である。yおよびyは、たとえば、あらかじめステップS1000の制約条件で設定される。これにより、環境構築判定プログラム108は、マルウェア解析環境124上の実行端末123と、ユーザ環境122上のクライアント端末120とで、脅威指標203の値が高いソフトウェアが共通しているかという観点で、齟齬があるか否かを判定することができる。 d a is the threat index 203 of the a-th entry in the user environment vulnerability table 112 of FIG. y a is a value indicating adopted (y a = 1) or Reject (y a = 0) of the d a threat indicator 203. d b is a threat indicator 203 in the entry of the user environment vulnerable 201 common to the analyzed environmental sensitivity 301 analyzes environmental sensitivity table 113 of FIG. y b is a value indicating that the threat index 203 of da is adopted (y b = 1) or not adopted (y b = 0). y a and y b is set, for example, in the constraint conditions in advance step S1000. Accordingly, the environment construction determination program 108 determines whether the execution terminal 123 on the malware analysis environment 124 and the client terminal 120 on the user environment 122 share software having a high value of the threat index 203 in terms of whether the software is high. Can be determined.

また、環境構築判定処理(ステップS1002)は、脅威指標203で重み付けして判定してもよい。具体的には、たとえば、ステップS110の式が下記式(2)に置き換わる。 In the environment construction determination process (step S1002), the determination may be made by weighting with the threat index 203. Specifically, for example, the formula of step S110 8 is replaced by the following formula (2).

Figure 0006626804
Figure 0006626804

は、図2のユーザ環境脆弱性テーブル112のa番目のエントリのユーザ環境内占有率202である。yは、fのユーザ環境内占有率202の採用(y=1)または不採用(y=0)を示す値である。fは、図3の解析環境脆弱性テーブル113の解析環境脆弱性301と共通するユーザ環境脆弱性201のエントリにおけるユーザ環境内占有率202である。yは、fのユーザ環境内占有率202の採用(y=1)または不採用(y=0)を示す値である。yおよびyは、たとえば、あらかじめステップS1000の制約条件で設定される。これにより、環境構築判定プログラム108は、マルウェア解析環境124上の実行端末123と、ユーザ環境122上のクライアント端末120とで、ユーザ環境内占有率202の値が高いソフトウェアが共通しているかという観点で、齟齬があるか否かを判定することができる。 f a is the a-th user environment in occupancy 202 entries user environment vulnerability table 112 of FIG. y a is a value indicating adopted (y a = 1) or Reject (y a = 0) in the user environment in occupancy 202 of the f a. f b is a user environment in occupancy 202 in the entry of the user environment vulnerable 201 common to the analyzed environmental sensitivity 301 analyzes environmental sensitivity table 113 of FIG. y b is a value indicating adopted (y b = 1) or Reject (y b = 0) in the user environment in occupancy 202 of the f a. y a and y b is set, for example, in the constraint conditions in advance step S1000. As a result, the environment construction determination program 108 determines whether the execution terminal 123 on the malware analysis environment 124 and the client terminal 120 on the user environment 122 share software having a high value of the occupation ratio 202 in the user environment. Thus, it can be determined whether or not there is any inconsistency.

実行環境脆弱性関係情報作成処理(ステップS1501)において、実行環境脆弱性関係情報118の作成には、ユーザ環境内占有率202が用いられてもよい。これにより、ステップS1502において、実行環境構成決定プログラム109は、ユーザ環境122上の多くのクライアント端末120に存在する脆弱性とユーザ環境内占有率202とを優先して、マルウェア解析環境124上の実行端末123を再構築する際のソフトウェア構成を決定することができる。   In the execution environment vulnerability relation information creation processing (step S1501), the execution environment vulnerability relation information 118 may be created using the user environment occupation ratio 202. Accordingly, in step S1502, the execution environment configuration determination program 109 gives priority to the vulnerabilities existing in many client terminals 120 in the user environment 122 and the occupation ratio 202 in the user environment, and the execution environment configuration determination program 109 executes the program in the malware analysis environment 124. A software configuration for reconstructing the terminal 123 can be determined.

実行環境脆弱性関係情報作成処理(ステップS1501)において、実行環境脆弱性関係情報118の作成には、脅威指標203が用いられてもよい。図17は、実行環境脆弱性関係情報118の他の記憶内容例を示す説明図である。図17は、図8の実行環境脆弱性関係情報118のセル値に図2のユーザ環境脆弱性テーブル112の脅威指標203を重み付けした実行環境脆弱性関係情報118である。これにより、ステップS1502において、実行環境構成決定プログラム109は、脅威に関する指標が一定水準より高い脆弱性と脅威指標203とを優先して、マルウェア解析環境124上の実行端末123を再構築する際のソフトウェア構成を決定することができる。なお、この場合、ステップS1502では、要求Bのような目的関数が適用され、実行環境脆弱性関係情報118の行列Pは行列Qのようになる。   In the execution environment vulnerability relation information creation processing (step S1501), the threat index 203 may be used to create the execution environment vulnerability relation information 118. FIG. 17 is an explanatory diagram of another example of the storage contents of the execution environment vulnerability relation information 118. 17 is execution environment vulnerability relation information 118 obtained by weighting the cell value of the execution environment vulnerability relation information 118 of FIG. 8 with the threat index 203 of the user environment vulnerability table 112 of FIG. Accordingly, in step S1502, the execution environment configuration determination program 109 gives priority to the vulnerability index whose threat index is higher than a certain level and the threat index 203 and reconfigures the execution terminal 123 on the malware analysis environment 124. The software configuration can be determined. In this case, in step S1502, an objective function such as the request B is applied, and the matrix P of the execution environment vulnerability relationship information 118 becomes a matrix Q.

なお、本実施例では、ユーザ組織からのステップS1000で設定された制約条件として、マルウェア解析環境124の実行端末123の構築にかかるソフトウェアの費用に関する制約条件を想定した。この他にも、たとえば、実行端末123にそれぞれかかるハードウェア導入費用や、実行端末123の接続される電源の個数、実行端末123を格納する際のラックのデータ量や床面積、実行端末123の重量に関する他の制約条件を想定してもよい。これらを想定して制約条件が定められた場合は、実行環境候補情報作成処理(ステップS1201)において、実行環境構成決定プログラム109は、実行環境候補情報117における実行端末候補700のそれぞれに対し、ハードウェア費用や、電源の個数や、床面積等を関連付ければよい。具体的には、要求A,Bの制約条件の式に当該他の制約条件を適用すればよい。   In the present embodiment, as the constraint set by the user organization in step S1000, a constraint relating to the cost of software for building the execution terminal 123 of the malware analysis environment 124 is assumed. In addition to this, for example, the hardware installation cost for each execution terminal 123, the number of power supplies connected to the execution terminal 123, the data amount and floor area of the rack when the execution terminal 123 is stored, the execution terminal 123 Other constraints on weight may be assumed. If the constraint conditions are determined based on these assumptions, in the execution environment candidate information creation processing (step S1201), the execution environment configuration determination program 109 executes a hard disk operation for each of the execution terminal candidates 700 in the execution environment candidate information 117. Hardware costs, the number of power supplies, floor area, and the like may be associated. Specifically, the other constraints may be applied to the equations of the constraints of the requirements A and B.

以上説明したように、本実施例にかかる実行環境構築装置101は、制約条件下で実行環境候補について脆弱性の数を最大化することにより、実行環境候補群の中から第2端末群で構築する特定の実行環境候補を選定する。これにより、制約条件に遵守し、かつ、脆弱性をより多く含むマルウェアの実行環境を容易に生成することができる。したがって、ユーザ組織ごとの固有の要件に基づき、ユーザ組織のマルウェアの実行環境を、第2端末(実行端末123)上に構築、または再構築することができる。   As described above, the execution environment construction apparatus 101 according to the present embodiment maximizes the number of vulnerabilities for the execution environment candidates under the constraint condition, thereby constructing the execution environment candidate group from the execution environment candidate group with the second terminal group. Select a specific execution environment candidate to be executed. This makes it possible to easily generate an execution environment for malware that complies with the constraint conditions and contains more vulnerabilities. Therefore, the execution environment of the malware of the user organization can be constructed or reconstructed on the second terminal (execution terminal 123) based on the unique requirements of each user organization.

また、実行環境構築装置101は、各実行環境候補内のソフトウェアに脆弱性を対応付けた実行環境脆弱性関係情報を自動作成する。これにより、実行環境候補と脆弱性との対応関係を自動的に網羅することができる。またこれにより、特定の実行環境候補の選定の効率化を図ることができる。   Further, the execution environment construction apparatus 101 automatically creates execution environment vulnerability relation information in which a vulnerability is associated with software in each execution environment candidate. This makes it possible to automatically cover the correspondence between the execution environment candidates and the vulnerabilities. This also makes it possible to increase the efficiency of selecting a specific execution environment candidate.

また、実行環境構築装置101は、同一端末内で実行可能なソフトウェアどうしを対応付けて実行環境候補情報を作成する。これにより、第2端末(実行端末123)上で実行できない無駄な実行環境候補の作成を抑制することができる。   In addition, the execution environment construction apparatus 101 creates execution environment candidate information by associating software executable in the same terminal with each other. Accordingly, it is possible to suppress creation of useless execution environment candidates that cannot be executed on the second terminal (execution terminal 123).

また、実行環境構築装置101は、ソフトウェア特徴情報に基づいて、実行環境候補群を絞り込んで実行環境候補情報を作成する。これにより、特徴を考慮した実行環境候補を作成することができる。   Further, the execution environment construction apparatus 101 narrows down the execution environment candidate group based on the software feature information and creates execution environment candidate information. Thereby, it is possible to create an execution environment candidate in consideration of the feature.

たとえば、実行環境構築装置101は、実行環境候補を構成するソフトウェアのデータ量の総和を算出し、当該総和が所定データ量を超過した実行環境候補を削除する。これにより、第2端末(実行端末123)にインストールできない無駄な実行環境候補の作成を抑制することができる。   For example, the execution environment construction device 101 calculates the sum of the data amounts of the software constituting the execution environment candidates, and deletes the execution environment candidates whose sum exceeds a predetermined data amount. Accordingly, it is possible to suppress creation of useless execution environment candidates that cannot be installed on the second terminal (execution terminal 123).

また、たとえば、実行環境構築装置101は、実行環境候補群のうち同一カテゴリのソフトウェアを有する実行環境候補を削除して実行環境候補情報を作成する。これにより、第2端末(実行端末123)内でカテゴリ重複による無駄なソフトウェアのインストールを抑制することができる。   Further, for example, the execution environment construction apparatus 101 deletes execution environment candidates having software of the same category from the execution environment candidate group and creates execution environment candidate information. Thereby, it is possible to suppress unnecessary installation of software due to category duplication in the second terminal (execution terminal 123).

また、実行環境構築装置101は、ソフトウェアの組み合わせが完全一致する前記実行環境候補が複数存在する場合、ソフトウェアの組み合わせが完全一致する複数の実行環境候補のうち1つのみ残して残余を削除する。これにより、無駄な第2実行環境(マルウェア解析環境124)の構築を抑制することができる。   In addition, when there are a plurality of execution environment candidates in which the combination of software completely matches, the execution environment construction apparatus 101 deletes the remainder while leaving only one of the plurality of execution environment candidates in which the combination of software completely matches. Thus, the construction of the useless second execution environment (malware analysis environment 124) can be suppressed.

また、実行環境構築装置101は、実行環境候補間で包含関係がある場合、包含される実行環境候補を削除する。これにより、無駄な第2実行環境(マルウェア解析環境124)の構築を抑制することができる。   When there is an inclusion relationship between the execution environment candidates, the execution environment construction device 101 deletes the included execution environment candidates. Thus, the construction of the useless second execution environment (malware analysis environment 124) can be suppressed.

また、実行環境構築装置101は、第1実行環境(ユーザ環境122)に含まれる脆弱性の総数に対する、第1実行環境(ユーザ環境122)および第2実行環境(マルウェア解析環境124)に共通して含まれる脆弱性の総数の割合を算出し、当該割合に基づいて、特定の実行環境候補を選定する。これにより、第2実行環境(マルウェア解析環境124)の構築の必要性を自動で判定することができ、実行環境構築装置101を効率的に運用することができる。   Further, the execution environment construction apparatus 101 is common to the first execution environment (user environment 122) and the second execution environment (malware analysis environment 124) for the total number of vulnerabilities included in the first execution environment (user environment 122). Then, a ratio of the total number of vulnerabilities included is calculated, and a specific execution environment candidate is selected based on the ratio. Thus, the necessity of building the second execution environment (malware analysis environment 124) can be automatically determined, and the execution environment construction device 101 can be operated efficiently.

また、実行環境構築装置101は、第1実行環境(ユーザ環境122)に含まれる脆弱性を脅威指標に対応付けて、上記割合を算出する。これにより、脅威に関する指標が一定水準より高い脆弱性と脅威指標とを優先して、第2端末(実行端末123)を再構築する際のソフトウェア構成を決定することができる。   Further, the execution environment construction device 101 calculates the above ratio by associating the vulnerability included in the first execution environment (user environment 122) with the threat index. Thus, the software configuration when reconstructing the second terminal (execution terminal 123) can be determined by giving priority to the vulnerability and the threat index whose indices related to the threat are higher than a certain level.

また、実行環境構築装置101は、第1端末群のうち脆弱性を含むソフトウェアを有する第1端末の割合を示す第1端末群内占有率(ユーザ環境内占有率202)を脆弱性に対応付けて、上記割合を算出する。これにより、ユーザ環境122上の多くのクライアント端末120に存在する脆弱性と第1端末群内占有率(ユーザ環境内占有率202)とを優先して、第2端末(実行端末123)を再構築する際のソフトウェア構成を決定することができる。   Further, the execution environment construction device 101 associates the occupancy rate in the first terminal group (user environment occupancy rate 202) indicating the proportion of the first terminals having the software including the vulnerability in the first terminal group with the vulnerability. Then, the above ratio is calculated. As a result, the second terminal (execution terminal 123) is re-established with priority given to the vulnerability existing in many client terminals 120 on the user environment 122 and the occupation ratio in the first terminal group (occupation ratio 202 in the user environment). The software configuration at the time of construction can be determined.

また、実行環境構築装置101は、制約条件下で実行環境候補について占有率の総和を最大化することにより、実行環境候補群の中から第2端末群で構築する特定の実行環境候補を選定する。これにより、制約条件に遵守し、かつ、ソフトウェアがより多くインストールされるマルウェアの実行環境を容易に生成することができる。したがって、ユーザ組織ごとの固有の要件に基づき、ユーザ組織のマルウェアの実行環境を、第2端末(実行端末123)上に構築、または再構築することができる。   Further, the execution environment construction device 101 selects a specific execution environment candidate to be constructed by the second terminal group from the execution environment candidate group by maximizing the sum of the occupancy rates of the execution environment candidates under the constraint condition. . Accordingly, it is possible to easily generate an execution environment of malware in which the software is installed in a larger amount while complying with the constraint conditions. Therefore, the execution environment of the malware of the user organization can be constructed or reconstructed on the second terminal (execution terminal 123) based on the unique requirements of each user organization.

また、実行環境構築装置101は、各実行環境候補内のソフトウェアに占有率を対応付けた実行環境脆弱性関係情報を自動作成する。これにより、実行環境候補と占有率との対応関係を自動的に網羅することができる。またこれにより、特定の実行環境候補の選定の効率化を図ることができる。   Further, the execution environment construction apparatus 101 automatically creates execution environment vulnerability relation information in which the occupancy is associated with the software in each execution environment candidate. This makes it possible to automatically cover the correspondence between the execution environment candidates and the occupancy. This also makes it possible to increase the efficiency of selecting a specific execution environment candidate.

なお、本発明は前述した実施例に限定されるものではなく、添付した特許請求の範囲の趣旨内における様々な変形例及び同等の構成が含まれる。例えば、前述した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに本発明は限定されない。また、ある実施例の構成の一部を他の実施例の構成に置き換えてもよい。また、ある実施例の構成に他の実施例の構成を加えてもよい。また、各実施例の構成の一部について、他の構成の追加、削除、または置換をしてもよい。   It should be noted that the present invention is not limited to the embodiments described above, but includes various modifications and equivalent configurations within the scope of the appended claims. For example, the above-described embodiments have been described in detail for easy understanding of the present invention, and the present invention is not necessarily limited to those having all the configurations described above. Further, a part of the configuration of one embodiment may be replaced with the configuration of another embodiment. Further, the configuration of one embodiment may be added to the configuration of another embodiment. Further, for a part of the configuration of each embodiment, another configuration may be added, deleted, or replaced.

また、前述した各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等により、ハードウェアで実現してもよく、プロセッサがそれぞれの機能を実現するプログラムを解釈し実行することにより、ソフトウェアで実現してもよい。   In addition, each of the above-described configurations, functions, processing units, processing means, and the like may be partially or entirely realized by hardware, for example, by designing an integrated circuit, or the like, and the processor may realize each function. The program may be implemented by software by interpreting and executing the program.

各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、SSD(Solid State Drive)等の記憶装置、又は、IC(Integrated Circuit)カード、SDカード、DVD(Digital Versatile Disc)の記録媒体に格納することができる。   Information such as a program, a table, and a file for realizing each function is stored in a memory, a hard disk, a storage device such as an SSD (Solid State Drive), or an IC (Integrated Circuit) card, an SD card, and a DVD (Digital Versatile Disc). It can be stored on a medium.

また、制御線や情報線は説明上必要と考えられるものを示しており、実装上必要な全ての制御線や情報線を示しているとは限らない。実際には、ほとんど全ての構成が相互に接続されていると考えてよい。   Further, the control lines and the information lines are considered to be necessary for the description, and do not necessarily indicate all the control lines and the information lines necessary for the mounting. In practice, it can be considered that almost all components are interconnected.

101 実行環境構築装置
103 プロセッサ
108 環境構築判定プログラム
109 実行環境構成決定プログラム
110 判定結果表示プログラム
111 実行端末実装プログラム
112 ユーザ環境脆弱性テーブル
113 解析環境脆弱性テーブル
114 ソフトウェア脆弱性関係情報
115 ソフトウェア特徴情報テーブル
116 ソフトウェア関係テーブル
117 実行環境候補情報
118 実行環境脆弱性関係情報
119 実行環境占有率関係情報
120 クライアント端末
122 ユーザ環境
123 実行端末
124 マルウェア解析環境
101 execution environment construction apparatus 103 processor 108 environment construction judgment program 109 execution environment configuration determination program 110 judgment result display program 111 execution terminal implementation program 112 user environment vulnerability table 113 analysis environment vulnerability table 114 software vulnerability relation information 115 software feature information Table 116 Software relation table 117 Execution environment candidate information 118 Execution environment vulnerability relation information 119 Execution environment occupancy relation information 120 Client terminal 122 User environment 123 Execution terminal 124 Malware analysis environment

Claims (15)

プログラムを実行するプロセッサと、前記プログラムを記憶する記憶デバイスと、を有する計算機であって、
前記記憶デバイスは、同一端末内で実行可能な1以上のソフトウェアの組み合わせである実行環境候補群の各実行環境候補に前記ソフトウェアに含まれる脆弱性を対応付けた実行環境脆弱性関係情報を記憶しており、
前記プロセッサは、
前記ソフトウェアの組み合わせである第1実行環境を第1端末群で実行する場合に要求される制約条件を設定する設定処理と、
前記実行環境脆弱性関係情報に基づいて、前記設定処理によって設定された前記制約条件下で前記実行環境候補について前記脆弱性の数を最大化することにより、前記実行環境候補群の中から前記第1端末群で実行される特定の第1実行環境候補を選定する第1選定処理と、
前記第1選定処理によって選定された前記特定の第1実行環境候補を出力する出力処理と、
を実行することを特徴とする計算機。
A computer having a processor that executes a program and a storage device that stores the program,
Said storage device, each execution environment candidate execution environment candidates is a combination of one or more software executable in the same terminal, the execution environment vulnerability related information associating the vulnerabilities in the software I remember
The processor comprises:
A setting process for setting a constraint condition required when the first execution environment, which is a combination of the software, is executed on the first terminal group;
Based on the execution environment vulnerability related information, by maximizing the number of vulnerabilities for the execution environment candidate by the constraint conditions set by the setting processing, the out of the execution environment candidates first A first selection process of selecting a specific first execution environment candidate executed by one terminal group ;
An output process of outputting the specific first execution environment candidate selected by the first selection process;
Calculator characterized by performing.
請求項1に記載の計算機であって、
前記記憶デバイスは、同一端末内で実行可能な1以上のソフトウェアの組み合わせである実行環境候補群を記憶する実行環境候補情報と、前記ソフトウェアに含まれる脆弱性を規定したソフトウェア脆弱性関係情報と、を記憶しており、
前記プロセッサは、
前記実行環境候補情報内の前記実行環境候補群の各実行環境候補内の前記ソフトウェアに前記ソフトウェア脆弱性関係情報内の前記脆弱性を対応付けることにより、実行環境脆弱性関係情報を作成して前記記憶デバイスに格納する第1作成処理を実行し、
前記第1選定処理では、前記プロセッサは、前記第1作成処理によって作成された前記実行環境脆弱性関係情報に基づいて、前記制約条件下で前記実行環境候補について前記脆弱性の数を最大化することにより、前記実行環境候補群の中から前記特定の第1実行環境候補を選定することを特徴とする計算機。
The computer according to claim 1,
The storage device, execution environment candidate information for storing an execution environment candidate group that is a combination of one or more software executable in the same terminal, software vulnerability relation information defining vulnerabilities included in the software, I remember
The processor comprises:
By associating the vulnerability in the software vulnerability relation information with the software in each execution environment candidate of the execution environment candidate group in the execution environment candidate information, the execution environment vulnerability relation information is created and stored. Execute a first creation process to be stored in the device,
In the first selection process, the processor maximizes the number of vulnerabilities for the execution environment candidate under the constraint condition based on the execution environment vulnerability relationship information created by the first creation process. Thus, the computer selects the specific first execution environment candidate from the execution environment candidate group.
請求項2に記載の計算機であって、
前記記憶デバイスは、同一端末内で実行可能なソフトウェアどうしを対応付けたソフトウェア関係情報を記憶しており、
前記プロセッサは、
前記ソフトウェア関係情報を参照して、前記実行環境候補情報を作成して、前記記憶デバイスに格納する第2作成処理を実行することを特徴とする計算機。
The computer according to claim 2, wherein
The storage device stores software-related information that associates software executable in the same terminal,
The processor comprises:
A computer that executes the second creation process of creating the execution environment candidate information with reference to the software-related information and storing the created information in the storage device.
請求項3に記載の計算機であって、
前記記憶デバイスは、前記ソフトウェアの特徴情報を記憶するソフトウェア特徴情報を記憶しており、
前記第2作成処理では、前記プロセッサは、前記ソフトウェア特徴情報に基づいて、前記実行環境候補群を絞り込むことにより、前記実行環境候補情報を作成して、前記記憶デバイスに格納することを特徴とする計算機。
The computer according to claim 3, wherein
The storage device stores software feature information for storing feature information of the software,
In the second creation processing, the processor creates the execution environment candidate information by narrowing down the execution environment candidate group based on the software characteristic information, and stores the created execution environment candidate information in the storage device. calculator.
請求項4に記載の計算機であって、
前記特徴情報は、前記ソフトウェアのデータ量であり、
前記第2作成処理では、前記プロセッサは、前記実行環境候補を構成する前記ソフトウェアのデータ量の総和を算出し、当該総和が所定データ量を超過した実行環境候補を削除することにより、前記実行環境候補情報を作成して、前記記憶デバイスに格納することを特徴とする計算機。
The computer according to claim 4, wherein
The feature information is a data amount of the software,
In the second creation processing, the processor calculates a total of the data amount of the software configuring the execution environment candidate, and deletes the execution environment candidate having the total exceeding a predetermined data amount, thereby executing the execution environment candidate. A computer that creates candidate information and stores the candidate information in the storage device.
請求項4に記載の計算機であって、
前記特徴情報は、前記ソフトウェアのカテゴリであり、
前記第2作成処理では、前記プロセッサは、前記実行環境候補群のうち同一カテゴリの前記ソフトウェアを有する実行環境候補を削除することにより、前記実行環境候補情報を作成して、前記記憶デバイスに格納することを特徴とする計算機。
The computer according to claim 4, wherein
The feature information is a category of the software,
In the second creation process, the processor creates the execution environment candidate information by deleting an execution environment candidate having the software of the same category from the execution environment candidate group, and stores the execution environment candidate information in the storage device. A computer characterized by that:
請求項3に記載の計算機であって、
前記第2作成処理では、前記プロセッサは、前記ソフトウェアの組み合わせが完全一致する前記実行環境候補が複数存在する場合、前記ソフトウェアの組み合わせが完全一致する複数の実行環境候補のうち1つのみ残して残余を削除することにより、前記実行環境候補情報を作成して、前記記憶デバイスに格納することを特徴とする計算機。
The computer according to claim 3, wherein
In the second creation processing, when there are a plurality of the execution environment candidates in which the combination of the software completely matches, the processor leaves only one of the plurality of execution environment candidates in which the combination of the software completely matches, and A computer that creates the execution environment candidate information and stores it in the storage device.
請求項3に記載の計算機であって、
前記第2作成処理では、前記プロセッサは、前記実行環境候補群のうちある実行環境候補を構成する前記ソフトウェアの組み合わせが他の実行環境候補を構成する前記ソフトウェアの組み合わせを包含する場合、前記他の実行環境候補を削除することにより、前記実行環境候補情報を作成して、前記記憶デバイスに格納することを特徴とする計算機。
The computer according to claim 3, wherein
In the second creation processing, the processor, when a combination of the software constituting one execution environment candidate in the execution environment candidate group includes a combination of the software constituting another execution environment candidate, A computer, wherein the execution environment candidate information is created by deleting the execution environment candidate and stored in the storage device.
請求項1に記載の計算機であって、
前記記憶デバイスは、前記第1実行環境を構成する前記ソフトウェアの組み合わせの各ソフトウェアに含まれる脆弱性を規定する第1環境脆弱性情報と、第2端末群で実行済みの第2実行環境を構成する前記ソフトウェアに含まれる脆弱性を規定する第2環境脆弱性情報と、を記憶しており、
前記プロセッサは、
前記第1環境脆弱性情報および前記第2環境脆弱性情報を参照して、前記第環境脆弱性情報に含まれる脆弱性の総数に対する、前記第1環境脆弱性情報および前記第2環境脆弱性情報に共通して含まれる脆弱性の総数の割合を算出し、当該割合に基づいて、前記第1選定処理を実行するか否かを判定する判定処理を実行することを特徴とする計算機。
The computer according to claim 1,
The storage device includes a first environmental sensitivity information defining the vulnerabilities in the software of the combination of the software constituting the first execution environment, constituting the executed second executing environment in the second terminal group And second environment vulnerability information that defines the vulnerabilities contained in the software.
The processor comprises:
Referring to the first environmental vulnerability information and the second environmental vulnerability information, the first environmental vulnerability information and the second environmental vulnerability with respect to the total number of vulnerabilities included in the second environmental vulnerability information A computer, which calculates a ratio of the total number of vulnerabilities included in common to information, and executes a determination process of determining whether to execute the first selection process based on the ratio.
請求項9に記載の計算機であって、
前記第1環境脆弱性情報は、前記脆弱性の脅威を示す脅威指標を前記脆弱性に対応付けて記憶しており、
前記判定処理では、前記プロセッサは、さらに、前記脅威指標に基づいて前記割合を算出することを特徴とする計算機。
The computer according to claim 9, wherein
The first environmental vulnerability information stores a threat index indicating the threat of the vulnerability in association with the vulnerability.
In the determination process, the processor further calculates the ratio based on the threat index.
請求項9に記載の計算機であって、
前記第1環境脆弱性情報は、前記第1端末群のうち前記脆弱性を含むソフトウェアを有する第1端末の割合を示す第1端末群内占有率を前記脆弱性に対応付けて記憶しており、
前記判定処理では、前記プロセッサは、さらに、前記第1端末群内占有率に基づいて前記割合を算出することを特徴とする計算機。
The computer according to claim 9, wherein
The first environmental vulnerability information stores an occupancy rate in the first terminal group indicating a ratio of first terminals having software including the vulnerability in the first terminal group in association with the vulnerability. ,
In the determination process, the processor further calculates the ratio based on the occupancy in the first terminal group.
請求項1に記載の計算機であって、
前記記憶デバイスは、同一端末内で実行可能な1以上の前記ソフトウェアの組み合わせである実行環境候補群の各実行環境候補内の前記ソフトウェアについて、前記第1実行環境内の前記ソフトウェアの組み合わせにおける前記ソフトウェアの種類数に対する割合である占有率を対応付けた実行環境占有率関係情報を記憶しており、
前記プロセッサは、
前記実行環境占有率関係情報に基づいて、前記設定処理によって設定された前記制約条件下で前記実行環境候補について前記占有率の総和を最大化することにより、前記実行環境候補群の中から前記第1端末群で実行される特定の第2実行環境候補を選定する第2選定処理を実行し、
前記出力処理では、前記プロセッサは、前記第2選定処理によって選定された前記特定の第2実行環境候補を出力することを特徴とする計算機。
The computer according to claim 1,
The storage device, for the software in each execution environment candidate of an execution environment candidate group that is a combination of one or more of the software executable in the same terminal, the software in the combination of the software in the first execution environment Execution environment occupancy rate relation information in which an occupancy rate which is a ratio to the number of types is stored,
The processor comprises:
Based on the execution environment occupancy related information, by maximizing the sum of the occupancy rate for the execution environment candidate by the constraint conditions set by the setting processing, the out of the execution environment candidates first Performing a second selection process of selecting a specific second execution environment candidate to be executed by one terminal group ;
In the output process, the processor outputs the specific second execution environment candidate selected by the second selection process.
請求項12に記載の計算機であって、
前記記憶デバイスは、同一端末内で実行可能な1以上のである実行環境候補群を記憶する実行環境候補情報と、前記ソフトウェアに当該ソフトウェアの特徴情報として前記占有率を対応付けたソフトウェア特徴情報と、を記憶しており、
前記プロセッサは、
前記実行環境候補情報内の前記実行環境候補群の各実行環境候補内の前記ソフトウェアに前記ソフトウェア特徴情報内の前記占有率を対応付けることにより、実行環境占有率関係情報を作成して前記記憶デバイスに格納する作成処理を実行し、
前記第2選定処理では、前記プロセッサは、前記作成処理によって作成された前記実行環境占有率関係情報に基づいて、前記制約条件下で前記実行環境候補について前記占有率の総和を最大化することにより、前記実行環境候補群の中から前記特定の第2実行環境候補を選定することを特徴とする計算機。
The computer according to claim 12, wherein
The storage device is execution environment candidate information that stores one or more execution environment candidate groups that can be executed in the same terminal, software feature information in which the occupancy is associated with the software as feature information of the software, I remember
The processor comprises:
By associating the software in each of the execution environment candidates of the execution environment candidate group in the execution environment candidate information with the occupancy in the software feature information, execution environment occupancy relationship information is created and stored in the storage device. Execute the creation process to store,
In the second selection process, the processor maximizes the sum of the occupancy rates of the execution environment candidates under the constraint condition based on the execution environment occupancy relationship information created by the creation process. And selecting the specific second execution environment candidate from the execution environment candidate group.
プログラムを実行するプロセッサと、前記プログラムを記憶する記憶デバイスと、を有する計算機による選定方法であって、
前記記憶デバイスは、同一端末内で実行可能な1以上のソフトウェアの組み合わせである実行環境候補群の各実行環境候補に前記ソフトウェアに含まれる脆弱性を対応付けた実行環境脆弱性関係情報を記憶しており、
前記プロセッサは、
前記ソフトウェアの組み合わせである第1実行環境を第1端末群で実行する場合に要求される制約条件を設定する設定処理と、
前記実行環境脆弱性関係情報に基づいて、前記設定処理によって設定された前記制約条件下で前記実行環境候補について前記脆弱性の数を最大化することにより、前記実行環境候補群の中から前記第1端末群で実行される特定の実行環境候補を選定する選定処理と、
前記選定処理によって選定された前記特定の実行環境候補を出力する出力処理と、
を実行することを特徴とする選定方法。
A selection method by a computer having a processor that executes a program and a storage device that stores the program,
Said storage device, each execution environment candidate execution environment candidates is a combination of one or more software executable in the same terminal, the execution environment vulnerability related information associating the vulnerabilities in the software I remember
The processor comprises:
A setting process for setting a constraint condition required when the first execution environment, which is a combination of the software, is executed on the first terminal group;
Based on the execution environment vulnerability related information, by maximizing the number of vulnerabilities for the execution environment candidate by the constraint conditions set by the setting processing, the out of the execution environment candidates first A selection process of selecting a specific execution environment candidate to be executed by one terminal group ;
An output process of outputting the specific execution environment candidate selected by the selection process;
A selection method characterized by performing the following.
記憶デバイスにアクセス可能なプロセッサに実行させる選定プログラムであって、
前記記憶デバイスは、同一端末内で実行可能な1以上のソフトウェアの組み合わせである実行環境候補群の各実行環境候補に前記ソフトウェアに含まれる脆弱性を対応付けた実行環境脆弱性関係情報を記憶しており、
前記プロセッサに、
前記ソフトウェアの組み合わせである第1実行環境を第1端末群で実行する場合に要求される制約条件を設定する設定処理と、
前記実行環境脆弱性関係情報に基づいて、前記設定処理によって設定された前記制約条件下で前記実行環境候補について前記脆弱性の数を最大化することにより、前記実行環境候補群の中から前記第1端末群で実行される特定の実行環境候補を選定する選定処理と、
前記選定処理によって選定された前記特定の実行環境候補を出力する出力処理と、
を実行させることを特徴とする選定プログラム。
A selection program to be executed by a processor accessible to the storage device,
Said storage device, each execution environment candidate execution environment candidates is a combination of one or more software executable in the same terminal, the execution environment vulnerability related information associating the vulnerabilities in the software I remember
To the processor,
A setting process for setting a constraint condition required when the first execution environment, which is a combination of the software, is executed on the first terminal group;
Based on the execution environment vulnerability related information, by maximizing the number of vulnerabilities for the execution environment candidate by the constraint conditions set by the setting processing, the out of the execution environment candidates first A selection process of selecting a specific execution environment candidate to be executed by one terminal group ;
An output process of outputting the specific execution environment candidate selected by the selection process;
A selection program characterized by executing
JP2016178052A 2016-09-12 2016-09-12 Computer, selection method and selection program Active JP6626804B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016178052A JP6626804B2 (en) 2016-09-12 2016-09-12 Computer, selection method and selection program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016178052A JP6626804B2 (en) 2016-09-12 2016-09-12 Computer, selection method and selection program

Publications (2)

Publication Number Publication Date
JP2018045329A JP2018045329A (en) 2018-03-22
JP6626804B2 true JP6626804B2 (en) 2019-12-25

Family

ID=61693123

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016178052A Active JP6626804B2 (en) 2016-09-12 2016-09-12 Computer, selection method and selection program

Country Status (1)

Country Link
JP (1) JP6626804B2 (en)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5912074B2 (en) * 2012-10-30 2016-04-27 株式会社日立製作所 Program analysis system and method
JP2014089609A (en) * 2012-10-30 2014-05-15 Hitachi Advanced Systems Corp Program analysis method and program analysis system
JP6116524B2 (en) * 2014-06-05 2017-04-19 株式会社日立システムズ Program analysis apparatus, program analysis method, and program analysis system
EP3232360B1 (en) * 2015-01-28 2020-01-15 Nippon Telegraph and Telephone Corporation Malware analysis system, malware analysis method, and malware analysis program

Also Published As

Publication number Publication date
JP2018045329A (en) 2018-03-22

Similar Documents

Publication Publication Date Title
US9274714B2 (en) Method and system for managing storage capacity in a storage network
KR101522014B1 (en) The method, device and recording medium for managing application icon
US8904377B2 (en) Reconfiguration of computer system to allow application installation
US9773010B1 (en) Information-driven file system navigation
US20140081615A1 (en) Virtual systems testing
US11521082B2 (en) Prediction of a data protection activity time for a backup environment
KR101355273B1 (en) A computing system, a method for controlling thereof, and a computer-readable recording medium having a computer program for controlling thereof
US11093320B2 (en) Analysis facilitator
US10540518B2 (en) Privacy annotation from differential analysis of snapshots
US8621550B1 (en) Information technology resource compliance templates
US11636386B2 (en) Determining data representative of bias within a model
US10810160B2 (en) Automated hardware device storage tiering
US11645234B2 (en) Rule-based collections of subset(s) of metadata in response to a trigger event occurring
US11474809B2 (en) Upgrades based on analytics from multiple sources
US10439897B1 (en) Method and apparatus for enabling customized control to applications and users using smart tags
US11704279B2 (en) Event driven migration, recall, and data placement optimization based on custom metadata
JP6626804B2 (en) Computer, selection method and selection program
US9367573B1 (en) Methods and apparatus for archiving system having enhanced processing efficiency
US10025838B2 (en) Extract transform load input suggestion
US11416468B2 (en) Active-active system index management
US7603376B1 (en) File and folder scanning method and apparatus
US20210157849A1 (en) Determining an audit level for data
US20120066655A1 (en) Electronic device and method for inspecting electrical rules of circuit boards
US10891174B1 (en) Performing hierarchical provenance collection
JP2016184213A (en) Method for anonymizing numeric data, and numeric data anonymization server

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181126

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190930

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191008

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191113

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191202

R150 Certificate of patent or registration of utility model

Ref document number: 6626804

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250