JP6626804B2 - Computer, selection method and selection program - Google Patents
Computer, selection method and selection program Download PDFInfo
- 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
Links
- 238000010187 selection method Methods 0.000 title claims description 4
- 238000000034 method Methods 0.000 claims description 105
- 230000008569 process Effects 0.000 claims description 92
- 238000003860 storage Methods 0.000 claims description 56
- 238000012545 processing Methods 0.000 claims description 49
- 230000007613 environmental effect Effects 0.000 claims description 12
- 230000035945 sensitivity Effects 0.000 claims description 5
- 238000004458 analytical method Methods 0.000 description 93
- 238000010276 construction Methods 0.000 description 91
- 230000008520 organization Effects 0.000 description 25
- 238000010586 diagram Methods 0.000 description 24
- 230000006870 function Effects 0.000 description 9
- 238000012217 deletion Methods 0.000 description 7
- 230000037430 deletion Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 4
- 238000005457 optimization Methods 0.000 description 4
- 230000001174 ascending effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 238000009434 installation Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 241000700605 Viruses Species 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013498 data listing Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 208000015181 infectious disease Diseases 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
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.
特許文献1の技術は、あるユーザ組織のマルウェアの実行環境として、ユーザPCと同等の実行環境を備えた実行端末を複数用意することで、ユーザ組織のあるユーザ端末でマルウェアの感染が発覚した際に、迅速にマルウェア解析を行うことを可能としている。しかし、ユーザ組織の規模に応じて、ユーザPCの台数と、ユーザPCにインストールされるソフトウェアの種類は増加するため、本技術の適用においては、必要となるマルウェアの実行端末の個数は際限なく増加する。このため、本技術において用意することが求められる実行端末の、個数や、端末の用意に係る予算について、ユーザ組織ごとの要求を反映させることが困難である。
The technique disclosed in
本発明は、制約条件に遵守したマルウェアの実行環境を容易に生成することを目的とする。 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.
本実施例では、ユーザからの制約条件として、たとえば、マルウェアを解析する端末の端末環境の構築に係るソフトウェアに関する費用、またはマルウェアを解析する端末の個数に関して制限がある場合を例に挙げて説明する。また、以後は、マルウェアを解析する端末の端末環境と、ユーザ組織に存在する端末の端末環境とにおいて、端末環境として、特に端末のソフトウェア構成に着目する。 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
マルウェア解析環境は、ネットワーク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
実行環境構築装置101は、ユーザ環境とマルウェア環境とを互いに比較し、比較の結果一定以上の差異が見られた場合に、マルウェア解析環境を、ユーザから要求された一定の制約条件の下で再構成する。
The execution
実行環境構築装置101は、プロセッサ103と、プロセッサ103が処理を実行するために必要なデータを格納するためのメインメモリ104と、大量のデータを記憶する容量を持つハードディスクやフラッシュメモリなどの記憶装置105と、他装置と通信を行なうためのIF(InterFace)102a,102bと、キーボード、ディスプレイなどの入出力を行うための入出力装置106と、これらの各装置を接続する通信路107と、を有する。実行環境構築装置101は、例えば、パーソナルコンピュータやワークステーション、その他のコンピュータにより実現される。なお、通信路107は、例えば、バスやケーブルといった情報伝達媒体である。
The execution
プロセッサ103は、メインメモリ104に格納された環境構築判定プログラム108を実行することで、マルウェア解析環境124上の実行端末123の、ソフトウェア構成を再構築する必要性を判定する。プロセッサ103は、メインメモリ104に格納された実行環境構成決定プログラム109を実行することで、実行端末123の上で構築可能なソフトウェア構成を決定する。プロセッサ103は、メインメモリ104に格納された判定結果表示プログラム110を実行することで、環境構築判定プログラム108の出力結果および実行環境構成決定プログラム109の出力結果をそれぞれ表示する。プロセッサ103は、メインメモリ104に格納された実行端末実装プログラム111を実行することで、実行環境構成決定プログラム109の出力結果に基づき、マルウェア解析環境124の中に、実行端末123のソフトウェア構成を再構築する。
The
メインメモリ104は、環境構築判定プログラム108と、実行環境構成決定プログラム109と、判定結果表示プログラム110と、実行端末実装プログラム111と、を記憶する記憶デバイスである。環境構築判定プログラム108は、記憶装置105内のユーザ環境脆弱性テーブル112と解析環境脆弱性テーブル113とを参照し、実行端末123のソフトウェア構成を再構築する必要性を判定する。
The
実行環境構成決定プログラム109は、記憶装置105内のユーザ環境脆弱性テーブル112とソフトウェア脆弱性関係情報114とソフトウェア特徴情報テーブル115とソフトウェア関係テーブル116とを参照する。そして、実行環境構成決定プログラム109は、記憶装置105上で実行環境候補情報117と、実行環境脆弱性関係情報118と、実行環境占有率関係情報119とを作成する。そして、実行環境構成決定プログラム109は、作成した情報(117〜119)を参照することで、マルウェア解析環境124で構築する実行端末123のソフトウェア構成を決定する。なお、実行環境構成決定プログラム109は、ソフトウェア構成としては、実行環境脆弱性関係情報118を用いた結果と、実行環境占有率関係情報119を用いた結果との二通りを、候補として出力する。
The execution environment
判定結果表示プログラム110は、実行環境構成決定プログラム109の出力結果を参照し、マルウェア解析環境124上の実行端末123がソフトウェア構成を再構築する必要がある旨を入出力装置106に表示する。判定結果表示プログラム110は、実行環境構成決定プログラム109の出力結果を参照し、再構築後の実行端末123のソフトウェア構成を、入出力装置106に二通り表示する。これにより、いずれか一方の出力結果がユーザに選択可能である。
The determination
実行端末実装プログラム111は、判定結果表示プログラム110により入出力装置106に表示されたメッセージに対し、ユーザが選択した出力結果を入出力装置106から参照し、マルウェア解析環境124の実行端末123の上に、ソフトウェア構成を再構築する。
The execution
記憶装置105には、マルウェア解析環境124上の実行端末123のソフトウェア構成を再構築する必要性の有無の判定に用いる記録データが記憶される。また、記憶装置105には、再構築の必要が生じた際、マルウェア解析環境124上に再構築する実行端末123の、ソフトウェア構成の候補情報を出力するために用いる記録データが記憶される。また、記憶装置105には、候補情報を格納する記録データが記憶される。
The
具体的には、記憶装置105は、ユーザ環境脆弱性テーブル112と、解析環境脆弱性テーブル113と、ソフトウェア脆弱性関係情報114と、ソフトウェア特徴情報テーブル115と、ソフトウェア関係テーブル116と、実行環境候補情報117と、実行環境脆弱性関係情報118と、実行環境占有率関係情報119と、を記憶する記憶デバイスである。
Specifically, the
ユーザ環境脆弱性テーブル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
ソフトウェア関係テーブル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
<各種テーブルの記憶内容例>
図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
図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
ユーザ環境脆弱性フィールド201は、ユーザ環境脆弱性を格納する記憶領域である。ユーザ環境脆弱性201は、ユーザ環境122上のクライアント端末120のいずれかに存在する脆弱性を一意に特定する識別子である。ユーザ環境脆弱性201は、たとえば、MITRE Corporationの採番するCVE(Common Vulnerabilities and Exposures)の形式を用いて記述される。だたし、ユーザ環境脆弱性201には、その他公的な機関(たとえば、IPA(Information‐technology Promotion Agency))の採番する脆弱性のIDを用いてもよい。また、ユーザ環境122上のいずれかのクライアント端末120に存在する脆弱性は、すべてユーザ環境脆弱性テーブル112に含まれる。
The user
ユーザ環境内占有率フィールド202は、ユーザ環境内占有率を格納する記憶領域である。ユーザ環境内占有率202は、ユーザ環境脆弱性テーブル112において同一の行で対応するユーザ環境脆弱性201が、ユーザ環境122のクライアント端末120に存在する脆弱性全体に占める割合である。ユーザ環境内占有率202は、たとえば、以下のように構成される。ユーザ環境122上のすべてのクライアント端末120から、クライアント端末120に存在する脆弱性を、重複を認めて全て列挙した際、列挙した結果の個数全体に対して、対象のユーザ環境脆弱性201が占める割合が、ユーザ環境内占有率202である。なお、ユーザ環境内占有率202は、たとえば、パーセンテージを単位とした数値で表される。
The user environment
脅威指標フィールド203は、脅威指標を格納する記憶領域である。脅威指標203は、ユーザ環境脆弱性テーブル112において同一の行で対応するユーザ環境脆弱性201に付随して存在する脆弱性の脅威を区分けした指標値である。脅威指標203には、たとえば、CVSS(Common Vulnerability Scoring System)などを用いて表される。
The
なお、ユーザ環境脆弱性201は、ユーザ環境122上のクライアント端末120のいずれかに存在する脆弱性の一覧を出力するシステムにより、あらかじめ格納されているものとする。また、ユーザ環境内占有率202および脅威指標203についても、あらかじめ格納されているものとする。
Note that the
図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
解析環境脆弱性フィールド301は、解析環境脆弱性を格納する記憶領域である。解析環境脆弱性301は、マルウェア解析環境124上の実行端末123のいずれかに存在する脆弱性である。解析環境脆弱性301は、ユーザ環境脆弱性201と同様の形式で記述される。また、マルウェア解析環境124上のいずれかの実行端末123に存在する脆弱性は、すべて解析環境脆弱性テーブル113に含まれる。
The analysis
解析環境脆弱性テーブル113におけるユーザ環境内占有率202は、以下のように格納される。プロセッサ103は、解析環境脆弱性301に対して、ユーザ環境脆弱性テーブル112のユーザ環境脆弱性201において対応する行を探索する。対応する行が存在した場合、プロセッサ103は、対応するユーザ環境脆弱性201と同一の行に格納されているユーザ環境内占有率202を、解析環境脆弱性テーブル113におけるユーザ環境内占有率フィールド202に格納する。
The
たとえば、解析環境脆弱性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
なお、ユーザ環境脆弱性テーブル112の中に解析環境脆弱性301に対応する格納情報が存在しない場合は、解析環境脆弱性テーブル113におけるユーザ環境内占有率202の値は入力なしとなる。また、解析環境脆弱性301は、マルウェア解析環境124上の実行端末123のいずれかに存在する脆弱性の一覧を出力するシステムにより、あらかじめ格納されているものとする。
If there is no stored information corresponding to the
図4は、ソフトウェア脆弱性関係情報114の記憶内容例を示す説明図である。ソフトウェア脆弱性関係情報114は、ユーザ環境脆弱性201を行とし、ソフトウェアバージョン401を列とする表データである。なお、ソフトウェア脆弱性関係情報114におけるセルに含まれる値は、対応する列の表すソフトウェアのバージョンに、対応する行の表す脆弱性が存在するかを示す。存在する場合は「1」、存在しない場合は「0」となる。なお、ソフトウェア脆弱性関係情報114は、ステップS1502で参照される。ステップS1502については、図15を用いて後述する。
FIG. 4 is an explanatory diagram showing an example of the stored contents of the software
ソフトウェアバージョン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
図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
なお、ソフトウェア特徴情報テーブル115は、ステップS1309と、ステップS1312と、ステップS1503と、ステップS1504と、ステップS1505とで、それぞれ参照される。ステップS1309と、ステップS1302とについては、図13を用いて後述し、ステップS1503と、ステップS1504については、図15を用いて後述する。 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
必要容量フィールド503は、必要データ量を格納する記憶領域である。必要データ量503は、あるソフトウェアのバージョンを、ユーザ環境122上のクライアント端末120へインストールする際に必要となるデータ量である。必要データ量503は、たとえば、キロバイトを単位とした数値で記述される。
The required
占有率フィールド504は、占有率を格納する記憶領域である。占有率504は、あるソフトウェアのバージョンが、ユーザ環境122上のクライアント端末120にインストールされている割合である。占有率504は、たとえば、ユーザ環境122上のすべてのクライアント端末120から、クライアント端末120にインストールされたソフトウェアのバージョンを、重複を認めて全て列挙した際、列挙した結果の個数全体(すなわち、ソフトウェアのバージョンの種類数)に対する、対象のソフトウェアのバージョンが占める割合である。なお、占有率504は、たとえば、パーセンテージを単位とした数値で表される。
The
ソフトウェアカテゴリフィールド505は、ソフトウェアカテゴリを格納する記憶領域である。ソフトウェアカテゴリ505は、ソフトウェアの種類をいくつかのグループに分類するための分類情報である。ソフトウェアカテゴリ505の例として、OS、文書編集ソフト、インターネットブラウザが挙げられる。ソフトウェアカテゴリ505は、ステップS1312において、同一の分類であるソフトウェアを複数持つようなソフトウェア構成を、削除するために用いられる。
The
なお、費用502と必要データ量503とは、該当ソフトウェアの取扱説明書に記載の内容や、各企業の公式ウェブサイトに記載されたリリース情報等から抽出される。また、占有率504は、ユーザ環境122に含まれるクライアント端末120を構成するソフトウェアを全て列挙するシステムにより抽出される。費用502〜占有率504は、あらかじめ格納されているものとする。
Note that the
図6は、ソフトウェア関係テーブル116の記憶内容例を示す説明図である。ソフトウェア関係テーブル116は、関係ID601と、ソフトウェアバージョンA602と、ソフトウェアバージョンB603と、を有する。同一行における各フィールド401,502〜505の値の組み合わせによりエントリが構成される。なお、ソフトウェア関係テーブル116は、ステップS1302と、ステップS1308と、ステップS1503と、ステップS1505と、ステップS1506とで、それぞれ参照される。ステップS1302と、ステップS1308とは、図13を用いて後述し、ステップS1503と、ステップS1505と、ステップS1506とは、図15を用いて後述する。
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
関係IDフィールド601は、関係IDを格納する記憶領域である。関係ID601は、ソフトウェアバージョンA602と、ソフトウェアバージョンB603とを一意に特定する識別情報である。なお、同一の関係ID601に対応する、ソフトウェアバージョンA602と、ソフトウェアバージョンB603との組み合わせは、同一の端末にインストール可能なソフトウェアのバージョンの組み合わせであることを示す。たとえば、関係ID601が「D1」のエントリでは、ソフトウェアバージョンA602が「ソフトウェアXXのバージョンYY」であり、ソフトウェアバージョンB603が「ソフトウェアPPのバージョンQQ」である。したがって、「ソフトウェアXXのバージョンYY」および「ソフトウェアPPのバージョンQQ」は、同一端末にインストール可能である。
The
ソフトウェアバージョンAフィールド602は、ソフトウェアバージョンAの識別情報を格納する記憶領域である。ソフトウェアバージョンAの識別情報(以下、単に、「ソフトウェアバージョンA」)602は、ソフトウェアバージョン401と同様に、ソフトウェアの名称とそのバージョンを示す。なお、ソフトウェアバージョンA602で特定されるソフトウェアのバージョンは、関係ID601により対応するソフトウェアバージョンB603で特定されるソフトウェアのバージョンに対し、リリース時期が早いものとする。さらに、ソフトウェアバージョンA602で特定されるソフトウェアのバージョンは、リリース時期に関して昇順で格納されるものとする。
The software version A
ソフトウェアバージョンBフィールド603は、ソフトウェアバージョンBの識別情報を格納する記憶領域である。ソフトウェアバージョンBの識別情報(以下、単に、「ソフトウェアバージョンB」)603は、ソフトウェアバージョン401と同様に、ソフトウェアの名称とそのバージョンを示す。なお、ソフトウェアバージョンB603で特定されるソフトウェアのバージョンは、関係ID601により対応するソフトウェアバージョンA602で特定されるソフトウェアのバージョンに対し、リリース時期が遅いものとする。さらに、ソフトウェアバージョンB603で特定されるソフトウェアのバージョンは、リリース時期に関して昇順で、格納されるものとする。
The software
ソフトウェア関係テーブル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
また、プロセッサ103は、異なる二つのエントリから、推移律により対応すると分かった二つのソフトウェアの組み合わせについても、ソフトウェア関係テーブル116の新たな行に追記してもよい。たとえば、ある行にてソフトウェアXとソフトウェアYがそれぞれソフトウェアバージョンAフィールド602とソフトウェアバージョンBフィールド603とに格納されており、かつ、別のエントリにてソフトウェアXとソフトウェアZがそれぞれソフトウェアバージョンAフィールド602とソフトウェアバージョンBフィールド603とに格納されているものとする。
In addition, the
この場合、プロセッサ103は、ソフトウェアYとソフトウェアZとを、新規エントリのソフトウェアバージョンAフィールド602とソフトウェアバージョンBフィールド603とに格納する。さらに、ソフトウェア関係テーブル116のソフトウェアバージョンAフィールド602を参照し、ソフトウェアバージョンA602に関して、そのリリース時期が昇順となるように、ソフトウェア関係テーブル116のソフトウェアバージョンAフィールド602とソフトウェアバージョンBフィールド603を並べ替える。
In this case, the
なお、ソフトウェア関係テーブル116は、ソフトウェア特徴情報テーブル115におけるソフトウェアバージョン401と、ソフトウェアの取扱説明書に記載のリリース時期や、各企業の公式ウェブサイトに記載されたリリース情報等の情報から格納可能である。
The software relation table 116 can be stored from the
図7は、実行環境候補情報117の一例を示す説明図である。実行環境候補情報117は、1以上の実行環境候補を列挙した表データである。実行環境候補情報117は、1以上の実行環境候補インデックス(図では、4個の実行環境候補インデックス701〜704。総称して、実行環境候補インデックス700)を有する。実行環境候補情報117は、ステップS1202で作成され、ステップS1502で参照される。ステップS1202は、図12を用いて後述し、ステップS1502は、図15を用いて後述する。
FIG. 7 is an explanatory diagram illustrating an example of the execution
実行環境候補700は、マルウェア解析環境124上の実行端末123で構築する、ソフトウェア構成の候補情報、すなわち、ソフトウェアのバージョンを1以上含む。実行環境候補700は、ソフトウェア特徴情報テーブル115における、ソフトウェアバージョン401の中の1個のソフトウェアのバージョン、または、複数のソフトウェアのバージョンにより構成される。なお、実行環境候補701〜704は、それぞれ、一つの端末上で構築可能なソフトウェア構成である。
The
図8は、実行環境脆弱性関係情報118の記憶内容例を示す説明図である。実行環境脆弱性関係情報118は、ユーザ環境脆弱性201を行とし、実行環境候補700を列とする表データである。なお、実行環境脆弱性関係情報118におけるセルに含まれる値は、当該セルが対応する列の実行環境候補700に対し、実行環境候補700を構成するソフトウェアに、当該セルが対応する行の脆弱性201が存在する場合は「1」、存在しない場合は「0」となる。なお、実行環境脆弱性関係情報118は、ステップS1502で作成され、ステップS1503で参照される。ステップS1502と、ステップS1503とは、図15を用いて後述する。
FIG. 8 is an explanatory diagram showing an example of the storage contents of the execution environment
図9は、実行環境占有率関係情報119の記憶内容例を示す説明図である。実行環境占有率関係情報119は、ソフトウェアバージョン401を行とし、実行環境候補701を列とする表データである。なお、実行環境占有率関係情報119におけるセルに含まれる値は、当該セルが対応する列の実行環境候補700に対し、実行環境候補700を構成するソフトウェアに、当該セルが対応する行のソフトウェアのバージョンが該当する場合は、当該ソフトウェアのバージョンの占有率504の数値、該当しない場合は「0」の数値となる。なお、実行環境占有率関係情報119は、ステップS1504で作成され、ステップS1505で参照される。ステップS1504と、ステップS1505とは、図15を用いて後述する。
FIG. 9 is an explanatory diagram of an example of the storage contents of the execution environment occupancy
<実行環境構築処理手順例>
図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
つぎに、実行環境構築装置101は、最終実行日時から一定期間が経過したことを条件として(ステップS1001:Yes)、メインメモリ104に格納された、環境構築判定プログラム108により環境構築判定処理を実行する(ステップS1003)。初回の実行環境構築処理の場合も同様である。最終実行日時から一定期間が経過していない場合(ステップS1001:No)、最終実行日時から一定期間が経過するまで待機する。一定期間は、管理者により任意に設定される。環境構築判定処理(ステップS1003)の詳細は、図11で後述する。
Next, the execution
つぎに、実行環境構築装置101は、環境構築判定処理の判定結果が「再構築の必要あり」か否かを判定する(ステップS1003)。再構築の必要なしの場合(ステップS1003:No)、実行環境構築装置101は、実行環境構築処理を終了する。一方、再構築の必要がある場合(ステップS1003:Yes)、実行環境構築装置101は、実行環境構成決定プログラム109による実行環境構成決定処理を実行する(ステップS1004)。
Next, the execution
実行環境構成決定処理(ステップ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
そして、実行環境構築装置101は、判定結果表示プログラム110を実行することで、環境構築判定処理(ステップS1003)の判定結果と、実行環境構成決定処理(ステップS1004)の決定結果とを用いて表示情報を生成し、入出力装置106に表示する(ステップS1005)。表示情報は、実行環境構成決定処理(ステップS1004)の2種類の決定結果である再構築環境候補群と、それらを選択するインタフェース(たとえば、選択ボタン)と、を含む。当該表示情報の詳細については図16で後述する。
Then, the execution
実行環境構築装置101は、入出力装置106に表示された表示情報からユーザによる再構築環境候補の選択を受け付ける(ステップS1006)と、実行端末実装プログラム111により、選択された再構築候補であるソフトウェア構成をマルウェア解析環境124上の実行端末123に構築する(ステップS1007)。
When the execution
<環境構築判定処理(ステップ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
環境構築判定プログラム108は、変数Mと、変数Xを、それぞれ値を0として定義する(ステップS1101)。ここで、変数Mは、ユーザ環境122上のクライアント端末120に存在する脆弱性の総数を示す。変数Xは、ユーザ環境122上のクライアント端末120に存在し、かつ、マルウェア解析環境124上の実行端末123に存在する脆弱性の総数を示す。
The environment
環境構築判定プログラム108は、ユーザ環境脆弱性テーブル112の、ユーザ環境脆弱性フィールド201の列から、新たに一行(ユーザ環境脆弱性201)を読み出る(ステップS1102)。
The environment
環境構築判定プログラム108は、ステップS1102において読み出した行が、ユーザ環境脆弱性フィールド201の列の最終行であるか否かを判定する(ステップS1103)。最終行である場合(ステップS1103:Yes)、ステップS1107へ進み、最終行ではない場合(ステップS1103:No)、環境構築判定プログラム108は、変数Mの値を、M+1の値に更新する(ステップS1104)。これにより、ユーザ環境脆弱性テーブル112のユーザ環境脆弱性フィールド201の列におけるユーザ環境脆弱性201の総数が計数される。
The environment
環境構築判定プログラム108は、解析環境脆弱性テーブル113の、解析環境脆弱性フィールド301の列を参照する。そして、環境構築判定プログラム108は、ステップS1102において読み出し中の行(ユーザ環境脆弱性201)が、解析環境脆弱性フィールド301の列に存在するか否かを判定する(ステップS1105)。存在しない場合(ステップS1105:No)、ステップS1102に戻る。一方、存在する場合(ステップS1105:Yes)、環境構築判定プログラム108は、変数Xの値を、X+1の値に更新する(ステップS1106)。これにより、ユーザ環境脆弱性テーブル112のユーザ環境脆弱性フィールド201の列に存在し、かつ、解析環境脆弱性テーブル113の解析環境脆弱性フィールド301の列に存在する脆弱性の総数が計数される。
The environment
ステップ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
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
<実行環境構成決定処理(ステップ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
<実行環境候補情報作成処理(ステップ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
実行環境構成決定プログラム109は、ソフトウェア関係テーブル116のソフトウェアバージョンAフィールド602の列から、新たに一行を読み出す(ステップS1302)。読み出されたソフトウェアバージョンA602を「候補データ」と称す。たとえば、実行環境構成決定プログラム109は、関係ID601が「D1」のエントリのソフトウェアバージョンA602(ソフトウェアXX バージョンYY)を候補データD1Aとして読み出す。
The execution environment
実行環境構成決定プログラム109は、実行環境候補インデックス700を新規作成し、実行環境候補情報117の最終列に追加する。そして、実行環境構成決定プログラム109は、ステップS1301において読み出し中の候補データを、新規作成した実行環境候補インデックス700に関連付ける(ステップS1302)。具体的には、たとえば、図14の(A)において、実行環境候補インデックス701が新規作成された場合、実行環境構成決定プログラム109は、実行環境候補インデックス701の列に、候補データD1Aである「ソフトウェアXX バージョンYY」を関連付ける。
The execution environment
実行環境構成決定プログラム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
具体的には、たとえば、ステップ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
両候補データが一致する場合(ステップS1304:Yes)、実行環境構成決定プログラム109は、ステップS1303において読み出し中の実行環境候補インデックス700の列を引数として、対応関係追記処理を実行する(ステップS1305)。
If the two candidate data match (step S1304: YES), the execution environment
対応関係追記処理では、実行環境構成決定プログラム109は、まず、実行環境候補インデックス700を新規作成し、実行環境候補情報117の最終列に追加する。実行環境構成決定プログラム109は、つぎに、読み出し中の実行環境候補インデックス700の列の候補データ群を複製し、新規作成した実行環境候補インデックス700の列に追記する。実行環境構成決定プログラム109は、最後に、ステップS1301において読み出し中の候補データに対応するソフトウェアバージョンB603をソフトウェア関係テーブル116から読み出し、新規作成した実行環境候補インデックス700の列に追記する。
In the correspondence addition process, the execution environment
具体的には、たとえば、図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
つぎに、実行環境構成決定プログラム109は、ステップS1303において読み出した実行環境候補インデックス700の列が、実行環境候補情報117の最終列(EOC)であるか否かを判定する(ステップS1307)。最終列である場合(ステップS1307:Yes)、ステップS1308へ進み、最終列ではない場合(ステップS1307:No)、ステップS1303に戻る。
Next, the execution environment
具体的には、たとえば、ステップS1303において読み出した実行環境候補インデックス700が実行環境候補インデックス701である場合、実行環境候補インデックス702が存在するため、実行環境候補インデックス701は最終列に該当しない。したがって、ステップS1303に戻る。この場合、実行環境構成決定プログラム109は、実行環境候補情報117の左端から、読み出していない実行環境候補インデックス702の列を読み出す(ステップS1303)。
Specifically, for example, when the execution
そして、実行環境構成決定プログラム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
ステップS1307において、実行環境構成決定プログラム109は、ステップS1301において読み出した候補データが、ソフトウェア関係テーブル116におけるソフトウェアバージョンAフィールド602の列の最終行であるか否かを判定する(ステップS1307)。最終行である場合(ステップS1307:Yes)、ステップS1308へ進み、最終行ではない場合(ステップS1307:No)、ステップS1301に戻る。
In step S1307, the execution environment
図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
実行環境構成決定プログラム109は、図14の(C)に示すように、実行環境候補インデックス703を新規作成し、実行環境候補インデックス703の列に、今回読み出した候補データD2Aである「ソフトウェアPP バージョンQQ」を関連付ける(ステップS1302)。
As shown in FIG. 14C, the execution environment
実行環境構成決定プログラム109は、図14の(C)の時点で、実行環境候補情報117の左端から、読み出していない実行環境候補インデックス703の列を読み出す(ステップS1303)。そして、実行環境構成決定プログラム109は、図14の(C)において、実行環境候補インデックス703の列の最終行の候補データD2A(ソフトウェアPP バージョンQQ)を読み出す。そして、実行環境構成決定プログラム109は、当該読み出し中の候補データD2Aと、ステップS1301において読み出し中の候補データD2Aとを比較する(ステップS1304)。両者はともに候補データD2Aであるため、ステップS1305に移行する。
The execution environment
実行環境構成決定プログラム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
ステップS1303において読み出した実行環境候補インデックス703は、実行環境候補インデックス704が存在するため、実行環境候補インデックス703は最終列に該当しない。したがって、ステップS1303に戻る。この場合、実行環境構成決定プログラム109は、実行環境候補情報117の左端から、読み出していない実行環境候補インデックス704の列を読み出す(ステップS1303)。
The execution
そして、実行環境構成決定プログラム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
このように、ステップ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
データ量超過列削除処理(ステップ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
重複列削除処理(ステップ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
カテゴリ重複列削除処理(ステップ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
<実行環境選定処理(ステップ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
実行環境構成決定プログラム109は、まず、実行環境脆弱性関係情報118を作成する(ステップS1501)。実行環境脆弱性関係情報118の任意のセルに格納される値は、以下のように決定される。実行環境構成決定プログラム109は、図7の実行環境候補情報117の対象となる実行環境候補700について、ソフトウェア構成であるソフトウェアバージョン401を特定する。実行環境構成決定プログラム109は、ソフトウェア脆弱性関係情報114を参照し、特定した各ソフトウェアバージョン401について、ユーザ環境脆弱性201が含まれているか否かを判断する。
The execution environment
ユーザ環境脆弱性201が含まれている場合、実行環境構成決定プログラム109は、実行環境脆弱性関係情報118の対象となる実行環境候補700の列において、そのソフトウェア構成内のソフトウェアバージョン401に含まれているユーザ環境脆弱性201のセルの値を「1」に設定する。含まれていない場合は、「0」に設定する。
When the
具体的には、たとえば、実行環境候補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
つぎに、実行環境構成決定プログラム109は、ステップS1501で作成した実行環境脆弱性関係情報118から、ユーザ環境122上のクライアント端末120に存在する脆弱性に共通する脆弱性がより多く存在するようなソフトウェア構成の組み合わせを選択する(ステップS1502)。
Next, the execution environment
ここで選択されたソフトウェア構成は、マルウェア解析環境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
ステップS1502は、たとえば、以下の方式により実現可能である。実行環境構成決定プログラム109は、実行環境脆弱性関係情報118から、複数の列の組み合わせを選択する。この選択には、ステップS1000で設定された制約条件が適用される。
Step S1502 can be realized by, for example, the following method. The execution environment
たとえば、ユーザ組織によりマルウェア解析環境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
また、ユーザ組織により費用ついて制約条件が与えられている場合がある。この場合、実行環境脆弱性関係情報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
以上の制約条件の下で、実行環境構成決定プログラム109は、実行環境脆弱性関係情報118から複数の列を選択する際、選択結果に対して、行ごとにMAXを、列に関してSUMを取った結果が最大となるような列の組み合わせを求める最適化問題を解けばよい。なお、最適化問題は、たとえば、数理計画問題を解くための近似アルゴリズムにより、近似解を求めることができる。これにより、マルウェア解析環境124上の実行端末123に構築するソフトウェア構成として、ユーザ環境脆弱性テーブル112のユーザ環境脆弱性201に格納された脆弱性を、より多く具備するようなソフトウェア構成を導出することができる。
Under the above constraints, the execution environment
ここで、ステップ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.
ステップS1502は、要求Aを満たす実行環境候補jを選定する処理となる。すなわち、ステップS1502は、制約条件下で目的関数を最大化する処理となる。ここで、jは、1≦j≦Nを満たす整数である。xjは、実行環境候補jを選択した(xj=1)か、選択しない(xj=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
ステップ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={x1,x2,…,xj,…,xN} X = {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
具体的には、たとえば、実行環境候補1には、ソフトウェア構成として「ソフトウェアXX バージョンYY」が含まれている。図5のソフトウェア特徴情報テーブル115を参照すると、ソフトウェアバージョン401が「ソフトウェアXX バージョンYY」であるエントリ(ソフトウェアID501が「C1」)において、占有率504は「5.0」である。
Specifically, for example, the
したがって、実行環境構成決定プログラム109は、実行環境占有率関係情報119の実行環境候補インデックス701の列(実行環境候補1)のうちユーザ環境脆弱性201が「ソフトウェアXX バージョンYY」であるセル(図9の左上のセル)の値を、「5.0」に設定する。また、実行環境構成決定プログラム109は、実行環境占有率関係情報119の実行環境候補1の列(実行環境候補701)のうち、ユーザ環境脆弱性201が「ソフトウェアXX バージョンYY」でないセルの値を、「0」に設定する。
Therefore, the execution environment
つぎに、実行環境構成決定プログラム109は、ステップS1503で作成した実行環境占有率関係情報119から、ユーザ環境122上のクライアント端末120で、より多くインストールされているソフトウェアから成るような、ソフトウェア構成の組み合わせを選択する(ステップS1504)。
Next, the execution environment
なお、ステップS1504は、ステップS1502と同様、マルウェア解析環境124の実行端末123の上でソフトウェア構成を構築する際に利用される。すなわち、ソフトウェア構成を構築する際に係る費用、または、用意可能な実行端末123の個数に関して、ユーザ組織の要求により制限がかけられた場合に、当該制限に対応しながら実行される。
Step S1504 is used when constructing a software configuration on the execution terminal 123 of the
ステップ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
たとえば、ユーザ組織によりマルウェア解析環境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
また、ユーザ組織により費用ついて制約条件が与えられている場合がある。この場合、実行環境占有率関係情報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
以上の制約条件の下で、実行環境構成決定プログラム109は、実行環境占有率関係情報119から複数の列を選択する際、選択結果に対して、行ごとにMAX(最大値)を、列に関してSUM(総和)を取った結果が最大となるような列の組み合わせを求める最適化問題を解けばよい。なお、最適化問題は、たとえば、数理計画問題を解くための近似アルゴリズムにより、近似解を求めることができる。これにより、マルウェア解析環境124上の実行端末123に構築するソフトウェア構成として、より多くインストールされているソフトウェアから成るソフトウェア構成を導出することができる。
Under the above-described constraints, the execution environment
ここで、ステップ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.
ステップS1504は、要求Bを満たす実行環境候補jを選定する処理となる。すなわち、ステップS1504は、制約条件下で目的関数を最大化する処理となる。ここで、jは、1≦j≦Nを満たす整数である。xjは、実行環境候補jを選択した(xj=1)か、選択しない(xj=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
ステップ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={x1,x2,…,xj,…,xN} X = {x 1 , x 2 , ..., x j , ..., x N }
つぎに、実行環境構成決定プログラム109は、ステップS1502と、ステップS1504でそれぞれ得られたソフトウェア構成の組み合わせを出力する(ステップS1505)。出力結果は、ステップS1005において、判定結果表示プログラム110により入出力装置106に表示される。
Next, the execution environment
<出力画面例>
図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
判定結果表示画面1601は、環境構築判定プログラム108を実行した結果、マルウェア解析環境124上の実行端末123のソフトウェア構成を再構築する必要が生じた旨が表示される画面である。
The determination
解析環境情報画面1602は、その時点でのマルウェア解析環境124上に構築された実行端末123に関する情報を表示する画面である。解析環境情報画面1602は、最終更新日1603と、クライアント環境情報1604と、解析環境情報1605と、前回結果1606とを表示する。
The analysis
最終更新日1603は、実行環境構築装置101により、最後に、マルウェア解析環境124上の実行端末123の、ソフトウェア構成が再構築された日時である。最終更新日1603は、たとえば、実行環境構築装置101の起動した日時をメインメモリ104に記憶しておくことで表示可能である。
The
クライアント環境情報1604は、ユーザ環境122上のクライアント端末120に存在する脆弱性の数を表示する。クライアント環境情報1604は、たとえば、ステップS1109で参照されたMの値である。
The client environment information 1604 displays the number of vulnerabilities existing in the client terminal 120 on the
解析環境情報1605は、マルウェア解析環境124上の実行端末123に存在し、かつ、クライアント端末120にも存在する脆弱性の数が、ユーザ環境122上のクライアント端末120に存在する脆弱性の数全体に占める割合の数値を表示する。解析環境情報1605は、たとえば、ステップS1109で参照されたMの値とXの値とを用いて表示される(たとえば、X/M)。
The
前回結果1606は、実行環境構築装置101の前回実行結果における、解析環境情報1605の情報を表示する。前回結果1606は、たとえば、メインメモリ104に保存されている実行環境構築装置101の前回実行結果である。
The
再構築事由表示画面1607は、解析環境情報画面1602の結果を用いて、マルウェア解析環境124の実行端末123のソフトウェア構成を再構築する必要の生じた理由を説明するメッセージを表示する画面である。再構築事由表示画面1607は、たとえば、図10のステップS1103:Yesとなった場合に表示される。
The reconstruction
構築環境候補表示画面1608は、環境候補A選択画面1609と、環境候補B選択画面1510とをそれぞれ表示し、いずれか一方をユーザに選択させる旨を表示する画面である。環境候補A選択画面1609および環境候補B選択画面1510は、選択ボタンとしても機能する。
The construction environment
環境候補A選択画面1609は、ステップS1502により出力されたソフトウェア構成を表示する画面である。なお、環境候補A選択画面1609は、ユーザによる入力を受け付けるGUI(Graphical User Interface)である。ユーザが環境候補A選択画面1609にて入力を行った場合、ステップS1502で導出されたソフトウェア構成が、判定結果表示プログラム110の出力となる。なお、当該出力結果は、ステップS1007で示した実行端末実装プログラム111による処理の入力となる。
The environment candidate
環境候補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
本実施例による実行環境構築装置101の処理を説明する。なお、ここでは、ステップS1006において、ユーザは、環境候補A選択画面1609を押下することを想定する。すなわち、ユーザは、ユーザ環境122上のクライアント端末120に存在する脆弱性に着目し、再構築のためのソフトウェア構成を選択するものとする。
Processing of the execution
実行環境構築装置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
当該共通する脆弱性の割合が所定の閾値を下回った場合、実行環境構成決定プログラム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
判定結果表示プログラム110は、当該出力結果であるソフトウェア構成を、入出力装置106に表示する。ユーザは環境候補A選択画面1609のボタンを押下することで、マルウェア解析環境124上の実行端末123の上での、ソフトウェア構成の再構築を承認する。ユーザによる環境候補A選択画面1609のボタン押下により、実行環境構成決定プログラム109の出力結果が、実行端末実装プログラム111に入力される。
The determination
これにより、実行端末実装プログラム111は、入力結果であるソフトウェア構成に基づき、マルウェア解析環境124上の実行端末123を、入力結果であるソフトウェア構成に基づき再構築する。再構築された実行環境は、一定期間が経過するごとに、実行環境構築装置101に含まれる環境構築判定プログラム108によって、ユーザ環境122上のクライアント端末120と、マルウェア解析環境124上の実行端末123との間に、共通して存在する脆弱性の割合(X/M)が導出され、評価される。
Thereby, the execution
以上により、ユーザ組織におけるマルウェア解析環境124上の実行端末123で、ソフトウェア構成の再構築が、実行端末123の個数や、ソフトウェア構成の構築に付随する費用に関するユーザ組織ごとの固有の要件に基づき、実行可能となる。
As described above, in the execution terminal 123 on the
なお、本実施例の一部を変更して、次のように実施してもよい。たとえば、環境構築判定処理(ステップS1002)は、脅威指標203で重み付けして判定してもよい。具体的には、たとえば、ステップS1108の式が下記式(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
daは、図2のユーザ環境脆弱性テーブル112のa番目のエントリの脅威指標203である。yaは、daの脅威指標203の採用(ya=1)または不採用(ya=0)を示す値である。dbは、図3の解析環境脆弱性テーブル113の解析環境脆弱性301と共通するユーザ環境脆弱性201のエントリにおける脅威指標203である。ybは、daの脅威指標203の採用(yb=1)または不採用(yb=0)を示す値である。yaおよびybは、たとえば、あらかじめステップS1000の制約条件で設定される。これにより、環境構築判定プログラム108は、マルウェア解析環境124上の実行端末123と、ユーザ環境122上のクライアント端末120とで、脅威指標203の値が高いソフトウェアが共通しているかという観点で、齟齬があるか否かを判定することができる。
d a is the
また、環境構築判定処理(ステップS1002)は、脅威指標203で重み付けして判定してもよい。具体的には、たとえば、ステップS1108の式が下記式(2)に置き換わる。
In the environment construction determination process (step S1002), the determination may be made by weighting with the
faは、図2のユーザ環境脆弱性テーブル112のa番目のエントリのユーザ環境内占有率202である。yaは、faのユーザ環境内占有率202の採用(ya=1)または不採用(ya=0)を示す値である。fbは、図3の解析環境脆弱性テーブル113の解析環境脆弱性301と共通するユーザ環境脆弱性201のエントリにおけるユーザ環境内占有率202である。ybは、faのユーザ環境内占有率202の採用(yb=1)または不採用(yb=0)を示す値である。yaおよびybは、たとえば、あらかじめステップS1000の制約条件で設定される。これにより、環境構築判定プログラム108は、マルウェア解析環境124上の実行端末123と、ユーザ環境122上のクライアント端末120とで、ユーザ環境内占有率202の値が高いソフトウェアが共通しているかという観点で、齟齬があるか否かを判定することができる。
f a is the a-th user environment in
実行環境脆弱性関係情報作成処理(ステップS1501)において、実行環境脆弱性関係情報118の作成には、ユーザ環境内占有率202が用いられてもよい。これにより、ステップS1502において、実行環境構成決定プログラム109は、ユーザ環境122上の多くのクライアント端末120に存在する脆弱性とユーザ環境内占有率202とを優先して、マルウェア解析環境124上の実行端末123を再構築する際のソフトウェア構成を決定することができる。
In the execution environment vulnerability relation information creation processing (step S1501), the execution environment
実行環境脆弱性関係情報作成処理(ステップ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
なお、本実施例では、ユーザ組織からのステップ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
以上説明したように、本実施例にかかる実行環境構築装置101は、制約条件下で実行環境候補について脆弱性の数を最大化することにより、実行環境候補群の中から第2端末群で構築する特定の実行環境候補を選定する。これにより、制約条件に遵守し、かつ、脆弱性をより多く含むマルウェアの実行環境を容易に生成することができる。したがって、ユーザ組織ごとの固有の要件に基づき、ユーザ組織のマルウェアの実行環境を、第2端末(実行端末123)上に構築、または再構築することができる。
As described above, the execution
また、実行環境構築装置101は、各実行環境候補内のソフトウェアに脆弱性を対応付けた実行環境脆弱性関係情報を自動作成する。これにより、実行環境候補と脆弱性との対応関係を自動的に網羅することができる。またこれにより、特定の実行環境候補の選定の効率化を図ることができる。
Further, the execution
また、実行環境構築装置101は、同一端末内で実行可能なソフトウェアどうしを対応付けて実行環境候補情報を作成する。これにより、第2端末(実行端末123)上で実行できない無駄な実行環境候補の作成を抑制することができる。
In addition, the execution
また、実行環境構築装置101は、ソフトウェア特徴情報に基づいて、実行環境候補群を絞り込んで実行環境候補情報を作成する。これにより、特徴を考慮した実行環境候補を作成することができる。
Further, the execution
たとえば、実行環境構築装置101は、実行環境候補を構成するソフトウェアのデータ量の総和を算出し、当該総和が所定データ量を超過した実行環境候補を削除する。これにより、第2端末(実行端末123)にインストールできない無駄な実行環境候補の作成を抑制することができる。
For example, the execution
また、たとえば、実行環境構築装置101は、実行環境候補群のうち同一カテゴリのソフトウェアを有する実行環境候補を削除して実行環境候補情報を作成する。これにより、第2端末(実行端末123)内でカテゴリ重複による無駄なソフトウェアのインストールを抑制することができる。
Further, for example, the execution
また、実行環境構築装置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
また、実行環境構築装置101は、実行環境候補間で包含関係がある場合、包含される実行環境候補を削除する。これにより、無駄な第2実行環境(マルウェア解析環境124)の構築を抑制することができる。
When there is an inclusion relationship between the execution environment candidates, the execution
また、実行環境構築装置101は、第1実行環境(ユーザ環境122)に含まれる脆弱性の総数に対する、第1実行環境(ユーザ環境122)および第2実行環境(マルウェア解析環境124)に共通して含まれる脆弱性の総数の割合を算出し、当該割合に基づいて、特定の実行環境候補を選定する。これにより、第2実行環境(マルウェア解析環境124)の構築の必要性を自動で判定することができ、実行環境構築装置101を効率的に運用することができる。
Further, the execution
また、実行環境構築装置101は、第1実行環境(ユーザ環境122)に含まれる脆弱性を脅威指標に対応付けて、上記割合を算出する。これにより、脅威に関する指標が一定水準より高い脆弱性と脅威指標とを優先して、第2端末(実行端末123)を再構築する際のソフトウェア構成を決定することができる。
Further, the execution
また、実行環境構築装置101は、第1端末群のうち脆弱性を含むソフトウェアを有する第1端末の割合を示す第1端末群内占有率(ユーザ環境内占有率202)を脆弱性に対応付けて、上記割合を算出する。これにより、ユーザ環境122上の多くのクライアント端末120に存在する脆弱性と第1端末群内占有率(ユーザ環境内占有率202)とを優先して、第2端末(実行端末123)を再構築する際のソフトウェア構成を決定することができる。
Further, the execution
また、実行環境構築装置101は、制約条件下で実行環境候補について占有率の総和を最大化することにより、実行環境候補群の中から第2端末群で構築する特定の実行環境候補を選定する。これにより、制約条件に遵守し、かつ、ソフトウェアがより多くインストールされるマルウェアの実行環境を容易に生成することができる。したがって、ユーザ組織ごとの固有の要件に基づき、ユーザ組織のマルウェアの実行環境を、第2端末(実行端末123)上に構築、または再構築することができる。
Further, the execution
また、実行環境構築装置101は、各実行環境候補内のソフトウェアに占有率を対応付けた実行環境脆弱性関係情報を自動作成する。これにより、実行環境候補と占有率との対応関係を自動的に網羅することができる。またこれにより、特定の実行環境候補の選定の効率化を図ることができる。
Further, the execution
なお、本発明は前述した実施例に限定されるものではなく、添付した特許請求の範囲の趣旨内における様々な変形例及び同等の構成が含まれる。例えば、前述した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに本発明は限定されない。また、ある実施例の構成の一部を他の実施例の構成に置き換えてもよい。また、ある実施例の構成に他の実施例の構成を加えてもよい。また、各実施例の構成の一部について、他の構成の追加、削除、または置換をしてもよい。 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
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実行環境候補を選定することを特徴とする計算機。 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作成処理を実行することを特徴とする計算機。 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.
前記記憶デバイスは、前記ソフトウェアの特徴情報を記憶するソフトウェア特徴情報を記憶しており、
前記第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.
前記特徴情報は、前記ソフトウェアのデータ量であり、
前記第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.
前記特徴情報は、前記ソフトウェアのカテゴリであり、
前記第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:
前記第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.
前記第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環境脆弱性情報と、第2端末群で実行済みの第2実行環境を構成する前記ソフトウェアに含まれる脆弱性を規定する第2環境脆弱性情報と、を記憶しており、
前記プロセッサは、
前記第1環境脆弱性情報および前記第2環境脆弱性情報を参照して、前記第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.
前記第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.
前記第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端末群で実行される特定の第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.
前記記憶デバイスは、同一端末内で実行可能な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
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)
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 |
-
2016
- 2016-09-12 JP JP2016178052A patent/JP6626804B2/en active Active
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 |