JP6224022B2 - Security diagnostic apparatus, system, method and program - Google Patents

Security diagnostic apparatus, system, method and program Download PDF

Info

Publication number
JP6224022B2
JP6224022B2 JP2015062770A JP2015062770A JP6224022B2 JP 6224022 B2 JP6224022 B2 JP 6224022B2 JP 2015062770 A JP2015062770 A JP 2015062770A JP 2015062770 A JP2015062770 A JP 2015062770A JP 6224022 B2 JP6224022 B2 JP 6224022B2
Authority
JP
Japan
Prior art keywords
security
regression test
request
script
security diagnostic
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
JP2015062770A
Other languages
Japanese (ja)
Other versions
JP2016184194A (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.)
Biglobe Inc
Original Assignee
Biglobe Inc
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 Biglobe Inc filed Critical Biglobe Inc
Priority to JP2015062770A priority Critical patent/JP6224022B2/en
Publication of JP2016184194A publication Critical patent/JP2016184194A/en
Application granted granted Critical
Publication of JP6224022B2 publication Critical patent/JP6224022B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、セキュリティ診断装置、システム、方法及びプログラムに関し、特に、Webアプリケーションのセキュリティ診断に関する。   The present invention relates to a security diagnosis apparatus, system, method, and program, and more particularly, to a security diagnosis of a Web application.

昨今のWebアプリケーション開発では、アプリケーションを修正後、修正による不具合やデグレーションが発生していないことを確認するために、回帰テスト(リグレッションテスト、受入テスト)を実施している。一度書いたスクリプトは何度でも利用できるため、アプリケーションの修正後、回帰テストを実施する開発プロセスが浸透している。   In recent Web application development, after an application is corrected, a regression test (regression test, acceptance test) is performed in order to confirm that no defect or degration due to the correction has occurred. Once a script has been written, it can be used as many times as possible, so the development process that performs regression testing after application modification has permeated.

一方で、Webアプリケーションが安全に動作することを確認するために、Webアプリケーション開発時、及び、機能追加等の改修時に、セキュリティ診断テストを行われることがある。セキュリティ診断テストとしては、例えば、特許文献2や特許文献3に開示されているようなものがある。   On the other hand, in order to confirm that the Web application operates safely, a security diagnostic test may be performed at the time of Web application development and modification such as addition of a function. Examples of the security diagnostic test include those disclosed in Patent Document 2 and Patent Document 3.

特許第4619867号公報Japanese Patent No. 4619867 国際公開第2012/063493号International Publication No. 2012/063493

セキュリティ診断テストのソフトウェアは、オートモードとマニュアルモードで診断が可能である。オートモードではWebクローラを使って診断対象となるWeb画面を自動的に抽出する。抽出結果は「画面に存在するリンクの組み合わせ数」に相当するため、結果的に診断する画面数が膨大となり、時間的コストがかかる。   The security diagnostic test software can diagnose in auto mode and manual mode. In the auto mode, a Web screen to be diagnosed is automatically extracted using a Web crawler. Since the extraction result corresponds to “the number of link combinations existing on the screen”, the number of screens to be diagnosed is enormous, resulting in a time cost.

マニュアルモードでは、エンドユーザがどのようにWebアプリケーションを利用するか、ログイン情報やページ遷移情報などをGUIを使って手入力し、セキュリティ診断テストのソフトウェアに登録する。セキュリティ診断のためだけにログイン情報やページ遷移情報などをGUIを使って手入力する操作作業が発生するため、人的コストがかかる。   In the manual mode, how the end user uses the Web application, login information, page transition information, and the like are manually input using the GUI and registered in the security diagnostic test software. Since an operation for manually inputting login information, page transition information, and the like using the GUI only for security diagnosis occurs, human costs are required.

本発明は、上記実情に鑑みてなされたものであって、低コストでセキュリティ診断を実行することを目的とする。   The present invention has been made in view of the above circumstances, and an object thereof is to execute a security diagnosis at a low cost.

上記目的を達成するために本発明のセキュリティ診断装置は、Webサーバと通信するセキュリティ診断装置であって、前記Webサーバが提供するWebアプリケーションに、リクエストを送り、レスポンスを得る通信部と、回帰テスト用スクリプトと、セキュリティ診断用データとを記憶する記憶部と、前記回帰テスト用スクリプトを基にリクエストを生成し、回帰テストを実行する回帰テスト実行手段と、前記回帰テスト用スクリプトを基に、ページを遷移するリクエストを生成し、前記セキュリティ診断用データを基に、異常情報を含むリクエストを生成し、セキュリティ診断テストを実行するセキュリティ診断テスト実行手段と、を有することを特徴とする。   In order to achieve the above object, a security diagnostic apparatus of the present invention is a security diagnostic apparatus that communicates with a Web server, a communication unit that sends a request to a Web application provided by the Web server and obtains a response, and a regression test A storage unit for storing a script for security, data for security diagnosis, a regression test execution means for generating a request based on the regression test script and executing a regression test, and a page based on the regression test script And a security diagnostic test execution means for generating a request including abnormality information based on the security diagnostic data and executing a security diagnostic test.

また、本発明のセキュリティ診断システムは、Webサーバが提供するWebアプリケーションに、リクエストを送り、レスポンスを得る通信部と、回帰テスト用スクリプトと、セキュリティ診断用データとを記憶する記憶部と、前記回帰テスト用スクリプトを基にリクエストを生成し、回帰テストを実行する回帰テスト実行手段と、前記回帰テスト用スクリプトを基に、ページを遷移するリクエストを生成し、前記セキュリティ診断用データを基に、異常情報を含むリクエストを生成し、セキュリティ診断テストを実行するセキュリティ診断テスト実行手段と、を有することを特徴とする。   The security diagnosis system of the present invention includes a communication unit that sends a request to a Web application provided by a Web server and obtains a response, a regression test script, a storage unit that stores security diagnosis data, and the regression Generates a request based on the test script, and executes a regression test execution means for executing a regression test, and generates a request for page transition based on the regression test script, and anomalies based on the security diagnosis data. Security diagnostic test execution means for generating a request including information and executing a security diagnostic test.

また、本発明のセキュリティ診断方法は、Webサーバが提供するWebアプリケーションに、リクエストを送るステップと、レスポンスを得るステップと、記憶部に記憶された回帰テスト用スクリプトを基にリクエストを生成し、回帰テストを実行する回帰テスト実行ステップと、前記回帰テスト用スクリプトを基に、ページを遷移するリクエストを生成し、前記記憶部に記憶されたセキュリティ診断用データを基に、異常情報を含むリクエストを生成し、セキュリティ診断テストを実行するセキュリティ診断テスト実行ステップと、を有する。   The security diagnosis method of the present invention generates a request based on a step of sending a request to a Web application provided by a Web server, a step of obtaining a response, and a regression test script stored in the storage unit, Based on the regression test execution step for executing the test and the regression test script, a page transition request is generated, and a request including abnormality information is generated based on the security diagnosis data stored in the storage unit. And a security diagnostic test execution step for executing a security diagnostic test.

また、本発明のセキュリティ診断プログラムは、Webサーバと通信するコンピュータに、前記Webサーバが提供するWebアプリケーションに、リクエストを送るステップと、レスポンスを得るステップと、記憶部に記憶された回帰テスト用スクリプトを基にリクエストを生成し、回帰テストを実行する回帰テスト実行ステップと、前記回帰テスト用スクリプトを基に、ページを遷移するリクエストを生成し、前記記憶部に記憶されたセキュリティ診断用データを基に、異常情報を含むリクエストを生成し、セキュリティ診断テストを実行するセキュリティ診断テスト実行ステップと、を実行させる。   The security diagnosis program of the present invention includes a step of sending a request to a Web application provided by the Web server to a computer communicating with the Web server, a step of obtaining a response, and a regression test script stored in the storage unit A request is generated based on the regression test execution step for executing the regression test, and a request for page transition is generated based on the regression test script, and the security diagnosis data stored in the storage unit is used as a basis. And generating a request including abnormality information and executing a security diagnostic test execution step of executing a security diagnostic test.

本発明によれば、低コストでセキュリティ診断を実行することが可能となる。   According to the present invention, security diagnosis can be executed at low cost.

本発明の第1の実施形態の構成例を示すブロック図である。It is a block diagram which shows the structural example of the 1st Embodiment of this invention. 上記実施形態における回帰テストを説明するための概念図である。It is a conceptual diagram for demonstrating the regression test in the said embodiment. 上記実施形態における回帰テストとセキュリティ診断テストの実行フローを示す図(その1)である。It is a figure (the 1) which shows the execution flow of the regression test and security diagnostic test in the said embodiment. 上記実施形態における回帰テストとセキュリティ診断テストの実行フローを示す図(その2)である。It is FIG. (2) which shows the execution flow of the regression test and security diagnostic test in the said embodiment. 本発明の第2の実施形態における回帰テストとセキュリティ診断テストの実行フローを示す図である。It is a figure which shows the execution flow of the regression test and security diagnostic test in the 2nd Embodiment of this invention. 上記各実施形態の構成の変形例(その1)を示すブロック図である。It is a block diagram which shows the modification (the 1) of a structure of each said embodiment. 上記各実施形態の構成の変形例(その2)を示すブロック図である。It is a block diagram which shows the modification (the 2) of a structure of each said embodiment.

以下の実施形態の説明中で現れるBIGLOBE、JavaScript、Ruby、Casperjs、googleなどは登録商標又は商標である。   BIGLOBE, JavaScript, Ruby, Cassperjs, google, etc. appearing in the following description of the embodiments are registered trademarks or trademarks.

<第1の実施形態>
図1に、本実施形態の構成例を示す。
図示のセキュリティ診断装置10は、出力部11、入力部12、記憶部13、制御部14、通信部17を有する。通信部17はネットワーク20を介して診断対象Webサーバ21と、少なくともHTTPプロトコルで通信する機能を備える。
<First Embodiment>
FIG. 1 shows a configuration example of this embodiment.
The illustrated security diagnostic apparatus 10 includes an output unit 11, an input unit 12, a storage unit 13, a control unit 14, and a communication unit 17. The communication unit 17 has a function of communicating with the diagnosis target Web server 21 via the network 20 using at least the HTTP protocol.

制御部14は、各部の制御をする機能を有し、回帰テスト実行手段16とセキュリティ診断テスト実行手段15として機能する。通信部17は、ネットワーク20を介して他の装置と通信する機能を有し、HTTPリクエスト送信手段19とHTTPレスポンス受信手段18として機能する。   The control unit 14 has a function of controlling each unit, and functions as a regression test execution unit 16 and a security diagnosis test execution unit 15. The communication unit 17 has a function of communicating with other devices via the network 20 and functions as an HTTP request transmission unit 19 and an HTTP response reception unit 18.

回帰テスト実行手段16は、記憶部13から回帰テスト用スクリプトを読み込み、当該スクリプトに応じてHTTPリクエストを生成し、HTTPリクエスト送信手段19に提供する。   The regression test execution means 16 reads the regression test script from the storage unit 13, generates an HTTP request according to the script, and provides it to the HTTP request transmission means 19.

また、回帰テスト実行手段16は、HTTPリクエストに対する診断対象Webサーバ21からのレスポンスが、回帰テスト用スクリプトに記載されたレスポンスに合致しているか確認し、その確認結果を出力部11に提供する。   The regression test execution means 16 confirms whether the response from the diagnosis target Web server 21 to the HTTP request matches the response described in the regression test script, and provides the confirmation result to the output unit 11.

セキュリティ診断テスト実行手段15は、記憶部13から回帰テスト用スクリプトを読み込み、当該スクリプトからページ遷移スクリプトを抽出してHTTPリクエストを生成し、HTTPリクエスト送信手段19に提供する。   The security diagnostic test execution means 15 reads a regression test script from the storage unit 13, extracts a page transition script from the script, generates an HTTP request, and provides it to the HTTP request transmission means 19.

また、セキュリティ診断テスト実行手段15は、ページ遷移スクリプトのHTTPリクエストの診断対象Webサーバ21からのレスポンスが、回帰テスト用スクリプトに記載されたレスポンスに合致し、かつ、フォームへの入力ページと確認した場合、記憶部13に記憶されたセキュリティ診断用データを読み込み、セキュリティ診断用のHTTPリクエストを生成し、HTTPリクエスト送信手段19に提供する。その後、セキュリティ診断テスト実行手段15は、セキュリティ診断用のHTTPリクエストに対する診断対象Webサーバ21からのレスポンスが、セキュリティ診断用データに記載されたレスポンスに合致しているか確認し、その確認結果を出力部11に提供する。   Further, the security diagnostic test execution means 15 confirms that the response from the Web server 21 to be diagnosed of the HTTP request of the page transition script matches the response described in the regression test script and is an input page to the form. In this case, the security diagnosis data stored in the storage unit 13 is read, an HTTP request for security diagnosis is generated, and provided to the HTTP request transmission means 19. Thereafter, the security diagnosis test execution means 15 confirms whether the response from the diagnosis target Web server 21 to the HTTP request for security diagnosis matches the response described in the security diagnosis data, and outputs the confirmation result to the output unit 11 is provided.

HTTPリクエスト送信手段19は、回帰テスト実行手段16又はセキュリティ診断テスト実行手段15で生成したHTTPリクエストをネットワーク20を介して診断対象Webサーバ21に送信する。   The HTTP request transmission unit 19 transmits the HTTP request generated by the regression test execution unit 16 or the security diagnostic test execution unit 15 to the diagnosis target Web server 21 via the network 20.

HTTPレスポンス受信手段18は、ネットワーク20を介して診断対象Webサーバ21に受信したレスポンスを回帰テスト実行手段16又はセキュリティ診断テスト実行手段15に提供する。   The HTTP response reception unit 18 provides the response received by the diagnosis target Web server 21 via the network 20 to the regression test execution unit 16 or the security diagnosis test execution unit 15.

<回帰テスト>
まず、回帰テストについて説明する。図2に、回帰テストの説明図を示す。
回帰テストは、大まかに、次の3つのプロセスで構成される。第1に、HTTPサーバである診断対象Webサーバ21に対して、HTTPクライアントとして動作するプログラムである回帰テスト用スクリプトがHTTPリクエストを生成する。第2に、これに診断対象Webサーバ21がHTTPレスポンスを返す。第3に、HTTPクライアントである回帰テスト実行手段16が診断対象Webサーバ21から返されたHTTPレスポンスが、期待されるテスト結果の情報を含んでいるか否かをチェックする。
<Regression test>
First, the regression test will be described. FIG. 2 shows an explanatory diagram of the regression test.
The regression test is roughly composed of the following three processes. First, a regression test script that is a program that operates as an HTTP client generates an HTTP request to the diagnosis target Web server 21 that is an HTTP server. Secondly, the diagnosis target Web server 21 returns an HTTP response thereto. Third, the regression test execution means 16 which is an HTTP client checks whether or not the HTTP response returned from the diagnosis target Web server 21 includes information on an expected test result.

回帰テスト用スクリプトは、JavaScript(登録商標)やRubyといったプログラム言語を用いて表記されたスクリプトプログラムであって、エンドユーザがWebアプリケーションをどう利用するかという情報がスクリプト中に埋め込まれている。以下に、ツールとしてCasperjsを、プログラミング言語としてJavaScriptを用いた場合の、回帰テスト用スクリプトの例を示す。   The regression test script is a script program written using a programming language such as JavaScript (registered trademark) or Ruby, and information on how the end user uses the Web application is embedded in the script. The following is an example of a regression test script when Cassperjs is used as the tool and JavaScript is used as the programming language.

casper.test.begin('BIGLOBE search retrieves 10 or more results', 5, function suite(test) [
//(1)
casper.start("http://www.biglobe.ne.jp/", function() [
test.assertExists('form[action="/search"]', "main form is found");
this.fill('form[action="/search"]', [ q: "biglobe" ], true);
]);
//(2)
casper.then(function() [
test.assertUrlMatch(/q=biglobe/, "search term has been submitted");
test.assertEval(function() [
return __utils__.findAll("h3.r").length >= 10;
], "google search for \"biglobe\" retrieves 10 or more results"); ]);
//(3)
casper.run(function() [
test.done();
]);
]);
casper.test.begin ('BIGLOBE search retrieves 10 or more results', 5, function suite (test) [
// (1)
casper.start ("http://www.biglobe.ne.jp/", function () [
test.assertExists ('form [action = "/ search"]', "main form is found");
this.fill ('form [action = "/ search"]', [q: "biglobe"], true);
]);
// (2)
casper.then (function () [
test.assertUrlMatch (/ q = biglobe /, "search term has been submitted");
test.assertEval (function () [
return __utils __. findAll ("h3.r"). length> = 10;
], "google search for \" biglobe \ "retrieves 10 or more results");]);
// (3)
casper.run (function () [
test.done ();
]);
]);

これは、具体的には、
(1) http://www.biglobe.ne.jp/ にアクセスし、フォーム<form action="/search">の存在を確認し、そのフォームにbiglobeと入力して送信する。
(2) レスポンスを待ち、URLが /q=biglobe/ であることを確認し、<h3 class="r">タグが10個以上存在することを確認する。
(3) テストを終了する。
という、エンドユーザの端末への操作に対応してサーバが動作するような動作と応答を表している。期待通りの応答が返ってきた場合に、回帰テストはOKを表示し、期待通りの応答が返って来なかった場合は、NGと表示しつつ、期待通りではなかった部分が表示される。
Specifically,
(1) Access http://www.biglobe.ne.jp/, confirm the existence of the form <form action = "/ search">, enter biglobe in the form and send it.
(2) Wait for the response, confirm that the URL is / q = biglobe /, and confirm that there are 10 or more <h3 class = "r"> tags.
(3) End the test.
The operations and responses that the server operates in response to the end user's operation on the terminal are shown. When the expected response is returned, the regression test displays OK, and when the expected response is not returned, NG is displayed while the portion not expected is displayed.

回帰テスト用スクリプトの例として示した(1)にある
this.fill('form[action="/search"]', [ q: "biglobe" ], true);
が、HTTPリクエストを生成する処理に相当する。
In (1) shown as an example of a regression test script
this.fill ('form [action = "/ search"]', [q: "biglobe"], true);
Corresponds to a process of generating an HTTP request.

また、この回帰テスト用スクリプトにおいて、テスト対象となっているHTMLのフォームは、例えば、次のようなものである。
<form method="get" action="/search">
<input type="text" name="q">
<input type="submit" value="検索">
</form>
In this regression test script, the HTML form to be tested is, for example, as follows.
<form method = "get" action = "/ search">
<input type = "text" name = "q">
<input type = "submit" value = "search">
</ form>

また、上記例の回帰テスト用スクリプトが実行されると、回帰テスト実行手段16は、次に示すHTTPリクエストを生成し、HTTPリクエスト送信手段19に提供する。
GET /search?q=biglobe HTTP/1.1
Host: www.biglobe.ne.jp
When the regression test script of the above example is executed, the regression test execution means 16 generates the following HTTP request and provides it to the HTTP request transmission means 19.
GET / search? Q = biglobe HTTP / 1.1
Host: www.biglobe.ne.jp
...

回帰テスト用スクリプトには、上記例のように、フォームに入力するスクリプトだけでなく、URL等を送信するHTTPリクエストを生成、送信し、ページの遷移後に回帰テスト行うページを確認するページ遷移用スクリプトが含まれる。回帰テスト用スクリプトの例として示した(1)にある
casper.start("http://www.biglobe.ne.jp/", function() [
test.assertExists('form[action="/search"]', "main form is found");
がページ遷移用スクリプトに相当する。
また、ページ遷移用スクリプトには、認証用フォーム等にID/パスワードを送信するHTTPリクエストを生成、送信し、認証後のページに遷移させ、認証後のページを確認するスクリプトも含まれる。ページ遷移用スクリプトは、ページ遷移を伴うHTTPリクエストが生成、送信されるものである。
In the regression test script, as in the above example, not only the script to be entered in the form, but also a page transition script for generating and sending an HTTP request for sending a URL etc. and confirming the page to be subjected to the regression test after the page transition Is included. In (1) shown as an example of a regression test script
casper.start ("http://www.biglobe.ne.jp/", function () [
test.assertExists ('form [action = "/ search"]', "main form is found");
Corresponds to a page transition script.
Further, the page transition script includes a script for generating and transmitting an HTTP request for transmitting an ID / password to an authentication form or the like, shifting to an authenticated page, and checking the authenticated page. The page transition script is for generating and transmitting an HTTP request with page transition.

上述のように、回帰テスト用スクリプトには、後段のHTTPリクエスト送信手段19がHTTPリクエストを生成する際に必要な遷移情報が含まれる。遷移情報は、URL、フォームに入力する値などである。選択されるラジオボタンやチェックボックスなどで送信される値、ファイル名などでもよい。HTTPリクエストに、複数の遷移情報が含まれる場合がある。上述の回帰テスト用スクリプトでは、複数の遷移情報がページ遷移用スクリプトの部分に含まれる。   As described above, the regression test script includes transition information necessary when the subsequent HTTP request transmission unit 19 generates an HTTP request. The transition information includes a URL, a value input to the form, and the like. It may be a value, a file name, etc. sent by a selected radio button or check box. In some cases, the HTTP request includes a plurality of pieces of transition information. In the above-described regression test script, a plurality of pieces of transition information are included in the page transition script portion.

また、上記例のように、回帰テスト用スクリプトには、HTTPリクエストを送信した場合に戻るHTTPレスポンスに含まれる情報の期待値も含まれる。上記例では条件式を用いているが、URLのみや文字列のみなど期待値の具体的態様はこの限りではない。   Further, as in the above example, the regression test script also includes an expected value of information included in the HTTP response that is returned when the HTTP request is transmitted. Although the conditional expression is used in the above example, the specific mode of the expected value such as only the URL or only the character string is not limited to this.

また、上記例のように、回帰テスト用スクリプトには、HTTPリクエストを送信して実際に戻ってきたHTTPレスポンスに含まれる情報(Webページやクッキーなどの形式で受け取る情報)と、スクリプト中に含まれる期待値とを比較して相違があればエラーを出力する処理が含まれる。   In addition, as in the above example, the regression test script includes information (information received in the form of a Web page, a cookie, etc.) included in the HTTP response that is actually returned after sending the HTTP request, and included in the script. The process includes outputting an error if there is a difference between the expected value and the expected value.

したがって、回帰テストは、例えばフォームに既定の正常パラメータを入力し送信、正常なリンク先URLへの接続要求などを行い、正常なレスポンスか確認する処理である。なお、フォームへ入力する情報の具体例としては、検索する語句やIDやパスワード等のログインに関する情報以外に、住所や電話番号等の個人情報、コメントなどの自由記入情報などがある。また、ラジオボタンや、多項選択によって入力される情報もフォームの中に含ませることができる。   Accordingly, the regression test is a process for confirming whether a normal response is received by inputting a normal parameter in a form and sending it, making a connection request to a normal link destination URL, and the like. Specific examples of information to be entered into the form include personal information such as addresses and telephone numbers, and free entry information such as comments, in addition to information relating to login such as search words, IDs, and passwords. Also, radio buttons and information entered by multiple selection can be included in the form.

<セキュリティ診断テスト>
次に、本発明の回帰テスト用スクリプトを利用して行うセキュリティ診断テストについて説明する。セキュリティ診断テスト実行手段15は、HTTPリクエストの送信先となるURLや、フォームの情報などのページ遷移スクリプトを回帰テスト用スクリプトから取得し、セキュリティ診断用データを用いて、セキュリティ診断テスト用のHTTPリクエストを生成する。好ましくは、ページ遷移スクリプトのHTTPリクエストの診断対象Webサーバ21からのレスポンスが、回帰テスト用スクリプトに記載されたレスポンスに合致し、かつ、フォームへの入力ページと確認した場合に、セキュリティ診断テスト用のHTTPリクエストの生成を行う。ただし、セキュリティ診断テストは、フォームへの入力ページ以外の既定の条件に合致するページで実行しても構わない。
<Security diagnostic test>
Next, a security diagnostic test performed using the regression test script of the present invention will be described. The security diagnostic test execution means 15 acquires a page transition script such as a URL to which an HTTP request is transmitted and form information from the regression test script, and uses the security diagnostic data to generate an HTTP request for the security diagnostic test. Is generated. Preferably, when the response from the Web server 21 to be diagnosed of the HTTP request of the page transition script matches the response described in the regression test script and is confirmed as an input page to the form, it is for the security diagnostic test. The HTTP request is generated. However, the security diagnostic test may be executed on a page that matches a predetermined condition other than the form input page.

セキュリティ診断テスト実行手段15が生成するHTTPリクエストには、同URLに対して送信された回帰テスト用スクリプトのページ遷移用スクリプトから生成されるHTTPリクエストの遷移情報(URL、フォームに送信する値など)を含む。また、セキュリティ診断用データを用いて生成されるHTTPリクエストには、異常情報が含まれる。異常情報とは、診断対象Webサーバ21ないしWebアプリケーションへの攻撃を意図した異常パラメータである。   The HTTP request generated by the security diagnostic test execution means 15 includes HTTP request transition information (URL, value to be transmitted to the form, etc.) generated from the page transition script of the regression test script transmitted to the URL. including. Also, the HTTP request generated using the security diagnosis data includes abnormality information. The abnormality information is an abnormality parameter intended to attack the diagnosis target Web server 21 or the Web application.

ここで、「攻撃」とは、Webアプリケーションのセキュリティ上の欠陥を探す行為である。攻撃が成功すると、サーバないしWebアプリケーションにて、開発者が意図しない動作が行われ、本来は公開されていない情報を入手する等の不正行為が可能になる場合がある。セキュリティ診断テスト実行手段15が生成するHTTPリクエストには、ページ遷移用スクリプトから取得した送信先に、異常パラメータを送信する場合のように、遷移情報と異常情報の両方が含まれる場合があってもよい。また、HTTPリクエストを用いた攻撃以外でも、TELNETの23ポートに対する攻撃やDNSへの53ポートに対する攻撃などのリクエストを用いた攻撃でもよい。   Here, “attack” is an act of searching for a web application security flaw. If the attack is successful, an operation unintended by the developer is performed on the server or the Web application, and an illegal act such as obtaining information that is not originally disclosed may be possible. Even if the HTTP request generated by the security diagnostic test execution means 15 includes both transition information and abnormal information as in the case of transmitting abnormal parameters to the transmission destination acquired from the page transition script. Good. In addition to an attack using an HTTP request, an attack using a request such as an attack on 23 ports of TELNET or an attack on 53 ports of DNS may be used.

異常パラメータは、例えば、制御文字を含んだ文字列や、バッファオーバーフローを起こす危険性のあるほど異常な長さのデータや、ラジオボタンで選択可能となっている値ではない値(選択不可能であるはずの値)、画面に表示されたコンテンツを書き換えるスクリプト、データベースの内容を画面に表示させるスクリプト、データベースの内容を書き換えるスクリプトなどが挙げられる。   Abnormal parameters include, for example, character strings that include control characters, data of an unusually long length that could cause a buffer overflow, and values that are not selectable with radio buttons (cannot be selected) A script that rewrites the content displayed on the screen, a script that displays the contents of the database on the screen, and a script that rewrites the contents of the database.

また、セキュリティ診断テスト実行手段15は、遷移情報のURL(リンク先URL)とは異なるURLへの接続要求を行うHTTPリクエストを生成するものであってもよい。セキュリティ診断テスト実行手段15は、このHTTPリクエストが成功するとアラートを出力する。   Further, the security diagnostic test execution means 15 may generate an HTTP request for requesting connection to a URL different from the URL (link destination URL) of the transition information. The security diagnostic test execution means 15 outputs an alert when this HTTP request is successful.

上述のように、本発明のセキュリティ診断テストは、フォームへの入力ページへページ遷移用スクリプトを用いて遷移し、フォームに既定の異常パラメータを入力し送信したり、リンク先URLとは異なる異常URLへの接続要求を送信したりするなどのテストを行い、想定しているレスポンスか確認する処理である。   As described above, in the security diagnostic test of the present invention, the transition to the form input page is performed using the page transition script, and the default abnormal parameter is input and transmitted to the form, or the abnormal URL different from the link destination URL. This is a process to check the expected response by performing a test such as sending a connection request to.

<Webアプリケーション全体への実行>
次に、本実施形態の回帰テストとセキュリティ診断テストをWebアプリケーション全体に実行処理させるための構成及び処理の流れについて説明する。Webアプリケーションは、例えば、オンラインショッピングを可能にするサイトや、電子メールをブラウザで読むためのインターフェイスを提供するいわゆるWebメールなどである。Webアプリケーションは利用者に複数のWebページを提供し、条件により提供するWebページも異なる場合がある。したがって、Webアプリケーションに対して、セキュリティ診断テストに伴うHTTPリクエストを送るタイミングであるWebページや送信先URLは、複数ある場合がある。本実施形態では下記フローのように、回帰テスト用スクリプトからそのHTTPリクエストを送るタイミングであるWebページやURLの遷移情報を取得するので、Webアプリケーションの各Webページにセキュリティ診断テストを実行することができる。
<Execution to entire Web application>
Next, a configuration and a processing flow for causing the entire Web application to execute the regression test and the security diagnostic test of the present embodiment will be described. The web application is, for example, a site that enables online shopping, a so-called web mail that provides an interface for reading electronic mail with a browser, and the like. A web application provides a user with a plurality of web pages, and the web pages provided may differ depending on conditions. Therefore, there may be a plurality of Web pages and transmission destination URLs that are timings for sending an HTTP request accompanying a security diagnostic test to a Web application. In the present embodiment, as shown in the following flow, since the Web page and URL transition information that is the timing of sending the HTTP request is acquired from the regression test script, it is possible to execute the security diagnosis test on each Web page of the Web application. it can.

本実施形態の回帰テストとセキュリティ診断テストをWebアプリケーション全体に実行処理させるための処理の流れを図3及び図4に示す。   3 and 4 show the flow of processing for causing the entire Web application to execute the regression test and security diagnostic test of this embodiment.

S101.セキュリティ診断装置10にて、制御部14は、(セキュリティ診断装置10に接続されたキーボードやマウス、または、ネットワーク20経由で接続された診断者端末から)入力部12に、診断者から回帰テスト用スクリプトが入力されると、回帰テスト用スクリプトを記憶部13に記憶する。   S101. In the security diagnostic device 10, the control unit 14 sends a regression test from the diagnostician to the input unit 12 (from a keyboard or mouse connected to the security diagnostic device 10 or a diagnostician terminal connected via the network 20). When the script is input, the regression test script is stored in the storage unit 13.

S102.回帰テスト実行手段16は、入力部12に、診断者もしくはタイマー(不図示)から、回帰テストの実行命令が入力されると、記憶部13から回帰テスト用スクリプトを読み出す。   S102. The regression test execution means 16 reads a regression test script from the storage unit 13 when a regression test execution command is input to the input unit 12 from a diagnostician or a timer (not shown).

S103.回帰テスト実行手段16は、回帰テスト用スクリプトが有する各スクリプトを基に、HTTPリクエストを生成し、生成したHTTPリクエストをHTTPリクエスト送信手段19に提供する。   S103. The regression test execution unit 16 generates an HTTP request based on each script included in the regression test script, and provides the generated HTTP request to the HTTP request transmission unit 19.

S104.HTTPリクエスト送信手段19は、回帰テスト実行手段16で生成したHTTPリクエストをネットワーク20を介して診断対象Webサーバ21に送信する。   S104. The HTTP request transmission unit 19 transmits the HTTP request generated by the regression test execution unit 16 to the diagnosis target Web server 21 via the network 20.

S105.その後、HTTPレスポンス受信手段18は、ネットワーク20を介して診断対象Webサーバ21から受信したレスポンスを回帰テスト実行手段16に提供する。   S105. Thereafter, the HTTP response receiving unit 18 provides the response received from the diagnosis target Web server 21 via the network 20 to the regression test executing unit 16.

S106.回帰テスト実行手段16は、HTTPリクエストに対する診断対象Webサーバ21からのレスポンスが、回帰テスト用スクリプトに記載されたレスポンスに合致しているか確認し、その確認結果を出力部11に提供する。確認結果には、スクリプト中の各「確認」に対して、「合致」(「存在する」も含まれる)なら「正常」が、「不一致」(「存在しない」も含まれる)なら「異常」がページアドレスとリクエストに対応付けて出力される。   S106. The regression test execution means 16 confirms whether the response from the diagnosis target web server 21 to the HTTP request matches the response described in the regression test script, and provides the confirmation result to the output unit 11. The confirmation result indicates that each “confirmation” in the script is “normal” if “match” (including “exists”), and “abnormal” if it does not match (including “does not exist”). Is output in association with the page address and the request.

S107.出力部11は確認結果を(セキュリティ診断装置10に接続されたモニタまたはネットワーク20経由で接続された診断者端末のモニタ)画面に表示する。   S107. The output unit 11 displays the confirmation result on a screen (a monitor connected to the security diagnostic device 10 or a monitor of a diagnostician terminal connected via the network 20).

S108.回帰テスト実行手段16は、回帰テスト用スクリプトが有する全てのスクリプトが処理されるまで、S103に戻って繰り返す。全てのスクリプトが処理されたら、終了する。   S108. The regression test execution means 16 returns to S103 and repeats until all the scripts included in the regression test script are processed. When all scripts have been processed, exit.

S109.また、セキュリティ診断テスト実行手段15は、入力部12に、診断者もしくはタイマー(不図示)から、セキュリティ診断テストの実行命令が入力されると、記憶部13から回帰テスト用スクリプトを読み込み、当該スクリプトからページ遷移スクリプトを抽出する。   S109. The security diagnostic test execution means 15 reads a regression test script from the storage unit 13 when a security diagnostic test execution instruction is input to the input unit 12 from a diagnostician or a timer (not shown). Extract page transition script from.

S110.セキュリティ診断テスト実行手段15は、抽出したページ遷移スクリプトの各スクリプトからHTTPリクエストを生成し、HTTPリクエスト送信手段19に提供する。   S110. The security diagnostic test execution means 15 generates an HTTP request from each script of the extracted page transition script and provides it to the HTTP request transmission means 19.

S111.HTTPリクエスト送信手段19は、セキュリティ診断テスト実行手段15で生成したHTTPリクエストをネットワークを介して診断対象Webサーバ21に送信する。   S111. The HTTP request transmission unit 19 transmits the HTTP request generated by the security diagnostic test execution unit 15 to the diagnosis target Web server 21 via the network.

S112.その後、HTTPレスポンス受信手段18は、ネットワーク20を介して診断対象Webサーバ21から受信したレスポンスをセキュリティ診断テスト実行手段15に提供する。   S112. Thereafter, the HTTP response receiving unit 18 provides the response received from the diagnosis target Web server 21 via the network 20 to the security diagnostic test executing unit 15.

S113.セキュリティ診断テスト実行手段15は、ページ遷移スクリプトのHTTPリクエストの診断対象Webサーバ21からのレスポンスが、回帰テスト用スクリプトに記載されたレスポンスに合致し、かつ、フォームへの入力ページと確認した場合、記憶部13に記憶されたセキュリティ診断用データを読み込み、セキュリティ診断用のHTTPリクエストを生成し、HTTPリクエスト送信手段19に提供する。   S113. When the response from the diagnosis target Web server 21 of the HTTP request of the page transition script matches the response described in the regression test script and is confirmed to be an input page to the form, the security diagnostic test execution means 15 The security diagnosis data stored in the storage unit 13 is read, an HTTP request for security diagnosis is generated, and provided to the HTTP request transmission means 19.

S114.HTTPリクエスト送信手段19は、セキュリティ診断テスト実行手段15で生成したHTTPリクエストをネットワーク20を介して診断対象Webサーバ21に送信する。   S114. The HTTP request transmission unit 19 transmits the HTTP request generated by the security diagnostic test execution unit 15 to the diagnosis target Web server 21 via the network 20.

S115.その後、HTTPレスポンス受信手段18は、ネットワーク20を介して診断対象Webサーバ21から受信したレスポンスをセキュリティ診断テスト実行手段15に提供する。   S115. Thereafter, the HTTP response receiving unit 18 provides the response received from the diagnosis target Web server 21 via the network 20 to the security diagnostic test executing unit 15.

S116.セキュリティ診断テスト実行手段15は、セキュリティ診断用のHTTPリクエストに対する診断対象Webサーバ21からのレスポンスが、セキュリティ診断用データに記載されたレスポンスに合致しているか確認し、その確認結果を出力部11に提供する。確認結果には、セキュリティ診断用データ中の各「確認」に対して、「合致」(例:「入力した値が間違っています」やエラー番号などの特定の語句や番号が「存在する」も含まれる)なら「正常」が、「不一致」(「存在しない」も含まれる)なら「異常」がページアドレスとリクエストに対応付けて出力される。   S116. The security diagnosis test execution means 15 confirms whether the response from the diagnosis target Web server 21 to the HTTP request for security diagnosis matches the response described in the security diagnosis data, and sends the confirmation result to the output unit 11. provide. In the confirmation result, for each “confirmation” in the data for security diagnosis, “match” (eg “entered value is incorrect” or error number etc.) “Normal” is output in association with the page address and the request, and “abnormal” is output in association with the request.

S117.出力部11は確認結果を(セキュリティ診断装置10に接続されたモニタまたはネットワーク20経由で接続された診断者端末のモニタ)画面に表示する。   S117. The output unit 11 displays the confirmation result on a screen (a monitor connected to the security diagnostic device 10 or a monitor of a diagnostician terminal connected via the network 20).

S118.セキュリティ診断テスト実行手段15は、回帰テスト用スクリプトから抽出したページ遷移スクリプトが全て処理されるまで、S110に戻って繰り返す。全てのスクリプトが処理されたら、終了する。   S118. The security diagnostic test execution means 15 returns to S110 and repeats until all the page transition scripts extracted from the regression test script are processed. When all scripts have been processed, exit.

<第2の実施形態>
第1の実施形態では、回帰テストを終了してから、セキュリティ診断テストを実行していたが、第2の実施形態では、回帰テストでページにフォームの入力を確認した度ごとにセキュリティ診断テストを実行する。その他の構成は同じでよい。
<Second Embodiment>
In the first embodiment, the security diagnostic test is executed after the regression test is completed. In the second embodiment, the security diagnostic test is performed every time the form input is confirmed on the page in the regression test. Run. Other configurations may be the same.

本実施形態の処理の流れを、図5に示す。   The processing flow of this embodiment is shown in FIG.

S201.セキュリティ診断装置10にて、制御部14は、(セキュリティ診断装置10に接続されたキーボードやマウス、または、ネットワーク経由で接続された診断者端末から)入力部12に、診断者から回帰テスト用スクリプトが入力されると、回帰テスト用スクリプトを記憶部13に記憶する。   S201. In the security diagnostic device 10, the control unit 14 sends a script for regression test from the diagnostician to the input unit 12 (from a keyboard or mouse connected to the security diagnostic device 10 or a diagnostician terminal connected via the network). Is input, the regression test script is stored in the storage unit 13.

S202.回帰テスト実行手段16は、入力部12に、診断者もしくはタイマー(不図示)から、回帰テストの実行命令が入力されると、記憶部13から回帰テスト用スクリプトを読み出す。   S202. The regression test execution means 16 reads a regression test script from the storage unit 13 when a regression test execution command is input to the input unit 12 from a diagnostician or a timer (not shown).

S203.回帰テスト実行手段16は、回帰テスト用スクリプトが有する各スクリプトを基に、HTTPリクエストを生成し、生成したHTTPリクエストをHTTPリクエスト送信手段19に提供する。   S203. The regression test execution unit 16 generates an HTTP request based on each script included in the regression test script, and provides the generated HTTP request to the HTTP request transmission unit 19.

S204.HTTPリクエスト送信手段19は、回帰テスト実行手段16で生成したHTTPリクエストをネットワーク20を介して診断対象Webサーバ21に送信する。   S204. The HTTP request transmission unit 19 transmits the HTTP request generated by the regression test execution unit 16 to the diagnosis target Web server 21 via the network 20.

S205.その後、HTTPリクエスト受信手段18は、ネットワーク20を介して診断対象Webサーバ21から受信したレスポンスを回帰テスト実行手段16に提供する。   S205. Thereafter, the HTTP request receiving unit 18 provides the response received from the diagnosis target Web server 21 via the network 20 to the regression test executing unit 16.

S206.回帰テスト実行手段16は、HTTPリクエストに対する診断対象Webサーバ21からのレスポンスが、回帰テスト用スクリプトに記載されたレスポンスに合致しているか確認し、その確認結果を出力部11に提供する。確認結果には、スクリプト中の各「確認」に対して、「合致」(「存在する」も含まれる)なら「正常」が、「不一致」(「存在しない」も含まれる)なら「異常」がページアドレスとリクエストに対応付けて出力される。   S206. The regression test execution means 16 confirms whether the response from the diagnosis target web server 21 to the HTTP request matches the response described in the regression test script, and provides the confirmation result to the output unit 11. The confirmation result indicates that each “confirmation” in the script is “normal” if “match” (including “exists”), and “abnormal” if it does not match (including “does not exist”). Is output in association with the page address and the request.

S207.また、回帰テスト実行手段16は、S205またはS206の際に、HTTPリクエストに対する診断対象Webサーバ21からのレスポンスが、フォームへの入力ページと確認した場合、セキュリティ診断テスト実行手段15に、セキュリティ診断テストの実行命令を出力する。   S207. Further, when the response from the diagnosis target Web server 21 to the HTTP request is confirmed as the input page to the form at S205 or S206, the regression test execution means 16 sends the security diagnosis test execution means 15 to the security diagnosis test execution means 15. The execution instruction is output.

S208.セキュリティ診断テスト実行手段15は、回帰テスト実行手段16から、セキュリティ診断テストの実行命令が入力されると、記憶部13に記憶されたセキュリティ診断用データを読み込み、セキュリティ診断用のHTTPリクエストを生成し、HTTPリクエスト送信手段19に提供する。   S208. When the execution instruction of the security diagnostic test is input from the regression test executing means 16, the security diagnostic test executing means 15 reads the data for security diagnosis stored in the storage unit 13 and generates an HTTP request for security diagnosis. To the HTTP request transmission means 19.

S209.HTTPリクエスト送信手段19は、セキュリティ診断テスト実行手段15で生成したHTTPリクエストをネットワーク20を介して診断対象Webサーバ21に送信する。   S209. The HTTP request transmission unit 19 transmits the HTTP request generated by the security diagnostic test execution unit 15 to the diagnosis target Web server 21 via the network 20.

S210.その後、HTTPレスポンス受信手段18は、ネットワーク20を介して診断対象Webサーバ21から受信したレスポンスをセキュリティ診断テスト実行手段15に提供する。   S210. Thereafter, the HTTP response receiving unit 18 provides the response received from the diagnosis target Web server 21 via the network 20 to the security diagnostic test executing unit 15.

S211.セキュリティ診断テスト実行手段15は、セキュリティ診断用のHTTPリクエストに対する診断対象Webサーバ21からのレスポンスが、セキュリティ診断用データに記載されたレスポンスに合致しているか確認し、その確認結果を出力部11に提供する。確認結果には、キュリティ診断用データ中の各「確認」に対して、「合致」(「存在する」も含まれる)なら「正常」が、「不一致」(「存在しない」も含まれる)なら「異常」がページアドレスとリクエストに対応付けて出力される。   S211. The security diagnosis test execution means 15 confirms whether the response from the diagnosis target Web server 21 to the HTTP request for security diagnosis matches the response described in the security diagnosis data, and sends the confirmation result to the output unit 11. provide. In the confirmation result, for each “confirmation” in the data for quality diagnosis, “normal” is indicated if “match” (including “existing”), and “non-match” (including “not existing”). “Abnormal” is output in association with the page address and the request.

S212.出力部11は確認結果を(セキュリティ診断装置10に接続されたモニタまたはネットワーク経由で接続された診断者端末のモニタ)画面に表示する。   S212. The output unit 11 displays the confirmation result on the screen (monitor connected to the security diagnostic apparatus 10 or monitor of the diagnostician terminal connected via the network) screen.

S213.回帰テスト実行手段16は、回帰テスト用スクリプトが有する全てのスクリプトが処理されるまで、S203に戻って繰り返す。全てのスクリプトが処理されたら、終了する。ここで、回帰テストとセキュリティ診断テストとの両方を実行するページについて、例えば、フォームへの入力ページに対して、セキュリティ診断テストを実行した結果、フォームへの入力ページ以外の別のページに遷移する場合がある。その場合は、フォームへの入力ページに戻ってから、他のセキュリティ診断テストを実行するか、全てのセキュリティ診断テストが終了していれば、回帰テストを実行する。また、回帰テストとセキュリティ診断テストとの両方を実行するページでは、回帰テストを実行してから、セキュリティ診断テストを実行しても良い。ただし、その際も、回帰テストで、別のページに遷移した場合は、元のページに戻ってから、セキュリティ診断テストを実行する。   S213. The regression test execution means 16 returns to S203 and repeats until all the scripts included in the regression test script are processed. When all scripts have been processed, exit. Here, for the page that executes both the regression test and the security diagnostic test, for example, as a result of executing the security diagnostic test on the input page to the form, the page transitions to another page other than the input page to the form. There is a case. In that case, after returning to the form input page, another security diagnostic test is executed, or if all security diagnostic tests are completed, a regression test is executed. Further, on the page that executes both the regression test and the security diagnostic test, the security diagnostic test may be executed after the regression test is executed. However, even in this case, if the regression test transits to another page, the security diagnostic test is executed after returning to the original page.

<上記実施形態の変形例>
図6と図7に、上記実施形態の変形実施例の構成を示す。
図6に示すように、セキュリティ診断システム1が、回帰テスト装置10aとセキュリティ診断テスト装置10bを有し、各装置に、出力部11、入力部12、記憶部13、制御部14、通信部17を備え、回帰テスト装置10aの制御部12には、回帰テキスト実行手段16を有し、セキュリティ診断テスト装置10bの制御部14には、セキュリティ診断テスト実行手段15を有するように構成してよく、上記実施形態と同等の効果が得られる。
<Modification of the above embodiment>
6 and 7 show a configuration of a modified example of the above embodiment.
As shown in FIG. 6, the security diagnostic system 1 has a regression test apparatus 10a and a security diagnostic test apparatus 10b. Each apparatus includes an output unit 11, an input unit 12, a storage unit 13, a control unit 14, and a communication unit 17. The control unit 12 of the regression test apparatus 10a includes a regression text execution unit 16, and the control unit 14 of the security diagnosis test apparatus 10b includes a security diagnosis test execution unit 15. The same effect as the above embodiment can be obtained.

この構成で、第1の実施形態のように、回帰テストを終了してから、セキュリティ診断テストを実行する場合、回帰テスト装置10aに回帰テストの実行命令が入力され、セキュリティ診断テスト装置10bに、セキュリティ診断テストの実行命令が入力され、それぞれの装置が独立にそれぞれのテストを実行するようにしてもよい。この場合、セキュリティ診断テスト装置10bの記憶部13にも、セキュリティ診断用データだけでなく、回帰テスト用スクリプトを記憶しておく。   In this configuration, when the security diagnostic test is executed after the regression test is completed as in the first embodiment, the regression test execution instruction is input to the regression test apparatus 10a, and the security diagnostic test apparatus 10b is A security diagnostic test execution instruction may be input, and each device may execute each test independently. In this case, not only the security diagnosis data but also the regression test script is stored in the storage unit 13 of the security diagnosis test apparatus 10b.

また、この構成で、第2の実施形態のように、回帰テストでページにフォームの入力などの既定の条件を確認したごとにセキュリティ診断テストを実行する場合、セキュリティ診断テスト装置10bが提供するAPI(Application Program Interface)を用いて、回帰テスト装置10aは、ページにフォームの入力などの既定の条件を確認すると、ネットワーク20を経由してセキュリティ診断テスト装置10bに実行命令を出し、セキュリティ診断テスト装置10bからセキュリティ診断テストの診断結果を受け取るようにしてもよい。   Further, with this configuration, when a security diagnostic test is executed every time a predetermined condition such as form input is confirmed on a page in a regression test as in the second embodiment, an API provided by the security diagnostic test apparatus 10b is provided. (Application Program Interface), when the regression test apparatus 10a confirms a predetermined condition such as form input on the page, it issues an execution command to the security diagnosis test apparatus 10b via the network 20, and the security diagnosis test apparatus The diagnostic result of the security diagnostic test may be received from 10b.

また、図7に示すように、上記変形例(図6)のセキュリティ診断システム1の回帰テスト装置10aとセキュリティ診断テスト装置10bが、ネットワーク20を介して接続する記憶部13を有する記憶装置22を備えたシステムとなるように構成してもよい。この場合、回帰テスト装置10aとセキュリティ診断テスト装置10bが、記憶部13を有する記憶装置22を共有するので、各装置がそれぞれ有する記憶部13を省くことができる。この構成の場合、回帰テスト装置10aとセキュリティ診断テスト装置10bが、回帰テスト用スクリプトのデータを共有することができるという効果がある。   Further, as shown in FIG. 7, a storage device 22 having a storage unit 13 to which the regression test device 10 a and the security diagnosis test device 10 b of the security diagnosis system 1 of the modified example (FIG. 6) are connected via a network 20 is provided. You may comprise so that it may become the system provided. In this case, since the regression test apparatus 10a and the security diagnosis test apparatus 10b share the storage device 22 having the storage unit 13, the storage unit 13 that each device has can be omitted. In the case of this configuration, there is an effect that the regression test apparatus 10a and the security diagnostic test apparatus 10b can share the data of the regression test script.

10 セキュリティ診断装置
11 出力部
12 入力部
13 記憶部
14 制御部
15 セキュリティ診断テスト実行手段
16 回帰テスト実行手段
17 通信部
18 HTTPレスポンス受信手段
19 HTTPリクエスト送信手段
20 ネットワーク
21 診断対象Webサーバ
22 記憶装置
DESCRIPTION OF SYMBOLS 10 Security diagnostic apparatus 11 Output part 12 Input part 13 Storage part 14 Control part 15 Security diagnostic test execution means 16 Regression test execution means 17 Communication part 18 HTTP response reception means 19 HTTP request transmission means 20 Network 21 Diagnosis target Web server 22 Storage apparatus

Claims (12)

Webサーバと通信するセキュリティ診断装置であって、
前記Webサーバが提供するWebアプリケーションに、リクエストを送り、レスポンスを得る通信部と、
回帰テスト用スクリプトと、セキュリティ診断用データとを記憶する記憶部と、
前記回帰テスト用スクリプトを基にリクエストを生成し、回帰テストを実行する回帰テスト実行手段と、
記セキュリティ診断用データを基に、異常情報を含むリクエストを生成し、セキュリティ診断テストを実行するセキュリティ診断テスト実行手段と、
を有し、
前記セキュリティ診断テスト実行手段は、前記回帰テスト用スクリプトからページを遷移するスクリプトを抽出し、ページを遷移するリクエストを生成し、遷移したページに前記セキュリティ診断テストを実行することを特徴とする、セキュリティ診断装置。
A security diagnostic device that communicates with a Web server,
A communication unit that sends a request to a Web application provided by the Web server and obtains a response;
A storage unit for storing a regression test script and security diagnosis data;
A regression test execution means for generating a request based on the regression test script and executing the regression test;
Before based on xenon Kyuriti diagnostic data, and security diagnostic test execution means generates a request to perform a security diagnostic tests involving abnormal information,
I have a,
The security diagnostic test execution means extracts a script for transitioning a page from the regression test script, generates a request for transitioning the page, and executes the security diagnostic test on the transitioned page. Diagnostic device.
前記セキュリティ診断テスト実行手段は、前記回帰テスト実行手段が、回帰テスト用スクリプトに基づいた回帰テストを全て行った後で、前記ページを遷移するリクエストを前記通信部から送信させ、遷移したページにセキュリティ診断テストを行うことを特徴とする、請求項1に記載のセキュリティ診断装置。 Said security diagnostic test execution means, the regression test execution means, after performing all the regression test based on the regression test script, a request to transition the page is transmitted from the communication unit, the transition of pages The security diagnostic apparatus according to claim 1, wherein a security diagnostic test is performed. Webサーバと通信するセキュリティ診断装置であって、A security diagnostic device that communicates with a Web server,
前記Webサーバが提供するWebアプリケーションに、リクエストを送り、レスポンスを得る通信部と、A communication unit that sends a request to a Web application provided by the Web server and obtains a response;
回帰テスト用スクリプトと、セキュリティ診断用データとを記憶する記憶部と、A storage unit for storing a regression test script and security diagnosis data;
前記回帰テスト用スクリプトを基にリクエストを生成し、回帰テストを実行する回帰テスト実行手段と、A regression test execution means for generating a request based on the regression test script and executing the regression test;
前記セキュリティ診断用データを基に、異常情報を含むリクエストを生成し、セキュリティ診断テストを実行するセキュリティ診断テスト実行手段と、Security diagnostic test execution means for generating a request including abnormality information based on the security diagnostic data and executing a security diagnostic test;
を有し、Have
前記セキュリティ診断テスト実行手段は、前記回帰テスト実行手段が前記回帰テスト用スクリプトに含まれるページを遷移するスクリプトを基に生成したリクエストにより遷移したページに、前記セキュリティ診断テストを実行することを特徴とする、セキュリティ診断装置。The security diagnostic test execution means executes the security diagnostic test on a page transitioned by a request generated by the regression test execution means based on a script for transitioning a page included in the regression test script. A security diagnostic device.
前記セキュリティ診断テスト実行手段は、前記回帰テスト実行手段が回帰テスト用スクリプトに基づいた回帰テストを一つ行うたびに、前記セキュリティ診断用データを用いて、セキュリティ診断テストを行い、その際、回帰テストで、別のページに遷移した場合は、元のページに戻ってからセキュリティ診断テストを行
ことを特徴とする、請求項に記載のセキュリティ診断装置。
Said security diagnostic test execution means, whenever said regression test execution means performs one regression test based on the regression test scripts, using the security diagnostic data, have rows of security diagnostic tests, in which, in regression testing, when a transition to another page, and wherein the intends row security diagnostic test after returning to the original page, security diagnostic apparatus according to claim 3.
前記回帰テスト用スクリプトは、ページを遷移するリクエストを生成するための遷移情報が含まれるページ遷移用スクリプトと、リクエストに対して前記Webアプリケーションが返すレスポンスの期待値とを含むことを特徴とする、請求項1からのいずれか1項に記載のセキュリティ診断装置。 The regression test script includes a page transition script including transition information for generating a request for transitioning a page, and an expected value of a response returned by the web application in response to the request. The security diagnostic apparatus of any one of Claim 1 to 4 . 前記回帰テスト実行手段は、リクエストに対して前記Webアプリケーションが返すレスポンスの期待値と、実際に返ったレスポンスとを比較して相違がある場合に、回帰テストのエラーを出力する
ことを特徴とする、請求項1からのいずれか1項に記載のセキュリティ診断装置。
The regression test execution means outputs a regression test error when there is a difference between an expected response value returned by the Web application in response to a request and a response actually returned. The security diagnostic apparatus according to any one of claims 1 to 5 .
前記セキュリティ診断テスト実行手段は、前記ページ遷移するスクリプトに基づくリクエストを前記Webサーバに送信して得られるレスポンスが、前記回帰テスト用スクリプトに記載されたレスポンスに合致し、かつ、フォーム入力があるページの場合に、セキュリティ診断テストを実行する
ことを特徴とする、請求項1からのいずれか1項に記載のセキュリティ診断装置。
It said security diagnostic test execution means, the response obtained by sending a request based on scripts that before the transition to Kipe over di to the Web server, match the response described in the regression test script and form The security diagnostic apparatus according to any one of claims 1 to 6 , wherein a security diagnostic test is executed when a page has an input.
Webサーバが提供するWebアプリケーションに、リクエストを送り、レスポンスを得る通信部と、
回帰テスト用スクリプトと、セキュリティ診断用データとを記憶する記憶部と、
前記回帰テスト用スクリプトを基にリクエストを生成し、回帰テストを実行する回帰テスト実行手段と、
記セキュリティ診断用データを基に、異常情報を含むリクエストを生成し、セキュリティ診断テストを実行するセキュリティ診断テスト実行手段と、
を有し、
前記セキュリティ診断テスト実行手段は、前記回帰テスト用スクリプトからページを遷移するスクリプトを抽出し、ページを遷移するリクエストを生成し、遷移したページに前記セキュリティ診断テストを実行することを特徴とする、セキュリティ診断システム。
A communication unit that sends a request to a Web application provided by the Web server and obtains a response;
A storage unit for storing a regression test script and security diagnosis data;
A regression test execution means for generating a request based on the regression test script and executing the regression test;
Before based on xenon Kyuriti diagnostic data, and security diagnostic test execution means generates a request to perform a security diagnostic tests involving abnormal information,
I have a,
Said security diagnostic test execution means, said extracting a script that changes the page from the regression test script to generate a request to transition the page, it characterized that you perform the security diagnostic tests transition pages, Security diagnostic system.
Webサーバが提供するWebアプリケーションに、リクエストを送り、レスポンスを得る通信部と、A communication unit that sends a request to a Web application provided by the Web server and obtains a response;
回帰テスト用スクリプトと、セキュリティ診断用データとを記憶する記憶部と、A storage unit for storing a regression test script and security diagnosis data;
前記回帰テスト用スクリプトを基にリクエストを生成し、回帰テストを実行する回帰テスト実行手段と、A regression test execution means for generating a request based on the regression test script and executing the regression test;
前記セキュリティ診断用データを基に、異常情報を含むリクエストを生成し、セキュリティ診断テストを実行するセキュリティ診断テスト実行手段と、Security diagnostic test execution means for generating a request including abnormality information based on the security diagnostic data and executing a security diagnostic test;
を有し、Have
前記セキュリティ診断テスト実行手段は、前記回帰テスト実行手段が前記回帰テスト用スクリプトに含まれるページを遷移するスクリプトを基に生成したリクエストにより遷移したページに、前記セキュリティ診断テストを実行することを特徴とする、セキュリティ診断システム。The security diagnostic test execution means executes the security diagnostic test on a page transitioned by a request generated by the regression test execution means based on a script for transitioning a page included in the regression test script. A security diagnostic system.
憶部に記憶された回帰テスト用スクリプトを基にリクエストを生成し、Webサーバが提供するWebアプリケーションに当該リクエストを送り、レスポンスを得る回帰テストを実行する回帰テスト実行ステップと、
前記回帰テスト用スクリプトからページを遷移するスクリプトを抽出し、ページを遷移するリクエストを生成し、Webサーバが提供するWebアプリケーションに当該リクエストを送るページ遷移ステップと、
前記記憶部に記憶されたセキュリティ診断用データを基に、異常情報を含むリクエストを生成し、遷移したページにセキュリティ診断テストを実行するセキュリティ診断テスト実行ステップと、
を有するセキュリティ診断方法。
Regression test script stored in serial憶部generating a request based on, sends the request to the Web application provided by the Web server, a regression test execution step of executing the regression tests to obtain a response,
A page transition step of extracting a script for page transition from the script for regression test, generating a request for page transition, and sending the request to a web application provided by a web server;
A security diagnostic test execution step for generating a request including abnormality information based on the security diagnostic data stored in the storage unit and executing a security diagnostic test on the transitioned page;
A security diagnostic method.
記憶部に記憶された回帰テスト用スクリプトを基にリクエストを生成し、Webサーバが提供するWebアプリケーションに当該リクエストを送り、レスポンスを得る回帰テストを実行する回帰テスト実行ステップと、A regression test execution step of generating a request based on the regression test script stored in the storage unit, sending the request to a web application provided by the web server, and executing a regression test to obtain a response;
前記記憶部に記憶されたセキュリティ診断用データを基に、異常情報を含むリクエストを生成し、前記回帰テスト実行ステップにて前記回帰テスト用スクリプトに含まれるページを遷移するスクリプトを基に生成したリクエストにより遷移したページに、セキュリティ診断テストを実行するセキュリティ診断テスト実行ステップと、Based on the security diagnosis data stored in the storage unit, a request including abnormality information is generated, and the request generated based on a script that transitions a page included in the regression test script in the regression test execution step. A security diagnostic test execution step for executing a security diagnostic test on the page transitioned by
を有するセキュリティ診断方法。A security diagnostic method.
Webサーバと通信するコンピュータに、
請求項10または11に記載の各ステップを実行させるセキュリティ診断プログラム。
On the computer that communicates with the Web server,
A security diagnosis program for executing the steps according to claim 10 or 11 .
JP2015062770A 2015-03-25 2015-03-25 Security diagnostic apparatus, system, method and program Active JP6224022B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015062770A JP6224022B2 (en) 2015-03-25 2015-03-25 Security diagnostic apparatus, system, method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015062770A JP6224022B2 (en) 2015-03-25 2015-03-25 Security diagnostic apparatus, system, method and program

Publications (2)

Publication Number Publication Date
JP2016184194A JP2016184194A (en) 2016-10-20
JP6224022B2 true JP6224022B2 (en) 2017-11-01

Family

ID=57242884

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015062770A Active JP6224022B2 (en) 2015-03-25 2015-03-25 Security diagnostic apparatus, system, method and program

Country Status (1)

Country Link
JP (1) JP6224022B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102514797B1 (en) * 2021-10-07 2023-03-29 한국과학기술원 Security analysis system and method based on negative testing for protocol implementation of lte device

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005284926A (en) * 2004-03-30 2005-10-13 Hitachi Software Eng Co Ltd Macro script processing program
JP5200719B2 (en) * 2008-07-15 2013-06-05 富士通株式会社 Web application inspection program, test execution device, and test execution method
JP2010267266A (en) * 2009-05-18 2010-11-25 Nst:Kk Test support device and test support method
WO2012104991A1 (en) * 2011-02-01 2012-08-09 株式会社 日立製作所 Program test method, program test system, and program
US9218268B2 (en) * 2011-10-28 2015-12-22 International Business Machines Corporation Testing transaction applications

Also Published As

Publication number Publication date
JP2016184194A (en) 2016-10-20

Similar Documents

Publication Publication Date Title
AU2019240583B2 (en) Detection and repair of broken single sign-on integration
US10242173B2 (en) OCR-based single sign-on
JP5466476B2 (en) Data processing system, method, and computer program for monitoring black box web application security scanning
US8020193B2 (en) Systems and methods for protecting web based applications from cross site request forgery attacks
US11405257B2 (en) System for centralized monitoring and control of IoT devices
CN103970882A (en) Method and device for rendering page
CN107888451B (en) Method and device for testing Web server
JP6436705B2 (en) Test execution device, test execution method, and computer program
JP6224022B2 (en) Security diagnostic apparatus, system, method and program
JP5585009B2 (en) Authentication assistant device and authentication system
KR101885615B1 (en) Method for generating attack character string and apparatus for the same
WO2022155685A1 (en) Web attack simulator
JP2006113993A (en) Test system for internet system
CN109558148B (en) Router plug-in installation method, device, equipment and storage medium
JP2010079431A (en) Information leakage prevention program
JP2016071397A (en) Test execution device, test execution method, and computer program
JP5435351B2 (en) Screen sequence confirmation device, screen sequence confirmation method and screen sequence confirmation program
JP7348698B1 (en) Systems, methods, and programs for automatically patrolling websites
JP6353759B2 (en) Test execution device, test execution method, and computer program
JP6221869B2 (en) Screen transition control method, screen transition control program, and screen transition control device
JP7344614B1 (en) Systems, methods, and programs for testing website vulnerabilities
CN114116619A (en) Method and system for defending file deletion vulnerability and computer equipment
JP2016066110A (en) Information processing apparatus, information processing apparatus control method and information processing apparatus control program
JP6350235B2 (en) Information processing apparatus, information processing apparatus control method, and information processing apparatus control program
CN114357467A (en) Unauthorized access vulnerability testing method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160715

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20161212

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170531

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170613

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170724

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171004

R150 Certificate of patent or registration of utility model

Ref document number: 6224022

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250