WO2023063392A1 - 制御方法、サーバ、プログラム、及び、セキュリティ分析システム - Google Patents

制御方法、サーバ、プログラム、及び、セキュリティ分析システム Download PDF

Info

Publication number
WO2023063392A1
WO2023063392A1 PCT/JP2022/038219 JP2022038219W WO2023063392A1 WO 2023063392 A1 WO2023063392 A1 WO 2023063392A1 JP 2022038219 W JP2022038219 W JP 2022038219W WO 2023063392 A1 WO2023063392 A1 WO 2023063392A1
Authority
WO
WIPO (PCT)
Prior art keywords
analysis
transaction data
request
result
information
Prior art date
Application number
PCT/JP2022/038219
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 CN202280067291.9A priority Critical patent/CN118076952A/zh
Publication of WO2023063392A1 publication Critical patent/WO2023063392A1/ja

Links

Images

Classifications

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

Definitions

  • the present disclosure relates to control methods, servers, programs, and security analysis systems.
  • Patent Document 1 discloses, as a technology for analyzing threats in information security, a threat analysis support device that can support analysis of threats in information security.
  • a SOC Security Operation Center
  • a user signs a contract with one SOC operator to receive a threat monitoring service for information security.
  • the present disclosure has been made in view of the circumstances described above, and provides a control method and the like that can verify the validity of security analysis results and suppress fraud.
  • a control method is a control method executed by one server in a security analysis system including a plurality of servers each having a distributed ledger.
  • Request transaction data including a unique analysis request ID and a method of accessing related information that can be used for the analysis is acquired, the acquired request transaction data is included in a block, recorded in the distributed ledger, and recorded.
  • analysis transaction data including an analysis result corresponding to the analysis request ID included in the request transaction data, log information related to the analysis result among the related information, and threat intelligence information serving as the basis for the analysis result; , obtaining and generating a block containing the analysis transaction data, obtaining a verification result of validity of the analysis result included in the analysis transaction data, and obtaining the analysis included in the analysis transaction data according to the obtained verification result If the results indicate that the correctness has been verified, then record the block containing the analytical transaction data on the distributed ledger.
  • control method and the like of the present disclosure it is possible to verify the correctness of the analysis results of security analysis and to suppress fraud.
  • FIG. 1 is a block diagram showing an example configuration of a security analysis system according to an embodiment.
  • FIG. 2 is a diagram showing an example of default setting information stored in an analysis request setting storage unit according to the embodiment.
  • FIG. 3 is a diagram showing an example of an analysis request table according to the embodiment.
  • FIG. 4 is a diagram showing an example of a screen of a security product on which the access method according to the embodiment is performed.
  • FIG. 5 is a diagram illustrating an example of analysis results included in analysis transaction data according to the embodiment.
  • FIG. 6 is a diagram illustrating an example of threat intelligence information according to the embodiment;
  • FIG. 7 is an explanatory diagram of an example of a method of verifying the validity of analysis results included in analysis transaction data according to the embodiment.
  • FIG. 1 is a block diagram showing an example configuration of a security analysis system according to an embodiment.
  • FIG. 2 is a diagram showing an example of default setting information stored in an analysis request setting storage unit according to the embodiment.
  • FIG. 3 is a diagram
  • FIG. 8A shows an example of analysis results included in analysis transaction data 1 generated for the same analysis request ID according to the embodiment.
  • FIG. 8B shows an example of analysis results included in analysis transaction data 2 generated for the same analysis request ID according to the embodiment.
  • FIG. 9 is a flow chart showing an outline of processing executed by the security analysis system according to the embodiment.
  • FIG. 10 is a flowchart showing an overview of an example of alert analysis processing according to this embodiment.
  • FIG. 11 is a flowchart showing details of the smart contract registration process shown in FIG.
  • FIG. 12 is a flowchart showing details of the alert analysis request processing shown in FIG.
  • FIG. 13 is a flowchart showing details of the analysis result transmission process shown in FIG.
  • FIG. 14 is a flowchart showing details of the verification result transmission process shown in FIG. FIG.
  • FIG. 15 is a flow chart showing details of the fee payment process shown in FIG.
  • FIG. 16 is a sequence diagram illustrating an example of alert analysis processing according to the embodiment.
  • FIG. 17 is a sequence diagram illustrating an example of threat hunting analysis processing according to the embodiment.
  • FIG. 18 is an illustration of a platform for outsourcing security analysis on a blockchain according to the present disclosure.
  • a first form of the present disclosure is a control method executed by one server in a security analysis system comprising a plurality of servers each having a distributed ledger, comprising an analysis request ID that uniquely indicates a request for analysis and an analysis request ID that is used for the analysis obtaining request transaction data including possible access methods to relevant information, including the obtained request transaction data in a block and recording it in the distributed ledger, and including the analysis request ID included in the recorded request transaction data. , log information related to the analysis result among the related information, and threat intelligence information serving as the basis for the analysis result, and obtains analysis transaction data including the analysis transaction data. and obtains a verification result of the validity of the analysis result included in the analysis transaction data, and the obtained verification result indicates that the validity of the analysis result included in the analysis transaction data has been verified. If so, the control method records a block containing the analytical transaction data on the distributed ledger.
  • the block containing the generated analytical transaction data is recorded on the distributed ledger.
  • the requested transaction data is recorded in the distributed ledger, it is possible to request security analysis not only from one SOC operator, but also from multiple SOC operators, that is, multiple analysts, in a competition format. As a result, the principle of competition can be activated among analysts, so that analysis results of security analysis can be obtained at high speed and at low cost.
  • the analysis is analysis of an alert generated in a security product
  • the request transaction data includes information on the alert generated in the security product, the analysis request ID, and the access method
  • the log information included in the analytical transaction data is log information related to the analysis result among the relevant information and used for the analysis, and is included in the analytical transaction data.
  • the threat intelligence information is threat intelligence information that serves as the basis for the analysis result and corresponds to the cause of the alert.
  • the alerts generated by the security product are analyzed as security analysis, so the validity of the analysis results of the generated alerts can be verified and fraud can be suppressed. Furthermore, since the principle of competition can be activated among analysts, it is possible to obtain alert analysis results at high speed and at low cost.
  • the access method included in the request transaction data includes access location and access authority for related information that can be used for the analysis and is required for the analysis.
  • a second form of control method includes access location and access authority for related information that can be used for the analysis and is required for the analysis.
  • the analysis is threat hunting analysis
  • the access method included in the request transaction data is related information that can be used for the analysis, and security monitoring is performed.
  • the log information included in the analysis transaction data is related to the analysis result among the relevant information and is obtained by accessing the environment
  • the threat intelligence information which is log information and is included in the analysis transaction data, serves as the basis for the analysis result and is threat intelligence information linked to the log information.
  • threat hunting analysis is performed as security analysis, so the validity of threat hunting analysis results can be verified and fraud can be suppressed. Furthermore, since the principle of competition can be activated among analysts, it is possible to obtain analysis results of threat hunting at high speed and at low cost.
  • a fifth form of the present disclosure is, for example, the control method according to any one of the first to fourth forms, wherein the request transaction data further includes information indicating an analysis fee for the analysis request. .
  • the sixth form of the present disclosure further includes, for example, information indicating cancellation of the analysis request ID and the analysis request after obtaining the request transaction data and before obtaining the analysis transaction data.
  • the seventh mode of the present disclosure is, for example, any one of the first to sixth modes, wherein the threat intelligence information included in the analysis transaction data is digitally signed by an authenticated security company. is the control method of
  • threat intelligence information which is open information
  • a trusted security company digitally signed by a trusted security company. This can prevent the threat intelligence information from being improperly forged.
  • the verification result of the validity is signature information of malware present in the threat intelligence information included in the analysis transaction data, and the log included in the analysis transaction data.
  • the signature which is a byte string of packet data included in threat intelligence information
  • the byte string of packet data included in log information is matched with the byte string of packet data included in log information. Then, if the results of matching show that they substantially match, the validity of the analysis result is verified.
  • the verification result of the validity is the communication occurrence condition included in the specification information and the actually occurred communication content included in the log information included in the analysis transaction data. It is a control method of any one of the first to seventh forms, which is the result obtained by performing the matching.
  • the communication occurrence conditions included in the specification information are matched with the observed communication content. Then, if the results of matching show that they substantially match, the validity of the analysis result is verified.
  • the request transaction data further includes one or more tags specifying the type of analysis
  • the analysis transaction data further includes A control method according to any one of the first to ninth forms, comprising one or more tags indicating the type of analysis performed.
  • the analysis reveals the cause of the alert, the extent of the impact of the alert, the presence or absence of infection, or whether the data has been stolen. Data analysis etc. will be clarified. This makes it easier to verify the correctness of the analysis result of the security analysis.
  • the information that can identify the user requesting the analysis is anonymized, Any one of the first to tenth forms It is a control method.
  • IP address and MAC address information that can identify the user requesting analysis, such as IP address and MAC address, is anonymized, so the user can obtain the analysis results of security analysis without being identified.
  • the access method included in the request transaction data includes remote access rights to SIEM (Security Information and Event Management) used by the user requesting the analysis.
  • SIEM Security Information and Event Management
  • an access means is provided to obtain relevant information that can be used for analysis via SIEM, which is the security product used by the user requesting the analysis. This allows security analysis to be performed more easily.
  • the access method included in the request transaction data includes information indicating an operation for acquiring log information necessary for the analysis out of related information that can be used for the analysis.
  • an operation for obtaining the log information necessary for the analysis is provided as an access means for obtaining related information that can be used for analysis. This allows security analysis to be performed more easily.
  • the analytical transaction data is not recorded in the distributed ledger.
  • a control method according to any one of the first to thirteenth modes.
  • a degree of similarity between an analysis result included in the analysis transaction data to be verified and an analysis result included in the analysis transaction data generated in the past from the verification target is calculated. If the calculated similarity exceeds a predetermined threshold, the validity of the analysis result included in the analysis transaction data to be verified is not verified, and the verification result includes the The control method of the fourteenth form, wherein it is indicated that analysis transaction data is excluded from the verification target.
  • a server is one server in a security analysis system including a plurality of servers each having a distributed ledger, and includes a processor and a memory, wherein the processor uses the memory to obtaining request transaction data including an analysis request ID that uniquely indicates a request for analysis and a method of accessing related information that can be used for the analysis; a recording unit that records data in a ledger; obtaining analysis transaction data including threat intelligence information that serves as a basis for a result, generating a block including the analysis transaction data, and generating a block including the analysis transaction data; and when the obtained verification result indicates that the validity of the analysis result included in the analysis transaction data has been verified, the processor records the block containing the analysis transaction data on the distributed ledger. do.
  • a security analysis system includes a user terminal that requests analysis, an analyst terminal that executes the analysis request, and a plurality of servers each having a distributed ledger, wherein the plurality of servers One of the servers has a processor and a memory, and the processor uses the memory to access an analysis request ID that uniquely indicates the request for analysis and related information that can be used for the analysis.
  • the processor includes a recording unit that includes the obtained request transaction data in a block and records it in the distributed ledger; and the processor records the recorded request transaction.
  • the processor obtains a verification result of the validity of the analysis result included in the analysis transaction data and generates a block containing the analysis transaction data; and the processor obtains the obtained verification result. indicates that the validity of the analysis result included in the analysis transaction data has been verified, record a block containing the analysis transaction data on the distributed ledger.
  • the security analysis system 1 of the present disclosure realizes a mechanism for entrusting security analysis on a blockchain, enables verification of the validity of the analysis result of the security analysis, and can suppress fraud.
  • FIG. 1 is a block diagram showing an example configuration of a security analysis system 1 according to an embodiment.
  • a security analysis system 1 includes a user terminal 10, a blockchain platform 20, one or more analyst terminals 30, and one or more verifier terminals 40, as shown in FIG. . These are communicably connected via a network (not shown).
  • a network may consist of any communication line or network, including, for example, the Internet.
  • FIG. 1 shows an example in which the security analysis system 1 includes a plurality of analyst terminals 30 and a plurality of verifier terminals 40, the present invention is not limited to this. In other words, the security analysis system 1 only needs to have one or more analyst terminals 30 and one or more verifier terminals 40 .
  • a user terminal 10 is a terminal device such as a personal computer or a tablet used in a user company or user facility that has introduced an IDS or SIEM as a security product.
  • the user terminal 10 can be connected to a network and can communicate with multiple servers that constitute the blockchain platform 20 .
  • the user terminal 10 is used by a user company or user facility, and requests analysis of an alert generated by a security product as a request for security analysis.
  • Security analysis is not limited to analysis of alerts.
  • the security analysis may be an analysis of threat hunting, as the analysis done at the SOC also includes threat hunting. Threat hunting analysis collects and analyzes what is happening inside the network, assuming that threats that are difficult to detect by conventional methods have already entered the network, and suspicious logs, etc. method.
  • the user terminal 10 includes an analysis request setting storage unit 101, a communication unit 102, an analysis request execution reception unit 103, and an analysis request generation unit 104, as shown in FIG.
  • the user terminal 10 includes a processor, a memory storing a program for causing the processor to execute predetermined processing, a communication interface, and the like.
  • the user terminal 10 realizes the functions of each configuration by the processor executing a predetermined program using the memory.
  • the analysis request setting storage unit 101 stores default setting information necessary for requesting security analysis.
  • the analysis request setting storage unit 101 is realized by a HDD (Hard Disk Drive), an SSD (Solid State Drive), or the like.
  • FIG. 2 is a diagram showing an example of default setting information stored in the analysis request setting storage unit 101 according to the embodiment.
  • FIG. 2 shows an example of default setting information that is used when an alert occurs in the SIEM owned by the user.
  • Figure 2 shows the default configuration information including which log access is permitted (available_log_type) and the period of available logs (available_relative_period) according to the type of alert (alert_type). ing.
  • the default setting information may also include information on the analysis fee (analysis_fee). Note that these setting information are default values and can be changed. In the example shown in FIG. 2, suspicious communication and brute force attack are shown as alert types.
  • the communication unit 102 is a wireless or wired communication interface, and communicates with multiple servers that configure the blockchain platform 20 .
  • the communication unit 102 also transmits transaction data and acquires confirmation of analysis results.
  • the communication unit 102 sends request transaction data generated by an analysis request generation unit 104 (to be described later) or transaction data for registering an analysis fee to one of a plurality of servers constituting the blockchain platform. server.
  • the communication unit 102 may also transmit cancellation transaction data generated by the analysis request generation unit 104, which will be described later, to one server.
  • the analysis request execution accepting unit 103 accepts a user input indicating whether or not to request security analysis to the blockchain platform 20 .
  • the analysis request execution receiving unit 103 receives an input to the effect that a security analysis is to be requested, the analysis request execution receiving unit 103 acquires the setting information necessary for the security analysis request from the analysis request setting storage unit 101, and fills in the items of the acquired setting information. If there is no change, the acquired setting information is confirmed as the analysis request setting information.
  • the analysis request execution receiving unit 103 receives input from the user indicating whether or not to perform analysis fee pooling processing.
  • the analysis request execution accepting unit 103 accepts input of an analysis request ID indicating the analysis request to be canceled and information indicating that the analysis request is to be canceled.
  • the analysis request generation unit 104 generates request transaction data including an analysis request ID that uniquely indicates an analysis request and an access method to related information that can be used for analysis.
  • the analysis request generation unit 104 includes information on alerts generated by security products, an analysis request ID that uniquely indicates an analysis request, and an access method to related information that can be used for analysis. Generate request transaction data. By generating such requested transaction data, analysis of alerts generated by security products is performed as security analysis.
  • the access method included in the requested transaction data may include the access location and access authority of the relevant information that can be used for analysis of the alert and that is required for the analysis. The inclusion of such access methods provides access to relevant information needed to analyze alerts generated by security products. This allows for easier analysis of alerts generated by security products.
  • the request transaction data may further include information indicating the analysis fee for the analysis request, and may include one or more tags specifying the type of analysis.
  • the analyst is provided with a reward for the requested security analysis, which provides an incentive for the analyst to perform the security analysis. Therefore, it can be expected that security analysis can be performed quickly.
  • the items that can be clarified by the analysis such as the cause of the alert, the scope of the impact of the alert, the presence or absence of infection, and the analysis of stolen data, etc., are clarified. be done.
  • the access method included in the request transaction data may include the remote access right to the SIEM used by the user requesting the analysis, information indicating an operation for acquiring log information may be included. If the access method includes remote access to the SIEM, access is provided through the SIEM, which is the security product used by the user requesting the analysis, to obtain relevant information that can be used for analysis. This allows security analysis to be performed more easily. In addition, if the access method includes information indicating the operation to obtain the log information necessary for analysis, the access method for obtaining the log information necessary for the analysis will be used as an access method for obtaining related information that can be used for analysis. Operations are provided. This allows security analysis to be performed more easily.
  • the information that can identify the user requesting analysis may be anonymized.
  • the information that can identify the user who requests the analysis such as the IP address and MAC address, is anonymized, so the user can obtain the analysis result of the security analysis without being identified.
  • the analysis request generation unit 104 generates request transaction data including information indicating a security analysis request in order to request security analysis based on the determined analysis request setting information. More specifically, the analysis request generation unit 104 generates an analysis request table based on the confirmed analysis request setting information, and generates request transaction data including data indicating the generated analysis request table.
  • FIG. 3 is a diagram showing an example of an analysis request table according to the embodiment.
  • FIG. 3 shows an example of an alert analysis request table generated by the user terminal 10 when an alert occurs in the SIEM owned by the user.
  • the alert analysis request table contains at least the alert analysis request ID (request_id), the time (date) when the alert occurred in the user environment, and the alert type (alert_type) defined in the user environment. included.
  • the alert analysis request table may include an alert identifier (alert_id) in the user environment.
  • the alert analysis request table includes access methods for relevant information that can be used by analysts for alert analysis.
  • the SIEM software name that can be used by the analyst available_siem
  • the period of the SIEM log that the analyst can access available_period
  • the log type that can be used by the analyst available_log_type
  • the URL access_url
  • the access method may be a means of accessing the IDS log of the generated alert and the user's analysis environment.
  • the alert analysis request table shown in FIG. 3 also includes an analysis fee (analysis_fee) for the alert analysis.
  • the analysis request table shown in FIG. 3 contains information on alerts generated by security products, analysis request IDs, access methods to related information that can be used for analysis, and analysis fees. .
  • the analysis request generation unit 104 when the analysis request execution receiving unit 103 receives an input indicating that the analysis fee pooling process is to be performed, the analysis request generation unit 104 generates transaction data for registering pool money for payment of the analysis fee.
  • the analysis request execution receiving unit 103 receives input of an analysis request ID indicating an analysis request to be canceled and information indicating that the analysis request is to be canceled, the analysis request generation unit 104 and information indicating the cancellation of the analysis request.
  • related information that can be used for threat hunting analysis and indicates the environment in which security monitoring is being performed is included in the access method included in the request transaction data. access locations and access rights for As a result, threat hunting analysis is performed as security analysis.
  • the blockchain platform 20 can implement blockchains such as Ethereum, EOS, Ripple, NEM, Quorum, and Hyperledger Fabric, and is composed of multiple nodes.
  • a plurality of nodes are communicably connected via a network and operate independently.
  • the plurality of nodes are servers, for example, but some of the nodes may be smartphones, tablets, and personal computers.
  • the blockchain platform 20 is composed of a plurality of servers and implements a blockchain such as Ethereum.
  • each of the plurality of servers has a distributed ledger, and the blockchain is stored in the distributed ledger.
  • each of the multiple servers manages a blockchain.
  • Each of the multiple servers that make up the blockchain platform 20 includes a communication unit 201, a blockchain storage unit 202, and a processing unit 203, as shown in FIG.
  • Each of the plurality of servers can realize a communication function and a processing function by executing a program using a memory by a processor such as a CPU.
  • the communication unit 201 is a wireless or wired communication interface, and communicates with other servers, or with the user terminal 10, the analyst terminal 30, or the verifier terminal 40 connected to the network.
  • the communication unit 201 can transmit and acquire transaction data. Also, the communication unit 201 may acquire a result of verifying the validity of the analysis result.
  • the communication unit 201 acquires request transaction data including, for example, an analysis request ID that uniquely indicates an analysis request and a method of accessing related information that can be used for the analysis. Also, the communication unit 201 includes, for example, analysis results corresponding to the analysis request ID included in the request transaction data, log information related to the analysis results among related information, and threat intelligence information that serves as the basis for the analysis results. Get analytical transaction data. Also, the communication unit 201 acquires, for example, a result of verifying the validity of the analysis result included in the analysis transaction data. Note that the communication unit 201 may acquire transaction data including verification results of the validity of the analysis results. In addition, analysis requests include not only alert analysis requests but also threat hunting analysis requests.
  • the block chain storage unit 202 stores a block chain having the same contents as those of other servers or the like.
  • a distributed ledger is stored in the blockchain storage unit 202, and a blockchain is stored in the distributed ledger.
  • the blockchain storage unit 202 is realized by an HDD (Hard Disk Drive), an SSD (Solid State Drive), or the like.
  • the processing unit 203 can implement the following processing functions by a processor such as a CPU executing a program using a memory.
  • the processing unit 203 executes a consensus algorithm on transaction data with other servers and verifies the acquired transaction data.
  • the processing unit 203 can verify the acquired transaction data by checking whether the format of the acquired transaction data matches and whether the signature is correct.
  • the processing unit 203 also performs processing for recording transaction data that has passed through the consensus algorithm on a distributed ledger, that is, a blockchain.
  • the processing unit 203 generates a blockchain block including one or more transaction data that has passed through the consensus algorithm, and records it in the blockchain.
  • the processing unit 203 also performs processing for executing smart contracts that are recorded in a distributed ledger, that is, a blockchain, and are running on-memory.
  • the processing unit 203 includes the request transaction data acquired by the communication unit 201 in a block and records it in a distributed ledger, that is, a blockchain. For example, when the verification result obtained by the communication unit 201 indicates that the validity of the analysis result included in the analysis transaction data has been verified, the processing unit 203 includes the analysis transaction data in a block and stores it in the distributed ledger. Record.
  • the processing unit 203 generates a block containing verification transaction data for specific analysis transaction data, and records it in a distributed ledger, that is, a blockchain. Then, with this as a trigger, the processing unit 203 executes the smart contract running on the on-memory, and pays the analyst who created the specific analysis transaction data and the analyst who created the verification transaction data an analysis fee. process to send the
  • the processing unit 203 acquires the cancellation transaction data after acquiring the request transaction data and before acquiring the analysis transaction data, the processing unit 203 records the block containing the cancellation transaction data in the distributed ledger, that is, the blockchain. process. In this case, the analysis request specified by the analysis request ID included in the cancellation transaction data is cancelled. As a result, after making a request for security analysis, if the request becomes unnecessary because there is no difference from other requests, or if the request is incorrect, the request can be canceled.
  • the analyst terminal 30 is a terminal device such as a personal computer or a tablet used by an SOC company or the like. Note that the analyst terminal 30 may be used by an individual who is an analyst.
  • the analyst terminal 30 can be connected to a network and can communicate with multiple servers that configure the blockchain platform 20 .
  • the analyst terminal 30 is used by an analyst belonging to an SOC company or the like. Based on the security analysis request recorded in the blockchain, the analyst terminal 30 creates analysis results by performing security analysis using specifications and threat intelligence information, and analyzes transaction data including the created analysis results. to generate
  • the analyst terminal 30 includes a communication unit 301, an analysis information input unit 302, and an analysis transaction generation unit 303, as shown in FIG.
  • the analyst terminal 30 includes a processor, a memory storing a program for causing the processor to execute a predetermined process, a communication interface, and the like. In other words, the analyst's terminal 30 realizes the functions of each configuration by the processor executing a predetermined program using the memory.
  • the communication unit 301 is a wireless or wired communication interface, and communicates with multiple servers that configure the blockchain platform 20 .
  • the communication unit 301 accesses the requested transaction data recorded in the blockchain, acquires information included in the requested transaction data, and transmits the transaction data.
  • the communication unit 301 accesses the request transaction data recorded in the blockchain, and acquires alert information, an analysis request ID, and a method of accessing related information that can be used for analysis.
  • the communication unit 301 transmits analytical transaction data generated by the analytical transaction generation unit 303, which will be described later, to one of a plurality of servers constituting the blockchain platform.
  • the analysis information input unit 302 acquires information included in the requested transaction data input by the communication unit 301 .
  • the analyst uses the threat intelligence information that is open to the public, and inputs the analysis results of the security analysis to the analysis information input unit 302 .
  • the analysis information input unit 302 acquires the analysis result by inputting the analysis result.
  • the analysis information input unit 302 acquires alert information, an analysis request ID, and an access method to related information that can be used for analysis, which are included in the request transaction data input by the communication unit 301. do.
  • the analysis information input unit 302 acquires an overview of the alert and log information necessary for the analyst to perform security analysis using the acquired access method.
  • the analyst inputs the analysis result obtained by analyzing the alert using the obtained overview of the alert, log information, and published threat intelligence information to the analysis information input unit 302.
  • the analysis information input unit 302 can acquire the analysis result corresponding to the analysis request ID included in the request transaction data.
  • FIG. 4 is a diagram showing an example of a security product screen on which the access method according to the embodiment is performed.
  • the access method according to the embodiment is performed.
  • FIG. 4 by accessing the URL (access_url) shown in FIG. 3, the overview of the alert generated in the SIEM and the log information necessary for analysis can be obtained via the SIEM screen owned by the user. An example is shown.
  • the lines from Ticket to Model Breached show an overview of the alert, that is, information about the alert.
  • log information for a specific period can be obtained by downloading. is shown.
  • the analysis transaction generation unit 303 generates analysis transaction data based on the analysis result input to the analysis information input unit 302 .
  • the analysis transaction generation unit 303 generates the analysis result corresponding to the analysis request ID included in the request transaction data, the log information related to the analysis result among the related information, and the threat intelligence that serves as the basis for the analysis result.
  • Generate analytical transactional data including information and
  • the log information included in the analyzed transaction data is the log information related to the analysis result among the related information and used for the analysis.
  • the threat intelligence information included in the analysis transaction data is the threat intelligence information that serves as the basis for the analysis result and corresponds to the cause of the alert.
  • the threat intelligence information included in the analytical transaction data may be digitally signed by an authorized security company. In this way, threat intelligence information, which is open information, is given a digital signature by a reliable security company, thereby preventing the threat intelligence information from being appropriately forged.
  • the analysis transaction data may further include one or more tags that indicate the type of analysis performed to obtain the analysis results.
  • tags that indicate the type of analysis in the analysis transaction data, clarify items such as the cause of the alert, the scope of the impact of the alert, the presence or absence of infection, or the analysis of stolen data, etc. can be done. This may make it easier to verify the validity of analysis results, which will be described later.
  • FIG. 5 is a diagram showing an example of analysis results included in analysis transaction data according to the embodiment.
  • the analysis results shown in FIG. 5 include the analysis request ID (request_id), the time (date) when the alert was generated in the user environment, the alert identifier (alert_id) in the user environment (not shown), and the analysis result type (type ) and are included.
  • the analysis result shown in FIG. 5 also includes the log type (log_type) used by the analyst and the alert threat type (threat_type) analyzed by the analyst.
  • the analysis results shown in Fig. 5 further include the identifier (cti_id) of the publicly available threat intelligence information used by the analyst and the information source (cti_source) of the publicly available threat intelligence information used by the analyst. include.
  • the analysis result shown in FIG. 5 includes the analysis result corresponding to the analysis request ID, the log information related to the analysis result among the related information, and the threat intelligence information that serves as the basis for the analysis result.
  • FIG. 6 is a diagram showing an example of threat intelligence information according to the embodiment.
  • the threat intelligence information shown in FIG. 6 is detailed information of the threat intelligence information included in the analysis results shown in FIG. 5, and is open to the public.
  • the threat intelligence information shown in FIG. 6 includes a threat intelligence information type (type), a threat intelligence information identifier (id), and a feature (pattern) indicating the occurrence of a threat.
  • the threat intelligence information identifier (id) is the same as the threat intelligence information identifier (cti_id) included in the analysis result shown in FIG.
  • the indicators shown in FIG. 6 indicate threat characteristics for detecting threats.
  • the threat intelligence information shown in FIG. 6 is described in STIX (Structured Threat Information eXpression), which is a format for describing threat information in a standardized and structured format.
  • the threat intelligence information includes information about what information was identified and when it was created.
  • the verifier terminal 40 is a terminal device such as a personal computer or a tablet.
  • the verifier terminal 40 can be connected to a network and can communicate with multiple servers that configure the blockchain platform 20 .
  • the verifier terminal 40 is used by a verifier who verifies the analysis results, and verifies the security analysis results recorded in the blockchain.
  • the verifier terminal 40 includes a communication unit 401, an analysis result verification unit 402, and a transaction generation unit 403, as shown in FIG.
  • the verifier terminal 40 includes a processor, a memory storing a program for causing the processor to execute a predetermined process, a communication interface, and the like.
  • the verifier terminal 40 implements the functions of each configuration by the processor executing a predetermined program using the memory.
  • the communication unit 401 is a wireless or wired communication interface, and communicates with multiple servers that configure the blockchain platform 20 .
  • the communication unit 401 accesses analytical transaction data included in blocks that have been transmitted to the blockchain and generated, acquires analytical results included in the analytical transaction data, and validates the analysis results. Send validation results or send generated transaction data.
  • the communication unit 401 accesses the analysis transaction data included in the blocks generated by being sent to the blockchain, the analysis results included in the analysis transaction data, and the threat intelligence information indicated in the analysis results. to get In addition, the communication unit 401 transmits the result of verifying the validity of the analysis result created by the analysis result verification unit 402 to be described later to one of the multiple servers constituting the blockchain platform 20 .
  • the transaction generation unit 403 which will be described later, generates verification transaction data including the verification result of the validity of the analysis result
  • the communication unit 401 transmits the verification transaction data to one server that constitutes the blockchain platform. do it.
  • the communication unit 401 transmits the transaction data including the smart contract to one server.
  • the analysis result verification unit 402 verifies the validity of the analysis result included in the analysis transaction data acquired by the communication unit 401, and creates a verification result that is the verification result.
  • the analysis result verification unit 402 performs matching between the signature information of malware existing in the threat intelligence information included in the analysis transaction data and the byte string in the trace included in the log information included in the analysis transaction data. You may create a verification result by The analysis result verification unit 402 verifies the validity of the analysis result included in the analysis transaction data when the results of the matching show that they substantially match.
  • the analysis result verification unit 402 also creates a verification result by matching the communication generation condition included in the specification information with the content of the communication that actually occurred included in the log information included in the analysis transaction data. good too. If the analysis result verification unit 402 substantially agrees as a result of the matching, the validity of the analysis result is verified. Therefore, the validity of the analysis result included in the analysis transaction data is verified. Create a verification result that shows that
  • FIG. 7 is an explanatory diagram of an example of a method for verifying the validity of analysis results included in analysis transaction data according to the embodiment.
  • the verifier using the verifier terminal 40 uses the alert analysis request table shown in FIG. 3 and the threat intelligence information shown in FIG. Validate.
  • the verifier confirms the analysis request ID (request_id) and time (date) shown in a in the alert analysis request table shown in FIG. 3 and the analysis result shown in FIG.
  • the verifier identifies which alert analysis request the analysis results to be verified included in the analysis transaction data contained in the blocks generated by being sent to the blockchain correspond to, and is described in the alert analysis request table.
  • Confirm that the time indicated in the analysis result is close to the time indicated in the analysis result.
  • the close time is, for example, within one hour, but is not limited to this, and may be within several minutes or within several hours.
  • the verifier determines the log type (log_type) and time (date) as shown in b in the analysis result shown in FIG. Extract log information related to analysis results. That is, first, the verifier determines the time (date), source (src_ip), destination (dst_ip), URL information (url ), etc., and retained as log information related to analysis results.
  • the verifier extracts threat intelligence information that serves as the basis for the analysis results from the information described in the analysis results shown in FIG.
  • the verifier extracts the threat intelligence information that serves as the basis for the analysis results based on the threat intelligence information identifier (cti_id) and the threat intelligence information source (cti_source) described in the analysis results. do.
  • the verifier confirms whether the analysis results are valid by comparing the extracted log information with the extracted threat intelligence information.
  • the alert information included in the request transaction data may include a trace (raw packet byte string information).
  • the validity of the analysis results is verified by matching the malware signature information included in the threat intelligence information with the regular expression of the byte string in the trace included in the log information extracted from the analysis results. good too.
  • the alert information included in the request transaction data may include a trace (raw packet byte string information) acquired due to a communication error with the controller. In this case, for example, by matching the occurrence conditions of communication included in the specification information such as PICS of BACnet with the actual communication content included in the log information extracted from the analysis result, the validity of the analysis result can be verified.
  • the analysis result verification unit 402 calculates the degree of similarity between the analysis result to be verified and the existing analysis result for the same analysis request ID before performing the validity verification of the analysis result to be verified. If the degree of similarity exceeds the threshold, the validity verification of the analysis result to be verified is not performed. In other words, the analysis result verification unit 402 first calculates the degree of similarity between the analysis result included in the analysis transaction data to be verified and the analysis result included in the analysis transaction data generated before the verification target. The analysis result verification unit 402 does not verify the validity of the analysis results included in the analysis transaction data to be verified when the calculated similarity exceeds a predetermined threshold.
  • the analysis result verification unit 402 creates a verification result indicating that the analysis transaction data subject to verification is excluded from the verification target. In this way, when the verification result indicating that the analysis transaction data is excluded from the verification target is transmitted to one of the plurality of servers constituting the blockchain platform 20, the analysis transaction data is The containing block will not be recorded on the distributed ledger.
  • the verification transaction data for the analysis result is not recorded in the distributed ledger. good too.
  • the blocks containing analytical transaction data may or may not have already been created and recorded on the distributed ledger. This is because the analyst terminal 30 that created the analysis result corresponding to the verification result included in the verification transaction data can be prevented from receiving a reward because the block containing the verification transaction data is not recorded on the distributed ledger. be.
  • FIG. 8A shows an example of analysis results included in analysis transaction data 1 generated for the same analysis request ID according to the embodiment.
  • FIG. 8B shows an example of analysis results included in analysis transaction data 2 generated for the same analysis request ID according to the embodiment.
  • the verifier calculates the degree of similarity between the analysis result shown in FIG. 8A and the analysis result shown in FIG. ) and the distance between the threat intelligence information (cti) used in the analysis results.
  • dateist(date1,date2)
  • date1 is the time (date) included in the analysis result of the analysis transaction data 1 shown in FIG. 8A
  • date2 is the time (date) included in the analysis result of the analysis transaction data 2 shown in FIG. 8B.
  • . 86400 corresponds to a value obtained by converting 24 hours in a day into seconds.
  • cti1 is threat intelligence information extracted from the analysis result of the analysis transaction data 1 shown in FIG. 8A
  • cti2 is threat intelligence information extracted from the analysis result of the analysis transaction data 2 shown in FIG. 8B. is.
  • STIX2 For the purpose of exchanging threat information between security-related companies, STIX2, a format that describes threat information in a standardized and structured format, measures the degree of similarity between two pieces of threat intelligence information in the range of 0 to 100. There is a method for output. In this method, weighting is performed for each field such as name, and comparison is performed for each field of threat intelligence information, and (total weight of matching fields) / (total weight of fields to be compared) The similarity is calculated in the form of
  • dist(analysis1,analysis2) ⁇ T that is, if the calculated dist(analysis1,analysis2) is smaller than the threshold T
  • the verifier can determine that both analysis results are similar or identical.
  • the verifier determines that the similarity between the analysis result shown in FIG. 8A and the analysis result shown in FIG. Analysis results can be determined to be similar or identical.
  • the transaction generation unit 403 may generate verification transaction data including the verification result created by the analysis result verification unit 402 .
  • the transaction generation unit 403 may generate a smart contract for paying the analysis fee through the operation of the verifier, and generate transaction data including the generated smart contract.
  • a smart contract for paying the analysis fee through the operation of the verifier, and generate transaction data including the generated smart contract.
  • 80% of the analysis fee set by the user requesting security analysis is for the analyst, and the remaining 20% is for the analysis result performed by the analyst.
  • Logic may be embedded that distributes between one or more verifiers. The logic embedded in the payment function of the generated smart contract is not limited to this example, and can be determined appropriately as long as it provides an incentive for the analyst to perform analysis and an incentive for the verifier to perform verification.
  • the log information included in the analysis transaction data shall be related to the analysis results and access to the user environment. log information that can be obtained by In this case, the threat intelligence information included in the analysis transaction data may be threat intelligence information that serves as the basis for the analysis results and is linked to the log information.
  • FIG. 9 is a flow chart showing an outline of processing executed by the security analysis system 1 according to the embodiment.
  • the outline of processing shown in FIG. 9 is a control method executed by one of the plurality of servers included in the security analysis system 1 according to the embodiment.
  • a plurality of servers each have a distributed ledger. In other words, multiple servers manage the blockchain.
  • one server acquires request transaction data including an analysis request ID that uniquely indicates an analysis request and a method of accessing related information that can be used for analysis (S1).
  • the requested transaction data is generated by the user terminal 10 and sent to one server when a security product in the user company or the like generates an alert.
  • one server records the requested transaction data acquired in step S1 in a distributed ledger (S2).
  • the first server performs analysis including the analysis result corresponding to the analysis request ID included in the request transaction data, log information related to the analysis result among related information, and threat intelligence information that is the basis of the analysis result.
  • Acquire transaction data (S3).
  • the analysis transaction data is generated by the analyst terminal 30 and transmitted to one server.
  • Analysis transaction data includes analysis results created by performing security analysis using specifications and threat intelligence information based on security analysis requests recorded in the distributed ledger.
  • one server acquires the result of verification of the validity of the analysis result included in the analysis transaction data acquired in step S3 (S4).
  • one or more verifiers use the verifier terminal 40 to verify the analysis results of the security analysis recorded in the distributed ledger and create the verification results.
  • One or more verifiers may generate verification transaction data including the verification results they have created, and transmit the data to one server.
  • the security analysis results recorded on the distributed ledger are similar to other analysis results previously recorded on the distributed ledger, the analysis results shall be considered invalid and the validity of the analysis results shall be verified. However, a verification result to that effect is created.
  • the one server includes the analysis transaction data in a block and records it in the distributed ledger. (S5).
  • FIG. 10 is a flowchart showing an overview of an example of alert analysis processing according to the embodiment.
  • FIG. 11 is a flowchart showing details of the smart contract registration process (step S10) shown in FIG.
  • FIG. 12 is a flowchart showing details of the alert analysis request process (step S12) shown in FIG.
  • FIG. 13 is a flow chart showing the details of the analysis result transmission process (step S13) shown in FIG.
  • FIG. 14 is a flow chart showing details of the verification result transmission process (step S14) shown in FIG.
  • FIG. 15 is a flow chart showing details of the fee payment process (step S15) shown in FIG.
  • the security analysis system 1 executes smart contract registration processing (S10).
  • the verifier terminal 40 creates an analysis fee pool function and a fee payment function and registers them in the blockchain in order to entrust security analysis under the operation of the verifier. (S101).
  • the verifier terminal 40 generates a smart contract for paying the analysis fee, which is composed of the created analysis fee pool function and fee payment function, and a plurality of servers constituting the blockchain platform 20. to one of the servers. This will allow the smart contract to be registered and activated on the blockchain.
  • the security analysis system 1 executes analysis fee pool processing (S11).
  • the user terminal 10 generates transaction data for registering pool money for payment of the analysis fee, and transmits the transaction data to one of a plurality of servers managing blockchain.
  • the analysis fee pooling process is executed, and the pooled money for payment of the analysis fee is registered in the blockchain.
  • the security analysis system 1 executes alert analysis request processing (S12).
  • step S121 the user terminal 10 acquires user input indicating whether to request analysis of the generated alert (S122). Subsequently, the user terminal 10 checks whether or not a request for analysis of the generated alert has been entered (S123). Default setting information is acquired (S124). In step S123, the user terminal 10 terminates the alert analysis request process if the request is not entered (NO in S123). Subsequently, the setting information of the user terminal 10 is changed according to the user's input (S125). Note that if the default setting information remains unchanged, step S125 is skipped.
  • the user terminal 10 generates request transaction data for alert analysis based on the analysis request setting information, which is the determined setting information (S126). Subsequently, the user terminal 10 transmits the requested transaction data generated in step S126 to the one server, thereby transmitting the requested transaction data to the blockchain (S127).
  • the security analysis system 1 executes analysis result transmission processing (S13).
  • the analyst terminal 30 uses specifications and threat intelligence information based on the alert analysis request included in the request transaction data recorded in the blockchain to perform security analysis.
  • An analysis result is created by performing the analysis (S131).
  • the analyst terminal 30 generates analysis transaction data based on the analysis result created in step S131 (S132).
  • the analyst terminal 30 transmits the analysis transaction data generated in step S132 to the one server, thereby transmitting the analysis transaction data to the blockchain (S133).
  • the security analysis system 1 executes verification result transmission processing (S14).
  • the verifier terminal 40 first checks whether there is an analysis result for the same analysis request ID before the analysis result to be verified (S141). Note that step S141 is performed before verifying the analysis result included in the analysis transaction data included in the block that was sent to the blockchain and generated in step S13. Subsequently, the verifier terminal 40 confirms whether the analysis result already exists, that is, whether the analysis result for the same analysis request ID exists before the analysis result to be verified (S142).
  • step S142 if the analysis result already exists (YES in S142), the verifier terminal 40 calculates the distance between the already existing analysis result and the analysis result to be verified (S143). Subsequently, the verifier terminal 40 checks whether the distance calculated in step S143 is less than a threshold, thereby determining whether the two analysis results are similar (S144). In step S144, if the calculated distance is not less than the threshold value (NO in S144), it means that the two analysis results are not similar, so the verifier terminal 40 proceeds to step S145. In step S142, if the analysis result does not already exist (NO in S142), the verifier terminal 40 proceeds to step S145 and verifies the validity of the analysis result to be verified (S145).
  • step S145 if the analysis result is valid (YES in S146), the verifier terminal 40 generates verification transaction data including the verification result for the analysis result (S147). Subsequently, the verifier terminal 40 transmits the generated verification transaction data to the one server, thereby transmitting the verification transaction data to the blockchain (S148). Note that the verifier terminal 40 may transmit only the verification result of the analysis result to the blockchain without generating the verification transaction data.
  • step S144 if the calculated distance is less than the threshold (YES in S144), the analysis results of both are similar, so the verifier terminal 40 does not verify the analysis result of the verification target, and does not verify the analysis result of the verification target. Verification transaction data including the verification result for the analysis result is not generated (S149). In this case, the verifier terminal 40 may transmit to the blockchain a verification result indicating that the analysis result to be verified is excluded from the verification target.
  • step S146 if the result of verification in step S145 is that the analysis result is valid (NO in S146), the verifier terminal 40 does not generate verification transaction data including the verification result for the analysis result (S149). . In this case, the verifier terminal 40 may transmit to the blockchain a verification result indicating that the analysis result to be verified is not valid.
  • the security analysis system 1 executes the fee payment process (S15).
  • one server among a plurality of servers constituting the blockchain platform 20 generates a block containing verification transaction data for specific analysis transaction data (S151). . Subsequently, the one server sets the total number determined before block generation in step S151 to M and the total number after block generation to N as the number of verification transaction data for the analysis transaction data (S152). .
  • M and N are natural numbers.
  • the one server checks whether M ⁇ threshold Th and N ⁇ threshold Th are satisfied (S153). The analysis fee is distributed to the preparer and sent (S154). It should be noted that, in step S153, if M ⁇ threshold Th and N ⁇ threshold Th are not satisfied (NO in S153), the one server ends the fee payment process.
  • the security analysis system 1 realizes a mechanism for entrusting security analysis on a blockchain, enabling verification of the validity of the analysis results of security analysis, and realizing a mechanism capable of suppressing fraud.
  • FIG. 16 is a sequence diagram showing an example of alert analysis processing according to the embodiment. Here, a case where verification transaction data including a verification result is generated will be described as an example.
  • the verifier terminal 40 generates a smart contract for paying the analysis fee, and generates first transaction data including the generated smart contract (S201).
  • the verifier terminal 40 transmits the first transaction data generated in step S201 to the blockchain platform 20 (S202).
  • the verifier terminal 40 transmits the first transaction data generated in step S ⁇ b>201 to one of the multiple servers that constitute the blockchain platform 20 .
  • the blockchain platform 20 After acquiring the first transaction data, the blockchain platform 20 generates a block containing the acquired first transaction data and records it in the blockchain (S203). Specifically, when one server among the plurality of servers configuring the blockchain platform 20 acquires one transaction data, it generates a block containing the acquired first transaction data. The one server records a block containing the created first transaction data in a blockchain through a predetermined consensus algorithm performed with other servers.
  • the user terminal 10 generates second transaction data for registering pool money for payment of the analysis fee (S204), and transmits it to the blockchain platform 20 (S205).
  • the blockchain platform 20 After acquiring the second transaction data, the blockchain platform 20 generates a block containing the acquired second transaction data and records it in the blockchain (S206).
  • This third transaction data is the request transaction data described above, and includes information on the generated alert such as the IDS log, access method to the user environment to be analyzed, and information indicating the analysis fee.
  • the user terminal 10 transmits the third transaction data generated in step S207 to the blockchain platform 20 (S208).
  • the blockchain platform 20 After obtaining the third transaction data, the blockchain platform 20 generates a block containing the obtained third transaction data and records it in the blockchain (S209).
  • the analyst terminal 30 acquires alert analysis request information indicating a request for alert analysis included in the third transaction data recorded in the blockchain (S210), and performs alert analysis (S211).
  • the analyst terminal 30 analyzes the alert using specifications and threat intelligence information based on the acquired alert analysis request information, thereby obtaining analysis results (herein referred to as alert analysis results). create.
  • the analyst terminal 30 generates fourth transaction data including the alert analysis result obtained by performing the alert analysis in step S211 (S212).
  • This fourth transaction data is the analysis transaction data described above.
  • the analyst terminal 30 transmits the fourth transaction data generated in step S212 to the blockchain platform 20 (S213).
  • the blockchain platform 20 acquires the fourth transaction data, it generates a block containing the acquired fourth transaction data (S214).
  • the verifier terminal 40 acquires the alert analysis result included in the fourth transaction data included in the generated block (S215). Note that when the generated block is recorded in the distributed ledger, the verifier terminal 40 can acquire the alert analysis result included in the fourth transaction data from the blockchain. On the other hand, if the generated block is not recorded in the blockchain, the alert analysis result included in the fourth transaction data can be obtained from the block including the broadcasted fourth transaction data. This is because when a block containing the fourth transaction data is generated, it is broadcasted and passed through a consensus algorithm, and then the generated block is finalized and recorded in the blockchain.
  • the verifier terminal 40 verifies the validity of the alert analysis result acquired in step S215 (S216). When verifying the validity of the alert analysis result, similarity determination with the existing alert analysis result is also performed.
  • the verifier terminal 40 generates fifth transaction data including the verification result obtained by verifying the validity of the alert analysis result in step S216 (S217).
  • This fifth transaction data is the verification transaction data described above.
  • the verifier terminal 40 transmits the fifth transaction data generated in step S217 to the blockchain platform 20 (S218).
  • the blockchain platform 20 acquires the fifth transaction data, it generates a block containing the acquired fifth transaction data and records it on the blockchain together with the block containing the fourth transaction data (S219). Note that if a block containing the fourth transaction data has already been recorded in the blockchain, it is only necessary to generate a block containing only the acquired fifth transaction data and record it in the blockchain.
  • the blockchain platform 20 executes a payment function that pays a payment fee from the pooled money in the smart contract, triggered by the recording of blocks containing the fourth transaction data and the fifth transaction data (S220).
  • the blockchain platform 20 transmits the analysis fee from the pool to the analyst terminal 30 (S221), and transmits the verification fee to the verifier terminal 40 ( S222). Since the verification fee is part of the analysis fee included in the third transaction data in step S207, it is also referred to above as the analysis fee.
  • the verifier terminal 40 acquires the verification fee transmitted in step S222, it transmits a confirmation notification of the alert analysis result to the user terminal 10 (S223).
  • analysis transaction data is recorded on the distributed ledger only when the validity of the alert analysis results included in the generated analysis transaction data is verified by analyzing alerts generated by security products as security analysis.
  • alert analysis rewards are automatically provided to analysts using smart contracts, providing an incentive for analysts to perform alert analysis.
  • rewards for alert analysis are distributed to one or more verifiers who have automatically verified the analysis results using the smart contract, thus providing an incentive for the verifiers to verify the alert analysis results.
  • a request for threat hunting analysis is a request for security analysis performed at a stage when an alert is not generated by the security product.
  • FIG. 17 is a sequence diagram showing an example of threat hunting analysis processing according to the embodiment. Note that steps S301 to S306 are the same as the processing of steps S201 to S206 described with reference to FIG. 16, so description thereof will be omitted. A case where verification transaction data including verification results is generated will be described below as an example.
  • step S307 the user terminal 10 generates third transaction data for requesting threat hunting analysis.
  • This third transaction data is the request transaction data described above, and includes information indicating an access method to the user environment to be analyzed and an analysis fee.
  • the user terminal 10 transmits the third transaction data generated in step S307 to the blockchain platform 20 (S308).
  • the blockchain platform 20 After obtaining the third transaction data, the blockchain platform 20 generates a block containing the obtained third transaction data and records it in the blockchain (S309).
  • the analyst terminal 30 acquires threat hunting analysis request information indicating a request for threat hunting analysis included in the third transaction data recorded in the blockchain (S310), and performs threat analysis (S311). For example, the analyst terminal 30 creates an analysis result (herein referred to as a threat analysis result) by performing threat analysis using specifications and threat intelligence information based on the obtained threat hunting analysis request information.
  • a threat analysis result an analysis result by performing threat analysis using specifications and threat intelligence information based on the obtained threat hunting analysis request information.
  • the analyst terminal 30 generates fourth transaction data including the threat analysis results obtained by performing the threat hunting analysis in step S311 (S312).
  • This fourth transaction data corresponds to the analysis transaction data described above.
  • the analyst terminal 30 transmits the fourth transaction data generated in step S312 to the blockchain platform 20 (S313).
  • the blockchain platform 20 acquires the fourth transaction data, it generates a block containing the acquired fourth transaction data (S314).
  • the verifier terminal 40 acquires the threat analysis result included in the fourth transaction data included in the generated block (S315). Note that when the generated block is recorded in the blockchain, the verifier terminal 40 can acquire the threat analysis result included in the fourth transaction data from the blockchain. On the other hand, if the generated block is not recorded in the blockchain, the threat analysis result contained in the fourth transaction data can be obtained from the block containing the broadcasted fourth transaction data.
  • the verifier terminal 40 verifies the validity of the threat analysis result obtained in step S315 (S316). When verifying the validity of the threat analysis results, similarity determination with existing threat analysis results is also performed.
  • the verifier terminal 40 generates fifth transaction data including the verification result obtained by verifying the validity of the threat analysis result in step S316 (S317).
  • This fifth transaction data corresponds to the verification transaction data described above.
  • the verifier terminal 40 transmits the fifth transaction data generated in step S317 to the blockchain platform 20 (S318).
  • the blockchain platform 20 acquires the fifth transaction data, it generates a block containing the acquired fifth transaction data and records it in the blockchain along with the block containing the fourth transaction data (S319). Note that if a block containing the fourth transaction data has already been recorded in the blockchain, it is only necessary to generate a block containing the acquired fifth transaction data and record it in the blockchain.
  • the blockchain platform 20 executes a payment function that pays a payment fee from the pooled money in the smart contract, triggered by the recording of blocks containing the fourth transaction data and the fifth transaction data (S320).
  • the blockchain platform 20 transmits the analysis fee from the pool to the analyst terminal 30 (S321), and transmits the verification fee to the verifier terminal 40 ( S322).
  • the verification fee is part of the analysis fee included in the third transaction data in step S307.
  • the verifier terminal 40 acquires the verification fee transmitted in step S322, it transmits a threat analysis result confirmation notice to the user terminal 10 (S323).
  • the analysis transaction data is transferred to the distributed ledger. to record.
  • the reward for threat hunting analysis is automatically provided to analysts using smart contracts, providing an incentive for analysts to conduct threat hunting analysis.
  • the reward for threat hunting analysis is distributed to one or more verifiers who have automatically verified the analysis results using the smart contract, so that the verifiers are incentivized to verify the threat hunting analysis results. . These allow rapid commissioned threat hunting analysis.
  • the analysis transaction data is recorded in the distributed ledger only when the validity of the analysis result included in the analysis transaction data is verified. This not only makes it possible to verify the validity of the analysis results of generated alerts, but also makes it possible to suppress fraud by utilizing the tamper-proof function of blockchain.
  • the requested transaction data is recorded in the distributed ledger, it is possible to request security analysis not only from one SOC operator, but also from multiple SOC operators, that is, multiple analysts, in a competition format. As a result, the principle of competition can be activated among analysts, so that analysis results of security analysis can be obtained at high speed and at low cost.
  • FIG. 18 is an explanatory diagram of a platform 1a that entrusts security analysis on a blockchain according to the present disclosure.
  • FIG. 18 shows a platform 1a in which a user 10a requests security analysis on a blockchain 20a, and an analysis result obtained by one of a large number of analysts 30a is transmitted to the blockchain 20a.
  • the user 10a is a company, factory, facility, etc. that has introduced a security product such as an IDS or SIEM, and uses the above-described user terminal 10 to generate request transaction data including a request for security analysis, This is done by recording in the blockchain 20a.
  • a number of analysts 30a typically belong to multiple SOC providers, but may also be individuals capable of security analysis.
  • the analyst 30a uses the analyst terminal 30 described above to perform security analysis in response to the security analysis request recorded in the block chain 20a.
  • the analyst 30a generates analysis transaction data including analysis results obtained as a result of security analysis, and transmits the analysis transaction data to the blockchain 20a.
  • Block chain 20a generates a block containing the transmitted analytical transaction data.
  • the blockchain 20a is a blockchain realized by the blockchain platform 20 described above.
  • one or more verifiers 40a verify the validity of the analysis results with a predetermined verification algorithm, and only blocks containing analysis transaction data including analysis results whose validity has been verified are transferred to the blockchain 20a.
  • a recorded platform 1a is shown.
  • the one or more verifiers 40a are typically a plurality of trusted institutions, but they may also belong to the plurality of institutions. This is because, if colluded with the analyst 30a, there is a risk that the analysis results of the colluded analyst 30a will be unconditionally verified as valid analysis results. Note that each of the one or more verifiers 40a may be an individual if there is no such possibility.
  • One or more verifiers 40a use the verifier terminals 40 described above to verify the validity of the analysis results included in the analysis transaction data, and transmit the verification results obtained as a result of the validity verification to the blockchain 20a. Send. In the block chain 20a, only blocks containing analysis transaction data containing analysis results whose validity is indicated by the acquired verification results are recorded.
  • the analysis transaction data may be generated as a block and recorded in the blockchain 20a as long as the format is correct. In this case, although it is recorded in the block chain 20a, the analysis result included in the analysis transaction data may not be accepted (recorded) as a correct analysis. If the analysis result is incorrect, the verification transaction data generated by the verifier should not be recorded in the blockchain 20a. That is, even if analysis transaction data is recorded in the blockchain 20a, the number of verification transaction data generated by the verifier is not recorded in the blockchain 20a beyond the threshold. As a result, it is possible to prevent the analyst 30a who created an incorrect analysis result from receiving a reward.
  • the platform 1a shown in FIG. 18 can be realized on one blockchain platform 20 using the blockchain 20a without the need to build a system for each user 10a.
  • a competition system can be adopted by using the block chain 20a, so that the principle of competition can be applied among the analysts 30a.
  • analysis results are made public by using the block chain 20a, so that fraud due to collusion among specific analysts cannot be carried out.
  • the platform 1a shown in FIG. 18 by using a smart contract, it is possible to configure a mechanism in which an analysis fee is remitted to the analyst 30a or the like at the timing when a block containing analysis transaction data is recorded.
  • the platform 1a shown in FIG. 18 enables automatic payment of the analysis fee.
  • the analyst 30a can be given an incentive to perform security analysis
  • the verifier 40a can be given an incentive to verify the analysis result of the security analysis.
  • the user 10a can not only receive a cheap and high-speed security analysis service, but also be verified that the security analysis has been performed correctly. Further, according to the platform 1a shown in FIG. 18, the verifier 40a can receive a reward by verifying the correctness of the security analysis, and the analyst 30a receives a reward by participating in an individual who has security analysis technology. can be done.
  • the similarity of the analysis results is calculated using the similarity between the log information cited by the analysis results included in the analysis transaction data and the similarity between the threat intelligence information used. calculate.
  • the degree of similarity is high, analysis transaction data including analysis results other than the earliest analysis results are not recognized as valid analysis results (no verification transaction is generated), thereby solving the problem.
  • the user environment is the environment such as settings and configurations of devices, networks, systems, applications, etc. in which the security product is installed and operated.
  • a method of accessing related information including a user environment that can be used for security analysis is included in the security analysis request and transmitted to the block chain 20a.
  • the analyst 30a can acquire relevant information necessary for security analysis and can perform security analysis.
  • Each device in the above embodiment is specifically a computer system composed of a microprocessor, ROM, RAM, hard disk unit, display unit, keyboard, mouse, and the like.
  • a computer program is recorded in the RAM or hard disk unit.
  • Each device achieves its function by the microprocessor operating according to the computer program.
  • the computer program is constructed by combining a plurality of instruction codes indicating instructions to the computer in order to achieve a predetermined function.
  • a system LSI is an ultra-multifunctional LSI manufactured by integrating multiple components on a single chip. Specifically, it is a computer system that includes a microprocessor, ROM, RAM, etc. . A computer program is recorded in the RAM. The system LSI achieves its functions by the microprocessor operating according to the computer program.
  • each part of the constituent elements constituting each of the devices described above may be individually integrated into one chip, or may be integrated into one chip so as to include part or all of them.
  • system LSI may also be called IC, LSI, super LSI, or ultra LSI depending on the degree of integration.
  • the method of circuit integration is not limited to LSI, and may be realized by a dedicated circuit or a general-purpose processor.
  • An FPGA Field Programmable Gate Array
  • a reconfigurable processor that can reconfigure the connections and settings of the circuit cells inside the LSI may be used.
  • the IC card or module is a computer system composed of a microprocessor, ROM, RAM and the like.
  • the IC card or the module may include the super multifunctional LSI.
  • the IC card or the module achieves its function by the microprocessor operating according to the computer program. This IC card or this module may be tamper resistant.
  • the present disclosure may be the method shown above. Moreover, it may be a computer program for realizing these methods by a computer, or it may be a digital signal composed of the computer program.
  • the present disclosure includes a computer-readable recording medium for the computer program or the digital signal, such as a flexible disk, hard disk, CD-ROM, MO, DVD, DVD-ROM, DVD-RAM, BD (Blu-ray (Registered Trademark) Disc), semiconductor memory, or the like. Moreover, it may be the digital signal recorded on these recording media.
  • a computer-readable recording medium for the computer program or the digital signal such as a flexible disk, hard disk, CD-ROM, MO, DVD, DVD-ROM, DVD-RAM, BD (Blu-ray (Registered Trademark) Disc), semiconductor memory, or the like.
  • BD Blu-ray (Registered Trademark) Disc
  • semiconductor memory or the like.
  • it may be the digital signal recorded on these recording media.
  • the computer program or the digital signal may be transmitted via an electric communication line, a wireless or wired communication line, a network represented by the Internet, data broadcasting, or the like.
  • the present disclosure may also be a computer system comprising a microprocessor and memory, the memory storing the computer program, and the microprocessor operating according to the computer program.
  • the present disclosure can be applied to a control method, a server, a program, and a security analysis system, for example, a control method, a server, a program, and a security analysis used for analyzing threats in information security using a blockchain platform. It can be used for systems, etc.
  • security analysis system 1a platform 10 user terminal 10a user 20 blockchain platform 20a blockchain 30 analyst terminal 30a analyst 40 verifier terminal 40a verifier 101 analysis request setting storage unit 102, 201, 301, 401 communication unit 103 analysis request Execution reception unit 104 Analysis request generation unit 202 Blockchain storage unit 203 Processing unit 302 Analysis information input unit 303 Analysis transaction generation unit 402 Analysis result verification unit 403 Transaction generation unit

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本開示の制御方法は、それぞれ分散台帳を有する複数のサーバにおける一のサーバによって実行され、分析の依頼を一意に示す分析依頼IDと当該分析に利用可能な関連情報へのアクセス方法とを含む依頼トランザクションデータを取得し(S1)、取得した依頼トランザクションデータをブロックに含めて分散台帳に記録する(S2)。記録された依頼トランザクションデータに含まれる分析依頼IDに対応する分析結果と、当該関連情報のうち分析結果に関連するログ情報と、分析結果の根拠となる脅威インテリジェンス情報とを含む分析トランザクションデータを取得し(S3)、分析トランザクションデータに対する正当性の検証結果を取得してそれを含むブロックを生成し(S4)、取得した検証結果により分析トランザクションデータの正当性が検証されたことが示される場合、分析トランザクションデータを含むブロックを分散台帳に記録する(S5)。

Description

制御方法、サーバ、プログラム、及び、セキュリティ分析システム
 本開示は、制御方法、サーバ、プログラム、及び、セキュリティ分析システムに関する。
 例えば特許文献1には、情報セキュリティにおける脅威を分析するための技術として、情報セキュリティにおける脅威の分析を支援することができる脅威分析支援装置等が開示されている。
 一方、情報セキュリティにおける脅威は、高度化かつ複雑化しており、分析者に高い専門性が必要になっている。このため、企業等のユーザは、IDS(Intrusion Detection System;侵入検出システム)、SIEM(Security Information and Event Management)などで検知された異常の分析を、専門の分析者に依頼するケースが増えている。専門の分析者としては、例えばSOC(Security Operation Center)などが知られており、ユーザは1社のSOC事業者と契約し、情報セキュリティにおける脅威の監視サービスを受けることになる。
特開2022-101716号公報
 しかしながら、1社のSOC事業者による監視サービスを受ける場合、監視サービスの費用が高騰したり、対応可能な時間帯に制限があったりする問題がある。また、1社のSOC事業者に属する分析者のみで異常の分析を行うため、ユーザは分析結果の正当性を検証しにくく、不正があっても気づきにくいという問題もある。そして、上記特許文献1で開示される技術でも、これらの問題を解消し得ることはできない。
 本開示は、上述の事情を鑑みてなされたもので、セキュリティ分析の分析結果の正当性を検証可能、かつ、不正を抑制できる制御方法などを提供する。
 上記目的を達成するために、本開示の一形態に係る制御方法は、それぞれ分散台帳を有する複数のサーバを備えるセキュリティ分析システムにおける一のサーバによって実行される制御方法であって、分析の依頼を一意に示す分析依頼IDと前記分析に利用可能な関連情報へのアクセス方法とを含む依頼トランザクションデータを取得し、取得した前記依頼トランザクションデータをブロックに含めて前記分散台帳に記録し、記録された前記依頼トランザクションデータに含まれる前記分析依頼IDに対応する分析結果と、前記関連情報のうち前記分析結果に関連するログ情報と、前記分析結果の根拠となる脅威インテリジェンス情報とを含む分析トランザクションデータを、取得して前記分析トランザクションデータを含むブロックを生成し、前記分析トランザクションデータに含まれる前記分析結果に対する正当性の検証結果を取得し、取得した前記検証結果により前記分析トランザクションデータに含まれる前記分析結果の正当性が検証されたことが示される場合、前記分析トランザクションデータを含むブロックを前記分散台帳に記録する。
 なお、これらの全般的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータで読み取り可能なCD-ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムおよび記録媒体の任意な組み合わせで実現されてもよい。
 本開示の制御方法等によれば、セキュリティ分析の分析結果の正当性を検証可能、かつ、不正を抑制できる。
図1は、実施の形態に係るセキュリティ分析システムの構成の一例を示すブロック図である。 図2は、実施の形態に係る分析依頼設定記憶部に保存されているデフォルトの設定情報の一例を示す図である。 図3は、実施の形態に係る分析依頼表の一例を示す図である。 図4は、実施の形態に係るアクセス方法が行われているセキュリティ製品の画面の一例を示す図である。 図5は、実施の形態に係る分析トランザクションデータに含まれる分析結果の一例を示す図である。 図6は、実施の形態に係る脅威インテリジェンス情報の一例を示す図である。 図7は、実施の形態に係る分析トランザクションデータに含まれる分析結果の正当性の検証を行う方法の一例の説明図である。 図8Aは、実施の形態に係る同一の分析依頼IDに対して生成された分析トランザクションデータ1に含まれる分析結果の一例を示す。 図8Bは、実施の形態に係る同一の分析依頼IDに対して生成された分析トランザクションデータ2に含まれる分析結果の一例を示す。 図9は、実施の形態に係るセキュリティ分析システムにより実行される処理概要を示すフローチャートである。 図10は、本実施の形態に係るアラート分析処理例の概要を示すフローチャートである。 図11は、図10に示すスマートコントラクト登録処理の詳細を示すフローチャートである。 図12は、図10に示すアラート分析依頼処理の詳細を示すフローチャートである。 図13は、図10に示す分析結果送信処理の詳細を示すフローチャートである。 図14は、図10に示す検証結果送信処理の詳細を示すフローチャートである。 図15は、図10に示す手数料支払い処理の詳細を示すフローチャートである。 図16は、実施の形態に係るアラート分析処理の一例を示すシーケンス図である。 図17は、実施の形態に係る脅威ハンティング分析処理の一例を示すシーケンス図である。 図18は、本開示に係るブロックチェーン上でセキュリティ分析を委託するプラットフォームの説明図である。
 本開示の第1形態は、それぞれ分散台帳を有する複数のサーバを備えるセキュリティ分析システムにおける一のサーバによって実行される制御方法であって、分析の依頼を一意に示す分析依頼IDと前記分析に利用可能な関連情報へのアクセス方法とを含む依頼トランザクションデータを取得し、取得した前記依頼トランザクションデータをブロックに含めて前記分散台帳に記録し、記録された前記依頼トランザクションデータに含まれる前記分析依頼IDに対応する分析結果と、前記関連情報のうち前記分析結果に関連するログ情報と、前記分析結果の根拠となる脅威インテリジェンス情報とを含む分析トランザクションデータを、取得して前記分析トランザクションデータを含むブロックを生成し、前記分析トランザクションデータに含まれる前記分析結果に対する正当性の検証結果を取得し、取得した前記検証結果により前記分析トランザクションデータに含まれる前記分析結果の正当性が検証されたことが示される場合、前記分析トランザクションデータを含むブロックを前記分散台帳に記録する、制御方法である。
 これによれば、セキュリティ分析の分析結果の正当性を検証可能、かつ、不正を抑制できる。
 より具体的には、分析トランザクションデータに含まれる分析結果に対する正当性が検証された場合、生成されていた分析トランザクションデータを含むブロックを分散台帳に記録する。
 これにより、セキュリティ分析の分析結果の正当性を検証可能できるだけでなく、ブロックチェーンの改ざん不可能性の機能を活用して不正を抑制できる。
 さらに、依頼トランザクションデータが分散台帳に記録されるので、1社のSOC事業者に限らず複数のSOC事業者すなわち複数の分析者にコンペティション方式でセキュリティ分析の依頼をすることができる。この結果、分析者間で競争原理を働かせることができるので、高速かつ低コストにセキュリティ分析の分析結果を得ることができる。
 ここで、本開示の第2形態は、例えば、前記分析が、セキュリティ製品で発生したアラートの分析であり、前記依頼トランザクションデータは、セキュリティ製品で発生したアラートの情報と、前記分析依頼IDと、前記アクセス方法とを含み、前記分析トランザクションデータに含まれる前記ログ情報が、前記関連情報のうち前記分析結果に関連する、かつ、前記分析に利用したログ情報であり、前記分析トランザクションデータに含まれる前記脅威インテリジェンス情報が、前記分析結果の根拠となり、かつ、前記アラートの原因に相当する脅威インテリジェンス情報である、第1形態の制御方法である。
 これにより、セキュリティ分析としてセキュリティ製品で発生したアラートの分析が行われるので、発生したアラートの分析結果の正当性を検証可能、かつ、不正を抑制できる。さらに、分析者間で競争原理を働かせることができるので、高速かつ低コストにアラートの分析結果を得ることができる。
 また、本開示の第3形態は、例えば、前記依頼トランザクションデータに含まれる前記アクセス方法が、前記分析に利用可能な関連情報であって前記分析に必要な関連情報のアクセス場所及びアクセス権限を含む、第2形態の制御方法である。
 このようにしてキュリティ製品で発生したアラートの分析を行うために必要な関連情報へのアクセス手段が提供される。これにより、セキュリティ製品で発生したアラートの分析がより容易に行われ得る。
 また、本開示の第4形態は、例えば、前記分析が、脅威ハンティングの分析であり、前記依頼トランザクションデータに含まれるアクセス方法が、前記分析に利用可能な関連情報であってセキュリティ監視を実行している環境を示す関連情報のアクセス場所及びアクセス権限を含み、前記分析トランザクションデータに含まれる前記ログ情報が、前記関連情報のうち前記分析結果に関連する、かつ、前記環境にアクセスして得られるログ情報であり、前記分析トランザクションデータに含まれる前記脅威インテリジェンス情報が、前記分析結果の根拠となり、かつ、前記ログ情報に紐づく脅威インテリジェンス情報である、第1形態の制御方法である。
 これにより、セキュリティ分析として脅威ハンティングの分析が行われるので、脅威ハンティングの分析結果の正当性を検証可能、かつ、不正を抑制できる。さらに、分析者間で競争原理を働かせることができるので、高速かつ低コストに脅威ハンティングの分析結果を得ることができる。
 また、本開示の第5形態は、例えば、前記依頼トランザクションデータには、さらに、前記分析の依頼に対する分析手数料を示す情報が含まれる、第1形態~第4形態のいずれかの制御方法である。
 このようにして、依頼するセキュリティ分析の報酬が分析者に提供されるので、分析者がセキュリティ分析を行うインセンティブとなる。よって、セキュリティ分析が迅速に行われ得る。
 また、本開示の第6形態は、例えば、さらに、前記依頼トランザクションデータを取得した後、かつ、前記分析トランザクションデータを取得する前に、前記分析依頼IDと分析依頼の取り消しを示す情報とを含む取消トランザクションデータを取得し、前記取消トランザクションデータを前記分散台帳に記録した場合、前記分析依頼IDにより特定される分析依頼がキャンセルされる、第1形態~第5形態のいずれかの制御方法である。
 これにより、セキュリティ分析の依頼を行った後に、当該依頼が他の依頼と差がなく不要になったり、当該依頼が誤っていたりした場合、当該依頼をキャンセルすることができる。
 また、本開示の第7形態は、例えば、前記分析トランザクションデータに含まれる前記脅威インテリジェンス情報には、認証されたセキュリティ企業によるデジタル署名が施されている、第1形態~第6形態のいずれかの制御方法である。
 このようにして、オープン情報である脅威インテリジェンス情報に、信頼できるセキュリティ企業によるデジタル署名が施される。これにより、脅威インテリジェンス情報が適当に捏造されることを防止できる。
 また、本開示の第8形態は、例えば、前記正当性の検証結果が、前記分析トランザクションデータに含まれる前記脅威インテリジェンス情報内に存在するマルウェアのシグネチャ情報と、前記分析トランザクションデータに含まれる前記ログ情報に含まれるトレース中のバイト列とのマッチングが行われることで得られた結果である、第1形態~第7形態のいずれかの制御方法である。
 このように、脅威インテリジェンス情報に含まれるパケットデータのバイト列であるシグネチャと、ログ情報に含まれるパケットデータのバイト列とのマッチングが行われる。そして、マッチングの結果、略一致している場合には、分析結果の正当性が検証されたことになる。
 また、本開示の第9形態は、例えば、前記正当性の検証結果が、仕様書情報に含まれる通信の発生条件と前記分析トランザクションデータに含まれるログ情報に含まれる実際に発生した通信内容とのマッチングが行われることで得られた結果である、第1形態~第7形態のいずれかの制御方法である。
 このように、仕様書情報に含まれる通信の発生条件と、観測された通信内容とのマッチングが行われる。そして、マッチングの結果、略一致している場合には、分析結果の正当性が検証されたことになる。
 また、本開示の第10形態は、例えば、前記依頼トランザクションデータが、さらに、前記分析の種類を指定するタグを1以上含んでおり、前記分析トランザクションデータが、さらに、前記分析結果を得るために行われた前記分析の種類を示すタグを1以上含んでいる、第1形態~第9形態のいずれかの制御方法である。
 このように、依頼トランザクションデータと分析トランザクションデータとに、分析の種類を示すタグが含まれることにより、当該分析によって判明する事項としてアラートの原因、アラートの影響範囲、感染有無、または、窃取されたデータを分析する等が明確化される。これにより、セキュリティ分析の分析結果の正当性をより容易に検証可能になる。
 また、本開示の第11形態は、例えば、前記アクセス方法に含まれる情報のうち、前記分析を依頼するユーザを特定可能な情報が、匿名化されている、第1形態~第10形態のいずれかの制御方法である。
 これにより、IPアドレス、MACアドレス等、分析を依頼するユーザを特定可能な情報が匿名化されるので、ユーザは、特定されることなくセキュリティ分析の分析結果を得ることができる。
 また、本開示の第12形態は、例えば、前記依頼トランザクションデータに含まれるアクセス方法には、前記分析を依頼するユーザが利用しているSIEM(Security Information and Event Management)へのリモートアクセス権が含まれている、第1形態~第11形態のいずれかの制御方法である。
 これにより、分析を依頼するユーザが利用しているセキュリティ製品であるSIEMを介して、分析に利用可能な関連情報が得られるアクセス手段が提供される。これにより、セキュリティ分析がより容易に行われ得る。
 また、本開示の第13形態は、例えば、前記依頼トランザクションデータに含まれるアクセス方法には、前記分析に利用可能な関連情報のうち前記分析に必要なログ情報を取得するための操作を示す情報が含まれている、第1形態~第12形態のいずれかの制御方法である。
 これにより、分析に利用可能な関連情報が得られるアクセス手段として、当該分析に必要なログ情報を得るための操作が提供される。これにより、セキュリティ分析がより容易に行われ得る。
 また、本開示の第14形態は、例えば、取得した前記検証結果に、前記分析トランザクションデータが検証対象から除外されたことが示されている場合、前記分析トランザクションデータが前記分散台帳に記録されない、第1形態~第13形態のいずれかの制御方法である。
 ここで、本開示の第15形態は、例えば、検証対象の前記分析トランザクションデータに含まれる分析結果と、前記検証対象より過去に発生した前記分析トランザクションデータに含まれる分析結果との類似度が算出され、算出された前記類似度が所定の閾値を超過する場合、前記検証対象の前記分析トランザクションデータに含まれる前記分析結果に対する正当性が検証されず、前記検証結果には、前記検証対象の前記分析トランザクションデータが前記検証対象から除外されたことが示される、第14形態の制御方法である。
 このように、1つのセキュリティ分析の依頼に対して同じ分析結果を含む複数の分析トランザクションデータが生成される場合、最先に生成されていない分析トランザクションデータに含まれる分析結果が検証されず、分散台帳に記録されない。これにより、分析者間で競争原理を働かせることができるので、高速かつ低コストにセキュリティ分析の分析結果を得ることができる。
 また、本開示の一形態に係るサーバは、それぞれ分散台帳を有する複数のサーバを備えるセキュリティ分析システムにおける一のサーバであって、プロセッサとメモリとを備え、前記プロセッサは、前記メモリを用いて、分析の依頼を一意に示す分析依頼IDと前記分析に利用可能な関連情報へのアクセス方法とを含む依頼トランザクションデータを取得し、前記プロセッサは、取得した前記依頼トランザクションデータをブロックに含めて前記分散台帳に記録する記録部と、前記プロセッサは、記録された前記依頼トランザクションデータに含まれる前記分析依頼IDに対応する分析結果と、前記関連情報のうち前記分析結果に関連するログ情報と、前記分析結果の根拠となる脅威インテリジェンス情報とを含む分析トランザクションデータを、取得して前記分析トランザクションデータを含むブロックを生成し、前記プロセッサは、前記分析トランザクションデータに含まれる前記分析結果に対する正当性の検証結果を取得し、前記プロセッサは、取得した前記検証結果により前記分析トランザクションデータに含まれる前記分析結果の正当性が検証されたことが示される場合、前記分析トランザクションデータを含むブロックを前記分散台帳に記録する。
 また、本開示の一形態に係るセキュリティ分析システムは、分析を依頼するユーザ端末と、前記分析の依頼を実行する分析者端末と、それぞれ分散台帳を有する複数のサーバとを備え、前記複数のサーバのうちの一のサーバは、プロセッサとメモリとを有し、前記プロセッサは、前記メモリを用いて、前記分析の依頼を一意に示す分析依頼IDと前記分析に利用可能な関連情報へのアクセス方法とを含む依頼トランザクションデータを、前記ユーザ端末から取得し、前記プロセッサは、取得した前記依頼トランザクションデータをブロックに含めて前記分散台帳に記録する記録部と、前記プロセッサは、記録された前記依頼トランザクションデータに含まれる前記分析依頼IDに対応する分析結果と、前記関連情報のうち前記分析結果に関連するログ情報と、前記分析結果の根拠となる脅威インテリジェンス情報とを含む分析トランザクションデータを、前記分析者端末から取得し、前記プロセッサは、前記分析トランザクションデータに含まれる前記分析結果に対する正当性の検証結果を取得して前記分析トランザクションデータを含むブロックを生成し、前記プロセッサは、取得した前記検証結果により前記分析トランザクションデータに含まれる前記分析結果の正当性が検証されたことが示される場合、前記分析トランザクションデータを含むブロックを前記分散台帳に記録する。
 以下、図面を参照しながら、実施の形態について説明する。なお、以下で説明する実施の形態は、いずれも本開示の好ましい一具体例を示す。つまり、以下の実施の形態で示される数値、構成要素、構成要素の配置及び接続形態、ステップ、ステップの順序などは、一例であり、本開示を限定する主旨ではない。本開示は、請求の範囲の記載に基づいて特定される。したがって、以下の実施の形態における構成要素のうち、独立請求項に記載されていない構成要素は、本開示の課題を達成するために必ずしも必要ではないが、より好ましい形態を構成する構成要素として説明される。
 (実施の形態)
 以下では、図面を参照しながら、実施の形態に係るセキュリティ分析システムについて説明する。
 [セキュリティ分析システム1の構成]
 本開示のセキュリティ分析システム1は、ブロックチェーン上でセキュリティ分析を委託する仕組みを実現した上で、セキュリティ分析の分析結果の正当性を検証可能にし、かつ、不正を抑制できる。
 図1は、実施の形態に係るセキュリティ分析システム1の構成の一例を示すブロック図である。
 本実施の形態に係るセキュリティ分析システム1は、図1に示されるように、ユーザ端末10と、ブロックチェーンプラットフォーム20と、1以上の分析者端末30と、1以上の検証者端末40とを備える。これらは不図示のネットワークを介して通信可能に接続されている。ネットワークは、どのような通信回線またはネットワークから構成されてもよく、例えば、インターネットなどを含む。なお、図1では、セキュリティ分析システム1が、複数の分析者端末30と、複数の検証者端末40とを備える場合の例が示されているが、これに限らない。つまり、セキュリティ分析システム1は、1以上の分析者端末30と、1以上の検証者端末40とを備えていればよい。
 [ユーザ端末10]
 ユーザ端末10は、セキュリティ製品としてIDSまたはSIEMを導入しているユーザ企業、ユーザ施設で使用されているパソコン、タブレットなどの端末機器である。ユーザ端末10は、ネットワークに接続可能であり、ブロックチェーンプラットフォーム20を構成する複数のサーバと通信可能である。
 本実施の形態では、ユーザ端末10は、ユーザ企業またはユーザ施設で使用され、セキュリティ分析の依頼として、セキュリティ製品で発生したアラートの分析の依頼を行う。なお、セキュリティ分析は、アラートの分析に限らない。SOCでなされる分析には脅威ハンティングも含まれるため、セキュリティ分析は、脅威ハンティングの分析であってもよい。脅威ハンティングの分析は、従来の方法で検知が難しい脅威に対して、それらがすでに脅威が侵入していると仮定してネットワーク内部で何が起こっているのか、不審なログ等を収集し分析する手法である。
 ユーザ端末10は、図1に示すように、分析依頼設定記憶部101と、通信部102と、分析依頼実行受付部103と、分析依頼生成部104とを備える。ここで、ユーザ端末10は、プロセッサと、プロセッサに所定の処理を実行させるプログラムが記憶されたメモリと通信インターフェイス等とを備える。つまり、ユーザ端末10は、プロセッサがメモリを用いて所定のプログラムを実行することで各構成の機能を実現する。
 以下、各構成について説明する。
 <分析依頼設定記憶部101>
 分析依頼設定記憶部101は、セキュリティ分析の依頼に必要なデフォルトの設定情報を保存している。分析依頼設定記憶部101は、HDD(Hard Disk Drive)またはSSD(Solid State Drive)などにより実現される。
 図2は、実施の形態に係る分析依頼設定記憶部101に保存されているデフォルトの設定情報の一例を示す図である。図2には、ユーザが保有するSIEMでアラートが発生した場合に利用されるデフォルトの設定情報の一例が示されている。
 図2には、アラートの種別(alert_type)に応じて、どのログへのアクセスを許可するか(available_log_type)、利用可能なログの期間の指定(available_relative_period)の情報を含むデフォルトの設定情報が示されている。また、デフォルトの設定情報には、分析手数料(analysis_fee)の情報が含まれていてもよい。なお、これらの設定情報は、デフォルト値であるため、変更可能である。図2に示す例では、アラートの種別として、疑わしい通信と、ブルートフォース攻撃とが示されている。
 <通信部102>
 通信部102は、無線または有線の通信インターフェイスであり、ブロックチェーンプラットフォーム20を構成する複数のサーバとの通信を行う。また、通信部102は、トランザクションデータを送信したり、分析結果の確定通知を取得したりする。
 本実施の形態では、通信部102は、後述する分析依頼生成部104により生成された依頼トランザクションデータまたは分析手数料を登録するためのトランザクションデータを、ブロックチェーンプラットフォームを構成する複数のサーバのうちの一のサーバに送信する。また、通信部102は、後述する分析依頼生成部104により生成された取消トランザクションデータを一のサーバに送信する場合もある。
 <分析依頼実行受付部103>
 分析依頼実行受付部103は、ブロックチェーンプラットフォーム20に、セキュリティ分析の依頼を行うかどうかを示すユーザの入力を受け付ける。分析依頼実行受付部103は、セキュリティ分析の依頼を行う旨の入力を受け付けた場合、分析依頼設定記憶部101から、セキュリティ分析の依頼に必要な設定情報を取得し、取得した設定情報の項目に変更がなければ、取得した設定情報を、分析依頼設定情報として確定する。
 また、分析依頼実行受付部103は、分析手数料のプール処理を行うかどうかを示すユーザの入力を受け付ける。
 なお、分析依頼実行受付部103は、ユーザが分析の依頼を取り消したい場合、取消対象の分析の依頼を示す分析依頼IDと当該分析の依頼を取り消すことを示す情報との入力を受け付ける。
 <分析依頼生成部104>
 分析依頼生成部104は、分析の依頼を一意に示す分析依頼IDと分析に利用可能な関連情報へのアクセス方法とを含む依頼トランザクションデータを生成する。
 より具体的には、分析依頼生成部104は、セキュリティ製品で発生したアラートの情報と、分析の依頼を一意に示す分析依頼IDと、分析に利用可能な関連情報へのアクセス方法とが含まれる依頼トランザクションデータを生成する。このような依頼トランザクションデータを生成することで、セキュリティ分析としてセキュリティ製品で発生したアラートの分析が行われる。ここで、依頼トランザクションデータに含まれるアクセス方法は、アラートの分析に利用可能な関連情報であって分析に必要な関連情報のアクセス場所及びアクセス権限を含んでいてもよい。このようなアクセス方法を含むことで、セキュリティ製品で発生したアラートの分析を行うために必要な関連情報へのアクセス手段が提供される。これにより、セキュリティ製品で発生したアラートの分析がより容易に行われ得る。
 また、依頼トランザクションデータには、さらに、分析の依頼に対する分析手数料を示す情報が含まれていてもよいし、分析の種類を指定するタグを1以上含んでいてもよい。依頼トランザクションデータに分析手数料を示す情報を含むことで、依頼するセキュリティ分析の報酬が分析者に提供されるので、分析者がセキュリティ分析を行うインセンティブとなる。よって、セキュリティ分析が迅速に行われ得ることが期待できる。また、依頼トランザクションデータに分析の種類を示すタグを含むことで、当該分析によって判明する事項として例えばアラートの原因、アラートの影響範囲、感染有無、または、窃取されたデータを分析する等が明確化される。
 なお、依頼トランザクションデータに含まれるアクセス方法には、分析を依頼するユーザが利用しているSIEMへのリモートアクセス権が含まれていてもよいし、分析に利用可能な関連情報のうち分析に必要なログ情報を取得するための操作を示す情報が含まれていてもよい。アクセス方法にSIEMへのリモートアクセス権が含まれる場合、分析を依頼するユーザが利用しているセキュリティ製品であるSIEMを介して、分析に利用可能な関連情報が得られるアクセス手段が提供される。これにより、セキュリティ分析がより容易に行われ得る。また、アクセス方法に分析に必要なログ情報を取得するための操作を示す情報が含まれる場合、分析に利用可能な関連情報が得られるアクセス手段として、当該分析に必要なログ情報を得るための操作が提供される。これにより、セキュリティ分析がより容易に行われ得る。
 さらに、依頼トランザクションデータに含まれるアクセス方法に含まれる情報のうち、分析を依頼するユーザを特定可能な情報は、匿名化されていてもよい。これにより、IPアドレス、MACアドレス等、分析を依頼するユーザを特定可能な情報が匿名化されるので、ユーザは、自身が特定されることなくセキュリティ分析の分析結果を得ることができる。
 本実施の形態では、分析依頼生成部104は、確定した分析依頼設定情報をもとに、セキュリティ分析の依頼を行うために、セキュリティ分析の依頼を示す情報を含む依頼トランザクションデータを生成する。より具体的には、分析依頼生成部104は、確定した分析依頼設定情報をもとに、分析依頼表を生成し、生成した分析依頼表を示すデータを含む依頼トランザクションデータを生成する。
 図3は、実施の形態に係る分析依頼表の一例を示す図である。図3には、ユーザが保有するSIEMでアラートが発生した場合にユーザ端末10により生成されたアラート分析依頼表の一例が示されている。
 図3に示すように、アラート分析依頼表では、アラートの分析依頼ID(request_id)と、ユーザ環境でアラートが発生した時刻(date)と、ユーザ環境で定義されたアラート種別(alert_type)とが少なくとも含まれる。アラート分析依頼表には、ユーザ環境におけるアラートの識別子(alert_id)が含まれてもよい。
 また、アラート分析依頼表には、分析者がアラート分析に利用可能な関連情報へのアクセス方法が含まれる。図3に示す例では、アクセス方法として、分析者が利用できるSIEMソフトウェア名(available_siem)、分析者がアクセスできるSIEMログの期間(available_period)、分析者が利用できるログ種別(available_log_type)、分析者がSIEMにアクセスするためのURL(access_url)などが含まれている。なお、アクセス方法は、発生したアラートのIDSログとユーザの分析環境のアクセス手段であってもよい。また、図3に示すアラート分析依頼表には、アラート分析を行った場合の分析手数料(analysis_fee)も含まれている。
 このように、図3に示す分析依頼表には、セキュリティ製品で発生したアラートの情報と、分析依頼IDと、分析に利用可能な関連情報へのアクセス方法と、分析手数料とが含まれている。
 また、分析依頼生成部104は、分析依頼実行受付部103が分析手数料のプール処理を行う旨の入力を受け付けた場合、分析手数料の支払い用のプール金を登録するためのトランザクションデータを生成する。
 なお、分析依頼生成部104は、分析依頼実行受付部103が取消対象の分析の依頼を示す分析依頼IDと当該分析の依頼を取り消すことを示す情報との入力を受け付けた場合、分析依頼IDと分析依頼の取り消しを示す情報とを含む取消トランザクションデータを生成する。また、アラート分析ではなく脅威ハンティング分析の依頼を行う場合、依頼トランザクションデータに含まれるアクセス方法に、脅威ハンティングの分析に利用可能な関連情報であってセキュリティ監視を実行している環境を示す関連情報のアクセス場所及びアクセス権限を含めればよい。これにより、セキュリティ分析として脅威ハンティングの分析が行われる。
 [ブロックチェーンプラットフォーム20]
 ブロックチェーンプラットフォーム20は、Ethereum、EOS、Ripple、NEM、Quorum、Hyperledger Fabricなどのブロックチェーンを実現でき、複数のノードにより構成される。複数のノードはそれぞれ、ネットワークを介して通信可能に接続され、独立に動作する。複数のノードは、例えばサーバであるが、一部のノードがスマートホン、タブレット、パーソナルコンピュータであってもよい。本実施の形態では、ブロックチェーンプラットフォーム20は、複数のサーバで構成され、例えばEthereumなどのブロックチェーンを実現するとして説明する。また、複数のサーバのそれぞれは、分散台帳を有しており、分散台帳にブロックチェーンが格納されている。換言すると、複数のサーバのそれぞれは、ブロックチェーンを管理する。
 ブロックチェーンプラットフォーム20を構成する複数のサーバのそれぞれは、図1に示すように、通信部201と、ブロックチェーン記憶部202と、処理部203とを備える。複数のサーバのそれぞれは、例えばCPUなどのプロセッサがメモリを用いてプログラムを実行することで通信機能及び処理機能を実現し得る。
 <通信部201>
 通信部201は、無線または有線の通信インターフェイスであり、他のサーバとの通信を行ったり、ネットワークに接続されるユーザ端末10、分析者端末30または検証者端末40との通信を行ったりする。
 本実施の形態では、通信部201は、トランザクションデータを送信したり、取得したりできる。また、通信部201は、分析結果に対する正当性の検証結果を取得してもよい。
 より具体的には、通信部201は、例えば分析の依頼を一意に示す分析依頼IDと当該分析に利用可能な関連情報へのアクセス方法とを含む依頼トランザクションデータを取得する。また、通信部201は、例えば、依頼トランザクションデータに含まれる分析依頼IDに対応する分析結果と、関連情報のうち分析結果に関連するログ情報と、分析結果の根拠となる脅威インテリジェンス情報とを含む分析トランザクションデータを取得する。また、通信部201は、例えば、分析トランザクションデータに含まれる分析結果に対する正当性の検証結果を取得する。なお、通信部201は、分析結果に対する正当性の検証結果を含むトランザクションデータを取得する場合もある。また、分析の依頼には、アラート分析の依頼だけでなく脅威ハンティング分析の依頼もある。
 <ブロックチェーン記憶部202>
 ブロックチェーン記憶部202は、他のサーバ等のブロックチェーンと同じ内容のブロックチェーンが記憶されている。ブロックチェーン記憶部202には、分散台帳が格納されており、分散台帳にはブロックチェーンが格納されている。なお、ブロックチェーン記憶部202は、HDD(Hard Disk Drive)またはSSD(Solid State Drive)などにより実現される。
 <処理部203>
 処理部203は、例えばCPUなどのプロセッサがメモリを用いてプログラムを実行することで以下の処理機能を実現し得る。
 本実施の形態では、処理部203は、他のサーバとの間で、トランザクションデータについてのコンセンサスアルゴリズムを実行したり、取得したトランザクションデータを検証したりする。処理部203は、取得したトランザクションデータのフォーマットが合っているか、及び署名が正当であるかなどにより取得したトランザクションデータを検証することができる。
 また、処理部203は、コンセンサスアルゴリズムを経たトランザクションデータを分散台帳すなわちブロックチェーンに記録する処理も行う。処理部203は、コンセンサスアルゴリズムを経た1以上のトランザクションデータを含むブロックチェーンのブロックを生成し、ブロックチェーンに記録する。また、処理部203は、分散台帳すなわちブロックチェーンに記録され、かつ、オンメモリ上で稼働しているスマートコントラクトを実行する処理を行う。
 より具体的には、処理部203は、例えば、通信部201で取得した依頼トランザクションデータをブロックに含めて分散台帳すなわちブロックチェーンに記録する。また、処理部203は、例えば、通信部201で取得した検証結果により分析トランザクションデータに含まれる分析結果の正当性が検証されたことが示される場合、分析トランザクションデータをブロックに含めて分散台帳に記録する。
 また、処理部203は、特定の分析トランザクションデータに対する検証トランザクションデータを含むブロックを生成し、分散台帳すなわちブロックチェーンに記録する。すると、これをトリガに、処理部203は、オンメモリ上で稼働しているスマートコントラクトを実行させ、特定の分析トランザクションデータを作成した分析者と、当該検証トランザクションデータを作成した分析者に分析手数料を送付する処理を行う。
 なお、処理部203は、依頼トランザクションデータを取得した後、かつ、分析トランザクションデータを取得する前に、取消トランザクションデータを取得した場合、当該取消トランザクションデータを含むブロックを、分散台帳すなわちブロックチェーンに記録する処理を行う。この場合、取消トランザクションデータに含まれる分析依頼IDにより特定される分析依頼がキャンセルされることになる。これにより、セキュリティ分析の依頼を行った後に、当該依頼が他の依頼と差がなく不要になったり、当該依頼が誤っていたりした場合、当該依頼をキャンセルすることができる。
 [分析者端末30]
 分析者端末30は、SOC事業者などで使用されているパソコン、タブレットなどの端末機器である。なお、分析者端末30は、分析者となる個人で使用されていてもよい。分析者端末30は、ネットワークに接続可能であり、ブロックチェーンプラットフォーム20を構成する複数のサーバと通信可能である。
 本実施の形態では、分析者端末30は、SOC事業者などに属する分析者に使用される。分析者端末30は、ブロックチェーンに記録されたセキュリティ分析の依頼に基づき、仕様書、脅威インテリジェンス情報を利用してセキュリティ分析を行うことで分析結果を作成し、作成した分析結果を含む分析トランザクションデータを生成する。分析者端末30は、図1に示すように、通信部301と、分析情報入力部302と、分析トランザクション生成部303とを備える。ここで、分析者端末30は、プロセッサと、プロセッサに所定の処理を実行させるプログラムが記憶されたメモリと通信インターフェイス等とを備える。つまり、分析者端末30は、プロセッサがメモリを用いて所定のプログラムを実行することで各構成の機能を実現する。
 以下、各構成について説明する。
 <通信部301>
 通信部301は、無線または有線の通信インターフェイスであり、ブロックチェーンプラットフォーム20を構成する複数のサーバとの通信を行う。本実施の形態では、通信部301は、ブロックチェーンに記録された依頼トランザクションデータにアクセスし、依頼トランザクションデータに含まれる情報を取得したり、トランザクションデータを送信したりする。
 本実施の形態では、通信部301は、ブロックチェーンに記録された依頼トランザクションデータにアクセスし、アラートの情報と、分析依頼IDと、分析に利用可能な関連情報へのアクセス方法とを取得する。また、通信部301は、後述する分析トランザクション生成部303により生成された分析トランザクションデータを、ブロックチェーンプラットフォームを構成する複数のサーバのうちの一のサーバに送信する。
 <分析情報入力部302>
 分析情報入力部302は、通信部301により入力された依頼トランザクションデータに含まれる情報を取得する。分析者は、公開されている脅威インテリジェンス情報を用いて、セキュリティ分析を行い得た分析結果を、分析情報入力部302に入力する。分析情報入力部302は、分析結果が入力されることで、分析結果を取得する。
 本実施の形態では、分析情報入力部302は、通信部301により入力された依頼トランザクションデータに含まれるアラートの情報と、分析依頼IDと、分析に利用可能な関連情報へのアクセス方法とを取得する。分析情報入力部302は、取得したアクセス方法により、分析者がセキュリティ分析を行うために必要なアラートの概要、ログ情報を取得する。
 分析者は、取得したアラートの概要、ログ情報と、公開されている脅威インテリジェンス情報とを用いてアラートの分析を行うことで得た結果である分析結果を、分析情報入力部302に入力する。このようにして、分析情報入力部302は、依頼トランザクションデータに含まれる分析依頼IDに対応する分析結果を取得することができる。
 図4は、実施の形態に係るアクセス方法が行われているセキュリティ製品の画面の一例を示す図である。図4では、図3に示されるURL(access_url)にアクセスすることで、ユーザが保有するSIEMの画面を介して、SIEMで発生したアラートの概要と分析に必要なログ情報とが取得できる場合の一例が示されている。
 なお、図4に示す例では、Ticketの行からModel Breachedの行までがアラートの概要すなわちアラートに関する情報を示しており、Model Breachedより下の行では、特定期間のログ情報がダウンロードにより取得可能なことが示されている。
 <分析トランザクション生成部303>
 分析トランザクション生成部303は、分析情報入力部302に入力された分析結果をもとに、分析トランザクションデータを生成する。
 より具体的には、分析トランザクション生成部303は、依頼トランザクションデータに含まれる分析依頼IDに対応する分析結果と、関連情報のうち分析結果に関連するログ情報と、分析結果の根拠となる脅威インテリジェンス情報とを含む分析トランザクションデータを生成する。ここで、分析トランザクションデータに含まれるログ情報は、関連情報のうち分析結果に関連する、かつ、分析に利用したログ情報である。分析トランザクションデータに含まれる脅威インテリジェンス情報は、分析結果の根拠となり、かつ、アラートの原因に相当する脅威インテリジェンス情報である。なお、分析トランザクションデータに含まれる脅威インテリジェンス情報には、認証されたセキュリティ企業によるデジタル署名が施されていてもよい。このように、オープン情報である脅威インテリジェンス情報に、信頼できるセキュリティ企業によるデジタル署名が施されることにより、脅威インテリジェンス情報が適当に捏造されることを防止できる。
 分析トランザクションデータには、さらに、分析結果を得るために行われた分析の種類を示すタグを1以上含んでいてもよい。分析トランザクションデータに分析の種類を示すタグを含むことで、当該分析によって判明した、アラートの原因、アラートの影響範囲、感染有無、または、窃取されたデータを分析する等の事項を明確化することができる。これにより、後述する分析結果の正当性の検証が容易になる可能性がある。
 図5は、実施の形態に係る分析トランザクションデータに含まれる分析結果の一例を示す図である。
 図5に示す分析結果には、分析依頼ID(request_id)と、ユーザ環境でアラートが発生した時刻(date)と、不図示のユーザ環境におけるアラートの識別子(alert_id)と、分析結果の種別(type)とが含まれている。また、図5に示す分析結果には、分析者が利用したログ種別(log_type)、分析者が分析したアラートの脅威種別(threat_type)も含まれている。図5に示す分析結果には、さらに、分析者が利用した公開されている脅威インテリジェンス情報の識別子(cti_id)と、分析者が利用した公開されている脅威インテリジェンス情報の情報源(cti_source)などが含まれている。
 このように、図5に示す分析結果には、分析依頼IDに対応する分析結果と、関連情報のうち分析結果に関連するログ情報と、分析結果の根拠となる脅威インテリジェンス情報とが含まれている。
 図6は、実施の形態に係る脅威インテリジェンス情報の一例を示す図である。
 図6に示す脅威インテリジェンス情報は、図5に示す分析結果に含まれる脅威インテリジェンス情報の詳細情報であり、公開されている。
 図6に示す脅威インテリジェンス情報には、脅威インテリジェンス情報の種別(type)と、脅威インテリジェンス情報の識別子(id)と脅威の発生を示す特徴(pattern)とが含まれている。脅威インテリジェンス情報の識別子(id)は、図5に示す分析結果に含まれる脅威インテリジェンス情報の識別子(cti_id)と同一となっている。図6に示されるindicatorは脅威を検出するための脅威の特徴を示している。図6に示す脅威インテリジェンス情報は、脅威情報を標準化・構造化された形式で記述するフォーマットであるSTIX(Structured Threat Information eXpression)で記述されている。
 なお、図6に示すように、脅威インテリジェンス情報では、どういう情報が特定され、いつ頃作成されたかに関する情報が含まれている。
 [検証者端末40]
 検証者端末40は、パソコン、タブレットなどの端末機器である。検証者端末40は、ネットワークに接続可能であり、ブロックチェーンプラットフォーム20を構成する複数のサーバと通信可能である。
 本実施の形態では、検証者端末40は、分析結果の検証を行う検証者により用いられ、ブロックチェーンに記録されたセキュリティ分析の分析結果の検証を行う。検証者端末40は、図1に示すように、通信部401と、分析結果検証部402と、トランザクション生成部403とを備える。ここで、検証者端末40は、プロセッサと、プロセッサに所定の処理を実行させるプログラムが記憶されたメモリと通信インターフェイス等とを備える。つまり、検証者端末40は、プロセッサがメモリを用いて所定のプログラムを実行することで各構成の機能を実現する。
 以下、各構成について説明する。
 <通信部401>
 通信部401は、無線または有線の通信インターフェイスであり、ブロックチェーンプラットフォーム20を構成する複数のサーバとの通信を行う。本実施の形態では、通信部401は、ブロックチェーンに送信されて生成されたブロックに含まれる分析トランザクションデータにアクセスし、分析トランザクションデータに含まれる分析結果を取得したり、分析結果に対する正当性の検証結果を送信したり、生成されたトランザクションデータを送信したりする。
 本実施の形態では、通信部401は、ブロックチェーンに送信されて生成されたブロックに含まれる分析トランザクションデータにアクセスし、分析トランザクションデータに含まれる分析結果と、分析結果に示される脅威インテリジェンス情報とを取得する。また、通信部401は、後述する分析結果検証部402により作成された分析結果に対する正当性の検証結果を、ブロックチェーンプラットフォーム20を構成する複数のサーバのうちの一のサーバに送信する。なお、通信部401は、後述するトランザクション生成部403により、分析結果に対する正当性の検証結果を含む検証トランザクションデータが生成された場合、検証トランザクションデータを、ブロックチェーンプラットフォームを構成する一のサーバに送信すればよい。
 また、通信部401は、トランザクション生成部403により、スマートコントラクトを含むトランザクションデータが生成された場合、スマートコントラクトを含むトランザクションデータを一のサーバに送信する。
 <分析結果検証部402>
 分析結果検証部402は、通信部401により取得された分析トランザクションデータに含まれる分析結果の正当性を検証し、検証した結果である検証結果を作成する。ここで、分析結果検証部402は、分析トランザクションデータに含まれる脅威インテリジェンス情報内に存在するマルウェアのシグネチャ情報と、分析トランザクションデータに含まれるログ情報に含まれるトレース中のバイト列とのマッチングを行うことで検証結果を作成してもよい。分析結果検証部402は、マッチングの結果、略一致している場合には、分析結果の正当性が検証されたことになるので、分析トランザクションデータに含まれる分析結果の正当性が検証されたことが示される検証結果を作成する。また、分析結果検証部402は、仕様書情報に含まれる通信の発生条件と分析トランザクションデータに含まれるログ情報に含まれる実際に発生した通信内容とのマッチングを行うことにより検証結果を作成してもよい。そして、分析結果検証部402は、マッチングの結果、略一致している場合には、分析結果の正当性が検証されたことになるので、分析トランザクションデータに含まれる分析結果の正当性が検証されたことが示される検証結果を作成する。
 図7は、実施の形態に係る分析トランザクションデータに含まれる分析結果の正当性の検証を行う方法の一例の説明図である。図7に示す例では、検証者端末40を使用する検証者は、図3に示すアラート分析依頼表と、図6に示す脅威インテリジェンス情報とを用いて、図5に示す分析結果の正当性の検証を行う。
 まず、検証者は、図3に示すアラート分析依頼表と図5に示す分析結果とにおいて、aに示される分析依頼ID(request_id)及び時刻(date)とを確認する。すなわち、まず、検証者は、ブロックチェーンに送信されて生成されたブロックに含まれる分析トランザクションデータに含まれる検証対象の分析結果がどのアラート分析依頼に対応しているか、アラート分析依頼表に記載されている時刻と分析結果に記載されている時刻とが近い時間であるかを確認する。近い時間は、例えば1時間以内であるが、これに限らず、数分以内でもよいし、数時間以内であってもよい。
 続いて、検証者は、図5に示す分析結果において、bに示されるように、ログ種別(log_type)及び時刻(date)などから、図7の最下段に示される表の行で示される、分析結果に関連するログ情報を抽出する。すなわち、まず、検証者は、分析結果に記載されているログ種別(log_type)と及び時刻(date)とから、時刻(date)、送信元(src_ip)、送信先(dst_ip)、URL情報(url)などを抽出し、分析結果に関連するログ情報として保有する。
 また、検証者は、cに示されるように、図5に示す分析結果に記載されている情報から、分析結果の根拠となる脅威インテリジェンス情報を抽出する。すなわち、まず、検証者は、分析結果に記載されている脅威インテリジェンス情報の識別子(cti_id)と脅威インテリジェンス情報の情報源(cti_source)とをもとに、分析結果の根拠となる脅威インテリジェンス情報を抽出する。
 続いて、検証者は、抽出したログ情報と、抽出した脅威インテリジェンス情報とを比較することで、分析結果が正当であるかを確認する。
 図7に示す例では、図5に示す分析結果において、分析者が分析したアラートの脅威種別(threat_type)が「indicator_for_malicious_url」と記載されている。このため、検証者は、dに示されるように、抽出したログ情報の中のURL情報と、抽出した脅威インテリジェンス情報の「"type":"indicator"」で示されるタグにある特徴(pattern)として記載された「url:value="http://mal_xxx.com/」に含まれるURL情報とが一致しているかを確認する。両者のURL情報が一致している場合には、分析結果が正当であることが確認できる。このように、検証者は、脅威インテリジェンス情報に含まれるマルウェアのURL等のバイト列と、ログ情報中のURL等のバイト列とのマッチングを行うことで、分析結果の正当性を検証することができる。
 なお、分析結果に記載されるアラートの脅威種別(threat_type)が「indicator_for_malicious_url」でない場合には、その脅威種別に応じた検証が行われる。
 例えば、依頼トランザクションデータに含まれるアラートの情報に、トレース(生のパケットのバイト列情報)が含まれている場合がある。この場合、脅威インテリジェンス情報に含まれるマルウェアのシグネチャ情報と分析結果から抽出されるログ情報に含まれるトレース中のバイト列の正規表現とのマッチングを行うことで、分析結果の正当性を検証してもよい。また、例えば、依頼トランザクションデータに含まれるアラートの情報に、制御コントローラとの通信異常で取得されたトレース(生のパケットのバイト列情報)が含まれている場合がある。この場合、例えばBACnetのPICSなどの仕様書情報に含まれる通信の発生条件と分析結果から抽出されるログ情報に含まれる実際に発生した通信内容とのマッチングを行うことで、分析結果の正当性を検証できる。
 なお、通信部401により取得された分析トランザクションデータに含まれる分析結果すなわち検証対象の分析結果より前に同一の分析依頼IDに対する分析結果が存在している場合がある。
 この場合、分析結果検証部402は、検証対象の分析結果の正当性検証を行う前に、検証対象の分析結果と存在する同一の分析依頼IDに対する分析結果との類似度を算出し、算出した類似度が閾値を超過する場合には、検証対象の分析結果の正当性検証を行わない。換言すると、分析結果検証部402は、まず、検証対象の分析トランザクションデータに含まれる分析結果と、検証対象より過去に発生した分析トランザクションデータに含まれる分析結果との類似度を算出する。分析結果検証部402は、算出された類似度が所定の閾値を超過する場合、検証対象の分析トランザクションデータに含まれる分析結果に対する正当性を検証しない。そして、分析結果検証部402は、検証対象の分析トランザクションデータが検証対象から除外されたことが示される検証結果を作成する。このように、分析トランザクションデータが検証対象から除外されたことが示されている検証結果が、ブロックチェーンプラットフォーム20を構成する複数のサーバのうちの一のサーバに送信されると、分析トランザクションデータを含むブロックは分散台帳に記録されないことになる。
 なお、当該検証結果を含む検証トランザクションデータが生成され、ブロックチェーンプラットフォーム20を構成する複数のサーバのうちの一のサーバに送信される場合、当該分析結果に対する検証トランザクションデータは分散台帳に記録されないとしてもよい。この場合、分析トランザクションデータを含むブロックは、既に生成されており、分散台帳に記録されていてもいなくてもよい。検証トランザクションデータを含むブロックが分散台帳に記録されないことにより、検証トランザクションデータに含まれる当該検証結果に対応する分析結果を作成した分析者端末30は報酬が得られないようにすることができるからである。
 したがって、1つのセキュリティ分析の依頼に対して同じ分析結果を含む複数の分析トランザクションデータが生成され、それを含むブロックが生成されて分散台帳に記録される場合、最先に生成されていない分析トランザクションデータに含まれる分析結果は検証されず、検証トランザクションがブロックチェーンに記録されない。これにより、分析者間で競争原理を働かせることができるので、高速かつ低コストにセキュリティ分析の分析結果を得ることができる。
 ここで、同一の分析依頼IDに対して生成された2つの分析トランザクションデータに含まれる分析結果の類似度の算出方法の一例について説明する。
 図8Aは、実施の形態に係る同一の分析依頼IDに対して生成された分析トランザクションデータ1に含まれる分析結果の一例を示す。図8Bは、実施の形態に係る同一の分析依頼IDに対して生成された分析トランザクションデータ2に含まれる分析結果の一例を示す。
 例えば、検証者は、図8Aに示す分析結果及び図8Bに示す分析結果の類似度を、下記の(式1)~(式3)を用いて、分析結果に含まれるログ情報の時刻(date)の間の距離と、分析結果に利用された脅威インテリジェンス情報(cti)間の距離の和として算出することができる。
 dist(analysis1,analysis2)= datedist(date1,date2) + ctidist(cti1,cti2)   (式1)
 datedist(date1,date2)=|date1のUNIXTIME-date2のUNIX_TIME|/86400  (式2)
 ctidist(cti1,cti2)=1-(cti1とcti2の類似度を0~1にスケーリングしたもの)  (式3)
 ここで、date1は、図8Aに示す分析トランザクションデータ1の分析結果に含まれる時刻(date)であり、date2は、図8Bに示す分析トランザクションデータ2の分析結果に含まれる時刻(date)である。86400は、一日である24時間を秒に換算した値に相当する。また、同様に、cti1は、図8Aに示す分析トランザクションデータ1の分析結果から抽出される脅威インテリジェンス情報であり、cti2は、図8Bに示す分析トランザクションデータ2の分析結果から抽出される脅威インテリジェンス情報である。
 なお、セキュリティ関連企業間での脅威情報交換を目的として、脅威情報を標準化・構造化された形式で記述するフォーマットであるSTIX2では、2つの脅威インテリジェンス情報間の類似度を0~100の範囲で出力するメソッドが用意されている。このメソッドでは、nameなどのフィールドごとに重みづけが行われており、各脅威インテリジェンス情報のフィールドごとに比較を行い、(一致しているフィールドの総重み)/(比較対象のフィールドの総重み)のような形で類似度が算出される。
 そして、検証者は、dist(analysis1,analysis2)<Tの場合、すなわち、算出したdist(analysis1,analysis2)が閾値Tより小さい場合、両者の分析結果が類似するまたは同一であると判定できる。換言すると、検証者は、算出したdist(analysis1,analysis2)が閾値Tより小さい場合、図8Aに示す分析結果及び図8Bに示す分析結果の類似度が所定の閾値を超過しており、両者の分析結果は類似または同一していると判定できる。
 <トランザクション生成部403>
 トランザクション生成部403は、分析結果検証部402により作成された検証結果を含む検証トランザクションデータを生成してもよい。
 また、トランザクション生成部403は、検証者の操作により、分析手数料を支払うためのスマートコントラクトを生成し、生成したスマートコントラクトを含むトランザクションデータを生成してもよい。ここで、生成したスマートコントラクトの支払い関数には、例えば、セキュリティ分析を依頼するユーザが設定した分析手数料のうち、8割を分析者、残りの2割を当該分析者が行った分析結果を検証した1以上の検証者間で分配するロジックが埋め込まれていてもよい。生成したスマートコントラクトの支払い関数に埋め込まれるロジックはこの例に限らず、分析者が分析を行うインセンティブ及び検証者が検証を行うインセンティブとなる範囲であれば適宜決定し得る。
 なお、セキュリティ分析の依頼が、アラート分析の依頼ではなく脅威ハンティング分析の依頼である場合、分析トランザクションデータに含まれるログ情報は、関連情報のうち分析結果に関連する、かつ、ユーザ環境にアクセスして得られるログ情報であればよい。この場合、分析トランザクションデータに含まれる脅威インテリジェンス情報は、分析結果の根拠となり、かつ、当該ログ情報に紐づく脅威インテリジェンス情報であればよい。
 [動作]
 続いて、以上のように構成されたセキュリティ分析システム1により実行される処理について説明する。
 [処理概要]
 図9は、実施の形態に係るセキュリティ分析システム1により実行される処理概要を示すフローチャートである。図9に示す処理概要は、実施の形態に係るセキュリティ分析システム1が有する複数のサーバにおける一のサーバによって実行される制御方法である。複数のサーバは、それぞれ分散台帳を有する。換言すると、複数のサーバは、ブロックチェーンを管理する。
 まず、一のサーバは、分析の依頼を一意に示す分析依頼IDと、分析に利用可能な関連情報へのアクセス方法とを含む依頼トランザクションデータを取得する(S1)。本実施の形態では、依頼トランザクションデータは、ユーザ企業等においてセキュリティ製品がアラートを発生させた場合に、ユーザ端末10により生成されて一のサーバに送信されたものである。
 次に、一のサーバは、ステップS1で取得した依頼トランザクションデータをブロックに含めて分散台帳に記録する(S2)。
 次に、一のサーバは、依頼トランザクションデータに含まれる分析依頼IDに対応する分析結果と、関連情報のうち分析結果に関連するログ情報と、分析結果の根拠となる脅威インテリジェンス情報とを含む分析トランザクションデータを取得する(S3)。本実施の形態では、分析トランザクションデータは、分析者端末30により、生成されて一のサーバに送信されたものである。分析トランザクションデータには、分散台帳に記録されたセキュリティ分析の依頼に基づき、仕様書、脅威インテリジェンス情報を利用してセキュリティ分析を行うことで作成された分析結果が含まれている。
 次に、一のサーバは、ステップS3で取得した分析トランザクションデータに含まれる分析結果に対する正当性の検証結果を取得する(S4)。本実施の形態では、1以上の検証者が検証者端末40を使用して、分散台帳に記録されたセキュリティ分析の分析結果の検証を行い、検証結果を作成する。1以上の検証者は、作成した検証結果を含む検証トランザクションデータを生成して、一のサーバに送信してもよい。なお、分散台帳に記録されたセキュリティ分析の分析結果が、先に分散台帳に記録された他の分析結果と類似する場合には、無効な分析結果であるとして、分析結果に対する正当性を検証せず、その旨を示す検証結果が作成される。
 次に、一のサーバは、ステップS4で取得した検証結果により分析トランザクションデータに含まれる分析結果の正当性が検証されたことが示される場合、分析トランザクションデータをブロックに含めて分散台帳に記録する(S5)。
 [アラート分析処理]
 次に、セキュリティ分析システム1により実行されるアラート分析処理例について説明する。
 図10は、実施の形態に係るアラート分析処理例の概要を示すフローチャートである。図11は、図10に示すスマートコントラクト登録処理(ステップS10)の詳細を示すフローチャートである。図12は、図10に示すアラート分析依頼処理(ステップS12)の詳細を示すフローチャートである。図13は、図10に示す分析結果送信処理(ステップS13)の詳細を示すフローチャートである。図14は、図10に示す検証結果送信処理(ステップS14)の詳細を示すフローチャートである。図15は、図10に示す手数料支払い処理(ステップS15)の詳細を示すフローチャートである。
 まず、図10において、セキュリティ分析システム1は、スマートコントラクト登録処理を実行する(S10)。
 より詳細には、図11に示すように、検証者端末40は、検証者の操作により、セキュリティ分析を委託するために、分析手数料プール関数と手数料支払い関数とを作成して、ブロックチェーンに登録する(S101)。本実施の形態では、検証者端末40は、作成した分析手数料プール関数と手数料支払い関数とで構成された、分析手数料を支払うためのスマートコントラクトを生成し、ブロックチェーンプラットフォーム20を構成する複数のサーバのうちの一のサーバに送信する。これにより、スマートコントラクトがブロックチェーンに登録され、稼働される。
 次に、図10において、セキュリティ分析システム1は、分析手数料プール処理を実行する(S11)。本実施の形態では、ユーザ端末10は、分析手数料の支払い用のプール金を登録するためのトランザクションデータを生成し、ブロックチェーンを管理する複数のサーバのうちの一のサーバに送信する。これにより、分析手数料プール処理が実行され、分析手数料の支払い用のプール金がブロックチェーンに登録される。
 次に、図10において、セキュリティ分析システム1は、アラート分析依頼処理を実行する(S12)。
 より詳細には、図12に示すように、まず、ユーザ側が保有するSIEMなどのセキュリティ製品でアラートが発生したとする(S121)。続いて、ユーザ端末10は、発生したアラートの分析を依頼するかどうかを示すユーザの入力を取得する(S122)。続いて、ユーザ端末10は、発生したアラートの分析を依頼することが入力されているどうかを確認し(S123)、依頼することが入力されている場合(S123でYES)、分析依頼に必要なデフォルトの設定情報を取得する(S124)。なお、ユーザ端末10は、ステップS123において、依頼することが入力されていない場合(S123でNO)、アラート分析依頼処理を終了する。続いて、ユーザ端末10は、ユーザの入力に応じて設定情報が変更される(S125)。なお、デフォルトの設定情報のまま変更がない場合には、ステップS125はスキップされる。続いて、ユーザ端末10は、確定した設定情報である分析依頼設定情報をもとにアラート分析の依頼トランザクションデータを生成する(S126)。続いて、ユーザ端末10は、ステップS126で生成した依頼トランザクションデータを、一のサーバに送信することで、当該依頼トランザクションデータをブロックチェーンに送信する(S127)。
 次に、図10において、セキュリティ分析システム1は、分析結果送信処理を実行する(S13)。
 より詳細には、図13に示すように、まず、分析者端末30は、ブロックチェーンに記録された依頼トランザクションデータに含まれるアラート分析の依頼に基づき、仕様書、脅威インテリジェンス情報を利用してセキュリティ分析を行うことで分析結果を作成する(S131)。続いて、分析者端末30は、ステップS131で作成した分析結果をもとに分析トランザクションデータを生成する(S132)。続いて、分析者端末30は、ステップS132で生成した分析トランザクションデータを一のサーバに送信することで、当該分析トランザクションデータをブロックチェーンに送信する(S133)。
 次に、図10において、セキュリティ分析システム1は、検証結果送信処理を実行する(S14)。
 より詳細には、図14に示すように、まず、検証者端末40は、検証対象の分析結果の前に同一の分析依頼IDに対する分析結果が存在しているかを調べる(S141)。なお、ステップS141は、ステップS13でブロックチェーンに送信されて生成されたブロックに含まれる分析トランザクションデータに含まれる分析結果の検証を行う前に、行われる。続いて、検証者端末40は、既に分析結果が存在しているすなわち検証対象の分析結果の前に同一の分析依頼IDに対する分析結果が存在しているかを確認する(S142)。
 ステップS142において、既に分析結果が存在している場合(S142でYES)、検証者端末40は、既に存在した分析結果と、検証対象の分析結果との間の距離を計算する(S143)。続いて、検証者端末40は、ステップS143で計算した距離が閾値未満かどうかを確認することで、両者の分析結果が類似しているかどうかを判定する(S144)。ステップS144において、計算した距離が閾値未満でなければ(S144でNO)、両者の分析結果が類似していないことになるので、検証者端末40は、ステップS145に進む。なお、ステップS142において、既に分析結果が存在していない場合(S142でNO)、検証者端末40は、ステップS145に進み、検証対象の分析結果の正当性を検証する(S145)。
 続いて、検証者端末40は、ステップS145で検証した結果、当該分析結果が正当であれば(S146でYES)、当該分析結果に対する検証結果を含む検証トランザクションデータを生成する(S147)。続いて、検証者端末40は、生成した検証トランザクションデータを一のサーバに送信することで、当該検証トランザクションデータをブロックチェーンに送信する(S148)。なお、検証者端末40は、当該検証トランザクションデータを生成せず、当該分析結果に対する検証結果のみをブロックチェーンに送信してもよい。
 なお、ステップS144において、計算した距離が閾値未満である場合(S144でYES)、両者の分析結果が類似しているので、検証者端末40は、検証対象の分析結果の検証を行わず、当該分析結果に対する検証結果を含む検証トランザクションデータを生成しない(S149)。この場合、検証者端末40は、検証対象の分析結果が検証対象から除外されたことが示される検証結果をブロックチェーンに送信すればよい。
 また、ステップS146において、検証者端末40は、ステップS145で検証した結果、当該分析結果が正当でなければ(S146でNO)、当該分析結果に対する検証結果を含む検証トランザクションデータを生成しない(S149)。この場合、検証者端末40は、検証対象の分析結果が正当でないことが示される検証結果をブロックチェーンに送信すればよい。
 次に、図10において、セキュリティ分析システム1は、手数料支払い処理を実行する(S15)。
 より詳細には、図15に示すように、まず、ブロックチェーンプラットフォーム20を構成する複数のサーバのうちの一のサーバは、特定の分析トランザクションデータに対する検証トランザクションデータを含むブロックを生成する(S151)。続いて、当該一のサーバは、当該分析トランザクションデータに対する検証トランザクションデータの数として、ステップS151でブロック生成する前までに確定していた総数をM、ブロック生成後の総数をNとする(S152)。ここで、M、Nは自然数である。続いて、当該一のサーバは、M<閾値Th、かつ、N≧閾値Thを満たすかどうかを確認し(S153)、満たす場合(S153でYES)、分析トランザクションデータの作成者と検証トランザクションデータの作成者に分析手数料を配分して送付する(S154)。なお、当該一のサーバは、ステップS153で、M<閾値Th、かつ、N≧閾値Thを満たさない場合(S153でNO)には、手数料支払い処理を終了する。
 このようにして、セキュリティ分析システム1は、ブロックチェーン上でセキュリティ分析を委託する仕組みを実現し、セキュリティ分析の分析結果の正当性を検証可能、かつ、不正を抑制できる仕組みを実現する。
 [アラート分析処理のシーケンス]
 続いて、シーケンス図を用いて、セキュリティ分析システム1により実行されるアラート分析処理について説明する。
 図16は、実施の形態に係るアラート分析処理の一例を示すシーケンス図である。ここでは、検証結果を含む検証トランザクションデータが生成される場合を例に挙げて説明する。
 まず、検証者端末40は、分析手数料を支払うためのスマートコントラクトを生成し、生成したスマートコントラクトを含む第1トランザクションデータを生成する(S201)。
 次に、検証者端末40は、ステップS201で生成した第1トランザクションデータをブロックチェーンプラットフォーム20に送信する(S202)。本実施の形態では、検証者端末40は、ステップS201で生成した第1トランザクションデータを、ブロックチェーンプラットフォーム20を構成する複数のサーバのうちの一のサーバに送信する。
 次に、ブロックチェーンプラットフォーム20は、第1トランザクションデータを取得すると、取得した第1トランザクションデータを含むブロックを生成してブロックチェーンに記録する(S203)。具体的には、ブロックチェーンプラットフォーム20を構成する複数のサーバのうちの一のサーバが、1トランザクションデータを取得すると、取得した第1トランザクションデータを含むブロックを生成する。当該一のサーバは、他のサーバと行う所定のコンセンサスアルゴリズムを経て、作成した第1トランザクションデータを含むブロックをブロックチェーンに記録する。
 また、ユーザ端末10は、分析手数料の支払い用のプール金を登録するための第2トランザクションデータを生成し(S204)、ブロックチェーンプラットフォーム20に送信する(S205)。
 次に、ブロックチェーンプラットフォーム20は、第2トランザクションデータを取得すると、取得した第2トランザクションデータを含むブロックを生成してブロックチェーンに記録する(S206)。
 また、ユーザ側が保有するIDSなどのセキュリティ製品でアラートが発生した場合、ユーザ端末10は、アラート分析の依頼を行うための第3トランザクションデータを生成する(S207)。この第3トランザクションデータは、上述した依頼トランザクションデータであり、IDSログなど発生したアラートの情報と、分析対象のユーザ環境へのアクセス方法と、分析手数料とを示す情報を含む。
 次に、ユーザ端末10は、ステップS207で生成した第3トランザクションデータを、ブロックチェーンプラットフォーム20に送信する(S208)。
 次に、ブロックチェーンプラットフォーム20は、第3トランザクションデータを取得すると、取得した第3トランザクションデータを含むブロックを生成してブロックチェーンに記録する(S209)。
 次に、分析者端末30は、ブロックチェーンに記録された第3トランザクションデータに含まれるアラート分析の依頼を示すアラート分析依頼情報を取得し(S210)、アラート分析を実施する(S211)。本実施の形態では、分析者端末30は、取得したアラート分析依頼情報に基づき、仕様書、脅威インテリジェンス情報を利用してアラート分析を行うことで、分析結果(ここではアラート分析結果と称する)を作成する。
 次に、分析者端末30は、ステップS211でアラート分析を行うことで得たアラート分析結果を含む第4トランザクションデータを生成する(S212)。この第4トランザクションデータは、上述した分析トランザクションデータである。
 次に、分析者端末30は、ステップS212で生成した第4トランザクションデータを、ブロックチェーンプラットフォーム20に送信する(S213)。
 次に、ブロックチェーンプラットフォーム20は、第4トランザクションデータを取得すると、取得した第4トランザクションデータを含むブロックを生成する(S214)。
 次に、検証者端末40は、生成されたブロックに含まれる第4トランザクションデータに含まれるアラート分析結果を取得する(S215)。なお、生成されたブロックが分散台帳に記録されている場合には、検証者端末40は、ブロックチェーンから、第4トランザクションデータに含まれるアラート分析結果を取得することができる。一方、生成されたブロックがブロックチェーンに記録されていない場合には、ブロードキャストされた第4トランザクションデータを含むブロックから、第4トランザクションデータに含まれるアラート分析結果を取得することができる。第4トランザクションデータを含むブロックが生成されると、ブロードキャストされてコンセンサスアルゴリズムを経た後に、生成したブロックが確定されブロックチェーンに記録されるからである。
 次に、検証者端末40は、ステップS215で取得したアラート分析結果の正当性を検証する(S216)。なお、アラート分析結果の正当性の検証時、既に存在するアラート分析結果との類似度判定等も行われる。
 次に、検証者端末40は、ステップS216でアラート分析結果の正当性を検証することで得た検証結果を含む第5トランザクションデータを生成する(S217)。この第5トランザクションデータは、上述した検証トランザクションデータである。
 次に、検証者端末40は、ステップS217で生成した第5トランザクションデータを、ブロックチェーンプラットフォーム20に送信する(S218)。
 次に、ブロックチェーンプラットフォーム20は、第5トランザクションデータを取得すると、取得した第5トランザクションデータとを含むブロックを生成して、第4トランザクションデータを含むブロックとともにブロックチェーンに記録する(S219)。なお、第4トランザクションデータを含むブロックが既にブロックチェーンに記録されている場合には、取得した第5トランザクションデータのみを含むブロックを生成してブロックチェーンに記録するだけでよい。
 次に、ブロックチェーンプラットフォーム20は、第4トランザクションデータ及び第5トランザクションデータを含むブロックが記録されたことをトリガとして、スマートコントラクトにおけるプール金から支払い手数料を支払う支払い関数を実行させる(S220)。
 次に、ブロックチェーンプラットフォーム20は、ステップS220で支払い関数を実行させたことで、プール金から、分析手数料を分析者端末30に送信し(S221)、検証手数料を検証者端末40に送信する(S222)。検証手数料は、ステップS207で第3トランザクションデータに含められた分析手数料の一部であるため、上記では分析手数料とも称している。
 次に、検証者端末40は、ステップS222で送信された検証手数料を取得すると、アラート分析結果の確定通知をユーザ端末10に送信する(S223)。
 以上のように、セキュリティ分析としてセキュリティ製品で発生したアラートの分析を行い生成された分析トランザクションデータに含まれるアラート分析結果に対する正当性が検証された場合のみ、分析トランザクションデータを分散台帳に記録する。
 これにより、発生したアラートの分析結果の正当性を検証可能できるだけでなく、ブロックチェーンの改ざん不可能性の機能を活用して不正を抑制できる。
 また、アラート分析の報酬が、スマートコントラクトを利用して自動的に分析者に提供されるので、分析者がアラート分析を行うインセンティブとなる。同様に、アラート分析の報酬が、スマートコントラクトを利用して自動的に分析結果を検証した1以上の検証者に配分されるので、検証者が、アラート分析結果の検証を行うインセンティブとなる。これらにより、委託されたアラート分析が迅速に行われ得る。
 [脅威ハンティングのシーケンス]
 続いて、シーケンス図を用いて、セキュリティ分析システム1により実行される脅威ハンティング分析処理について説明する。脅威ハンティング分析の依頼は、セキュリティ製品でアラートが発生していない段階で行われるセキュリティ分析の依頼である。
 図17は、実施の形態に係る脅威ハンティング分析処理の一例を示すシーケンス図である。なお、ステップS301~ステップS306は、図16で説明したステップS201~ステップS206の処理と同じであるため説明を省略する。以下でも検証結果を含む検証トランザクションデータが生成される場合を例に挙げて説明する。
 ステップS307において、ユーザ端末10は、脅威ハンティング分析の依頼を行うための第3トランザクションデータを生成する。この第3トランザクションデータは、上述した依頼トランザクションデータであり、分析対象のユーザ環境へのアクセス方法と、分析手数料とを示す情報を含む。
 次に、ユーザ端末10は、ステップS307で生成した第3トランザクションデータを、ブロックチェーンプラットフォーム20に送信する(S308)。
 次に、ブロックチェーンプラットフォーム20は、第3トランザクションデータを取得すると、取得した第3トランザクションデータを含むブロックを生成してブロックチェーンに記録する(S309)。
 次に、分析者端末30は、ブロックチェーンに記録された第3トランザクションデータに含まれる脅威ハンティング分析の依頼を示す脅威ハンティング分析依頼情報を取得し(S310)、脅威分析を実施する(S311)。例えば、分析者端末30は、取得した脅威ハンティング分析依頼情報に基づき、仕様書、脅威インテリジェンス情報を利用して脅威分析を行うことで、分析結果(ここでは脅威分析結果と称する)を作成する。
 次に、分析者端末30は、ステップS311で脅威ハンティング分析を行うことで得た脅威分析結果を含む第4トランザクションデータを生成する(S312)。この第4トランザクションデータは、上述した分析トランザクションデータに対応する。
 次に、分析者端末30は、ステップS312で生成した第4トランザクションデータを、ブロックチェーンプラットフォーム20に送信する(S313)。
 次に、ブロックチェーンプラットフォーム20は、第4トランザクションデータを取得すると、取得した第4トランザクションデータを含むブロックを生成する(S314)。
 次に、検証者端末40は、生成されたブロックに含まれる第4トランザクションデータに含まれる脅威分析結果を取得する(S315)。なお、生成されたブロックがブロックチェーンに記録されている場合には、検証者端末40は、ブロックチェーンから、第4トランザクションデータに含まれる脅威分析結果を取得することができる。一方、生成されたブロックがブロックチェーンに記録されていない場合には、ブロードキャストされた第4トランザクションデータを含むブロックから、第4トランザクションデータに含まれる脅威分析結果を取得することができる。
 次に、検証者端末40は、ステップS315で取得した脅威分析結果の正当性を検証する(S316)。なお、脅威分析結果の正当性の検証時、既に存在する脅威分析結果との類似度判定等も行われる。
 次に、検証者端末40は、ステップS316で脅威分析結果の正当性を検証することで得た検証結果を含む第5トランザクションデータを生成する(S317)。この第5トランザクションデータは、上述した検証トランザクションデータに対応する。
 次に、検証者端末40は、ステップS317で生成した第5トランザクションデータを、ブロックチェーンプラットフォーム20に送信する(S318)。
 次に、ブロックチェーンプラットフォーム20は、第5トランザクションデータを取得すると、取得した第5トランザクションデータとを含むブロックを生成して第4トランザクションデータを含むブロックとともにブロックチェーンに記録する(S319)。なお、第4トランザクションデータを含むブロックが既にブロックチェーンに記録されている場合には、取得した第5トランザクションデータを含むブロックを生成してブロックチェーンに記録するだけでよい。
 次に、ブロックチェーンプラットフォーム20は、第4トランザクションデータ及び第5トランザクションデータを含むブロックが記録されたことをトリガとして、スマートコントラクトにおけるプール金から支払い手数料を支払う支払い関数を実行させる(S320)。
 次に、ブロックチェーンプラットフォーム20は、ステップS320で支払い関数を実行させたことで、プール金から、分析手数料を分析者端末30に送信し(S321)、検証手数料を検証者端末40に送信する(S322)。検証手数料は、ステップS307で第3トランザクションデータに含められた分析手数料の一部である。
 次に、検証者端末40は、ステップS322で送信された検証手数料を取得すると、脅威分析結果の確定通知をユーザ端末10に送信する(S323)。
 以上のように、セキュリティ製品でアラートが発生していない段階で、脅威ハンティング分析を行い生成された分析トランザクションデータに含まれる脅威分析結果に対する正当性が検証された場合のみ、分析トランザクションデータを分散台帳に記録する。
 これにより、発生した脅威分析結果の正当性を検証可能できるだけでなく、ブロックチェーンの改ざん不可能性の機能を活用して不正を抑制できる。
 また、脅威ハンティング分析の報酬が、スマートコントラクトを利用して自動的に分析者に提供されるので、分析者が脅威ハンティング分析を行うインセンティブとなる。同様に、脅威ハンティング分析の報酬が、スマートコントラクトを利用して自動的に分析結果を検証した1以上の検証者に配分されるので、検証者が、脅威ハンティング分析結果の検証を行うインセンティブとなる。これらにより、委託された脅威ハンティング分析が迅速に行われ得る。
 [効果等]
 以上のように、実施の形態に係るセキュリティ分析システム1の制御方法等によれば、セキュリティ分析の分析結果の正当性を検証可能、かつ、不正を抑制できる。より具体的には、分析トランザクションデータに含まれる分析結果に対する正当性が検証された場合のみ、分析トランザクションデータを分散台帳に記録する。これにより、発生したアラートの分析結果の正当性を検証可能できるだけでなく、ブロックチェーンの改ざん不可能性の機能を活用して不正を抑制できる。
 さらに、依頼トランザクションデータが分散台帳に記録されるので、1社のSOC事業者に限らず複数のSOC事業者すなわち複数の分析者にコンペティション方式でセキュリティ分析の依頼をすることができる。この結果、分析者間で競争原理を働かせることができるので、高速かつ低コストにセキュリティ分析の分析結果を得ることができる。
 図18は、本開示に係るブロックチェーン上でセキュリティ分析を委託するプラットフォーム1aの説明図である。図18では、ユーザ10aがセキュリティ分析の依頼を、ブロックチェーン20a上で依頼し、多数の分析者30aのうちの一人がセキュリティ分析して得た分析結果をブロックチェーン20aに送信するプラットフォーム1aが示されている。ここで、ユーザ10aは、IDSまたはSIEMといったセキュリティ製品を導入している企業、工場、施設などであり、上述したユーザ端末10を使用して、セキュリティ分析の依頼を含む依頼トランザクションデータを生成し、ブロックチェーン20aに記録することで行う。多数の分析者30aは、典型的には複数のSOC事業者に属しているが、セキュリティ分析を行える個人でもよい。分析者30aは、上述した分析者端末30を使用して、ブロックチェーン20aに記録されたセキュリティ分析の依頼に応じてセキュリティ分析を行う。分析者30aは、セキュリティ分析を行った結果得た分析結果を含む分析トランザクションデータを生成してブロックチェーン20aに送信する。ブロックチェーン20aでは、送信された分析トランザクションデータを含めたブロックが生成される。ブロックチェーン20aは、上述したブロックチェーンプラットフォーム20で実現されるブロックチェーンである。
 また、図18では、1以上の検証者40aが、所定の検証アルゴリズムで分析結果の正当性を検証し、正当性が検証された分析結果を含む分析トランザクションデータを含むブロックのみがブロックチェーン20aに記録されるプラットフォーム1aが示されている。
 1以上の検証者40aは、典型的には信頼された複数の機関であるが、当該複数の機関に属した者でもよい。分析者30aと結託されると結託した分析者30aの分析結果を無条件に正当な分析結果であると検証する虞があるからである。なお1以上の検証者40aのそれぞれは、上記の虞がない場合、個人であってもよい。1以上の検証者40aはそれぞれ、上述した検証者端末40を使用して、分析トランザクションデータに含まれる分析結果の正当性を検証し、正当性を検証した結果得た検証結果をブロックチェーン20aに送信する。ブロックチェーン20aでは、取得した検証結果により正当性が示された分析結果を含む分析トランザクションデータを含むブロックのみ記録される。なお、分析トランザクションデータはフォーマットさえ正しければブロックとして生成されブロックチェーン20aに記録されるとしてもよい。この場合、ブロックチェーン20aに記録されているものの、分析トランザクションデータに含まれる分析結果が正しい分析として受理(記録)されているわけではないとすればよい。そして、分析結果が正しくない場合は、検証者に生成された検証トランザクションデータがブロックチェーン20aに記録されないとすればよい。つまり、分析トランザクションデータがブロックチェーン20aに記録される場合でも、検証者に生成された検証トランザクションデータの数が閾値以上ブロックチェーン20aに記録されない。この結果、正しくない分析結果を作成した分析者30aが報酬得られないようにすることができる。
 このように、図18に示すプラットフォーム1aは、ユーザ10aごとにシステム構築を行う必要がなく、ブロックチェーン20aを利用した1つのブロックチェーンプラットフォーム20上で実現できる。また、図18に示すプラットフォーム1aでは、ブロックチェーン20aを利用することでコンペティション方式の採用が可能となるので、分析者30aの間に競争原理を働かせることができる。また、図18に示すプラットフォーム1aでは、ブロックチェーン20aを利用することで、分析結果が公開されるため、特定の分析者間での結託による不正等ができない。
 よって、セキュリティ分析の分析結果の正当性を検証可能できるだけでなく、ブロックチェーンの改ざん不可能性の機能を活用して不正を抑制できる。
 さらに、図18に示すプラットフォーム1aでは、スマートコントラクトを利用することで、分析トランザクションデータを含むブロックが記録されたタイミングで分析手数料が分析者30a等に送金される仕組みを構成できる。つまり、図18に示すプラットフォーム1aでは、分析手数料の支払いを自動で行うことが可能になる。これにより、分析者30aがセキュリティ分析を行うインセンティブを与えることができ、検証者40aがセキュリティ分析の分析結果の検証を行うインセンティブを与えることができる。
 よって、図18に示すプラットフォーム1aによれば、ユーザ10aは、格安かつ高速なセキュリティ分析のサービスの提供を受けることができるだけでなく、セキュリティ分析が正しく行われたことを検証してもらえる。また、図18に示すプラットフォーム1aによれば、検証者40aは、セキュリティ分析の正当性を検証することで報酬を受け取れ、分析者30aは、セキュリティ分析技術を持つ一個人が参加し、報酬を受け取ることができる。
 なお、1つのセキュリティ分析の依頼に対して複数の分析者30aが同一の分析結果を作成する場合が想定される。これに対して、図18に示すプラットフォーム1aでは、分析トランザクションデータに含まれる分析結果が引用するログ情報間の類似度、利用する脅威インテリジェンス情報間の類似度を用いて、分析結果の類似度を算出する。そして、類似度が高い場合には、最先の分析結果以外の分析結果を含む分析トランザクションデータに対しては正当な分析結果と認めない(検証トランザクションを生成しない)ことで、解決している。
 また、ユーザ10aが発生したアラートに関連するログ情報のすべて、もしくは、脅威ハンティングの分析を行うためのユーザ環境のすべてを、セキュリティ分析の依頼時に含めてブロックチェーン20aに送信することは、関連情報の予測の困難さ、容量等を鑑みると現実的でない。ここで、ユーザ環境は、セキュリティ製品を導入して運用している機器、ネットワーク、システム、アプリケーション等の設定、構成などの環境である。これに対して、図18に示すプラットフォーム1aでは、セキュリティ分析に利用可能なユーザ環境を含む関連情報へのアクセス方法をセキュリティ分析の依頼時に含めてブロックチェーン20aに送信する。これにより、分析者30aは、セキュリティ分析に必要な関連情報を取得することができ、セキュリティ分析を行うことができる。
 [その他の実施の形態等]
 以上のように、本開示について上記の実施の形態に基づいて説明してきたが、本開示は、上記の実施の形態に限定されないのはもちろんである。以下のような場合も本開示に含まれる。
 (1)上記の実施の形態における各装置は、具体的には、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。前記RAMまたはハードディスクユニットには、コンピュータプログラムが記録されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、各装置は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
 (2)上記の実施の形態における各装置は、構成する構成要素の一部または全部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されているとしてもよい。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM、RAMなどを含んで構成されるコンピュータシステムである。前記RAMには、コンピュータプログラムが記録されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、システムLSIは、その機能を達成する。
 また、上記の各装置を構成する構成要素の各部は、個別に1チップ化されていても良いし、一部またはすべてを含むように1チップ化されてもよい。
 また、ここでは、システムLSIとしたが、集積度の違いにより、IC、LSI、スーパーLSI、ウルトラLSIと呼称されることもある。また、集積回路化の手法はLSIに限るものではなく、専用回路または汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用しても良い。
 さらには、半導体技術の進歩または派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてありえる。
 (3)上記の各装置を構成する構成要素の一部または全部は、各装置に脱着可能なICカードまたは単体のモジュールから構成されているとしてもよい。前記ICカードまたは前記モジュールは、マイクロプロセッサ、ROM、RAMなどから構成されるコンピュータシステムである。前記ICカードまたは前記モジュールは、上記の超多機能LSIを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、前記ICカードまたは前記モジュールは、その機能を達成する。このICカードまたはこのモジュールは、耐タンパ性を有するとしてもよい。
 (4)本開示は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
 また、本開示は、前記コンピュータプログラムまたは前記デジタル信号をコンピュータで読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD-ROM、MO、DVD、DVD-ROM、DVD-RAM、BD(Blu-ray(登録商標) Disc)、半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されている前記デジタル信号であるとしてもよい。
 また、本開示は、前記コンピュータプログラムまたは前記デジタル信号を、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
 また、本開示は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記録しており、前記マイクロプロセッサは、前記コンピュータプログラムにしたがって動作するとしてもよい。
 また、前記プログラムまたは前記デジタル信号を前記記録媒体に記録して移送することにより、または前記プログラムまたは前記デジタル信号を、前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
 (5)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
 本開示は、制御方法、サーバ、プログラム、及び、セキュリティ分析システムに利用でき、例えばブロックチェーンプラットフォームを利用して情報セキュリティにおける脅威を分析するために用いられる制御方法、サーバ、プログラム、及び、セキュリティ分析システムなどに利用可能である。
 1  セキュリティ分析システム
 1a  プラットフォーム
 10  ユーザ端末
 10a  ユーザ
 20  ブロックチェーンプラットフォーム
 20a  ブロックチェーン
 30  分析者端末
 30a  分析者
 40  検証者端末
 40a  検証者
 101 分析依頼設定記憶部
 102、201、301、401  通信部
 103  分析依頼実行受付部
 104  分析依頼生成部
 202  ブロックチェーン記憶部
 203  処理部
 302  分析情報入力部
 303  分析トランザクション生成部
 402  分析結果検証部
 403  トランザクション生成部

Claims (18)

  1.  それぞれ分散台帳を有する複数のサーバを備えるセキュリティ分析システムにおける一のサーバによって実行される制御方法であって、
     分析の依頼を一意に示す分析依頼IDと前記分析に利用可能な関連情報へのアクセス方法とを含む依頼トランザクションデータを取得し、
     取得した前記依頼トランザクションデータをブロックに含めて前記分散台帳に記録し、
     記録された前記依頼トランザクションデータに含まれる前記分析依頼IDに対応する分析結果と、前記関連情報のうち前記分析結果に関連するログ情報と、前記分析結果の根拠となる脅威インテリジェンス情報とを含む分析トランザクションデータを、取得して前記分析トランザクションデータを含むブロックを生成し、
     前記分析トランザクションデータに含まれる前記分析結果に対する正当性の検証結果を取得し、
     取得した前記検証結果により前記分析トランザクションデータに含まれる前記分析結果の正当性が検証されたことが示される場合、前記分析トランザクションデータを含むブロックを前記分散台帳に記録する、
     制御方法。
  2.  前記分析は、セキュリティ製品で発生したアラートの分析であり、
     前記依頼トランザクションデータは、セキュリティ製品で発生したアラートの情報と、前記分析依頼IDと、前記アクセス方法とを含み、
     前記分析トランザクションデータに含まれる前記ログ情報は、前記関連情報のうち前記分析結果に関連する、かつ、前記分析に利用したログ情報であり、
     前記分析トランザクションデータに含まれる前記脅威インテリジェンス情報は、前記分析結果の根拠となり、かつ、前記アラートの原因に相当する脅威インテリジェンス情報である、
     請求項1に記載の制御方法。
  3.  前記依頼トランザクションデータに含まれる前記アクセス方法は、前記分析に利用可能な関連情報であって前記分析に必要な関連情報のアクセス場所及びアクセス権限を含む、
     請求項2に記載の制御方法。
  4.  前記分析は、脅威ハンティングの分析であり、
     前記依頼トランザクションデータに含まれるアクセス方法は、前記分析に利用可能な関連情報であってセキュリティ監視を実行している環境を示す関連情報のアクセス場所及びアクセス権限を含み、
     前記分析トランザクションデータに含まれる前記ログ情報は、前記関連情報のうち前記分析結果に関連する、かつ、前記環境にアクセスして得られるログ情報であり、
     前記分析トランザクションデータに含まれる前記脅威インテリジェンス情報は、前記分析結果の根拠となり、かつ、前記ログ情報に紐づく脅威インテリジェンス情報である、
     請求項1に記載の制御方法。
  5.  前記依頼トランザクションデータは、さらに、
     前記分析の依頼に対する分析手数料を示す情報が含まれる、
     請求項1~4のいずれか1項に記載の制御方法。
  6.  さらに、
     前記依頼トランザクションデータを取得した後、かつ、前記分析トランザクションデータを取得する前に、前記分析依頼IDと分析依頼の取り消しを示す情報とを含む取消トランザクションデータを取得し、前記取消トランザクションデータを前記分散台帳に記録した場合、
     前記分析依頼IDにより特定される分析依頼がキャンセルされる、
     請求項1~4のいずれか1項に記載の制御方法。
  7.  前記分析トランザクションデータに含まれる前記脅威インテリジェンス情報には、認証されたセキュリティ企業によるデジタル署名が施されている、
     請求項1~4のいずれか1項に記載の制御方法。
  8.  前記正当性の検証結果は、
     前記分析トランザクションデータに含まれる前記脅威インテリジェンス情報内に存在するマルウェアのシグネチャ情報と、前記分析トランザクションデータに含まれる前記ログ情報に含まれるトレース中のバイト列とのマッチングが行われることで得られた結果である、
     請求項1~4のいずれか1項に記載の制御方法。
  9.  前記正当性の検証結果は、
     仕様書情報に含まれる通信の発生条件と前記分析トランザクションデータに含まれるログ情報に含まれる実際に発生した通信内容とのマッチングが行われることで得られた結果である、
     請求項1~4のいずれか1項に記載の制御方法。
  10.  前記依頼トランザクションデータは、さらに、前記分析の種類を指定するタグを1以上含んでおり、
     前記分析トランザクションデータは、さらに、前記分析結果を得るために行われた前記分析の種類を示すタグを1以上含んでいる、
     請求項1~4のいずれか1項に記載の制御方法。
  11.  前記アクセス方法に含まれる情報のうち、前記分析を依頼するユーザを特定可能な情報は、匿名化されている、
     請求項1~4のいずれか1項に記載の制御方法。
  12.  前記依頼トランザクションデータに含まれるアクセス方法には、前記分析を依頼するユーザが利用しているSIEM(Security Information and Event Management)へのリモートアクセス権が含まれている、
     請求項1~4のいずれか1項に記載の制御方法。
  13.  前記依頼トランザクションデータに含まれるアクセス方法には、前記分析に利用可能な関連情報のうち前記分析に必要なログ情報を取得するための操作を示す情報が含まれている、
     請求項1~4のいずれか1項に記載の制御方法。
  14.  取得した前記検証結果に、前記分析トランザクションデータが検証対象から除外されたことが示されている場合、前記分析トランザクションデータは前記分散台帳に記録されない、
     請求項1~4のいずれか1項に記載の制御方法。
  15.  検証対象の前記分析トランザクションデータに含まれる分析結果と、前記検証対象より過去に発生した前記分析トランザクションデータに含まれる分析結果との類似度が算出され、算出された前記類似度が所定の閾値を超過する場合、前記検証対象の前記分析トランザクションデータに含まれる前記分析結果に対する正当性は検証されず、前記検証結果には、前記検証対象の前記分析トランザクションデータが前記検証対象から除外されたことが示される、
     請求項14に記載の制御方法。
  16.  それぞれ分散台帳を有する複数のサーバを備えるセキュリティ分析システムにおける一のサーバであって、
     プロセッサとメモリとを備え、
     前記プロセッサは、前記メモリを用いて、分析の依頼を一意に示す分析依頼IDと前記分析に利用可能な関連情報へのアクセス方法とを含む依頼トランザクションデータを取得し、
     前記プロセッサは、取得した前記依頼トランザクションデータをブロックに含めて前記分散台帳に記録する記録部と、
     前記プロセッサは、記録された前記依頼トランザクションデータに含まれる前記分析依頼IDに対応する分析結果と、前記関連情報のうち前記分析結果に関連するログ情報と、前記分析結果の根拠となる脅威インテリジェンス情報とを含む分析トランザクションデータを、取得して前記分析トランザクションデータを含むブロックを生成し、
     前記プロセッサは、前記分析トランザクションデータに含まれる前記分析結果に対する正当性の検証結果を取得し、
     前記プロセッサは、取得した前記検証結果により前記分析トランザクションデータに含まれる前記分析結果の正当性が検証されたことが示される場合、前記分析トランザクションデータを含むブロックを前記分散台帳に記録する、
     サーバ。
  17.  それぞれ分散台帳を有する複数のサーバを備えるセキュリティ分析システムにおける制御方法を実行させるためのプログラムであって、
     分析の依頼を一意に示す分析依頼IDと前記分析に利用可能な関連情報へのアクセス方法とを含む依頼トランザクションデータを取得し、
     取得した前記依頼トランザクションデータをブロックに含めて前記分散台帳に記録し、
     記録された前記依頼トランザクションデータに含まれる前記分析依頼IDに対応する分析結果と、前記関連情報のうち前記分析結果に関連するログ情報と、前記分析結果の根拠となる脅威インテリジェンス情報とを含む分析トランザクションデータを、取得し、
     前記分析トランザクションデータに含まれる前記分析結果に対する正当性の検証結果を取得して前記分析トランザクションデータを含むブロックを生成し、
     取得した前記検証結果により前記分析トランザクションデータに含まれる前記分析結果の正当性が検証されたことが示される場合、前記分析トランザクションデータを含むブロックを前記分散台帳に記録する、ことを、
     コンピュータに実行させるためのプログラム。
  18.  分析を依頼するユーザ端末と、
     前記分析の依頼を実行する分析者端末と、
     それぞれ分散台帳を有する複数のサーバとを備え、
     前記複数のサーバのうちの一のサーバは、プロセッサとメモリとを有し、
     前記プロセッサは、前記メモリを用いて、前記分析の依頼を一意に示す分析依頼IDと前記分析に利用可能な関連情報へのアクセス方法とを含む依頼トランザクションデータを、前記ユーザ端末から取得し、
     前記プロセッサは、取得した前記依頼トランザクションデータをブロックに含めて前記分散台帳に記録する記録部と、
     前記プロセッサは、記録された前記依頼トランザクションデータに含まれる前記分析依頼IDに対応する分析結果と、前記関連情報のうち前記分析結果に関連するログ情報と、前記分析結果の根拠となる脅威インテリジェンス情報とを含む分析トランザクションデータを、前記分析者端末から取得し、
     前記プロセッサは、前記分析トランザクションデータに含まれる前記分析結果に対する正当性の検証結果を取得して前記分析トランザクションデータを含むブロックを生成し、
     前記プロセッサは、取得した前記検証結果により前記分析トランザクションデータに含まれる前記分析結果の正当性が検証されたことが示される場合、前記分析トランザクションデータを含むブロックを前記分散台帳に記録する、
     セキュリティ分析システム。
PCT/JP2022/038219 2021-10-13 2022-10-13 制御方法、サーバ、プログラム、及び、セキュリティ分析システム WO2023063392A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202280067291.9A CN118076952A (zh) 2021-10-13 2022-10-13 控制方法、服务器、程序以及安全分析系统

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US202163255103P 2021-10-13 2021-10-13
US63/255,103 2021-10-13

Publications (1)

Publication Number Publication Date
WO2023063392A1 true WO2023063392A1 (ja) 2023-04-20

Family

ID=85988725

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/038219 WO2023063392A1 (ja) 2021-10-13 2022-10-13 制御方法、サーバ、プログラム、及び、セキュリティ分析システム

Country Status (2)

Country Link
CN (1) CN118076952A (ja)
WO (1) WO2023063392A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018186391A1 (ja) * 2017-04-03 2018-10-11 株式会社野村総合研究所 検査システム、検査方法、およびコンピュータプログラム
JP2019101672A (ja) * 2017-11-30 2019-06-24 富士通株式会社 サイバー攻撃情報処理プログラム、サイバー攻撃情報処理方法および情報処理装置
US20190327079A1 (en) * 2018-04-18 2019-10-24 International Business Machines Corporation Biometric threat intelligence processing for blockchains

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018186391A1 (ja) * 2017-04-03 2018-10-11 株式会社野村総合研究所 検査システム、検査方法、およびコンピュータプログラム
JP2019101672A (ja) * 2017-11-30 2019-06-24 富士通株式会社 サイバー攻撃情報処理プログラム、サイバー攻撃情報処理方法および情報処理装置
US20190327079A1 (en) * 2018-04-18 2019-10-24 International Business Machines Corporation Biometric threat intelligence processing for blockchains

Also Published As

Publication number Publication date
CN118076952A (zh) 2024-05-24

Similar Documents

Publication Publication Date Title
KR102288045B1 (ko) 블록 체인 기반 대상 데이터 관리 방법 및 장치
Rouhani et al. Security, performance, and applications of smart contracts: A systematic survey
US7673793B2 (en) Fraud analyst smart cookie
CN101375546B (zh) 用于欺骗监控、检测和分层用户鉴权的系统和方法
US11621973B2 (en) Blockchain cybersecurity audit platform
Melo et al. Using blockchains to implement distributed measuring systems
CN109543447B (zh) 基于区块链的信息处理方法、服务器及计算机存储介质
CN107480964B (zh) 数字资产的定向转让方法、中央服务器及存储介质
US10482441B1 (en) Systematic crowdsourcing of geolocation data
CN101098261A (zh) 用于监控跨越企业边界的事务的方法和系统
CN1964359A (zh) 用于远程验证系统完整性的方法和系统
Menges et al. DEALER: decentralized incentives for threat intelligence reporting and exchange
JP2003256063A (ja) プログラム管理方法
Miličević et al. Trust model concept for IoT blockchain applications as part of the digital transformation of metrology
Popchev et al. Oracles Integration in Blockchain-Based Platform for Smart Crop Production Data Exchange
CN112330355B (zh) 消费券交易数据处理方法、装置、设备及存储介质
CN104704521A (zh) 多因素简档和安全指纹分析
WO2023063392A1 (ja) 制御方法、サーバ、プログラム、及び、セキュリティ分析システム
JP2021197089A (ja) 出力装置、出力方法及び出力プログラム
Barati et al. Design and verification of privacy patterns for business process models
WO2023015312A1 (en) Methods for securely adding data to a blockchain using dynamic time quanta and version authentication
CN110209883B (zh) 一种用户历史数据有效性判断的方法及装置
AU2021236587A1 (en) TranspairPLUS: devices, architectures and methods to improve regulation of economic assets including international monitoring using emerging digital processing technologies including block chain over diverse and expandable types and formats with offline AI, visualization systems, options related to direct tax collection or registration of obligations of payment and matching cash payments to legitimate sources.
JP2021190982A (ja) 制御方法、プログラム及び不正データ検知システム
KR20200139966A (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: 22881087

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2023554619

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE