JP7390070B1 - ウェブサイトを検査するためのシステム、方法、及びプログラム - Google Patents

ウェブサイトを検査するためのシステム、方法、及びプログラム Download PDF

Info

Publication number
JP7390070B1
JP7390070B1 JP2022148858A JP2022148858A JP7390070B1 JP 7390070 B1 JP7390070 B1 JP 7390070B1 JP 2022148858 A JP2022148858 A JP 2022148858A JP 2022148858 A JP2022148858 A JP 2022148858A JP 7390070 B1 JP7390070 B1 JP 7390070B1
Authority
JP
Japan
Prior art keywords
screen
transition
website
inspecting
response
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
JP2022148858A
Other languages
English (en)
Other versions
JP2024043712A (ja
Inventor
俊春 杉山
真人 安西
Original Assignee
株式会社エーアイセキュリティラボ
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社エーアイセキュリティラボ filed Critical 株式会社エーアイセキュリティラボ
Priority to JP2022148858A priority Critical patent/JP7390070B1/ja
Priority to PCT/JP2023/029405 priority patent/WO2024062798A1/ja
Application granted granted Critical
Publication of JP7390070B1 publication Critical patent/JP7390070B1/ja
Publication of JP2024043712A publication Critical patent/JP2024043712A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • User Interface Of Digital Computer (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】 ウェブサイトの検査を支援する。【解決手段】本発明の一実施形態に係るウェブサイト検査サーバ10は、通信ネットワーク20を介して通信可能に接続されているユーザ端末30を操作するユーザに対して、当該ユーザによって指定されるウェブサイト22を検査するウェブサイト検査サービスを提供する。当該サーバ10は、検査対象のウェブサイト22を検査する際の画面遷移を設定し、当該画面遷移に関する情報を表示する所定画面において、当該画面遷移に含まれる画面が有する要素であって、その選択操作に応じた遷移が画面遷移に含まれない要素が、画面遷移に新たな遷移を追加可能な追加可能要素として表示されるから、設定された画面遷移の容易な修正が可能となる。【選択図】 図1

Description

本発明は、ウェブサイトを検査するためのシステム、方法、及びプログラムに関するものである。
従来、ウェブサイトを検査するための様々な技術が提案されている。例えば、下記特許文献1は、ウェブサイトのテストをより簡便に行えるように支援する技術を開示している。具体的には、当該文献には、ウェブサイトの複数の入力項目の各々の規約を推定し、推定された規約の各々に対応した入力値の集合を取得し、取得した入力値の集合から1つずつ要素を取り出して、複数の入力項目の各々に入力する要素の組を生成し、この結果、ほぼ自動的に、ウェブサイトのテスト用の入力値の組を作成できることが開示されている。
特開2019-191689号公報
しかしながら、上述した従来の技術は、ウェブサイトの検査(テスト)用の入力値の作成を支援し得るが、ウェブサイトを検査する際には、入力値のみならず、当該ウェブサイトの検査のシナリオを設定する必要がある。例えば、ユーザによって手動で行われるウェブブラウザに対する操作を記録して、検査のシナリオとしての画面遷移を設定することも行われているが、設定された画面遷移の修正(例えば、一部の画面の追加等)については、改善の余地があった。
本発明の実施形態は、ウェブサイトの検査を支援することを目的の一つとする。本発明の実施形態の他の目的は、本明細書全体を参照することにより明らかとなる。
本発明の一実施形態に係るシステムは、1又は複数のコンピュータプロセッサを備え、ウェブサイトを検査するためのシステムであって、前記1又は複数のコンピュータプロセッサは、対象ウェブサイトを検査する際の画面遷移であって、第1画面が有する第1要素の選択操作に応じた第2画面への遷移を含む前記画面遷移を設定するステップと、前記画面遷移に従って、前記対象ウェブサイトを検査するステップと、前記画面遷移に関する情報を表示する所定画面を出力するステップと、を実行し、前記所定画面は、前記第1画面が有する第2要素であって、選択操作に応じた第3画面への遷移が前記画面遷移に含まれない前記第2要素を、選択操作に応じた新たな遷移を前記画面遷移に追加可能な追加可能要素として表示する。
本発明の一実施形態に係る方法は、1又は複数のコンピュータによって実行され、ウェブサイトを検査するための方法であって、対象ウェブサイトを検査する際の画面遷移であって、第1画面が有する第1要素の選択操作に応じた第2画面への遷移を含む前記画面遷移を設定するステップと、前記画面遷移に従って、前記対象ウェブサイトを検査するステップと、前記画面遷移に関する情報を表示する所定画面を出力するステップと、を備え、前記所定画面は、前記第1画面が有する第2要素であって、選択操作に応じた第3画面への遷移が前記画面遷移に含まれない前記第2要素を、選択操作に応じた新たな遷移を前記画面遷移に追加可能な追加可能要素として表示する。
本発明の一実施形態に係るプログラムは、ウェブサイトを検査するためのプログラムであって、1又は複数のコンピュータに、対象ウェブサイトを検査する際の画面遷移であって、第1画面が有する第1要素の選択操作に応じた第2画面への遷移を含む前記画面遷移を設定するステップと、前記画面遷移に従って、前記対象ウェブサイトを検査するステップと、前記画面遷移に関する情報を表示する所定画面を出力するステップと、を実行させ、前記所定画面は、前記第1画面が有する第2要素であって、選択操作に応じた第3画面への遷移が前記画面遷移に含まれない前記第2要素を、選択操作に応じた新たな遷移を前記画面遷移に追加可能な追加可能要素として表示する。
本発明の様々な実施形態は、ウェブサイトの検査を支援する。
本発明の一実施形態に係るウェブサイト検査サーバ10を含むネットワークの構成を概略的に示す構成図。 検査管理テーブル152が管理する情報を例示する図。 画面管理テーブル154が管理する情報を例示する図。 要素管理テーブル156が管理する情報を例示する図。 ウェブサイトの脆弱性を検査する際にウェブサイト検査サーバ10が実行する処理を例示するフローチャート。 対象サイト設定画面50を例示する図。 ウェブサイトの検査のための画面遷移を設定する際にウェブサイト検査サーバ10が実行する処理を例示するフローチャート。 検査結果一覧画面60を例示する図。 巡回結果確認画面70を例示する図。 画面遷移図200を例示する図。 画面オブジェクト202の詳細を例示する図。 再巡回設定画面80を例示する図。 スクリーンショット画面90を例示する図。 検査結果確認画面210を例示する図。
以下、図面を参照しながら、本発明の実施形態について説明する。各図面において、同一の又は類似する構成要素に対しては同一の参照符号が付され得る。
図1は、本発明の一実施形態に係るウェブサイト検査サーバ10を含むネットワークの構成を概略的に示す構成図である。サーバ10は、図示するように、インターネット等の通信ネットワーク20を介してユーザ端末30と通信可能に接続されている。図1においては、1つのユーザ端末30のみが図示されているが、サーバ10は、複数のユーザ端末30と通信可能に接続されている。ウェブサイト検査サーバ10は、ユーザ端末30を操作するユーザに対して、当該ユーザによって指定されるウェブサイト22を検査するウェブサイト検査サービスを提供する。ウェブサイト検査サーバ10は、本発明のシステムの全部又は一部を実装する装置の一例である。
まず、ウェブサイト検査サーバ10のハードウェア構成について説明する。ウェブサイト検査サーバ10は、一般的なコンピュータとして構成されており、図1に示すように、コンピュータプロセッサ11と、メインメモリ12と、入出力I/F13と、通信I/F14と、ストレージ(記憶装置)15とを備え、これらの各構成要素が図示しないバス等を介して電気的に接続されている。
コンピュータプロセッサ11は、CPU又はGPU等として構成され、ストレージ15等に記憶されている様々なプログラムをメインメモリ12に読み込んで、当該プログラムに含まれる各種の命令を実行する。メインメモリ12は、例えば、DRAM等によって構成される。
入出力I/F13は、操作者等との間で情報をやり取りするための各種の入出力装置を含む。入出力I/F13は、例えば、キーボード、ポインティングデバイス(例えば、マウス、タッチパネル等)等の情報入力装置、マイクロフォン等の音声入力装置、カメラ等の画像入力装置を含む。また、入出力I/F13は、ディスプレイ等の画像出力装置、スピーカー等の音声出力装置を含む。
通信I/F14は、ネットワークアダプタ等のハードウェア、各種の通信用ソフトウェア、又はこれらの組み合わせとして実装され、通信ネットワーク20等を介した有線又は無線の通信を実現できるように構成されている。
ストレージ15は、例えば、磁気ディスク又はフラッシュメモリ等によって構成される。ストレージ15は、オペレーティングシステムを含む様々なプログラム及び各種データ等を記憶する。例えば、ストレージ15は、図1に示すように、個別の検査に関する情報を管理する検査管理テーブル152と、検査対象のウェブサイトの画面に関する情報を管理する画面管理テーブル154と、当該画面(ウェブページ)に含まれる要素に関する情報を管理する要素管理テーブル156とを有する。また、例えば、ストレージ15は、本発明の一実施形態に係るサーバ側プログラム40を記憶する。当該プログラム40は、サーバ10を、ウェブサイト検査サービスを提供するためのシステムの全部又は一部として機能させるためのプログラムである。サーバ側プログラム40の少なくとも一部は、後述する端末側プログラム42を介して、ユーザ端末30側において実行されるように構成され得る。
本実施形態において、ウェブサイト検査サーバ10は、それぞれが上述したハードウェア構成を有する複数のコンピュータを用いて構成され得る。例えば、サーバ10は、複数のサーバ装置によって構成される。
このように構成されたウェブサイト検査サーバ10は、ウェブサーバ及びアプリケーションサーバとしての機能を有するように構成することができ、ユーザ端末30からの要求に応答して各種の処理を実行し、当該処理の結果に応じた画面データ(例えば、HTMLデータ)及び制御データ等をユーザ端末30に対して送信する。ユーザ端末30では、受信したデータに基づくウェブページ又はその他の画面が出力される。
次に、ユーザ端末30のハードウェア構成について説明する。ユーザ端末30は、一般的なコンピュータとして構成されており、図1に示すように、コンピュータプロセッサ31と、メインメモリ32と、入出力I/F33と、通信I/F34と、ストレージ(記憶装置)35とを備え、これらの各構成要素が図示しないバス等を介して電気的に接続されている。
コンピュータプロセッサ31は、CPU又はGPU等として構成され、ストレージ35等に記憶されている様々なプログラムをメインメモリ32に読み込んで、当該プログラムに含まれる各種の命令を実行する。メインメモリ32は、例えば、DRAM等によって構成される。
入出力I/F33は、操作者等との間で情報をやり取りするための各種の入出力装置を含む。入出力I/F33は、例えば、キーボード、ポインティングデバイス(例えば、マウス、タッチパネル等)等の情報入力装置、マイクロフォン等の音声入力装置、カメラ等の画像入力装置を含む。また、入出力I/F33は、ディスプレイ等の画像出力装置、スピーカー等の音声出力装置を含む。
通信I/F34は、ネットワークアダプタ等のハードウェア、各種の通信用ソフトウェア、及びこれらの組み合わせとして実装され、通信ネットワーク20等を介した有線又は無線の通信を実現できるように構成されている。
ストレージ35は、例えば、磁気ディスク又はフラッシュメモリ等によって構成される。ストレージ35は、オペレーティングシステムを含む様々なプログラム及び各種データ等を記憶する。ストレージ35が記憶するプログラムは、アプリケーションマーケット等からダウンロードされてインストールされ得る。また、ストレージ35は、上述した端末側プログラム42を記憶する。当該プログラム42は、ウェブブラウザ、又は、その他のアプリケーション(例えば、本実施形態のウェブサイト検査サービス用のユーザ端末側アプリケーション等)として構成され、上述したように、サーバ側プログラム40の少なくとも一部を実行するように構成され得る。
本実施形態において、ユーザ端末30は、スマートフォン、タブレット端末、又はパーソナルコンピュータ等として構成され得る。
このように構成されたユーザ端末30を操作するユーザは、ストレージ35等にインストールされている端末側プログラム42を介したサーバ10との通信を実行することによって、当該サーバ10が提供するウェブサイト検査サービスを利用することができる。
次に、このように構成されたウェブサイト検査サーバ10が有する機能について説明する。サーバ10のコンピュータプロセッサ11は、図1に示すように、メインメモリ12に読み込まれたプログラム(例えば、サーバ側プログラム40の少なくとも一部)に含まれる命令を実行することによって、管理機能制御部112、画面遷移設定部114、及び、ウェブサイト検査部116として機能するように構成されている。
管理機能制御部112は、ウェブサイト検査サービスの管理機能の制御に関する様々な処理を実行するように構成されている。例えば、管理機能制御部112は、当該管理機能に関する様々な画面の画面データ及び制御データ等をユーザ端末30に対して送信し、ユーザ端末30において出力される当該画面を介したユーザによる操作入力に応答して様々な処理を実行し、当該処理の結果に応じた画面データ及び制御データ等をユーザ端末30に対して送信する。管理機能制御部112によって制御される管理機能は、例えば、ログイン処理(ユーザ認証)、課金制御、及び、ユーザアカウントの管理等を含む。
画面遷移設定部114は、ウェブサイト22を検査する際の画面遷移の設定に関する様々な処理を実行するように構成されている。当該画面遷移は、例えば、当該ウェブサイト22を構成する特定のウェブページに対応する第1画面が有する第1要素の選択操作に応じた第2画面への遷移を含む。こうした要素は、ウェブページを構成する画面構成要素のうち、その選択操作に応じて遷移が発生する要素と言うこともでき、例えば、リンク又はスクリプト等が設定された様々な種類のオブジェクト(ボタン、画像、及び、テキスト等)を含む。画面遷移は、検査のシナリオと言うこともでき、検査の範囲を示し得る。
ウェブサイト検査部116は、ウェブサイト22の検査に関する様々な処理を実行するように構成されている。本実施形態において、ウェブサイト検査部116は、設定された画面遷移に従って、ウェブサイト22を検査するように構成されている。例えば、ウェブサイト検査部116は、ウェブブラウザを起動してウェブサイト22の特定のウェブページ(例えば、画面遷移の始点となる画面に対応するウェブページ等)にアクセスし、その後、設定された画面遷移に従って、各画面が有する要素の選択操作を行って、対応する画面へと遷移する。そして、各画面においては、予め定められた検査項目を検査するための様々なリクエストをウェブサイト22に対して送信し、当該ウェブサイト22から受信したレスポンスの内容に基づいて、対応する検査項目について判断する。
本実施形態において、ウェブサイト22の検査は、様々な種類の検査を含む。例えば、当該検査は、ウェブサイト22の脆弱性の検査(診断)を含む。また、例えば、当該検査は、ウェブサイト22の性能、機能、その他の検査を含む。
本実施形態において、画面遷移設定部114は、設定された画面遷移に関する情報を表示する所定画面を出力するように構成されている。例えば、画面遷移設定部114は、当該画面の画面データ及び制御データ等をユーザ端末30に対して送信し、ユーザ端末30において、当該所定画面が出力される。例えば、所定画面は、画面遷移の少なくとも一部に関する情報を表示し、又は、当該画面遷移に含まれる1の画面に関する情報を表示する。
本実施形態において、上記所定画面は、設定された画面遷移に含まれる第1画面が有する第2要素であって、その選択操作に応じた第3画面への遷移が当該画面遷移に含まれない当該第2要素を、選択操作に応じた新たな遷移を画面遷移に追加可能な追加可能要素として表示するように構成されている。例えば、所定画面は、当該第2要素が追加可能要素であることが識別可能となるように、当該第2要素を表示する。
このように、本実施形態におけるウェブサイト検査サーバ10は、検査対象のウェブサイト22を検査する際の画面遷移を設定し、当該画面遷移に関する情報を表示する所定画面において、当該画面遷移に含まれる画面が有する要素であって、その選択操作に応じた遷移が画面遷移に含まれない要素が、画面遷移に新たな遷移を追加可能な追加可能要素として表示されるから、設定された画面遷移の容易な修正が可能となる。このように、ウェブサイト検査サーバ10は、ウェブサイトの検査を支援する。
本実施形態において、上記所定画面は、様々な態様で、上述した追加可能要素を表示するように構成することができる。例えば、所定画面は、追加可能要素であることを示す所定情報を関連付けて、追加可能要素を表示する。例えば、所定画面は、当該所定情報としての所定オブジェクトが追加可能要素の位置に配置された、対応する画面(画面キャプチャを含む。)を表示するように構成される。所定オブジェクトは、様々な種類のオブジェクトとして構成することができ、例えば、ボックス、直線、円、又は、その他の形状を有するオブジェクトとして構成することができる。こうした構成は、画面に配置される所定オブジェクト等の情報によって、追加可能要素を示すことを可能とする。
本実施形態において、画面遷移設定部114は、設定された画面遷移を更新(修正)するように構成され得る。例えば、画面遷移設定部114は、上記所定画面を介した、追加可能要素の特定を伴う指示に応答して、当該特定された要素の選択操作に応じた遷移を画面遷移に追加する。この場合、画面遷移設定部114は、当該特定された要素の選択操作に応じた遷移の画面遷移への追加に応じて、追加された遷移の遷移先の画面が有する要素の選択操作に応じた新たな画面への更なる遷移を画面遷移に追加するように構成することもできる。こうした構成は、設定された画面遷移のより一層の容易な修正を可能とする。
本実施形態において、ウェブサイト検査部116は、上記所定画面を介した、追加可能要素の特定を伴う指示に応答して、当該特定された要素の選択操作に応じて遷移する遷移先の画面を検査するように構成され得る。こうした構成は、追加可能要素の選択操作に応じた遷移先の画面に対する個別の検査を可能とする。
本実施形態において、画面遷移設定部114は、ウェブブラウザの自動操作によってウェブサイト22の複数の画面を巡回し、これらの複数の画面の少なくとも一部を含む画面遷移を設定するように構成され得る。この場合、画面遷移設定部114は、巡回した複数の画面のうちの重複する画面が除外されるように、画面遷移を設定するように構成され得る。こうした画面の重複は、例えば、2つの画面間の類似度に少なくとも基づいて判断される。こうした構成は、ウェブブラウザの自動操作によって巡回された複数の画面の一部(例えば、重複する画面が除外された画面等)を含む画面遷移の設定を可能とする。
次に、このような機能を有する本実施形態のウェブサイト検査サーバ10の一態様としての具体例について説明する。この具体例におけるサーバ10は、ウェブサイト検査サービスの一例として、ウェブサイトの脆弱性を検査する脆弱性検査サービスを提供する。
まず、この例において、各テーブルが管理する情報について説明する。図2は、この例において、検査管理テーブル152が管理する情報を例示する。この例における検査管理テーブル152は、個別の検査の案件に関する情報を管理し、図示するように、個別の検査(案件)を識別する「検査ID」に対応付けて、検査対象のウェブサイトの検査の起点となるトップ画面(トップページ)のURLである「トップ画面URL」、画面遷移の更新日時である「画面遷移更新日時」、検査の実行日時である「検査実行日時」等の情報を管理する。
図3は、この例において、画面管理テーブル154が管理する情報を例示する。この例における画面管理テーブル154は、検査対象のウェブサイトの複数の画面のうち、設定された画面遷移に含まれる画面に関する情報を管理し、図示するように、個別の検査を識別する「検査ID」、及び、検査対象のウェブサイトにおいて個別の画面を識別する「画面ID」の組合せに対応付けて、当該画面のURLである「画面URL」、当該画面の画面キャプチャに関する情報である「画面キャプチャ情報」、当該画面の遷移元の画面を識別する「遷移元画面ID」、当該画面の遷移元の要素(当該画面に遷移する際にクリックされた要素)を識別する「遷移元要素ID」、当該画面の検査結果に関する情報である「検査結果情報」等の情報を管理する。
図4は、この例において、要素管理テーブル156が管理する情報を例示する。この例における要素管理テーブル156は、検査対象のウェブサイトの各画面(ウェブページ)に含まれる複数の遷移対象要素の各々に関する情報を管理し、図示するように、個別の検査を識別する「検査ID」、検査対象のウェブサイトにおいて個別の画面を識別する「画面ID」、及び、当該画面において個別の要素を識別する「要素ID」の組合せに対応付けて、当該要素のラベルに関する情報である「ラベル情報」、当該要素の画面(ウェブページ)上の座標位置に関する情報である「座標位置情報」、当該要素の構造上の位置に関する情報(DOM情報)である「構造位置情報」、画面遷移における当該要素に対するクリック操作の要否を示す「クリック要否フラグ」、当該要素に対するクリック操作の際に必要な入力項目に関する情報である「必須入力項目情報」等の情報を管理する。
以上、この例において、各テーブルが管理する情報について説明した。次に、この例において、ウェブサイト検査サーバ10が実行する処理、及び、ユーザ端末30において出力される画面等について説明する。
図5は、この例において、ウェブサイトの脆弱性を検査する際にウェブサイト検査サーバ10が実行する処理を例示するフローチャートである。サーバ10は、まず、図示するように、脆弱性を検査する対象のウェブサイトの設定を受け付ける(ステップS100)。こうした設定の受付は、ユーザ端末30において出力される画面を介して行われる。
図6は、ユーザ端末30において出力される、検査対象のウェブサイトの設定を受け付けるための対象サイト設定画面50を例示する。当該画面50は、図示するように、検査対象のウェブサイトのトップ画面(トップページ)のURLを入力するためのURL入力領域52と、当該ウェブサイトへのログインに用いられるログインIDを入力するためのログインID入力領域54と、当該ウェブサイトへのログインに用いられるパスワードを入力するためのパスワード入力領域56と、「巡回・検査開始」というテキストが付加された続行ボタン58とを有する。このように、この例では、検査対象のウェブサイトの設定情報として、トップ画面のURL、ログインID、及び、パスワードが受け付けられる。
続行ボタン58は、検査対象のウェブサイトの画面の巡回(画面遷移の設定)及び検査を指示するためのオブジェクトである。図5のフローチャートに戻り、続行ボタン58が選択されると、サーバ10は、次に、検査対象のウェブサイトを巡回し、検査の際の画面遷移を設定する(ステップS110)。
図7は、ウェブサイトの検査のための画面遷移を設定する際にサーバ10が実行する処理を例示するフローチャートである。サーバ10は、まず、図示するように、検査対象のウェブサイトのトップ画面にアクセスし、画面遷移に追加する(ステップS200)。具体的には、ウェブブラウザが起動され、対象サイト設定画面50を介して入力されたURLによって特定されるトップ画面へのアクセスが行われる。また、画面管理テーブル154において、当該トップ画面に関する情報が登録され、具体的には、検査ID、画面ID,画面URL、及び、画面キャプチャ情報が設定される。
続いて、サーバ10は、トップ画面に含まれる複数の遷移対象要素を特定して登録する(ステップS210)。具体的には、リンク又はスクリプト等が設定された画面構成要素(ボタン、画像、及び、テキスト等)が特定され、要素管理テーブル156において、各要素に関する情報が登録される。具体的には、検査ID、画面ID、要素ID、ラベル情報、座標位置情報、構造位置情報、及び、クリック要否フラグが設定される。この時点では、クリック要否フラグには、クリック操作が必要であることを示す値が設定される。
こうして遷移対象要素が登録されると、次に、サーバ10は、登録された要素をクリックし(ステップS220)、クリックに応じた遷移先の画面が、画面遷移への追加対象の画面である場合には(ステップS230においてYES)、当該遷移先の画面への遷移を画面遷移に追加する(ステップS240)。具体的には、画面管理テーブル154において、遷移先の画面に関する情報が登録され、つまり、検査ID、画面ID,画面URL、画面キャプチャ情報、遷移元画面ID、及び、遷移元要素IDが設定される。なお、遷移元画面IDには、遷移元であるトップ画面を識別する画面IDが設定され、遷移元要素IDには、クリックされた要素を識別する要素IDが設定される。
また、この例では、遷移対象要素をクリックする際に、必須入力項目が存在する場合には、予め準備されている入力値(対象サイト設定画面50を介して入力されたログインID及びパスワードの組合せを含む。)が自動的に設定される。自動的に設定された入力値は、要素管理テーブル156において、対応する要素の必須入力項目情報に登録される。
一方、クリックに応じた遷移先の画面が、画面遷移への追加対象外の画面である場合には(ステップS230においてNO)、当該画面への遷移は画面遷移に追加されず、対応する要素をクリック不要に設定する(ステップS250)。具体的には、要素管理テーブル156において、対応する要素のクリック要否フラグに対して、クリックが不要であることを示す値が設定される。
ここで、この例では、以下の2つの画面は、画面遷移への追加対象外の画面と判断される。
(1)検査対象のウェブサイトの外部のサイトの画面
(2)既に画面遷移に含まれる画面と重複する画面
(2)に関して、2つの画面間の重複は、この例では、これらの画面間の類似度に基づいて判断され、具体的には、当該類似度が閾値以上である場合に、2つの画面が重複すると判断される。類似度は、様々な基準を用いて算出することができ、例えば、画面(ページ)の内容、URL、及び、URLパラメータの比較に基づいて算出することができる。
そして、トップ画面に含まれる複数の遷移対象要素の全てについて、クリックに応じた遷移先画面への遷移の画面遷移への追加、又は、クリック不要の設定が行われると(ステップS260においてNO)、次に、サーバ10は、画面遷移に追加された各画面について、同様に、当該画面に含まれる複数の遷移対象要素の特定及び登録(ステップS280)、並びに、各要素のクリックに応じた遷移の画面遷移への追加、又は、クリック不要の設定(ステップS220~S260)を行う。こうした処理は、画面遷移への新たな画面の追加がなくなるまで(ステップS270においてNO)の間、繰り返し行われる。
図5のフローチャートに戻り、こうして画面遷移が設定されると、続いて、サーバ10は、設定された画面遷移に従って、脆弱性の検査を実行する(ステップS120)。具体的には、ウェブブラウザを起動し、画面管理テーブル154及び要素管理テーブル156において管理されている情報に従って、画面遷移に含まれる各画面を順に訪れて、予め定められた脆弱性の検査項目の検査を行う。脆弱性の検査項目は、例えば、OWASP Top10において規定されている項目を含む。検査結果は、画面管理テーブル154の検査結果情報に登録される。
図8は、ユーザ端末30において出力される検査結果一覧画面60を例示する。当該画面60には、図示するように、各々が個別の検査(案件)に対応する1又は複数の個別表示領域62が上下方向に並べて配置される。
個別表示領域62は、検査に関する情報(検査対象のウェブサイトのトップ画面に関する情報、画面遷移の更新日時、検査実行日時等)を表示し、その右側端部において、画面遷移図ボタン621と、検査結果ボタン622とを有する。
画面遷移図ボタン621は、ウェブサイトの複数の画面の巡回結果として設定された画面遷移を、画面遷移図の形式で表示するためのオブジェクトである。当該ボタン621が選択されると、図9に例示する巡回結果確認画面70が出力される。当該画面70は、図示するように、画面遷移図を表示する画面遷移図表示領域72と、戻るボタン74とを有する。
図10は、画面遷移図表示領域72において表示される画面遷移図200を例示する。画面遷移図200は、図示するように、画面遷移に含まれる各画面に対応する画面オブジェクト202と、2つの画面オブジェクト202を結ぶ連結オブジェクト204とを有する。画面オブジェクト202は、対応する画面の画面キャプチャを表示する。
画面遷移図200において、最も左側に位置する画面オブジェクト202は、検査対象のウェブサイトの検査の起点となるトップ画面に対応しており、当該トップ画面の画面オブジェクト202と、当該トップ画面から遷移する遷移先画面の画面オブジェクト202とが、連結オブジェクト204によって連結される。同様に、遷移元及び遷移先の関係を有する2つの画面オブジェクト202が、連結オブジェクト204によって連結される。こうした画面遷移に含まれる画面間の関係は、画面管理テーブル154において管理されている。
連結オブジェクト204は、円の形状を有する左側端部が、遷移元画面の画面オブジェクト202における遷移元要素(遷移の際にクリックされた要素)の位置に配置される。
図10は、画面オブジェクト202の詳細を例示する。画面オブジェクト202は、図示するように、その下端部にメニュー領域206を有する。当該領域206には、拡大メニューアイコン2061、再巡回メニューアイコン2063、及び、削除メニューアイコン2065が配置されている。拡大メニューアイコン2061は、画面オブジェクト202を拡大表示するためのオブジェクトであり、削除メニューアイコン2065は、画面オブジェクト202に対応する画面を、画面遷移から削除するためのオブジェクトである。
再巡回メニューアイコン2063は、新たな遷移を画面遷移に追加するためのオブジェクトである。当該アイコン2063が選択されると、図12に例示する再巡回設定画面80(所定画面)が出力される。当該画面80は、図示するように、新たにクリックの対象とする(再巡回する)遷移対象要素を指定するための再巡回要素指定領域82と、「スクリーンショットから指定」というテキストが付加されたスクリーンショット指定ボタン84と、再巡回ボタン86とを有する。再巡回要素指定領域82は、ドロップダウンリストの形式で、対応する画面(再巡回メニューアイコン2063が選択された画面オブジェクト202に対応する画面)に含まれる遷移対象要素のうち、クリック不要に設定されている(未巡回の)要素(要素管理テーブル156において管理されている。)の中から1の要素を選択できるように構成されている。当該領域82において、各遷移対象要素は、ラベル情報、及び、構造位置情報(DOM情報)によって特定(表示)される。
スクリーンショット指定ボタン84は、対応する画面の画面キャプチャ(スクリーンショット)から、新たにクリックの対象とする要素を選択するためのオブジェクトである。当該ボタン84が選択されると、図13に例示するスクリーンショット画面90(所定画面)が出力される。当該画面90は、画面領域全体において、対応する画面の画面キャプチャを表示する。
また、図13に例示するスクリーンショット画面90には、複数の未巡回要素ボックス92(所定オブジェクト)が配置されている。当該ボックス92は、塗りつぶしなしの(透明な)長方形の外観を有しており、対応する画面に含まれる複数の遷移対象要素のうち、クリック不要と設定されている要素の位置に配置されている。こうした要素の画面上の位置は、要素管理テーブル156の座標位置情報において管理されている。ユーザは、こうした未巡回要素ボックス92によって、未巡回の要素を視覚的に容易に把握することができる。なお、クリック不要と設定されている要素の位置に、未巡回要素ボックス92に代えて、その他の外観を有するオブジェクトを配置するようにしてもよい。
本実施形態の他の例において、スクリーンショット画面90に相当する画面は、画面キャプチャに代えて、HTMLデータを再現して描画された画面(ウェブページ)を表示し、この場合、未巡回要素ボックス92(クリック不要と設定されている要素)の当該画面上の位置は、要素管理テーブル156の構造位置情報を用いて特定される。
スクリーンショット画面90において、何れかの未巡回要素ボックス92が選択されると、選択されたボックス92に対応する要素が、再巡回設定画面80の再巡回要素指定領域82に設定される。そして、当該画面80の再巡回ボタン86が選択されると、当該領域82に設定されている遷移対象要素のクリックに応じた遷移先画面への新たな遷移が画面遷移に追加され、当該遷移先の画面について、遷移対象要素の特定及び登録、並びに、各遷移対象要素のクリックに応じた遷移の画面遷移への追加、又は、当該要素のクリック不要の設定が繰り返し行われる(図7に例示したフローチャートのステップS220~S280を参照。)。このように、ユーザは、再巡回設定画面80を介して、設定されている画面遷移に対する新たな遷移の追加を容易に行うことができる。ユーザは、その後、修正された画面遷移に従う再度の検査を、個別に指示することができる。
図8の検査結果一覧画面60に戻り、検査結果ボタン622は、検査結果を閲覧するためのオブジェクトである。当該ボタン622が選択されると、図14に例示する検査結果確認画面210が出力される。当該画面210は、図示するように、脆弱性の検査結果を一覧表示する一覧表示領域212を有する。当該領域212は、各画面の脆弱性の検査結果(深刻度、脆弱性名、検出箇所、及び、脆弱箇所等)を一覧表示する。これらの情報は、画面管理テーブル154の検査結果情報において管理されている。
上述した例では、クリック不要と設定されている遷移対象要素が、再巡回設定画面80の再巡回要素指定領域82において、ドロップダウンリストの形式で選択できるように表示され、また、スクリーンショット画面90において、未巡回要素ボックス92が付加されて表示されるようにしたが、こうした遷移対象要素を表示する形式は、これに限定されない。本実施形態の他の例では、クリック不要と設定されている遷移対象要素は、クリックに応じた遷移を画面遷移に追加可能な追加可能要素として(こうした追加可能要素であることが識別されるように)、様々な態様で表示され得る。
上述した例では、再巡回設定画面80を介して、画面遷移に対する新たな遷移の追加が行われるようにしたが、これに代えて、又は、これに加えて、(画面遷移への追加なしでも)新たな遷移の遷移先の画面の個別の検査が行われるようにしてもよい。
上述した例では、ウェブサイトの脆弱性を検査する脆弱性検査サービスが提供されるようにしたが、本実施形態の他の例では、脆弱性以外の他の観点での様々な検査が行われ、例えば、ウェブサイトのその他の性能、及び、機能等の検査が行われる。
以上説明した本実施形態に係るウェブサイト検査サーバ10は、検査対象のウェブサイト22を検査する際の画面遷移を設定し、当該画面遷移に関する情報を表示する所定画面(例えば、再巡回設定画面80、又は、スクリーンショット画面90)において、当該画面遷移に含まれる画面が有する要素であって、その選択操作に応じた遷移が画面遷移に含まれない要素が、画面遷移に新たな遷移を追加可能な追加可能要素として表示される(例えば、再巡回要素指定領域82においてドロップダウンリストの形式で選択できるように表示され、又は、スクリーンショット画面90において未巡回要素ボックス92が付加されて表示される)から、設定された画面遷移の容易な修正が可能となる。このように、ウェブサイト検査サーバ10は、ウェブサイトの検査を支援する。
本発明の他の実施形態において、上述した実施形態におけるウェブサイト検査サーバ10が有する機能の一部又は全部は、ウェブサイト検査サーバ10及びユーザ端末30が協動することによって実現され、又は、ユーザ端末30によって実現され得る。
本明細書で説明された処理及び手順は、明示的に説明されたもの以外にも、ソフトウェア、ハードウェアまたはこれらの任意の組み合わせによって実現される。例えば、本明細書で説明される処理及び手順は、集積回路、揮発性メモリ、不揮発性メモリ、磁気ディスク等の媒体に、当該処理及び手順に相当するロジックを実装することによって実現される。また、本明細書で説明された処理及び手順は、当該処理・手順に相当するコンピュータプログラムとして実装し、各種のコンピュータに実行させることが可能である。
本明細書中で説明された処理及び手順が単一の装置、ソフトウェア、コンポーネント、モジュールによって実行される旨が説明されたとしても、そのような処理または手順は複数の装置、複数のソフトウェア、複数のコンポーネント、及び/又は複数のモジュールによって実行され得る。また、本明細書において説明されたソフトウェアおよびハードウェアの要素は、それらをより少ない構成要素に統合して、またはより多い構成要素に分解することによって実現することも可能である。
本明細書において、発明の構成要素が単数もしくは複数のいずれか一方として説明された場合、又は、単数もしくは複数のいずれとも限定せずに説明された場合であっても、文脈上別に解すべき場合を除き、当該構成要素は単数又は複数のいずれであってもよい。
10 ウェブサイト検査サーバ
11 コンピュータプロセッサ
112 管理機能制御部
114 画面遷移設定部
116 ウェブサイト検査部
15 ストレージ
152 検査管理テーブル
154 画面管理テーブル
156 要素管理テーブル
30 ユーザ端末
40 サーバ側プログラム
42 端末側プログラム
50 対象サイト設定画面
60 検査結果一覧画面
70 巡回結果確認画面
80 再巡回設定画面
82 再巡回要素指定領域
90 スクリーンショット画面
92 未巡回要素ボックス
200 画面遷移図
210 検査結果確認画面

Claims (12)

  1. 1又は複数のコンピュータプロセッサを備え、ウェブサイトを検査するためのシステムであって、前記1又は複数のコンピュータプロセッサは、
    対象ウェブサイトを検査する際の画面遷移であって、第1画面が有する第1要素の選択操作に応じた第2画面への遷移を含む前記画面遷移を設定するステップと、
    前記画面遷移に従って、前記対象ウェブサイトを検査するステップと、
    前記画面遷移に関する情報を表示する所定画面を出力するステップと、を実行し、
    前記所定画面は、前記第1画面が有する第2要素であって、選択操作に応じた第3画面への遷移が前記画面遷移に含まれない前記第2要素を、選択操作に応じた新たな遷移を前記画面遷移に追加可能な追加可能要素として表示する、
    システム。
  2. 前記所定画面は、前記追加可能要素であることを示す所定情報を関連付けて前記第2要素を表示する、
    請求項1のシステム。
  3. 前記所定画面は、前記所定情報としての所定オブジェクトが前記第2要素の位置に配置された前記第1画面を表示する、
    請求項2のシステム。
  4. 前記1又は複数のコンピュータプロセッサは、さらに、前記所定画面を介した前記第2要素の特定を伴う指示に応答して、前記第2要素の選択操作に応じた前記第3画面への遷移を前記画面遷移に追加するステップを実行する、
    請求項1のシステム。
  5. 前記1又は複数のコンピュータプロセッサは、さらに、前記第2要素の選択操作に応じた前記第3画面への遷移の前記画面遷移への追加に応じて、前記第3画面が有する第3要素の選択操作に応じた第4画面への遷移を前記画面遷移に追加するステップを実行する、
    請求項4のシステム。
  6. 前記1又は複数のコンピュータプロセッサは、さらに、前記所定画面を介した前記第2要素の特定を伴う指示に応答して、前記第3画面を検査するステップを実行する、
    請求項1のシステム。
  7. 前記検査するステップは、前記対象ウェブサイトの脆弱性を検査する、
    請求項1のシステム。
  8. 前記画面遷移を設定するステップは、ウェブブラウザの自動操作によって前記対象ウェブサイトの複数の画面を巡回し、前記複数の画面の少なくとも一部を含む前記画面遷移を設定する、
    請求項1のシステム。
  9. 前記画面遷移を設定するステップは、前記複数の画面のうちの重複する画面が除外されるように前記画面遷移を設定する、
    請求項8のシステム、
  10. 前記画面遷移を設定するステップは、2つの画面間の類似度に少なくとも基づいて、画面の重複を判断する、
    請求項9のシステム。
  11. 1又は複数のコンピュータによって実行され、ウェブサイトを検査するための方法であって、
    対象ウェブサイトを検査する際の画面遷移であって、第1画面が有する第1要素の選択操作に応じた第2画面への遷移を含む前記画面遷移を設定するステップと、
    前記画面遷移に従って、前記対象ウェブサイトを検査するステップと、
    前記画面遷移に関する情報を表示する所定画面を出力するステップと、を備え、
    前記所定画面は、前記第1画面が有する第2要素であって、選択操作に応じた第3画面への遷移が前記画面遷移に含まれない前記第2要素を、選択操作に応じた新たな遷移を前記画面遷移に追加可能な追加可能要素として表示する、
    方法。
  12. ウェブサイトを検査するためのプログラムであって、1又は複数のコンピュータに、
    対象ウェブサイトを検査する際の画面遷移であって、第1画面が有する第1要素の選択操作に応じた第2画面への遷移を含む前記画面遷移を設定するステップと、
    前記画面遷移に従って、前記対象ウェブサイトを検査するステップと、
    前記画面遷移に関する情報を表示する所定画面を出力するステップと、を実行させ、
    前記所定画面は、前記第1画面が有する第2要素であって、選択操作に応じた第3画面への遷移が前記画面遷移に含まれない前記第2要素を、選択操作に応じた新たな遷移を前記画面遷移に追加可能な追加可能要素として表示する、
    プログラム。
JP2022148858A 2022-09-20 2022-09-20 ウェブサイトを検査するためのシステム、方法、及びプログラム Active JP7390070B1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2022148858A JP7390070B1 (ja) 2022-09-20 2022-09-20 ウェブサイトを検査するためのシステム、方法、及びプログラム
PCT/JP2023/029405 WO2024062798A1 (ja) 2022-09-20 2023-08-14 ウェブサイトを検査するためのシステム、方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022148858A JP7390070B1 (ja) 2022-09-20 2022-09-20 ウェブサイトを検査するためのシステム、方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP7390070B1 true JP7390070B1 (ja) 2023-12-01
JP2024043712A JP2024043712A (ja) 2024-04-02

Family

ID=88923985

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022148858A Active JP7390070B1 (ja) 2022-09-20 2022-09-20 ウェブサイトを検査するためのシステム、方法、及びプログラム

Country Status (2)

Country Link
JP (1) JP7390070B1 (ja)
WO (1) WO2024062798A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007172517A (ja) * 2005-12-26 2007-07-05 Mitsubishi Electric Corp 脆弱性判定システム及び監視装置及び検査装置及びコマンド文字列監視プログラム
JP2011138456A (ja) * 2010-01-04 2011-07-14 Nec Corp 画面シーケンス確認装置、画面シーケンス確認方法および画面シーケンス確認プログラム
JP2018116496A (ja) * 2017-01-18 2018-07-26 日本電信電話株式会社 差異検出装置及びプログラム
JP2021039510A (ja) * 2019-09-02 2021-03-11 株式会社Trys プログラムの検査装置、プログラムの検査方法及びプログラムの検査プログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007172517A (ja) * 2005-12-26 2007-07-05 Mitsubishi Electric Corp 脆弱性判定システム及び監視装置及び検査装置及びコマンド文字列監視プログラム
JP2011138456A (ja) * 2010-01-04 2011-07-14 Nec Corp 画面シーケンス確認装置、画面シーケンス確認方法および画面シーケンス確認プログラム
JP2018116496A (ja) * 2017-01-18 2018-07-26 日本電信電話株式会社 差異検出装置及びプログラム
JP2021039510A (ja) * 2019-09-02 2021-03-11 株式会社Trys プログラムの検査装置、プログラムの検査方法及びプログラムの検査プログラム

Also Published As

Publication number Publication date
JP2024043712A (ja) 2024-04-02
WO2024062798A1 (ja) 2024-03-28

Similar Documents

Publication Publication Date Title
US10324828B2 (en) Generating annotated screenshots based on automated tests
JP5821678B2 (ja) ウェブ・アプリケーションのブラウザに依存しない自動互換性チェックのためのウェブ・サービス
US10735449B2 (en) Methods and apparatuses for improved mobile app security testing via bridged native and web user interface interaction
US20210081309A1 (en) Mapping interactive elements in an application user interface
US20150127705A1 (en) Standard commands for native commands
JP2013506906A (ja) 動的なWebアプリケーションのクライアント層の検証
AU2018203252A1 (en) Systems and methods for processing web page data
US10884911B2 (en) System and method for use in regression testing of electronic document hyperlinks
JP6214824B2 (ja) 自動試験装置
CN107807841B (zh) 服务器模拟方法、装置、设备及可读存储介质
GB2539262A (en) Testing interactive network systems
CN107102937B (zh) 一种用户界面测试方法和装置
CN111414309A (zh) 应用程序的自动化测试方法、计算机设备和存储介质
US20130326466A1 (en) Human Readable Software Program Test Step
JP7390070B1 (ja) ウェブサイトを検査するためのシステム、方法、及びプログラム
US10169216B2 (en) Simulating sensors
JP7368921B1 (ja) ウェブサイトの自動巡回を行うためのシステム、方法、及びプログラム
JP7320211B1 (ja) ウェブサイトの脆弱性を検査するためのシステム、方法、及びプログラム
CN114490320A (zh) 一种自动化测试方法、装置、电子设备及存储介质
JP2023504956A (ja) 性能検出方法、装置、電子機器及びコンピュータ可読媒体
JP7344614B1 (ja) ウェブサイトの脆弱性を検査するためのシステム、方法、及びプログラム
JP7339221B2 (ja) 情報処理プログラム、情報処理方法及び情報処理システム
CN111694550B (zh) 一种页面显示控制方法、装置及系统
KR102481249B1 (ko) 테스트 자동화 서비스 장치 및 방법
CA2785062C (en) A method and system for communicating between computing devices

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230801

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20230801

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231113

R150 Certificate of patent or registration of utility model

Ref document number: 7390070

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150