WO2017221858A1 - 情報分析システム、情報分析方法及び記録媒体 - Google Patents

情報分析システム、情報分析方法及び記録媒体 Download PDF

Info

Publication number
WO2017221858A1
WO2017221858A1 PCT/JP2017/022441 JP2017022441W WO2017221858A1 WO 2017221858 A1 WO2017221858 A1 WO 2017221858A1 JP 2017022441 W JP2017022441 W JP 2017022441W WO 2017221858 A1 WO2017221858 A1 WO 2017221858A1
Authority
WO
WIPO (PCT)
Prior art keywords
information
search
search result
score
display
Prior art date
Application number
PCT/JP2017/022441
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 日本電気株式会社
Priority to JP2018524063A priority Critical patent/JP7020408B2/ja
Priority to US16/309,173 priority patent/US20190266194A1/en
Publication of WO2017221858A1 publication Critical patent/WO2017221858A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9038Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • 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/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries

Definitions

  • the present invention relates to a technique for collecting and analyzing information related to security.
  • the security officer uses, for example, information such as the name of the malware (such as an unauthorized software program) used in the attack, the IP address of the communication source and communication destination, and the date and time of occurrence, Collect information about the cyber attack. At this time, the security officer may search for further related information using the collected fragmentary information.
  • information such as the name of the malware (such as an unauthorized software program) used in the attack, the IP address of the communication source and communication destination, and the date and time of occurrence, Collect information about the cyber attack.
  • the security officer may search for further related information using the collected fragmentary information.
  • Patent Document 1 discloses a technique for extracting vulnerability information from a web page collected by web crawling and analyzing a reference relationship between the extracted vulnerability information.
  • the technique disclosed in Patent Document 1 acquires a related web page by following a link of a web page including vulnerability information, and creates a reference relationship between the web page including the vulnerability information and another web page. To analyze.
  • Patent Document 2 relates to an evaluation target website using direct information collected by directly accessing the evaluation target website and information on the security status of the evaluation target website acquired from the information providing site. A technique for generating evaluation information is disclosed.
  • Patent Document 1 and Patent Document 2 are techniques for collecting security information, and the collected information is not necessarily provided appropriately from the viewpoint of a security officer. .
  • the main purpose of the present disclosure is to provide an information analysis system and the like that can appropriately provide information collected regarding security.
  • An information analysis system acquires search results related to search information by searching for search information that is information related to a search target in any one of the one or more information sources. , Using the acquired search result as the search information, depending on the information acquisition means that can further acquire the search result related to the search information from any of the information sources, and the evaluation received regarding the search result, Score learning means for determining the usefulness of the search results, and information display means for controlling whether or not to display the search results according to the usefulness relating to the search results.
  • the information processing system relates to the search information by searching for the search information that is information related to the search target in any one of the one or more information sources.
  • a search result is obtained, and the obtained search result is used as the search information.
  • a search result related to the search information is further acquired from any of the information sources, and the search result is received according to the evaluation received for the search result. This includes determining the usefulness of the search results and controlling whether to display the search results according to the usefulness of the search results.
  • the object can also be achieved by an information analysis system having the above configuration, a computer program for realizing the information analysis method by a computer, a computer-readable recording medium on which the computer program is recorded, and the like. That is, in the recording medium according to one aspect of the present disclosure, a search related to the search information is performed by searching for search information that is information related to a search target in any one of the one or more information sources. According to the process of acquiring the result, further acquiring the search result related to the search information from any of the information sources using the acquired search result as the search information, and the evaluation received regarding the search result, An information analysis program for executing a process for determining the usefulness of the search result and a process for controlling whether to display the search result according to the usefulness regarding the search result is recorded.
  • FIG. 1A is a block diagram illustrating a functional configuration example of the information analysis system 100 according to the first embodiment of the present disclosure.
  • FIG. 1B is a block diagram illustrating another functional configuration example of the information analysis system 100 according to the first embodiment of the present disclosure.
  • FIG. 2A is an explanatory diagram illustrating a configuration example of a Wand and a Wand pool according to the first embodiment of the present disclosure.
  • FIG. 2B is an explanatory diagram illustrating a specific example of Wand according to the first embodiment of the present disclosure.
  • FIG. 2C is an explanatory diagram illustrating another configuration example of the Wand pool according to the first embodiment of the present disclosure.
  • FIG. 3A is a flowchart illustrating an operation example of the information acquisition unit according to the first embodiment of the present disclosure.
  • FIG. 3A is a flowchart illustrating an operation example of the information acquisition unit according to the first embodiment of the present disclosure.
  • FIG. 3B is a flowchart illustrating another operation example of the information acquisition unit according to the first embodiment of the present disclosure.
  • FIG. 4 is a flowchart illustrating an operation example of the information display unit according to the first embodiment of the present disclosure.
  • FIG. 5 is a flowchart illustrating an operation example of the score learning unit according to the first embodiment of the present disclosure.
  • FIG. 6 is an explanatory diagram showing a specific example of search terms and search results.
  • FIG. 7 is an explanatory diagram illustrating a specific example of a display screen presented to the user.
  • FIG. 8 is a flowchart illustrating an operation example of the information acquisition unit in the first modification example regarding the first embodiment of the present disclosure.
  • FIG. 9A is a block diagram illustrating a functional configuration example of the information analysis system in the second modified example related to the first embodiment of the present disclosure.
  • FIG. 9B is a block diagram illustrating another functional configuration example of the information analysis system in the second modification example regarding the first embodiment of the present disclosure.
  • FIG. 10 is a flowchart illustrating an operation example of the query adjustment unit in the second modification example regarding the first embodiment of the present disclosure.
  • FIG. 11 is an explanatory diagram illustrating an API key database in a specific example related to the first embodiment of the present disclosure.
  • FIG. 12 is an explanatory diagram illustrating a rate limit database in a specific example related to the first embodiment of the present disclosure.
  • FIG. 13 is an explanatory diagram illustrating a Wand in a specific example related to the first embodiment of the present disclosure.
  • FIG. 14 is an explanatory diagram illustrating a search result database in a specific example related to the first embodiment of the present disclosure.
  • FIG. 15 is an explanatory diagram illustrating a score database in a specific example related to the first embodiment of the present disclosure.
  • FIG. 16 is an explanatory diagram illustrating a display screen displayed to the user in a specific example related to the first embodiment of the present disclosure.
  • FIG. 17A is an explanatory diagram illustrating a display screen displayed to the user in a specific example related to the first embodiment of the present disclosure.
  • FIG. 17B is an explanatory diagram illustrating a display screen displayed to the user in a specific example related to the first embodiment of the present disclosure.
  • FIG. 18 is a block diagram illustrating a functional configuration example of the information analysis system according to the second embodiment of the present disclosure.
  • FIG. 19 is an explanatory diagram illustrating a configuration of a hardware device capable of realizing each embodiment of the present disclosure.
  • the security officer When a cyber attack or the like occurs, the security officer obtains a keyword (search term) from information (for example, the name of the malware, the malware body, communication information, etc.) obtained early in relation to the cyber attack, for example ( select).
  • the security officer searches for information on the keyword in various information sources.
  • the security officer selects a further keyword from the fragmented information obtained by the search, and further searches for information using the keyword. For example, the security officer repeats the search process until information necessary for appropriate security measures is obtained. For example, based on experience, the security officer extracts (selects) useful information from the collected information, and implements security measures to prevent further attacks.
  • Information collected may contain information that is relatively useful and information that is relatively low.
  • the security officer is required to select useful information from the information. For example, when all the collected information is displayed to the security officer via the display screen, the displayed information may increase explosively, and the security officer recognizes useful information. It will be difficult. For this reason, for example, providing information determined to be highly useful out of the collected security information by reflecting a viewpoint regarding usability for security personnel is a technical consideration in the present disclosure. one of.
  • the information analysis system described using the following embodiments can repeatedly search for search information related to security from, for example, various information sources.
  • the information analysis system can provide (display) the collected search results to a security officer or the like, and accept an evaluation regarding the search results.
  • the information analysis system can appropriately adjust the search result providing method (display method) according to the received evaluation, for example.
  • the man-hours required for collecting information can be reduced.
  • the information analysis system can acquire a series of information related to certain search information by repeatedly executing search processing in the information source using search information related to security and the search result. It is. Further, by configuring the information analysis system according to the present disclosure as described above, useful information can be provided from the viewpoint of a security officer. The reason is that the method of providing the search results is adjusted to reflect the security officer's evaluation of the collected search results.
  • the information analysis system according to the present disclosure will be described in detail using each embodiment.
  • the configuration of the information analysis system described in each embodiment below is an exemplification, and the technical scope of the present invention is not limited thereto. That is, the classification (for example, division by functional unit) of the constituent elements constituting the information analysis system in each of the following embodiments is an example capable of realizing the information analysis system, and when implementing the information analysis system, Various configurations are assumed without being limited to the following examples. Components constituting the information analysis system in each of the following embodiments may be further divided. Further, one or more components constituting the information analysis system in each of the following embodiments may be integrated.
  • the information analysis system described below may be configured using a single device (physical or virtual device), and may be realized using a plurality of separated devices (physical or virtual devices). Also good.
  • the devices may be communicably connected via a communication network (communication line) that is wired, wireless, or an appropriate combination thereof.
  • a communication network may be a physical communication network or a virtual communication network.
  • FIG. 1A is a block diagram illustrating a functional configuration of the information analysis system 100 according to the first embodiment of the present disclosure.
  • the information analysis system 100 includes an information acquisition unit 101, an information display unit 102, and a score learning unit 103.
  • the information analysis system 100 may include a Wand pool 104 that holds one or more Wands 104a.
  • the information analysis system 100 may include a search result database 106 and a score database 107.
  • the information analysis system 100 in the present embodiment may be connected to one or more information sources 112 via the communication network 111 so as to be communicable.
  • the communication network 111 may be, for example, a wide area communication network such as the Internet, a local area communication network such as a LAN (Local Area Network), or a combination thereof.
  • the communication network 111 may be realized by wireless communication, wired communication, or a combination thereof.
  • the information source 112 is an apparatus or a system that can provide information held by the information source 112 to the information analysis system 100 in response to a request from the information analysis system 100.
  • the information source 112 may provide the information analysis system 100 with an API (Application Programming Interface) that can be used via the communication network 111.
  • the API format may be appropriately determined for each information source 112.
  • the API may be an interface (for example, request transmission for a specific URL) used when using the Web service.
  • the configuration of the information source 112 in the present embodiment is not particularly limited.
  • the information source 112 may be realized as a server that provides various types of information, for example.
  • the information source 112 may be a service that provides various vulnerability information via the communication network 111, for example.
  • the information source 112 may be, for example, an electronic bulletin board that can be connected via the communication network 111.
  • the information source 112 may be, for example, a web service that provides information via the communication network 111.
  • the information source 112 may be a social networking service (SNS) provided via the communication network 111, for example.
  • SNS social networking service
  • the information acquisition unit 101 is configured to search and acquire information related to the search information from the information source 112 when certain search information is provided.
  • search information may be information (for example, a keyword related to the security event) used for searching a certain search target (for example, a security event such as various cyber attacks).
  • Search information may be provided to the information acquisition unit 101 from, for example, a user of the information analysis system 100 via the search word input unit 108.
  • the user of the information analysis system 100 is not particularly limited. Such users may include, for example, security personnel who collect and analyze information related to security using the information analysis system 100, and include other information processing systems that use the information analysis system 100. Also good.
  • the user of the information analysis system 100 may be simply referred to as “user”, and the search information provided by the user may be described as “first search information”.
  • the search word input unit 108 may be configured to provide the information acquisition unit 101 with search information input by a user using an input device (for example, a keyboard, a mouse, a touch panel, a microphone, a camera, or the like).
  • the user inputs, for example, words, phrases, sentences, and the like related to a certain security event as search information to the search word input unit 108 as search information.
  • the search word input unit 108 may convert search information received from the user into language information (for example, text information) and provide it to the information acquisition unit 101.
  • the information acquisition unit 101 may convert the search information provided via the search word input unit 108 into language information.
  • search word the search information represented as language information may be referred to as “search word”.
  • search term corresponding to the first search information may be described as “first search term”.
  • search term is, for example, text information representing a word, phrase, sentence, or the like related to a security event that the user wants to search, and may include a keyword related to the security event.
  • the information acquisition unit 101 may acquire information related to a search word from the information source 112 using, for example, one or more Wands 104a held in the Wand pool 104.
  • the Wand 104a is a search processing module capable of inquiring (searching) information related to a search word from the information source 112 (or information provided by the information source 112) and providing the result to the information acquisition unit 101, for example. For each information source 112, a Wand 104a that can execute an inquiry to the information source 112 may be assigned. One Wand 104a may be assigned to a plurality of information sources 112, and a plurality of Wands 104a may be assigned to one information source 112.
  • Each Wand 104a holds, for example, a search word type 201 as information indicating the type of search word that can be processed by the Wand 104a.
  • the search term type 201 includes, for example, a domain name (domain name), a URL (Universal Resource Locator), a host name, an IP (Internet Protocol) address, an email address, and a personal name as types of search terms that can be processed by the Wand 104a. Corporate name, organization name, etc. may be set.
  • the search term type 201 held by the Wand 104a may be referable from the information acquisition unit 101, for example.
  • the Wand 104a has, for example, a search routine 202 that can execute processing for acquiring information related to a search word from the information source 112.
  • the search routine 202 may be configured to accept, for example, a search word provided from the information acquisition unit 101 as an argument and perform a search process on the information source 112 using the search word.
  • the search routine may be configured to return at least a part of the search results obtained by executing the search process to the information acquisition unit 101 as a return value.
  • the Wand 104a may be realized, for example, in a format such as a program module, or may be realized in a format such as a library.
  • the Wand 104a may acquire an API key used when using the API provided by the information source 112 from the API key database 105 (described later). Good.
  • the API key is, for example, data required when executing a certain API (for example, data used for authentication), and is often provided (issued) by the information source 112 that provides the API.
  • the Wand 104a transmits the API key to the information source 112 that provides the API.
  • a method of transmitting an API key to the information source 112 for example, a method of setting an API key as an argument for the API is known.
  • Whether or not an API key is required when using the API provided by the information source 112 is determined according to the information source that provides the API, the type of the API, and the like. Since the API key can be realized by adopting a well-known technique, detailed description is omitted.
  • FIG. 2B is an explanatory diagram showing a specific example of Wand 104a.
  • Wand 104a (WhoisWand) shown in FIG. 2B
  • “domain name” is set in the search term type 201.
  • the Wand 104a can accept a domain name as a search term.
  • a search routine that uses the “Whois” service as the information source 112 is set. That is, in the case of the specific example shown in FIG. 2B, the Wand 104a searches the Whois service from the information acquisition unit 101 using the domain name passed as an argument. Then, the Wand 104a acquires “registrant name”, “mail address”, and the like as search results and returns them to the information acquisition unit 101 as return values.
  • the information acquisition unit 101 can provide the search result to another Wand 104a as a new search word, and further execute the search. That is, the information acquisition unit 101 can repeatedly execute a search process for certain information by using a search result related to a certain search word as a new search word.
  • search word a search result related to the first search information
  • second search word second search information
  • search word search word
  • search word search word
  • search word search word
  • the information acquisition unit 101 may associate the search term with the search result provided from the Wand 104a and register it in the search result database 106. For example, the information acquisition unit 101 may associate the search term and the search result as a pair and register them in the search result database 106. When a combination of a search word and a search result is already registered in the search result database 106, the information acquisition unit 101 does not register the combination of the search word and the search result in the search result database 106 redundantly. Also good.
  • the information acquisition unit 101 may register an initial value of a score (described later) regarding a set of a search word and a search result in the score database 107.
  • the initial value of the score may be given as a predetermined set value, or may be determined as appropriate by a preliminary experiment or the like. For example, the user may appropriately adjust the initial value of the score according to the number of search results included in the screen displayed by the information display unit 102 (screen display unit 110) described later.
  • the Wand pool 104 holds one or more Wands 104a.
  • the Wand pool 104 can be realized by using an appropriate data holding method such as a file system or a database. Note that when the Wand 104a is implemented in the form of a program module, for example, the Wand pool 104 may be realized as a package storing the module.
  • the Wand pool 104 may be included in the information acquisition unit 101 as illustrated in FIG. 2C.
  • the API key database 105 may be configured to hold an API key used when using the API provided by the information source 112.
  • information capable of specifying an API key necessary when using a certain API may be registered as appropriate.
  • information capable of specifying an API and an API key related to the API may be registered in association with each other.
  • information that can identify the Wand 104a and an API key related to the API used by the Wand 104 may be registered in association with each other.
  • information that can specify the information source 112 that provides an API and an API key may be registered in association with each other.
  • the API key may be preset in the API key database 105 or may be editable by the user.
  • the Wand 104a may acquire an API key from the information source 112 and register it in the API key database 105 before using a certain API. Note that when the search is performed only on the information source 112 that does not require the API key (for example, when all the information sources 112 do not require the API key), the information analysis system 100 includes the API key database 105. Not necessary.
  • each Wand 104a may hold an API key.
  • the API key database 105 may hold data by a method used in a general database (for example, a relational database), or hold data by another appropriate method (for example, a file and a file system). Good.
  • a general database for example, a relational database
  • another appropriate method for example, a file and a file system. Good.
  • the search result database 106 may be configured to hold the search results provided from the information acquisition unit 101.
  • the search result database 106 may hold, for example, a search term, a search term type representing the type of search term, and a search result in association with each other.
  • the search result database 106 may hold information other than the above (for example, information indicating the type of search result).
  • the search result database 106 may hold data by a method used in a general database (for example, a relational database), or hold data by other appropriate methods (for example, a file and a file system). Good.
  • a general database for example, a relational database
  • other appropriate methods for example, a file and a file system. Good.
  • the information display unit 102 is configured to control display of a search term and a search result related to the search term to the user.
  • the information display unit 102 may be configured to generate display data for displaying a search term and a search result related to the search term to the user.
  • a mode in which the information display unit 102 generates display data to be displayed to the user and the display data is displayed on the screen display unit 110 will be described.
  • the present embodiment is not limited to this, and the information display unit 102 may directly provide the search result to the user.
  • the information display unit 102 holds the distance from the first search term to each search result, and according to the distance and a score (described later) set for each search result, Control the display.
  • the distance from the first search term to each search result is calculated according to, for example, the number of search processes executed until each search result is obtained.
  • a distance may be referred to as a “first distance”.
  • the distance from the first search term to each search result may be expressed using the number of search processes executed until each search result is obtained.
  • the information display unit 102 performs, for example, addition, subtraction, multiplication, division, and the like of an appropriate coefficient with respect to the number of search processes executed until each search result is obtained.
  • a distance from the first search term to each search result may be calculated.
  • the information display unit 102 calculates the distance from the first search word to each search result by substituting, for example, the number of search processes executed until each search result is obtained into an appropriate calculation formula. May be.
  • the information display unit 102 can acquire, for example, a score set with respect to a certain search word and a search result related to the search word from a score database 107 described later. For example, when the score set for the search result is larger than the distance (first distance) calculated for the search result, the information display unit 102 controls the screen display unit 110 to display the search result. Good. In this case, the information display unit 102 generates display data for displaying a drawing element that visualizes the relationship between the search term and the search result (for example, a drawn line that associates the search term with the search result). You can do it.
  • the information display unit 102 can generate display data for displaying operation interface elements used when the user evaluates the displayed search results.
  • operation interface elements may be GUI (Graphical User Interface) components such as various buttons, drop-down lists, spin controls, menus, input boxes, and the like.
  • GUI Graphic User Interface
  • Such an operation interface may be an interface capable of inputting an evaluation related to a search result.
  • the operation interface may be an interface that can change the display state of the search result (whether or not the search result is displayed).
  • the information display unit 102 may generate display data that suppresses display of the search result. Good.
  • the information display unit 102 can generate display data for displaying an operation interface element (for example, a button or the like) used when redisplaying the search result whose display is suppressed.
  • the information display unit 102 may hold information for associating a search result with an operation interface element related to the search result, for example.
  • the information display unit 102 displays display data that suppresses the display of the search result. It may be generated. As a result, the information display unit 102 can control the displayed contents so that similar search results are not displayed repeatedly at a plurality of locations.
  • the information display unit 102 can generate appropriate display data according to the operation.
  • the operation interface element is a button
  • the information display unit 102 generates appropriate display data so that the display content is changed according to the operation when the pressing operation is performed on the button.
  • the information display unit 102 may generate display data in which the display state (display or non-display) of at least some of the search results is switched according to an operation on the operation interface element.
  • the information display unit 102 may generate display data on which one or more different operation interface elements are displayed according to an operation on the operation interface element.
  • the operation interface element is a button
  • the information display unit 102 may generate display data on which one or more different buttons are displayed, for example, in response to a pressing operation of the button.
  • the screen display unit 110 may be configured to receive the display data generated by the information display unit 102 and present (display) the display data to the user.
  • the screen display unit 110 may include, for example, a display device that can display data to the user (for example, various monitors having an appropriate display screen, a touch panel, etc.).
  • the score learning unit 103 is configured to set a score related to the search result according to the user's evaluation related to the search result. For example, the score learning unit 103 receives a user's evaluation regarding a search result displayed for a certain search word, and calculates a score regarding the search result based on the evaluation.
  • the score learning unit 103 inputs a user input to the operation interface element displayed by the information display unit 102 (screen display unit 110) in relation to the search result, and inputs the evaluation input unit 109 (described later). Is acceptable.
  • the score learning unit 103 calculates a score according to, for example, the type of the operation interface element operated by the user and the user input related to the operation interface element. The score may be calculated using an appropriate calculation formula according to, for example, the type of the operation interface element and the user input regarding the operation interface element.
  • the score learning unit 103 may determine that the search result is useful. For example, when the user performs an operation so as not to display a certain search result through an operation on the operation interface element, the score learning unit 103 may determine that the search result is not useful.
  • the evaluation input unit 109 may be configured to accept a user input to the operation interface element displayed in association with the search result by the information display unit 102 (screen display unit 110).
  • the evaluation input unit 109 includes, for example, an input device (a keyboard, a mouse, a touch panel (touch sensor), a microphone, or the like) that can accept a user input, and is configured to accept a user input via the input device. May be.
  • an input device a keyboard, a mouse, a touch panel (touch sensor), a microphone, or the like
  • the evaluation input unit 109 may accept a user's pressing operation regarding the button.
  • the score learning unit 103 may register a search term, a search result related to the search term, and a score calculated for the search term in the score database 107 in association with each other.
  • a score set for a pair of a search word and a search result may be simply referred to as a “search result score”.
  • the score database 107 may be configured to hold (store) a score related to the search result provided from the score learning unit 103.
  • the score database 107 may hold, for example, a certain search word, a search result related to the search word, and a score calculated for the search word in association with each other. Further, the score database 107 may be capable of holding a score related to a set (pair) of a search word and a search result related to the search word registered in the search result database 106.
  • the score database 107 may hold information other than the above.
  • the score database 107 may hold data by a method used in a general database (for example, a relational database), or may hold data by another appropriate method (for example, a file and a file system). .
  • the score registered in the score database 107 may also be shared among the plurality of users. For example, the score calculated by the score learning unit 103 based on the evaluation of a certain user is registered in the score database 107. The score is referred to by the information display unit 102 when displaying the search result for the user or another user, for example.
  • the information analysis system 100 in the present embodiment may be configured with a functional configuration illustrated in FIG. 1B, for example.
  • one or more terminals 113 are communicably connected to the information analysis system 100 via a communication network 114.
  • the terminal 113 may be an appropriate information processing apparatus that can process, for example, data communication, data input, data display, and the like (for example, a laptop type, a tablet type, a portable terminal type, etc.) is not particularly limited. .
  • the communication network 114 may be a wide area network such as the Internet or a narrow area network such as a private LAN.
  • the communication network 114 may be the same communication network as the communication network 111 or a different communication network.
  • the terminal 113 includes a search word input unit 108, an evaluation input unit 109, and a screen display unit 110.
  • the search term input unit 108 in the terminal 113 may accept a search term provided by the user and transmit the search term to the information analysis system 100 (particularly, the information acquisition unit 101).
  • the evaluation input unit 109 in the terminal 113 may receive an evaluation provided by the user and transmit the evaluation to the information analysis system 100 (particularly, the score learning unit 103).
  • the information display unit 102 in the information analysis system 100 may transmit the generated display data to the screen display unit 110 in the terminal 113.
  • the information analysis system 100 configured as described above can display a search word and a search result for one or more users, and can accept an operation by one or more users.
  • the score database 107 and the search result database 106 may be shared among users, for example. That is, for example, data registered in the search result database 106 by a search process executed by a certain user (for example, “user A”) is processed in a search process executed by another user (for example, “user B”). Reference may be made.
  • the score registered in the score database 107 according to the evaluation of a certain user for example, “User A”
  • is display data of the search result for another user for example, “User B”. May be referred to when generating
  • one or more users' knowledge (evaluation) regarding the usefulness of the search result can be shared among the one or more users. For example, when many evaluations related to a certain search result are accumulated, it is considered that many evaluations of usefulness from the user's viewpoint regarding the search result are accumulated. That is, the information analysis system 100 can accumulate user knowledge regarding the usefulness of the search results as a score.
  • FIG. 3A is a flowchart showing an example of processing for acquiring information related to a certain search term from the information source 112.
  • the information acquisition unit 101 waits until a search word is supplied, for example (step S301). Specifically, the information acquisition unit 101 may wait until the user inputs a search term via the search term input unit 108.
  • the information acquisition unit 101 determines the type (type) of the search word (step S302). For example, the information acquisition unit 101 analyzes the text information of the search term provided from the search term input unit 108 using a regular expression, and the search term is URL, IP address, host name, domain name, hash value, Or the like may be determined.
  • the method for determining the type of search term is not limited to the above, and an appropriate method can be adopted.
  • the information acquisition unit 101 acquires (selects) a Wand 104a that can execute an inquiry to the information source 112 according to the type of the search term.
  • the Wand pool 104 may select a Wand 104a in which a search word type (201 in FIG. 2) corresponding to the type of the search word is set and provide the information acquisition unit 101 with the Wand 104a.
  • the information acquisition unit 101 displays a message that prompts the user to input another search term using the information display unit 102, for example. May be.
  • Each Wand 104a selected in Step S303 obtains information related to the search term from the information source 112 (Step S304). Specifically, the Wand 104a transmits a search term to the information source 112 via the communication network 111, and receives information related to the search term as a search result. In this case, the Wand 104a may use an API provided by the information source 112. In addition, when an API key for using an API provided by the information source 112 is necessary, the Wand 104a may refer to the API key database 105 and acquire an API key associated with the API. The Wand 104a provides the information acquisition unit 101 with the search result in step S304.
  • step S304 If there is a search result related to the search word searched in step S304 (YES in step S305), the information acquisition unit 101 registers a set (pair) of the search word and the search result in the search result database 106 (step S304). S306).
  • the information acquisition unit 101 newly sets a search result obtained for a certain search term as a search term (step S307), and continues the processing from step S302. That is, the information acquisition unit 101 repeatedly executes a search process in the information source 112 by setting a search result related to a certain search word as a new search word.
  • information related to the search term provided by the user is repeatedly searched without human intervention, and the search result is accumulated in the search result database 106. Therefore, the man-hour of the user required for the operation
  • the information acquisition unit 101 may repeatedly execute the processing from step S306 on all search results.
  • the information acquisition unit 101 may repeatedly execute the processing after step S306 for some search results.
  • the information acquisition unit 101 may hold the upper limit number of search results as a set value, for example.
  • the information acquisition unit 101 may repeatedly execute the processing from step S306 on the search results within the upper limit number, for example.
  • the information acquisition unit 101 may abort the process for search results that exceed the upper limit number.
  • the upper limit number of search results may be appropriately set by a user or the like, for example.
  • the information acquisition unit 101 may end the process. For example, when an appropriate search result is not obtained from the information source 112 as a result of the search using Wand 104a, the information acquisition unit 101 may determine that no search result exists. Also, the information acquisition unit 101 determines that an appropriate search result is not obtained from the information source 112 even when a search result different from the search result already obtained for a certain search word is not obtained. Also good. That is, when only the same search result as the already acquired search result can be obtained for a certain search word, the information acquisition unit 101 determines that there is no further search result for the search word, and ends the processing. Good.
  • FIG. 3B shows a modification of the process illustrated in FIG. 3A.
  • the information acquisition unit 101 repeatedly executes a search for a certain search term up to the upper limit value of the number of searches.
  • the information acquisition unit 101 when receiving a search word in step S301, the information acquisition unit 101 initializes the number of searches related to the search word (for example, sets the value “0” (zero)) (step S308).
  • the information acquisition unit 101 increments the number of searches (step S309). That is, the information acquisition unit 101 increments the number of searches when the search process is repeated.
  • the information acquisition unit 101 compares the number of searches with the upper limit of the number of searches, and may end the process when the number of searches exceeds the upper limit (YES in step S310). When the number of searches is less than or equal to the upper limit value (NO in step S310), information acquisition unit 101 may continue the process from step S302.
  • the upper limit value of the number of searches may be given in advance, for example.
  • the upper limit value of the number of searches may be set as appropriate by the user, for example.
  • FIG. 6 is an explanatory diagram showing a specific example for promoting understanding of the present embodiment, and the present embodiment is not limited to this.
  • the search word A (in this case, the domain name “example.com”, 601 in FIG. 6) is input as the first search word (step S301).
  • the information acquisition unit 101 determines that the type of the search term is “domain name” (step S302).
  • “DNS Wand” (602 in FIG. 6) and “Whois Wand” (603 in FIG. 6) are selected as Wand 104a that can accept the domain name (Step S303).
  • the “DNS Wand” is a Wand 104a that can acquire information from the DNS using a DNS (Domain Name System) as the information source 112.
  • the “Whois Wand” is a Wand 104 a that can acquire information from the service using the Whois service as the information source 112.
  • “DNS Wand” and “Whois Wand” respectively execute search processing (“example.com”) on the information source 112 (DNS and Whois service) and acquire related information.
  • Step S304 As a result of the search, a search result B1 (IP address “aaa.bbb.ccc.ddd”, 604 in FIG. 6) and a search result B2 (address, 605 in FIG. 6) are obtained.
  • a pair of the search word A and the search result B1 and a pair of the search word A and the search result B2 are registered in the search result database 106 (steps S305 to S306).
  • the information acquisition unit 101 continues the processing from step S302 with the search result B1 and the search result B2 as new search terms (respectively described as the search term B1 and the search term B2).
  • the information acquisition unit 101 determines that the type of the search result B1 (search word B1) is “IP address” (step S302).
  • search word B1 search word B1
  • IP address IP address
  • the “Reverse DNS Wand” is a Wand 104a that can acquire information from the DNS reverse service (resolving the domain name from the IP address) service as the information source 112.
  • “Reverse DNS Wand” acquires information from the information source 112 (step S304).
  • a search result C1 domain name “malware.com”, 609 in FIG. 6) and a search result C2 (domain name “example.com”, 610 in FIG. 6) are obtained.
  • a pair of the search word B1 and the search result C1 and a pair of the search word B2 and the search result C2 are registered in the search result database 106 (steps S305 to S306).
  • the information acquisition unit 101 continues processing from step S302 using the search result C1 and the search result C2 as new search terms.
  • the search result C1 is used as a search term “DNS”.
  • a search process is executed using “Wand” (612 in FIG. 6), and a search result D (613 in FIG. 6) is obtained.
  • the information acquisition unit 101 may end the search process.
  • the information acquisition unit 101 executes the same process as described above for the search result B2, and acquires the search result C3 (611 in FIG. 6). Since the search result C3 is a map image, the information acquisition unit 101 may end the search process when there is no Wand 104a that can accept the map image.
  • the process of obtaining the search result related to the search word A that is the first search word is repeatedly executed using one or more Wands 104 a.
  • the user can acquire related information as illustrated in FIG. 6 only by providing the search word A, which is the first search word. Thereby, the user's man-hour required for collecting information can be reduced.
  • FIG. 4 is a flowchart showing an example of processing for displaying the search result.
  • the information analysis system 100 (for example, the information display unit 102) may execute the process illustrated in FIG. 4 when, for example, the information acquisition unit 101 acquires a search result related to a certain search term.
  • the information display unit 102 initializes the distance (first distance) from the first search term to each search result (step S401). Specifically, the information display unit 102 may set a value “0” for the distance (first distance).
  • the information display unit 102 acquires the input search word (first search word) and the search result related to the search word from the search result database 106 (step S402). At this time, the information display unit 102 may increment the distance (first distance) between the first search word and the search result to “1”. In this case, the distance from the first search word to each search result (first distance) is adjusted to correspond to the number of times the search process is executed.
  • the information display unit 102 acquires, from the score database 107, the score set for the pair of the search term acquired in step S402 and the search result (step S403).
  • the information display unit 102 compares the distance (first distance) related to the search result with the score of the search result (step S404). When the score related to the search result is equal to or greater than the distance (first distance) related to the search result (YES in step S404), the information display unit 102 generates display data for displaying the search result (step S405). Specifically, the information display unit 102 may generate display data including a drawn line (for example, an arrow or a broken line) that connects the search term and the search result.
  • a drawn line for example, an arrow or a broken line
  • the information display unit 102 generates display data including an operation interface element that allows the user to input an evaluation regarding the search result in association with the search result (step S406).
  • the operation interface element the information display unit 102 includes, for example, a button with a label indicating “useful” (“useful button”) and a label indicating “non-display” in the vicinity of the search result. Display data in which buttons (“non-display buttons”) are arranged may be generated.
  • the information display unit 102 when the score related to the search result is less than the distance (first distance) related to the search result (NO in step S404), the information display unit 102 generates display data that suppresses display of the search result.
  • the information display unit 102 may generate display data in which a button (“display button”) labeled “display” is arranged in the vicinity of the search result whose display is suppressed (step S407).
  • the information display unit 102 can display an operation interface element that allows a user to input a search result and an evaluation related to the search result. It is.
  • the information display unit 102 checks whether or not there is a search result when the search result acquired in step S402 is set as a search word and searched (whether it is registered in the search result database 106) (step S102). S408).
  • step S408 that is, if there is a search result when a certain search result is used as a search word
  • the distance (first distance) is incremented (step S409). Specifically, the information display unit 102 adds “1” to the distance (first distance), for example. In other words, in this case, the number of search processes executed until each search result is obtained from the first search word corresponds to the distance (first distance) of the search result.
  • the information display unit 102 sets the search result as a new search word (step S410), and continues the processing from step S403.
  • FIG. 7 is an explanatory diagram illustrating an example of a user interface displayed to the user via the screen display unit 110, for example.
  • FIG. 7 is an explanatory diagram showing a specific example for promoting understanding of the present embodiment, and the present embodiment is not limited to this.
  • the user interface 700 illustrated in FIG. 7 is a GUI displayed on the screen display unit 110, for example.
  • the user interface 700 displays a search word A (701 in FIG. 7), which is the first search word, and one or more search results related to the search word (702 to 706 in FIG. 7).
  • a drawn line connecting the search word A (701 in FIG. 7) and the search result 702 is displayed.
  • drawn lines connecting the search word A (701 in FIG. 7) and the search result 703 are displayed.
  • the drawn lines connecting the search results 702 and the search results (704 and search results 705) when the search result 702 is a new search word are displayed.
  • search results 703 and drawn lines connecting the search results 706 when the search results 703 are new search words are displayed. Thereby, the relationship between the search term and the search result is visualized. Further, in the specific example of FIG. 7, “useful buttons”, “non-display buttons”, and “display buttons” related to each search result are displayed. The user can evaluate the usefulness regarding the search result and can change the display state regarding the search result by pressing the button.
  • the information display unit 102 can control whether or not to display the search result according to the relationship between the distance (first distance) related to the search result and the score. . For example, a search result with a higher score is displayed and a search with a lower score is performed as the distance (first distance) from the original search word (first search word) provided by the user increases as a result of the above processing. The display of results can be suppressed.
  • the score database 107 when the score database 107 is shared by a plurality of users, the score set based on the evaluation of one user for a certain search result can be shared among the plurality of users. For example, when a large number of evaluations are obtained for a certain search result, it is considered that knowledge about the usefulness of the search result is accumulated in the form of a score. That is, the information display unit 102 can determine whether or not to display a certain search result according to the user's evaluation (specifically, a score calculated based on the evaluation) accumulated with respect to the search result. It is. In addition, it is considered that the display data generated by the information display unit 102 reflects the user's knowledge about the usefulness of each search result. Thereby, the information display unit 102 presents (displays) search results determined to be highly useful from the user's viewpoint, and suppresses display of the search results determined to be low from the user's viewpoint. can do.
  • the score learning unit 103 waits until the user inputs an evaluation for the search result displayed by the information display unit 102 (screen display unit 110) (step S501). Specifically, the score learning unit 103 waits until the user operates an operation interface element (for example, a button) displayed in association with the search result.
  • an operation interface element for example, a button
  • the score learning unit 103 determines a search result associated with the pressed button (step S502). Specifically, the evaluation input unit 109 may receive a button pressing operation by the user and notify the score learning unit 103 of the button pressing operation. The score learning unit 103 may inquire the information display unit 102 about the search result associated with the pressed button.
  • the score learning unit 103 determines the type of the pressed button (step S503).
  • the score learning unit 103 may register the calculated score in the score database 107. In this case, the score learning unit 103 may increase the score of each search result existing in the route (path) from the first search word to the search result when the button is pressed.
  • step S505 when the type of the pressed button is “display button” (YES in step S505), a search result associated with the button is displayed. That is, the search result in the non-display state becomes the display state.
  • “useful buttons” and “non-display buttons” are displayed as operation interface elements related to the search result (step S506).
  • the score learning unit 103 may request the information display unit 102 to execute the display process in step S506. Further, the information display unit 102 may detect the user's operation and execute the display process in step S506.
  • redisplay button when the “Hide button” is pressed, the display of the search result associated with the button is suppressed. Further, a button labeled “redisplay” (described as “redisplay button”) is displayed as an operation interface related to the search result whose display is suppressed (step S508).
  • the score learning unit 103 may request the information display unit 102 to execute the display process in step S508. Moreover, the information display part 102 may detect a user's operation and may perform the process in said step S508.
  • the score learning unit 103 may register the calculated score in the score database 107. In this case, the score learning unit 103 may increase the score of each search result existing in the route (path) from the first search word to the search result when the button is pressed.
  • buttons are displayed as operation interface elements related to the search result (step S510).
  • the score learning unit 103 may request the information display unit 102 to execute the display process in step S510.
  • the information display unit 102 may detect the user's operation and execute the display process in step S510.
  • the score learning unit 103 can accept a user's evaluation regarding the search result through an operation on an operation interface element (for example, a button) associated with a certain search result. And the score learning part 103 can calculate the score regarding a search result based on the said user's evaluation. It is considered that the score calculated in this way reflects the user's knowledge regarding the search result (that is, the user's knowledge regarding the usefulness of the search result).
  • the information display unit 102 displays whether or not to display each search result according to the score regarding each search result and the distance (first distance) from the first search word of each search result. Determine. That is, by using the score calculated according to the user's evaluation, the information display unit 102 can generate display data that reflects the user's knowledge. As a result of the processing as described above, the search result that is far from the first search word provided by the user (first distance) (the search frequency is large) is not displayed unless the score is high. Thereby, it can suppress that excessive information (search result) is displayed on a screen about the 1st search word.
  • the information analysis system 100 can support a series of search operations in cyber attack analysis, for example, and can reduce the man-hours of the user.
  • the reason is that information related to the input information (first search word) is dynamically and repeatedly collected by the information acquisition unit 101 and the information display unit 102, and the information is displayed on the screen.
  • the information analysis system 100 in the present embodiment can present (display) useful information (search results) to the user from the user's viewpoint.
  • the reason is that the score learning unit 103 calculates a score reflecting the user's evaluation on the search result (that is, whether or not a certain search result is useful). Further, the information display unit 102 displays search results determined to be highly useful based on the score, and suppresses display of search results determined to be low usefulness. Thereby, it is thought that useful information from a user's viewpoint is provided with respect to a user among the collected information (search result).
  • the user can evaluate the usefulness of the search result through an intuitive operation.
  • the reason is that when the user changes the display state of the inspection result via an operation interface element (“useful button”, “non-display button”, “display button”, “re-display button”, etc.) regarding the search result
  • the score related to the search result is adjusted.
  • the display of the search result can be suppressed by pressing a “non-display button” related to the search result.
  • the score regarding the said search result reduces by such operation. Therefore, the user can also evaluate the usefulness of the search results by an intuitive operation of “suppressing display of unnecessary search results”.
  • Modified example 1 a first modified example (hereinafter referred to as “modified example 1”) of the present embodiment will be described.
  • the functional configuration of the information analysis system 100 in Modification 1 may be the same as the configuration illustrated in FIGS. 1A and 1B.
  • the processing in the information acquisition unit 101 is partially different from that in FIGS. 3A and 3B.
  • the information acquisition unit 101 in the first modification can determine whether or not to continue the search process, for example, according to the relationship between the distance (second distance) related to a certain search result and the score.
  • second distance related to a certain search result and the score.
  • the information acquisition unit 101 waits until a search word (first search word) is input from the user, and accepts the input search word (step S301).
  • the information acquisition unit 101 initializes (for example, sets to “0”) the distance (second distance) related to the accepted search term (step S801).
  • the distance (second distance) is a value calculated according to the number of search processes executed until each search result is obtained, for example.
  • the information acquisition unit 101 may calculate the distance (second distance) by the same processing as in step S401 in FIG. 4 described above. That is, the second distance and the first distance may be calculated by the same method.
  • the information acquisition unit 101 determines the type of search term (step S302), and selects a Wand 104a that can accept the search term (step S303). Then, the information acquisition unit 101 performs a search process using the selected Wand 104a (Step S304). When a search result exists (YES in step S305), the information acquisition unit 101 registers a search word / search result pair in the search result database 106 (step S306).
  • the processing from step S302 to step S306 may be the same as the processing illustrated in FIG. 3A.
  • the information acquisition unit 101 increments the distance (second distance) (step S802). Specifically, the information acquisition unit 101 adds “1” to the distance (second distance). In this case, the number of search processes executed until each search result is obtained from the first search word corresponds to the distance (second distance) of the search result. At this time, the information acquisition unit 101 may execute the same process as in step S409 in FIG. 4 described above.
  • the information acquisition unit 101 acquires a score relating to a pair of a search word and a search result from the score database 107 (step S803), and compares the score with a distance (second distance) (step S804).
  • step S804 when the score related to the search result is equal to or greater than the distance (second distance) related to the search result (YES in step S804), the information acquisition unit 101 continues the process from step S307. In other words, in this case, the information acquisition unit 101 repeats the search process using the search term with the search result as a new search term.
  • the information acquisition unit 101 may end the search processing related to the search result. . That is, in this case, the search process using the search result as a new search word is not executed.
  • Modification 1 may be the same as the processing of the information analysis system 100 in the present embodiment described above.
  • the information acquisition unit 101 further executes a search process related to a search result determined to be highly useful by the user according to the distance (second distance) from the first search word. Good.
  • the information acquisition unit 101 may suppress search processing related to search results determined to be less useful by the user.
  • the search process regarding the search result determined to be less useful is not executed (that is, the unnecessary search process is not executed), and thus the processing efficiency of the information analysis system 100 is improved.
  • the search process regarding the search result determined to be less useful is not executed, the search result by the search process is not displayed to the user.
  • the information analysis system 100 according to the modified example 1 presents (displays) a search result determined to be highly useful from the user's viewpoint to the user, and displays the search result determined to be low from the user's viewpoint. Display can be suppressed.
  • the number of queries (searches) per unit time may be limited for the purpose of preventing a sudden increase in processing load due to excessive queries.
  • an API key may be required when using an API provided by the information source.
  • the information analysis system according to the second modification is configured to appropriately acquire information from the information source 112 that is provided with a restriction (or restriction) in information search.
  • FIG. 9A is a block diagram illustrating a functional configuration of the information analysis system 100 in the second modified example.
  • the information analysis system 100 includes a query adjustment unit 901 and a rate limiting database 902.
  • the query adjustment unit 901 adjusts whether or not the search (inquiry) process for the information source 112 can be executed. Specifically, the query adjustment unit 901 refers to usage history information and restriction information registered in a rate restriction database 902 (described later) when the Wand 104a executes a search for a certain information source 112.
  • the usage history information is, for example, information that represents a search execution history regarding the information source 112.
  • the restriction information is, for example, information indicating a search execution condition that the information source 112 can accept.
  • the query adjustment unit 901 may obtain, for example, a search execution frequency related to the information source 112 from the usage history information and determine whether or not they are within a limit value set in the limit information. The query adjustment unit 901 may determine whether or not the search process by the Wand 104a for the information source 112 can be executed according to the determination result.
  • the rate limit database 902 may be configured to hold usage history information regarding the information source 112 and limit information.
  • the usage history information includes, for example, the time when a search process for a certain information source 112 is executed (hereinafter referred to as “use time”), the number of times the search process is executed (hereinafter referred to as “use count”), and the like. May be included.
  • the usage time and the usage count may be held in association with information that can identify the Wand 104a that has executed the search process, for example.
  • the usage time and the usage count may be held in association with information that can identify the information source 112 on which the search process has been executed.
  • usage time information that can specify the timing at which the search process is executed may be set. For example, information indicating time may be set as the usage time. Further, an elapsed time from a certain point in time (for example, an elapsed time since the information analysis system 100 is operated) may be set as the usage time. In the rate limit database 902, usage history information may be recorded in time series.
  • the limit information may include, for example, a limit time (limit time information) and a limit count (limit count information) as limit values related to a certain information source 112.
  • the time limit and the number of times limit represent that, for example, a certain information source 112 allows search processing up to the limit number of times within the time limit.
  • restriction information may be registered in advance in the rate restriction database 902 or may be editable by a user or the like.
  • rate limit database 902 for example, information that can identify a certain information source 112, usage history information, and limit information may be registered in association with each other.
  • information that can identify the Wand 104a that executes the search process for a certain information source 112, usage history information, and limit information may be associated and registered.
  • the rate limit database 902 may hold data by a method used in a general database (for example, a relational database), or may hold data by another appropriate method (for example, a file and a file system). Good.
  • a general database for example, a relational database
  • another appropriate method for example, a file and a file system. Good.
  • the information analysis system 100 in this embodiment may be configured by a functional configuration illustrated in FIG. 9B, for example, as in FIG. 1B.
  • the configuration of the terminal 113 in FIG. 9B is as described above.
  • the query adjustment unit 901 waits until Wand 104a is selected by the information acquisition unit 101 (step S1001).
  • the information acquisition unit 101 selects the Wand 104a by executing Steps S301 to S303 as in the flowcharts illustrated in FIGS. 3A, 3B, and 8, for example.
  • the information acquisition unit 101 may notify the query adjustment unit 901 of selection of the Wand 104a that executes the search.
  • the query adjustment unit 901 may detect that Wand 104a has been selected by the information acquisition unit 101.
  • the Wand 104a selected by the information acquisition unit 101 (or the Wand pool 104) may notify the query adjustment unit 901 that the Wand 104a has been selected.
  • the query adjustment unit 901 obtains usage history information and restriction information regarding the Wand 104a that executes the search from the rate restriction database 902 (step S1002).
  • the query adjustment unit 901 may acquire the usage history information and the restriction information registered in the rate restriction database 902 using, for example, information that can identify the selected Wand 104a. Alternatively, the query adjustment unit 901 may acquire the usage history and the restriction information registered in the rate restriction database 902 using information that can identify the information source 112 on which the selected Wand 104a executes the search process, for example. Good.
  • the query adjustment unit 901 determines whether or not the usage status (that is, the search execution status) of the information source 112 by the selected Wand 104a exceeds the limit value set in the limit information (step S1003).
  • the query adjustment unit 901 refers to the time limit set in the limit information.
  • the query adjustment unit 901 uses a period (referred to as a “history confirmation period”) that goes back by the time limit from the reference time (for example, the current time or the time when the search term is provided by the user).
  • the query adjustment unit 901 counts the number of search processes executed during the history check period. Specifically, for example, the query adjustment unit 901 extracts the usage history included in the usage time period during the history check period from the rate limit database 902 and counts the number of times of use, thereby executing the history check period. The number of search processes performed can be counted.
  • the query adjustment unit 901 stops the search process (step S1004) when the number of executions of the search process within the time limit exceeds the limit number as a result of the above aggregation (YES in step S1003).
  • the query adjustment unit 901 may notify the information acquisition unit 101 to stop the search process. In this case, for example, the information acquisition unit 101 may stop the processing after step S304 (FIGS. 3A, 3B, and 8) described above.
  • the query adjustment unit 901 may acquire an API key related to the API used when executing the search from the API key database 105 (step S1005). ). In addition, the query adjustment unit 901 may provide the API key acquired in step S1005 to the Wand 104a that executes the search so that the search process can be executed (step S1006). Note that the Wand 104a may acquire the API key without the query adjustment unit 901 executing the processing in steps S1004 to S1005.
  • the query adjustment unit 901 may notify the information acquisition unit 101 that search processing can be executed, for example. In this case, for example, the information acquisition unit 101 may continue the processing after step S304 (FIGS. 3A, 3B, and 8) described above.
  • the query adjustment unit 901 records the usage history in the rate limit database 902 (step S1007). Specifically, the query adjustment unit 901 records the usage time and the usage count in the rate limit database 902 as a usage history.
  • the usage time may be, for example, the current time or the time when the search process is executed by the Wand 104a.
  • the query adjustment unit 901 considers the restriction (for example, the upper limit value of the number of searches or the use of the API key) provided for a certain information source 112, whether or not the search process by the Wand 104a can be executed, etc. It is because it determines.
  • the information analysis system in the second modification it is possible to avoid a situation in which search processing for a specific information source 112 is excessively performed. That is, it is possible to prevent the user from erroneously and excessively executing a search process for a specific information source 112. For example, when the connection is rejected from the information source 112 due to excessive search processing, extra man-hours such as performing search processing again after a while may be required. According to the information analysis system in the second modified example configured as described above, for example, the possibility of occurrence of such man-hours can be reduced.
  • the Wand ID (1101 in FIG. 11) is identification information that can identify the Wand 104a, and may be represented by an appropriate symbol, numerical value, or the like.
  • the API ID (1102 in FIG. 11) is identification information (ID: Identifier) that can specify the API used for the search, and may be represented by an appropriate symbol, numerical value, or the like.
  • An API key provided from the information source 112 is set in the API key (1103 in FIG. 11). Note that the API key database 105 may hold either Wand ID (1101) or API ID (1102).
  • usage history information table 1201 usage history information is registered in time series.
  • restriction information table 1202 restriction information set for the information source 112 is registered.
  • the information source ID (1201a, 1202a in FIG. 12) is identification information that can specify the information source 112, and may be represented by an appropriate symbol, numerical value, or the like.
  • Registered in the usage time 1201b is the time when the search process related to the information source 112 specified by the information source ID is executed.
  • the number of times used (1201c in FIG. 12) the number of times the search process related to the information source 112 specified by the information source ID is executed at the time set in the usage time (1201b) is registered.
  • the time limit (1202b in FIG. 12) and the number of times (1202c in FIG. 12) the time limit and the number of times described above for the information source 112 specified by the information source ID are registered.
  • SNS_srv is identification information (ID) of the information source 112 that provides the SNS
  • SNS_Wand is identification information (ID) of the Wand 104 a that can execute a search process for the information source 112.
  • Vln_srv is identification information of the information source 112 that provides the vulnerability information service
  • Vln_Wand is identification information of the Wand 104a that can execute a search process for the information source 112.
  • RSS_srv is identification information of the information source 112 that provides RSS (RDF Site Summary or Really Simple Syndication)
  • RSS_Wand is identification information of Wand 104a that can execute a search process for the information source 112.
  • WWW_srv is identification information of the information source 112 that provides a Web server in WWW (World Wide Web), and WWW_Wand is identification information of Wand 104a capable of executing a search process for the information source 112.
  • DNS_srv is identification information of the information source 112 that provides the DNS
  • DNS_Wand is identification information of the Wand 104a that can execute a search process for the information source 112.
  • ReverseDNS_srv is identification information of the information source 112 that provides the reverse DNS
  • ReverseDNS_Wand is identification information of the Wand 104a that can execute a search process for the information source 112.
  • Whois_srv is identification information of the information source 112 that provides the Whois service
  • Whois_Wand is identification information of the Wand 104a capable of executing a search process for the information source 112.
  • Map_srv is identification information of the information source 112 that provides the map information
  • Map_Wand is identification information of the Wand 104a that can execute a search process for the information source 112. Note that only a part of the Wand 104a illustrated in FIG. 13 may be used, or the Wand 104a that is not illustrated in FIG. 13 may be used.
  • the user provides the first search word to the search word input unit 108.
  • a domain name “example.com” is provided as the first search term.
  • the information acquisition unit 101 acquires, from the Wand pool 104, a Wand 104a that can process a domain name (Wand 104a in which “domain name” is set in the search word type 201).
  • a Wand 104a that can process a domain name (Wand 104a in which “domain name” is set in the search word type 201).
  • the query adjustment unit 901 acquires, from the rate limit database 902, usage history information and limitation information regarding the Wand 104a that executes the search.
  • usage history information regarding DNS_srv and Whois_srv and restriction information are registered in the rate restriction database 902.
  • the query adjustment unit 901 determines whether or not the search process for these information sources 112 can be executed from the restriction information regarding DNS_srv and Whois_srv registered in the rate restriction database 902 and the usage history information. In the specific example illustrated in FIG. 12, the search exceeding the limit number is not executed within the limit time set for each information source 112. Therefore, the query adjustment unit 901 determines that the search process regarding these information sources 112 can be executed.
  • the API key database 105 does not have API keys related to DNS_Wand and Whois_Wand. Whois_Wand and DNS_Wand can execute search processing without using an API key.
  • the result of the search process executed by Whois_Wand and DNS_Wand is registered in the search result database 106 as exemplified in FIG.
  • the search result database 106 As exemplified in FIG.
  • an IP address and a registrant's address regarding the domain are obtained as a search result for the search word “example.com”.
  • Information other than the above may be further registered as a search result.
  • the primary key in the search result database illustrated in FIG. 14 is identification information that can uniquely identify a pair of a search word and a search result.
  • the information display unit 102 initializes a distance (first distance) from the first search word (“example.com”) to “0”, and acquires a search word / search result pair from the search result database 106. To do.
  • the information display unit 102 acquires the score set in the search result from the score database 107.
  • the information display unit 102 may acquire a primary key from the search result database 106 and acquire a score set in the search result.
  • the distance (first distance) from the first search term to the search result (IP address, domain registrant address) is smaller than the score.
  • the information display unit 102 generates display data that displays a search result for the first search word.
  • the information display unit 102 provides the display data to the screen display unit 110, and the screen display unit 110 displays a user interface 700 as illustrated in FIG.
  • some display elements are omitted in the user interface 700 illustrated in FIG.
  • a drawn line connecting the search word (1601 in FIG. 16) and each search result (1602 and 1603 in FIG. 16) is drawn. Thereby, the relationship between the search term and the search result is displayed to the user.
  • a search result 1701 represents a search result (map image) related to a search word (domain registrant address) acquired from the information source 112 (for example, Map_srv) by Map_Wand, for example.
  • Map_Wand may execute a search process for the information source 112 (Map_srv) using an API key registered in the API key database 105.
  • the search result 1702 is, for example, a search result (domain name: “example.com”) related to a search word (IP address: “aaa.bbb.ccc.ddd”) acquired from the information source 112 (for example, ReverseDNS_srv) by ReverseDNS_Wand. Represents.
  • the search result 1703 is the same.
  • the search result 1704 is, for example, a search result (IP address: “aaa.bbb.ccc.ddd”) regarding the search word (domain name: “malware.com”) acquired from the information source 112 (DNS_srv) by DNS_Wand. To express.
  • the score learning unit 103 decreases the score related to the search result 1603 and registers it in the score database 107. Further, the information display unit 102 suppresses display of the search result 1603 and the search result 1701, and a “redisplay button” is displayed in the search result 1603 (FIG. 17B).
  • the display of a certain search result is suppressed by a button operation (pressing the “non-display button”).
  • the search result whose display is suppressed (hidden) is displayed again, the user displays the search result by a button operation (pressing the “redisplay button” or the “display button”).
  • the score learning unit 103 increases or decreases the score set for the pair of the search word and the search result by the pressed button, and registers the score in the score database 107.
  • the information display unit 102 refers to the registered score when displaying the search result from the next time onward, and determines whether to display the search result.
  • the information analysis system 100 displays excessive information (search results) on the screen by controlling not to display information farther from the first search word provided by the user unless the score is higher. It is possible to suppress this.
  • FIG. 18 is a block diagram illustrating a functional configuration of the information analysis system 1800 in the present embodiment.
  • the information analysis system 1800 includes an information acquisition unit 1801 (information acquisition unit), an information display unit 1802 (information display unit), and a score learning unit 1803 (score learning unit). These components constituting the information analysis system 1800 may be communicably connected by an appropriate communication method.
  • the information analysis system 1800 may be connected to an information source via a communication network, similar to the information analysis system 100 in the first embodiment.
  • the information acquisition unit 1801 is configured to perform the following operations. That is, the information acquisition unit 1801 acquires a search result obtained by searching for search information that is information related to a search target in any one of one or more information sources. Further, the information acquisition unit 1801 uses the acquired search result as search information, executes a search for the search information in any one of one or more information sources, and acquires the search result.
  • the information acquisition unit 1801 (information acquisition means) is related to search information (for example, a cyber attack) related to a search target (for example, a security event such as a cyber attack) from the user of the information analysis system 1800, for example. Keyword etc.) may be accepted.
  • the information acquisition part 1801 may search the search information received from the user in an information source, and may acquire the search result. Further, the information acquisition unit 1801 may repeatedly execute a search for an information source by using a search result acquired from a certain information source as new search information. That is, the information acquisition unit 1801 can dynamically and repeatedly acquire a search result related to a certain search information by repeatedly executing a search in the information source using a search result related to the search information as new search information. it can.
  • the information acquisition unit 1801 may be configured to execute the same processing as the information acquisition unit 101 in the first embodiment, for example.
  • the information display unit 1802 (information display means) is configured to perform the following operations. That is, the information display unit 1802 controls whether or not to display the search result based at least in part on a score (described later) regarding the search result.
  • the score is calculated by the score learning unit 1803.
  • the information display unit 1802 controls to display the search result. May be.
  • the information display unit 1802 may control the display of the search result to be suppressed when, for example, a score related to a certain search result is lower than a specific reference.
  • the information display unit 1802 can determine, for example, whether or not to display each search result repeatedly acquired by the information acquisition unit 1801 according to the score of each search result. Even when a large amount of search results acquired by the information acquisition unit 1801 exist, the information display unit 1802 can display appropriate search results to the user.
  • the information display unit 1802 may be configured to execute the same processing as the information display unit 102 in the first embodiment, for example.
  • the score learning unit 1803 is configured to perform the following operations. That is, the score learning unit 1803 receives an evaluation related to the search result, and obtains a score representing the usefulness of the search result according to the evaluation. For example, the score learning unit 1803 may receive an evaluation related to the search result from a user of the information analysis system 1800 via some interface. For example, when the information display unit 1802 displays a search result, a user interface capable of inputting an evaluation related to the search result is displayed, and the score learning unit 1803 relates to the search result via a user operation on the user interface. Evaluation may be accepted. By such processing, the score learning unit 1803 can calculate a score based on, for example, evaluation from the user's viewpoint on the search result (that is, user's knowledge).
  • the score is used for determining whether or not the search result can be displayed in the information display unit 1802. That is, it is considered that the user's knowledge about the search result is reflected in the determination of whether or not the search result can be displayed in the information display unit 1802 by the processing as described above.
  • the score learning unit 1803 may be configured to execute the same processing as the score learning unit 103 in the first embodiment, for example.
  • the information analysis system 1800 in the present embodiment configured as described above can support a series of search operations in cyber attack analysis, for example, and can reduce the man-hours of the user.
  • the reason is that information related to search information is dynamically repeatedly collected by the information acquisition unit 1801 and the information display unit 1802 and the information is displayed.
  • the information analysis system 1800 in the present embodiment can present (display) useful information (search results) to the user from the viewpoint of the user.
  • the reason is that the score learning unit 1803 calculates a score reflecting the user's evaluation on the search result (that is, whether or not a certain search result is useful). Further, whether or not to display the search result is controlled by the information display unit 1802 based at least in part on the score.
  • useful information from a user's viewpoint among the information (search result) collected by the information acquisition unit 1801 is provided to the user.
  • the information analysis systems (100, 1800) described in the above embodiments are collectively referred to simply as “information analysis system”.
  • Each component of the information analysis system is simply referred to as “component of the information analysis system”.
  • each of the above embodiments may be configured by one or a plurality of dedicated hardware devices.
  • each component shown in each of the above drawings may be realized as hardware (an integrated circuit or the like on which processing logic is mounted) that is partially or fully integrated.
  • the components of the information analysis system may be implemented by an SoC (System on a Chip) or the like that can provide each function.
  • SoC System on a Chip
  • data held by the components of the information analysis system may be stored in a RAM (Random Access Memory) area or a flash memory area integrated as an SoC.
  • a well-known communication bus or communication network may be adopted as a communication line for connecting each component of the information analysis system. Further, the communication line connecting each component may be connected between each component by peer-to-peer.
  • the hardware devices may be communicably connected by an appropriate communication method (wired, wireless, or a combination thereof).
  • the information analysis system described above may be configured by a general-purpose hardware device 1900 illustrated in FIG. 19 and various software programs (computer programs) executed by the hardware device 1900.
  • the information analysis system may be configured by an appropriate number of hardware devices 1900 and software programs.
  • the arithmetic device 1901 may read various software programs stored in a non-volatile storage device 1903, which will be described later, into the memory 1902 and execute processing according to the software programs.
  • the components of the information analysis system in each of the above embodiments can be realized as a software program executed by the arithmetic device 1901.
  • the memory 1902 is a memory device such as a RAM that can be referred to from the arithmetic device 1901, and stores software programs and various data. Note that the memory 1902 may be a volatile memory device.
  • the non-volatile storage device 1903 is a non-volatile storage device such as a magnetic disk drive or a semiconductor storage device using a flash memory.
  • the nonvolatile storage device 1903 can store various software programs, data, and the like.
  • the API key database 105, the search result database 106, the score database 107, and the rate limit database 902 in the above embodiments may hold data in the nonvolatile storage device 1903.
  • the drive device 1904 is, for example, a device that processes reading and writing of data with respect to a recording medium 1905 described later.
  • the recording medium 1905 is an arbitrary recording medium capable of recording data, such as an optical disk, a magneto-optical disk, and a semiconductor flash memory.
  • the network interface 1906 is an interface device connected to a communication network.
  • a wired and wireless LAN (Local Area Network) connection interface device or the like may be employed.
  • the hardware device 1900 that implements the information acquisition unit 101 in each of the above embodiments may be connected to the communication network (111, 114) via the network interface 1906.
  • the hardware device 1900 in which the Wand 104a in each of the above embodiments is executed may be connected to the communication network (111) via the network interface 1906.
  • the input / output interface 1907 is a device that controls input / output with an external device.
  • an external device may be, for example, an input device (for example, a keyboard, a mouse, a touch panel, etc.) that can accept an input from a user.
  • the external device may be an output device (for example, a monitor screen, a touch panel, etc.) that can present various outputs to the user, for example.
  • the hardware device 1900 capable of realizing the information display unit (102, 1802) may display, for example, the user interface 700 described above on a monitor screen connected via the input / output interface 1907.
  • the hardware device 1900 capable of realizing the score learning unit (103, 1803) has an input from a user (for example, an operation on an operation interface element) via an input device connected via an input / output interface 1907, for example. May be accepted.
  • the information analysis system in the present invention described by taking each of the above embodiments as an example supplies a software program capable of realizing the functions described in each of the above embodiments to, for example, the hardware device 1900 illustrated in FIG. By doing so, it may be realized. More specifically, for example, the present invention may be realized by the arithmetic device 1901 executing a software program supplied to such a device. In this case, an operating system running on the hardware device 1900, middleware such as database management software, network software, or the like may execute part of each process.
  • each unit illustrated in each of the above-described drawings is a function (process) of a software program executed by the above-described hardware. It can be realized as a software module that is a unit. However, the division of each software module shown in these drawings is a configuration for convenience of explanation, and various configurations can be assumed for implementation.
  • these software modules may be stored in the nonvolatile storage device 1903. Then, the arithmetic device 1901 may read out these software modules to the memory 1902 when executing each processing.
  • various data may be transmitted to each other by an appropriate method such as shared memory or inter-process communication.
  • these software modules can be connected so as to communicate with each other.
  • each software program may be recorded on the recording medium 1905.
  • each of the software programs may be stored in the nonvolatile storage device 1903 through the drive device 1904 as appropriate at the shipping stage or the operation stage of the communication device.
  • the method of supplying various software programs to the information analysis system is installed in the apparatus using an appropriate jig in the manufacturing stage before shipment or the maintenance stage after shipment. You may adopt the method of doing.
  • a method for supplying various software programs a general procedure may be adopted at present, such as a method of downloading from the outside via a communication line such as the Internet.
  • the present invention can be understood to be constituted by a code constituting the software program or a computer-readable recording medium on which the code is recorded.
  • the recording medium is not limited to a medium independent of the hardware device 1900, and includes a storage medium in which a software program transmitted via a LAN or the Internet is downloaded and stored or temporarily stored.
  • the information analysis system described above or the components of the information analysis system includes a virtual environment in which the hardware device 1900 illustrated in FIG. 19 is virtualized, and various software programs executed in the virtual environment ( Computer program).
  • the components of the hardware device 1900 illustrated in FIG. 19 are provided as virtual devices in the virtual environment.
  • the present invention can be realized with the same configuration as when the hardware device 1900 illustrated in FIG. 19 is configured as a physical device.
  • any one of the one or more information sources by searching for search information that is information related to a search target, a search result related to the search information is acquired, and the acquired search result is used as the search information.
  • Information acquisition means capable of further acquiring a search result related to the search information from any of the information sources;
  • Score learning means for determining the usefulness of the search result according to the evaluation received with respect to the search result;
  • An information analysis system comprising: information display means for controlling whether or not to display the search result according to usefulness regarding the search result.
  • the score learning means obtains a score representing the usefulness of the search result according to the evaluation received with respect to the search result,
  • the information analysis system according to supplementary note 1 wherein the information display unit controls whether to display the search result according to the score related to the search result.
  • the information display means displays at least a part of the one or more search results according to the score, and displays an operation interface that is a user interface used for evaluation related to the search results.
  • the information analysis system according to supplementary note 2 wherein the score learning unit obtains the score related to the search result in accordance with the evaluation related to the search result received through the operation interface.
  • the information acquisition means Receiving the first search information as the search information, obtaining a search result related to the first search information in any of the information sources, Using the acquired search result as the search information, it is possible to repeatedly execute a process of further acquiring a search result related to the search information from any of the information sources,
  • the information display means is Depending on the number of searches performed in any of the information sources from when the search related to the first search information is executed to when the search result related to the search information is acquired, the first search information is acquired. Calculating a first distance between the search information and the search result related to the search information;
  • the information analysis system according to supplementary note 3, wherein whether or not to display the search result is controlled according to the first distance related to the search result and the score related to the search result.
  • the information display means is The information analysis system according to claim 4, wherein when the score related to a certain search result is equal to or greater than the first distance related to the search result, the search result is displayed.
  • the operation interface is an interface capable of inputting an evaluation regarding usability regarding the search result by an operation on the operation interface.
  • the score learning means increases the score related to the search result when the search result is evaluated to be useful according to the operation of the operation interface, and the search result is evaluated to be not useful
  • the information analysis system according to appendix 4 or appendix 5, wherein the score related to the search result is decreased.
  • the operation interface is an interface that can instruct a change in the display state of the search result
  • the score learning means decreases the score related to the search result when an instruction to hide the displayed search result is given according to the operation of the operation interface
  • the information analysis system according to any one of appendix 4 to appendix 6, wherein when an instruction to display the search result is given, the score related to the search result is increased.
  • the information acquisition means Calculating a second distance between the first search information and the search result according to the number of searches performed on any of the information sources until the search result is acquired; If the score related to a certain search result is equal to or greater than the second distance related to the search result, the search result is used as the search information from any one of the information sources.
  • the limit information includes at least time limit information that is information indicating a period, and limit number information that is information indicating the number of times the search for the information source can be performed during the period
  • the usage history information includes at least information that can specify the time when the search related to the information source is executed in a time series.
  • the query adjustment unit is a timing at which the information acquisition unit executes the search in the information source. If a search performed in the information source in the period represented by the time limit information in the past is acquired from the usage history information and the number of times is less than the number represented by the time limit information, The information analysis system according to appendix 9, wherein it is determined that a search for the information source can be executed.
  • the score learning means accumulates the score obtained for the search result in a score storage means capable of storing the search result and a score related to the search result,
  • the information analysis unit according to appendix 4, wherein the information display unit displays the search result when the score stored in the score storage unit is greater than or equal to the first distance regarding the search result.
  • the information display means is The information analysis system according to appendix 2 to appendix 11, wherein when the search result is already displayed, the display of the same search result as the search result is suppressed.
  • (Appendix 13) Information processing system In any one of the one or more information sources, by searching for search information that is information related to a search target, a search result related to the search information is acquired, and the acquired search result is used as the search information. To obtain further search results related to the search information from any of the above information sources, According to the evaluation received for the search results, determine the usefulness of the search results, An information analysis method for controlling whether or not to display the search result according to usefulness regarding the search result. (Appendix 14) The computer searches the search information that is information related to the search target in any one of the one or more information sources to obtain a search result related to the search information, and the acquired search result is used as the search information.
  • a process for further obtaining a search result related to the search information from any of the information sources A process for determining the usefulness of the search result according to the evaluation received with respect to the search result;
  • a search result related to the search information is searched for in the information source by acquiring search information that is information related to the search target, and the search information is searched for in the information source using the acquired search result as the new search information.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)

Abstract

情報収集におけるユーザの工数を低減し、ユーザに対して適切な情報を表示する。情報分析システム(1800)は、1以上の情報源のうちいずれかの上記情報源において、検索対象に関する情報である検索情報を検索することで、当該検索情報に関する検索結果を取得し、取得した当該検索結果を上記検索情報として用いて、いずれかの上記情報源から検索結果を更に取得可能な情報取得部(1801)と、上記検索結果に関する評価を受け付け、当該評価に応じて、当該検索結果の有用性を判定するスコア学習部(1803)と、上記検索結果に関する有用性に応じて、上記検索結果を表示するか否かを制御する情報表示部(1802)と、を備える。

Description

情報分析システム、情報分析方法及び記録媒体
 本発明は、セキュリティに関する情報を収集及び分析する技術に関する。
 昨今、情報処理装置(例えばコンピュータ等)に不正な命令を与えるサイバー攻撃等に起因したセキュリティの脅威が社会問題となっている。
 サイバー攻撃が生じた場合、セキュリティ担当者は、例えば、攻撃に用いられたマルウェア(不正なソフトウェア・プログラム等)の名称、通信元及び通信先のIPアドレス、並びに発生日時などの情報を用いて、当該サイバー攻撃に関する情報を収集する。この際、セキュリティ担当者は、収集した断片的な情報を用いて、更に関連する情報を検索する場合がある。
 セキュリティに関連する情報の収集、分析に関連して、例えば以下のような技術が開示されている。
 特許文献1には、webクローリングにより収集したwebページから脆弱性情報を抽出し、抽出した脆弱性情報間の参照関係を解析する技術が開示されている。特許文献1に開示された技術は、脆弱性情報を含むwebページのリンクを辿ることで関連するwebページを取得し、脆弱性情報を含むwebページと他のwebページとの間の参照関係を解析する。
 特許文献2には、評価対象のWebサイトに直接アクセスすることにより収集した直接情報と、情報提供サイトから取得した、評価対象のWebサイトのセキュリティ状態に関する情報とを用いて、評価対象のWebサイトに関する評価情報を生成する技術が開示されている。
特開2008-197877号公報 特許第5580261号公報
 サイバー攻撃が増加していることから、セキュリティに関する情報(以下「セキュリティ情報」と記載する場合がある)の検索及び収集に要する時間も増大している。このため、セキュリティ担当者が情報の検索及び収集に要する工数が増大している。また、収集したすべての情報をセキュリティ担当者等に対して表示すると、表示される情報が膨大になる場合がある。この場合、セキュリティ担当者が、有用な情報を認識することが困難になる。これに対して、上記特許文献1及び特許文献2に開示された技術は、セキュリティ情報を収集する技術であり、収集した情報が、必ずしもセキュリティ担当者の観点から適切に提供されるとは限らない。
 本開示は係る事情を鑑みてなされたものである。即ち、本開示は、セキュリティに関して収集された情報を適切に提供可能な情報分析システム等を提供することを、主たる目的の一つとする。
 本開示の一態様に係る情報分析システムは、1以上の情報源のうちいずれかの上記情報源において、検索対象に関する情報である検索情報を検索することで、当該検索情報に関する検索結果を取得し、取得した当該検索結果を上記検索情報として用いて、いずれかの上記情報源から、当該検索情報に関する検索結果を更に取得可能な情報取得手段と、上記検索結果に関して受け付けた評価に応じて、当該検索結果の有用性を判定するスコア学習手段と、上記検索結果に関する有用性に応じて、上記検索結果を表示するか否かを制御する情報表示手段と、を備える。
 本開示の一態様に係る情報分析方法は、情報処理システムが、1以上の情報源のうちいずれかの上記情報源において、検索対象に関する情報である検索情報を検索することで、当該検索情報に関する検索結果を取得し、取得した当該検索結果を上記検索情報として用いて、いずれかの上記情報源から、当該検索情報に関する検索結果を更に取得し、上記検索結果に関して受け付けた評価に応じて、当該検索結果の有用性を判定し、上記検索結果に関する有用性に応じて、上記検索結果を表示するか否かを制御することを含む。
 また、同目的は、上記構成を有する情報分析システム、情報分析方法をコンピュータによって実現するコンピュータ・プログラム、及び、そのコンピュータ・プログラムが記録されているコンピュータ読み取り可能な記録媒体等によっても達成される。即ち、本開示の一態様に係る記録媒体には、コンピュータに1以上の情報源のうちいずれかの上記情報源において、検索対象に関する情報である検索情報を検索することで、当該検索情報に関する検索結果を取得し、取得した当該検索結果を上記検索情報として用いて、いずれかの上記情報源から、当該検索情報に関する検索結果を更に取得する処理と、上記検索結果に関して受け付けた評価に応じて、当該検索結果の有用性を判定する処理と、上記検索結果に関する有用性に応じて、上記検索結果を表示するか否かを制御する処理と、を実行させる情報分析プログラムが記録される。
 本開示によれば、セキュリティに関して収集された情報を適切に提供することが可能である。
図1Aは、本開示の第1の実施形態における情報分析システム100の機能的な構成例を示すブロック図である。 図1Bは、本開示の第1の実施形態における情報分析システム100の他の機能的な構成例を示すブロック図である。 図2Aは、本開示の第1の実施形態におけるWand及びWandプールの構成例を示す説明図である。 図2Bは、本開示の第1の実施形態におけるWandの具体例を示す説明図である。 図2Cは、本開示の第1の実施形態におけるWandプールの他の構成例を示す説明図である。 図3Aは、本開示の第1の実施形態における情報取得部の動作例を示すフローチャートである。 図3Bは、本開示の第1の実施形態における情報取得部の他の動作例を示すフローチャートである。 図4は、本開示の第1の実施形態における情報表示部の動作例を示すフローチャートである。 図5は、本開示の第1の実施形態におけるスコア学習部の動作例を示すフローチャートである。 図6は、検索語及び検索結果の具体例を示す説明図である。 図7は、ユーザに提示される表示画面の具体例を示す説明図である。 図8は、本開示の第1の実施形態に関する第1の変形例における情報取得部の動作例を示すフローチャートである。 図9Aは、本開示の第1の実施形態に関する第2の変形例における情報分析システムの機能的な構成例を示すブロック図である。 図9Bは、本開示の第1の実施形態に関する第2の変形例における情報分析システムの他の機能的な構成例を示すブロック図である。 図10は、本開示の第1の実施形態に関する第2の変形例におけるクエリ調整部の動作例を示すフローチャートである。 図11は、本開示の第1の実施形態に関する具体例におけるAPIキーデータベースを例示する説明図である。 図12は、本開示の第1の実施形態に関する具体例におけるレート制限データベースを例示する説明図である。 図13は、本開示の第1の実施形態に関する具体例におけるWandを例示する説明図である。 図14は、本開示の第1の実施形態に関する具体例における検索結果データベースを例示する説明図である。 図15は、本開示の第1の実施形態に関する具体例におけるスコアデータベースを例示する説明図である。 図16は、本開示の第1の実施形態に関する具体例においてユーザに表示される表示画面を例示する説明図である。 図17Aは、本開示の第1の実施形態に関する具体例においてユーザに表示される表示画面を例示する説明図である。 図17Bは、本開示の第1の実施形態に関する具体例においてユーザに表示される表示画面を例示する説明図である。 図18は、本開示の第2の実施形態における情報分析システムの機能的な構成例を示すブロック図である。 図19は、本開示の各実施形態を実現可能なハードウェア装置の構成を例示する説明図である。
 本開示の実施形態に関する説明に先立って、本開示における技術的な検討事項等について詳細に説明する。
 セキュリティ担当者は、サイバー攻撃等が発生した場合、例えば、当該サイバー攻撃に関連して早期に得られる情報(例えば、マルウェアの名称、マルウェア本体、通信情報等)からキーワード(検索語)を得る(選択する)。セキュリティ担当者は、各種情報源において当該キーワードに関する情報を検索する。セキュリティ担当者は、係る検索により得られた断片的な情報から更なるキーワードを選択し、当該キーワードを用いて更に情報を検索する。セキュリティ担当者は、例えば、適切なセキュリティ対策に要する情報が得られるまで、上記検索処理を繰り返す。セキュリティ担当者は、例えば経験に基づいて、収集した情報から有用な情報を抽出(選択)し、更なる攻撃を防ぐようにセキュリティ対策を実施する。
 サイバー攻撃の増大に伴い、情報収集及び分析に要するセキュリティ担当者の工数が増大するとともに、収集される情報も増加している。このため、情報収集に要する工数を低減する観点から、各種情報源に対して繰り返される情報検索の処理を効率的に実行可能な技術を提供することが、本開示における技術的な検討事項の一つである。
 収集される情報には、有用性が比較的高い情報と、低い情報とが混在していることがある。収集された情報がセキュリティ担当者に対して提供された場合、セキュリティ担当者は、係る情報のうち、有用な情報を選択することを求められる。例えば、収集された全ての情報が、表示画面等を介してセキュリティ担当者に表示された場合、表示される情報が爆発的に増大する可能性があり、セキュリティ担当者が有用な情報を認識することが困難になると考えられる。このため、例えば、セキュリティ担当者にとっての有用性に関する観点を反映することにより、収集したセキュリティ情報のうち、有用性が高いと判定された情報を提供することが、本開示における技術的な検討事項の一つである。
 これに対して、以下の各実施形態を用いて説明する情報分析システムは、例えば、各種情報源から、セキュリティに関連する検索情報を繰り返し検索可能である。当該情報分析システムは、例えば、収集した検索結果をセキュリティ担当者等に提供(表示)し、当該検索結果に関する評価を受け付け可能である。当該情報分析システムは、例えば、受け付けた評価に応じて、当該検索結果の提供方法(表示方法)を適宜調整可能である。
 本開示に係る情報分析システムを上記のように構成することで、情報収集に要する工数が低減され得る。その理由は、当該情報分析システムが、セキュリティに関連する検索情報と、その検索結果とを用いて情報源における検索処理を繰り返し実行することで、ある検索情報に関連する一連の情報を取得できるからである。また、本開示に係る情報分析システムを上記のように構成することで、セキュリティ担当者の観点から有用な情報が提供され得る。その理由は、収集された検索結果に対するセキュリティ担当者の評価を反映して、当該検索結果の提供方法が調整されるからである。
 以下、各実施形態を用いて、本開示に係る情報分析システムについて詳細に説明する。以下の各実施形態に記載されている情報分析システムの構成は例示であり、本発明の技術範囲はそれらには限定されない。即ち、以下の各実施形態における情報分析システムを構成する構成要素の区分け(例えば、機能的な単位による分割)は、情報分析システムを実現可能な一例であり、当該情報分析システムの実装に際しては、以下の例示に限定されず、様々な構成が想定される。以下の各実施形態における情報分析システムを構成する構成要素は、更に分割されてもよい。また、以下の各実施形態における情報分析システムを構成する1以上の構成要素が統合されてもよい。
 以下において説明する情報分析システムは、単体の装置(物理的あるいは仮想的な装置)を用いて構成されてもよく、複数の離間した装置(物理的あるいは仮想的な装置)を用いて実現されてもよい。情報分析システムが複数の装置により構成される場合、各装置の間は有線、無線、又はそれらを適切に組み合わせた通信ネットワーク(通信回線)により通信可能に接続されてもよい。係る通信ネットワークは、物理的な通信ネットワークであってもよく、仮想的な通信ネットワークであってもよい。以下において説明する情報分析システム、あるいは、その構成要素を実現可能なハードウェア構成については、後述する。
 <第1の実施形態>
 [構成]
 本開示に関する第1の実施形態について図面を参照して詳細に説明する。図1Aは、本開示の第1の実施形態における情報分析システム100の機能的な構成を例示するブロック図である。
 図1Aに例示するように、情報分析システム100は、情報取得部101と、情報表示部102と、スコア学習部103とを備える。情報分析システム100は、1以上のWand104aを保持するWandプール104を備えてもよい。情報分析システム100は、検索結果データベース106及びスコアデータベース107を備えてもよい。
 本実施形態における情報分析システム100は、通信ネットワーク111を介して、1以上の情報源112と通信可能に接続されていてよい。通信ネットワーク111は、例えば、インターネット(Internet)等の広域通信網であってもよく、LAN(Local Area Network)などの構内通信網であってもよく、これらの組合せであってもよい。通信ネットワーク111は、無線通信、有線通信、又はこれらの組合せにより実現されてよい。
 情報源112は、情報分析システム100からのリクエストに応じて、情報分析システム100に当該情報源112が保持する情報を提供可能な、装置あるいはシステムである。情報源112は、例えば、通信ネットワーク111を介して利用可能なAPI(Application Programming Interface)を、情報分析システム100に提供してもよい。係るAPIの形式は、情報源112ごとに適宜定められてよい。例えば、情報源112がWebサービスである場合、係るAPIは、当該Webサービスを利用する際に用いられるインタフェース(例えば、ある特定のURLに対するリクエスト送信等)であってもよい。
 本実施形態における情報源112の構成は、特に限定されない。情報源112は、例えば、各種情報を提供するサーバとして実現されてもよい。情報源112は、例えば、通信ネットワーク111を介して各種脆弱性情報を提供するサービスであってもよい。情報源112は、例えば、通信ネットワーク111を介して接続可能な電子掲示板であってもよい。情報源112は、例えば、通信ネットワーク111を介して情報を提供するWebサービスであってもよい。また、情報源112は、例えば、通信ネットワーク111を介して提供されるソーシャルネットワーキングサービス(SNS:Social Networking Service)であってもよい。
 以下、情報分析システム100に含まれ得る構成要素について説明する。
 情報取得部101は、ある検索情報が提供された際、情報源112から当該検索情報に関連する情報を検索して取得するよう構成される。係る検索情報は、ある検索対象(例えば、各種サイバー攻撃等のセキュリティ事象)の検索に用いられる情報(例えば、当該セキュリティ事象に関連するキーワード等)であってよい。
 情報取得部101には、例えば、検索語入力部108を介して、情報分析システム100のユーザから、検索情報が提供されてもよい。
 情報分析システム100のユーザは特に限定されない。係るユーザには、例えば、情報分析システム100を利用してセキュリティに関する情報を収集及び分析するセキュリティ担当者が含まれてもよく、情報分析システム100を利用する他の情報処理システム等が含まれてもよい。以下、情報分析システム100のユーザを、単に「ユーザ」と記載し、ユーザから提供された検索情報を「第1の検索情報」と記載する場合がある。
 検索語入力部108は、例えば、ユーザが入力装置(例えば、キーボード、マウス、タッチパネル、マイクロホン、カメラ等)を用いて入力した検索情報を、情報取得部101に提供するよう構成されてよい。ユーザは、検索情報として、例えば、あるセキュリティ事象に関連する単語、語句、文章等を、検索情報として検索語入力部108に入力する。検索語入力部108は、ユーザから受け付けた検索情報を、言語情報(例えばテキスト情報等)に変換して情報取得部101に提供してもよい。あるいは、情報取得部101が、検索語入力部108を介して提供された検索情報を言語情報に変換してもよい。以下、言語情報として表された検索情報を「検索語」と記載する場合がある。また、第1の検索情報に相当する検索語を、「第1の検索語」と記載する場合がある。上記したように、検索語は、例えば、ユーザが検索したいセキュリティ事象に関する単語、語句、文章等を表すテキスト情報であり、当該セキュリティ事象に関するキーワードが含まれていてもよい。
 情報取得部101は、例えば、Wandプール104に保持された1以上のWand104aを用いて、情報源112から、検索語に関する情報を取得してもよい。
 Wand104aは、例えば、情報源112(もしくは情報源112が提供する情報)に対して検索語に関する情報を問い合わせ(検索し)、その結果を情報取得部101に提供可能な、検索処理モジュールである。各情報源112について、それぞれ当該情報源112に対する問い合わせを実行可能なWand104aが割り当てられてもよい。一つのWand104aが複数の情報源112に割り当てられてもよく、一つの情報源112に対して複数のWand104aが割り当てられてもよい。
 図2Aを参照して、Wand104aについて説明する。各Wand104aは、例えば、当該Wand104aが処理可能な検索語の種類を表す情報として、検索語タイプ201を保持する。係る検索語タイプ201には、Wand104aが処理可能な検索語の種類として、例えば、ドメイン名(ドメインネーム)、URL(Universal Resource Locator)、ホスト名、IP(Internet Protocol)アドレス、メールアドレス、個人名、法人名、団体名、等が設定されてもよい。Wand104aが保持する検索語タイプ201は、例えば、情報取得部101から参照可能であってもよい。
 Wand104aは、例えば、情報源112から検索語に関する情報を取得する処理を実行可能な検索ルーチン202を有する。係る検索ルーチン202は、例えば、情報取得部101から提供された検索語を引数として受け付け、当該検索語を用いて情報源112に対する検索処理を実行するよう構成されてよい。また、係る検索ルーチンは、係る検索処理を実行して得られた検索結果のうち、少なくとも一部を返値として情報取得部101に返却するよう構成されてもよい。Wand104aは、例えば、プログラム・モジュール等の形式により実現されてもよく、ライブラリ等の形式により実現されてもよい。
 Wand104aは、例えば、APIを提供する情報源112に対する検索処理を実行する場合、APIキーデータベース105(後述)から、当該情報源112が提供するAPIを利用する際に用いるAPIキーを取得してもよい。
 APIキーは、例えば、あるAPIを実行する際に要求されるデータ(例えば、認証に用いられるデータ)であり、多くの場合、当該APIを提供する情報源112により提供(発行)される。APIキーを要求するAPIを利用する際、Wand104aは、当該APIを提供する情報源112に対して、APIキーを送信する。情報源112に対してAPIキーを送信する方法の一つとして、例えば、当該APIに対する引数としてAPIキーを設定する方法が知られている。なお、情報源112が提供するAPIを利用する際に、APIキーを要するか否かは、当該APIを提供する情報源及び当該APIの種類等に応じて定められる。APIキーは周知技術を採用して実現可能であるので、詳細な説明を省略する。
 図2Bは、Wand104aの具体例を示す説明図である。図2Bに示すWand104a(WhoisWand)の場合、検索語タイプ201には「ドメインネーム」が設定されている。これより、係るWand104aは、検索語としてドメインネームを受け付けることが可能である。また、係るWand104aの検索ルーチン202には、情報源112として「Whois」サービスを利用する検索ルーチンが設定されている。即ち、図2Bに示す具体例の場合、Wand104aは、情報取得部101から、引数として渡されたドメインネームを用いてWhoisサービスを検索する。そして、係るWand104aは、「登録者氏名」、「メールアドレス」等を検索結果として取得し、情報取得部101に返値として返す。
 情報取得部101は、Wand104aから1以上の検索結果を取得した場合、当該検索結果を新たな検索語として他のWand104aに提供し、更に検索を実行することができる。即ち、情報取得部101は、ある検索語に関する検索結果を新たな検索語として用いることで、ある情報に対する検索処理を繰り返し実行することが可能である。以下、第1の検索情報(第1の検索語)に関する検索結果を新たな検索情報(検索語)として用いる場合、当該新たな検索情報(検索語)を第2の検索情報(第2の検索語)と記載する場合がある。また、第2の検索情報(第2の検索語)に関する検索結果を、更に新たな検索情報(検索語)として用いる場合も、当該新たな検索情報(検索語)を第2の検索情報(第2の検索語)と記載する場合がある。
 情報取得部101は、検索語と、Wand104aから提供された検索結果とを関連付けて、検索結果データベース106に登録してよい。情報取得部101は、例えば、検索語と、検索結果とを組(ペア)として関連付けて、検索結果データベース106に登録してよい。ある検索語と検索結果との組合せが、既に検索結果データベース106に登録されている場合、情報取得部101は、当該検索語と検索結果との組合せを検索結果データベース106に重複して登録せずともよい。
 情報取得部101は、検索語と、検索結果との組に関するスコア(後述)の初期値を、スコアデータベース107に登録してもよい。係るスコアの初期値は、所定の設定値として与えられてもよく、事前実験等により適宜求められてもよい。例えば、ユーザが、後述する情報表示部102(画面表示部110)により表示された画面に含まれる検索結果の個数等に応じて、係るスコアの初期値を適宜調整してもよい。
 Wandプール104は、1以上のWand104aを保持する。Wandプール104は、例えば、ファイルシステム、データベース等、適切なデータ保持方法を用いて実現可能である。なお、Wand104aが、例えば、プログラム・モジュールの形式で実装される場合、Wandプール104は、当該モジュールを格納するパッケージとして実現されてもよい。Wandプール104は、図2Cに例示するように、情報取得部101に含まれてもよい。
 APIキーデータベース105は、情報源112により提供されるAPIを利用する際に用いられるAPIキーを保持するよう構成されてよい。APIキーデータベース105には、あるAPIを利用する際に必要となるAPIキーを特定可能な情報が、適宜登録されてよい。例えば、APIキーデータベース105には、APIを特定可能な情報と、当該APIに関するAPIキーとが関連付けされて登録されてもよい。また、各Wand104aが使用するAPIが予め定められている場合には、例えば、Wand104aを特定可能な情報と、当該Wand104が使用するAPIに関するAPIキーと、が関連付けて登録されてよい。また、例えば、APIを提供する情報源112を特定可能な情報と、APIキーと、が関連付けて登録されてよい。
 APIキーは、APIキーデータベース105には予め設定されていてもよく、ユーザにより編集可能であってもよい。また、Wand104aが、あるAPIを利用する前に、情報源112からAPIキーを取得し、APIキーデータベース105に登録してもよい。なお、APIキーを要求しない情報源112に対してのみ検索を実行する場合(例えば、全ての情報源112がAPIキーを必要としない場合等)、情報分析システム100は、APIキーデータベース105を含まなくともよい。
 本実施形態においては、APIキーデータベース105に代替して、例えば、各Wand104aがAPIキーを保持してもよい。
 APIキーデータベース105は、一般的なデータベース(例えば関係データベース等)において用いられる方法によりデータを保持してもよく、その他の、適切な方法(例えば、ファイル及びファイルシステム等)によりデータを保持してよい。
 検索結果データベース106は、情報取得部101から提供された検索結果を保持するよう構成されてよい。検索結果データベース106は、例えば、検索語と、検索語の種類を表す検索語タイプと、検索結果とを関連付けて保持してもよい。検索結果データベース106は、上記以外の情報を保持してもよい(例えば、検索結果の種類を表す情報等)。
 検索結果データベース106は、一般的なデータベース(例えば関係データベース等)において用いられる方法によりデータを保持してもよく、その他の、適切な方法(例えば、ファイル及びファイルシステム等)によりデータを保持してよい。
 情報表示部102は、ユーザに対する、検索語及び当該検索語に関する検索結果の表示を制御するよう構成される。情報表示部102は、例えば、検索語及び当該検索語に関する検索結果をユーザに表示する表示データを生成するよう構成されてもよい。以下においては、一例として、情報表示部102がユーザに表示する表示データを生成し、当該表示データを画面表示部110(後述)が表示する態様について説明する。本実施形態はこれに限定されず、情報表示部102が、ユーザに対して検索結果を直接提供してもよい。
 情報表示部102は、第1の検索語から各検索結果までの距離を保持し、当該距離と、各検索結果に対して設定されるスコア(後述)とに応じて、検索語及び検索結果の表示を制御する。第1の検索語から、各検索結果までの距離は、例えば、各検索結果が得られるまでに実行された検索処理の回数に応じて算出される。以下、係る距離を「第1の距離」と記載する場合がある。
 第1の検索語から、各検索結果までの距離(第1の距離)は、各検索結果が得られるまでに実行された検索処理の回数を用いて表されてもよい。上記に限定されず、情報表示部102は、例えば、各検索結果が得られるまでに実行された検索処理の回数に対して適切な係数を加算、減算、乗算、除算等を実行することで、第1の検索語から各検索結果までの距離を算出してもよい。また、情報表示部102は、例えば、各検索結果が得られるまでに実行された検索処理の回数を適切な計算式に代入することで、第1の検索語から各検索結果までの距離を算出してもよい。
 情報表示部102は、例えば、後述するスコアデータベース107から、ある検索語と、当該検索語に関する検索結果とに関して設定されたスコアを取得することができる。情報表示部102は、例えば、検索結果に関して設定されたスコアが、当該検索結果に関して算出された距離(第1の距離)より大きい場合、当該検索結果を表示するよう画面表示部110を制御してよい。この場合、情報表示部102は、検索語と、検索結果との間の関連性を可視化する描画要素(例えば、検索語と、検索結果との間を関連付ける描線など)を表示する表示データを生成してよい。
 情報表示部102は、表示された検索結果をユーザが評価する際に用いられる操作インタフェース要素を表示する表示データを生成可能である。係る操作インタフェース要素は、例えば、各種ボタン、ドロップダウンリスト、スピンコントロール、メニュー、入力ボックス等、GUI(Graphical User Interface)の構成要素であってよい。係る操作インタフェースは、検索結果に関する評価を入力可能なインタフェースであってよい。また、係る操作インタフェースは、検索結果の表示状態(検索結果が表示されるか否か)を変更可能なインタフェースであってもよい。
 情報表示部102は、例えば、検索結果に関して設定されたスコアが、当該検索結果に関して算出された距離(第1の距離)未満の場合、当該検索結果の表示を抑制する表示データを生成してもよい。この場合、情報表示部102は、表示が抑制されている検索結果を再表示する際に用いられる操作インタフェース要素(例えば、ボタン等)を表示する表示データを生成可能である。
 情報表示部102は、例えば、検索結果と、当該検索結果に関連する操作インタフェース要素とを関連付ける情報を保持してもよい。
 情報表示部102は、例えば、ある検索語に関する検索結果と同様の結果が既に得られている場合(同じ検索結果が重複して得られた場合)、当該検索結果の表示を抑制する表示データを生成してもよい。これにより、情報表示部102は、同じような検索結果が複数個所に重複して表示されないように、表示される内容を制御可能である。
 また、情報表示部102は、操作インタフェース要素に対してユーザがなんらかの操作を行った場合、当該操作に応じた適切な表示データを生成可能である。情報表示部102は、例えば、当該操作インタフェース要素がボタンである場合、当該ボタンに対する押下操作が実行された際、当該操作に応じて表示内容を変更するように、適切な表示データを生成してよい。例えば、情報表示部102は、当該操作インタフェース要素に対する操作に応じて、少なくとも一部の検索結果の表示状態(表示又は非表示)が切り替えられた表示データを生成してもよい。また、情報表示部102は、当該操作インタフェース要素に対する操作に応じて、1以上の異なる操作インタフェース要素が表示される表示データを生成してもよい。当該操作インタフェース要素がボタンである場合、情報表示部102は、例えば、当該ボタンの押下操作に応じて、1以上の異なるボタンが表示される表示データを生成してもよい。
 画面表示部110は、情報表示部102により生成された表示データを受け付け、当該表示データをユーザに対して提示(表示)するよう構成されてよい。画面表示部110は、例えば、ユーザに対してデータを表示可能な表示デバイス(例えば、適切な表示画面を有する各種モニタ、タッチパネル等)を有してよい。
 スコア学習部103は、検索結果に関するユーザの評価に応じて、当該検索結果に関するスコアを設定するよう構成される。スコア学習部103は、例えば、ある検索語について表示された検索結果に関するユーザの評価を受け付け、当該評価に基づいて当該検索結果に関するスコアを算出する。
 具体的には、スコア学習部103は、例えば、検索結果に関連して情報表示部102(画面表示部110)により表示された操作インタフェース要素に対するユーザの入力を、評価入力部109(後述)を介して受け付け可能である。スコア学習部103は、例えば、ユーザが操作した操作インタフェース要素の種類、及び、当該操作インタフェース要素に関するユーザの入力等に応じて、スコアを算出する。係るスコアは、例えば、操作インタフェース要素の種類、及び、当該操作インタフェース要素に関するユーザの入力等に応じて、適切な計算式を用いて算出されてもよい。
 例えば、操作インタフェース要素に対する操作を介して、ユーザがある検索結果を表示するよう操作した場合、スコア学習部103は、当該検索結果が有用であると判定してもよい。例えば、操作インタフェース要素に対する操作を介して、ユーザがある検索結果を表示しないよう操作した場合、スコア学習部103は、当該検索結果が有用ではないと判定してもよい。
 評価入力部109は、情報表示部102(画面表示部110)により検索結果に関連して表示された操作インタフェース要素に対するユーザの入力を受け付けるように構成されてよい。評価入力部109は、例えば、ユーザの入力を受け付け可能な入力デバイス(キーボード、マウス、タッチパネル(タッチセンサ)、マイクロホン等)を備え、当該入力デバイスを介して、ユーザの入力を受け付け可能に構成されてもよい。例えば、情報表示部102(画面表示部110)により表示された操作インタフェース要素が「ボタン」である場合、評価入力部109は、当該ボタンに関するユーザの押下操作を受け付けてよい。
 スコア学習部103は、ある検索語と、当該検索語に関する検索結果と、それらに関して算出したスコアと、を関連付けて、スコアデータベース107に登録してもよい。以下、検索語と検索結果とのペアに関して設定されたスコアを、単に、「検索結果のスコア」と記載する場合がある。
 スコアデータベース107は、スコア学習部103から提供された、検索結果に関するスコアを保持(ストア)するよう構成されてよい。スコアデータベース107は、例えば、ある検索語と、当該検索語に関する検索結果と、それらに関して算出したスコアと、を関連付けて保持してもよい。また、スコアデータベース107は、検索結果データベース106に登録された、検索語と、当該検索語に関する検索結果との組(ペア)に関するスコアを保持可能であってよい。スコアデータベース107は、上記以外の情報を保持してもよい。
 スコアデータベース107は、一般的なデータベース(例えば関係データベース等)において用いられる方法によりデータを保持してもよく、その他の、適切な方法(例えば、ファイル及びファイルシステム等)によりデータを保持してよい。
 情報分析システム100が複数のユーザにより使用される場合、スコアデータベース107に登録されたスコアも、複数のユーザ間で共有されてよい。例えば、あるユーザの評価に基づいてスコア学習部103により算出されたスコアはスコアデータベース107に登録される。そして、そのスコアは、例えば、そのユーザ又は他のユーザに対する検索結果の表示の際、情報表示部102により参照される。
 なお、本実施形態における情報分析システム100は、例えば、図1Bに例示するような機能的な構成により構成されてもよい。図1Bにおいては、情報分析システム100に対して、1以上の端末113が通信ネットワーク114を介して通信可能に接続される。
 端末113は、例えば、データ通信、データ入力、データ表示等を処理可能な適切な情報処理装置であってよく、その形態(例えば、ラップトップ型、タブレット型、携帯端末型等)は特に限定されない。
 通信ネットワーク114は、インターネットのような広域ネットワークでもよく、構内LANのような狭域ネットワークでもよい。通信ネットワーク114は、通信ネットワーク111と同じ通信ネットワークであってもよく、異なる通信ネットワークであってもよい。
 図1Bに例示する構成においては、端末113に、検索語入力部108、評価入力部109及び画面表示部110が含まれる。この場合、端末113における検索語入力部108が、ユーザから提供された検索語を受け付け、当該検索語を情報分析システム100(特には情報取得部101)に送信してよい。また、端末113における評価入力部109が、ユーザから提供された評価を受け付け、当該評価を情報分析システム100(特にはスコア学習部103)に送信してよい。また、情報分析システム100における情報表示部102は、生成した表示データを端末113における画面表示部110に送信してよい。
 上記のように構成された情報分析システム100は、1以上のユーザに対して検索語及び検索結果を表示可能であり、1以上のユーザによる操作を受け付け可能である。情報分析システム100においては、スコアデータベース107、検索結果データベース106は、例えば、ユーザの間で共有されてもよい。即ち、例えば、あるユーザ(例えば「ユーザA」)により実行された検索処理により検索結果データベース106に登録されたデータが、他のユーザ(例えば「ユーザB」)により実行された検索処理の際に参照されてもよい。また、ある検索結果に対して、あるユーザ(例えば「ユーザA」)の評価に応じてスコアデータベース107に登録されたスコアが、他のユーザ(例えば「ユーザB」)に対する当該検索結果の表示データを生成する際に参照されてもよい。
 上記のように構成することで、情報分析システム100においては、検索結果の有用性に関する1以上のユーザの知見(評価)が、1以上のユーザの間で共有され得る。例えば、ある検索結果に関する評価が多数蓄積されている場合、当該検索結果に関するユーザの観点からの有用性の評価が多数蓄積されていると考えられる。即ち、情報分析システム100は、検索結果の有用性に関するユーザの知見を、スコアとして蓄積することが可能である。
 [動作]
 以下、上記のように構成された情報分析システム100の動作について具体的に説明する。以下の各図に示すフローチャートは一つの具体例であり、本実施形態における情報分析システム100の動作は、これらに限定されない。なお、各フローチャートにおける処理(ステップ)は、結果に影響を与えない範囲で、その実行順序が入れ替えられてもよく、1以上の処理(ステップ)が並列に実行されてもよい。
 図3Aは、ある検索語に関する情報を情報源112から取得する処理の一例を示すフローチャートである。
 情報取得部101は、例えば、検索語が供給されるまで待機する(ステップS301)。具体的には、情報取得部101は、検索語入力部108を介してユーザが検索語を入力するまで待機してよい。
 情報取得部101は、検索語入力部108から検索語が供給された場合、当該検索語の種類(タイプ)を判定する(ステップS302)。情報取得部101は、例えば、検索語入力部108から提供された検索語のテキスト情報を、正規表現を用いて解析し、当該検索語がURL、IPアドレス、ホスト名、ドメイン名、ハッシュ値、等のうちのいずれに該当するかを判定してもよい。検索語の種類の判定方法は、上記に限定されず、適切な方法を採用可能である。
 情報取得部101は、検索語の種類に応じて、情報源112に対する問い合わせを実行可能なWand104aを、Wandプール104から取得(選択)する。この場合、Wandプール104が、当該検索語の種類に相当する検索語タイプ(図2の201)が設定されたWand104aを選択し、情報取得部101に提供してもよい。なお、ユーザから提供された検索語を処理可能なWand104aが存在しない場合、情報取得部101は、例えば、情報表示部102を用いて、ユーザに対して他の検索語の入力を促すメッセージを表示してもよい。
 ステップS303において選択された各Wand104aは、情報源112から検索語に関する情報を取得する(ステップS304)。具体的には、Wand104aは、通信ネットワーク111を介して、情報源112に検索語を送信し、当該検索語に関連する情報を検索結果として受信する。この場合、Wand104aは、情報源112が提供するAPIを利用してもよい。また、Wand104aは、情報源112が提供するAPIを利用するためのAPIキーが必要な場合には、APIキーデータベース105を参照し、当該APIに関連付けされたAPIキーを取得してよい。Wand104aは、ステップS304における検索結果を情報取得部101に提供する。
 ステップS304において検索した検索語に関する検索結果が存在する場合(ステップS305においてYES)、情報取得部101は、検索語と、検索結果との組(ペア)を、検索結果データベース106に登録する(ステップS306)。
 情報取得部101は、ある検索語に関して得られた検索結果を、新たに検索語として設定し(ステップS307)、ステップS302から処理を続行する。即ち、情報取得部101は、ある検索語に関する検索結果を、新たな検索語とすることで、情報源112における検索処理を繰り返し実行する。
 上記のような処理により、ユーザから提供された検索語に関連する情報が、人手によらずに繰り返し検索され、その検索結果が検索結果データベース106に蓄積される。よって、ある検索語(例えば、あるセキュリティ事象に関連するキーワード等)に関連する情報(例えばセキュリティ情報)を取得する作業に要するユーザの工数が低減され得る。
 情報取得部101は、Wand104aにより得られた検索結果が複数存在する場合、全ての検索結果についてステップS306以降の処理を繰り返し実行してもよい。
 また、情報取得部101は、Wand104aに複数の検索結果が得られた場合、一部の検索結果について、ステップS306以降の処理を繰り返し実行してもよい。具体的には、情報取得部101は、例えば、検索結果の上限個数を設定値等として保持してもよい。Wand104aにより得られた検索結果が上限個数を超えた場合、情報取得部101は、例えば、上限個数以内の検索結果についてステップS306以降の処理を繰り返し実行してよい。情報取得部101は、上限個数を超えた検索結果について、処理を打ち切ってもよい。なお、検索結果の上限個数は、例えば、ユーザ等により適宜設定されてよい。
 検索語に関する検索結果が存在しない場合(ステップS305においてNO)、情報取得部101は、処理を終了してもよい。例えば、Wand104aによる検索の結果、情報源112から適切な検索結果が得られない場合、情報取得部101は、検索結果が存在しないと判定してよい。また、情報取得部101は、例えば、ある検索語に関して既に得られている検索結果とは異なる検索結果が得られない場合も、情報源112から適切な検索結果が得られていないと判定してもよい。即ち、ある検索語に関して、既に取得された検索結果と同じ検索結果しか得られない場合、情報取得部101は、当該検索語に関する更なる検索結果が存在しないと判定し、処理を終了してもよい。
 図3Aに例示した処理の変形例を図3Bに示す。係る変形例の場合、情報取得部101は、ある検索語に関する検索を、検索回数の上限値まで繰り返し実行する。
 具体的には、情報取得部101は、例えば、ステップS301において検索語を受けた際、当該検索語に関する検索回数を初期化(例えば値”0”(零)に設定)する(ステップS308)。
 また、情報取得部101は、例えば、ステップS307において、各Wandにより得られた検索結果を新たな検索語として設定した際、検索回数をインクリメントする(ステップS309)。即ち、情報取得部101は、検索処理を繰り返す際に、検索回数をインクリメントする。
 情報取得部101は、検索回数と、検索回数の上限値とを比較し、検索回数が上限値を超えた場合(ステップS310においてYES)、処理を終了してもよい。検索回数が上限値以下であった場合(ステップS310においてNO)、情報取得部101は、ステップS302から処理を続行してよい。図3Bに例示する処理において、検索回数の上限値は、例えば、予め与えられていてもよい。また、係る検索回数の上限値は、例えば、ユーザによって適宜設定されてもよい。
 図3A、図3Bに例示した処理について、図6に例示する具体例を用いて説明する。なお、図6は、本実施形態に関する理解を促進するための具体例を示す説明図であり、本実施形態はこれには限定されない。
 まず、第1の検索語として検索語A(この場合、ドメイン名”example.com”、図6の601)が入力される(ステップS301)。情報取得部101は、係る検索語のタイプを「ドメイン名」であると判定する(ステップS302)。図6の具体例では、ドメイン名を受け入れ可能なWand104aとして、「DNS Wand」(図6の602)と、「Whois Wand」(図6の603)とが選択されることを想定する(ステップS303)。「DNS Wand」は、DNS(Domain Name System)を情報源112として、DNSから情報を取得可能なWand104aである。また、「Whois Wand」は、Whoisサービスを情報源112として、当該サービスから情報を取得可能なWand104aである。
 「DNS Wand」及び「Whois Wand」は、それぞれ、情報源112(DNSとWhoisサービス)に対して、検索語(”example.com”)を用いて検索処理を実行し、関連する情報を取得する(ステップS304)。係る検索の結果、検索結果B1(IPアドレス”aaa.bbb.ccc.ddd”、図6の604)と、検索結果B2(住所、図6の605)とが得られる。この場合、検索語Aと、検索結果B1とのペア、及び、検索語Aと、検索結果B2とのペアが検索結果データベース106に登録される(ステップS305乃至S306)。
 情報取得部101は、検索結果B1と検索結果B2とを新たな検索語(それぞれ検索語B1、検索語B2と記載する)として、ステップS302から処理を続行する。情報取得部101は、検索結果B1(検索語B1)の型を「IPアドレス」であると判定する(ステップS302)。図6の具体例では、IPアドレスを受け入れ可能なWand104aとして、「Reverse DNS Wand」(図6の606及び607)とが選択されることを想定する(ステップS303)。「Reverse DNS Wand」は、DNSの逆引き(IPアドレスからドメイン名を解決する)サービスを情報源112として、当該サービスから情報を取得可能なWand104aである。
 「Reverse DNS Wand」は情報源112から情報を取得する(ステップS304)。係る検索の結果、それぞれ検索結果C1(ドメイン名”malware.com”、図6の609)、検索結果C2(ドメイン名”example.com”、図6の610)が得られる。この場合、検索語B1と、検索結果C1とのペア、検索語B2と、検索結果C2とのペアが、検索結果データベース106に登録される(ステップS305乃至S306)。
 情報取得部101は、検索結果C1と、検索結果C2とを新たな検索語として、ステップS302から処理を続行する。この場合、例えば検索結果C1を検索語として「DNS
 Wand」(図6の612)を用いて検索処理を実行し、検索結果D(図6の613)が得られる。ここで、検索結果C2、及び、検索結果Dは、既に得られている検索語又は検索結果であることから、情報取得部101は検索処理を終了してもよい。
 情報取得部101は、上記と同様の処理を、検索結果B2についても実行し、検索結果C3(図6の611)を取得する。なお、検索結果C3は地図画像であることから、地図画像を受け付け可能なWand104aが存在しない場合、情報取得部101は、検索処理を終了してもよい。
 図3A及び図3Bに例示する処理により、図6に例示するように、第1の検索語である検索語Aに関連する検索結果を取得する処理が、1以上のWand104aを用いて繰り返し実行される。ユーザは、第1の検索語である検索語Aを提供するだけで、例えば、図6に例示するような関連情報を取得可能である。これより、情報の収集に要するユーザの工数が低減され得る。
 図4は、検索結果を表示する処理の一例を示すフローチャートである。情報分析システム100(例えば、情報表示部102)は、例えば、情報取得部101により、ある検索語に関する検索結果が取得された際、図4に例示する処理を実行してよい。
 情報表示部102は、第1の検索語から、各検索結果までの距離(第1の距離)を初期化する(ステップS401)。具体的には、情報表示部102は、係る距離(第1の距離)に値”0”を設定してよい。
 情報表示部102は、入力された検索語(第1の検索語)と、当該検索語に関する検索結果と、を検索結果データベース106から取得する(ステップS402)。この際、情報表示部102は、第1の検索語と、その検索結果との距離(第1の距離)をインクリメントし、”1”としてもよい。この場合、第1の検索語から、各検索結果までの距離(第1の距離)は、検索処理の実行回数に相当するよう調整される。
 情報表示部102は、ステップS402において取得した検索語と、検索結果とのペアに関して設定されたスコアを、スコアデータベース107から取得する(ステップS403)。
 情報表示部102は、検索結果に関する距離(第1の距離)と、検索結果のスコアとを比較する(ステップS404)。検索結果に関するスコアが、検索結果に関する距離(第1の距離)以上である場合(ステップS404においてYES)、情報表示部102は、検索結果を表示する表示データを生成する(ステップS405)。具体的には、情報表示部102は、検索語と検索結果とを接続する描線(例えば矢印や折れ線など)を含む表示データを生成してよい。
 また、情報表示部102は、検索結果に関連付けて、当該検索結果に関する評価をユーザが入力可能な操作インタフェース要素を含む表示データを生成する(ステップS406)。情報表示部102は、係る操作インタフェース要素として、例えば、検索結果の近傍に、「有用」を表すラベルが付されたボタン(「有用ボタン」)と、「非表示」を表すラベルが付されたボタン(「非表示ボタン」)とが配置された表示データを生成してよい。
 一方、検索結果に関するスコアが、検索結果に関する距離(第1の距離)を下回る場合(ステップS404においてNO)、情報表示部102は、係る検索結果の表示を抑制した表示データを生成する。情報表示部102は、表示が抑制された検索結果の近傍に、「表示」を表すラベルが付されたボタン(「表示ボタン」)が配置された表示データを生成してよい(ステップS407)。
 情報表示部102は、上記のようにして生成された表示データを画面表示部110に提供することで、ユーザに対して、検索結果と当該検索結果に関する評価を入力可能な操作インタフェース要素を表示可能である。
 情報表示部102は、ステップS402において取得した検索結果を検索語として設定して検索した場合の検索結果が存在するか否か(検索結果データベース106に登録されているか否か)を確認する(ステップS408)。
 ステップS408においてYESの場合(即ち、ある検索結果を検索語とした場合の検索結果が存在する場合)、距離(第1の距離)をインクリメントする(ステップS409)。具体的には、情報表示部102は、例えば、距離(第1の距離)に”1”を加算する。即ち、この場合、第1の検索語から、各検索結果が得られるまでに実行された検索処理の回数が、当該検索結果の距離(第1の距離)に相当する。
 情報表示部102は、検索結果を新たな検索語として設定し(ステップS410)、ステップS403から処理を続行する。
 図4に例示した処理により表示される画面について、図7に例示する具体例を用いて説明する。図7は、例えば、画面表示部110を介して、ユーザに対して表示されるユーザインタフェースの一例を示す説明図である。なお、図7は、本実施形態に関する理解を促進するための具体例を示す説明図であり、本実施形態はこれには限定されない。
 図7に例示するユーザインタフェース700は、例えば、画面表示部110に表示されるGUIである。ユーザインタフェース700には、第1の検索語である検索語A(図7の701)と、当該検索語に関する1以上の検索結果が表示される(図7の702乃至706)。図7の具体例の場合、検索語A(図7の701)と、検索結果702との間を接続する描線が表示される。また、検索語A(図7の701)と、検索結果703との間をそれぞれ接続する描線が表示される。また、検索結果702と、検索結果702を新たな検索語とした場合の検索結果(704及び検索結果705)との間をそれぞれ接続する描線が表示される。また、検索結果703と、検索結果703を新たな検索語とした場合の検索結果706の間をそれぞれ接続する描線が表示される。これにより、検索語と、検索結果との間の関連性が可視化される。また、図7の具体例では、各検索結果に関連する「有用ボタン」、「非表示ボタン」及び「表示ボタン」が表示されている。ユーザは、係るボタンを押下することにより、当該検索結果に関する有用性を評価可能であるとともに、当該検索結果に関する表示状態を変更可能である。
 上記のような処理により、情報表示部102は、検索結果に関する距離(第1の距離)と、スコアとの関係に応じて、当該検索結果を表示するか否かを制御することが可能である。例えば、上記処理により、ユーザから提供された元の検索語(第1の検索語)からの距離(第1の距離)が遠くなる程、スコアがより高い検索結果が表示され、スコアが低い検索結果の表示が抑制され得る。
 上記したように、スコアデータベース107が複数のユーザにより共有される場合、ある検索結果に対して一人のユーザの評価に基づいて設定されたスコアは、複数のユーザの間で共有され得る。例えば、ある検索結果について多数の評価が得られている場合、当該検索結果の有用性に関するユーザによる知見が、スコアという形式で蓄積されていると考えられる。即ち、情報表示部102は、ある検索結果を表示するか否かを、当該検索結果に関して蓄積されたユーザの評価(具体的には、係る評価に基づいて算出されたスコア)に応じて判定可能である。また、情報表示部102により生成される表示データには、各検索結果の有用性に対するユーザの知見が反映されているとも考えられる。これにより、情報表示部102は、ユーザの観点から有用性が高いと判定された検索結果をユーザに提示(表示)し、ユーザの観点から有用性が低いと判定された検索結果の表示を抑制することができる。
 以下、ユーザの評価に基づいてスコアを設定する処理について、図5に例示するフローチャートを用いて説明する。
 スコア学習部103は、ユーザが、情報表示部102(画面表示部110)により表示された検索結果に対する評価を入力するまで待機する(ステップS501)。具体的には、スコア学習部103は、ユーザが、検索結果に関連して表示された操作インタフェース要素(例えばボタン)を操作するまで待機する。以下の記載においては、説明の便宜上、検索結果に関連して表示された操作インタフェース要素が、ボタンであることを想定する。
 スコア学習部103は、ユーザによりボタンが押下された際、押下されたボタンが関連付けされた検索結果を判定する(ステップS502)。具体的には、評価入力部109が、ユーザによるボタンの押下操作を受け付け、スコア学習部103に対して当該ボタンの押下操作を通知してもよい。スコア学習部103は、押下されたボタンに関連付けされた検索結果を、情報表示部102に問い合わせてもよい。
 スコア学習部103は、押下されたボタンの種類を判定する(ステップS503)。押下されたボタンの種類が「有用ボタン」又は「表示ボタン」であった場合(ステップS503において「有用」又は「表示」)、スコア学習部103は、当該ボタンが押下された検索結果のスコアを増加させる(S504)。具体的には、スコア学習部103は、例えば、当該ボタンが押下された検索結果に関するスコアに”2”を加算する(即ち、”スコア=スコア+2”と算出される)。
 スコア学習部103は、算出したスコアを、スコアデータベース107に登録してよい。なお、この場合、スコア学習部103は、第1の検索語から、当該ボタンが押下された検索結果に至る経路(パス)に存在する各検索結果のスコアを増加させてもよい。
 更に、押下されたボタンの種類が「表示ボタン」である場合(ステップS505においてYES)、当該ボタンが関連付けされた検索結果が表示される。即ち、非表示状態の検索結果が、表示状態となる。また、当該検索結果に関する操作インタフェース要素として「有用ボタン」及び「非表示ボタン」が表示される(ステップS506)。
 スコア学習部103は、例えば、情報表示部102に対して、ステップS506における表示処理の実行を依頼してもよい。また、情報表示部102が、ユーザの操作を検知して、上記ステップS506における表示処理を実行してもよい。
 押下されたボタンの種類が「非表示ボタン」である場合(ステップS503において「非表示」)、スコア学習部103は、当該ボタンが押下された検索結果に関するスコアを減少させる(ステップS507)。スコア学習部103は、例えば、「非表示ボタン」が押下された検索結果に関するスコアを”1”減算する(即ち、”スコア=スコア-1”と算出される)。スコア学習部103は、算出したスコアを、スコアデータベース107に登録してよい。
 また、「非表示ボタン」が押下された場合、当該ボタンが関連付けされた検索結果の表示が抑制される。更に、表示が抑制された検索結果に関する操作インタフェースとして、「再表示」のラベルが付されたボタン(「再表示ボタン」と記載する)が表示される(ステップS508)。
 スコア学習部103は、例えば、情報表示部102に対して、ステップS508における表示処理の実行を依頼してもよい。また、情報表示部102が、ユーザの操作を検知して、上記ステップS508における処理を実行してもよい。
 押下されたボタンの種類が「再表示ボタン」である場合(ステップS503において「再表示」)、スコア学習部103は、当該ボタンが押下された検索結果に関するスコアを増加させる(ステップS509)。スコア学習部103は、例えば、「再表示ボタン」が押下された検索結果に関するスコアに、”1”を加算する(即ち、”スコア=スコア+1”と算出される)。スコア学習部103は、算出したスコアを、スコアデータベース107に登録してよい。なお、この場合、スコア学習部103は、第1の検索語から、当該ボタンが押下された検索結果に至る経路(パス)に存在する各検索結果のスコアを増加させてもよい。
 また、押下されたボタンの種類が「再表示ボタン」である場合、当該ボタンが関連付けされた検索結果が再度表示される。また、当該検索結果に関する操作インタフェース要素として「有用ボタン」及び「非表示ボタン」が表示される(ステップS510)。
 スコア学習部103は、例えば、情報表示部102に対して、ステップS510における表示処理の実行を依頼してもよい。また、情報表示部102が、ユーザの操作を検知して、上記ステップS510における表示処理を実行してもよい。
 上記のような処理により、スコア学習部103は、ある検索結果に関連付けされた操作インタフェース要素(例えば、ボタン)に対する操作を通じて、当該検索結果に関するユーザの評価を受け付けることができる。そして、スコア学習部103は、当該ユーザの評価に基づいて、検索結果に関するスコアを算出することができる。このようにして算出されたスコアには、検索結果に関するユーザの知見(即ち、検索結果の有用性に関するユーザの知見)が反映されていると考えられる。
 上記したように、情報表示部102は、各検索結果に関するスコアと、各検索結果の第1の検索語からの距離(第1の距離)とに応じて、各検索結果を表示するか否かを判定する。即ち、ユーザの評価に応じて算出されたスコアを用いることより、情報表示部102は、ユーザの知見が反映された表示データを生成することができる。上記のような処理により、ユーザ提供した第1の検索語からの距離(第1の距離)が遠い(検索回数が多い)検索結果である程、高いスコアでなければ表示されないことになる。これにより、第1の検索語について、過度の情報(検索結果)が画面に表示されることを抑制可能である。
 上記のように構成された本実施形態における情報分析システム100は、例えば、サイバー攻撃の分析における一連の検索作業を支援し、ユーザの工数を軽減することが可能である。その理由は、情報取得部101及び情報表示部102により、入力情報(第1の検索語)に関連する情報が動的に繰り返し収集され、それらの情報が画面に表示されるからである。
 また、本実施形態における情報分析システム100は、ユーザの観点から有用な情報(検索結果)をユーザに対して提示(表示)することが可能である。その理由は、スコア学習部103により、検索結果に対するユーザの評価(即ち、ある検索結果が有用であるか否か)を反映したスコアが算出されるからである。また、情報表示部102により、スコアに基づいて有用性が高いと判定された検索結果が表示されるとともに、有用性が低いと判定された検索結果の表示が抑制されるからである。これにより、収集された情報(検索結果)のうち、ユーザの観点から有用な情報が、ユーザに対して提供されると考えられる。
 更に、本実施形態における情報分析システム100によれば、ユーザは直観的な操作により、検索結果の有用性を評価可能である。その理由は、ユーザが、検索結果に関する操作インタフェース要素(「有用ボタン」、「非表示ボタン」、「表示ボタン」、「再表示ボタン」等)を介して当該検査結果の表示状態を変更する際に、当該検索結果に関するスコアが調整されるからである。例えば、ユーザが、ある検索結果を確認する必要がないと判断した場合、当該検索結果に関連する「非表示ボタン」を押下することで、当該検索結果の表示を抑制できる。そして、係る操作により、当該検索結果に関するスコアが減少する。よって、ユーザは「不要な検索結果の表示を抑制する」という直観的な操作により、当該検索結果の有用性を併せて評価することが可能である。
 以上より、本実施形態における情報分析システムによれば、セキュリティに関して収集された情報を、セキュリティ担当者(ユーザ)の観点から適切に提供することが可能である。
 以下、本実施形態の第1の変形例(以下「変形例1」と記載する)について説明する。変形例1における情報分析システム100の機能的な構成は、上記図1A及び図1Bに例示した構成と同様としてよい。変形例1においては、情報取得部101における処理が図3A、図3Bと一部異なる。
 変形例1における情報取得部101は、例えば、ある検索結果に関する距離(第2の距離)と、スコアとの関係に応じて、検索処理を更に続行するか否かを判定可能である。以下、係る処理について、図8に例示するフローチャートを参照して説明する。なお、図8に例示するステップのうち、図3Aと同様の処理を実行するステップには、図3Aと同様の参照番号が付されている。
 情報取得部101は、ユーザから検索語(第1の検索語)が入力されるまで待機し、入力された検索語を受け付ける(ステップS301)。
 情報取得部101は、受け付けた検索語に関する距離(第2の距離)を初期化(例えば”0”に設定)する(ステップS801)。係る距離(第2の距離)は、例えば、各検索結果が得られるまでに実行された検索処理の回数に応じて算出される値である。情報取得部101は、例えば、上記説明した図4におけるステップS401と同様の処理により、係る距離(第2の距離)を算出してもよい。即ち、第2の距離と、第1の距離とは同様の方法により算出されてよい。
 情報取得部101は、検索語のタイプを判定し(ステップS302)、当該検索語を受け入れ可能なWand104aを選択する(ステップS303)。そして、情報取得部101は、選択したWand104aを用いて検索処理を実行する(ステップS304)。検索結果が存在する場合(ステップS305においてYES)、情報取得部101は、検索語と検索結果とのペアを検索結果データベース106に登録する(ステップS306)。ステップS302乃至ステップS306の処理は、図3Aに例示した処理と同様としてよい。
 情報取得部101は、距離(第2の距離)をインクリメントする(ステップS802)。具体的には、情報取得部101は、距離(第2の距離)に”1”を加算する。この場合、第1の検索語から、各検索結果が得られるまでに実行された検索処理の回数が、当該検索結果の距離(第2の距離)に相当する。この際、情報取得部101は、上記説明した図4におけるステップS409と同様の処理を実行してもよい。
 情報取得部101は、検索語と、検索結果とのペアに関するスコアを、スコアデータベース107から取得し(ステップS803)、当該スコアと、距離(第2の距離)とを比較する(ステップS804)。
 ステップS804における比較の結果、検索結果に関するスコアが、検索結果に関する距離(第2の距離)以上である場合(ステップS804においてYES)、情報取得部101は、ステップS307から処理を続行する。即ち、この場合、情報取得部101は、係る検索結果を新たな検索語として、当該検索語を用いた検索処理を繰り返し続行する。
 ステップS804における比較の結果、検索結果に関するスコアが、検索結果に関する距離(第2の距離)を下回る場合(ステップS804においてNO)、情報取得部101は、当該検索結果に関する検索処理を終了してよい。即ち、この場合、係る検索結果を新たな検索語とした検索処理は実行されない。
 変形例1におけるその他の処理は、上記説明した本実施形態における情報分析システム100の処理と同様としてよい。
 上記したように、スコアには当該検索結果の有用性に関するユーザによる知見が蓄積されていると考えられる。このため、上記のように構成された変形例1における情報分析システム100によれば、ある検索結果の有用性に応じて、当該検索結果に関する更なる検索処理を実行するか否かを制御可能である。より具体的には、情報取得部101が、第1の検索語からの距離(第2の距離)に応じて、ユーザによって有用性が高いと判定された検索結果に関する検索処理を更に実行してよい。また、情報取得部101は、ユーザによって有用性が低いと判定された検索結果に関する検索処理を抑制してよい。
 このような変形例1によれば、有用性が低いと判定された検索結果に関する検索処理が実行されない(即ち、不要な検索処理が実行されない)ことから、情報分析システム100の処理効率が改善される。また、有用性が低いと判定された検索結果に関する検索処理が実行されないことから、当該検索処理による検索結果がユーザに対して表示されない。即ち、変形例1の情報分析システム100は、ユーザの観点から有用性が高いと判定された検索結果をユーザに提示(表示)し、ユーザの観点から有用性が低いと判定された検索結果の表示を抑制することができる。
 以下、本実施形態の第2の変形例について説明する。
 情報源112によっては、過度の問い合わせによる処理負荷の急増を防ぐ目的等から、単位時間当たりの問合せ(検索)回数が制限されている場合がある。上記したように、情報源112によっては、当該情報源が提供するAPIを利用する際にAPIキーが必要となる場合もある。第2の変形例における情報分析システムは、このように、情報検索において制限(あるいは制約)が設けられている情報源112から、情報を適切に取得できるよう構成される。
 図9Aは、第2の変形例における情報分析システム100の機能的な構成を例示するブロック図である。図9Aに例示するように第2の変形例においては、情報分析システム100に、クエリ調整部901と、レート制限データベース902とが含まれる。
 クエリ調整部901は、情報源112に対する検索(問合せ)処理の実行可否を調整する。具体的には、クエリ調整部901は、Wand104aが、ある情報源112に関する検索を実行する際に、レート制限データベース902(後述)に登録された、利用履歴情報と、制限情報とを参照する。利用履歴情報は、例えば、情報源112に関する検索の実行履歴を表す情報である。制限情報は、例えば、当該情報源112が許容可能な検索の実行条件を表す情報である。
 クエリ調整部901は、例えば、利用履歴情報から、当該情報源112に関する検索の実行頻度等を求め、それらが制限情報に設定された制限値内に収まるか否かを判定してよい。クエリ調整部901は、その判定結果に応じて、当該情報源112に対するWand104aによる検索処理の実行可否を判定してよい。
 レート制限データベース902は、情報源112に関する利用履歴情報と、制限情報とを保持するよう構成されてよい。
 利用履歴情報には、例えば、ある情報源112に対する検索処理が実行された時間(以下、「利用時間」と記載する)と、検索処理の実行回数(以下、「利用回数」と記載する)とが含まれてもよい。利用時間及び利用回数は、例えば、検索処理を実行したWand104aを特定可能な情報と関連付けて保持されてもよい。利用時間及び利用回数は、検索処理が実行された情報源112を特定可能な情報と関連付けて保持されてもよい。
 利用時間には、検索処理が実行されたタイミングを特定可能な情報が設定されてよい。例えば、利用時間には、時刻を表す情報が設定されてもよい。また、利用時間には、ある時点からの経過時間(例えば、情報分析システム100が稼働してからの経過時間)が設定されてもよい。レート制限データベース902には、利用履歴情報が、時系列に記録されてもよい。
 制限情報には、例えば、ある情報源112に関する制限値として、制限時間(制限時間情報)と、制限回数(制限回数情報)とが含まれてもよい。制限時間及び制限回数は、例えば、ある情報源112において、制限時間内に制限回数までの検索処理が許容されることを表す。係る制限情報は、例えば、レート制限データベース902に予め登録されていてもよく、ユーザ等により編集可能であっても良い。
 レート制限データベース902には、例えば、ある情報源112を特定可能な情報と、利用履歴情報と、制限情報とが関連付けて登録されてもよい。また、レート制限データベース902には、例えば、ある情報源112に対する検索処理を実行するWand104aを特定可能な情報と、利用履歴情報と、制限情報とが関連付けて登録されてもよい。
 レート制限データベース902は、一般的なデータベース(例えば関係データベース等)において用いられる方法によりデータを保持してもよく、その他の、適切な方法(例えば、ファイル及びファイルシステム等)によりデータを保持してよい。
 なお、本実施形態における情報分析システム100は、例えば、図1Bと同様、図9Bに例示するような機能的な構成により構成されてもよい。図9Bにおける端末113の構成は、上記説明した通りである。
 以下、図10に例示するフローチャートを参照して、本変形例における情報分析システム100(特には、クエリ調整部901)の動作について説明する。
 クエリ調整部901は、情報取得部101によりWand104aが選択されるまで待機する(ステップS1001)。
 情報取得部101は、例えば、図3A、図3B、及び図8に例示するフローチャートと同様、ステップS301乃至S303を実行することで、Wand104aを選択する。情報取得部101は、例えば、検索を実行するWand104aの選択をクエリ調整部901に通知してもよい。また、クエリ調整部901が、情報取得部101によりWand104aが選択されたことを検知してもよい。また、情報取得部101により選択されたWand104a自身(又はWandプール104)が、当該Wand104aが選択されたことをクエリ調整部901に通知してもよい。
 クエリ調整部901は、検索を実行するWand104aに関する利用履歴情報と、制限情報とを、レート制限データベース902から取得する(ステップS1002)。
 クエリ調整部901は、例えば、選択されたWand104aを特定可能な情報を用いて、レート制限データベース902に登録された利用履歴情報及び制限情報を取得してもよい。または、クエリ調整部901は、例えば、選択されたWand104aが検索処理を実行する情報源112を特定可能な情報を用いて、レート制限データベース902に登録された利用履歴及び制限情報を取得してもよい。
 クエリ調整部901は、選択されたWand104aによる、情報源112の利用状況(即ち、検索の実行状況)が、制限情報に設定された制限値を超過するか否かを判定する(ステップS1003)。
 クエリ調整部901は、制限情報に設定された制限時間を参照する。クエリ調整部901は、基準となる時刻(例えば、現在時刻や、ユーザにより検索語が提供された時刻、等)から、制限時間分だけ遡った期間(「履歴確認期間」と記載する)の利用履歴を確認する。クエリ調整部901は、当該履歴確認期間に実行された検索処理の回数を計数する。具体的には、クエリ調整部901は、例えば、利用時間が履歴確認期間の間に含まれる利用履歴をレート制限データベース902から抽出し、その利用回数を集計することで、当該履歴確認期間に実行された検索処理の回数を計数することができる。
 クエリ調整部901は、上記集計の結果、制限時間内における検索処理の実行回数が制限回数を超過した場合(ステップS1003においてYES)、検索処理を中止する(ステップS1004)。クエリ調整部901は、検索処理を中止するよう、情報取得部101に通知してもよい。この場合、情報取得部101は、例えば、上記説明したステップS304(図3A、図3B、図8)以降の処理を中止してよい。
 制限時間内における検索処理の実行回数が制限回数以内である場合、クエリ調整部901は、検索を実行する際に用いられるAPIに関するAPIキーを、APIキーデータベース105から取得してもよい(ステップS1005)。また、クエリ調整部901は、検索を実行するWand104aにステップS1005において取得したAPIキーを提供し、検索処理を実行可能としてもよい(ステップS1006)。なお、クエリ調整部901がステップS1004乃至ステップS1005における処理を実行せずに、上記Wand104aが、APIキーを取得してもよい。
 クエリ調整部901は、例えば、情報取得部101に対して検索処理を実行可能であることを通知してもよい。この場合、情報取得部101は、例えば、上記説明したステップS304(図3A、図3B、図8)以降の処理を継続してよい。
 制限時間内における検索処理の実行回数が制限回数以内である場合、クエリ調整部901は、レート制限データベース902に、利用履歴を記録する(ステップS1007)。具体的にはクエリ調整部901は、利用時間と、利用回数とを、利用履歴としてレート制限データベース902に記録する。利用時間は、例えば、現在時刻でもよく、Wand104aにより検索処理が実行される時刻でもよい。
 上記のように構成された第2の変形例における情報分析システムによれば、情報源112に対する検索(問合せ)を、情報源112において許容された範囲において適切に実行することが可能である。その理由は、クエリ調整部901が、ある情報源112に対して設けられた制限(例えば、検索回数の上限値、あるいはAPIキーの利用等)を考慮して、Wand104aによる検索処理の実行可否等を判定するからである。
 以上より、第2の変形例における情報分析システムによれば、ある特定の情報源112に対する検索処理が過度に実行されるような状況を回避することが可能である。即ち、ある特定の情報源112に対する検索処理を、ユーザが誤って過度に実行することを防止可能である。例えば、過度な検索処理の実行により情報源112から接続を拒否された場合、暫く時間をおいて再度検索処理を実行するなどの余計な工数が必要となる可能性がある。上記のように構成された第2の変形例における情報分析システムによれば、例えば、係る工数が発生する可能性を低減可能である。
 [具体例]
 以下、具体例を用いて本実施形態における情報分析システム100の動作等について説明する。
 本具体例において、APIキーデータベース105には、例えば、図11に例示するようなデータが設定されていることを想定する。Wand ID(図11の1101)は、Wand104aを特定可能な識別情報であり、適切な記号、数値等により表されてよい。API ID(図11の1102)は、検索に使用されるAPIを特定可能な識別情報(ID:Identifier)であり、適切な記号、数値等により表されてよい。APIキー(図11の1103)には、情報源112から提供されたAPIキーが設定される。なお、APIキーデータベース105は、Wand ID(1101)又はAPI ID(1102)のいずれか一方を保持してもよい。
 また、本具体例において、レート制限データベース902には、図12に例示するようなデータが設定されていることを想定する。利用履歴情報テーブル1201には、利用履歴情報が時系列に登録される。制限情報テーブル1202には、情報源112に対して設定された制限情報が登録される。
 情報源ID(図12の1201a、1202a)は、情報源112を特定可能な識別情報であり、適切な記号、数値等により表されてよい。利用時間1201bには、情報源IDにより特定された情報源112に関する検索処理が実行された時間が登録される。利用回数(図12の1201c)には、利用時間(1201b)に設定された時間に、情報源IDにより特定された情報源112に関する検索処理が実行された回数が登録される。制限時間(図12の1202b)及び制限回数(図12の1202c)には、情報源IDにより特定された情報源112に関して上記説明した制限時間と、制限回数とが登録される。
 また、本具体例においては、図13に例示するようなWand104aが利用可能であることを想定する。図13において、SNS_srvは、SNSを提供する情報源112の識別情報(ID)であり、SNS_Wandは当該情報源112に対する検索処理を実行可能なWand104aの識別情報(ID)である。Vln_srvは、脆弱性情報サービスを提供する情報源112の識別情報であり、Vln_Wandは当該情報源112に対する検索処理を実行可能なWand104aの識別情報である。RSS_srvは、RSS(RDF Site Summary、又は、Really Simple Syndication)を提供する情報源112の識別情報であり、RSS_Wandは当該情報源112に対する検索処理を実行可能なWand104aの識別情報である。WWW_srvは、WWW(World Wide Web)におけるWebサーバを提供する情報源112の識別情報であり、WWW_Wandは当該情報源112に対する検索処理を実行可能なWand104aの識別情報である。DNS_srvは、DNSを提供する情報源112の識別情報であり、DNS_Wandは当該情報源112に対する検索処理を実行可能なWand104aの識別情報である。ReverseDNS_srvは、逆引きDNSを提供する情報源112の識別情報であり、ReverseDNS_Wandは当該情報源112に対する検索処理を実行可能なWand104aの識別情報である。Whois_srvは、Whoisサービスを提供する情報源112の識別情報であり、Whois_Wandは当該情報源112に対する検索処理を実行可能なWand104aの識別情報である。Map_srvは、地図情報を提供する情報源112の識別情報であり、Map_Wandは当該情報源112に対する検索処理を実行可能なWand104aの識別情報である。なお、図13に例示するWand104aの一部のみが利用可能であってもよく、図13に例示されていないWand104aが利用可能であってもよい。
 以下、本具体例の動作について説明する。ユーザは、検索語入力部108に対して第1の検索語を提供する。本具体例においては、係る第1の検索語として、”example.com”なるドメイン名が提供されることを想定する。
 情報取得部101は、Wandプール104から、ドメイン名を処理可能なWand104a(検索語タイプ201に「ドメイン名」が設定されたWand104a)を取得する。本具体例の場合、係るWand104aとして、例えば、Whois_Wandと、DNS_Wandとが選択されたと想定する。
 情報取得部101によりWand104aが選択された際、例えば、クエリ調整部901が、検索を実行するWand104aに関する利用履歴情報と、制限情報とを、レート制限データベース902から取得する。本具体例の場合、レート制限データベース902には、図12に例示するように、DNS_srv及びWhois_srvに関する利用履歴情報と、制限情報とが登録されている。
 クエリ調整部901は、レート制限データベース902に登録されたDNS_srv及びWhois_srvに関する制限情報と、利用履歴情報とから、これらの情報源112に関する検索処理の実行可否を判定する。図12に例示する具体例の場合、各情報源112に設定された制限時間以内に、制限回数を超える検索が実行されていない。よって、クエリ調整部901は、これらの情報源112に関する検索処理を実行可能であると判定する。
 また、本具体例においては、図11に例示するように、APIキーデータベース105には、DNS_Wand及びWhois_Wandに関するAPIキーは設定されていない。Whois_Wand及びDNS_WandはAPIキーを用いずに、検索処理を実行可能である。
 Whois_Wand及びDNS_Wandにより実行された検索処理の結果は、例えば、図14に例示するように、検索結果データベース106に登録される。本具体例においては、検索語”example.com”に対する検索結果として、IPアドレスと、当該ドメインに関する登録者の住所とが、得られることを想定する。なお、検索結果として、上記以外の情報が更に登録されてもよい。なお、図14に例示する検索結果データベースにおける主キーは、検索語と検索結果との組(ペア)を一意に特定可能な識別情報である。
 情報表示部102は、第1の検索語(”example.com”)からの距離(第1の距離)を”0”に初期化し、検索語と検索結果とのペアを検索結果データベース106から取得する。
 情報表示部102は、スコアデータベース107から、検索結果に設定されたスコアを取得する。本具体例の場合、情報表示部102は、検索結果データベース106から主キーを取得して、検索結果に設定されたスコアを取得してもよい。本具体例においては、スコアデータベース107に、図15に例示するようなスコアが設定されていることを想定する。
 本具体例の場合、図15に例示するように、第1の検索語から検索結果(IPアドレス、ドメイン登録者の住所)までの距離(第1の距離)は、スコアよりも小さいことから、情報表示部102は、第1の検索語に対する検索結果を表示する表示データを生成する。情報表示部102は、例えば、当該表示データを画面表示部110に提供し、画面表示部110が図16に例示するようなユーザインタフェース700を表示する。なお、説明の便宜上、図16に例示するユーザインタフェース700においては、一部の表示要素が省略されている。図16においては、検索語(図16の1601)と、各検索結果(図16の1602、1603)とを接続する描線が描画されている。これにより、ユーザに対して検索語と検索結果との関係が表示される。
 本具体例においては、情報分析システム100が、図14に例示する検索結果を新たな検索語として検索処理を繰り返し実行した結果、ユーザに対して、例えば、図17Aに示すようなユーザインタフェース700が提示されることを想定する。
 図17Aにおいて、検索結果1701は、例えば、Map_Wandにより、情報源112(例えばMap_srv)から取得した、検索語(ドメイン登録者住所)に関する検索結果(地図画像)を表す。なお、Map_Wandは、APIキーデータベース105に登録されたAPIキーを用いて、情報源112(Map_srv)に対する検索処理を実行してよい。
 検索結果1702は、例えば、ReverseDNS_Wandにより、情報源112(例えばReverseDNS_srv)から取得した、検索語(IPアドレス:”aaa.bbb.ccc.ddd”)に関する検索結果(ドメイン名:”example.com”)を表す。検索結果1703も同様である。
 検索結果1704は、例えば、DNS_Wandにより、情報源112(DNS_srv)から取得した、検索語(ドメイン名:”malware.com”)に関する検索結果(IPアドレス:”aaa.bbb.ccc.ddd”)を表す。
 図17Aに例示する状況において、ユーザが、例えば、検索結果1603に関連付けて表示された「非表示」ボタンを押下した場合を想定する。この場合、スコア学習部103は、検索結果1603に関するスコアを減少させ、スコアデータベース107に登録する。また、情報表示部102により、検索結果1603及び検索結果1701の表示が抑制され、検索結果1603には、「再表示ボタン」が表示される(図17B)。
 例えば、ユーザが、表示された検索結果が多すぎる又は不要であると判断したとき、ボタン操作(「非表示ボタン」の押下)によって、ある検索結果に関する表示を抑制する。また、表示が抑制された(非表示とされた)検索結果を再度表示する場合、ユーザは、ボタン操作(「再表示ボタン」又は「表示ボタン」の押下)によって、当該検索結果を表示する。スコア学習部103は、押下されたボタンによって検索語と検索結果とのペアに設定されたスコアを増減させ、スコアデータベース107にそのスコアを登録する。また、情報表示部102は、次回以降に検索結果を表示する際に、登録されたスコアを参照し、検索結果を表示するか否かを判定する。このように、情報分析システム100は、ユーザが提供した第1の検索語から遠い情報ほど、高いスコアでなければ表示しないよう制御することにより、過度の情報(検索結果)が画面に表示されることを抑制することが可能である。
 <第2の実施形態>
 以下、本開示の第2の実施形態について説明する。
 図18は、本実施形態における情報分析システム1800の機能的な構成を例示するブロック図である。図18に例示するように、情報分析システム1800は、情報取得部1801(情報取得手段)と、情報表示部1802(情報表示手段)と、スコア学習部1803(スコア学習手段)と、を備える。情報分析システム1800を構成するこれらの構成要素の間は、適切な通信方法により通信可能に接続されていてよい。
 なお、情報分析システム1800は、上記第1の実施形態における情報分析システム100と同様、通信ネットワークを介して、情報源に接続されていてよい。
 情報取得部1801は、以下のような動作を実行するよう構成される。即ち、情報取得部1801は、1以上の情報源のうちいずれかの情報源において、検索対象に関する情報である検索情報を検索した検索結果を取得する。また、情報取得部1801は、取得した当該検索結果を検索情報として用いて、1以上の情報源のうちいずれかの情報源において当該検索情報に関する検索を実行し、その検索結果を取得する。
 具体的には、情報取得部1801(情報取得手段)は、例えば、情報分析システム1800のユーザから、ある検索対象(例えば、サイバー攻撃等のセキュリティ事象)に関する検索情報(例えば、サイバー攻撃に関連するキーワード等)を受け付けてよい。そして、情報取得部1801は、ユーザから受け付けた検索情報を情報源において検索し、その検索結果を取得してよい。また、情報取得部1801は、ある情報源から取得した検索結果を新たな検索情報として用いることで、情報源に対する検索を繰り返し実行してよい。即ち、情報取得部1801は、ある検索情報に関する検索結果を新たな検索情報として、情報源における検索を繰り返し実行することで、ある検索情報に関連する検索結果を、動的に繰り返し取得することができる。
 なお、情報取得部1801は、例えば、上記第1の実施形態における情報取得部101と同様の処理を実行できるよう構成されてもよい。
 情報表示部1802(情報表示手段)は、以下のような動作を実行するよう構成される。即ち、情報表示部1802は、少なくとも検索結果に関するスコア(後述)に少なくとも部分的に基づいて、上記検索結果を表示するか否かを制御する。係るスコアは、スコア学習部1803により算出される。
 情報表示部1802は、例えば、ある検索結果に関するスコアが、ある特定の基準(例えば、上記第1の実施形態において説明した検索結果の距離等)以上である場合、当該検索結果を表示するよう制御してもよい。また、情報表示部1802は、例えば、ある検索結果に関するスコアが、ある特定の基準を下回る場合、当該検索結果の表示を抑制するよう制御してもよい。このような処理により、情報表示部1802は、例えば、情報取得部1801により繰り返し取得された各検索結果を表示するか否かを、各検索結果のスコアに応じて判断可能である。情報取得部1801により取得された検索結果が大量に存在する場合であっても、情報表示部1802は、適切な検索結果をユーザに対して表示することができる。
 なお、情報表示部1802は、例えば、上記第1の実施形態における情報表示部102と同様の処理を実行できるよう構成されてもよい。
 スコア学習部1803は、以下のような動作を実行するよう構成される。即ち、スコア学習部1803は、検索結果に関する評価を受け付け、当該評価に応じて、当該検索結果の有用性を表すスコアを求める。スコア学習部1803は、例えば、情報分析システム1800のユーザから、検索結果に関する評価を、何らかのインタフェースを介して受け付けてもよい。例えば、情報表示部1802が、検索結果を表示する際、当該検索結果に関する評価を入力可能なユーザインタフェースを表示し、スコア学習部1803が、当該ユーザインタフェースに対するユーザの操作を介して、検索結果に関する評価を受け付けてもよい。このような処理により、スコア学習部1803は、例えば、検索結果に対するユーザの観点による評価(即ち、ユーザの知見)に基づいたスコアを算出可能である。そして、そのスコアは、情報表示部1802における検索結果の表示可否の判定に用いられる。即ち、上記のような処理により、検索結果に対するユーザの知見が、情報表示部1802における検索結果の表示可否の判定に反映されると考えられる。
 なお、スコア学習部1803は、例えば、上記第1の実施形態におけるスコア学習部103と同様の処理を実行できるよう構成されてもよい。
 上記のように構成された本実施形態における情報分析システム1800は、例えば、サイバー攻撃の分析における一連の検索作業を支援し、ユーザの工数を軽減することが可能である。その理由は、情報取得部1801及び情報表示部1802により、検索情報に関連する情報が動的に繰り返し収集され、それらの情報が表示されるからである。
 また、本実施形態における情報分析システム1800は、ユーザの観点から有用な情報(検索結果)をユーザに対して提示(表示)することが可能である。その理由は、スコア学習部1803により、検索結果に対するユーザの評価(即ち、ある検索結果が有用であるか否か)を反映したスコアが算出されるからである。また、そのスコアに少なくとも部分的に基づいて、情報表示部1802により、検索結果を表示するか否かが制御されるからである。これにより、情報取得部1801により収集された情報(検索結果)のうち、ユーザの観点から有用な情報が、ユーザに対して提供される。
 以上より、本実施形態における情報分析システムによれば、セキュリティに関して収集された情報を、セキュリティ担当者(ユーザ)の観点から適切に提供することが可能である。
 <ハードウェア及びソフトウェア・プログラム(コンピュータ・プログラム)の構成>
 以下、上記説明した各実施形態を実現可能なハードウェア構成について説明する。
 以下の説明において、上記各実施形態において説明した情報分析システム(100、1800)をまとめて、単に「情報分析システム」と称する。また情報分析システムの各構成要素を、単に「情報分析システムの構成要素」と称する。
 上記各実施形態において説明した情報分析システムは、1つ又は複数の専用のハードウェア装置により構成してもよい。その場合、上記各図に示した各構成要素は、一部又は全部を統合したハードウェア(処理ロジックを実装した集積回路等)として実現してもよい。
 例えば、情報分析システムをハードウェアにより実現する場合、情報分析システムの構成要素は、それぞれの機能を提供可能な集積回路をSoC(System on a Chip)等により実装されてもよい。この場合、例えば、情報分析システムの構成要素が保持するデータは、SoCとして統合されたRAM(Random Access Memory)領域やフラッシュメモリ領域に記憶されてもよい。
 また、この場合、情報分析システムの各構成要素を接続する通信回線としては、周知の通信バスあるいは通信ネットワークを採用してもよい。また、各構成要素を接続する通信回線は、それぞれの構成要素間をピアツーピアで接続してもよい。情報分析システムを複数のハードウェア装置により構成する場合、それぞれのハードウェア装置の間は、適切な通信方法(有線、無線、またはそれらの組み合わせ)により通信可能に接続されていてもよい。
 また、上述した情報分析システムは、図19に例示するような汎用のハードウェア装置1900と、係るハードウェア装置1900によって実行される各種ソフトウェア・プログラム(コンピュータ・プログラム)とによって構成されてもよい。この場合、情報分析システムは、適切な数のハードウェア装置1900及びソフトウェア・プログラムにより構成されてもよい。
 図19における演算装置1901は、汎用のCPU(中央処理装置:Central Processing Unit)やマイクロプロセッサ等の演算処理装置である。演算装置1901は、例えば後述する不揮発性記憶装置1903に記憶された各種ソフトウェア・プログラムをメモリ1902に読み出し、係るソフトウェア・プログラムに従って処理を実行してもよい。例えば、上記各実施形態における情報分析システムの構成要素は、演算装置1901により実行されるソフトウェア・プログラムとして実現可能である。
 メモリ1902は、演算装置1901から参照可能な、RAM等のメモリ装置であり、ソフトウェア・プログラムや各種データ等を記憶する。なお、メモリ1902は、揮発性のメモリ装置であってもよい。
 不揮発性記憶装置1903は、例えば磁気ディスクドライブや、フラッシュメモリによる半導体記憶装置のような、不揮発性の記憶装置である。不揮発性記憶装置1903は、各種ソフトウェア・プログラムやデータ等を記憶可能である。
 例えば、上記各実施形態におけるAPIキーデータベース105、検索結果データベース106、スコアデータベース107、及び、レート制限データベース902は、不揮発性記憶装置1903にデータを保持してもよい。
 ドライブ装置1904は、例えば、後述する記録媒体1905に対するデータの読み込みや書き込みを処理する装置である。
 記録媒体1905は、例えば光ディスク、光磁気ディスク、半導体フラッシュメモリ等、データを記録可能な任意の記録媒体である。
 ネットワークインタフェース1906は、通信ネットワークに接続するインタフェース装置であり、例えば有線及び無線のLAN(Local Area Network)接続用インタフェース装置等を採用してもよい。
 例えば、上記各実施形態における情報取得部101を実現するハードウェア装置1900は、ネットワークインタフェース1906を介して、通信ネットワーク(111、114)と接続されてよい。また、上記各実施形態におけるWand104aが実行されるハードウェア装置1900も、ネットワークインタフェース1906を介して、通信ネットワーク(111)と接続されていてよい。
 入出力インタフェース1907は、外部装置との間の入出力を制御する装置である。係る外部装置は、例えば、ユーザからの入力を受け付け可能な入力機器(例えば、キーボード、マウス、タッチパネル等)であってもよい。また、係る外部装置は、例えばユーザに対して各種出力を提示可能な出力機器(例えば、モニタ画面、タッチパネル等)であってもよい。
 情報表示部(102、1802)を実現可能なハードウェア装置1900は、例えば、上記説明したユーザインタフェース700等を、入出力インタフェース1907を介して接続されたモニタ画面に表示してもよい。また、スコア学習部(103、1803)を実現可能なハードウェア装置1900は、例えば、入出力インタフェース1907を介して接続された入力機器を介してユーザからの入力(例えば、操作インタフェース要素に対する操作)を受け付けてもよい。
 上述した各実施形態を例に説明した本発明における情報分析システムは、例えば、図19に例示するハードウェア装置1900に対して、上記各実施形態において説明した機能を実現可能なソフトウェア・プログラムを供給することにより、実現されてもよい。より具体的には、例えば、係る装置に対して供給したソフトウェア・プログラムを、演算装置1901が実行することによって、本発明が実現されてもよい。この場合、係るハードウェア装置1900で稼働しているオペレーティングシステムや、データベース管理ソフト、ネットワークソフト等のミドルウェアなどが各処理の一部を実行してもよい。
 上述した各実施形態において、上記各図(例えば、図1A、図1B、図9A、図9B、及び図18)に示した各部は、上述したハードウェアにより実行されるソフトウェア・プログラムの機能(処理)単位である、ソフトウェアモジュールとして実現することができる。ただし、これらの図面に示した各ソフトウェアモジュールの区分けは、説明の便宜上の構成であり、実装に際しては、様々な構成が想定され得る。
 例えば、上記各部をソフトウェアモジュールとして実現する場合、これらのソフトウェアモジュールは、不揮発性記憶装置1903に記憶されてもよい。そして、演算装置1901が、それぞれの処理を実行する際に、これらのソフトウェアモジュールをメモリ1902に読み出してもよい。
 また、これらのソフトウェアモジュールの間は、共有メモリやプロセス間通信等の適宜の方法により、相互に各種データを伝達できるように構成してもよい。このような構成により、これらのソフトウェアモジュールの間は、相互に通信可能に接続可能である。
 更に、上記各ソフトウェア・プログラムは記録媒体1905に記録されてもよい。この場合、上記各ソフトウェア・プログラムは、上記通信装置等の出荷段階、あるいは運用段階等において、適宜ドライブ装置1904を通じて不揮発性記憶装置1903に格納されるよう構成されてもよい。
 なお、上記の場合において、上記情報分析システムへの各種ソフトウェア・プログラムの供給方法は、出荷前の製造段階、あるいは出荷後のメンテナンス段階等において、適当な治具を利用して当該装置内にインストールする方法を採用してもよい。また、各種ソフトウェア・プログラムの供給方法は、インターネット等の通信回線を介して外部からダウンロードする方法等のように、現在では一般的な手順を採用してもよい。
 そして、このような場合において、本発明は、係るソフトウェア・プログラムを構成するコード、あるいは係るコードが記録されたところの、コンピュータ読み取り可能な記録媒体によって構成されると捉えることができる。この場合、係る記録媒体は、ハードウェア装置1900と独立した媒体に限らず、LANやインターネットなどにより伝送されたソフトウェア・プログラムをダウンロードして記憶又は一時記憶した記憶媒体を含む。
 また、上述した情報分析システム、あるいは、当情報分析システムの構成要素は、図19に例示するハードウェア装置1900を仮想化した仮想化環境と、当該仮想化環境において実行される各種ソフトウェア・プログラム(コンピュータ・プログラム)とによって構成されてもよい。この場合、図19に例示するハードウェア装置1900の構成要素は、当該仮想化環境における仮想デバイスとして提供される。なお、この場合も、図19に例示するハードウェア装置1900を物理的な装置として構成した場合と同様の構成にて、本発明を実現可能である。
 以上、本発明を、上述した模範的な実施形態に適用した例として説明した。しかしながら、本発明の技術的範囲は、上述した各実施形態に記載した範囲には限定されない。当業者には、係る実施形態に対して多様な変更又は改良を加えることが可能であることは明らかである。即ち、本発明は、本発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。そのような場合、係る変更又は改良を加えた新たな実施形態も、本発明の技術的範囲に含まれ得る。更に、上述した各実施形態、あるいは、係る変更又は改良を加えた新たな実施形態を組み合わせた実施形態も、本発明の技術的範囲に含まれ得る。そしてこのことは、請求の範囲に記載した事項から明らかである。
 なお、上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
 1以上の情報源のうちいずれかの上記情報源において、検索対象に関する情報である検索情報を検索することで、当該検索情報に関する検索結果を取得し、取得した当該検索結果を上記検索情報として用いて、いずれかの上記情報源から、当該検索情報に関する検索結果を更に取得可能な情報取得手段と、
 上記検索結果に関して受け付けた評価に応じて、当該検索結果の有用性を判定するスコア学習手段と、
 上記検索結果に関する有用性に応じて、上記検索結果を表示するか否かを制御する情報表示手段と、を備える情報分析システム。
(付記2)
 上記スコア学習手段は、上記検索結果に関して受け付けた評価に応じて、当該検索結果の有用性を表すスコアを求め、
 上記情報表示手段は、上記検索結果に関する上記スコアに応じて、上記検索結果を表示するか否かを制御する
付記1に記載の情報分析システム。
(付記3)
 上記情報表示手段は、上記スコアに応じて、1以上の上記検索結果のうちの少なくとも一部を表示するとともに、上記検索結果に関する評価に用いられるユーザインタフェースである操作インタフェースを表示し、
 上記スコア学習手段は、上記操作インタフェースを介して受け付けた上記検索結果に関する評価に応じて、当該検索結果に関する上記スコアを求める、付記2に記載の情報分析システム。
(付記4)
 上記情報取得手段は、
  上記検索情報である第1の検索情報を受け付け、いずれかの上記情報源において当該第1の検索情報に関する検索結果を取得し、
  取得した当該検索結果を上記検索情報として用いて、いずれかの上記情報源から、当該検索情報に関する検索結果を更に取得する処理を繰り返し実行可能であり、
 上記情報表示手段は、
  上記第1の検索情報に関する検索が実行されてから、ある上記検索情報に関する上記検索結果が取得されるまでに、いずれかの上記情報源において実行された検索の回数に応じて、上記第1の検索情報と、ある上記検索情報に関する上記検索結果との間の第1の距離を算出し、
  上記検索結果に関する上記第1の距離と、その上記検索結果に関する上記スコアとに応じて、上記検索結果を表示するか否かを制御する付記3に記載の情報分析システム。
(付記5)
 上記情報表示手段は、
  ある上記検索結果に関する上記スコアが、その検索結果に関する上記第1の距離以上である場合、当該検索結果を表示する
 付記4に記載の情報分析システム。
(付記6)
 上記操作インタフェースは、当該操作インタフェースに対する操作により、上記検索結果に関する有用性に関する評価を入力可能なインタフェースであり、
 上記スコア学習手段は、上記操作インタフェースの操作に応じて、上記検索結果が有用であると評価された場合に当該検索結果に関する上記スコアを増加させ、上記検索結果が有用ではないと評価された場合に当該検索結果に関する上記スコアを減少させる付記4又は付記5に記載の情報分析システム。
(付記7)
 上記操作インタフェースは、上記検索結果の表示状態の変更を指示可能なインタフェースであり、
 上記スコア学習手段は、上記操作インタフェースの操作に応じて、表示されている上記検索結果を非表示とする指示が与えられた場合に、当該検索結果に関する上記スコアを減少させ、表示されていない上記検索結果を表示する指示が与えられた場合に、当該検索結果に関する上記スコアを増加させる、付記4乃至付記6のいずれか一項に記載の情報分析システム。
(付記8)
 上記情報取得手段は、
  上記検索結果が取得されるまでにいずれかの上記情報源に対して実行された検索の回数に応じて、上記第1の検索情報と上記検索結果との間の第2の距離を算出し、
  ある上記検索結果に関する上記スコアが、その検索結果に関する上記第2の距離以上である場合、当該検索結果を上記検索情報として用いて、1以上の上記情報源のうちいずれかの上記情報源からその検索情報に関する検索結果を取得する処理を繰り返し実行し、
 ある上記検索結果に関する上記スコアが、その検索結果に関する上記第2の距離未満である場合、当該検索結果に関する検索を終了する付記4乃至付記7のいずれかに記載の情報分析システム。
(付記9)
 上記情報源について設定された、当該情報源が許容可能な検索の実行条件を表す制限情報と、当該情報源における検索の実行履歴を表す利用履歴情報と、に基づいて、上記情報源に関する検索の実行可否を判定可能なクエリ調整手段を更に備え、
 上記情報取得手段は、
  上記クエリ調整手段における判定結果に応じて、上記情報源から上記検索結果を取得するか否かを制御し、
  上記情報源から上記検索結果を取得した場合には、上記利用履歴情報を更新する付記2乃至付記8のいずれかに記載の情報分析システム。
(付記10)
 上記制限情報には、期間を表す情報である制限時間情報と、当該期間の間に上記情報源に関する検索を実行可能な回数を表す情報である制限回数情報と、が少なくとも含まれ、
 上記利用履歴情報には、少なくとも、上記情報源に関する検索が実行された時間を特定可能な情報が時系列に含まれ
 上記クエリ調整手段は、上記情報取得手段が上記情報源における検索を実行するタイミングより過去の、上記制限時間情報により表される期間に当該情報源において実行された検索を、上記利用履歴情報から取得し、その回数が制限回数情報により表される回数未満である場合に、上記情報源に関する検索を実行可能であると判定する、付記9に記載の情報分析システム。
(付記11)
 上記スコア学習手段は、上記検索結果に関して求めた上記スコアを、上記検索結果と上記検索結果に関するスコアを記憶可能なスコア記憶手段に蓄積し、
 上記情報表示手段は、ある上記検索結果に関して上記スコア記憶手段に蓄積された上記スコアが、その検索結果に関する上記第1の距離以上である場合、当該検索結果を表示する付記4に記載の情報分析システム。
(付記12)
 上記情報表示手段は、
  ある上記検索結果が既に表示されている場合、当該検索結果と同じ検索結果の表示を抑制する
 付記2乃至付記11に記載の情報分析システム。
(付記13)
 情報処理システムが、
  1以上の情報源のうちいずれかの上記情報源において、検索対象に関する情報である検索情報を検索することで、当該検索情報に関する検索結果を取得し、取得した当該検索結果を上記検索情報として用いて、いずれかの上記情報源から、当該検索情報に関する検索結果を更に取得し、
  上記検索結果に関して受け付けた評価に応じて、当該検索結果の有用性を判定し、
  上記検索結果に関する有用性に応じて、上記検索結果を表示するか否かを制御する情報分析方法。
(付記14)
 コンピュータに
  1以上の情報源のうちいずれかの上記情報源において、検索対象に関する情報である検索情報を検索することで、当該検索情報に関する検索結果を取得し、取得した当該検索結果を上記検索情報として用いて、いずれかの上記情報源から、当該検索情報に関する検索結果を更に取得する処理と、
  上記検索結果に関して受け付けた評価に応じて、当該検索結果の有用性を判定する処理と、
  上記検索結果に関する有用性に応じて、上記検索結果を表示するか否かを制御する処理と、を実行させる情報分析プログラムが記録された記録媒体。
(付記15)
 検索対象に関する情報である検索情報を情報源において検索することで当該検索情報に関する検索結果を取得し、取得した検索結果を新たな上記検索情報として用いて、上記情報源において当該検索情報を検索する処理を繰り返し実行し、
 取得された上記検索結果のうちの少なくとも一部と、上記検索結果に関する評価に用いられるユーザインタフェースである操作インタフェースとを表示し、
 上記操作インタフェースを介して受け付けた上記検索結果に関する評価に応じて、当該検索結果に関するスコアを算出し、算出した上記スコアを当該検索結果に関連付けて保持し、
 上記検索結果が新たに取得された際、当該検索結果が取得されるまでにいずれかの上記情報源に対して実行された検索の回数と、当該検索結果に関して保持されている上記スコアとに応じて、上記検索結果を表示するか否かを制御する情報分析方法。
(付記16)
 上記検索情報を上記情報源において検索する際、上記情報源について設定された、当該情報源が許容可能な検索の実行条件を表す制限情報と、当該情報源における検索の実行履歴を表す利用履歴情報と、に基づいて、上記情報源に関する検索の実行可否を判定する、付記14に記載の情報分析方法。
 この出願は、2016年6月21日に出願された日本出願特願2016ー122848を基礎とする優先権を主張し、その開示の全てをここに取り込む。
 100 情報分析システム
 101 情報取得部
 102 情報表示部
 103 スコア学習部
 104 Wandプール
 104a Wand
 105 APIキーデータベース
 106 検索結果データベース
 107 スコアデータベース
 108 検索語入力部
 109 評価入力部
 110 画面表示部
 111 通信ネットワーク
 112 情報源
 113 端末
 114 通信ネットワーク
 901 クエリ調整部
 902 レート制限データベース
 1800 情報分析システム
 1801 情報取得部
 1802 情報表示部
 1803 スコア学習部
 1901  演算装置
 1902  メモリ
 1903  不揮発性記憶装置
 1904  ドライブ装置
 1905  記録媒体
 1906  ネットワークインタフェース
 1907  入出力インタフェース

Claims (16)

  1.  1以上の情報源のうちいずれかの前記情報源において、検索対象に関する情報である検索情報を検索することで、当該検索情報に関する検索結果を取得し、取得した当該検索結果を前記検索情報として用いて、いずれかの前記情報源から、当該検索情報に関する検索結果を更に取得可能な情報取得手段と、
     前記検索結果に関して受け付けた評価に応じて、当該検索結果の有用性を判定するスコア学習手段と、
     前記検索結果に関する有用性に応じて、前記検索結果を表示するか否かを制御する情報表示手段と、を備える情報分析システム。
  2.  前記スコア学習手段は、前記検索結果に関して受け付けた評価に応じて、当該検索結果の有用性を表すスコアを求め、
     前記情報表示手段は、前記検索結果に関する前記スコアに応じて、前記検索結果を表示するか否かを制御する
    請求項1に記載の情報分析システム。
  3.  前記情報表示手段は、前記スコアに応じて、1以上の前記検索結果のうちの少なくとも一部を表示するとともに、前記検索結果に関する評価に用いられるユーザインタフェースである操作インタフェースを表示し、
     前記スコア学習手段は、前記操作インタフェースを介して受け付けた前記検索結果に関する評価に応じて、当該検索結果に関する前記スコアを求める、請求項2に記載の情報分析システム。
  4.  前記情報取得手段は、
      前記検索情報である第1の検索情報を受け付け、いずれかの前記情報源において当該第1の検索情報に関する検索結果を取得し、
      取得した当該検索結果を前記検索情報として用いて、いずれかの前記情報源から、当該検索情報に関する検索結果を更に取得する処理を繰り返し実行可能であり、
     前記情報表示手段は、
      前記第1の検索情報に関する検索が実行されてから、ある前記検索情報に関する前記検索結果が取得されるまでに、いずれかの前記情報源において実行された検索の回数に応じて、前記第1の検索情報と、ある前記検索情報に関する前記検索結果との間の第1の距離を算出し、
      前記検索結果に関する前記第1の距離と、その前記検索結果に関する前記スコアとに応じて、前記検索結果を表示するか否かを制御する請求項3に記載の情報分析システム。
  5.  前記情報表示手段は、
      ある前記検索結果に関する前記スコアが、その検索結果に関する前記第1の距離以上である場合、当該検索結果を表示する
     請求項4に記載の情報分析システム。
  6.  前記操作インタフェースは、当該操作インタフェースに対する操作により、前記検索結果に関する有用性に関する評価を入力可能なインタフェースであり、
     前記スコア学習手段は、前記操作インタフェースの操作に応じて、前記検索結果が有用であると評価された場合に当該検索結果に関する前記スコアを増加させ、前記検索結果が有用ではないと評価された場合に当該検索結果に関する前記スコアを減少させる請求項4又は請求項5に記載の情報分析システム。
  7.  前記操作インタフェースは、前記検索結果の表示状態の変更を指示可能なインタフェースであり、
     前記スコア学習手段は、前記操作インタフェースの操作に応じて、表示されている前記検索結果を非表示とする指示が与えられた場合に、当該検索結果に関する前記スコアを減少させ、表示されていない前記検索結果を表示する指示が与えられた場合に、当該検索結果に関する前記スコアを増加させる、請求項4乃至請求項6のいずれか一項に記載の情報分析システム。
  8.  前記情報取得手段は、
      前記検索結果が取得されるまでにいずれかの前記情報源に対して実行された検索の回数に応じて、前記第1の検索情報と前記検索結果との間の第2の距離を算出し、
      ある前記検索結果に関する前記スコアが、その検索結果に関する前記第2の距離以上である場合、当該検索結果を前記検索情報として用いて、1以上の前記情報源のうちいずれかの前記情報源からその検索情報に関する検索結果を取得する処理を繰り返し実行し、
     ある前記検索結果に関する前記スコアが、その検索結果に関する前記第2の距離未満である場合、当該検索結果に関する検索を終了する請求項4乃至請求項7のいずれかに記載の情報分析システム。
  9.  前記情報源について設定された、当該情報源が許容可能な検索の実行条件を表す制限情報と、当該情報源における検索の実行履歴を表す利用履歴情報と、に基づいて、前記情報源に関する検索の実行可否を判定可能なクエリ調整手段を更に備え、
     前記情報取得手段は、
      前記クエリ調整手段における判定結果に応じて、前記情報源から前記検索結果を取得するか否かを制御し、
      前記情報源から前記検索結果を取得した場合には、前記利用履歴情報を更新する請求項2乃至請求項8のいずれかに記載の情報分析システム。
  10.  前記制限情報には、期間を表す情報である制限時間情報と、当該期間の間に前記情報源に関する検索を実行可能な回数を表す情報である制限回数情報と、が少なくとも含まれ、
     前記利用履歴情報には、少なくとも、前記情報源に関する検索が実行された時間を特定可能な情報が時系列に含まれ
     前記クエリ調整手段は、前記情報取得手段が前記情報源における検索を実行するタイミングより過去の、前記制限時間情報により表される期間に当該情報源において実行された検索を、前記利用履歴情報から取得し、その回数が制限回数情報により表される回数未満である場合に、前記情報源に関する検索を実行可能であると判定する、請求項9に記載の情報分析システム。
  11.  前記スコア学習手段は、前記検索結果に関して求めた前記スコアを、前記検索結果と前記検索結果に関するスコアを記憶可能なスコア記憶手段に蓄積し、
     前記情報表示手段は、ある前記検索結果に関して前記スコア記憶手段に蓄積された前記スコアが、その検索結果に関する前記第1の距離以上である場合、当該検索結果を表示する請求項4に記載の情報分析システム。
  12.  前記情報表示手段は、
      ある前記検索結果が既に表示されている場合、当該検索結果と同じ検索結果の表示を抑制する
     請求項2乃至請求項11に記載の情報分析システム。
  13.  情報処理システムが、
      1以上の情報源のうちいずれかの前記情報源において、検索対象に関する情報である検索情報を検索することで、当該検索情報に関する検索結果を取得し、取得した当該検索結果を前記検索情報として用いて、いずれかの前記情報源から、当該検索情報に関する検索結果を更に取得し、
      前記検索結果に関して受け付けた評価に応じて、当該検索結果の有用性を判定し、
      前記検索結果に関する有用性に応じて、前記検索結果を表示するか否かを制御する情報分析方法。
  14.  コンピュータに
      1以上の情報源のうちいずれかの前記情報源において、検索対象に関する情報である検索情報を検索することで、当該検索情報に関する検索結果を取得し、取得した当該検索結果を前記検索情報として用いて、いずれかの前記情報源から、当該検索情報に関する検索結果を更に取得する処理と、
      前記検索結果に関して受け付けた評価に応じて、当該検索結果の有用性を判定する処理と、
      前記検索結果に関する有用性に応じて、前記検索結果を表示するか否かを制御する処理と、を実行させる情報分析プログラムが記録された記録媒体。
  15.  検索対象に関する情報である検索情報を情報源において検索することで当該検索情報に関する検索結果を取得し、取得した検索結果を新たな前記検索情報として用いて、前記情報源において当該検索情報を検索する処理を繰り返し実行し、
     取得された前記検索結果のうちの少なくとも一部と、前記検索結果に関する評価に用いられるユーザインタフェースである操作インタフェースとを表示し、
     前記操作インタフェースを介して受け付けた前記検索結果に関する評価に応じて、当該検索結果に関するスコアを算出し、算出した前記スコアを当該検索結果に関連付けて保持し、
     前記検索結果が新たに取得された際、当該検索結果が取得されるまでにいずれかの前記情報源に対して実行された検索の回数と、当該検索結果に関して保持されている前記スコアとに応じて、前記検索結果を表示するか否かを制御する情報分析方法。
  16.  前記検索情報を前記情報源において検索する際、前記情報源について設定された、当該情報源が許容可能な検索の実行条件を表す制限情報と、当該情報源における検索の実行履歴を表す利用履歴情報と、に基づいて、前記情報源に関する検索の実行可否を判定する、請求項14に記載の情報分析方法。
PCT/JP2017/022441 2016-06-21 2017-06-19 情報分析システム、情報分析方法及び記録媒体 WO2017221858A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018524063A JP7020408B2 (ja) 2016-06-21 2017-06-19 情報分析システム、情報分析方法及びプログラム
US16/309,173 US20190266194A1 (en) 2016-06-21 2017-06-19 Information analysis system, information analysis method, and recording medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2016122848 2016-06-21
JP2016-122848 2016-06-21

Publications (1)

Publication Number Publication Date
WO2017221858A1 true WO2017221858A1 (ja) 2017-12-28

Family

ID=60784119

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2017/022441 WO2017221858A1 (ja) 2016-06-21 2017-06-19 情報分析システム、情報分析方法及び記録媒体

Country Status (3)

Country Link
US (1) US20190266194A1 (ja)
JP (1) JP7020408B2 (ja)
WO (1) WO2017221858A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020152845A1 (ja) * 2019-01-25 2020-07-30 日本電気株式会社 セキュリティ情報分析装置、システム、方法およびプログラム
WO2023195051A1 (ja) * 2022-04-04 2023-10-12 三菱電機株式会社 関連情報表示装置、プログラム及び関連情報表示方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20240037102A1 (en) * 2022-08-01 2024-02-01 Motorola Solutions, Inc. Method and apparatus for securing databases

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002222210A (ja) * 2001-01-25 2002-08-09 Hitachi Ltd 文書検索システム、文書検索方法及び検索サーバ
JP2002365062A (ja) * 2001-06-11 2002-12-18 Pioneer Electronic Corp 移動体用電子システムの制御装置及び制御方法、移動体用電子システム並びにコンピュータプログラム
JP2003150634A (ja) * 2001-11-09 2003-05-23 Yamaha Motor Co Ltd マルチメディア検索提供システム、マルチメディア検索提供方法、マルチメディア検索提供システム用プログラム、及びマルチメディア検索提供システム用記録媒体
JP2004326220A (ja) * 2003-04-22 2004-11-18 Ricoh Co Ltd 文書検索装置、方法、プログラム、及び記録媒体
JP2007140709A (ja) * 2005-11-15 2007-06-07 Csk Holdings Corp Webページ巡回装置及びWebページ巡回プログラム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090271762A1 (en) * 2008-04-29 2009-10-29 Sugarcrm Inc. Business software application system and method
US9495460B2 (en) * 2009-05-27 2016-11-15 Microsoft Technology Licensing, Llc Merging search results
US8150843B2 (en) * 2009-07-02 2012-04-03 International Business Machines Corporation Generating search results based on user feedback
US9489457B2 (en) * 2011-07-14 2016-11-08 Nuance Communications, Inc. Methods and apparatus for initiating an action
US9710525B2 (en) * 2013-03-15 2017-07-18 Bmc Software, Inc. Adaptive learning of effective troubleshooting patterns
US10726020B1 (en) * 2015-11-25 2020-07-28 Wells Fargo Bank, N.A. Enhanced search result relevancy for information retrieval systems
US10977321B2 (en) * 2016-09-21 2021-04-13 Alltherooms System and method for web content matching

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002222210A (ja) * 2001-01-25 2002-08-09 Hitachi Ltd 文書検索システム、文書検索方法及び検索サーバ
JP2002365062A (ja) * 2001-06-11 2002-12-18 Pioneer Electronic Corp 移動体用電子システムの制御装置及び制御方法、移動体用電子システム並びにコンピュータプログラム
JP2003150634A (ja) * 2001-11-09 2003-05-23 Yamaha Motor Co Ltd マルチメディア検索提供システム、マルチメディア検索提供方法、マルチメディア検索提供システム用プログラム、及びマルチメディア検索提供システム用記録媒体
JP2004326220A (ja) * 2003-04-22 2004-11-18 Ricoh Co Ltd 文書検索装置、方法、プログラム、及び記録媒体
JP2007140709A (ja) * 2005-11-15 2007-06-07 Csk Holdings Corp Webページ巡回装置及びWebページ巡回プログラム

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020152845A1 (ja) * 2019-01-25 2020-07-30 日本電気株式会社 セキュリティ情報分析装置、システム、方法およびプログラム
JPWO2020152845A1 (ja) * 2019-01-25 2021-12-09 日本電気株式会社 セキュリティ情報分析装置、システム、方法およびプログラム
US20220092186A1 (en) * 2019-01-25 2022-03-24 Nec Corporation Security information analysis device, system, method and program
JP7188461B2 (ja) 2019-01-25 2022-12-13 日本電気株式会社 セキュリティ情報分析装置、システム、方法およびプログラム
WO2023195051A1 (ja) * 2022-04-04 2023-10-12 三菱電機株式会社 関連情報表示装置、プログラム及び関連情報表示方法
JP7558450B2 (ja) 2022-04-04 2024-09-30 三菱電機株式会社 関連情報表示装置、プログラム及び関連情報表示方法

Also Published As

Publication number Publication date
JP7020408B2 (ja) 2022-02-16
US20190266194A1 (en) 2019-08-29
JPWO2017221858A1 (ja) 2019-04-11

Similar Documents

Publication Publication Date Title
JP7528166B2 (ja) インターネットコンテンツ内の要素の直接的なブラウザ内のマークアップのためのシステムおよび方法
US9588738B2 (en) Supporting software application developers to iteratively refine requirements for web application programming interfaces
US20210241893A1 (en) Dashboard Usage Tracking and Generation of Dashboard Recommendations
US20140223570A1 (en) Information processing apparatus, information processing system, and license management method
US8639679B1 (en) Generating query suggestions
KR20170000329A (ko) 콘텍스트 기반 탭 관리를 위한 방법 및 전자 장치
WO2017221858A1 (ja) 情報分析システム、情報分析方法及び記録媒体
JP6162134B2 (ja) ソーシャルページのトリガー
KR20190138037A (ko) 사이버 보안 특화의 지식 베이스를 이용한 정보 검색 시스템 및 그 방법
JP6038232B2 (ja) 効率的なメール検索のためのメールサービスシステムおよび方法
US10176153B1 (en) Generating custom markup content to deter robots
KR101607919B1 (ko) 메신저에 검색 기능을 제공하고 검색 결과를 정렬하는 방법과 시스템 및 기록 매체
KR100520428B1 (ko) 사용자 인증에 따라 다양한 종류의 키워드를 연동하여관리하는 방법 및 그 시스템
JP2012159917A (ja) 文書管理システム、文書管理方法、及びプログラム
JPWO2017047341A1 (ja) 情報処理装置、情報処理方法、およびプログラム
KR101757755B1 (ko) 선행기술조사의 분배처리 방법 및 이를 운용하는 서버 및 시스템
US20190095538A1 (en) Method and system for generating content from search results rendered by a search engine
JP7188461B2 (ja) セキュリティ情報分析装置、システム、方法およびプログラム
US20140289741A1 (en) Cooperation method, image processing device, and medium
JP6973132B2 (ja) 情報処理装置、情報処理方法および情報処理プログラム
JP7265199B2 (ja) 支援装置、支援方法、プログラム、及び支援システム
JP3706894B2 (ja) 情報提供装置、フォーマット分解装置、情報提供方法及びプログラム
JP2023036987A (ja) 事業者情報管理システム、プログラム及び事業者情報管理方法
WO2019230212A1 (ja) 情報処理システム及び情報処理装置
KR100874989B1 (ko) 단말에 대한 감사 장치, 방법 및 프로그램이 기록된기록매체

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2018524063

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17815326

Country of ref document: EP

Kind code of ref document: A1