JP7111527B2 - Vulnerability diagnosis device, vulnerability diagnosis method and program - Google Patents

Vulnerability diagnosis device, vulnerability diagnosis method and program Download PDF

Info

Publication number
JP7111527B2
JP7111527B2 JP2018120542A JP2018120542A JP7111527B2 JP 7111527 B2 JP7111527 B2 JP 7111527B2 JP 2018120542 A JP2018120542 A JP 2018120542A JP 2018120542 A JP2018120542 A JP 2018120542A JP 7111527 B2 JP7111527 B2 JP 7111527B2
Authority
JP
Japan
Prior art keywords
diagnostic
diagnosis
engine
vulnerability
item
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
JP2018120542A
Other languages
Japanese (ja)
Other versions
JP2020003899A (en
Inventor
純 奥津
秀昭 鈴木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTT TechnoCross Corp
Original Assignee
NTT TechnoCross Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NTT TechnoCross Corp filed Critical NTT TechnoCross Corp
Priority to JP2018120542A priority Critical patent/JP7111527B2/en
Publication of JP2020003899A publication Critical patent/JP2020003899A/en
Application granted granted Critical
Publication of JP7111527B2 publication Critical patent/JP7111527B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、脆弱性診断装置、脆弱性診断方法及びプログラムに関する。 The present invention relates to a vulnerability diagnosis device, a vulnerability diagnosis method, and a program.

Webアプリケーションスキャナと呼ばれるソフトウェアが従来から知られている。Webアプリケーションスキャナでは、Webアプリケーションに対して疑似的な攻撃を行うことで、当該Webアプリケーションの脆弱性を検出する。また、このようなWebアプリケーションスキャナを診断エンジンに用いて、Webアプリケーションの脆弱性を診断するサービス(以降では、このサービスを「脆弱性診断サービス」とも表す。)がクラウドサービスとして提供されている。 Software called a web application scanner is conventionally known. The web application scanner detects the vulnerability of the web application by making a pseudo-attack on the web application. Further, a service for diagnosing vulnerabilities in web applications using such a web application scanner as a diagnosis engine (hereinafter, this service is also referred to as a "vulnerability diagnosis service") is provided as a cloud service.

他方で、検査データをWebアプリケーションに送信することで、当該Webアプリケーションの脆弱性を検出する技術が知られている(例えば、特許文献1参照)。 On the other hand, there is known a technique of detecting vulnerability of a web application by transmitting inspection data to the web application (see, for example, Patent Document 1).

特開2007-241906号公報JP 2007-241906 A

ところで、Webアプリケーションスキャナは、様々なベンダ等から様々な種類のソフトウェアが販売又は配布されており、その性能も異なる。このため、Webアプリケーションスキャナの種類によって、或る脆弱性については他のWebアプリケーションスキャナよりも高精度に検出することができる一方で、他の或る脆弱性については他のWebアプリケーションスキャナよりも検出精度が劣る場合等がある。 By the way, Web application scanners are sold or distributed by various vendors or the like with various types of software, and their performance differs. Therefore, depending on the type of web application scanner, some vulnerabilities can be detected with higher accuracy than other web application scanners, while other vulnerabilities can be detected more accurately than other web application scanners. In some cases, the accuracy is inferior.

しかしながら、従来の脆弱性診断サービスでは、或る1つのWebアプリケーションスキャナを診断エンジンとして用いており、診断対象の脆弱性によっては必ずしも検出精度が高くない場合があった。 However, the conventional vulnerability diagnosis service uses a certain Web application scanner as a diagnosis engine, and detection accuracy may not always be high depending on the vulnerability to be diagnosed.

本発明の実施の形態は、上記の点に鑑みてなされたもので、複数の診断エンジンを用いて脆弱性を検出することを目的とする。 Embodiments of the present invention have been made in view of the above points, and it is an object of the present invention to detect vulnerabilities using a plurality of diagnosis engines.

上記目的を達成するため、本発明の実施の形態は、診断対象の脆弱性の有無を診断する複数の診断エンジンを有する脆弱性診断装置であって、診断項目毎に、前記複数の診断エンジンのうち、前記診断項目に関する脆弱性の有無を診断する診断エンジンが対応付けられたマッピング情報を作成する作成手段と、前記作成手段により作成されたマッピング情報に基づいて、前記診断項目毎に、該診断項目に対応付けられている診断エンジンによって前記診断対象の脆弱性を診断する診断手段と、を有することを特徴とする。 In order to achieve the above object, an embodiment of the present invention is a vulnerability diagnosis device having a plurality of diagnosis engines for diagnosing the presence or absence of a vulnerability in a diagnosis target, wherein for each diagnosis item, the plurality of diagnosis engines Among them, creating means for creating mapping information associated with a diagnostic engine for diagnosing the presence or absence of vulnerability related to the diagnostic item, and based on the mapping information created by the creating means, the diagnostic and diagnostic means for diagnosing the vulnerability of the diagnostic target by a diagnostic engine associated with the item.

本発明の実施の形態によれば、複数の診断エンジンを用いて脆弱性を検出することができる。 According to embodiments of the present invention, multiple diagnostic engines may be used to detect vulnerabilities.

本実施形態に係る脆弱性診断システムの全体構成の一例を示す図である。BRIEF DESCRIPTION OF THE DRAWINGS It is a figure which shows an example of the whole vulnerability-diagnosis system structure which concerns on this embodiment. 本実施形態に係る脆弱性診断システムの機能構成の一例を示す図である。It is a figure showing an example of functional composition of a vulnerability diagnosis system concerning this embodiment. 診断項目情報の一例を示す図である。It is a figure which shows an example of diagnostic item information. エンジン特性情報の一例を示す図である。It is a figure which shows an example of engine characteristic information. 脆弱性の診断処理の一例を示すフローチャートである。6 is a flowchart illustrating an example of vulnerability diagnosis processing; 診断開始画面の一例を示す図である。It is a figure which shows an example of a diagnosis start screen. マッピング情報の一例を示す図である。It is a figure which shows an example of mapping information. 診断結果画面の一例を示す図である。It is a figure which shows an example of a diagnostic result screen. エンジン特性情報の他の例を示す図である。FIG. 5 is a diagram showing another example of engine characteristic information; 診断開始画面の他の例を示す図(その1)である。FIG. 11 is a diagram (part 1) showing another example of the diagnosis start screen; 診断開始画面の他の例を示す図(その2)である。FIG. 12 is a diagram (part 2) showing another example of the diagnosis start screen; マッピング情報の他の例を示す図である。FIG. 10 is a diagram showing another example of mapping information;

以下、本発明の実施の形態(以降、「本実施形態」と表す。)について説明する。以降では、複数の診断エンジンを用いてWebアプリケーションの脆弱性を診断する脆弱性診断システム1について説明する。診断エンジンとは、Webアプリケーションスキャナ等により実現され、Webアプリケーションの脆弱性の検出を行うソフトウェアのことである。 Hereinafter, embodiments of the present invention (hereinafter referred to as "present embodiments") will be described. Hereinafter, a vulnerability diagnosis system 1 that diagnoses vulnerabilities in web applications using a plurality of diagnosis engines will be described. A diagnostic engine is software that is implemented by a web application scanner or the like and that detects vulnerabilities in web applications.

なお、本実施形態では、脆弱性の診断対象はWebアプリケーションであるものとするが、これに限られず、例えば、Webアプリケーションの実現に必要なOS(Operating System)やミドルウェア等も脆弱性の診断対象としても良い。このようなミドルウェアとしては、例えば、Webサーバとして機能するソフトウェアやサーブレットコンテナとして機能するソフトウェア等が挙げられる。 In this embodiment, the target of vulnerability diagnosis is a web application, but the target of vulnerability diagnosis is not limited to this. It is good as Examples of such middleware include software that functions as a web server and software that functions as a servlet container.

<全体構成>
まず、本実施形態に係る脆弱性診断システム1の全体構成について、図1を参照しながら説明する。図1は、本実施形態に係る脆弱性診断システム1の全体構成の一例を示す図である。
<Overall composition>
First, the overall configuration of a vulnerability diagnosis system 1 according to this embodiment will be described with reference to FIG. FIG. 1 is a diagram showing an example of the overall configuration of a vulnerability diagnosis system 1 according to this embodiment.

図1に示すように、本実施形態に係る脆弱性診断システム1には、脆弱性診断装置10と、端末装置20と、診断対象サーバ30とが含まれる。脆弱性診断装置10と、端末装置20と、診断対象サーバ30とは、例えばインターネット等のネットワークNを介して通信可能に接続される。 As shown in FIG. 1 , a vulnerability diagnosis system 1 according to this embodiment includes a vulnerability diagnosis device 10 , a terminal device 20 , and a diagnosis target server 30 . The vulnerability diagnosis device 10, the terminal device 20, and the diagnosis target server 30 are communicably connected via a network N such as the Internet.

脆弱性診断装置10は、クラウドサービスとして脆弱性診断サービスを提供するコンピュータ又はコンピュータシステムである。脆弱性診断装置10は、端末装置20における診断開始操作に応じて、当該端末装置20のユーザにより指定された診断対象(Webアプリケーション)の脆弱性を診断する。このとき、本実施形態に係る脆弱性診断装置10は、複数の診断エンジンを用いてWebアプリケーションの脆弱性を診断する。 The vulnerability diagnosis device 10 is a computer or computer system that provides a vulnerability diagnosis service as a cloud service. The vulnerability diagnosis device 10 diagnoses the vulnerability of a diagnosis target (web application) specified by the user of the terminal device 20 in response to a diagnosis start operation on the terminal device 20 . At this time, the vulnerability diagnosis device 10 according to this embodiment diagnoses the vulnerability of the web application using a plurality of diagnosis engines.

端末装置20は、脆弱性診断サービスのユーザが利用するコンピュータである。ユーザは、端末装置20を用いて、診断対象のURL(Uniform Resource Locator)等を指定することで、当該URLにより示されるWebアプリケーションの脆弱性を診断することができる。なお、端末装置20としては、例えば、PC(パーソナルコンピュータ)、スマートフォン、タブレット端末等を用いることができる。 The terminal device 20 is a computer used by a user of the vulnerability diagnosis service. By using the terminal device 20 to specify a URL (Uniform Resource Locator) or the like to be diagnosed, the user can diagnose the vulnerability of the Web application indicated by the URL. As the terminal device 20, for example, a PC (personal computer), a smartphone, a tablet terminal, or the like can be used.

診断対象サーバ30は、脆弱性診断装置10によって脆弱性が診断されるWebアプリケーションサーバである。 The diagnosis target server 30 is a web application server whose vulnerability is diagnosed by the vulnerability diagnosis device 10 .

なお、図1に示す脆弱性診断システム1の構成は一例であって、他の構成であっても良い。例えば、脆弱性診断装置10と端末装置20とが一体で構成されていても良い。また、脆弱性診断装置10は、クラウドサービスとして脆弱性診断サービスを提供する場合に限られず、例えば、端末装置20及び診断対象サーバ30と同一ネットワーク内に設置されていても良い。すなわち、脆弱性診断装置10は、オンプレミスとして設置されていても良い。 Note that the configuration of the vulnerability diagnosis system 1 shown in FIG. 1 is an example, and other configurations may be used. For example, the vulnerability diagnosis device 10 and the terminal device 20 may be integrally configured. In addition, the vulnerability diagnosis device 10 is not limited to providing a vulnerability diagnosis service as a cloud service, and may be installed in the same network as the terminal device 20 and the diagnosis target server 30, for example. That is, the vulnerability diagnosis device 10 may be installed on-premise.

<機能構成>
次に、本実施形態に係る脆弱性診断システム1の機能構成について、図2を参照しながら説明する。図2は、本実施形態に係る脆弱性診断システム1の機能構成の一例を示す図である。
<Functional configuration>
Next, the functional configuration of the vulnerability diagnosis system 1 according to this embodiment will be described with reference to FIG. FIG. 2 is a diagram showing an example of the functional configuration of the vulnerability diagnosis system 1 according to this embodiment.

図2に示すように、本実施形態に係る脆弱性診断システム1に含まれる脆弱性診断装置10は、入出力部101と、マッピング作成部102と、エンジン制御部103と、複数の診断エンジン104と、診断結果作成部105とを有する。これら各機能部は、脆弱性診断装置10にインストールされた1以上のプログラムがCPU(Central Processing Unit)に実行させる処理により実現される。 As shown in FIG. 2, the vulnerability diagnosis device 10 included in the vulnerability diagnosis system 1 according to this embodiment includes an input/output unit 101, a mapping creation unit 102, an engine control unit 103, and a plurality of diagnosis engines 104. , and a diagnostic result generation unit 105 . Each of these functional units is realized by processing executed by one or more programs installed in the vulnerability diagnosis device 10 by a CPU (Central Processing Unit).

また、本実施形態に係る脆弱性診断装置10は、診断項目情報記憶部110と、エンジン特性情報記憶部120とを有する。これら各記憶部は、例えば、HDD(Hard Disk Drive)やSSD(Solid State Drive)等の補助記憶装置を用いて実現可能である。なお、これら各記憶部のうちの少なくとも1つが、脆弱性診断装置10とネットワークNを介して接続される記憶装置等を用いて実現されていても良い。 The vulnerability diagnosis device 10 according to the present embodiment also has a diagnostic item information storage unit 110 and an engine characteristic information storage unit 120 . Each of these storage units can be implemented using an auxiliary storage device such as a HDD (Hard Disk Drive) or an SSD (Solid State Drive). At least one of these storage units may be implemented using a storage device or the like connected to the vulnerability diagnosis device 10 via the network N.

入出力部101は、端末装置20に対して各種画面を表示させたり、端末装置20における各種操作を受け付けたりする。端末装置20における各種操作としては、例えば、Webアプリケーションの脆弱性診断を開始させるための診断開始操作等が挙げられる。 The input/output unit 101 displays various screens on the terminal device 20 and receives various operations on the terminal device 20 . Various operations in the terminal device 20 include, for example, a diagnosis start operation for starting vulnerability diagnosis of Web applications.

マッピング作成部102は、診断項目情報記憶部110に記憶されている診断項目情報とエンジン特性情報記憶部120に記憶されているエンジン特性情報とを参照して、脆弱性に関するどの診断項目をどの診断エンジン104によって診断するかを示すマッピング情報を作成する。 The mapping creation unit 102 refers to the diagnostic item information stored in the diagnostic item information storage unit 110 and the engine characteristic information stored in the engine characteristic information storage unit 120 to determine which diagnostic item related to vulnerability and which diagnosis. Mapping information indicating whether to diagnose by the engine 104 is created.

エンジン制御部103は、マッピング情報を用いて複数の診断エンジン104を制御することで、これら複数の診断エンジン104にWebアプリケーションの脆弱性を診断させる。 The engine control unit 103 controls the plurality of diagnostic engines 104 using the mapping information, thereby causing the plurality of diagnostic engines 104 to diagnose the vulnerability of the Web application.

診断エンジン104は、Webアプリケーションの脆弱性を診断するエンジンである。診断エンジン104は、Webアプリケーションスキャナ等により実現される。診断エンジン104は、例えば、診断対象のWebアプリケーションに対して、診断項目に応じた疑似的な攻撃を行い、この攻撃に対するWebアプリケーションからの応答を検証することで、当該診断項目に関して当該Webアプリケーションの脆弱性を診断する。 The diagnosis engine 104 is an engine for diagnosing vulnerabilities in web applications. The diagnosis engine 104 is realized by a web application scanner or the like. For example, the diagnosis engine 104 performs a pseudo-attack according to the diagnostic item against the web application to be diagnosed, and by verifying the response from the web application to this attack, the web application is verified with respect to the diagnostic item. Diagnose vulnerabilities.

ここで、複数の診断エンジン104の各々を区別して表すときは、「第1の診断エンジン104A」、「第2の診断エンジン104B」等と表す。なお、複数の診断エンジン104の各々を区別して表した場合、各々の診断エンジン104は異なる種類のWebアプリケーションスキャナ等により実現されるものとする。例えば、第1の診断エンジン104Aと第2の診断エンジン104Bとは、それぞれ異なる種類のWebアプリケーションスキャナ等により実現されるものとする。 Here, when each of the plurality of diagnosis engines 104 is distinguished, it is expressed as "first diagnosis engine 104A", "second diagnosis engine 104B", and the like. Note that when each of the plurality of diagnostic engines 104 is distinguished, each diagnostic engine 104 is realized by a different type of web application scanner or the like. For example, the first diagnostic engine 104A and the second diagnostic engine 104B are assumed to be implemented by different types of web application scanners or the like.

診断結果作成部105は、複数の診断エンジン104の各々の診断結果から最終的な診断結果を作成する。診断結果作成部105により作成された診断結果は、入出力部101により端末装置20に出力され、診断結果画面として当該端末装置20上に表示される。 A diagnostic result creation unit 105 creates a final diagnostic result from the diagnostic results of each of the plurality of diagnostic engines 104 . The diagnostic result created by the diagnostic result creating unit 105 is output to the terminal device 20 by the input/output unit 101 and displayed on the terminal device 20 as a diagnostic result screen.

診断項目情報記憶部110は、脆弱性に関する診断項目を示す診断項目情報を記憶する。ここで、診断項目情報記憶部110に記憶されている診断項目情報について、図3を参照しながら説明する。図3は、診断項目情報の一例を示す図である。 The diagnostic item information storage unit 110 stores diagnostic item information indicating diagnostic items related to vulnerability. Here, diagnostic item information stored in the diagnostic item information storage unit 110 will be described with reference to FIG. FIG. 3 is a diagram showing an example of diagnostic item information.

図3に示すように、診断項目情報記憶部110には、複数の診断項目情報(図3に示す例では、14件の診断項目情報)が記憶されている。各診断項目情報には、「項番」と、「診断項目」とが含まれる。「項番」は、各診断項目情報を識別する番号である。「診断項目」は、脆弱性に関する診断項目の内容である。 As shown in FIG. 3, the diagnostic item information storage unit 110 stores a plurality of pieces of diagnostic item information (14 pieces of diagnostic item information in the example shown in FIG. 3). Each piece of diagnostic item information includes an “item number” and a “diagnostic item”. "Item number" is a number that identifies each piece of diagnostic item information. "Diagnosis item" is the content of the diagnostic item related to vulnerability.

例えば、項番「1」の診断項目情報には、診断項目として、「ファイルアップロードに関するチェック」が含まれる。このことは、項番「1」の診断項目情報は、ファイルアップロードに関する脆弱性を診断するための診断項目の情報であることを示している。 For example, the diagnostic item information of item number “1” includes “check regarding file upload” as a diagnostic item. This indicates that the diagnostic item information of item number "1" is diagnostic item information for diagnosing vulnerability related to file upload.

同様に、項番「2」の診断項目情報には、診断項目として、「内部データ/ログデータ露出に関するチェック」が含まれる。このことは、項番「2」の診断項目情報は、内部データ/ログデータの露出に関する脆弱性を診断するための診断項目の情報であることを示している。他の項番の診断項目情報についても上記と同様である。 Similarly, the diagnostic item information of item number "2" includes "check regarding exposure of internal data/log data" as a diagnostic item. This indicates that the diagnostic item information of item number “2” is diagnostic item information for diagnosing vulnerabilities related to exposure of internal data/log data. The same applies to diagnostic item information of other item numbers.

このように、診断項目情報記憶部110には、診断項目毎に、この診断項目を示す診断項目情報が記憶されている。なお、図3に示す例では、14件の診断項目情報が診断項目情報記憶部110に記憶されているが、これは一例である。診断項目の数は、例えば、脆弱性診断装置10の管理者等が任意に変更することができる。また、各診断項目の内容も、例えば、脆弱性診断装置10の管理者等が任意に変更することができる。 In this manner, the diagnostic item information storage unit 110 stores diagnostic item information indicating the diagnostic item for each diagnostic item. In the example shown in FIG. 3, 14 pieces of diagnostic item information are stored in the diagnostic item information storage unit 110, but this is just an example. The number of diagnostic items can be arbitrarily changed, for example, by an administrator of the vulnerability diagnostic device 10 or the like. Also, the content of each diagnosis item can be arbitrarily changed by, for example, the administrator of the vulnerability diagnosis device 10 or the like.

エンジン特性情報記憶部120は、各診断エンジン104の特性を示すエンジン特性情報を記憶する。ここで、エンジン特性情報記憶部120に記憶されているエンジン特性情報について、図4を参照しながら説明する。図4は、エンジン特性情報の一例を示す図である。 The engine characteristic information storage unit 120 stores engine characteristic information indicating characteristics of each diagnostic engine 104 . Here, the engine characteristic information stored in the engine characteristic information storage unit 120 will be described with reference to FIG. FIG. 4 is a diagram showing an example of engine characteristic information.

図4に示すように、エンジン特性情報記憶部120には、複数のエンジン特性情報(図4に示す例では、2件のエンジン特性情報)が記憶されている。各エンジン特性情報には、「エンジン名」と、「エンジン特性」とが含まれる。 As shown in FIG. 4, the engine characteristic information storage unit 120 stores a plurality of pieces of engine characteristic information (two pieces of engine characteristic information in the example shown in FIG. 4). Each engine characteristic information includes "engine name" and "engine characteristic".

「エンジン名」は、診断エンジン104の名称である。例えば、エンジン名「エンジンA」は、第1の診断エンジン104Aの名称である。同様に、例えば、エンジン名「エンジンB」は、第2の診断エンジン104Bの名称である。 “Engine Name” is the name of the diagnosis engine 104 . For example, the engine name "Engine A" is the name of the first diagnostic engine 104A. Similarly, for example, the engine name "Engine B" is the name of the second diagnostic engine 104B.

「エンジン特性」は、エンジン名に対応する診断エンジン104の特性として、高精度で診断が可能な診断項目の項番が設定される。 "Engine characteristics" is set with item numbers of diagnostic items that can be diagnosed with high accuracy as characteristics of the diagnostic engine 104 corresponding to the engine name.

例えば、エンジン名「エンジンA」のエンジン特性は「項番1,2,4」である。このことは、第1の診断エンジン104Aは、項番「1」の診断項目と、項番「2」の診断項目と、項番「4」の診断項目とを高精度に診断することができることを示している。 For example, the engine characteristics of the engine name "engine A" are "item numbers 1, 2, 4". This means that the first diagnosis engine 104A can diagnose the item number "1", the item number "2", and the item number "4" with high accuracy. is shown.

同様に、例えば、エンジン名「エンジンB」のエンジン特性は「項番3,6,9」である。このことは、第2の診断エンジン104Bは、項番「3」の診断項目と、項番「6」の診断項目と、項番「9」の診断項目とを高精度に診断することができることを示している。 Similarly, for example, the engine characteristics of the engine name "engine B" are "item numbers 3, 6, 9". This means that the second diagnosis engine 104B can diagnose the item number "3", the item number "6", and the item number "9" with high accuracy. is shown.

このように、エンジン特性情報記憶部120には、診断エンジン104毎に、当該診断エンジン104の特性を示すエンジン特性情報が記憶されている。なお、図4に示す例では、2件のエンジン特性情報がエンジン特性情報記憶部120に記憶されているが、エンジン特性情報記憶部120には、診断エンジン104の数と同数のエンジン特性情報が記憶される。したがって、診断エンジン104の数が増減した場合、エンジン特性情報記憶部120に記憶されているエンジン特性情報の数も増減する。診断エンジン104の増減に伴うエンジン特性情報の増減は、例えば、脆弱性診断装置10の管理者等が行うことができる。 In this manner, the engine characteristic information storage unit 120 stores engine characteristic information indicating characteristics of the diagnostic engine 104 for each diagnostic engine 104 . In the example shown in FIG. 4, two items of engine characteristic information are stored in the engine characteristic information storage unit 120, but the engine characteristic information storage unit 120 stores the same number of engine characteristic information as the number of diagnostic engines 104. remembered. Therefore, when the number of diagnostic engines 104 increases or decreases, the number of pieces of engine characteristic information stored in the engine characteristic information storage unit 120 also increases or decreases. The increase or decrease in the engine characteristic information associated with the increase or decrease in the number of diagnosis engines 104 can be performed by, for example, the administrator of the vulnerability diagnosis device 10 or the like.

<脆弱性の診断処理>
次に、脆弱性診断装置10が実行する処理(脆弱性の診断処理)の詳細について、図5を参照しながら説明する。図5は、脆弱性の診断処理の一例を示すフローチャートである。
<Vulnerability diagnosis processing>
Next, the details of the processing (vulnerability diagnosis processing) executed by the vulnerability diagnosis device 10 will be described with reference to FIG. FIG. 5 is a flowchart illustrating an example of vulnerability diagnosis processing.

まず、脆弱性診断装置10の入出力部101は、端末装置20からの要求(脆弱性診断サービスの利用開始要求)に応じて、例えば図6に示す診断開始画面G100を当該端末装置20に表示させる(ステップS101)。なお、端末装置20は、例えば、脆弱性診断サービスの利用を開始するためのURLがWebブラウザに入力等されることで、脆弱性診断サービスの利用開始要求を行うことができる。 First, the input/output unit 101 of the vulnerability diagnosis device 10 displays, for example, a diagnosis start screen G100 shown in FIG. (step S101). The terminal device 20 can make a request to start using the vulnerability diagnosis service, for example, by inputting a URL for starting the use of the vulnerability diagnosis service into the Web browser.

図6に示す診断開始画面G100には、URL入力欄G110と、診断開始ボタンG120とが含まれる。URL入力欄G110は、診断対象のWebアプリケーション(診断対象サーバ30が提供するWebアプリケーション)を示すURLを入力するための入力欄である。端末装置20のユーザは、診断対象のWebアプリケーションを示すURLをURL入力欄G110に入力した上で、診断開始ボタンG120を押下することで、当該Webアプリケーションの脆弱性の診断を開始するための診断開始操作を行うことができる。 A diagnosis start screen G100 shown in FIG. 6 includes a URL input field G110 and a diagnosis start button G120. The URL input field G110 is an input field for inputting a URL indicating a Web application to be diagnosed (a Web application provided by the diagnosis target server 30). The user of the terminal device 20 inputs the URL indicating the Web application to be diagnosed in the URL input field G110, and then presses the diagnosis start button G120. A start operation can be performed.

次に、脆弱性診断装置10の入出力部101は、端末装置20における診断開始操作を受け付ける(ステップS102)。 Next, the input/output unit 101 of the vulnerability diagnosis device 10 receives a diagnosis start operation in the terminal device 20 (step S102).

次に、脆弱性診断装置10のマッピング作成部102は、診断項目情報記憶部110に記憶されている診断項目情報とエンジン特性情報記憶部120に記憶されているエンジン特性情報とを参照して、マッピング情報を作成する(ステップS103)。マッピング情報は、上述したように、どの診断項目をどの診断エンジン104によって診断するかを示す情報である。 Next, the mapping creation unit 102 of the vulnerability diagnosis device 10 refers to the diagnostic item information stored in the diagnostic item information storage unit 110 and the engine characteristic information stored in the engine characteristic information storage unit 120, Mapping information is created (step S103). The mapping information is information indicating which diagnosis item is to be diagnosed by which diagnosis engine 104, as described above.

ここで、マッピング作成部102は、例えば、各診断項目情報がそれぞれ示す各診断項目毎に、診断項目と、当該診断項目に関する脆弱性を最も高い精度で診断可能な診断エンジン104のエンジン名とを対応付ける(マッピングする)ことで作成する。 Here, for example, for each diagnostic item indicated by each diagnostic item information, the mapping creation unit 102 creates a diagnostic item and the engine name of the diagnostic engine 104 capable of diagnosing the vulnerability related to the diagnostic item with the highest accuracy. Create by associating (mapping).

例えば、エンジン特性情報記憶部120に記憶されているエンジン特性情報を参照すると、項番「1」の診断項目については、エンジン名「エンジンA」が高精度に診断することできる。このため、マッピング作成部102は、項番「1」の診断項目と、エンジン名「エンジンA」とを対応付ける。 For example, referring to the engine characteristic information stored in the engine characteristic information storage unit 120, the engine name "Engine A" can be diagnosed with high accuracy for the diagnosis item of the item number "1". Therefore, the mapping creation unit 102 associates the diagnosis item with the item number “1” with the engine name “Engine A”.

同様に、例えば、エンジン特性情報記憶部120に記憶されているエンジン特性情報を参照すると、項番「3」の診断項目については、エンジン名「エンジンB」が高精度に診断することができる。このため、マッピング作成部102は、項番「3」の診断項目と、エンジン名「エンジンB」とを対応付ける。 Similarly, for example, referring to the engine characteristic information stored in the engine characteristic information storage unit 120, the engine name "Engine B" can be diagnosed with high accuracy for the diagnosis item of the item number "3". Therefore, the mapping creation unit 102 associates the diagnostic item with item number "3" with the engine name "Engine B".

ここで、或る診断項目について、高精度に診断可能な診断エンジン104が存在しない場合も有り得る。この場合、例えば、予め決められた1つの診断エンジン104(デフォルトの診断エンジン104等)のエンジン名を当該診断項目に対応付けても良いし、全て又は一部の診断エンジン104のエンジン名を当該診断項目に対応付けても良い。 Here, there may be cases where there is no diagnostic engine 104 capable of diagnosing a certain diagnostic item with high accuracy. In this case, for example, the engine name of one predetermined diagnosis engine 104 (default diagnosis engine 104, etc.) may be associated with the diagnosis item, or the engine names of all or part of the diagnosis engines 104 may be associated with the diagnosis item. It may be associated with a diagnostic item.

同様に、或る診断項目について、高精度に診断可能な診断エンジン104が複数存在する場合も有り得る。この場合、例えば、これらの複数の診断エンジン104のうち予め決められた1つの診断エンジン104(例えば、特に高精度に診断可能な診断エンジン104等)のエンジン名を当該診断項目に対応付ければ良い。 Similarly, there may be a plurality of diagnostic engines 104 capable of diagnosing a certain diagnostic item with high accuracy. In this case, for example, the engine name of one predetermined diagnosis engine 104 (for example, the diagnosis engine 104 capable of diagnosing with particularly high accuracy) among the plurality of diagnosis engines 104 may be associated with the diagnosis item. .

このように、マッピング作成部102は、診断項目毎に、当該診断項目に関する脆弱性を最も高い精度で診断可能な診断エンジン104のエンジン名を対応付けることで、マッピング情報を作成する。マッピング作成部102により作成されたマッピング情報の一例を図7に示す。図7に示すように、マッピング情報では、診断項目毎に、当該診断項目に関する脆弱性を診断する診断エンジン104のエンジン名が対応付けられている。 In this way, the mapping creation unit 102 creates mapping information by associating, with each diagnostic item, the engine name of the diagnostic engine 104 capable of diagnosing the vulnerability of the diagnostic item with the highest accuracy. An example of mapping information created by the mapping creating unit 102 is shown in FIG. As shown in FIG. 7, in the mapping information, each diagnostic item is associated with the engine name of the diagnostic engine 104 that diagnoses the vulnerability of the diagnostic item.

なお、本実施形態では、診断開始操作を受け付けた後(ステップS102の後)に、マッピング作成部102によりマッピング情報を作成するものとしたが、これに限られず、例えば、マッピング作成部102によりマッピング情報を予め作成し、所定の記憶領域に記憶しておいても良い。また、このとき、マッピング情報は、例えば、脆弱性診断サービスを利用するユーザ毎に作成され、所定の記憶領域に記憶されていても良い。 In the present embodiment, the mapping information is created by the mapping creation unit 102 after accepting the diagnosis start operation (after step S102). Information may be created in advance and stored in a predetermined storage area. Also, at this time, the mapping information may be created, for example, for each user who uses the vulnerability diagnosis service and stored in a predetermined storage area.

次に、脆弱性診断装置10のエンジン制御部103は、マッピング情報を用いて複数の診断エンジン104を制御し、これら複数の診断エンジン104によってWebアプリケーションの診断を実行する(ステップS104)。 Next, the engine control unit 103 of the vulnerability diagnosis device 10 controls a plurality of diagnosis engines 104 using the mapping information, and diagnoses the Web application by these plurality of diagnosis engines 104 (step S104).

すなわち、エンジン制御部103は、マッピング情報に含まれる診断項目毎に、当該診断項目に対応付けられているエンジン名の診断エンジン104に対して診断要求を行うことで、当該診断エンジン104によって当該診断項目に関する脆弱性の診断を実行する。 That is, for each diagnostic item included in the mapping information, the engine control unit 103 issues a diagnostic request to the diagnostic engine 104 having the engine name associated with the diagnostic item. Run a vulnerability diagnosis on an item.

より具体的には、例えば、図7に示すマッピング情報の項番「1」の診断項目には、エンジン名「エンジンA」が対応付けられている。このため、エンジン制御部103は、第1の診断エンジン104Aに対して、当該診断項目の診断要求を行う。これにより、第1の診断エンジン104Aによって当該診断項目の診断が実行される。 More specifically, for example, the engine name "Engine A" is associated with the diagnosis item of item number "1" in the mapping information shown in FIG. Therefore, the engine control unit 103 makes a diagnosis request for the diagnosis item to the first diagnosis engine 104A. As a result, diagnosis of the diagnostic item is performed by the first diagnostic engine 104A.

同様に、例えば、図7に示すマッピング情報の項番「3」の診断項目には、エンジン名「エンジンB」が対応付けられている。このため、エンジン制御部103は、第2の診断エンジン104Bに対して、当該診断項目の診断要求を行う。これにより、第2の診断エンジン104Bによって当該診断項目の診断が実行される。 Similarly, for example, the engine name "Engine B" is associated with the diagnosis item of item number "3" in the mapping information shown in FIG. Therefore, the engine control unit 103 makes a diagnosis request for the diagnosis item to the second diagnosis engine 104B. As a result, diagnosis of the diagnostic item is performed by the second diagnostic engine 104B.

このように、エンジン制御部103は、診断項目毎に、当該診断項目に対応する診断エンジン104に対して診断要求を行う。これにより、診断項目に応じた診断エンジン104(すなわち、当該診断項目を高精度に診断可能な診断エンジン104)により脆弱性の診断を行うことができる。 In this manner, the engine control unit 103 makes a diagnosis request to the diagnosis engine 104 corresponding to each diagnosis item for each diagnosis item. As a result, vulnerability diagnosis can be performed by the diagnosis engine 104 corresponding to the diagnosis item (that is, the diagnosis engine 104 capable of diagnosing the diagnosis item with high accuracy).

なお、同一の診断エンジン104が複数の診断項目を診断する場合、エンジン制御部103は、当該診断エンジン104に対して、診断項目毎に繰り返し診断要求を行っても良いし、複数の診断項目をまとめて1つの診断要求を行っても良い。 When the same diagnostic engine 104 diagnoses a plurality of diagnostic items, the engine control unit 103 may repeatedly request diagnosis for each diagnostic item to the diagnostic engine 104. A single diagnostic request may be issued collectively.

ここで、各診断エンジン104は、脆弱性に関する診断の実行が完了すると、診断結果を出力する。これらの診断結果には、例えば、診断項目と、この診断項目に関する脆弱性の検出結果とが含まれる。ただし、これらの診断結果のフォーマット(データ形式等)は、診断エンジン104によって異なる場合がある。例えば、第1の診断エンジン104Aから出力される診断結果と、第2の診断エンジン104Bから出力される診断結果とは、フォーマットが異なる場合がある。 Here, each diagnosis engine 104 outputs a diagnosis result when the execution of the vulnerability diagnosis is completed. These diagnostic results include, for example, diagnostic items and vulnerability detection results related to the diagnostic items. However, the format (data format, etc.) of these diagnostic results may differ depending on the diagnostic engine 104 . For example, the diagnostic result output from the first diagnostic engine 104A and the diagnostic result output from the second diagnostic engine 104B may have different formats.

次に、脆弱性診断装置10の診断結果作成部105は、各診断エンジン104の各々から出力された診断結果から最終的な診断結果を作成する(ステップS105)。上述したように、各診断エンジン104の各々から出力された診断結果は、そのフォーマットが異なる場合がある。このため、診断結果作成部105は、これらの診断結果に含まれる診断項目と、この診断項目に関する脆弱性の検出結果とに基づいて、所定のフォーマットで最終的な診断結果を作成する。これにより、各診断エンジン104がそれぞれ出力する診断結果のフォーマットが異なる場合であっても、後述するステップS106で、端末装置20のユーザは、各診断項目の診断結果を所定のフォーマットで確認することができるようになる。 Next, the diagnosis result creation unit 105 of the vulnerability diagnosis device 10 creates a final diagnosis result from the diagnosis results output from each diagnosis engine 104 (step S105). As described above, diagnostic results output from each diagnostic engine 104 may have different formats. Therefore, the diagnostic result creation unit 105 creates a final diagnostic result in a predetermined format based on diagnostic items included in these diagnostic results and vulnerability detection results related to these diagnostic items. As a result, even if the format of the diagnosis result output by each diagnosis engine 104 is different, the user of the terminal device 20 can confirm the diagnosis result of each diagnosis item in a predetermined format in step S106, which will be described later. will be able to

なお、このとき、診断結果作成部105は、最終的な診断結果として、例えば、診断項目に関する概要の説明や脆弱性が検出された場合における対策方法等も含まれる診断結果を作成する。 At this time, the diagnostic result creation unit 105 creates a final diagnostic result that includes, for example, an overview of the diagnostic items and countermeasures to be taken when vulnerability is detected.

次に、脆弱性診断装置10の入出力部101は、例えば図8に示す診断結果画面G200を端末装置20に表示させる(ステップS106)。 Next, the input/output unit 101 of the vulnerability diagnosis device 10 causes the terminal device 20 to display, for example, a diagnosis result screen G200 shown in FIG. 8 (step S106).

図8に示す診断結果画面G200には、診断結果表示欄G210と、詳細ボタンG220とが含まれる。診断結果表示欄G210には、診断結果作成部105が作成した診断結果が含まれる診断結果が表示される。端末装置20のユーザは、診断結果表示欄G210を参照することで、各診断項目について、脆弱性の検出された数をユーザに通知する検知数、診断項目の概要説明、脆弱性が検出された場合における対策方法等を確認することができる。これにより、端末装置20のユーザは、診断対象のWebアプリケーションの脆弱性とその対策方法を知ることができる。 The diagnosis result screen G200 shown in FIG. 8 includes a diagnosis result display field G210 and a details button G220. A diagnosis result including the diagnosis result created by the diagnosis result creating unit 105 is displayed in the diagnosis result display field G210. The user of the terminal device 20 refers to the diagnosis result display field G210, and for each diagnosis item, the number of detections for notifying the user of the number of vulnerabilities detected, the outline explanation of the diagnosis item, and the vulnerability detected. It is possible to check countermeasures, etc. in the case. Thereby, the user of the terminal device 20 can know the vulnerability of the Web application to be diagnosed and the countermeasures against it.

ここで、ユーザにより詳細ボタンG220が押下された場合、端末装置20には、より詳細な診断結果が表示される。より詳細な診断結果とは、例えば、各診断項目について、どの診断エンジン104で診断されたか等を示す情報である。これにより、端末装置20のユーザは、どの診断項目がどの診断エンジン104によって診断されたのかを知ることができる。なお、より詳細な診断結果として、上記以外にも、例えば、各診断項目について、診断に要した時間や診断に用いたデータ(疑似的な攻撃を行うためのデータ)等が表示されても良い。 Here, when the user presses the details button G220, the terminal device 20 displays a more detailed diagnosis result. A more detailed diagnosis result is, for example, information indicating which diagnosis engine 104 has diagnosed each diagnosis item. This allows the user of the terminal device 20 to know which diagnostic item was diagnosed by which diagnostic engine 104 . As more detailed diagnosis results, other than the above, for example, for each diagnosis item, the time required for diagnosis, data used for diagnosis (data for performing a pseudo-attack), etc. may be displayed. .

以上のように、本実施形態に係る脆弱性診断装置10では、Webアプリケーション等の診断対象の脆弱性を複数の診断エンジン104によって診断することができる。これにより、本実施形態に係る脆弱性診断装置10では、診断エンジン104の特性に応じて、診断項目毎に、当該診断項目を高精度に診断可能な診断エンジン104によって診断することができるようになる。 As described above, the vulnerability diagnosis device 10 according to the present embodiment can diagnose the vulnerability of a diagnosis target such as a Web application using a plurality of diagnosis engines 104 . As a result, in the vulnerability diagnosis device 10 according to the present embodiment, each diagnosis item can be diagnosed by the diagnosis engine 104 capable of diagnosing the diagnosis item with high accuracy according to the characteristics of the diagnosis engine 104. Become.

また、本実施形態に係る脆弱性診断装置10は、マッピング情報によって各診断項目と各診断エンジン104とをマッピングすることで、どの診断項目をどの診断エンジン104によって診断するかを管理する。このため、本実施形態に係る脆弱性診断装置10では、診断エンジン104の追加や削除、変更を行うことができる。診断エンジン104が追加や削除、変更された場合、本実施形態に係る脆弱性診断装置10は、マッピング情報を再作成することで、追加や削除、変更された後の診断エンジン104を用いた診断を行うことができるようになる。 In addition, the vulnerability diagnosis apparatus 10 according to the present embodiment maps each diagnostic item and each diagnostic engine 104 using mapping information, thereby managing which diagnostic item is to be diagnosed by which diagnostic engine 104 . Therefore, in the vulnerability diagnosis device 10 according to this embodiment, the diagnosis engine 104 can be added, deleted, or changed. When the diagnosis engine 104 is added, deleted, or changed, the vulnerability diagnosis device 10 according to the present embodiment recreates the mapping information so that the diagnosis using the diagnosis engine 104 after the addition, deletion, or change can be performed. be able to do

<他の例(その1)>
ここで、本実施形態に係る脆弱性診断装置10の他の例(その1)について説明する。本実施形態に係る脆弱性診断装置10は、エンジン特性情報記憶部120に記憶されているエンジン特性情報として、例えば、図9に示すエンジン特性情報を用いても良い。
<Another example (Part 1)>
Here, another example (part 1) of the vulnerability diagnosis device 10 according to the present embodiment will be described. The vulnerability diagnosis device 10 according to this embodiment may use, for example, the engine characteristic information shown in FIG. 9 as the engine characteristic information stored in the engine characteristic information storage unit 120 .

図9に示すエンジン特性情報には、エンジン特性として、高精度で診断が可能な診断項目の項番と、高速に診断が可能な診断項目の項番とが設定される。このとき、例えば、図5のステップS101で端末装置20に表示させる画面として、図10に示す診断開始画面G300を表示させることができる。 In the engine characteristic information shown in FIG. 9, item numbers of diagnostic items that can be diagnosed with high accuracy and item numbers of diagnostic items that can be diagnosed at high speed are set as engine characteristics. At this time, for example, a diagnosis start screen G300 shown in FIG. 10 can be displayed as a screen displayed on the terminal device 20 in step S101 of FIG.

図10に示す診断開始画面G300では、優先選択欄G310が含まれる。優先選択欄G310は、精度優先の診断又は時間優先の診断のいずれを行うかをユーザが選択するための選択欄である。例えば、優先選択欄G310で「時間優先」がユーザにより選択された上で、診断開始ボタンG120が押下された場合、図5のS103においてマッピング作成部102は、診断項目毎に、診断項目と、当該診断項目に関する脆弱性を最も高速で診断可能な診断エンジン104のエンジン名とを対応付けたマッピング情報を作成する。 The diagnosis start screen G300 shown in FIG. 10 includes a priority selection field G310. The priority selection field G310 is a selection field for the user to select whether to perform diagnosis with priority given to accuracy or diagnosis with priority given to time. For example, when the user selects “time priority” in the priority selection field G310 and then presses the diagnosis start button G120, in S103 of FIG. Mapping information is created in which the engine name of the diagnostic engine 104 that can diagnose the vulnerability of the diagnostic item at the highest speed is associated with it.

例えば、図9に示すエンジン特性情報を参照すると、項番「3」の診断項目については、エンジン名「エンジンB」が高速に診断することができる。このため、マッピング作成部102は、項番「3」の診断項目と、エンジン名「エンジンB」とを対応付ける。 For example, referring to the engine characteristic information shown in FIG. 9, the engine name "Engine B" can be diagnosed at high speed for the diagnosis item of the item number "3". Therefore, the mapping creation unit 102 associates the diagnostic item with item number "3" with the engine name "Engine B".

同様に、例えば、図9に示すエンジン特性情報を参照すると、項番「4」の診断項目については、エンジン名「エンジンA」が高速に診断することできる。このため、マッピング作成部102は、項番「4」の診断項目と、エンジン名「エンジンA」とを対応付ける。 Similarly, referring to the engine characteristic information shown in FIG. 9, for example, the engine name "Engine A" can be diagnosed at high speed for the diagnosis item of the item number "4". Therefore, the mapping creation unit 102 associates the diagnosis item of the item number "4" with the engine name "Engine A".

ここで、或る診断項目について、高速に診断可能な診断エンジン104が存在しない場合も有り得る。この場合、例えば、予め決められた1つの診断エンジン104(デフォルトの診断エンジン104又は高精度に診断可能な診断エンジン104等)のエンジン名を当該診断項目に対応付けても良いし、全て又は一部の診断エンジン104のエンジン名を当該診断項目に対応付けても良い。 Here, it is possible that there is no diagnostic engine 104 capable of diagnosing a certain diagnostic item at high speed. In this case, for example, the engine name of one predetermined diagnosis engine 104 (the default diagnosis engine 104 or the diagnosis engine 104 capable of diagnosing with high accuracy) may be associated with the diagnosis item. The engine name of the diagnostic engine 104 of the unit may be associated with the diagnostic item.

同様に、或る診断項目について、高速に診断可能な診断エンジン104が複数存在する場合も有り得る。この場合、例えば、これらの複数の診断エンジン104のうち予め決められた1つの診断エンジン104(例えば、特に高速に診断可能な診断エンジン104又は高精度に診断可能な診断エンジン104等)のエンジン名を当該診断項目に対応付ければ良い。 Similarly, there may be multiple diagnosis engines 104 capable of diagnosing a certain diagnosis item at high speed. In this case, for example, the engine name of one predetermined diagnostic engine 104 out of the plurality of diagnostic engines 104 (for example, the diagnostic engine 104 capable of diagnosing particularly at high speed or the diagnostic engine 104 capable of diagnosing with high accuracy) should be associated with the diagnostic item.

なお、優先選択欄G310で「精度優先」がユーザにより選択された場合で、或る診断項目について、高精度に診断可能な診断エンジン104が存在しない場合、例えば、予め決められた1つの診断エンジン104(デフォルトの診断エンジン104又は高速に診断可能な診断エンジン104等)のエンジン名を当該診断項目に対応付けても良いし、全て又は一部の診断エンジン104のエンジン名を当該診断項目に対応付けても良い。同様に、高精度に診断可能な診断エンジン104が複数存在する場合、例えば、これらの複数の診断エンジン104のうち予め決められた1つの診断エンジン104(例えば、特に高精度に診断可能な診断エンジン104又は高速に診断可能な診断エンジン104等)のエンジン名を当該診断項目に対応付ければ良い。 If the user selects "precision priority" in the priority selection field G310 and there is no diagnostic engine 104 capable of diagnosing a certain diagnostic item with high accuracy, for example, one predetermined diagnostic engine 104 (the default diagnosis engine 104 or the diagnosis engine 104 capable of high-speed diagnosis) may be associated with the diagnosis item, or all or part of the engine names of the diagnosis engine 104 may be associated with the diagnosis item. You can attach it. Similarly, when there are a plurality of diagnostic engines 104 capable of diagnosing with high accuracy, for example, one predetermined diagnostic engine 104 among the plurality of diagnostic engines 104 (for example, a diagnostic engine 104 capable of diagnosing with high accuracy 104 or a diagnosis engine 104 capable of diagnosis at high speed) may be associated with the diagnosis item.

このように、マッピング作成部102は、診断項目毎に、当該診断項目に関する脆弱性を最も高速で診断可能な診断エンジン104のエンジン名を対応付けたマッピング情報を作成しても良い。 In this way, the mapping creation unit 102 may create mapping information in which the engine name of the diagnostic engine 104 capable of diagnosing the vulnerability related to the diagnostic item at the highest speed is associated with each diagnostic item.

<他の例(その2)>
ここで、本実施形態に係る脆弱性診断装置10の他の例(その2)について説明する。本実施形態に係る脆弱性診断装置10は、図5のステップS101で端末装置20に表示させる画面として、図11に示す診断開始画面G400を表示させても良い。
<Another example (Part 2)>
Here, another example (part 2) of the vulnerability diagnosis device 10 according to the present embodiment will be described. The vulnerability diagnosis apparatus 10 according to this embodiment may display a diagnosis start screen G400 shown in FIG. 11 as the screen displayed on the terminal device 20 in step S101 of FIG.

図11に示す診断開始画面G400では、詳細設定ボタンG410が含まれる。ユーザにより詳細設定ボタンG410が押下された場合、端末装置20には、例えば図11に示す詳細設定画面G500が表示される。図11に示す詳細設定画面G500は、脆弱性に関する診断の詳細な設定を行うための画面であり、例えば、エンジン数設定欄G510と、診断項目カスタマイズ欄G520とが含まれる。 The diagnosis start screen G400 shown in FIG. 11 includes a detail setting button G410. When the user presses the detailed setting button G410, the terminal device 20 displays a detailed setting screen G500 shown in FIG. 11, for example. The detailed setting screen G500 shown in FIG. 11 is a screen for performing detailed settings for diagnosis related to vulnerability, and includes, for example, a number-of-engines setting field G510 and a diagnostic item customizing field G520.

エンジン数設定欄G510は、診断を実行するエンジン数を設定するための設定欄である。エンジン数として「シングル」が設定された場合、1つの診断項目に対して1つのエンジン名が対応付けられたマッピング情報が作成される。一方で、エンジン数として「マルチ(並列実行)」が設定され、かつ、エンジン数が入力された場合、1つの診断項目に対して、入力されたエンジン数のエンジン名が対応付けられたマッピング情報が作成される。 The number-of-engines setting field G510 is a setting field for setting the number of engines to be diagnosed. When "single" is set as the number of engines, mapping information is created in which one engine name is associated with one diagnostic item. On the other hand, when "multi (parallel execution)" is set as the number of engines and the number of engines is input, mapping information in which engine names of the input number of engines are associated with one diagnostic item is created.

例えば、エンジン数「2」が入力された場合、1つの診断項目に対して2つのエンジン名が対応付けられたマッピング情報が作成される。したがって、この場合、1つの診断項目に関する脆弱性が、2つの診断エンジン104によって診断される。 For example, when the number of engines "2" is input, mapping information is created in which two engine names are associated with one diagnostic item. Therefore, in this case, vulnerabilities related to one diagnostic item are diagnosed by two diagnostic engines 104 .

なお、更に、ユーザは、診断項目毎に、当該診断項目に関する脆弱性を診断する診断エンジン104の数を設定することができても良い。これにより、ユーザは、例えば、或る診断項目については1つの診断エンジン104で診断し、別の或る診断項目(例えば、特に重要と考える診断項目等)については複数の診断エンジン104で診断する、といった設定を行うことが可能となる。 Furthermore, the user may be able to set the number of diagnostic engines 104 that diagnose vulnerabilities related to the diagnostic item for each diagnostic item. Thereby, the user can, for example, diagnose a certain diagnostic item with one diagnostic engine 104, and diagnose another certain diagnostic item (for example, a diagnostic item considered to be particularly important) with a plurality of diagnostic engines 104. , can be set.

また、ユーザは、診断項目毎に、当該診断項目に関する脆弱性を診断する診断エンジン104を指定できても良い。これにより、ユーザは、所望の診断項目に関する脆弱性ついて所望の診断エンジン104によって診断することができるようになる。 Also, the user may specify, for each diagnostic item, the diagnostic engine 104 that diagnoses the vulnerability associated with the diagnostic item. This enables the user to diagnose the vulnerability related to the desired diagnosis item by the desired diagnosis engine 104 .

診断項目カスタマイズ欄G520は、診断対象に対して診断を行う診断項目をカスタマイズするための設定欄である。診断項目カスタマイズ欄G520では、例えば、「インジェクション系の脆弱性を診断」、「データ露出系の脆弱性を診断」等の選択項目を選択することができる。例えば、「インジェクション系の脆弱性を診断」がユーザにより選択された場合、インジェクション系の脆弱性を診断するための診断項目のみが含まれるマッピング情報が作成される。同様に、例えば、「データ露出系の脆弱性を診断」がユーザにより選択された場合、データ露出系の脆弱性を診断するための診断項目のみが含まれるマッピング情報が作成される。これにより、ユーザは、例えば、或る特定の種類(例えば、インジェクション系やデータ露出系等)の脆弱性のみを診断する、といった設定を行うことが可能となる。なお、インジェクション系の脆弱性を診断するための診断項目としては、例えば、項番「5」、項番「8」、及び項番「9」等の診断項目が挙げられる。また、データ露出系の脆弱性を診断するための診断項目としては、例えば、項番「2」及び項番「3」等の診断項目が挙げられる。 The diagnostic item customizing field G520 is a setting field for customizing diagnostic items for diagnosing a diagnostic target. In the diagnostic item customization field G520, for example, selection items such as "Diagnose injection vulnerability" and "Diagnose data exposure vulnerability" can be selected. For example, when the user selects "Diagnose injection vulnerability", mapping information is created that includes only diagnostic items for diagnosing injection vulnerability. Similarly, for example, when the user selects "Diagnose vulnerability of data exposure system", mapping information is created that includes only diagnostic items for diagnosing vulnerability of data exposure system. This allows the user to make settings such as, for example, diagnosing only specific types of vulnerabilities (for example, injection, data exposure, etc.). The diagnostic items for diagnosing the vulnerability of the injection system include, for example, diagnostic items such as item number "5", item number "8", and item number "9". Diagnostic items for diagnosing the vulnerability of the data exposure system include, for example, diagnostic items such as item number "2" and item number "3".

ユーザは、エンジン数設定欄G510や診断項目カスタマイズ欄G520等で所望の設定を行った上で、OKボタンG530を押下することで、これらの設定を確定することができる。 The user can make desired settings in the number-of-engines setting field G510, the diagnostic item customizing field G520, etc., and then press the OK button G530 to confirm these settings.

ここで、一例として、診断項目カスタマイズ欄G520で「インジェクション系の脆弱性を診断」が選択された上で、項番「5」及び項番「8」の診断項目に対するエンジン数を「2」、項番「9」の診断項目に対するエンジン数を「1」とユーザが設定した場合に、図5のステップS103でマッピング作成部102により作成されるマッピング情報を図12に示す。図12に示すマッピング情報では、インジェクション系の脆弱性を診断するための各診断項目に対して、ユーザにより設定された数のエンジン名が対応付けられている。このように、ユーザにより行われた設定に応じたマッピング情報がマッピング作成部102により作成される。これにより、図5のステップS104で、項番「5」及び項番「8」の診断項目に関する脆弱性は第1の診断エンジン104A及び第2の診断エンジン104Bによって診断されると共に、項番「9」の診断項目に関する脆弱性は第2の診断エンジン104Bによって診断される。 Here, as an example, after selecting "Diagnose injection vulnerability" in the diagnostic item customization field G520, the number of engines for the diagnostic items with item numbers "5" and "8" is set to "2", FIG. 12 shows the mapping information created by the mapping creation unit 102 in step S103 of FIG. 5 when the user sets the number of engines for the diagnostic item with item number "9" to "1". In the mapping information shown in FIG. 12, the number of engine names set by the user is associated with each diagnostic item for diagnosing injection vulnerability. In this manner, mapping information corresponding to settings made by the user is created by the mapping creation unit 102 . As a result, in step S104 of FIG. 5, vulnerabilities related to the diagnostic items with item numbers "5" and "8" are diagnosed by the first diagnostic engine 104A and the second diagnostic engine 104B, and the item number " 9” diagnostic items are diagnosed by the second diagnostic engine 104B.

以上のように、本実施形態に係る脆弱性診断装置10では、どの診断項目に関する脆弱性を診断するか、1つの診断項目に対していくつの診断エンジン104によって診断を実行するか等をユーザが詳細に設定することができる。これにより、例えば、脆弱性の診断に関する知見を有するユーザ等は、所望のマッピング情報を作成することができるようになる。 As described above, in the vulnerability diagnosis device 10 according to the present embodiment, the user can set which diagnosis item to diagnose the vulnerability, how many diagnosis engines 104 to execute diagnosis for one diagnosis item, and the like. Can be set in detail. As a result, for example, a user or the like who has knowledge about vulnerability diagnosis can create desired mapping information.

本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。 The invention is not limited to the specifically disclosed embodiments above, but various modifications and changes are possible without departing from the scope of the claims.

1 脆弱性診断システム
10 脆弱性診断装置
20 端末装置
30 診断対象サーバ
101 入出力部
102 マッピング作成部
103 エンジン制御部
104 診断エンジン
104A 第1の診断エンジン
104B 第2の診断エンジン
105 診断結果作成部
110 診断項目情報記憶部
120 エンジン特性情報記憶部
1 vulnerability diagnosis system 10 vulnerability diagnosis device 20 terminal device 30 diagnosis target server 101 input/output unit 102 mapping creation unit 103 engine control unit 104 diagnosis engine 104A first diagnosis engine 104B second diagnosis engine 105 diagnosis result creation unit 110 Diagnosis item information storage unit 120 Engine characteristic information storage unit

Claims (7)

診断対象の脆弱性の有無を診断する複数の診断エンジンを有する脆弱性診断装置であって、
前記診断エンジンの特性に応じて、診断項目毎に、前記複数の診断エンジンのうち、前記診断項目に関する脆弱性の有無を診断する診断エンジンが対応付けられたマッピング情報を作成する作成手段と、
前記作成手段により作成されたマッピング情報に基づいて、前記診断項目毎に、該診断項目に対応付けられている診断エンジンによって前記診断対象の脆弱性を診断する診断手段と、
を有し、
前記診断エンジンの特性は、高精度に脆弱性の有無を診断可能な診断項目を示す情報と、高速に脆弱性の有無を診断可能な診断項目を示す情報との少なくとも一方であり、
前記作成手段は、
前記診断項目毎に、該診断項目に関する脆弱性の有無を最も高精度に診断可能な診断エンジン又は前記診断項目に関する脆弱性の有無を最も高速に診断可能な診断エンジンを対応付けることで、前記マッピング情報を作成する、ことを特徴とする脆弱性診断装置。
A vulnerability diagnosis device having a plurality of diagnosis engines for diagnosing the presence or absence of a vulnerability to be diagnosed,
creating means for creating mapping information in which, for each diagnostic item, a diagnostic engine for diagnosing the presence or absence of vulnerabilities related to the diagnostic item among the plurality of diagnostic engines is associated with the diagnostic engine according to the characteristics of the diagnostic engine;
diagnostic means for diagnosing the vulnerability of the diagnosis target by a diagnostic engine associated with each diagnostic item based on the mapping information created by the creating means;
has
The characteristic of the diagnosis engine is at least one of information indicating a diagnostic item capable of diagnosing the presence or absence of a vulnerability with high accuracy and information indicating a diagnostic item capable of diagnosing the presence or absence of a vulnerability at high speed,
The creation means is
By associating with each diagnostic item a diagnostic engine capable of diagnosing the presence or absence of vulnerabilities related to the diagnostic item with the highest accuracy or a diagnostic engine capable of diagnosing the presence or absence of vulnerabilities related to the diagnostic item at the highest speed, the mapping information creating a vulnerability diagnosis device.
前記作成手段は、
前記診断エンジンの特性と、ユーザによって行われた設定内容とに応じて、前記マッピング情報を作成する、
ことを特徴とする請求項に記載の脆弱性診断装置。
The creation means is
creating the mapping information according to characteristics of the diagnostic engine and settings made by a user;
The vulnerability diagnosis device according to claim 1 , characterized by:
前記設定内容には、前記脆弱性の有無を診断する診断項目を示す設定内容と、前記診断項目に関する脆弱性の有無を診断する診断エンジンの数を示す設定内容との少なくとも一方が含まれる、
ことを特徴とする請求項に記載の脆弱性診断装置。
The setting content includes at least one of setting content indicating a diagnostic item for diagnosing the presence or absence of the vulnerability and setting content indicating the number of diagnostic engines for diagnosing the presence or absence of the vulnerability related to the diagnostic item.
The vulnerability diagnosis device according to claim 2 , characterized by:
前記作成手段は、
前記診断項目毎に、該診断項目に関する脆弱性の有無を診断する1以上の診断エンジンが対応付けられたマッピング情報を作成する、
ことを特徴とする請求項1乃至の何れか一項に記載の脆弱性診断装置。
The creation means is
For each diagnostic item, creating mapping information in which one or more diagnostic engines for diagnosing the presence or absence of vulnerabilities related to the diagnostic item are associated.
The vulnerability diagnosis device according to any one of claims 1 to 3 , characterized by:
複数の前記診断エンジンからそれぞれ出力される第1の診断結果に基づいて、所定のフォーマットの第2の診断結果を作成する結果作成手段と、
前記結果作成手段により作成された第2の診断結果を、前記脆弱性診断装置とネットワークを介して接続される端末装置に表示させる表示手段と、
を有することを特徴とする請求項1乃至の何れか一項に記載の脆弱性診断装置。
result creation means for creating a second diagnosis result in a predetermined format based on the first diagnosis results respectively output from the plurality of diagnosis engines;
display means for displaying the second diagnosis result created by the result creation means on a terminal device connected to the vulnerability assessment device via a network;
The vulnerability diagnosis device according to any one of claims 1 to 4 , comprising:
診断対象の脆弱性の有無を診断する複数の診断エンジンを有するコンピュータが、
前記診断エンジンの特性に応じて、診断項目毎に、前記複数の診断エンジンのうち、前記診断項目に関する脆弱性の有無を診断する診断エンジンが対応付けられたマッピング情報を作成する作成手順と、
前記作成手順により作成されたマッピング情報に基づいて、前記診断項目毎に、該診断項目に対応付けられている診断エンジンによって前記診断対象の脆弱性を診断する診断手順と、
を実行し、
前記診断エンジンの特性は、高精度に脆弱性の有無を診断可能な診断項目を示す情報と、高速に脆弱性の有無を診断可能な診断項目を示す情報との少なくとも一方であり、
前記作成手順は、
前記診断項目毎に、該診断項目に関する脆弱性の有無を最も高精度に診断可能な診断エンジン又は前記診断項目に関する脆弱性の有無を最も高速に診断可能な診断エンジンを対応付けることで、前記マッピング情報を作成する、ことを特徴とする脆弱性診断方法。
A computer having a plurality of diagnostic engines for diagnosing the presence or absence of vulnerabilities to be diagnosed,
a creation procedure for creating mapping information in which, for each diagnostic item, a diagnostic engine for diagnosing the presence or absence of vulnerabilities related to the diagnostic item, among the plurality of diagnostic engines, is associated with the diagnostic engine according to the characteristics of the diagnostic engine;
a diagnostic procedure for diagnosing the vulnerability of the diagnostic target by a diagnostic engine associated with the diagnostic item for each diagnostic item based on the mapping information created by the creation procedure;
and run
The characteristic of the diagnosis engine is at least one of information indicating a diagnostic item capable of diagnosing the presence or absence of a vulnerability with high accuracy and information indicating a diagnostic item capable of diagnosing the presence or absence of a vulnerability at high speed,
The creation procedure includes:
By associating with each diagnostic item a diagnostic engine capable of diagnosing the presence or absence of vulnerabilities related to the diagnostic item with the highest accuracy or a diagnostic engine capable of diagnosing the presence or absence of vulnerabilities related to the diagnostic item at the highest speed, the mapping information creating a vulnerability diagnosis method.
コンピュータを、請求項1乃至の何れか一項に記載の脆弱性診断装置における各手段として機能させるためのプログラム。 A program for causing a computer to function as each means in the vulnerability diagnosis device according to any one of claims 1 to 5 .
JP2018120542A 2018-06-26 2018-06-26 Vulnerability diagnosis device, vulnerability diagnosis method and program Active JP7111527B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018120542A JP7111527B2 (en) 2018-06-26 2018-06-26 Vulnerability diagnosis device, vulnerability diagnosis method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018120542A JP7111527B2 (en) 2018-06-26 2018-06-26 Vulnerability diagnosis device, vulnerability diagnosis method and program

Publications (2)

Publication Number Publication Date
JP2020003899A JP2020003899A (en) 2020-01-09
JP7111527B2 true JP7111527B2 (en) 2022-08-02

Family

ID=69099926

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018120542A Active JP7111527B2 (en) 2018-06-26 2018-06-26 Vulnerability diagnosis device, vulnerability diagnosis method and program

Country Status (1)

Country Link
JP (1) JP7111527B2 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017167766A (en) 2016-03-15 2017-09-21 三菱電機株式会社 Diagnostic result integration device and diagnostic result integration program
JP2018055340A (en) 2016-09-28 2018-04-05 キヤノンマーケティングジャパン株式会社 Information processing device, and processing method and program thereof

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017167766A (en) 2016-03-15 2017-09-21 三菱電機株式会社 Diagnostic result integration device and diagnostic result integration program
JP2018055340A (en) 2016-09-28 2018-04-05 キヤノンマーケティングジャパン株式会社 Information processing device, and processing method and program thereof

Also Published As

Publication number Publication date
JP2020003899A (en) 2020-01-09

Similar Documents

Publication Publication Date Title
US9135533B2 (en) Information processing apparatus configured to establish a workflow using plugins, information processing method, and computer-readable storage medium performing the same
US9076072B2 (en) System and method for web page rendering test automation suite
US11315084B2 (en) Method and system for aggregating diagnostic analyzer related information
US9262396B1 (en) Browser compatibility checker tool
US20180165258A1 (en) Methods for improved auditing of web sites and devices thereof
US9396082B2 (en) Systems and methods of analyzing a software component
US9766869B2 (en) Parameterized installation packages
US10572546B2 (en) Information processing apparatus, document display method, document display system, and medium
US20070220036A1 (en) Troubleshooting to diagnose computer problems
KR20170024488A (en) Method and image forming divice for generating workform of image forming job
JPWO2017098650A1 (en) Analysis information management system
US8984487B2 (en) Resource tracker
JP7111527B2 (en) Vulnerability diagnosis device, vulnerability diagnosis method and program
US10439893B2 (en) Information sharing system
JP5758544B2 (en) Screen information collection computer, screen information collection method, and computer-readable storage medium
JP4636029B2 (en) Image forming apparatus and program
US20120144169A1 (en) Information processing apparatus, information processing method, and computer readable medium
US10853007B2 (en) Information processing apparatus configured to adjust a display of an icon based on whether an associated application is executable on an external apparatus connected thereto, information processing method, and computer-readable recording medium
JP6626946B1 (en) Test support system, test support method, and test support program
US11354081B2 (en) Information processing apparatus with concealed information
JP5668836B2 (en) Information processing apparatus, information acquisition method, and information acquisition program
JP6728840B2 (en) Image processing server, distribution device and program
JP6261244B2 (en) WEB application test apparatus and program thereof
JP2020102149A (en) Information processing system, service providing device, information processing method, and program
JP7348698B1 (en) Systems, methods, and programs for automatically patrolling websites

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201127

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210930

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211005

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20211201

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220203

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220721

R150 Certificate of patent or registration of utility model

Ref document number: 7111527

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150