JP2023168559A - Vulnerability diagnosing device, control method of vulnerability diagnosing device, and vulnerability diagnosing program - Google Patents
Vulnerability diagnosing device, control method of vulnerability diagnosing device, and vulnerability diagnosing program Download PDFInfo
- Publication number
- JP2023168559A JP2023168559A JP2023173148A JP2023173148A JP2023168559A JP 2023168559 A JP2023168559 A JP 2023168559A JP 2023173148 A JP2023173148 A JP 2023173148A JP 2023173148 A JP2023173148 A JP 2023173148A JP 2023168559 A JP2023168559 A JP 2023168559A
- Authority
- JP
- Japan
- Prior art keywords
- vulnerability diagnosis
- vulnerability
- diagnosis processing
- information
- transition
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims description 214
- 238000003745 diagnosis Methods 0.000 claims abstract description 715
- 238000012545 processing Methods 0.000 claims abstract description 348
- 230000007704 transition Effects 0.000 claims description 193
- 230000008569 process Effects 0.000 claims description 179
- 238000004891 communication Methods 0.000 claims description 84
- 238000010586 diagram Methods 0.000 claims description 45
- 230000005540 biological transmission Effects 0.000 claims description 17
- 230000004044 response Effects 0.000 description 73
- 238000011156 evaluation Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 10
- 238000012986 modification Methods 0.000 description 9
- 230000004048 modification Effects 0.000 description 9
- 101000701286 Pseudomonas aeruginosa (strain ATCC 15692 / DSM 22644 / CIP 104116 / JCM 14847 / LMG 12228 / 1C / PRS 101 / PAO1) Alkanesulfonate monooxygenase Proteins 0.000 description 8
- 101000983349 Solanum commersonii Osmotin-like protein OSML13 Proteins 0.000 description 8
- 238000002347 injection Methods 0.000 description 8
- 239000007924 injection Substances 0.000 description 8
- 238000003780 insertion Methods 0.000 description 8
- 230000037431 insertion Effects 0.000 description 8
- 230000008859 change Effects 0.000 description 6
- 235000014510 cooky Nutrition 0.000 description 6
- 238000013515 script Methods 0.000 description 6
- 238000011161 development Methods 0.000 description 4
- 238000013473 artificial intelligence Methods 0.000 description 3
- 238000007689 inspection Methods 0.000 description 3
- 238000007796 conventional method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000011835 investigation Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000010420 art technique Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000002405 diagnostic procedure Methods 0.000 description 1
- 230000001568 sexual effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Abstract
Description
本発明は、脆弱性診断装置、脆弱性診断装置の制御方法および脆弱性診断プログラムに関する。 The present invention relates to a vulnerability diagnosis device, a method of controlling the vulnerability diagnosis device, and a vulnerability diagnosis program.
ウェブページまたはアプリケーションに対する様々な攻撃を防ぐために、ウェブページまたはアプリケーションの脆弱性を診断する技術が従来技術として知られている。 2. Description of the Related Art Techniques for diagnosing vulnerabilities in web pages or applications in order to prevent various attacks on web pages or applications are known as prior art.
例えば、特許文献1には、ウェブアプリケーションの入力項目への入力に用いる入力パラメータと、入力パラメータを所定の値に置換する指令を示すマクロとを含む検査用データを生成する検査手段を備えるウェブアプリケーション検査装置が記載されている。
For example,
特許文献1のような従来技術は、脆弱性に関する知識やプログラミング開発の経験など、ユーザに専門的な知識や経験がなければウェブページまたはアプリケーションの脆弱性を診断することができない。
Conventional techniques such as those disclosed in
本発明の一態様は、ユーザに専門的な知識や経験がなくてもウェブページまたはアプリケーションの脆弱性を診断可能な脆弱性診断装置およびその関連技術を実現することを主たる目的とする。 A main object of one aspect of the present invention is to realize a vulnerability diagnosis device and its related technology that can diagnose the vulnerability of a web page or an application even if the user does not have specialized knowledge or experience.
上記の課題を解決するために、本発明の一態様に係る脆弱性診断装置は、ユーザの操作に基づいて、ウェブページまたはアプリケーションの脆弱性を診断する脆弱性診断処理を規定する脆弱性診断処理情報を生成する脆弱性診断処理情報生成部と、前記脆弱性診断処理情報生成部が生成した前記脆弱性診断処理情報に基づいて前記脆弱性診断処理を実行する脆弱性診断処理部と、を備える。 In order to solve the above problems, a vulnerability diagnosis device according to one aspect of the present invention provides a vulnerability diagnosis process that defines a vulnerability diagnosis process for diagnosing the vulnerability of a web page or an application based on a user's operation. A vulnerability diagnosis processing information generation unit that generates information; and a vulnerability diagnosis processing unit that executes the vulnerability diagnosis processing based on the vulnerability diagnosis processing information generated by the vulnerability diagnosis processing information generation unit. .
本発明の一態様に係る脆弱性診断装置の制御方法は、脆弱性診断装置が、ユーザの操作に基づいて、ウェブページまたはアプリケーションの脆弱性を診断する脆弱性診断処理を規定する脆弱性診断処理情報を生成する脆弱性診断処理情報生成処理と、前記脆弱性診断装置が、前記脆弱性診断処理情報生成部が生成した前記脆弱性診断処理情報に基づいて前記脆弱性診断処理を実行する脆弱性診断処理と、を含む。 A method for controlling a vulnerability diagnosis device according to an aspect of the present invention includes a vulnerability diagnosis process in which the vulnerability diagnosis device prescribes a vulnerability diagnosis process for diagnosing the vulnerability of a web page or an application based on a user's operation. vulnerability diagnosis processing information generation processing that generates information; and vulnerability diagnosis processing in which the vulnerability diagnosis device executes the vulnerability diagnosis processing based on the vulnerability diagnosis processing information generated by the vulnerability diagnosis processing information generation unit. and diagnostic processing.
本発明の各態様に係る脆弱性診断装置は、コンピュータによって実現してもよく、この場合には、コンピュータを前記脆弱性診断装置が備える各部(ソフトウェア要素)として動作させることにより前記脆弱性診断装置をコンピュータにて実現させる脆弱性診断装置の脆弱性診断プログラム、およびそれを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に入る。 The vulnerability diagnosis device according to each aspect of the present invention may be realized by a computer, and in this case, the vulnerability diagnosis device A vulnerability diagnosis program for a vulnerability diagnosis apparatus that implements the above on a computer, and a computer-readable recording medium on which the same is recorded also fall within the scope of the present invention.
本発明の一態様によれば、ユーザに専門的な知識や経験がなくてもウェブページまたはアプリケーションの脆弱性を診断可能な脆弱性診断装置およびその関連技術を実現できる。 According to one aspect of the present invention, it is possible to realize a vulnerability diagnosis device and its related technology that can diagnose the vulnerability of a web page or an application even if the user does not have specialized knowledge or experience.
<実施形態1>
図1~7を用いて実施形態1について説明する。図1は、実施形態1に係る脆弱性診断装置100の構成の一例を示すブロック図である。
<
〔脆弱性診断装置100〕
脆弱性診断装置100は、ウェブページまたはアプリケーションの脆弱性を診断する。図1のように、脆弱性診断装置100は、操作受付部110と、主制御部120と、出力部130とを備えている。脆弱性診断装置100としては、例えば、プロキシサーバなどのコンピュータが挙げられる。
[Vulnerability diagnosis device 100]
The
[操作受付部110]
操作受付部110は、主制御部120における脆弱性診断処理情報生成部121に対するユーザの操作の入力を受け付ける。
[Operation reception unit 110]
The
例えば、操作受付部110は、クリック用のボタンのクリックまたはコンボボックスの選択およびクリックなどのグラフィックユーザインタフェース(GUI:graphical user interface)のコンポネントに対するユーザの操作の入力を受け付ける。
For example, the
操作受付部110としては、例えば、キーボード、マウス、タッチパネルおよびスイッチなどのユーザインタフェース(UI:graphical user interface)が挙げられる。
Examples of the
[主制御部120]
主制御部120は、脆弱性診断装置100を制御する。図1に示すように、主制御部120は、脆弱性診断処理情報生成部121と、脆弱性診断処理部122とを備えている。
[Main control unit 120]
The
(脆弱性診断処理情報生成部121)
脆弱性診断処理情報生成部121は、操作受付部110に入力されたユーザの操作に基づいて、ウェブページまたはアプリケーションの脆弱性を診断する脆弱性診断処理を規定する脆弱性診断処理情報を生成する。脆弱性診断処理情報生成部121は、脆弱性診断処理情報が複数の項目から構成されている場合、脆弱性診断処理情報の各項目をユーザの操作に応じて変更してもよい。脆弱性診断処理情報生成部121による脆弱性診断処理情報生成処理の詳細は後述する。
(Vulnerability diagnosis processing information generation unit 121)
The vulnerability diagnosis processing
(脆弱性診断処理部122)
脆弱性診断処理部122は、脆弱性診断処理情報生成部121が生成または変更した脆弱性診断処理情報に基づいて、脆弱性診断処理を実行する。例えば、脆弱性診断処理部122は、脆弱性診断処理情報に基づいて攻撃文字列を生成または変更し、当該攻撃文字列をHTTPリクエストに挿入した攻撃用HTTPリクエストを脆弱性診断対象であるサーバに送信することにより、脆弱性診断処理を実行する。脆弱性診断処理部122による脆弱性診断処理の詳細は後述する。
(Vulnerability diagnosis processing unit 122)
The vulnerability
[出力部130]
出力部130は、脆弱性診断処理情報生成処理の際にユーザが指定するための画像(脆弱性診断処理情報生成画像)、脆弱性診断処理を実行するための画像(脆弱性診断処理実行画像)および脆弱性診断処理結果を示す画像(脆弱性診断処理結果画像)などを出力する。図1に示すように、出力部130は、表示部131を備えている。
[Output unit 130]
The
(表示部131)
表示部131は、脆弱性診断処理情報生成画像、脆弱性診断処理実行画像および脆弱性診断処理結果画像などを表示する。
(Display section 131)
The
〔脆弱性診断装置100の制御方法S1〕
次に、図2~5を用いて実施形態1に係る脆弱性診断装置100の制御方法(脆弱性診断装置の制御方法)S1を説明する。図2は、実施形態1に係る脆弱性診断装置100の制御方法S1の一例を示すフロー図である。
[Control method S1 of vulnerability diagnosis device 100]
Next, a method S1 for controlling the vulnerability diagnosis device 100 (a method for controlling the vulnerability diagnosis device) according to the first embodiment will be described using FIGS. 2 to 5. FIG. 2 is a flow diagram illustrating an example of the control method S1 of the
図2に示すように、脆弱性診断装置100の制御方法S1は、操作受付処理S11と、脆弱性診断処理情報生成処理S12と、脆弱性診断処理S13と、出力処理S14とを含み、脆弱性診断装置100によってこの順で実行される。
As shown in FIG. 2, the control method S1 of the
[操作受付処理S11]
脆弱性診断装置100の操作受付部110は、主制御部120における脆弱性診断処理情報生成部121に対するユーザの操作の入力を受け付ける。
[Operation reception process S11]
The
以下、図3を用いて、操作受付部110による操作受付処理S11について説明する。図3は、脆弱性診断処理情報生成画像の一例を示す図である。具体的には、図3は、第1の脆弱性診断処理情報生成画像I1および第2の脆弱性診断処理情報生成画像I2の一例を示す図である。
The operation reception process S11 by the
操作受付部110が操作受付処理S11を実行する場合、まず、第1の脆弱性診断処理情報生成画像I1が表示部131に表示される。
When the
図3に示す例では、第1の脆弱性診断処理情報生成画像I1は、以下の脆弱性診断処理情報を含む。
・SQL(Structured Query Language)を利用するサーバを攻撃することができる脆弱性診断情報(図3に示す例では、「SQLインジェクション」)
・OS(Operation System)のシェルコマンドを利用し、OSを攻撃することができる脆弱性に関する脆弱性診断情報(図3に示す例では、「OSコマンドインジェクション」)・サーバのファイルのパスを指定することによって、ファイルを閲覧されてしまう脆弱性に関する脆弱性診断情報(図3に示す例では、「パストラバーサル」)
・HTTPリクエストのパラメータに攻撃用スクリプト(例えば、攻撃文字列)を挿入することにより、ウェブページのHTMLに攻撃用スクリプトを挿入する脆弱性に関する脆弱性診断情報(図3に示す例では、「クロスサイトスクリプティング」)
図3に示す例では、第1の脆弱性診断処理情報生成画像I1における「クロスサイトスクリプティング」に含まれる脆弱性診断処理情報D(図3に示す例では、「XSS(Params)」)は、ウェブページまたはアプリケーションにユーザが攻撃用スクリプトを挿入する場合におけるウェブページまたはアプリケーションの脆弱性の脆弱性診断処理に関する情報を示す。
In the example shown in FIG. 3, the first vulnerability diagnosis processing information generation image I1 includes the following vulnerability diagnosis processing information.
・Vulnerability diagnosis information that can attack servers that use SQL (Structured Query Language) (in the example shown in Figure 3, "SQL injection")
・Vulnerability diagnosis information regarding vulnerabilities that can attack the OS using OS (Operation System) shell commands (in the example shown in Figure 3, "OS command injection") ・Specify the server file path Vulnerability diagnosis information related to vulnerabilities that allow files to be viewed (in the example shown in Figure 3, "path traversal")
・Vulnerability diagnosis information regarding the vulnerability of inserting an attack script (for example, an attack string) into the HTML of a web page by inserting an attack script (for example, an attack string) into the parameters of an HTTP request (in the example shown in Figure 3, "Site Scripting")
In the example shown in FIG. 3, the vulnerability diagnosis processing information D (in the example shown in FIG. 3, "XSS (Params)") included in "Cross-site scripting" in the first vulnerability diagnosis processing information generation image I1 is: Information regarding vulnerability diagnosis processing for vulnerabilities in a web page or application when a user inserts an attack script into the web page or application is shown.
図3に示すように、脆弱性診断処理情報Dは、以下の項目のうち、少なくとも1つを含む複数の項目から構成されていてもよい。
・脆弱性診断処理実行条件D1(図3に示す例では、「Event Conditions」)
・脆弱性診断処理実行情報D2(図3に示す例では、「Attack Methods」)
・脆弱性診断処理結果評価条件D3(図3に示す例では、「Match Conditions」)
脆弱性診断処理実行条件D1は、脆弱性診断処理部122が脆弱性診断処理S13を実行するための条件を示す。脆弱性診断処理実行情報D2は、攻撃文字列、パラメータおよびHTTPレスポンスなど、脆弱性診断処理S13を実行するときに用いる情報を示す。脆弱性診断処理結果評価条件D3は、脆弱性診断処理結果を評価するための条件を示す。例えば、脆弱性診断処理結果評価条件D3は、脆弱性が存在する場合、満たすべき条件にどれだけ合致しているのかを評価することにより、脆弱性診断処理結果を評価するための条件を示す。
As shown in FIG. 3, the vulnerability diagnosis processing information D may be composed of a plurality of items including at least one of the following items.
・Vulnerability diagnosis processing execution conditions D1 (in the example shown in FIG. 3, "Event Conditions")
・Vulnerability diagnosis processing execution information D2 (in the example shown in FIG. 3, "Attack Methods")
・Vulnerability diagnosis processing result evaluation condition D3 (in the example shown in FIG. 3, "Match Conditions")
The vulnerability diagnosis process execution condition D1 indicates a condition for the vulnerability
脆弱性診断処理情報Dが脆弱性診断処理実行条件D1を含むことにより、脆弱性診断処理部122は、脆弱性診断対象となる通信の条件を定めることができる。脆弱性診断処理情報Dが脆弱性診断処理実行情報D2を含むことにより、脆弱性診断処理部122は、脆弱性診断処理実行情報D2に基づき、ユーザにとって所望の方法により、脆弱性診断処理S13を実行することができる。脆弱性診断処理情報Dが脆弱性診断処理結果評価条件D3を含むことにより、脆弱性診断処理部122は、脆弱性診断処理結果評価条件D3に基づき、脆弱性を指摘する条件を定めることができる。
By including the vulnerability diagnosis processing execution condition D1 in the vulnerability diagnosis processing information D, the vulnerability
図3に示す例では、操作受付部110は、ユーザから脆弱性診断処理実行条件D1のクリックを受け付けている。また、主制御部120は、脆弱性診断処理実行条件D1のクリックに基づき、脆弱性診断処理実行条件D1を設定するための第2の脆弱性診断処理情報生成画像I2を表示部131に表示させている。
In the example shown in FIG. 3, the
第2の脆弱性診断処理情報生成画像I2は、脆弱性診断処理実行条件D1を設定するための画像であり、以下のコンポネントを含む。脆弱性診断処理実行条件D1は、脆弱性診断処理を実行するための条件に関する選択肢に示されるもの(図3に示す例では、コンボボックスC1の「Common」、コンボボックスC2の「特定レスポンスのヘッダが条件にあった場合」およびコンポネントC5の「HTTPレスポンスヘッダ文字列に文字列が含まれている。」)を含む。操作受付部110は、以下の少なくとも1つのコンポネントに対する入力をユーザから受け付ける。
・脆弱性診断処理実行条件D1の選択肢を表示するコンポネント(図3に示す例では、「コンボボックスC1」、「コンボボックスC2」および「コンポネントC5」)
・脆弱性診断処理実行情報D2を決定するコンポネント(図3に示す例では、「クリックボタンC3」)
・脆弱性診断処理実行条件D1をキャンセルするコンポネント(図3に示す例では、「クリックボタンC4」)
[脆弱性診断処理情報生成処理S12]
脆弱性診断装置100の主制御部120における脆弱性診断処理情報生成部121は、ユーザの操作に基づいて、ウェブページまたはアプリケーションの脆弱性を診断する脆弱性診断処理を規定する脆弱性診断処理情報を生成する。
The second vulnerability diagnosis process information generation image I2 is an image for setting vulnerability diagnosis process execution conditions D1, and includes the following components. The vulnerability diagnosis process execution condition D1 is the one shown in the options for conditions for executing the vulnerability diagnosis process (in the example shown in FIG. 3, "Common" in the combo box C1, "Header of a specific response" in the combo box C2 "If the condition is met" and component C5 "The character string is included in the HTTP response header character string."). The
- A component that displays options for the vulnerability diagnosis process execution condition D1 (in the example shown in FIG. 3, "combo box C1", "combo box C2", and "component C5")
・Component that determines vulnerability diagnosis process execution information D2 (in the example shown in FIG. 3, "click button C3")
- A component that cancels the vulnerability diagnosis processing execution condition D1 (in the example shown in Figure 3, "click button C4")
[Vulnerability diagnosis processing information generation processing S12]
The vulnerability diagnosis processing
以下、図3を用いて脆弱性診断処理情報生成部121による脆弱性診断処理情報生成処理S12の一例について説明する。特に、脆弱性診断処理に関する情報である脆弱性診断処理情報Dを構成する複数の項目のうち、脆弱性診断処理実行条件D1の生成および変更について詳細に説明する。
An example of the vulnerability diagnosis process information generation process S12 by the vulnerability diagnosis process
脆弱性診断処理情報Dを構成する複数の項目のうち、脆弱性診断処理実行情報D2および脆弱性診断処理結果評価条件D3については、脆弱性診断処理実行条件D1と同様の方法により、ユーザの操作に基づいて脆弱性診断処理情報生成部121が独立して生成および変更できるため説明を省略する。
Among the multiple items that constitute vulnerability diagnosis processing information D, vulnerability diagnosis processing execution information D2 and vulnerability diagnosis processing result evaluation conditions D3 are determined by user operations in the same manner as vulnerability diagnosis processing execution conditions D1. Since the vulnerability diagnosis processing
例えば、図3に示す第2の脆弱性診断処理情報生成画像I2が表示部131に表示された状態で、操作受付部110が、クリックボタンC3をクリックする操作をユーザから受け付けた場合、脆弱性診断処理情報生成部121は、当該操作に基づいて脆弱性診断処理情報を生成する。
For example, when the
図3に示す例では、操作受付部110は、第2の脆弱性診断処理情報生成画像I2が表示部131に表示された状態からコンボボックスC1およびC2のクリック、およびこれらをクリックすることにより表示部131に表示された選択肢のクリックを受け付けていない。この場合、脆弱性診断処理情報生成部121は、あらかじめ設定された脆弱性診断処理情報を変更することなく、当該脆弱性診断処理情報として生成する。
In the example shown in FIG. 3, the
図3に示す例では、コンボボックスC1の「Common」は、各条件をグループにより分けた場合、特性が著しくない条件を示す。コンボボックスC2の「特定レスポンスのヘッダが条件にあった場合」は、特定HTTPレスポンスを構成するデータであるヘッダとボディーとのうち、ヘッダが「何らかの条件」に合致している場合を示す。 In the example shown in FIG. 3, "Common" in the combo box C1 indicates a condition that does not have significant characteristics when each condition is divided into groups. "When the header of a specific response meets a condition" in the combo box C2 indicates a case where the header of the header and body, which are the data that constitute the specific HTTP response, matches "some condition."
この場合、「何らかの条件」は、操作受付部110がユーザから受け付けた詳細の選択に基づき、脆弱性診断処理情報生成部121によって設定されるものを示す。例えば、「何らかの条件」としては、HTTPレスポンスのヘッダに「Set-Cookie」というヘッダが存在する場合などが挙げられる。
In this case, “some condition” indicates something set by the vulnerability diagnosis processing
操作受付部110が、コンボボックスC1の「Common」やC2の「特定レスポンスのヘッダが条件にあった場合」以外の選択肢を選択する操作をユーザから受け付けた場合、脆弱性診断処理情報生成部121は、脆弱性診断処理実行条件D1を変更する。
When the
図3に示す例を用いると、操作受付部110が、以下の操作をユーザから受け付けた場合、脆弱性診断処理情報生成部121は、脆弱性診断処理実行条件D1を変更する。
・コンボボックスC1の「Common」以外の、特性が著しい条件を示す選択肢を選択する操作
・コンボボックスC2の「特定HTTPレスポンスのヘッダが条件にあった場合」以外の選択肢(例えば、コンボボックスC2の特定HTTPレスポンスを構成するデータであるボディーが「何らかの条件」に合致している場合を示す選択肢)を選択する操作
・コンポネントC5における「文字列が含まれている」をクリックすることにより別画面に表示される選択肢(例えば、「文字列の数がXと一致している」、「特定ヘッダが存在する」など)を選択する操作
脆弱性診断処理情報生成部121は、脆弱性診断処理実行条件D1を変更することにより、脆弱性診断処理実行条件を含む脆弱性診断処理情報を変更する。このように、脆弱性診断処理情報Dがあらかじめ複数の項目から構成されており、操作受付部110がユーザから複数の項目を変更する操作を受け付けた場合、脆弱性診断処理情報生成部121は、脆弱性診断処理情報を変更する変更処理を伴う脆弱性診断処理情報生成処理を実行する。
Using the example shown in FIG. 3, when the
・Operation to select an option other than "Common" in combo box C1 that indicates a condition with remarkable characteristics ・Options other than "When the header of a specific HTTP response meets the condition" in combo box C2 (for example, select the option in combo box C2 that indicates a condition with a remarkable characteristic・Clicking "Contains a character string" in component C5 will take you to a separate screen. An operation for selecting a displayed option (for example, "The number of character strings matches X", "Specific header exists", etc.) The vulnerability diagnosis processing
例えば、脆弱性診断処理情報生成部121が脆弱性診断処理実行条件D1を変更した場合、脆弱性診断処理部122が脆弱性診断処理S13を実行するための条件(例えば、脆弱性診断対象となる通信の条件)が変更される。また、脆弱性診断処理情報生成部121が脆弱性診断処理実行情報D2を変更した場合、脆弱性診断処理S13を実行するときに用いる情報(例えば、ウェブページまたはアプリケーションに対するHTTPリクエストに挿入される攻撃文字列)が変更される。
For example, when the vulnerability diagnosis process
これにより、ユーザに脆弱性に関する知識やプログラミング開発の経験などの専門的な知識や経験がなくても、脆弱性診断処理部122は、ユーザにとって所望の攻撃文字列にてウェブページまたはアプリケーションの脆弱性を診断することができる。
As a result, even if the user does not have specialized knowledge or experience such as knowledge about vulnerabilities or experience in programming development, the vulnerability
また、開発事情などにより、あらかじめ構成されている脆弱性診断処理情報Dの各項目にユーザにとって所望でない項目が含まれていても、脆弱性診断処理情報生成部121は、ユーザの操作に応じてユーザにとって所望の項目となるように各項目を変更できる。
Further, even if each item of the vulnerability diagnosis processing information D that is configured in advance includes an item that is not desired by the user due to development circumstances, the vulnerability diagnosis processing
また、操作受付部110が、ユーザから脆弱性診断処理情報Dに項目を追加する操作を受け付けた場合、脆弱性診断処理情報生成部121は、項目を追加する変更処理を行うことができる。
Further, when the
操作受付部110が、ユーザから、脆弱性診断処理情報Dを右クリックすると表示されるポップアップメニューから項目の追加に関する選択肢のクリックを受け付けるといった方法により、脆弱性診断処理情報生成部121は、項目を追加する変更処理を行うことができる。
The vulnerability diagnosis processing
例えば、脆弱性診断処理情報生成部121は、脆弱性診断処理情報Dの項目が脆弱性診断処理実行条件D1のみから構成されている場合、脆弱性診断処理実行情報D2および脆弱性診断処理結果評価条件D3を項目として追加してもよいし、これら以外の項目を追加してもよい。
For example, when the item of vulnerability diagnosis processing information D is composed of only vulnerability diagnosis processing execution conditions D1, vulnerability diagnosis processing
脆弱性診断処理情報生成部121は、操作受付部110に対するユーザの操作に基づき、GUIのコンポネントに対するユーザの選択操作および入力操作の少なくとも一方をサポートする機能を有する脆弱性診断処理情報Dの項目を追加してもよい。これにより、操作受付部110に対するユーザの操作が容易になるため、結果として、脆弱性診断処理情報生成部121は、より効率的に脆弱性診断処理情報を生成することができる。
Based on the user's operation on the
脆弱性診断処理情報生成部121は、操作受付部110に対するユーザの操作に基づき、脆弱性診断処理情報Dとは異なる脆弱性診断方法を特定した脆弱性診断処理情報を追加してもよい。図3を例に用いた場合、脆弱性診断処理情報生成部121は、脆弱性診断処理情報D以外の脆弱性診断処理情報(図3に示す例では、「XSS(Path)」、「XSS(DOM Based)」および「SQLインジェクション」など)を追加してもよい。
The vulnerability diagnosis processing
また、脆弱性診断処理情報生成部121は、XSS(Params)、XSS(Path)およびXSS(DOM Based)などのクロスサイトスクリプティングの脆弱性診断処理情報とは別に、以下の脆弱性診断情報についても、脆弱性診断処理情報Dと同様の方法により、独立して追加、生成および変更を行うことができる。
・SQLを利用するサーバを攻撃することができる脆弱性診断情報(図3に示す例では、「SQLインジェクション」)
・OSのシェルコマンドを利用し、OSを攻撃することができる脆弱性に関する脆弱性診断情報(図3に示す例では、「OSコマンドインジェクション」)
・サーバのファイルのパスを指定することによって、ファイルを閲覧されてしまう脆弱性に関する脆弱性診断情報(図3に示す例では、「パストラバーサル」)
このように、脆弱性診断処理情報生成部121は、ユーザに脆弱性に関する知識やプログラミング開発の経験などの専門的な知識や経験がなくても脆弱性診断処理情報Dの項目や脆弱性診断処理情報D以外の脆弱性診断処理情報を追加することができる。
Additionally, the vulnerability diagnosis processing
・Vulnerability diagnosis information that can attack servers that use SQL (in the example shown in Figure 3, "SQL injection")
・Vulnerability diagnosis information regarding vulnerabilities that can attack the OS using OS shell commands (in the example shown in Figure 3, "OS command injection")
・Vulnerability diagnosis information regarding vulnerabilities that allow files to be viewed by specifying the file path on the server (in the example shown in Figure 3, "path traversal")
In this way, the vulnerability diagnosis processing
[脆弱性診断処理S13]
脆弱性診断装置100の脆弱性診断処理部122は、脆弱性診断処理情報生成部121が生成または変更した脆弱性診断処理情報に基づいて脆弱性診断処理を実行する。
[Vulnerability diagnosis processing S13]
The vulnerability
以下、図4を用いて、脆弱性診断処理部122による脆弱性診断処理S13の一例について説明する。図4は、脆弱性診断処理実行画像の一例を示す図である。
An example of the vulnerability diagnosis process S13 by the vulnerability
具体的には、図4は、脆弱性診断処理情報生成部121が、脆弱性診断処理情報生成部121が生成または変更した全ての脆弱性診断処理情報に基づいて脆弱性診断処理を実行する場合における通信の一覧情報およびその脆弱性診断処理結果に関する脆弱性診断処理実行画像I3を示す。
Specifically, FIG. 4 shows a case where the vulnerability diagnosis processing
脆弱性診断処理部122が脆弱性診断処理S13を実行する場合、表示部131は、脆弱性診断処理実行画像I3を表示してもよい。図4に示すように、脆弱性診断処理実行画像I3は、以下のようなコンポネントを含んでいてもよい。
・ドメインDM(図4に示す例では、「Host」)
・URL(図4に示す例では、「URL」)
・攻撃文字列挿入箇所数IP(図4に示す例では、「Insert Point」)
・リクエスト送信回数RC(図4に示す例では、「Request Count」)
・リクエスト失敗回数FR(図4に示す例では、「Faild Request」)
・脆弱性診断処理状況ST(図4に示す例では、「Status」)
・脆弱性診断処理結果R(図4に示す例では、「Results」)
・クリックボタンC4
ドメインDMは、脆弱性診断対象であるサーバのドメイン情報を示す。図4に示す例では、ドメインDMは、ドメインDM1~DM4を含む。ドメインDM1~DM4は、いずれも、同一の脆弱性診断対象のドメイン情報「www.….com」である。
When the vulnerability
・Domain DM (in the example shown in Figure 4, "Host")
・URL (in the example shown in Figure 4, "URL")
・Number of attack character string insertion points IP (in the example shown in Figure 4, "Insert Point")
・Request transmission count RC (in the example shown in FIG. 4, "Request Count")
-Request failure count FR (in the example shown in Figure 4, "Faild Request")
- Vulnerability diagnosis processing status ST (in the example shown in Figure 4, "Status")
- Vulnerability diagnosis processing result R (in the example shown in Figure 4, "Results")
・Click button C4
Domain DM indicates domain information of a server that is a target of vulnerability diagnosis. In the example shown in FIG. 4, domain DM includes domains DM1 to DM4. All of the domains DM1 to DM4 have domain information “www.….com” targeted for the same vulnerability diagnosis.
URLは、脆弱性診断対象のURLを示す。図4に示す例では、URLは、以下のURLを含む。
・URL1(図4に示す例では、「https://www.….com/contact」)
・URL2(図4に示す例では、「https://www.….com/contact/contact」)
・URL3(図4に示す例では、「https://www.….com/contact/contact/confirm_contact」)
・URL4(図4に示す例では、「https://www.….com/contact/contact/confirm_contact/complete_contact」)
攻撃文字列挿入箇所数IPは、脆弱性診断対象の各URLと一対一で紐づいている、HTTPリクエストに攻撃文字列を挿入できる箇所の数を示し、攻撃文字列挿入箇所数IP1~IP4を含む。攻撃文字列挿入箇所数IPは0以上の整数であり、図4に示す例では、攻撃文字列挿入箇所数IP1~IP4は、URL1~4にそれぞれ対応する攻撃文字列挿入箇所数を含み、それぞれ、「18」、「18」、「22」、「0」である。
URL indicates the URL of the vulnerability diagnosis target. In the example shown in FIG. 4, the URL includes the following URLs.
・URL1 (in the example shown in Figure 4, "https://www.com/contact")
・URL2 (in the example shown in Figure 4, "https://www.com/contact/contact")
・URL3 (in the example shown in Figure 4, "https://www.com/contact/contact/confirm_contact")
・URL4 (in the example shown in Figure 4, "https://www.com/contact/contact/confirm_contact/complete_contact")
The number of attack string insertion locations IP indicates the number of locations where an attack string can be inserted into an HTTP request, which is linked one-to-one with each URL targeted for vulnerability diagnosis, and the number of attack string insertion locations IP1 to IP4 is include. The number of attack character string insertion locations IP is an integer greater than or equal to 0, and in the example shown in FIG. , "18", "18", "22", and "0".
リクエスト送信回数RCは、脆弱性診断対象のHTTPリクエストに攻撃文字列を挿入した攻撃用HTTPリクエストを送信した数を示し、リクエスト送信回数RC1~RC4を含む。図4に示す例では、リクエスト送信回数RC1~RC4は、それぞれ、「18」、「18」、「22」、「0」となっている。 The number of request transmissions RC indicates the number of times an attack HTTP request in which an attack character string is inserted into an HTTP request targeted for vulnerability diagnosis has been transmitted, and includes the number of request transmissions RC1 to RC4. In the example shown in FIG. 4, the request transmission times RC1 to RC4 are "18", "18", "22", and "0", respectively.
リクエスト送信回数RC1~RC4は、脆弱性診断対象のURL1~4のHTTPリクエストにそれぞれ紐づいている。なお、上述の例では、攻撃文字列挿入箇所数IP1~IP4と、リクエスト送信回数RC1~RC4とは一致しているが、本実施形態では、これらは必ずしも一致しなくてもよい。
The request transmission times RC1 to RC4 are respectively linked to the HTTP requests for
例えば、本実施形態では、リクエスト送信回数RC1~RC4は、攻撃文字列挿入箇所数IP1~IP4よりも多くてもよい。この場合、リクエスト送信回数RC1~RC4は、脆弱性診断処理部122が攻撃文字列を挿入する以外に脆弱性診断を行うためにHTTPリクエストを送信して脆弱性診断対象を攻撃したものも回数として含んでいてもよい。同様に、リクエスト送信回数RC1~RC4は、脆弱性診断処理部122が攻撃文字列を挿入できる箇所に攻撃文字列を挿入せず、正常なHTTPリクエストを送信したものも回数として含んでいてもよい。
For example, in this embodiment, the number of request transmissions RC1 to RC4 may be greater than the number of attack character string insertion locations IP1 to IP4. In this case, the number of requests sent RC1 to RC4 also includes the number of times the vulnerability
以下、脆弱性診断対象のHTTPリクエストに対する攻撃文字列の挿入の詳細について、図5および6について説明する。図5は、脆弱性診断対象のHTTPリクエストに対する攻撃文字列の挿入の一例を示す図である。具体的には、図5は、脆弱性診断対象のユーザIDにクロスサイトスクリプティングの脆弱性が存在するか否かを診断するための攻撃用HTTPリクエストの生成の一例を示す図でもある。 Details of inserting an attack string into an HTTP request targeted for vulnerability diagnosis will be described below with reference to FIGS. 5 and 6. FIG. 5 is a diagram illustrating an example of insertion of an attack string into an HTTP request targeted for vulnerability diagnosis. Specifically, FIG. 5 is a diagram showing an example of generation of an attack HTTP request for diagnosing whether or not a cross-site scripting vulnerability exists in a user ID targeted for vulnerability diagnosis.
図5に示す例では、攻撃用HTTPリクエストATRE1~4は、脆弱性診断処理部122が、攻撃用文字列挿入前のHTTPリクエストの「user id」の値であるパラメータ値「test_id」に対し、斜体によって示される攻撃文字列「‘“><hr>xss」を挿入したものである。
In the example shown in FIG. 5, for the attack HTTP requests ATRE1 to ATRE4, the vulnerability
なお、図5に示す例では、HTTPリクエストにはパラメータが2つ存在する。図5に示す例では、1つ目のパラメータは、パラメータを区切る文字列「&」の前のパラメータ名「user id」およびパラメータ値「test_id」から構成されている。2つ目のパラメータは、文字列「&」の後のパラメータ名「user pw」およびパラメータ値「testtesttest」から構成されている。 Note that in the example shown in FIG. 5, there are two parameters in the HTTP request. In the example shown in FIG. 5, the first parameter is composed of the parameter name "user id" and the parameter value "test_id" before the character string "&" that separates the parameters. The second parameter consists of the character string "&" followed by the parameter name "user pw" and the parameter value "testtesttest".
図6は、脆弱性診断対象のHTTPリクエストに対する攻撃文字列の挿入場所の一例を示す図である。図6に示す例では、パラメータ値、パラメータ名、ボディー、クエリー、ファイル名、クッキー、クッキー名、クッキー値およびユーザが指定したヘッダの値は、それぞれの項目の下のHTTPリクエストにおける斜体部分を示している。例えば、図6に示す例では、パラメータはHTTPリクエストのクエリーパラメータ(「?」以降の部分)に存在しており、パラメータ名は「url」、パラメータ値は「test」になっている。 FIG. 6 is a diagram illustrating an example of a location where an attack character string is inserted into an HTTP request targeted for vulnerability diagnosis. In the example shown in Figure 6, parameter value, parameter name, body, query, file name, cookie, cookie name, cookie value, and user-specified header values are shown in italics in the HTTP request under each item. ing. For example, in the example shown in FIG. 6, the parameter exists in the query parameter (the part after "?") of the HTTP request, the parameter name is "url", and the parameter value is "test".
図5に示す例では、脆弱性診断処理部122は、ユーザIDにクロスサイトスクリプティングの脆弱性が存在するか否かを診断するための攻撃用HTTPリクエストを生成するために、ユーザIDのパラメータ値に攻撃文字列を挿入している。ただし、本実施形態では、脆弱性診断処理部122は、図6に示すパラメータ値、パラメータ名、ボディー、クエリー、ファイル名、クッキー、クッキー名、クッキー値およびヘッダの値に対応する場所に攻撃文字列を挿入してもよい。
In the example shown in FIG. 5, the vulnerability
リクエスト失敗回数FRは、攻撃用HTTPリクエストが何らかのエラーによって、正常処理されなかった失敗の回数を示し、リクエスト失敗回数FR1~FR4を含む。図4に示す例では、リクエスト失敗回数FR1~FR4は、図4のNo.0~3の脆弱性診断対象それぞれに対する攻撃用HTTPリクエストの失敗回数を示し、いずれも「0」であること。このことから、図4に示す例では、送信した攻撃用HTTPリクエストに対して、エラーのHTTPレスポンスが返信されていないことを示している。 The number of request failures FR indicates the number of failures in which an attack HTTP request was not processed normally due to some kind of error, and includes the number of request failures FR1 to FR4. In the example shown in FIG. 4, the number of request failures FR1 to FR4 corresponds to No. 4 in FIG. Indicates the number of failures of attack HTTP requests for each vulnerability diagnosis target from 0 to 3, and all of them must be "0". From this, the example shown in FIG. 4 shows that an error HTTP response is not returned in response to the transmitted attack HTTP request.
脆弱性診断処理状況STは、脆弱性診断処理が、脆弱性診断処理待ち、脆弱性診断処理中および脆弱性診断処理済のいずれの状況であるかを示し、脆弱性診断処理状況ST1~ST4を含む。 The vulnerability diagnosis processing status ST indicates whether the vulnerability diagnosis process is waiting for vulnerability diagnosis processing, vulnerability diagnosis processing, or completed vulnerability diagnosis processing, and indicates vulnerability diagnosis processing status ST1 to ST4. include.
図4に示す例では、脆弱性診断処理状況ST1~ST4は、図4のNo.0~3の脆弱性診断対象それぞれにそれぞれ対応する。脆弱性診断処理状況ST1およびST2は、脆弱性診断処理済である「finished」を示す。脆弱性診断処理状況ST3は、脆弱性診断処理中である「scanning」を示す。脆弱性診断処理状況ST4は、脆弱性診断処理待ちである「waiting」を示す。 In the example shown in FIG. 4, vulnerability diagnosis processing statuses ST1 to ST4 are No. 4 in FIG. It corresponds to each vulnerability diagnosis target from 0 to 3. The vulnerability diagnosis processing statuses ST1 and ST2 indicate "finished", which indicates that the vulnerability diagnosis processing has been completed. The vulnerability diagnosis processing status ST3 indicates "scanning", which is the vulnerability diagnosis processing in progress. The vulnerability diagnosis processing status ST4 indicates "waiting", which is waiting for vulnerability diagnosis processing.
脆弱性診断処理結果Rは、攻撃文字列が挿入された攻撃用HTTPリクエストを脆弱性診断対象に送信し、脆弱性診断対象から返信されたHTTPレスポンスから得られた脆弱性診断対象の脆弱性の数を示し、脆弱性診断処理結果R1およびR2を含む。 The vulnerability diagnosis processing result R is obtained by sending an attack HTTP request with an attack string inserted to the vulnerability diagnosis target, and determining the vulnerability of the vulnerability diagnosis target obtained from the HTTP response returned from the vulnerability diagnosis target. number, and includes vulnerability diagnosis processing results R1 and R2.
図4に示す例では、脆弱性診断処理結果Rは、検出された脆弱性診断対象の脆弱性の数を示す。脆弱性診断処理結果R1およびR2は、図4のNo.0および1の脆弱性診断対象にそれぞれ対応し、検出された脆弱性診断対象の脆弱性の数が両方とも「4」であることを示している。 In the example shown in FIG. 4, the vulnerability diagnosis processing result R indicates the number of detected vulnerabilities of the vulnerability diagnosis target. The vulnerability diagnosis processing results R1 and R2 are No. 4 in FIG. This corresponds to vulnerability diagnosis targets of 0 and 1, respectively, and indicates that the number of vulnerabilities of the detected vulnerability diagnosis targets is "4" in both cases.
脆弱性診断処理結果Rは、攻撃用HTTPリクエストが脆弱性診断対象に送信されるたびに脆弱性の有無が判断され、脆弱性診断対象に脆弱性がある場合に脆弱性の数が1つ加算され、脆弱性がない場合には加算されない。 In the vulnerability diagnosis processing result R, the presence or absence of a vulnerability is determined every time an attack HTTP request is sent to the vulnerability diagnosis target, and if the vulnerability diagnosis target has a vulnerability, the number of vulnerabilities is added by one. and will not be added if there is no vulnerability.
そのため、図4のNo.2のように、脆弱性診断処理S13が完了しておらず、「Scanning」中であっても、攻撃用HTTPリクエストが脆弱性診断対象に送信されるたびに脆弱性診断処理結果Rは「0」から開始し、更新されていく。 Therefore, No. 4 in FIG. As shown in 2, even if the vulnerability diagnosis process S13 is not completed and "Scanning" is in progress, the vulnerability diagnosis process result R is "0" every time an attack HTTP request is sent to the vulnerability diagnosis target. '' and will be updated.
このことから、図4のNo.2および3の脆弱性診断対象に対応する脆弱性診断処理結果Rがないことは、これらの脆弱性診断対象に対して、まだ攻撃用HTTPリクエストが送信されていないことを示す。
From this, No. 4 in FIG. The fact that there is no vulnerability diagnosis processing result R corresponding to
クリックボタンC4は、図7に示す脆弱性診断処理結果画像I4に遷移するためのGUIのコンポネントである。脆弱性診断処理結果画像I4については出力処理S14とともに説明する。 The click button C4 is a GUI component for transitioning to the vulnerability diagnosis processing result image I4 shown in FIG. The vulnerability diagnosis processing result image I4 will be explained together with the output processing S14.
[出力処理S14]
脆弱性診断装置100の出力部130は、脆弱性診断処理S13における脆弱性診断処理結果を出力する。一例として、出力部130は、脆弱性診断処理結果画像を表示部131に表示させる。
[Output processing S14]
The
以下、図7を用いて、出力部130による出力処理S14の一例について説明する。図7は、脆弱性診断処理結果画像の一例を示す図である。具体的には、図7は、脆弱性診断処理部122によるクロスサイトスクリプティングに関する脆弱性診断処理S13の脆弱性診断処理結果を出力部130が表示部131に表示させた脆弱性診断処理結果画像I4を示す。
Hereinafter, an example of the output processing S14 by the
出力部130が出力処理S14を実行する場合、出力部130は脆弱性診断処理結果画像I4を表示部131に表示させてもよい。図7に示す例のように、脆弱性診断処理結果画像I4は、以下のコンポネントを含んでいてもよい。
・脆弱性診断処理結果R’
・攻撃文字列AT
・HTTPリクエストRE(Request)
・ドメインDM(Host)’
・URL(URL)’
・脆弱性診断処理実行情報D2’’
・危険度R’’’
・脆弱性診断処理情報D’’
図7に示す例では、脆弱性診断処理結果R’は、脆弱性診断処理情報D’a(クロスサイトスクリプティング)と、脆弱性診断処理結果R’’1(危険度)と、脆弱性診断処理実行情報D2’a(脆弱性診断方法)と、パラメータP(Parameter)と、概要SUとを含む。これにより、ユーザに対してより詳細にウェブページまたはアプリケーションの脆弱性診断処理結果を伝えることができる。
When the
・Vulnerability diagnosis processing result R'
・Attack string AT
・HTTP request RE (Request)
・Domain DM (Host)'
・URL (URL)'
・Vulnerability diagnosis processing execution information D2''
・Risk level R'''
・Vulnerability diagnosis processing information D''
In the example shown in FIG. 7, the vulnerability diagnosis processing result R' includes the vulnerability diagnosis processing information D'a (cross-site scripting), the vulnerability diagnosis processing result R''1 (risk level), and the vulnerability diagnosis processing information D'a (cross-site scripting). It includes execution information D2'a (vulnerability diagnosis method), parameter P (Parameter), and summary SU. Thereby, the vulnerability diagnosis processing results of the web page or application can be communicated to the user in more detail.
図7に示す例では、脆弱性診断処理情報D’aは、図4に示す脆弱性診断処理情報D(XSS(Params))、XSS(Path)およびXSS(DOMBased)の上位ツリーノードであるクロスサイトスクリプティングによる脆弱性診断処理に関する情報を示す。 In the example shown in FIG. 7, vulnerability diagnosis processing information D'a is a cross tree node that is an upper tree node of vulnerability diagnosis processing information D (XSS (Params)), XSS (Path), and XSS (DOMBased) shown in FIG. Shows information about vulnerability diagnosis processing using site scripting.
脆弱性診断処理結果R’’1は、HTTPリクエストREに含まれるパラメータPに攻撃文字列ATを挿入した攻撃用HTTPリクエストを脆弱性診断対象に送信し、脆弱性診断対象から返信されたHTTPレスポンスから得られた脆弱性診断対象の危険度を示す。 Vulnerability diagnosis processing result R''1 is the HTTP response returned from the vulnerability diagnosis target after sending an attack HTTP request in which the attack string AT is inserted into the parameter P included in the HTTP request RE to the vulnerability diagnosis target. Indicates the degree of risk of the vulnerability diagnosis target obtained from.
図7に示す例では、危険度は、危険度が高いことを示す「HIGH」、危険度が中程度であることを示す「MEDIUM」、および、危険度が低いことを示す「LOW」によって示されている。例えば、脆弱性診断処理結果R’’1が示す脆弱性診断対象のクロスサイトスクリプティングの脆弱性の危険度は、中程度であることを示す「MEDIUM」である。 In the example shown in FIG. 7, the risk level is indicated by "HIGH" indicating a high risk level, "MEDIUM" indicating a medium risk level, and "LOW" indicating a low risk level. has been done. For example, the risk level of the cross-site scripting vulnerability targeted for vulnerability diagnosis indicated by the vulnerability diagnosis processing result R''1 is "MEDIUM" indicating that it is medium.
このように、図7に示す例では、脆弱性診断処理結果R’’1は、例えば、以下の脆弱性診断処理情報ごとに脆弱性診断対象の脆弱性の危険度を示す。
・SQLを利用するサーバを攻撃することができる脆弱性診断情報(例えば、「SQLインジェクション」)
・OSのシェルコマンドを利用し、OSを攻撃することができる脆弱性に関する脆弱性診断情報(例えば、「OSコマンドインジェクション」)
・サーバのファイルのパスを指定することによって、ファイルを閲覧されてしまう脆弱性に関する脆弱性診断情報(例えば、「パストラバーサル」)
・HTTPリクエストのパラメータに攻撃用スクリプト(例えば、攻撃文字列)を挿入することにより、ウェブページのHTMLに攻撃用スクリプトを挿入する脆弱性に関する脆弱性診断情報(例えば、「クロスサイトスクリプティング」)
例えば、図7に示す例では、クロスサイトスクリプティングの脆弱性は「MEDIUM」であり、SQLインジェクションの脆弱性は「HIGH」であり、パストラバーサルは「HIGH」であるように脆弱性診断対象の脆弱性の危険度が示される。
In this way, in the example shown in FIG. 7, the vulnerability diagnosis processing result R''1 indicates, for example, the degree of risk of the vulnerability of the vulnerability diagnosis target for each of the following vulnerability diagnosis processing information.
・Vulnerability diagnosis information that can attack servers that use SQL (e.g. "SQL injection")
・Vulnerability diagnosis information regarding vulnerabilities that can attack the OS using OS shell commands (e.g. "OS command injection")
・Vulnerability diagnosis information regarding vulnerabilities that allow files to be viewed by specifying the server file path (e.g. "path traversal")
・Vulnerability diagnosis information regarding vulnerabilities that insert attack scripts (e.g., attack strings) into the HTML of web pages by inserting attack scripts (e.g., attack strings) into the parameters of HTTP requests (e.g., "cross-site scripting")
For example, in the example shown in Figure 7, the cross-site scripting vulnerability is "MEDIUM," the SQL injection vulnerability is "HIGH," and the path traversal is "HIGH." The degree of sexual risk is indicated.
なお、図7に示す例では、図4のNo.0における脆弱性診断対象に脆弱性が検出される度にクロスサイトスクリプティングの脆弱性に関する項目が1行ずつ追加されている。例えば、図4のNo.0ではクロスサイトスクリプティングの脆弱性が4件検出されているため、図7では、クロスサイトスクリプティングの脆弱性に関する項目が4行分追加されている。 Note that in the example shown in FIG. 7, No. 4 in FIG. Each time a vulnerability is detected in the vulnerability diagnosis target in 0, an item related to cross-site scripting vulnerability is added one line at a time. For example, No. 4 in FIG. 0, four cross-site scripting vulnerabilities were detected, so in FIG. 7, four lines of items related to cross-site scripting vulnerabilities are added.
このように、図7に示す「MEDIUM」という脆弱性診断処理結果R’’1と、図4に示す「4」という脆弱性診断処理結果Rとは対応していない。一方で、脆弱性診断処理結果R’に含まれる脆弱性診断処理結果R’’1は、図7の表の脆弱性診断処理結果R’’’(Risk)における脆弱性診断処理結果R’’’1に対応している。 In this way, the vulnerability diagnosis processing result R''1 "MEDIUM" shown in FIG. 7 and the vulnerability diagnosis processing result R "4" shown in FIG. 4 do not correspond. On the other hand, the vulnerability diagnosis processing result R''1 included in the vulnerability diagnosis processing result R' is the vulnerability diagnosis processing result R'' in the vulnerability diagnosis processing result R'''' (Risk) in the table of FIG. '1 is supported.
脆弱性診断処理実行情報D2’aは、脆弱性診断処理を実行するための脆弱性診断方法に関する情報を示す。図7に示す例では、脆弱性診断処理実行情報D2’aは、パラメータPに攻撃文字列ATを挿入してパラメータ値Pを改変することにより、脆弱性診断対象の脆弱性を診断する脆弱性診断方法に関する情報を示す。脆弱性診断処理実行情報D2’aは、図7の表の脆弱性診断処理実行情報D2’’(Issue Point)における脆弱性診断処理実行情報D2’’aに対応している。 The vulnerability diagnosis process execution information D2'a indicates information regarding a vulnerability diagnosis method for executing the vulnerability diagnosis process. In the example shown in FIG. 7, the vulnerability diagnosis process execution information D2'a is a vulnerability diagnosis process for diagnosing the vulnerability of the vulnerability diagnosis target by inserting an attack string AT into the parameter P and modifying the parameter value P. Indicates information regarding diagnostic methods. The vulnerability diagnosis process execution information D2'a corresponds to the vulnerability diagnosis process execution information D2''a in the vulnerability diagnosis process execution information D2'' (Issue Point) in the table of FIG.
パラメータPは、アプリケーション側が脆弱性診断対象に送信する攻撃用HTTPリクエストの元になるHTTPリクエストREに含まれる情報であり、名前と値とによって構成されている。ここでは、パラメータPは、「contact」という名前のパラメータであり、攻撃文字列ATが挿入されることによって値が改変され、そうでなければ値が一定である情報を示す。 The parameter P is information included in the HTTP request RE that is the source of the attack HTTP request that the application side sends to the vulnerability diagnosis target, and is composed of a name and a value. Here, the parameter P is a parameter named "contact" and indicates information whose value is changed by inserting the attack character string AT, and whose value is otherwise constant.
概要SUは、脆弱性診断処理結果の概要を示す。これにより、脆弱性がなくてもリスクがある場合、どのような点においてリスクがあるのかをユーザに具体的に伝えることができる。 The summary SU indicates the summary of the vulnerability diagnosis processing result. As a result, if there is a risk even if there is no vulnerability, it is possible to specifically inform the user in what aspects there is a risk.
攻撃文字列ATは、パラメータPに挿入することによって脆弱性診断用に改変されたパラメータ値のHTTPリクエストを生成するためのものである。 The attack character string AT is inserted into the parameter P to generate an HTTP request with a modified parameter value for vulnerability diagnosis.
ドメインDM’は、脆弱性診断対象であるサーバのドメイン情報を示す。図7に示す例では、ドメインDM’は、ドメインDM’1~DM’4を含む。ドメインDM’1~DM’4は、いずれも、同一の脆弱性診断対象のドメイン情報「www.….com」である。 Domain DM' indicates domain information of the server that is the target of vulnerability diagnosis. In the example shown in FIG. 7, domain DM' includes domains DM'1 to DM'4. Domains DM'1 to DM'4 are all domain information "www.....com" targeted for the same vulnerability diagnosis.
URL’は、脆弱性診断対象のURLを示す。図7に示す例では、URLは、URL’1~URL’4(図4に示す例では、「https://www.….com/contact」)を含み、URL’1~URL’4は、図4のURL1に対応する。 URL' indicates the URL of the vulnerability diagnosis target. In the example shown in FIG. 7, the URLs include URL'1 to URL'4 (in the example shown in FIG. 4, "https://www.....com/contact"), and URL'1 to URL'4 are , corresponds to URL1 in FIG.
脆弱性診断処理実行情報D2’’は、脆弱性診断処理を実行するための脆弱性診断方法に関する情報を示す。図7に示す例では、脆弱性診断処理実行情報D2’’は、脆弱性診断処理実行情報D2’’a~D2’’dを含む。脆弱性診断処理実行情報D2’’a~D2’’dは、いずれもパラメータ値改変を示す。 The vulnerability diagnosis process execution information D2'' indicates information regarding a vulnerability diagnosis method for executing the vulnerability diagnosis process. In the example shown in FIG. 7, the vulnerability diagnosis process execution information D2'' includes vulnerability diagnosis process execution information D2''a to D2''d. The vulnerability diagnosis processing execution information D2''a to D2''d all indicate parameter value modification.
危険度R’’’は、HTTPリクエストREに含まれるパラメータPに攻撃文字列ATを挿入した攻撃用HTTPリクエストを脆弱性診断対象に送信し、脆弱性診断対象から返信されたHTTPレスポンスから得られた脆弱性診断対象の危険度を示す。図7に示す例では、危険度R’’’は、危険度R’’’1~D’’’4を含む。危険度R’’’1~4は、いずれも、上述の危険度R’’1の「MEDIUM」と同様に、クロスサイトスクリプティングの脆弱性の危険度が中程度であることを示す「MEDIUM」である。 The risk level R''' is obtained from the HTTP response returned from the vulnerability diagnosis target by sending an attack HTTP request in which the attack string AT is inserted into the parameter P included in the HTTP request RE to the vulnerability diagnosis target. Indicates the degree of risk of the vulnerability diagnosis target. In the example shown in FIG. 7, the risk level R''' includes risk levels R'''1 to D'''4. Risk levels R'''1 to 4 all indicate "MEDIUM", which indicates that the risk level of cross-site scripting vulnerability is medium, similar to the above-mentioned "MEDIUM" with risk level R''1. It is.
脆弱性診断処理情報D’’は、脆弱性診断処理に関する情報を示す。図7に示す例では、脆弱性診断処理情報D’’は、脆弱性診断処理情報D’’a~D’’dを含む。脆弱性診断処理情報D’’a~D’’dは、クロスサイトスクリプティングによる脆弱性診断処理に関する情報を示す。 The vulnerability diagnosis processing information D'' indicates information regarding vulnerability diagnosis processing. In the example shown in FIG. 7, the vulnerability diagnosis processing information D'' includes vulnerability diagnosis processing information D''a to D''d. Vulnerability diagnosis processing information D''a to D''d indicates information regarding vulnerability diagnosis processing using cross-site scripting.
<変形例>
〔変形例1〕
上述の例では、脆弱性診断装置100は操作受付部110を備えているが、本実施形態では、脆弱性診断装置100は操作受付部110を備えなくてもよい。
<Modified example>
[Modification 1]
In the above example, the
例えば、本実施形態では、脆弱性診断装置100は、脆弱性診断装置100の外部の操作受付部(不図示)がユーザの操作の入力を受け付け、脆弱性診断処理情報生成部121は、脆弱性診断装置100の外部の操作受付部から通信部(不図示)を介してユーザの操作情報を取得してもよい。これにより、脆弱性診断装置100全体の処理量および負荷を減らすことができる。
For example, in the present embodiment, the
〔変形例2〕
上述の例では、脆弱性診断装置100は出力部130を備えているが、本実施形態では、脆弱性診断装置100は出力部130を備えなくてもよい。
[Modification 2]
In the above example, the
例えば、脆弱性診断装置100は、通信部を介して、外部のコンピュータの出力部(不図示)に、脆弱性診断処理情報生成画像、脆弱性診断処理実行画像および脆弱性診断処理結果画像などを出力してもよい。これにより、脆弱性診断装置100全体の処理量および負荷を減らすことができる。
For example, the
〔変形例3〕
上述の例では、脆弱性診断処理情報生成部121は、脆弱性診断処理情報の生成と、脆弱性診断処理情報の各項目の変更とを一体的に行っているが、本実施形態ではこれらを別々に行ってもよい。
[Modification 3]
In the above example, the vulnerability diagnosis processing
例えば、脆弱性診断処理情報生成部11は、操作受付部110が受け付けたユーザの操作(例えば、カスタマイズ)に2基づき、脆弱性診断処理情報が全く設定されていない状態から各項目を設定することにより脆弱性診断処理情報を生成してもよい。また、脆弱性診断処理情報生成部121とは異なる脆弱性診断処理情報変更部(不図示)が独立して脆弱性診断処理情報を変更してもよい。
For example, the vulnerability diagnosis processing information generation unit 11 may set each item from a state where no vulnerability diagnosis processing information is set based on the user's operation (for example, customization) received by the
<実施形態2>
本発明の一実施形態に係る脆弱性診断装置は、実施形態2に係る脆弱性診断装置100Xのように、複数のウェブページ間、または、複数のアプリケーションの通信状態間もしくは複数のアプリケーションが表示する画像間の遷移関係を示す遷移情報を生成し、遷移情報を表示してもよい。
<
The vulnerability diagnosis device according to one embodiment of the present invention, like the
以下、図8~11を用いて、実施形態2について説明する。なお、説明の便宜上、上述の実施形態にて説明した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を省略する。
〔脆弱性診断装置100X〕
図8は、実施形態2に係る脆弱性診断装置100Xの構成の一例を示すブロック図である。図8に示すように、脆弱性診断装置100Xは、実施形態1における主制御部120と、出力部130との代わりに、主制御部120Xと出力部130Xを備える。この点以外は、脆弱性診断装置100Xは、実施形態1に係る脆弱性診断装置100と同様の構成である。
[
FIG. 8 is a block diagram showing an example of the configuration of a
[主制御部120X]
主制御部120Xは、遷移情報生成部123と、再現部124とをさらに備える。この点以外、主制御部120Xは、実施形態1における主制御部120と同様の構成である。
[
The
(遷移情報生成部123)
遷移情報生成部123は、複数のウェブページ間、または、複数のアプリケーションの通信状態間もしくはアプリケーションが表示する画像間の遷移関係を示す遷移情報を生成する。遷移情報は、複数のウェブページ間、または、複数のアプリケーションの通信状態間もしくは複数のアプリケーションが表示する画像間の遷移を実現するための情報を含んでもよい。
(Transition information generation unit 123)
The transition
(再現部124)
再現部124は、遷移情報に基づいて、(i)ブラウザが表示しているウェブページを、ユーザが指定した任意のウェブページに、(ii)アプリケーションの通信状態を、ユーザが指定した任意の通信状態に、または、(iii)アプリケーションが表示している画像を、ユーザが指定した任意の画像となるように表示部131Xに再現させる。
(Reproducer 124)
Based on the transition information, the reproduction unit 124 (i) changes the web page displayed by the browser to any web page specified by the user, and (ii) changes the communication state of the application to any web page specified by the user. or (iii) causes the
[出力部130X]
出力部130Xは、実施形態1における表示部131の代わりに、表示部131Xを備える。この点以外、出力部130Xは、実施形態1における出力部130と同様の構成である。
[
The
(表示部131X)
表示部131Xは、遷移情報生成部123が生成した遷移情報をさらに表示する。この点以外、表示部131Xは、実施形態1における表示部131と同様の構成である。
(
The
〔脆弱性診断装置100Xの制御方法S2〕
次に、図9~11を用いて、実施形態2に係る脆弱性診断装置100Xの制御方法(脆弱性診断装置の制御方法)S2について説明する。図9は、実施形態2に係る脆弱性診断装置100Xの制御方法S2の一例を示すフロー図である。
[Control method S2 of
Next, a method for controlling the
図9に示すように、脆弱性診断装置100Xの制御方法S2は、遷移情報生成処理S21と、表示処理S22と、再現処理S23と、表示処理S24とを含み、脆弱性診断装置100Xによってこの順で実行される。
As shown in FIG. 9, the control method S2 of the
[遷移情報生成処理S21]
脆弱性診断装置100Xの主制御部120Xにおける遷移情報生成部123は、複数のウェブページ間、複数のアプリケーションの通信状態間、または、複数のアプリケーションが表示する画像間の遷移関係を示す遷移情報を生成する。ここでいうアプリケーションの画像とは、例えば、表示部131Xに表示されたアプリケーションの画像のスクリーンショットなどが挙げられる。
[Transition information generation process S21]
The transition
従来は、複数のウェブページ間、または複数のアプリケーションの通信状態間もしくは複数のアプリケーションが表示する画像間の遷移関係を調査するには、調査対象である複数のウェブページ間、または複数のアプリケーションの画像間の遷移をもたらした通信(例えば、HTTPリクエストおよびHTTPレスポンス)に存在するパラメータの数を調査する必要があった。 Conventionally, in order to investigate transition relationships between multiple web pages, communication states of multiple applications, or images displayed by multiple applications, it is necessary to investigate transition relationships between multiple web pages or between multiple applications. It was necessary to investigate the number of parameters present in the communications (eg, HTTP requests and HTTP responses) that resulted in the transition between images.
また、従来の方式では、複数のウェブページ間、または、複数のアプリケーションの通信状態間もしくは複数のアプリケーションが表示する画像間のHTTPリクエストおよびレスポンスなどをユーザが調査しながら、その中のパラメータを数える方法を行ってきた。 In addition, in the conventional method, the user counts parameters while investigating HTTP requests and responses between multiple web pages, communication states of multiple applications, or images displayed by multiple applications. I've done the method.
そのため、複数のウェブページ間、または複数のアプリケーションの通信状態間もしくは複数のアプリケーションが表示する画像間の遷移関係を分析するには専門的な知識や経験を必要とし、調査を行う際に工数が必要だった。 Therefore, analyzing the transition relationships between multiple web pages, communication states of multiple applications, or images displayed by multiple applications requires specialized knowledge and experience, and it takes a lot of man-hours to conduct the investigation. It was necessary.
これに対し、上述のように、遷移情報生成部123が遷移情報を自動的に生成することにより、専門的な知識や経験がなくても、複数のウェブページ間、または、複数のアプリケーションの通信状態間もしくは複数のアプリケーションが表示する画像間の遷移関係を調査することができる。
On the other hand, as described above, the transition
また、遷移情報生成部123が遷移情報を自動的に生成することにより、従来の高コストの調査の工数を大幅に削減することができる。また、従来は、URLなどの情報もユーザが手作業で記載していたのに対し、遷移情報生成部123が遷移情報を自動的に生成することにより、URLなどの情報も自動入力されるので、工数を削減することができる。
Furthermore, since the transition
遷移情報生成部123は、例えば、操作受付部110が受け付けたユーザの操作に基づき、遷移情報を生成してもよい。これにより、遷移情報生成部123は、ユーザが所望の遷移情報を生成することができる。
The transition
遷移情報は、複数のウェブページ間または複数のアプリケーションの通信状態間もしくは複数のアプリケーションが表示する画像間の遷移を実現するための情報を含んでいてもよい。遷移情報生成部123は、このような遷移情報を含むことにより、スマホアプリケーションおよびゲームクライアントランチャーに適した遷移情報を生成することができる。
The transition information may include information for realizing a transition between multiple web pages, between communication states of multiple applications, or between images displayed by multiple applications. By including such transition information, the transition
遷移情報は、複数のウェブページ間の遷移関係を示し、遷移情報生成部123は、各ウェブページを表示するブラウザの通信内容に基づいて遷移情報を生成してもよい。すなわち、遷移情報生成部123は、HTTPリクエストおよびHTTPレスポンスを中継するローカルプロキシサーバが取得したHTTPリクエストおよびHTTPレスポンスを参照し、複数のウェブページ間の遷移関係を示す遷移情報を生成してもよい。これにより、遷移情報生成部123は、ブラウザの通信内容に基づいて表示されるウェブページ間の遷移関係を示す遷移情報を高精度に生成することができる。
The transition information indicates a transition relationship between a plurality of web pages, and the transition
複数のアプリケーションの通信状態間または画像間の遷移関係を示す遷移情報は、HTTP通信を利用する複数のアプリケーションの通信状態間および画像間の少なくとも一方の遷移関係を示す遷移情報を含んでいてもよい。これにより、遷移情報生成部123は、HTTP通信を利用するアプリケーションに適した遷移情報を生成することができる。
The transition information indicating a transition relationship between communication states or images of multiple applications may include transition information indicating at least one transition relationship between communication states or images of multiple applications that use HTTP communication. . Thereby, the transition
遷移情報は、複数のアプリケーションの通信状態間または画像間の遷移関係を示し、遷移情報生成部123は、HTTP通信を利用する各アプリケーションの画像を表示するブラウザの通信内容に基づいて遷移情報を生成してもよい。すなわち、遷移情報生成部123は、HTTPリクエストおよびHTTPレスポンスを中継するローカルプロキシサーバが取得したHTTPリクエストおよびHTTPレスポンスを参照し、複数のアプリケーションの通信状態間または画像間の遷移関係を示す遷移情報を生成してもよい。
The transition information indicates a transition relationship between communication states of a plurality of applications or between images, and the transition
これにより、遷移情報生成部123は、ブラウザの通信内容に基づいて表示される、HTTP通信を利用するアプリケーションに適した遷移情報を生成することができる。
Thereby, the transition
(遷移情報生成処理S21の詳細)
以下、図10を用いて、遷移情報生成処理S21において、遷移情報生成部123が、各ウェブページまたはHTTP通信を利用する各アプリケーションの画像を表示するブラウザの通信内容に基づいて遷移情報を生成する処理ついてより詳細に説明する。
(Details of transition information generation process S21)
Hereinafter, using FIG. 10, in transition information generation processing S21, the transition
図10は、実施形態2に係る脆弱性診断装置100Xによる遷移情報生成処理S21の一例を示すフロー図である。なお、遷移情報生成部123は、ステップS211を実行する前に、脆弱性診断対象の開始のURLおよびHTTPレスポンスの取得対象である対象ドメインを設定しているものとする。また、遷移情報生成部123は、HTTPリクエストおよびHTTPレスポンスを中継するローカルプロキシサーバが取得したHTTPリクエストおよびHTTPレスポンスを参照する。続いて、遷移情報生成部123は、随時ウェブページまたはHTTP通信を利用するアプリケーションにHTTPリクエストを送信し、HTTPレスポンスを取得する。
FIG. 10 is a flow diagram illustrating an example of transition information generation processing S21 by the
なお、脆弱性診断装置100Xは、図示しない記憶媒体に、既に取得したHTTPレスポンスと、当該HTTPレスポンスを取得するために用いたHTTPリクエストの組を蓄積している。また、以下では、脆弱性診断装置100Xは、ツリー構造の情報として遷移情報を生成する。但し、遷移情報のデータ構造は、ツリー構造に限定されない。脆弱性診断装置100Xは、生成した遷移情報を、図示しない記録媒体に記憶する。
Note that the
(ステップS211)
遷移情報生成部123は、ウェブページに送信したHTTPリクエストに対するHTTPレスポンスのステータスが2xxまたは3xxであるか否かを判定する。
(Step S211)
The transition
遷移情報生成部123は、HTTPレスポンスのステータスが2xxまたは3xxであると判定した場合(ステップS211においてYESの場合)、ステップS212に進む。遷移情報生成部123は、HTTPレスポンスのステータスが2xxまたは3xxでないと判定した場合(ステップS211においてNOの場合)、遷移情報生成処理S21を終了する。
If the transition
これにより、遷移情報生成部123は、エラーが生じたHTTPレスポンスをフィルタリング(除く)することができる。
Thereby, the transition
(ステップS212)
遷移情報生成部123は、HTTPレスポンスが対象ドメインに含まれているか否かを判定する。遷移情報生成部123は、HTTPレスポンスが対象ドメインに含まれていると判定した場合(ステップS212においてYESの場合)、ステップS213に進む。遷移情報生成部123は、HTTPレスポンスが対象ドメインに含まれないと判定した場合(ステップS212においてNOの場合)、遷移情報生成処理S21を終了する。
(Step S212)
The transition
これにより、遷移情報生成部123は、対象ドメインに含まれていないHTTPレスポンスおよびHTTPリクエストをフィルタリングすることができる。
Thereby, the transition
(ステップS213)
遷移情報生成部123は、対象ドメインの通信が既に収集されているか否かを判定する。例えば、遷移情報生成部123は、対象ドメインに関するルートツリーノードが記憶媒体に存在するか否かを判定することにより、対象ドメインの通信が既に収集されているか否かを判定することができる。遷移情報生成部123は、対象ドメインの通信が収集されていると判定した場合(ステップS213においてYESの場合)、ステップS214に進む。遷移情報生成部123は、対象ドメインの通信が収集されていないと判定した場合(ステップS213においてNOの場合)、ステップS214を省略し、ステップS215に進む。
(Step S213)
The transition
(ステップS214)
遷移情報生成部123は、HTTPレスポンスの取得ドメインのルートツリーノードを作成する。
(Step S214)
The transition
(ステップS215)
遷移情報生成部123は、取得したHTTPレスポンスに相当するものを前に取得したことがないかどうかを判定する。遷移情報生成部123は、HTTPレスポンスを前に取得したことがないと判定した場合(ステップS215においてYESの場合)、ステップS216に進む。遷移情報生成部123は、HTTPレスポンスを前に取得したことがあると判定した場合(ステップS215においてNOの場合)、遷移情報生成処理S21を終了する。
(Step S215)
The transition
一態様において、遷移情報生成部123は、HTTPレスポンスではなく、HTTPレスポンスを取得するために送信したHTTPリクエストのURL、メソッド、HTTPリクエストに含まれるパラメータおよびMIMETYPEなどが一致するHTTPレスポンスが、記憶媒体に蓄積されていないかないかどうか判定することにより、HTTPレスポンスを前に取得したことがないかどうかを判定してもよい。HTTPレスポンスは、HTTPリクエストのパラメータの値に応じて変化するため、遷移情報生成部123は、前と同じHTTPリクエストを送信したかどうかを判定することにより、前に取得したことがあるHTTPレスポンスをフィルタリングできる。
In one aspect, the transition
(ステップS216)
遷移情報生成部123は、取得したHTTPレスポンスに紐づけられる候補ツリーノードが存在するか否かを判定する。
(Step S216)
The transition
遷移情報生成部123は、取得したHTTPレスポンスに紐づけられる候補ツリーノードが存在すると判定した場合(ステップS216においてYESの場合)、ステップS217に進む。なお、取得したHTTPレスポンスに紐づけられる候補ツリーノードについては、後述するステップS222の説明において記載する。
If the transition
遷移情報生成部123は、取得したHTTPレスポンスに紐づけられるツリーノードが存在しないと判定した場合(ステップS216においてNOの場合)、ステップS218に進む。
If the transition
(ステップS217)
遷移情報生成部123は、取得したHTTPレスポンスに紐づける候補となるツリーノードである候補ツリーノードのHTTPレスポンスのデータを取得したHTTPレスポンスによって上書きする。これにより、この時点から候補ツリーノードは、実際のHTTPレスポンスが格納されていない候補ツリーノードから、実際のHTTPレスポンスが格納されたツリーノードになる。
(Step S217)
The transition
なお、遷移情報生成部123は、候補ツリーノードのHTTPレスポンスのデータを上書きする際に、当該HTTPレスポンスを取得するために用いたHTTPリクエストや、当該HTTPレスポンスに基づいて表示されるウェブページの画像などを当該候補ツリーノードにさらに格納してもよい。
Note that when overwriting the data of the HTTP response of the candidate tree node, the transition
(ステップS218)
遷移情報生成部123は、取得したHTTPレスポンスに対応する候補ツリーノードが存在しない場合には、取得したHTTPレスポンスを格納するツリーノードを作成し、作成したHTTPレスポンスのツリーノードをルートツリーノードに対して紐づける。
(Step S218)
If there is no candidate tree node corresponding to the obtained HTTP response, the transition
(ステップS219)
遷移情報生成部123は、取得したHTTPレスポンスを取得するための通信の発生源となるタグ等が含まれるウェブページに対応するツリーノード(親ツリーノード)が存在するか否かを判定する。取得したHTTPレスポンスのツリーノードが候補ツリーノードであった場合には、遷移情報生成部123は、当該候補ツリーノードの親ノードとして紐付けられたツリーノードが存在するか否かを判定する。遷移情報生成部123は、親ツリーノードが存在すると判定した場合(ステップS219のYES)、ステップS220に進む。なお、親ツリーノードが存在するケースは、後述するステップS222の説明において詳細に記載する。
(Step S219)
The transition
遷移情報生成部123は、親ツリーノードが存在しないと判定した場合(ステップS219のNO)、ステップS221に進む。
If the transition
(ステップS220)
遷移情報生成部123は、親ツリーノードの子ノードとして、取得したHTTPレスポンスのツリーノードを紐づける。
(Step S220)
The transition
(ステップS221)
遷移情報生成部123は、ルートツリーノードの子ノードとして、取得したHTTPレスポンスのツリーノードを紐づける。
(Step S221)
The transition
(ステップS222)
遷移情報生成部123は、取得したHTTPレスポンスを解析し、通信を発生させるタグを収集する。遷移情報生成部123は、例えば、タグのlocationやactionのURLを参照するが、URLでなく、スクリプトの関数名を参照してHTTP通信記録から該当するJavascript(登録商標)を収集し、通信先のURLやパラメータを生成してもよい。遷移情報生成部123は、取得したHTTPレスポンスに、通信を発生させるタグが含まれていた場合、取得したHTTPレスポンスのツリーノードの子ノードとして当該通信に対応するHTTPリクエストが紐付けられた候補ツリーノードを生成する。この時点では、候補ツリーノードのHTTPレスポンスは、まだ実際に通信内容を取得していないので、空となっている。
(Step S222)
The transition
なお、遷移情報生成部123が、今回生成した候補ツリーノードに紐付けられたHTTPリクエストを用いて、HTTPレスポンスを取得し、新たに遷移情報生成処理S21を行ったとき、今回生成した候補ツリーノードは、新たな遷移情報生成処理S21のS216におけるHTTPレスポンスに紐づけられる候補ツリーノードとなる。また、取得したHTTPレスポンスのツリーノードは、新たな遷移情報生成処理S21のS219における親ツリーノードとなる。
Note that when the transition
遷移情報生成部123は、ユーザが所望の遷移情報を生成するまで、遷移情報生成処理S21を繰り返してもよい。この場合、遷移情報生成部1123は、所定の回の遷移情報生成処理S21において生成した候補ツリーノードに紐づけられたHTTPリクエストを用いて、HTTPレスポンスを取得し、次回の遷移情報生成処理S21を実行してもよい。
The transition
遷移情報生成部123は、以上のような手順により生成した対象ドメインのツリー情報を遷移情報とすることができる。
The transition
[表示処理S22]
脆弱性診断装置100Xの出力部130Xにおける表示部131Xは、遷移情報生成部123が生成した前記遷移情報を表示する。
[Display processing S22]
The
以下、図11を用いて、表示処理S22についてより詳細に説明する。図11は、遷移情報の一例を示す図である。図11に示す例では、遷移情報は、表示部131Xに表示されている遷移図I10だが、遷移情報は、複数のウェブページ間、または、複数のアプリケーションの通信状態間もしくは複数のアプリケーションが表示する画像間の遷移関係を示せばよい。例えば、遷移情報は、遷移図I10のような画像ではなく、表であってもよい。
The display process S22 will be described in more detail below using FIG. 11. FIG. 11 is a diagram showing an example of transition information. In the example shown in FIG. 11, the transition information is a transition diagram I10 displayed on the
図11に示す例では、遷移図I10は、画像I11(トップ)、I12(お知らせ)、I13(お問い合わせ)、I14(お問い合わせ確認)、I15(お問い合わせ完了)、I16(トップ)、I17(検索結果)、I18(ログイン)およびI19(会員登録)などのウェブページの画像を含む。また、遷移図I10は、これらの画像の遷移関係を示す矢印、各ウェブページのURL、そのHTTPリクエストおよびHTTPレスポンスなど、調査対象のウェブページ間の通信の各種情報を含む。 In the example shown in FIG. 11, the transition diagram I10 includes images I11 (top), I12 (notice), I13 (inquiry), I14 (confirmation of inquiry), I15 (inquiry completed), I16 (top), I17 ( Contains images of web pages such as search results), I18 (login), and I19 (membership registration). Further, the transition diagram I10 includes various information on communication between the web pages to be investigated, such as arrows indicating transition relationships between these images, the URL of each web page, and its HTTP request and HTTP response.
画像I11、I13、I14およびI15は、それぞれ、図4のNo.0~3の脆弱性診断対象に対応する画像である。 Images I11, I13, I14 and I15 are respectively No. 4 in FIG. This is an image corresponding to vulnerability diagnosis targets 0 to 3.
従来は、例えば、画像I15に対応する図4のNo.3の脆弱性診断対象を脆弱性診断する場合、画像I15に対応する図4のNo.3の脆弱性診断対象と、画像I15の遷移前の画像I11、I13およびI14にそれぞれ対応する図4のNo.0~2の脆弱性診断対象との通信内容を逐一取得していた。 Conventionally, for example, No. 4 in FIG. 4 corresponding to image I15 is used. When performing vulnerability diagnosis on vulnerability diagnosis target No. 3, No. 3 in FIG. 4 corresponding to image I15 is used. No. 3 in FIG. 4 corresponding to vulnerability diagnosis target No. 3 and images I11, I13, and I14 before the transition of image I15, respectively. The contents of communications with vulnerability diagnosis targets 0 to 2 were obtained one by one.
これに対し、脆弱性診断処理情報生成部121は、ユーザが画像I15をクリックすることにより、画像I15に対応する図4のNo.3の脆弱性診断対象の脆弱性診断を行うことになった場合、遷移図I10から図4のNo.3の脆弱性診断対象と、図4のNo.0~2の脆弱性診断対象との通信内容を取得できる。
On the other hand, when the user clicks on the image I15, the vulnerability diagnosis processing
この通信内容には、画像I11と、画像I13と、画像I14と、画像I15との間のHTTPリクエストおよびHTTPレスポンスを含む。そのため、脆弱性診断処理情報生成部121は、図4のNo.3の脆弱性診断対象のHTTPレスポンスを取得するためのHTTPリクエストを取得することができる。
This communication content includes an HTTP request and an HTTP response between image I11, image I13, image I14, and image I15. Therefore, the vulnerability diagnosis processing
脆弱性診断処理情報生成部121は、上述のHTTPリクエストに基づき、脆弱性診断処理情報を生成し、脆弱性診断処理部122は、脆弱性診断処理情報生成部121が生成した脆弱性診断処理情報に基づき、自動的に脆弱性診断処理を実行することができる。
The vulnerability diagnosis processing
このように、表示部131Xが遷移図I10などの遷移情報を表示することにより、当該遷移情報を脆弱性診断装置100の脆弱性診断ツールと連携し、遷移関係の調査、遷移関係の参照および脆弱性診断の流れを自動化することが可能になる。
In this way, by displaying transition information such as the transition diagram I10 on the
また、脆弱性診断処理部122が遷移情報に含まれる脆弱性診断対象の脆弱性を診断する場合、当該脆弱性診断対象はあらかじめ遷移情報と紐づけられている。そのため、脆弱性診断対象と遷移関係にあるウェブページまたはアプリケーションと通信を行うためのトークンは自動的に推測される。
Further, when the vulnerability
そのため、脆弱性診断処理部122は、当該通信を行うためのトークンの指定および遷移関係の設定が不要になる。その結果、遷移情報生成部123および再現部124が、ウェブページまたはアプリケーションの遷移関係を調査した後、脆弱性診断処理部122は、すぐに遷移情報に含まれる脆弱性診断対象の脆弱性について、遷移関係を担保する精度の高い脆弱性診断を行うことができる。
Therefore, the vulnerability
再現処理S23]
遷移情報が、複数のウェブページ間または複数のアプリケーションの通信状態間もしくは複数のアプリケーションが表示する画像間の遷移を実現するための情報を含む場合、再現部124は、遷移情報に基づいて、ユーザが指定した任意のウェブページ、または、アプリケーションの通信状態もしくは画像を表示部131Xに再現させてもよい。
Reproduction processing S23]
When the transition information includes information for realizing a transition between multiple web pages, between communication states of multiple applications, or between images displayed by multiple applications, the
なお、再現部124は、当該ウェブページ、または、アプリケーションの通信状態もしくは画像を表示部131Xに再現する際に、表示部131Xに当該ウェブページを、または、アプリケーションの画像を描画するわけではない。あくまで、再現部124は、当該ウェブページ、または、アプリケーションの通信状態もしくは画像を表示部131Xに再現するだけである。
Note that when reproducing the communication state or image of the web page or application on the
従来は、例えば、図4のNo.3の脆弱性診断対象に対応する画像I15を表示させようとする場合、画像I11、I13、I14、I15の順に画像を1つ1つ表示部131Xに表示部に表示させながらこれらの画像を遷移させなければならなかった。
Conventionally, for example, No. 4 in FIG. When trying to display the image I15 corresponding to the vulnerability diagnosis target of No. 3, the images I11, I13, I14, and I15 are displayed one by one on the
これに対し、再現部124は、ユーザが画像I15をクリックなどにより指定した場合、画像I11、I13およびI14を介さずに画像I15を直接的に表示部131Xに表示させることができる。
On the other hand, when the user specifies image I15 by clicking or the like,
<実施形態3>
本発明の一実施形態に係る脆弱性診断装置は、実施形態3に係る脆弱性診断装置100Yのように、複数の脆弱性診断装置と接続し、複数の脆弱性診断装置と自装置との間で共有する脆弱性診断処理情報である共有脆弱性診断処理情報を複数の脆弱性診断装置に送信してもよい。
<
The vulnerability diagnosis device according to an embodiment of the present invention, like the
以下、図12~15を用いて、実施形態3について説明する。なお、説明の便宜上、上述の実施形態にて説明した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を省略する。
〔脆弱性診断システム1〕
図12は、実施形態3に係る脆弱性診断システム1の構成の一例を示すブロック図である。図12に示すように、脆弱性診断システム1は、脆弱性診断装置100Yと、脆弱性診断装置200と、脆弱性診断装置300とを備えている。
[Vulnerability diagnosis system 1]
FIG. 12 is a block diagram showing an example of the configuration of the
〔脆弱性診断装置100Y〕
脆弱性診断装置100Yは、複数の脆弱性診断装置200および300とネットワークNを介して接続された、ホストとなるサーバコンピュータである。
[
The
脆弱性診断装置100Yは、自装置において生成した脆弱性診断処理情報または脆弱性診断装置200および脆弱性診断装置300の少なくとも一方から受信した脆弱性診断処理情報に基づき、共有脆弱性診断処情報を更新して脆弱性診断装置200および300に送信する。
The
図12に示すように、脆弱性診断装置100Yは、通信部140をさらに備え、実施形態2における主制御部120Xおよび出力部130Xの代わりに主制御部120Yおよび出力部130Yを備えている。この点以外は、脆弱性診断装置100Yは、実施形態2に係る脆弱性診断装置100Xと同様の構成である。
As shown in FIG. 12, the
[通信部140]
通信部140は、HTTPおよびTCP/IPなどの所定の通信プロトコルに基づくネットワークNを介して接続されている脆弱性診断装置200の通信部240および脆弱性診断装置300の通信部340と通信を行う。図12に示すように、通信部140は、受信部141と、送信部142とを備えている。
[Communication Department 140]
The
(受信部141)
受信部141は、複数の脆弱性診断装置200および300の少なくとも1つから、当該脆弱性診断装置において生成または変更された脆弱性診断処理情報を受信する。
(Receiving unit 141)
The receiving
(送信部142)
送信部142は、更新部125が更新した共有脆弱性診断処理情報を複数の脆弱性診断装置200および300に送信する。
(Transmission unit 142)
The
[主制御部120Y]
主制御部120Yは、更新部125をさらに備えている。この点以外は、主制御部120Yは、実施形態2における主制御部125Xと同様の構成である。
[
The
(更新部125)
更新部125は、受信部141が受信した脆弱性診断処理情報および自装置において生成もしくは変更された脆弱性診断処理情報の少なくとも一方に基づいて共有脆弱性診断処理情報を更新する。
(Update unit 125)
The updating
[出力部130Y]
出力部130Yは、実施形態2における表示部131Xの代わりに表示部131Yを備えている。この点以外は、出力部130Yは、実施形態2における出力部130Xと同様の構成である。
[
The
(表示部131Y)
表示部131Yは、更新部125が更新した共有脆弱性診断処理情報をさらに表示する。この点以外は、表示部131Yは、実施形態2における表示部131Xと同様の構成である。
(
The
〔脆弱性診断装置200〕
脆弱性診断装置200は、操作受付部210と、主制御部220と、出力部230と、通信部240とを備える、ゲストとなるコンピュータであり、例えば、クライアントサーバなどが挙げられる。
[Vulnerability diagnosis device 200]
The
操作受付部210は、実施形態2における操作受付部110と同様の構成である。主制御部220は、実施形態2における主制御部120Xと同様の構成である。出力部230は、出力部130Yと同様の構成である。すなわち、脆弱性診断装置200は、通信部240をさらに備え、実施形態2における出力部130Xの代わりに、出力部130Yと同様の構成である出力部230を備えている以外、実施形態2に係る脆弱性診断装置100Xと同様の構成である。
The
[通信部240]
通信部240は、HTTPおよびTCP/IPなどの所定の通信プロトコルに基づくネットワークNを介して接続されている脆弱性診断装置100Yの通信部140と通信を行う。図12に示すように、通信部240は、受信部241と、送信部242とを備えている。
[Communication Department 240]
The
(受信部241)
受信部241は、脆弱性診断装置100Yから、脆弱性診断装置100Yの更新部125によって更新された共有脆弱性診断処理情報を受信する。
(Receiving unit 241)
The receiving
(送信部242)
送信部242は、自装置において生成または変更された脆弱性診断処理情報を脆弱性診断装置100Yに送信する。
(Transmission unit 242)
The transmitting
〔脆弱性診断装置300〕
脆弱性診断装置300は、操作受付部310と、主制御部320と、出力部330と、通信部340とを備える、ゲストとなるコンピュータであり、例えば、クライアントサーバなどが挙げられる。
[Vulnerability diagnosis device 300]
The
操作受付部310は、実施形態2における操作受付部110と同様の構成である。主制御部320は、実施形態2における主制御部120Xと同様の構成である。出力部330は、実施形態2における出力部130Xと同様の構成である。すなわち、脆弱性診断装置300は、通信部340をさらに備え、実施形態2における出力部130Xの代わりに、出力部130Yと同様の構成である出力部330を備えている以外、実施形態2に係る脆弱性診断装置100Xと同様の構成である。
The
[通信部340]
通信部340は、HTTPおよびTCP/IPなどの所定の通信プロトコルに基づくネットワークNを介して接続されている脆弱性診断装置100Yの通信部140と通信を行う。図12に示すように、通信部340は、受信部341と、送信部342とを備えている。
[Communication Department 340]
The
(受信部341)
受信部341は、脆弱性診断装置100Yから、脆弱性診断装置100Yの更新部125によって更新された共有脆弱性診断処理情報を受信する。
(Receiving unit 341)
The receiving
(送信部342)
送信部342は、自装置において生成または変更された脆弱性診断処理情報を脆弱性診断装置100Yに送信する。
(Transmission unit 342)
The
〔脆弱性診断装置100Yの制御方法S3〕
次に、図13~15を用いて、実施形態3に係る脆弱性診断装置100Yの制御方法(脆弱性診断装置の制御方法)S3について説明する。図13は、実施形態3に係る脆弱性診断装置100Yの制御方法S3の一例を示すフロー図である。
[Control method S3 of
Next, a method for controlling the
図13に示すように、脆弱性診断装置100Yの制御方法S3は、受信処理S31と、更新処理S32と、送信処理S33とを含み、脆弱性診断装置100Yによってこの順で実行される。
As shown in FIG. 13, the control method S3 of the
[受信処理S31]
脆弱性診断装置100Yの通信部140における受信部141は、複数の脆弱性診断装置200および300の少なくとも1つから、当該脆弱性診断装置において生成または変更された脆弱性診断処理情報を受信する。
[Reception processing S31]
The receiving
受信部141は、複数の脆弱性診断装置200および300の少なくとも1つから、当該脆弱性診断装置による、脆弱性診断処理情報に含まれる脆弱性診断処理の経過を示す脆弱性診断処理経過情報を受信してもよい。
The receiving
[更新処理S32]
脆弱性診断装置100Yの主制御部120Yにおける更新部125は、受信部141が受信した脆弱性診断処理情報および自装置において生成もしくは変更された脆弱性診断処理情報の少なくとも一方に基づいて共有脆弱性診断処理情報を更新する。
[Update process S32]
The
以下、図14および図15を用いて、共有脆弱性診断処理情報の更新について詳細に説明する。図14および図15は、共有脆弱性診断処理情報の一例を示す図である。図14に示す例では、共有脆弱性診断処理情報は、遷移情報として遷移図I10Yを含む。 Hereinafter, updating of the shared vulnerability diagnosis processing information will be described in detail using FIGS. 14 and 15. 14 and 15 are diagrams showing examples of shared vulnerability diagnosis processing information. In the example shown in FIG. 14, the shared vulnerability diagnosis processing information includes a transition diagram I10Y as transition information.
図14に示すように、遷移図I10Yは、脆弱性診断処理経過情報PA11、脆弱性診断処理経過情報PA13および脆弱性診断処理経過情報PA14などの脆弱性診断処理経過情報を含む。脆弱性診断処理経過情報PA11、脆弱性診断処理経過情報PA13および脆弱性診断処理経過情報PA14は、それぞれ、画像I11、I13およびI14の下にテキスト情報として表示されている。 As shown in FIG. 14, the transition diagram I10Y includes vulnerability diagnosis process progress information such as vulnerability diagnosis process progress information PA11, vulnerability diagnosis process progress information PA13, and vulnerability diagnosis process progress information PA14. Vulnerability diagnosis process progress information PA11, vulnerability diagnosis process progress information PA13, and vulnerability diagnosis process progress information PA14 are displayed as text information below images I11, I13, and I14, respectively.
脆弱性診断処理経過情報PA11は、脆弱性診断装置100Yが画像I11に対応する図4のNo.0の脆弱性診断対象を脆弱性診断中であることを示している。また、脆弱性診断処理経過情報PA11は、脆弱性診断可能日時が画像I12およびI15~I19の脆弱性診断可能日時に対し、脆弱性診断処理期間分遅い11/17の8:10からであることを示している。
The vulnerability diagnosis processing progress information PA11 indicates that the
脆弱性診断処理経過情報PA13は、脆弱性診断装置200が画像I13に対応する図4のNo.1の脆弱性診断対象を脆弱性診断中であることを示している。また、脆弱性診断処理経過情報PA13は、脆弱性診断可能日時が画像I12およびI15~I19の脆弱性診断可能日時に対し、脆弱性診断処理期間分遅い11/17の8:10からであることを文字により示している。
The vulnerability diagnosis process progress information PA13 indicates that the
脆弱性診断処理経過情報PA14は、脆弱性診断装置300が画像I14に対応する図4のNo.2の脆弱性診断対象を脆弱性診断中であることを示している。また、脆弱性診断処理経過情報PA14は、脆弱性診断可能日時が画像I12およびI15~I19の脆弱性診断可能日時に対し、脆弱性診断処理期間分遅い11/17の8:10分からであることを文字により示している。
The vulnerability diagnosis process progress information PA14 indicates that the
更新部125は、受信部141が受信した脆弱性診断処理情報および自装置において生成もしくは変更された脆弱性診断処理情報の少なくとも一方に基づいて共有脆弱性診断処理情報を更新する。一例として、更新部125は、脆弱性診断装置100Yにおける受信部141が受信した脆弱性診断処理経過情報および自装置による脆弱性診断処理の経過を示す脆弱性診断処理経過情報の少なくとも一方に基づいて共有脆弱性診断処理情報を更新してもよい。
The updating
例えば、受信部141が以下の脆弱性診断処理経過情報を受信し、自装置による画像I14に対応する図4のNo.2の脆弱性診断対象の脆弱性診断処理が完了したことを示す脆弱性診断処理経過情報を生成した場合、更新部125は、これらの脆弱性診断処理完了情報に基づいて遷移図I10Yを更新する。
・脆弱性診断装置200による画像I11に対応する図4のNo.0の脆弱性診断対象の脆弱性診断処理が完了したことを示す脆弱性診断処理経過情報
・脆弱性診断装置300による画像I13に対応する図4のNo.1の脆弱性診断対象の脆弱性診断処理が完了したことを示す脆弱性診断処理経過情報
この場合、更新部125は、「脆弱性診断装置100Y脆弱性診断中」という情報を示す脆弱性診断処理経過情報PA11を、図15の遷移図I10Y’の通り「脆弱性診断装置100Y脆弱性診断済」という情報を示す脆弱性診断処理経過情報PA11’に更新する。更新部125は、「脆弱性診断装置200脆弱性診断中」という情報を示す脆弱性診断処理経過情報PA13を、図15のように、「脆弱性診断装置200脆弱性診断済」という情報を示す脆弱性診断処理経過情報PA13’に更新する。更新部125は、「脆弱性診断装置300脆弱性診断中」という情報を示す脆弱性診断処理経過情報PA14を、図15のように、「脆弱性診断装置300脆弱性診断済」という情報を示す脆弱性診断処理経過情報PA14’に更新する。
For example, the receiving
- No. 4 in FIG. 4 corresponding to the image I11 obtained by the
[表示処理S33]
脆弱性診断装置100Yの出力部130Yにおける表示部131Yは、更新部125が更新した共有脆弱性診断処理情報を表示する。例えば、表示部131Yは、図15に示す遷移図I10Y’を表示部131Yに表示する。
[Display processing S33]
The
[送信処理S34]
脆弱性診断装置100Yの通信部140における送信部142は、更新部125が更新した共有脆弱性診断処理情報を複数の脆弱性診断装置200および300に送信する。例えば、送信部142は、遷移図I10Y’を複数の脆弱性診断装置200および300に送信する。
[Transmission process S34]
The
これにより、脆弱性診断装置100Yのユーザ、脆弱性診断装置200のユーザおよび脆弱性診断装置300のユーザという多数の人間が、1つの脆弱性診断処理というプロジェクトに関する遷移図I10Y’などの共有脆弱性診断処理情報を共有することができる。
As a result, a large number of users of the
また、これらのユーザ間で、更新された共有脆弱性診断処理情報を共有することができるので、これらのユーザは、最新の脆弱性診断処理情報に更新しなくてもよく、新たにユーザが脆弱性診断処理に参加しても、別途、脆弱性診断処理情報を設定しなくて済む。 In addition, since the updated shared vulnerability diagnosis processing information can be shared among these users, these users do not need to update the vulnerability diagnosis processing information to the latest vulnerability diagnosis processing information. Even if the user participates in the gender diagnosis process, there is no need to separately set vulnerability diagnosis process information.
また、これらのユーザが脆弱性診断処理を実行する拠点が離れていても、円滑にコミュニケーションを取ることができるため、効率的に脆弱性診断処理を実行することができる。 In addition, even if these users are located far away from each other, they can communicate smoothly, so that the vulnerability diagnosis process can be executed efficiently.
さらに、共有脆弱性診断処理情報が遷移図I10Y’などの遷移情報を含むことにより、脆弱性診断装置100Yのユーザおよび脆弱性診断装置200のユーザおよび脆弱性診断装置300のユーザは、脆弱性診断処理全体の進捗状況を把握可能になる。これにより、これらのユーザ間で共有する情報の質が向上する。
Furthermore, since the shared vulnerability diagnosis processing information includes transition information such as the transition diagram I10Y', the user of
<変形例>
〔変形例1〕
上述の例では、脆弱性診断装置100Yの主制御部120Yは、遷移情報生成部123と再現部124とを備えている。脆弱性診断装置200の主制御部220は、遷移情報生成部223と再現部224とを備えている。また、脆弱性診断装置300の主制御部320は、遷移情報生成部323と再現部324とを備えている。
<Modified example>
[Modification 1]
In the above example, the
ただし、本実施形態では、脆弱性診断装置100Y、200および300は、これらの部材を備えず、共有脆弱性診断処理情報は遷移情報を含まなくてもよい。
However, in this embodiment, the
このような場合でも、脆弱性診断装置100Yのユーザ、脆弱性診断装置200のユーザおよび脆弱性診断装置300のユーザという多数の人間が、1つの脆弱性診断処理というプロジェクトに関する共有脆弱性診断処理情報を共有することができる。
Even in such a case, a large number of users such as the user of the
また、これらのユーザ間で、更新された共有脆弱性診断処理情報を共有することができるので、これらのユーザは、最新の脆弱性診断処理情報に更新しなくてもよく、新たにユーザが脆弱性診断処理に参加しても、別途、脆弱性診断処理情報を設定しなくて済む。 In addition, since the updated shared vulnerability diagnosis processing information can be shared among these users, these users do not need to update the vulnerability diagnosis processing information to the latest vulnerability diagnosis processing information. Even if the user participates in the gender diagnosis process, there is no need to separately set vulnerability diagnosis process information.
さらに、これらのユーザが脆弱性診断処理を実行する拠点が離れていても、円滑にコミュニケーションを取ることができるため、効率的に脆弱性診断処理を実行できる。 Furthermore, even if the bases where these users execute the vulnerability diagnosis process are far apart, they can communicate smoothly, so the vulnerability diagnosis process can be executed efficiently.
〔変形例2〕
上述の例では、更新部125は、脆弱性診断装置100Yにおける受信部141が受信した脆弱性診断処理経過情報および自装置による脆弱性診断処理の経過を示す脆弱性診断処理経過情報の少なくとも一方に基づいて共有脆弱性診断処理情報を更新している。ただし、本実施形態では、更新部125は、脆弱性診断処理経過情報に限定されず、受信部141が受信した脆弱性診断処理情報および自装置において生成もしくは変更された脆弱性診断処理情報の少なくとも一方に基づいて共有脆弱性診断処理情報を更新すればよい。
[Modification 2]
In the above example, the
例えば、更新部125は、受信部141が受信した脆弱性診断処理実行条件、脆弱性診断処理実行情報または脆弱性診断処理結果評価条件、および、自装置において生成もしくは変更された脆弱性診断処理実行条件、脆弱性診断処理実行情報または脆弱性診断処理結果評価条件の少なくとも一方に基づいて共有脆弱性診断処理情報を更新してもよい。
For example, the
〔ソフトウェアによる実現例〕
脆弱性診断装置100、100Xおよび100Y(以下、「装置」と呼ぶ)の機能は、当該装置としてコンピュータを機能させるための脆弱性診断プログラムであって、当該装置の各制御ブロック(特に主制御部120、120Xおよび120Yに含まれる各部)としてコンピュータを機能させるための脆弱性診断プログラムにより実現できる。
[Example of implementation using software]
The function of the
この場合、上記装置は、上記脆弱性診断プログラムを実行するためのハードウェアとして、少なくとも1つの制御装置(例えばプロセッサ)と少なくとも1つの記憶装置(例えばメモリ)を有するコンピュータを備える。この制御装置と記憶装置により上記脆弱性診断プログラムを実行することにより、上記各実施形態で説明した各機能が実現される。 In this case, the device includes a computer having at least one control device (for example, a processor) and at least one storage device (for example, a memory) as hardware for executing the vulnerability diagnosis program. By executing the vulnerability diagnosis program with this control device and storage device, each function described in each of the above embodiments is realized.
上記脆弱性診断プログラムは、一時的ではなく、コンピュータ読み取り可能な、1または複数の記録媒体に記録されていてもよい。この記録媒体は、上記装置が備えていてもよいし、備えていなくてもよい。後者の場合、上記脆弱性診断プログラムは、有線または無線の任意の伝送媒体を介して上記装置に供給されてもよい。 The vulnerability diagnosis program may be recorded on one or more computer-readable recording media instead of temporary. This recording medium may or may not be included in the above device. In the latter case, the vulnerability diagnosis program may be supplied to the device via any wired or wireless transmission medium.
また、上記各制御ブロックの機能の一部または全部は、論理回路により実現することも可能である。例えば、上記各制御ブロックとして機能する論理回路が形成された集積回路も本発明の範疇に含まれる。この他にも、例えば量子コンピュータにより上記各制御ブロックの機能を実現することも可能である。 Further, part or all of the functions of each of the control blocks described above can also be realized by a logic circuit. For example, an integrated circuit in which a logic circuit functioning as each of the control blocks described above is formed is also included in the scope of the present invention. In addition to this, it is also possible to realize the functions of each of the control blocks described above using, for example, a quantum computer.
また、上記各実施形態で説明した各処理は、AI(Artificial Intelligence:人工知能)に実行させてもよい。この場合、AIは上記制御装置で動作するものであってもよいし、他の装置(例えばエッジコンピュータまたはクラウドサーバなど)により動作するものであってもよい。 Further, each process described in each of the above embodiments may be executed by AI (Artificial Intelligence). In this case, the AI may be operated by the control device, or may be operated by another device (for example, an edge computer or a cloud server).
<付記事項>
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
<Additional notes>
The present invention is not limited to the embodiments described above, and various modifications can be made within the scope of the claims, and embodiments obtained by appropriately combining technical means disclosed in different embodiments. are also included within the technical scope of the present invention.
また、各実施形態に係る脆弱性診断装置は、ユーザに専門的な知識や経験がなくてもウェブページまたはアプリケーションの脆弱性を診断可能なため、持続可能な開発目標(SDGs)の目標9「産業と技術革新の基盤をつくろう」の達成に貢献できる。 In addition, the vulnerability diagnosis device according to each embodiment can diagnose vulnerabilities in web pages or applications even if the user does not have specialized knowledge or experience. We can contribute to the achievement of "Let's create a foundation for industry and technological innovation."
100、100X、100Y、200、300 脆弱性診断装置
121 脆弱性診断処理情報生成部
122 脆弱性診断処理部
123、223、323 遷移情報生成部
124、224、324 再現部
125 更新部
131、131X、131Y 表示部
141、241、341 受信部
142、242、342 送信部
D、D’a、D’’、D’’a、D’’b、D’’c、D’’d 脆弱性診断処理情報
D1 脆弱性診断処理実行条件
D2 脆弱性診断処理実行情報
D3 脆弱性診断処理結果評価条件
I10、I10Y、I10Y’ 遷移図
I11、I12、I13、I14、I15、I16、I17、I18、I19 画像
PA11、PA11’、PA13、PA13’、PA14、PA14’ 脆弱性診断処理経過情報
S1、S2、S3 制御方法(脆弱性診断装置の制御方法)
S12 脆弱性診断処理情報生成処理
S13 脆弱性診断処理
S14 出力処理
S21 遷移情報生成処理
S22、S24、S33 表示処理
S23 再現処理
S31 受信処理
S32 更新処理
S33 送信処理
100 100
S12 Vulnerability diagnosis processing Information generation processing S13 Vulnerability diagnosis processing S14 Output processing S21 Transition information generation processing S22, S24, S33 Display processing S23 Reproduction processing S31 Reception processing S32 Update processing S33 Transmission processing
Claims (5)
前記脆弱性診断処理情報生成部が生成した前記脆弱性診断処理情報に基づいて前記脆弱性診断処理を実行する脆弱性診断処理部と、
複数のウェブページ間、または、複数のアプリケーションの通信状態間もしくは複数のアプリケーションが表示する画像間の遷移関係を示す遷移情報を生成する遷移情報生成部と、
前記遷移情報生成部が生成した前記遷移情報を表示する表示部と、
複数の脆弱性診断装置と接続し、前記遷移情報を前記複数の脆弱性診断装置に送信する送信部と、を備え、
前記遷移情報には、前記表示部に表示する画像を示す情報と、前記複数のウェブページ間、または、前記複数のアプリケーションの通信状態間もしくは複数のアプリケーションが表示する画像間における通信内容とが含まれている、
ことを特徴とする脆弱性診断装置。 a vulnerability diagnosis processing information generation unit that generates vulnerability diagnosis processing information that defines vulnerability diagnosis processing for diagnosing the vulnerability of a web page or application based on a user's operation;
a vulnerability diagnosis processing unit that executes the vulnerability diagnosis processing based on the vulnerability diagnosis processing information generated by the vulnerability diagnosis processing information generation unit;
a transition information generation unit that generates transition information indicating a transition relationship between multiple web pages, between communication states of multiple applications, or between images displayed by multiple applications;
a display unit that displays the transition information generated by the transition information generation unit;
a transmitter that connects to a plurality of vulnerability diagnosis devices and transmits the transition information to the plurality of vulnerability diagnosis devices;
The transition information includes information indicating an image to be displayed on the display unit, and communication content between the plurality of web pages, communication states of the plurality of applications, or images displayed by the plurality of applications. is,
A vulnerability diagnosis device characterized by:
ことを特徴とする請求項1記載の脆弱性診断装置。 The display unit displays the transition information as a transition diagram including arrows indicating transition relationships between the plurality of web pages, communication states of the plurality of applications, or images displayed by the plurality of applications.
The vulnerability diagnosis device according to claim 1, characterized in that:
前記脆弱性診断装置が、前記脆弱性診断処理情報生成処理において生成した前記脆弱性診断処理情報に基づいて前記脆弱性診断処理を実行する脆弱性診断処理と、
前記脆弱性診断装置が、複数のウェブページ間、または、複数のアプリケーションの通信状態間もしくは複数のアプリケーションが表示する画像間の遷移関係を示す遷移情報を生成する遷移情報生成処理と、
前記脆弱性診断装置が、前記遷移情報生成処理において生成した前記遷移情報を表示する表示処理と、
前記脆弱性診断装置が、複数の脆弱性診断装置と接続し、前記遷移情報を前記複数の脆弱性診断装置に送信する送信処理と、を含み、
前記遷移情報には、前記表示処理において表示する画像を示す情報と、前記複数のウェブページ間、または、前記複数のアプリケーションの通信状態間もしくは複数のアプリケーションが表示する画像間における通信内容とが含まれている、
ことを特徴とする脆弱性診断装置の制御方法。 A vulnerability diagnosis processing information generation process in which the vulnerability diagnosis device generates vulnerability diagnosis processing information that defines vulnerability diagnosis processing for diagnosing the vulnerability of a web page or application based on a user's operation;
a vulnerability diagnosis process in which the vulnerability diagnosis device executes the vulnerability diagnosis process based on the vulnerability diagnosis process information generated in the vulnerability diagnosis process information generation process;
a transition information generation process in which the vulnerability diagnosis device generates transition information indicating a transition relationship between multiple web pages, between communication states of multiple applications, or between images displayed by multiple applications;
a display process in which the vulnerability diagnosis device displays the transition information generated in the transition information generation process;
The vulnerability diagnosis device connects to a plurality of vulnerability diagnosis devices, and includes a transmission process of transmitting the transition information to the plurality of vulnerability diagnosis devices,
The transition information includes information indicating an image to be displayed in the display process, and communication content between the plurality of web pages, communication states of the plurality of applications, or images displayed by the plurality of applications. is,
A method for controlling a vulnerability diagnosis device, characterized in that:
ユーザの操作に基づいて、ウェブページまたはアプリケーションの脆弱性を診断する脆弱性診断処理を規定する脆弱性診断処理情報を生成する脆弱性診断処理情報生成処理と、
前記脆弱性診断処理情報生成処理において生成した前記脆弱性診断処理情報に基づいて前記脆弱性診断処理を実行する脆弱性診断処理と、
複数のウェブページ間、または、複数のアプリケーションの通信状態間もしくは複数のアプリケーションが表示する画像間の遷移関係を示す遷移情報を生成する遷移情報生成処理と、
前記遷移情報生成処理において生成した前記遷移情報を表示する表示処理と、
複数の脆弱性診断装置と接続し、前記遷移情報を前記複数の脆弱性診断装置に送信する送信処理と、を実行させる脆弱性診断プログラムであって、
前記遷移情報には、前記表示処理において表示する画像を示す情報と、前記複数のウェブページ間、または、前記複数のアプリケーションの通信状態間もしくは複数のアプリケーションが表示する画像間における通信内容とが含まれている、
ことを特徴とする脆弱性診断プログラム。 to the computer,
a vulnerability diagnosis processing information generation process that generates vulnerability diagnosis processing information that defines vulnerability diagnosis processing for diagnosing the vulnerability of a web page or application based on a user's operation;
a vulnerability diagnosis process that executes the vulnerability diagnosis process based on the vulnerability diagnosis process information generated in the vulnerability diagnosis process information generation process;
a transition information generation process that generates transition information indicating a transition relationship between multiple web pages, between communication states of multiple applications, or between images displayed by multiple applications;
a display process for displaying the transition information generated in the transition information generation process;
A vulnerability diagnosis program that connects to a plurality of vulnerability diagnosis devices and executes a transmission process of transmitting the transition information to the plurality of vulnerability diagnosis devices,
The transition information includes information indicating an image to be displayed in the display process, and communication content between the plurality of web pages, communication states of the plurality of applications, or images displayed by the plurality of applications. is,
A vulnerability diagnosis program characterized by:
前記脆弱性診断処理情報生成部が生成した前記脆弱性診断処理情報に基づいて前記脆弱性診断処理を実行する脆弱性診断処理部と、
複数の脆弱性診断装置と接続し、当該複数の脆弱性診断装置の少なくとも1つから、当該脆弱性診断装置において生成または変更された脆弱性診断処理情報を受信する受信部と、
前記受信部が受信した前記脆弱性診断処理情報および自装置において生成もしくは変更された脆弱性診断処理情報の少なくとも一方に基づいて、前記複数の脆弱性診断装置と自装置との間で共有する脆弱性診断処理情報である共有脆弱性診断処理情報を更新する更新部と、
前記更新部が更新した前記共有脆弱性診断処理情報を前記複数の脆弱性診断装置に送信する送信部と、を備え、
前記脆弱性診断処理情報は、脆弱性診断処理の経過を示す脆弱性診断処理経過情報を含み、
前記受信部は、前記複数の脆弱性診断装置の少なくとも1つから、当該脆弱性診断装置による脆弱性診断処理経過情報を受信し、
前記更新部は、前記受信部が受信した前記脆弱性診断処理経過情報および自装置による脆弱性診断処理による前記脆弱性診断処理の経過を示す脆弱性診断処理経過情報の少なくとも一方に基づいて共有脆弱性診断処理情報を更新し、
前記送信部は、前記更新部が更新した前記共有脆弱性診断処理情報を前記複数の脆弱性診断装置に送信し、
前記更新部が更新した前記共有脆弱性診断処理情報を表示する表示部をさらに備えることを特徴とする脆弱性診断装置。 a vulnerability diagnosis processing information generation unit that generates vulnerability diagnosis processing information that defines vulnerability diagnosis processing for diagnosing the vulnerability of a web page or application based on a user's operation;
a vulnerability diagnosis processing unit that executes the vulnerability diagnosis processing based on the vulnerability diagnosis processing information generated by the vulnerability diagnosis processing information generation unit;
a receiving unit that is connected to a plurality of vulnerability diagnosis devices and receives vulnerability diagnosis processing information generated or changed in the vulnerability diagnosis device from at least one of the plurality of vulnerability diagnosis devices;
vulnerabilities shared between the plurality of vulnerability diagnosis devices and the own device based on at least one of the vulnerability diagnosis processing information received by the receiving unit and the vulnerability diagnosis processing information generated or changed in the own device. an update unit that updates shared vulnerability diagnosis processing information that is vulnerability diagnosis processing information;
a transmitting unit that transmits the shared vulnerability diagnosis processing information updated by the update unit to the plurality of vulnerability diagnosis devices,
The vulnerability diagnosis processing information includes vulnerability diagnosis processing progress information indicating the progress of the vulnerability diagnosis processing,
The receiving unit receives vulnerability diagnosis processing progress information by the vulnerability diagnosis device from at least one of the plurality of vulnerability diagnosis devices,
The update unit updates the shared vulnerability based on at least one of the vulnerability diagnosis process progress information received by the receiving unit and vulnerability diagnosis process progress information indicating the progress of the vulnerability diagnosis process by the vulnerability diagnosis process performed by the own device. Update sex diagnosis processing information,
The transmitter transmits the shared vulnerability diagnosis processing information updated by the updater to the plurality of vulnerability diagnosis devices,
A vulnerability diagnosis device further comprising a display unit that displays the shared vulnerability diagnosis processing information updated by the update unit.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2023173148A JP2023168559A (en) | 2021-12-23 | 2023-10-04 | Vulnerability diagnosing device, control method of vulnerability diagnosing device, and vulnerability diagnosing program |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021209759A JP2023094338A (en) | 2021-12-23 | 2021-12-23 | Vulnerability diagnosing device, control method of vulnerability diagnosing device, and vulnerability diagnosing program |
JP2023173148A JP2023168559A (en) | 2021-12-23 | 2023-10-04 | Vulnerability diagnosing device, control method of vulnerability diagnosing device, and vulnerability diagnosing program |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021209759A Division JP2023094338A (en) | 2021-12-23 | 2021-12-23 | Vulnerability diagnosing device, control method of vulnerability diagnosing device, and vulnerability diagnosing program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023168559A true JP2023168559A (en) | 2023-11-24 |
Family
ID=87001401
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021209759A Pending JP2023094338A (en) | 2021-12-23 | 2021-12-23 | Vulnerability diagnosing device, control method of vulnerability diagnosing device, and vulnerability diagnosing program |
JP2023173148A Pending JP2023168559A (en) | 2021-12-23 | 2023-10-04 | Vulnerability diagnosing device, control method of vulnerability diagnosing device, and vulnerability diagnosing program |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021209759A Pending JP2023094338A (en) | 2021-12-23 | 2021-12-23 | Vulnerability diagnosing device, control method of vulnerability diagnosing device, and vulnerability diagnosing program |
Country Status (1)
Country | Link |
---|---|
JP (2) | JP2023094338A (en) |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9118710B2 (en) * | 2003-07-01 | 2015-08-25 | Securityprofiling, Llc | System, method, and computer program product for reporting an occurrence in different manners |
JP4745819B2 (en) * | 2005-12-26 | 2011-08-10 | 三菱電機株式会社 | Vulnerability determination system and inspection device |
US20080120420A1 (en) * | 2006-11-17 | 2008-05-22 | Caleb Sima | Characterization of web application inputs |
JP4193196B1 (en) * | 2007-05-30 | 2008-12-10 | 株式会社ファイブドライブ | Web service providing system inspection apparatus and Web service providing system inspection program |
JP5499805B2 (en) * | 2010-03-19 | 2014-05-21 | 日本電気株式会社 | Information processing apparatus, information processing system, information processing method, and information processing program |
JP5618861B2 (en) * | 2011-02-23 | 2014-11-05 | 三菱電機株式会社 | Information processing apparatus, information processing method, and program |
JP5948955B2 (en) * | 2012-02-28 | 2016-07-06 | 富士通株式会社 | Relay device, information reproduction program, and information reproduction method |
JP6355668B2 (en) * | 2016-03-15 | 2018-07-11 | 三菱電機株式会社 | Diagnosis result integration apparatus and diagnosis result integration program |
JP7217400B2 (en) * | 2018-10-31 | 2023-02-03 | GMOサイバーセキュリティbyイエラエ株式会社 | Website vulnerability diagnostic device, diagnostic system, diagnostic method and diagnostic program |
JP6942277B1 (en) * | 2021-03-29 | 2021-09-29 | 株式会社ユービーセキュア | Security test system |
-
2021
- 2021-12-23 JP JP2021209759A patent/JP2023094338A/en active Pending
-
2023
- 2023-10-04 JP JP2023173148A patent/JP2023168559A/en active Pending
Also Published As
Publication number | Publication date |
---|---|
JP2023094338A (en) | 2023-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111930635B (en) | Swagger-based rapid automatic testing method and system | |
US20150128121A1 (en) | Dynamic application version selection | |
AU2016200704B2 (en) | Communicating with data storage systems | |
US20050080768A1 (en) | Methods and apparatus for dynamic service discovery from Web services representation chain | |
JP5396903B2 (en) | Processing method, data processing system, and computer program | |
US9875314B2 (en) | Content request with HTTP request-header rendering template that is independent of content storage location | |
US20020052937A1 (en) | Method and apparatus for verifying the contents of a global configuration file | |
JP2009543166A (en) | Computer-implemented method, computer program, and data processing system for defining page layout by page | |
JP5384646B2 (en) | How to discover alternative user experiences for websites | |
JP4940791B2 (en) | Test support program, test support apparatus, and test support method | |
JP2011204228A (en) | Mashup infrastructure with learning mechanism | |
CA2443283A1 (en) | Techniques for server-controlled measurement of client-side performance | |
US8788929B2 (en) | Script generation | |
JP7161719B2 (en) | Interactive and non-interactive execution and rendering of templates for automating control and exploration across systems | |
US11263119B2 (en) | Just in time scriptless test automation selectors and interactions | |
JP2010113380A (en) | Test base apparatus, test base program, test base method | |
JP2023168559A (en) | Vulnerability diagnosing device, control method of vulnerability diagnosing device, and vulnerability diagnosing program | |
JPWO2007015302A1 (en) | Web page control program, method and server | |
US11616827B2 (en) | Webtier as a service | |
US20080040798A1 (en) | Information access control method and information providing system | |
JP5344680B2 (en) | Link generation apparatus and link generation method | |
JP2006113993A (en) | Test system for internet system | |
JP4846031B2 (en) | Operation verification system | |
Pham | Developing Sensors Management App | |
JP2013145480A (en) | Communication packet storage device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20231004 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20240411 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20240423 |