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

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

Info

Publication number
WO2024062798A1
WO2024062798A1 PCT/JP2023/029405 JP2023029405W WO2024062798A1 WO 2024062798 A1 WO2024062798 A1 WO 2024062798A1 JP 2023029405 W JP2023029405 W JP 2023029405W WO 2024062798 A1 WO2024062798 A1 WO 2024062798A1
Authority
WO
WIPO (PCT)
Prior art keywords
screen
transition
website
response
inspecting
Prior art date
Application number
PCT/JP2023/029405
Other languages
English (en)
French (fr)
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 株式会社エーアイセキュリティラボ
Publication of WO2024062798A1 publication Critical patent/WO2024062798A1/ja

Links

Images

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

Definitions

  • the present invention relates to a system, method, and program for inspecting a website.
  • Patent Document 1 listed below discloses a technology that supports testing of websites more easily. Specifically, this document estimates the rules for each of a plurality of input items on a website, obtains a set of input values corresponding to each of the estimated rules, and calculates one from the set of obtained input values. It is disclosed that a set of elements to be input into each of a plurality of input items is generated by extracting elements one by one, and as a result, a set of input values for testing a website can be almost automatically created.
  • a system includes one or more computer processors and is a system for inspecting a website, wherein the one or more computer processors are configured to display a screen when inspecting a target website. a step of setting the screen transition including a transition to a second screen in response to a selection operation of a first element included in the first screen; and a step of inspecting the target website according to the screen transition. , outputting a predetermined screen that displays information regarding the screen transition, the predetermined screen being a second element included in the first screen, and a transition to a third screen according to a selection operation.
  • the second element which is not included in the screen transition, is displayed as an addable element to which a new transition can be added to the screen transition according to a selection operation.
  • a method is a method for inspecting a website, which is executed by one or more computers, and includes screen transitions when inspecting a target website, the first screen being a setting the screen transition including a transition to a second screen in response to a selection operation of a first element having the screen; inspecting the target website according to the screen transition; and displaying information regarding the screen transition.
  • outputting a predetermined screen wherein the predetermined screen is a second element of the first screen, and the screen transition does not include a transition to a third screen in response to a selection operation.
  • the two elements are displayed as addable elements that can add a new transition to the screen transition according to the selection operation.
  • a program according to an embodiment of the present invention is a program for inspecting a website, and the program includes screen transitions when inspecting a target website on one or more computers. a step of setting the screen transition including a transition to a second screen in response to a selection operation of one element; a step of inspecting the target website according to the screen transition; and a predetermined screen displaying information regarding the screen transition.
  • the predetermined screen is a second element of the first screen, and the second screen does not include a transition to a third screen in response to a selection operation.
  • the element is displayed as an addable element that can add a new transition to the screen transition according to the selection operation.
  • Various embodiments of the present invention support website inspection.
  • FIG. 1 is a configuration diagram schematically showing the configuration of a network including a website inspection server 10 according to an embodiment of the present invention.
  • FIG. 3 is a diagram illustrating information managed by a screen management table 154.
  • FIG. 7 is a diagram illustrating information managed by an element management table 156.
  • 2 is a flowchart illustrating a process executed by the website inspection server 10 when inspecting a website for vulnerability.
  • FIG. 5 is a diagram illustrating a target site setting screen 50.
  • FIG. 2 is a flowchart illustrating a process executed by the website inspection server 10 when setting screen transitions for website inspection.
  • FIG. 6 is a diagram illustrating an example of an examination result list screen 60.
  • FIG. 7 is a diagram illustrating a tour result confirmation screen 70;
  • FIG. 2 is a diagram illustrating a screen transition diagram 200.
  • FIG. 3 is a diagram illustrating details of a screen object 202.
  • FIG. 8 is a diagram illustrating a recirculation setting screen 80;
  • FIG. 2 is a diagram illustrating an example of a test result confirmation screen 210.
  • FIG. 1 is a configuration diagram schematically showing the configuration of a network including a website inspection server 10 according to an embodiment of the present invention.
  • the server 10 is communicably connected to a user terminal 30 via a communication network 20 such as the Internet.
  • a communication network 20 such as the Internet.
  • the server 10 is communicably connected to a plurality of user terminals 30.
  • the website inspection server 10 provides a website inspection service for inspecting a website 22 designated by the user, to a user operating the user terminal 30.
  • the website inspection server 10 is an example of a device that implements all or part of the system of the present invention.
  • the website inspection server 10 is configured as a general computer, and as shown in FIG. (device) 15, and these components are electrically connected via a bus (not shown) or the like.
  • the computer processor 11 is configured as a CPU, GPU, or the like, reads various programs stored in the storage 15, etc. into the main memory 12, and executes various instructions included in the programs.
  • the main memory 12 is composed of, for example, a DRAM or the like.
  • the input/output I/F 13 includes various input/output devices for exchanging information with an operator and the like.
  • the input/output I/F 13 includes, for example, an information input device such as a keyboard and a pointing device (for example, a mouse, a touch panel, etc.), an audio input device such as a microphone, and an image input device such as a camera. Further, the input/output I/F 13 includes an image output device such as a display, and an audio output device such as a speaker.
  • the communication I/F 14 is implemented as hardware such as a network adapter, various communication software, or a combination thereof, and is configured to realize wired or wireless communication via the communication network 20 or the like.
  • the storage 15 is composed of, for example, a magnetic disk or a flash memory.
  • the storage 15 stores various programs including an operating system, various data, and the like. For example, as shown in FIG. ), and an element management table 156 that manages information regarding elements included in the file.
  • the storage 15 stores a server-side program 40 according to an embodiment of the present invention.
  • the program 40 is a program for causing the server 10 to function as all or part of a system for providing a website inspection service. At least a portion of the server-side program 40 may be configured to be executed on the user terminal 30 side via a terminal-side program 42 described later.
  • the website inspection server 10 can be configured using multiple computers, each having the hardware configuration described above.
  • the server 10 is configured by multiple server devices.
  • the website inspection server 10 configured in this manner can be configured to have functions as a web server and an application server, and executes various processes in response to requests from the user terminal 30.
  • Screen data for example, HTML data
  • control data etc. according to the results are transmitted to the user terminal 30.
  • the user terminal 30 outputs a web page or other screen based on the received data.
  • the user terminal 30 is configured as a general computer, and as shown in FIG. 1, includes a computer processor 31, a main memory 32, an input/output I/F 33, a communication I/F 34, and a storage device 35, and these components are electrically connected via a bus (not shown) or the like.
  • the computer processor 31 is configured as a CPU, GPU, etc., reads various programs stored in the storage 35, etc. into the main memory 32, and executes various instructions included in the programs.
  • the main memory 32 is composed of, for example, a DRAM or the like.
  • the input/output I/F 33 includes various input/output devices for exchanging information with an operator and the like.
  • the input/output I/F 33 includes, for example, an information input device such as a keyboard and a pointing device (for example, a mouse, a touch panel, etc.), an audio input device such as a microphone, and an image input device such as a camera. Further, the input/output I/F 33 includes an image output device such as a display, and an audio output device such as a speaker.
  • the communication I/F 34 is implemented as hardware such as a network adapter, various communication software, or a combination of these, and is configured to realize wired or wireless communication via the communication network 20, etc.
  • the storage 35 is composed of, for example, a magnetic disk or a flash memory.
  • the storage 35 stores various programs including an operating system, various data, and the like.
  • the programs stored in the storage 35 can be downloaded from an application market and installed.
  • the storage 35 stores the terminal side program 42 described above.
  • the program 42 is configured as a web browser or other application (for example, a user terminal side application for the website inspection service of this embodiment), and as described above, at least a part of the server side program 40 is configured. may be configured to perform.
  • the user terminal 30 may be configured as a smartphone, a tablet terminal, a personal computer, or the like.
  • a user who operates the user terminal 30 configured in this way can inspect the website provided by the server 10 by communicating with the server 10 via the terminal-side program 42 installed in the storage 35 or the like. service can be used.
  • the computer processor 11 of the server 10 is configured to function as a management function control unit 112, a screen transition setting unit 114, and a website inspection unit 116 by executing instructions contained in a program (e.g., at least a part of the server-side program 40) loaded into the main memory 12.
  • a program e.g., at least a part of the server-side program 40
  • the management function control unit 112 is configured to execute various processes related to control of the management functions of the website inspection service. For example, the management function control unit 112 transmits screen data and control data of various screens related to the management function to the user terminal 30, and responds to operation input by the user via the screen output from the user terminal 30. In response, it executes various processes and transmits screen data, control data, etc. according to the results of the processes to the user terminal 30.
  • the management functions controlled by the management function control unit 112 include, for example, login processing (user authentication), billing control, user account management, and the like.
  • the screen transition setting unit 114 is configured to execute various processes related to screen transition settings when inspecting the website 22.
  • the screen transition includes, for example, a transition to a second screen in response to a selection operation of a first element included in a first screen corresponding to a specific web page constituting the website 22.
  • These elements can be said to be elements that cause a transition in response to a selection operation among the screen components that make up a web page, and include various types of objects (buttons, buttons, etc.) with links or scripts, etc. images, text, etc.).
  • the screen transition can also be referred to as an examination scenario and may indicate the scope of the examination.
  • the website inspection unit 116 is configured to perform various processes related to inspection of the website 22.
  • the website inspection unit 116 is configured to inspect the website 22 according to set screen transitions. For example, the website inspection unit 116 starts up a web browser, accesses a specific web page of the website 22 (for example, a web page corresponding to a screen that is the starting point of screen transition, etc.), and then According to the transition, select elements of each screen are performed to transition to the corresponding screen. On each screen, various requests for testing predetermined test items are sent to the website 22, and based on the content of the response received from the website 22, the corresponding test items are determined. to decide.
  • the inspection of the website 22 includes various types of inspections.
  • the inspection includes a vulnerability inspection (diagnosis) of the website 22.
  • the inspection includes the performance, functionality, and other inspections of the website 22.
  • the screen transition setting unit 114 is configured to output a predetermined screen that displays information regarding the set screen transition.
  • the screen transition setting unit 114 transmits screen data, control data, etc. of the screen to the user terminal 30, and the predetermined screen is output at the user terminal 30.
  • the predetermined screen displays information regarding at least part of a screen transition, or displays information regarding one screen included in the screen transition.
  • the predetermined screen is a second element of the first screen included in the set screen transition, and the transition to the third screen according to the selection operation is not included in the screen transition.
  • the second element is configured to be displayed as an addable element that can add a new transition to the screen transition according to the selection operation.
  • the predetermined screen displays the second element so that it can be identified that the second element is an addable element.
  • the website inspection server 10 in this embodiment sets the screen transition when inspecting the website 22 to be inspected, and in the predetermined screen that displays information regarding the screen transition, the website inspection server 10 sets the screen transition when inspecting the website 22 to be inspected. Elements that the screen has and whose transitions according to the selection operation are not included in the screen transitions are displayed as addable elements that can add new transitions to the screen transitions. Easy correction becomes possible. In this way, website inspection server 10 supports website inspection.
  • the predetermined screen can be configured to display the above-mentioned addable elements in various ways.
  • the predetermined screen displays addable elements in association with predetermined information indicating that the addable elements are addable elements.
  • the predetermined screen is configured to display a corresponding screen (including a screen capture) in which a predetermined object as the predetermined information is placed at the position of the addable element.
  • the predetermined object can be configured as various types of objects, such as a box, a straight line, a circle, or an object having other shapes. Such a configuration makes it possible to indicate addable elements by information such as a predetermined object placed on the screen.
  • the screen transition setting unit 114 may be configured to update (modify) the set screen transition. For example, in response to an instruction via the predetermined screen that involves specifying an addable element, the screen transition setting unit 114 adds a transition corresponding to the selection operation of the specified element to the screen transition. In this case, in response to the addition of a transition corresponding to the selection operation of the identified element to the screen transition, the screen transition setting unit 114 adds a transition corresponding to the selection operation of the element included in the transition destination screen of the added transition. Further transitions to new screens can also be configured to be added to the screen transitions. Such a configuration enables even easier modification of set screen transitions.
  • the website inspection unit 116 in response to an instruction specifying an addable element via the predetermined screen, displays a transition destination screen that changes in response to the selection operation of the specified element.
  • a transition destination screen that changes in response to the selection operation of the specified element.
  • the screen transition setting unit 114 may be configured to cycle through a plurality of screens of the website 22 by automatic operation of a web browser and set a screen transition that includes at least a portion of these multiple screens. .
  • the screen transition setting unit 114 may be configured to set screen transitions so that duplicate screens among the visited screens are excluded. Such screen overlap is determined, for example, based on at least the degree of similarity between the two screens.
  • Such a configuration makes it possible to set screen transitions that include a portion of a plurality of screens (for example, screens from which duplicate screens have been excluded) that are cycled through automatically by the web browser.
  • the server 10 in this specific example provides a vulnerability testing service for testing the vulnerability of a website as an example of a website testing service.
  • FIG. 2 illustrates information managed by the test management table 152 in this example.
  • the inspection management table 152 in this example manages information related to individual inspection cases, and as shown in the figure, the inspection management table 152 manages information related to individual inspection cases, and as shown in the figure, the inspection of the website to be inspected is performed in association with the "inspection ID" that identifies each individual inspection (case).
  • Manages information such as "Top screen URL", which is the URL of the top screen (top page) that is the starting point of do.
  • FIG. 3 illustrates the information managed by the screen management table 154 in this example.
  • the screen management table 154 in this example manages information regarding the screens included in the set screen transition among the multiple screens of the website to be inspected, and as shown in the figure, the "examination ID ”, and “Screen ID” that identifies individual screens on the website to be inspected. "information”, “transition source screen ID” that identifies the transition source screen of the relevant screen, “transition source element ID” that identifies the transition source element of the relevant screen (the element clicked when transitioning to the relevant screen), It manages information such as "test result information” that is information related to the test results on the screen.
  • FIG. 4 illustrates information managed by the element management table 156 in this example.
  • the element management table 156 in this example manages information regarding each of a plurality of transition target elements included in each screen (web page) of the website to be inspected, and as shown in the figure, the "inspection ID”, "Screen ID” that identifies individual screens on the website to be inspected, and "Element ID” that identifies individual elements on the screen, and is information about the label of the element.
  • Label information "Coordinate position information” which is information about the coordinate position of the element on the screen (web page), "Structural position information” which is information about the structural position (DOM information) of the element, Screen transition manages information such as a “click necessity flag” that indicates whether a click operation is necessary for the element in question, and "required input item information” that is information about input items required when clicking the element.
  • FIG. 5 is a flowchart illustrating the processing executed by the website inspection server 10 when inspecting a website for vulnerability in this example.
  • the server 10 first receives the settings of a website to be tested for vulnerability (step S100). Acceptance of these settings is performed via a screen output from the user terminal 30.
  • FIG. 6 illustrates a target site setting screen 50 outputted from the user terminal 30 and used to receive settings for a website to be inspected.
  • the screen 50 includes a URL input area 52 for inputting the URL of the top screen (top page) of the website to be inspected, and a login ID used for logging into the website. , a password input area 56 for inputting a password used to log into the website, and a continue button 58 to which the text "Start inspection/tour" is added.
  • the URL of the top screen, login ID, and password are accepted as the setting information of the website to be inspected.
  • the continue button 58 is an object for instructing to cycle through the screens of the website to be inspected (screen transition settings) and inspect.
  • the server 10 next visits the websites to be inspected and sets screen transitions for the inspection (step S110).
  • FIG. 7 is a flowchart illustrating the process executed by the server 10 when setting screen transitions for website inspection.
  • the server 10 first accesses the top screen of the website to be inspected and adds it to the screen transition (step S200). Specifically, a web browser is started, and the top screen specified by the URL input via the target site setting screen 50 is accessed. Further, in the screen management table 154, information regarding the top screen is registered, and specifically, the examination ID, screen ID, screen URL, and screen capture information are set.
  • the server 10 identifies and registers multiple transition target elements included in the top screen (step S210). Specifically, screen components (buttons, images, text, etc.) to which links, scripts, etc. have been set are identified, and information regarding each element is registered in the element management table 156. Specifically, an examination ID, a screen ID, an element ID, label information, coordinate position information, structure position information, and a click necessity flag are set. At this point, the click necessity flag is set to a value indicating that a click operation is required.
  • the server 10 clicks on the registered element (step S220), and if the transition destination screen in response to the click is a screen to be added to the screen transition (YES in step S230), a transition to the screen of the transition destination is added to the screen transition (step S240).
  • the screen management table 154 information regarding the transition destination screen is registered, that is, the examination ID, screen ID, screen URL, screen capture information, transition source screen ID, and transition source element ID are set. Ru.
  • the transition source screen ID is set to a screen ID that identifies the top screen that is the transition source
  • the transition source element ID is set to an element ID that identifies the clicked element.
  • the transition destination screen in response to the click is a screen that is not to be added to the screen transitions (NO in step S230)
  • the transition to the screen is not added to the screen transitions, and the corresponding element is not added to the screen transitions.
  • the setting is made so that no click is required (step S250). Specifically, in the element management table 156, a value indicating that a click is not required is set for the click necessity flag of the corresponding element.
  • the following two screens are determined to be screens that are not to be added to the screen transition.
  • the overlap between two screens is determined based on the degree of similarity between these screens, and specifically, if the degree of similarity is greater than or equal to a threshold, the two screens are It is judged to be a duplicate.
  • the degree of similarity can be calculated using various criteria, for example, based on a comparison of screen (page) content, URL, and URL parameters.
  • step S260 the server 10 similarly identifies and registers multiple transition target elements included in the screen (step S280), and performs the transition according to the click of each element. Add to screen transition or set to not require clicking (steps S220 to S260). Such processing is repeated until no new screens are added to the screen transition (NO in step S270).
  • the server 10 then executes a vulnerability test according to the set screen transition (step S120). Specifically, a web browser is started, and each screen included in the screen transition is sequentially visited according to the information managed in the screen management table 154 and the element management table 156, and predetermined vulnerability inspection items are checked. Perform inspection.
  • the vulnerability inspection items include, for example, the items defined in OWASP Top 10.
  • the test results are registered in the test result information of the screen management table 154.
  • FIG. 8 illustrates an example of a test result list screen 60 output on the user terminal 30.
  • one or more individual display areas 62 are vertically arranged.
  • the individual display area 62 displays information related to the inspection (information regarding the top screen of the website to be inspected, update date and time of screen transition, inspection execution date and time, etc.), and at the right end thereof, a screen transition diagram button 621 and an inspection button 621 are displayed. and a result button 622.
  • the screen transition diagram button 621 is an object for displaying screen transitions set as a result of visiting multiple screens of a website in the form of a screen transition diagram.
  • a tour result confirmation screen 70 illustrated in FIG. 9 is output.
  • the screen 70 includes a screen transition diagram display area 72 that displays a screen transition diagram, and a return button 74.
  • FIG. 10 illustrates a screen transition diagram 200 displayed in the screen transition diagram display area 72.
  • the screen transition diagram 200 includes screen objects 202 corresponding to each screen included in the screen transition, and a connection object 204 connecting the two screen objects 202.
  • Screen object 202 displays a screen capture of the corresponding screen.
  • the screen object 202 located on the leftmost side corresponds to the top screen that is the starting point of the inspection of the website to be inspected, and the screen object 202 of the top screen and the screen object 202 that transitions from the top screen
  • the screen object 202 of the transition destination screen is connected by a connection object 204.
  • two screen objects 202 having a transition source and transition destination relationship are connected by a connection object 204. Relationships between screens included in such screen transitions are managed in a screen management table 154.
  • the left end of the connected object 204 which has a circular shape, is placed at the position of the transition source element (the element clicked during the transition) in the screen object 202 of the transition source screen.
  • FIG. 10 illustrates details of the screen object 202.
  • the screen object 202 has a menu area 206 at its lower end.
  • an enlarged menu icon 2061 is an object for displaying the screen object 202 in an enlarged manner
  • the deletion menu icon 2065 is an object for deleting the screen corresponding to the screen object 202 from screen transitions.
  • the recirculation menu icon 2063 is an object for adding a new transition to the screen transition.
  • a re-tour setting screen 80 (predetermined screen) illustrated in FIG. 12 is output.
  • the screen 80 includes a recirculation element designation area 82 for specifying a new transition target element to be clicked (to be recirculated), and a text "specify from screenshot" added. It has a screenshot designation button 84 and a recirculation button 86.
  • the recirculation element designation area 82 is a drop-down list that displays transition target elements included in the corresponding screen (the screen corresponding to the screen object 202 for which the recirculation menu icon 2063 is selected) that are set to not require clicking.
  • the configuration is such that one element can be selected from among the (untraversed) elements (managed in the element management table 156).
  • each transition target element is specified (displayed) by label information and structural position information (DOM information).
  • the screenshot selection button 84 is an object for selecting a new element to be clicked from the screen capture (screenshot) of the corresponding screen.
  • a screenshot screen 90 (prescribed screen) such as the one shown in FIG. 13 is output.
  • the screen 90 displays the screen capture of the corresponding screen in the entire screen area.
  • a plurality of uncirculated element boxes 92 are arranged on the screenshot screen 90 illustrated in FIG. 13 .
  • the box 92 has the appearance of an unfilled (transparent) rectangle, and is placed at the position of an element that is set as not requiring a click, among multiple transition target elements included in the corresponding screen. .
  • the positions of these elements on the screen are managed in the coordinate position information of the element management table 156. The user can easily visually grasp the unvisited elements using the unvisited element box 92.
  • an object having another appearance may be placed at the position of an element that is set as not requiring a click.
  • a screen corresponding to the screenshot screen 90 displays a screen (web page) drawn by reproducing HTML data instead of a screen capture, and in this case, an uncirculated element box
  • the position of 92 (an element set as not requiring clicks) on the screen is specified using the structural position information of the element management table 156.
  • the element corresponding to the selected box 92 is set in the recirculated element designation area 82 of the recirculated setting screen 80.
  • the recirculated button 86 of the screen 80 is selected, a new transition to a destination screen in response to clicking on a transition target element set in the area 82 is added to the screen transition, and for the destination screen, the transition target elements are identified and registered, and a transition in response to clicking on each transition target element is added to the screen transition, or the element is set to not need to be clicked (see steps S220 to S280 of the flowchart exemplified in FIG. 7).
  • the user can easily add a new transition to the set screen transition via the recirculated setting screen 80.
  • the user can then individually instruct a second inspection according to the corrected screen transition.
  • the test result button 622 is an object for viewing test results.
  • the test result confirmation screen 210 illustrated in FIG. 14 is output.
  • the screen 210 has a list display area 212 that displays a list of vulnerability test results.
  • the area 212 displays a list of vulnerability inspection results (severity level, vulnerability name, detected location, vulnerable location, etc.) for each screen. These pieces of information are managed in the test result information of the screen management table 154.
  • transition target elements that are set as not requiring clicks are displayed in the recycle element designation area 82 of the recycle setting screen 80 so as to be selectable in the form of a drop-down list, and are also displayed in the screen shot screen 90.
  • the uncirculated element box 92 is added and displayed in , the format for displaying such transition target elements is not limited to this.
  • a transition target element that is set as not requiring a click is treated as an addable element that can add a transition in response to a click to a screen transition (so that it is identified as such an addable element). ) may be displayed in various ways.
  • a new transition is added to the screen transition via the recirculation setting screen 80, but instead of this, or in addition to this (even without adding to the screen transition) )
  • the screen to which the new transition is to be transitioned to may be individually inspected.
  • a vulnerability inspection service for inspecting website vulnerabilities is provided, but in other examples of this embodiment, various inspections are performed from other viewpoints other than vulnerabilities. For example, other performance and functionality checks of the website are performed.
  • the website inspection server 10 sets the screen transition when inspecting the website 22 to be inspected, and provides a predetermined screen (for example, the re-tour setting screen 80) that displays information regarding the screen transition. Or, in the screenshot screen 90), an element included in the screen included in the screen transition, but whose transition corresponding to the selection operation is not included in the screen transition, can add a new transition to the screen transition. (For example, displayed as a selectable element in the form of a drop-down list in the re-visited element designation area 82, or displayed with an un-visited element box 92 added on the screenshot screen 90.) ), it becomes possible to easily modify the set screen transition. In this way, website inspection server 10 supports website inspection.
  • a predetermined screen for example, the re-tour setting screen 80
  • some or all of the functions possessed by the website inspection server 10 in the embodiments described above are realized by cooperation between the website inspection server 10 and the user terminal 30, or This can be realized by the terminal 30.
  • the processes and procedures described herein may be implemented by software, hardware, or any combination thereof, other than those explicitly described.
  • the processes and procedures described herein are implemented by implementing logic corresponding to the processes and procedures in a medium such as an integrated circuit, volatile memory, nonvolatile memory, magnetic disk, or the like.
  • the processes and procedures described in this specification can be implemented as a computer program corresponding to the processes and procedures, and can be executed by various computers.

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は、ウェブサイトの検査を支援する。当該サーバ10は、通信ネットワーク20を介して通信可能に接続されているユーザ端末30を操作するユーザに対して、当該ユーザによって指定されるウェブサイト22を検査するウェブサイト検査サービスを提供する。当該サーバ10は、検査対象のウェブサイト22を検査する際の画面遷移を設定し、当該画面遷移に関する情報を表示する所定画面において、当該画面遷移に含まれる画面が有する要素であって、その選択操作に応じた遷移が画面遷移に含まれない要素が、画面遷移に新たな遷移を追加可能な追加可能要素として表示されるから、設定された画面遷移の容易な修正が可能となる。

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によって実現され得る。
 本明細書で説明された処理及び手順は、明示的に説明されたもの以外にも、ソフトウェア、ハードウェアまたはこれらの任意の組み合わせによって実現される。例えば、本明細書で説明される処理及び手順は、集積回路、揮発性メモリ、不揮発性メモリ、磁気ディスク等の媒体に、当該処理及び手順に相当するロジックを実装することによって実現される。また、本明細書で説明された処理及び手順は、当該処理・手順に相当するコンピュータプログラムとして実装し、各種のコンピュータに実行させることが可能である。
 本明細書中で説明された処理及び手順が単一の装置、ソフトウェア、コンポーネント、モジュールによって実行される旨が説明されたとしても、そのような処理または手順は複数の装置、複数のソフトウェア、複数のコンポーネント、及び/又は複数のモジュールによって実行され得る。また、本明細書において説明されたソフトウェアおよびハードウェアの要素は、それらをより少ない構成要素に統合して、またはより多い構成要素に分解することによって実現することも可能である。
 本明細書において、発明の構成要素が単数もしくは複数のいずれか一方として説明された場合、又は、単数もしくは複数のいずれとも限定せずに説明された場合であっても、文脈上別に解すべき場合を除き、当該構成要素は単数又は複数のいずれであってもよい。

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要素を、選択操作に応じた新たな遷移を前記画面遷移に追加可能な追加可能要素として表示する、
     プログラム。
PCT/JP2023/029405 2022-09-20 2023-08-14 ウェブサイトを検査するためのシステム、方法、及びプログラム WO2024062798A1 (ja)

Applications Claiming Priority (2)

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

Publications (1)

Publication Number Publication Date
WO2024062798A1 true WO2024062798A1 (ja) 2024-03-28

Family

ID=88923985

Family Applications (1)

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

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
JP7390070B1 (ja) 2023-12-01
JP2024043712A (ja) 2024-04-02

Similar Documents

Publication Publication Date Title
US10324828B2 (en) Generating annotated screenshots based on automated tests
CN107402880B (zh) 一种测试方法及电子设备
US9405660B2 (en) Intermediary for testing content and applications
US9274935B1 (en) Application testing system with application programming interface
US10735449B2 (en) Methods and apparatuses for improved mobile app security testing via bridged native and web user interface interaction
US9003423B1 (en) Dynamic browser compatibility checker
JP2014510482A (ja) モバイル・コミュニケーション・デバイスのコンテンツをテストするシステムおよび方法
US20210081309A1 (en) Mapping interactive elements in an application user interface
US10705946B2 (en) Techniques for real time server testing in a production environment
WO2013122746A1 (en) Integrated fuzzing
JP2012168950A (ja) ウェブ・アプリケーションのブラウザに依存しない自動互換性チェックのためのウェブ・サービス
US10884911B2 (en) System and method for use in regression testing of electronic document hyperlinks
CN107807841B (zh) 服务器模拟方法、装置、设备及可读存储介质
CN111814086A (zh) 一种用于对网页进行截图方法和系统
CN111694550A (zh) 一种页面显示控制方法、装置及系统
CN107102937B (zh) 一种用户界面测试方法和装置
CN103544271B (zh) 一种浏览器中加载图片处理窗口的方法和装置
US20180089045A1 (en) Method and device for performing hardware module diagnostics
WO2024062798A1 (ja) ウェブサイトを検査するためのシステム、方法、及びプログラム
JP7368921B1 (ja) ウェブサイトの自動巡回を行うためのシステム、方法、及びプログラム
KR101166128B1 (ko) 소프트웨어 테스트 장치 및 그 방법
JP7320211B1 (ja) ウェブサイトの脆弱性を検査するためのシステム、方法、及びプログラム
JP7440150B1 (ja) ウェブサイトの脆弱性を検査するためのシステム、方法、及びプログラム
JP7339221B2 (ja) 情報処理プログラム、情報処理方法及び情報処理システム
CA2785062C (en) A method and system for communicating between computing devices

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23867923

Country of ref document: EP

Kind code of ref document: A1