WO2023132048A1 - 生成方法、生成プログラム及び情報処理装置 - Google Patents

生成方法、生成プログラム及び情報処理装置 Download PDF

Info

Publication number
WO2023132048A1
WO2023132048A1 PCT/JP2022/000325 JP2022000325W WO2023132048A1 WO 2023132048 A1 WO2023132048 A1 WO 2023132048A1 JP 2022000325 W JP2022000325 W JP 2022000325W WO 2023132048 A1 WO2023132048 A1 WO 2023132048A1
Authority
WO
WIPO (PCT)
Prior art keywords
condition
attack
information
nodes
tree
Prior art date
Application number
PCT/JP2022/000325
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 PCT/JP2022/000325 priority Critical patent/WO2023132048A1/ja
Publication of WO2023132048A1 publication Critical patent/WO2023132048A1/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/55Detecting local intrusion or implementing counter-measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Definitions

  • the present invention relates to a generation method, a generation program, and an information processing device.
  • AI artificial intelligence
  • Adversarial Example there is an attack called Adversarial Example. It adds a carefully calculated noise to the original image so that humans perceive it as an object similar to the original image, but machine learning systems perceive it as something else. It is an attack that creates an image and intentionally causes the AI to make an erroneous inference. For example, noise can be added to an image of a panda to produce an image that looks like a panda to humans but is determined to be a gibbon when classified using a machine learning system. In addition, there are various techniques for attacking machine learning systems.
  • attack tree analysis is performed in the following procedure. Construct a tree branching downward from the highest top node, which is the possible damage to the system to be attacked. By setting branches and leaves for each node considering the conditions under which the node is established, branching downwards is set and an attack tree is generated. Once the branches and leaves are determined, the conditions under which the attack tree is not established can be identified, so the system can be modified so that the attack tree is not established. This makes it possible to create a system that is resistant to attacks that inflict the assumed damage.
  • a typical attack tree the structure is not decided at first, and information on each node and branch is set after the specifications are decided.
  • the types of attacks and damage to machine learning systems are limited. Therefore, when performing attack tree analysis on a machine learning system, it is possible to generate an attack tree in which information on each node and branch is registered before the specifications of the machine learning system are determined. Therefore, in the machine learning system, by generating an attack tree in advance and checking against the conditions and specifications registered in each node, it is possible to determine whether or not each attack is successful.
  • the combination of attack activities to be dealt with is extracted from the attack path information representing the attack procedure, and the usefulness of countermeasure candidates for each attack activity and the importance of the combination of attack activities are calculated.
  • the attack tree for machine learning systems represents a small hierarchy composed of branches and leaves, such as an attack tree for a certain attack exists inside an attack tree for another attack when the attack tree is constructed for each attack. Subtrees overlap, often resulting in a nested structure. Also, there are many cases where nodes with the same content exist in a plurality of subtrees. Furthermore, it may be difficult as a specification to make certain nodes not satisfy the conditions. For example, if there is a node whose content is to output a result to the user, it would be meaningless for the system to make this node unsatisfactory, so it would be difficult to make this node unsatisfied.
  • attack trees for machine learning systems have the above-mentioned complex features, it is difficult for general attack tree analysis techniques to prioritize which conditions should be unfulfilled. be. Therefore, it is difficult to determine appropriate specification changes as countermeasures against attacks, and it is difficult to improve the security of machine learning systems.
  • the disclosed technology has been made in view of the above, and aims to provide a generation method, a generation program, and an information processing device that improve the security of a machine learning system.
  • the first node associated with the information indicating the attack to be established is hierarchically connected to the first node, and the conditions for establishing the attack correspond.
  • tree structure information representing the structure of an attack tree including a plurality of attached second nodes;
  • Provided information indicating the priority of adoption of the failure condition candidate is generated for each failure condition candidate that is a combination that makes the attack unsuccessful.
  • the present invention can improve the security of machine learning systems.
  • FIG. 1 is a block diagram of an information processing device.
  • FIG. 2 is a diagram showing an example of an attack tree.
  • FIG. 3 is a diagram showing an example of tree structure information.
  • FIG. 4 is a diagram showing an example of condition matching status information.
  • FIG. 5 is a diagram showing an example of difficulty level information.
  • FIG. 6 is a diagram showing an example of a specification change candidate list with priority.
  • FIG. 7 is a diagram showing a specific example of an attack tree.
  • FIG. 8 is a diagram showing an example of input information.
  • FIG. 9 is a diagram showing the development of a logical expression that negates the top attack achievement condition for the Adversarial Example condition.
  • FIG. 10 is a diagram for explaining decomposition of a logical expression.
  • FIG. 10 is a diagram for explaining decomposition of a logical expression.
  • FIG. 11 is a diagram for explaining omission of redundant expressions in logical expressions.
  • FIG. 12 is a diagram for explaining extraction of non-satisfied condition candidates for the Poisoning condition.
  • FIG. 13 is a diagram for explaining integration of unsatisfied condition candidates.
  • FIG. 14 is a diagram for explaining how unsatisfied condition candidates are developed after integration.
  • FIG. 15 is a diagram showing final unsatisfied condition candidates.
  • FIG. 16 is a diagram in which condition matching status information is added to the attack tree.
  • FIG. 17 is a diagram showing calculated post-update scores.
  • FIG. 18 is a diagram for explaining calculation of a priority determination score for each non-satisfaction condition candidate.
  • FIG. 19 is a diagram showing a specific example of the specification change candidate list with priority.
  • FIG. 20 is a flowchart of processing for generating a specification change candidate list with priority by the information processing apparatus according to the embodiment.
  • FIG. 21 is a hardware configuration diagram of an information
  • FIG. 1 is a block diagram of an information processing device.
  • the information processing apparatus 1 according to this embodiment has a logical analysis unit 11 , an extraction unit 12 , a ranking unit 13 , an output unit 14 and a storage unit 15 .
  • the storage unit 15 stores tree structure information 101 , a group of satisfied trees 102 and a group of unsatisfied condition candidates 103 .
  • the storage unit 15 can be used by each unit of the logical analysis unit 11 , the extraction unit 12 and the ranking unit 13 .
  • the tree structure information 101 is information representing the tree structure of an attack tree (attack tree) for a machine learning system whose specifications are to be changed to prevent attacks.
  • FIG. 2 is a diagram showing an example of an attack tree.
  • the attack tree shown in FIG. 2 is an attack tree when the machine learning system is attacked by attack scenario A1.
  • attack tree may be referred to as a "tree".
  • the attack tree in FIG. 2 has a plurality of conditions #2B, #3, #4B, #6B, and #7A for achieving an attack according to the attack scenario A1 shown in the first node at the highest level.
  • the attack tree has nodes whose content is the achievement of other attack scenarios included in the attack tree.
  • a second node that describes the conditions for achieving the attack described in the first node at the top of the attack tree and a node that contains the achievement of other attack scenarios included in the attack tree are referred to as "leaf nodes”. ”.
  • a logical symbol representing the relationship between conditions is called a "branch”.
  • the second node which is a leaf, is hierarchically connected to the first node by branches.
  • a "subtree” is a collection of branches and leaves extending downward from a node containing achievement of a specific attack scenario included in the attack tree. That is, a subtree can also be considered as an attack tree for a specific attack described at the top of the subtree.
  • the tree structure information 101 is a logical expression that connects the conditions described in each leaf using logical conditions indicated by branches.
  • the tree structure information 101 representing the attack tree in FIG. 2 is represented by the logical formula shown in FIG. 3 when each condition is represented by a code.
  • FIG. 3 is a diagram showing an example of tree structure information. Since the attack tree for the machine learning system can be created in advance, the tree structure information 101 is created in advance, input to the information processing apparatus 1 and stored in the storage unit 15 . Since the number of attack trees may be one or more, one or more pieces of tree structure information 101 are created according to the number of attack trees and stored in the storage unit 15 .
  • the established tree group 102 is a collection of the tree structure information 101 of the attack trees in which the highest attack among the attack trees is established.
  • the establishment tree group 102 is generated by the logic analysis unit 11 and stored in the storage unit 15 .
  • the unsatisfied condition candidate group 103 is a set of unsatisfied condition candidates, which are candidates for a combination of conditions to be unsatisfied in order not to achieve the attack at the top of the attack tree.
  • the unsatisfied condition candidate group 103 is generated by the extraction unit 12 and stored in the storage unit 15 .
  • the logic analysis unit 11 acquires the tree structure information 101 of each attack tree from the storage unit 15. Furthermore, the logic analysis unit 11 acquires the condition matching status information 22 input from the input terminal 2 .
  • FIG. 4 is a diagram showing an example of condition matching status information.
  • the condition matching status information 22 for the attack tree in FIG. 2 as shown in FIG. Information indicating whether or not it is set is stored.
  • the condition matching status information 22 in FIG. 4 indicates that conditions #2B, #4B and #6B are satisfied and conditions #3 and #7A are not satisfied.
  • the logic analysis unit 11 determines whether or not the attack indicated by the first node at the highest level in each attack tree is achieved and the attack tree is established. Determines the state of formation of the attack tree shown. For example, when receiving the input of the condition matching status information 22 shown in FIG. 4 for the attack tree of FIG. , the attack tree shown in FIG. 2 is established. Then, the logic analysis unit 11 extracts the tree structure information 101 in which the attack tree is established, and collectively stores the tree structure information 101 as a establishment tree group 102 in the storage unit 15 . After that, the logic analysis unit 11 notifies the extraction unit 12 of completion of generation of the establishment tree group 102 .
  • the extraction unit 12 receives notification from the logic analysis unit 11 that generation of the establishment tree group 102 has been completed. Then, the extraction unit 12 acquires each piece of tree structure information 101 included in the established tree group 102 from the storage unit 15 . Next, the extraction unit 12 generates, from the obtained tree structure information 101, a logical expression representing a condition for making the attack tree represented by the tree structure information 101 fail. Next, the extraction unit 12 decomposes the logical formula into individual logical formulas containing only ANDs, and generates failure condition candidates, which are candidates for minimum unit conditions that cause the attack tree to fail. A failure condition candidate is a condition under which the original attack tree is not established when any one of them is satisfied.
  • the extracting unit 12 integrates the unsatisfactory condition candidates of each attack tree to generate unsatisfactory condition candidates that make all attack trees unsatisfactory. After that, the extraction unit 12 causes the storage unit 15 to store the unsatisfied condition candidate group 103 including the generated unsatisfied condition candidate. Furthermore, the extraction unit 12 notifies the ranking unit 13 of the completion of extraction of the group 103 of candidates for the unsatisfied condition.
  • the extraction unit 12 when using the tree structure information 101 shown in FIG. 3, the extraction unit 12 generates a logical formula that negates the entire logical formula of the tree structure information 101 shown in FIG. Then, from the generated logical expression, the extraction unit 12 uses (( ⁇ #6B)&(( ⁇ #2B)
  • " ⁇ " represents negation (NOT) of the condition.
  • the extraction unit 12 decomposes this logical formula into logical formulas of minimum units connected by AND, and obtains 3 of ⁇ #6B and ⁇ #2B, ⁇ #6B and ⁇ #3, ⁇ #4B and ⁇ 7A. generate one.
  • the extraction unit 12 takes these three logical expressions as candidates for the unsatisfied condition. That is, if any one of these three failure condition candidates is satisfied, the attack tree shown in FIG. 2 is not established.
  • the ranking unit 13 receives from the extraction unit 12 notification of the completion of the extraction of the unsatisfied condition candidate group 103 . Next, the ranking unit 13 acquires the difficulty level information 21 input from the input terminal 2 .
  • FIG. 5 is a diagram showing an example of difficulty level information.
  • the degree-of-difficulty information 21 is information representing for each condition how difficult it is to unsatisfy the conditions written on each leaf.
  • the degree of difficulty is expressed in 10 stages, and the higher the number, the more difficult it is.
  • condition #2B is relatively easy to be unsatisfied.
  • the difficulty value for each condition is called a difficulty parameter.
  • the ranking unit 13 acquires the established tree group 102 from the storage unit 15 . Furthermore, the ranking unit 13 acquires the condition matching status information 22 input from the input terminal 2 .
  • the ranking unit 13 expands all the attack trees included in the established tree group 102, and removes the subtrees that are not established, and extracts the leaves in which the same conditions are described and the conditions are satisfied. count the number of That is, the ranking unit 13 does not count leaves of attack trees and subtrees that are not established, and leaves that are established but do not satisfy the conditions.
  • the number of leaves in which the same condition is described and which satisfies the condition is referred to as "the same number of leaves”.
  • the ranking unit 13 stores, for each condition, the value obtained by dividing 1 by the number of identical leaves as the basic score of the conditions described in those leaves. For example, if there are three leaves in the established attack tree that describe the same condition and satisfy the condition, the ranking unit 13 sets the basic score of the condition to 1. /3. By doing so, the ranking unit 13 can lower the basic score of the condition as the condition overlaps.
  • AND AND
  • the ranking unit 13 sorts the unsatisfied condition candidates in ascending order of priority determination score and arranges them in order of priority. Then, the ranking unit 13 outputs the information of the failure condition candidates sorted in order of priority to the output unit 14 .
  • the output unit 14 acquires input from the ranking unit 13 of the information on the candidates for the unsatisfied condition arranged in order of priority. Then, the output unit 14 arranges the failure condition candidates by adding priority in the order in which they are arranged, and generates and outputs the specification change candidate list 100 with priority shown in FIG. 6 .
  • FIG. 6 is a diagram showing an example of a specification change candidate list with priority.
  • the output unit 14 causes the monitor or the like to display the specification change candidate list 100 with priority, and presents to the user which conditions should be unsatisfied in order of priority.
  • FIG. 7 is a diagram showing a specific example of an attack tree. Here, a case where two attack trees 201 and 202 exist will be described.
  • the attack tree 201 represents the conditions of attacks by Adversarial Example/Evasion.
  • the attack tree 201 has eight leaves describing conditions #2A, #2B, #3, #4B, #6B or #7A.
  • An attack tree 202 represents the conditions of attacks by Poisoning. Attack tree 202 has six leaves with conditions #1, #2B, #3, #4B, #6B and #7A.
  • Condition #1 is a condition that "attackers can execute learning processing”.
  • Condition #2A is a condition that "the attacker can execute the estimation process about once or more”.
  • Condition #2B is a condition that "the attacker can execute the estimation process about 1000 times”.
  • Condition #3 is a condition that "an attacker can obtain the output result”.
  • Condition #4B is a condition that "the attacker can obtain one or more data of the system”.
  • Condition #6B is a condition that "an attacker can obtain a trained model”.
  • Condition #7A is a condition that "an attacker can obtain one or more pieces of similar data”.
  • FIG. 8 is a diagram showing an example of input information.
  • the information processing apparatus 1 acquires the tree structure information 101, the difficulty level information 21, and the condition matching status information 22 shown in FIG.
  • the tree structure information 101 includes, as shown in FIG. 8, a logical expression of the adversarial example condition representing the structure of the attack tree 201 and a logical expression of the poisoning condition representing the structure of the attack tree 202.
  • the difficulty level information 21 also includes difficulty parameters for the conditions #1, #2A, #2B, #3, #4B, #6B and #7A described in the leaves of the attack trees 201 and 202.
  • the difficulty parameter for condition #1 is ten.
  • the difficulty parameter of condition #2A is five.
  • the difficulty parameter for condition #2B is five.
  • the difficulty parameter for Condition #3 is 10.
  • the difficulty parameter of condition #4B is four.
  • the difficulty parameter of condition #6B is three.
  • the difficulty parameter of condition #7A is eight.
  • condition matching status information 22 includes condition matching statuses of conditions #1, #2A, #2B, #3, #4B, #6B and #7A described in the leaves of the attack trees 201 and 202.
  • Condition #1 has been met.
  • condition #2A is satisfied.
  • condition #2B is satisfied.
  • condition #3 is satisfied.
  • condition #4B is satisfied.
  • condition #6B is not met.
  • condition #7A is satisfied.
  • the logic analysis unit 11 uses the tree structure information 101 and the condition matching status information 22 to determine that both the attack trees 201 and 202 are established, and the tree structure shown in FIG. Information 101 is stored as establishment tree group 102 .
  • the extraction unit 12 acquires the logical expression of the Adversarial Example condition among the two logical expressions registered in the true tree group 102 .
  • FIG. 9 is a diagram showing the development of a logical expression that negates the top attack establishment condition for the Adversarial Example condition.
  • the extraction unit 12 generates a logical expression 211 shown in FIG. 9 that negates the entire obtained logical expression.
  • the extraction unit 12 generates a logical expression 212 representing conditions for establishing the logical expression 211 .
  • the extraction unit 12 expands the logical expression 212 to generate a logical expression 213 .
  • Extraction unit 12 further develops logical expression 213 to generate logical expression 214 . This completes the expansion of the logical expression that negates the Adversarial Example condition.
  • FIG. 10 is a diagram for explaining decomposition of a logical expression.
  • the extraction unit 12 decomposes the logical expression 214 that has been expanded in FIG. 9 so as to be divided by OR, and forms logical expressions one by one as shown in a logical expression group 215 in FIG. 10 .
  • the extraction unit 12 combines the conditions into one.
  • the extraction unit 12 puts together the same logical formulas among the decomposed logical formulas into one logical formula group 216 . This completes the decomposition of the expanded logical formula.
  • FIG. 11 is a diagram for explaining omission of redundant expressions in logical expressions.
  • the condition is considered to be a redundant condition.
  • the conditions indicated by the four logical expressions included in this logical expression group 218 are unsatisfied condition candidates for the Adversarial Example condition. That is, by establishing any one of the four logical expressions included in this logical expression group 218, attacks by Adversarial Example/Evasion can be avoided.
  • FIG. 12 is a diagram for explaining extraction of non-satisfied condition candidates for the Poisoning condition.
  • the extraction unit 12 generates a logical expression 221 shown in FIG. 12 that negates the acquired logical expression as a whole.
  • the extraction unit 12 generates a logical expression 222 for establishing the logical expression 221 .
  • the extraction unit 12 expands the logical expression 222 to generate a logical expression 223 .
  • the extraction unit 12 generates a logical expression group 224 by decomposing the logical expression 223 and omitting any redundant expressions.
  • the conditions indicated by the four logical expressions included in this logical expression group 224 are candidates for the unsatisfied conditions for the poisoning condition. That is, by establishing any one of the four logical expressions included in the logical expression group 224, attacks by poisoning can be avoided.
  • the extraction unit 12 integrates the unsatisfied condition candidates for the Adversarial Example condition indicated by the logical expression group 218 and the unsatisfied condition candidates for the poisoning condition indicated by the logical expression group 224 .
  • FIG. 13 is a diagram for explaining integration of unsatisfied condition candidates.
  • the extraction unit 12 integrates the failure condition candidates by ANDing the logical expression group 218 and the logical expression group 224 as shown in the logical expression group 231 in FIG. 13 .
  • FIG. 14 is a diagram for explaining the expansion of unsatisfied condition candidates after integration.
  • the extraction unit 12 generates all combinations of the logical expressions of the logical expression group 218 and the logical expression group 224 in the logical expressions shown in FIG. , perform the expansion of the integrated failure condition candidates.
  • the extraction unit 12 generates the logical expression group 232 shown in FIG.
  • the extraction unit 12 puts together logical expressions indicating the same condition into one, as indicated by a logical expression 233 .
  • the extraction unit 12 omits redundant expressions.
  • FIG. 15 is a diagram showing the final unsatisfied condition candidates.
  • the extraction unit 12 calculates the logical expression group 234 shown in FIG. 15 .
  • the conditions indicated by the four logical expressions included in this logical expression group 234 are the failure condition candidates for the Adversarial Example condition and the Poisoning condition. That is, by establishing any one of the four logical expressions included in this logical expression group 234, it is possible to avoid both the attack by Adversarial Example and the attack by Poisoning.
  • the extraction unit 12 stores the four logical expressions included in the logical expression group 234 in the storage unit 15 as the unsatisfied condition candidate group 103 .
  • the ranking unit 13 combines the tree structures included in the established tree group 102 with the condition matching status information.
  • FIG. 16 is a diagram in which condition matching status information is added to the attack tree. In this case, both attack trees 201 and 202 are established. Therefore, by adding the condition matching status of each leaf and branch of the attack trees 201 and 202, the attack trees 201 and 202 are represented as shown in FIG. In FIG. 16, when there is a leaf above the branch, the condition matching status is added to the leaf.
  • the ranking unit 13 Since the subtree 240 of the attack tree 201 is not established, the ranking unit 13 removes it from the count of the same number of leaves. The ranking unit 13 then counts the number of identical leaves in the attack trees 201 and 202 . Here, the ranking unit 13 assigns 1 leaf for condition #1, 0 leaves for condition #2A, 2 leaves for condition #2B, 2 leaves for condition #3, and 2 leaves for condition #4B. is 2, condition #6B is 0, and condition #7A is 2. Next, the ranking unit 13 calculates a basic score for each condition from the counted number of identical leaves.
  • the ranking unit 13 determines that the basic score of condition #1 is 1, the basic score of condition #2A is 0, the basic score of condition #2B is 1/2, the basic score of condition #3 is 1/2, and the basic score of condition #3 is 1/2.
  • the base score for #4B is 1/2, the base score for condition #6B is 0, and the base score for condition #7A is 1/2.
  • FIG. 17 is a diagram showing calculated post-update scores.
  • the ranking unit 13 calculates the post-update score of each condition as indicated by the post-update score 241 .
  • Condition #1 has an updated score of 10.
  • the post-update score for condition #2A is zero.
  • the post-update score for condition #2B is 5/2.
  • the post-update score for condition #3 is 5.
  • the post-update score for condition #4B is 2.
  • the post-update score of condition #6B is zero.
  • the post-update score for condition #7A is 4.
  • FIG. 18 is a diagram for explaining the calculation of the priority determination score for each unsatisfied condition candidate.
  • the ranking unit 13 uses the post-update score of the condition calculated for each unsatisfied condition candidate included in the unsatisfied condition candidate group 103 represented by the logical expression group 234 in FIG. As indicated by the score 242 for priority determination, the score for priority determination of each candidate for the unsatisfied condition is calculated.
  • non-satisfied condition candidate ((NOT(#6B) AND (NOT(#2B))
  • the post-update score of NOT(#6B) is 0, and NOT(#2B) is 5/2
  • the ranking unit 13 calculates the negative value of each condition , the post-update score for each condition that has already been calculated is used.
  • the ranking unit 13 sorts the failure condition candidates shown in the logical expression group 234 of FIG. 15 in ascending order of the calculated priority determination score. The ranking unit 13 then outputs the sorted information on the unsatisfied condition candidates to the output unit 14 .
  • FIG. 19 is a diagram showing a specific example of a priority specification change list.
  • the output unit 14 generates a prioritized specification change candidate list 250 in which the candidates for unsatisfied conditions sorted according to the priority are arranged with ranks added thereto.
  • the output unit 14 expresses the priority as an order.
  • the output unit 14 generated a specification change candidate list 250 with priority by adding a message prompting a specification change to each unsatisfied condition candidate.
  • the output unit 14 provides the generated specification change candidate list 250 with priority to the user.
  • FIG. 20 is a flowchart of processing for generating a priority specification change candidate list by the information processing apparatus according to the embodiment. Next, with reference to FIG. 20, the flow of processing for generating a specification change candidate list with priority by the information processing apparatus 1 will be described.
  • the information processing device 1 acquires the tree structure information 101 in advance and stores it in the storage unit 15 .
  • the information processing device 1 also acquires the difficulty level information 21 and the condition matching status information 22 input from the input terminal 2 (step S1).
  • the logic analysis unit 11 identifies attack trees that are established using the tree structure information 101 and the condition matching status information 22, and generates a group of established trees 102 that includes the tree structure information 101 for each of the established attack trees. (Step S2).
  • the logic analysis unit 11 stores the establishment tree group 102 in the storage unit 15 .
  • the extraction unit 12 generates a failure condition candidate group 103 including each failure condition candidate for failure of an attack tree to be established using the tree structure information 101 included in the establishment tree group 102 (step S3). .
  • the extraction unit 12 stores the unsatisfied condition candidate group 103 in the storage unit 15 .
  • the ranking unit 13 acquires the tree structure information 101 included in the established tree group 102 .
  • the ranking unit 13 then counts the number of identical leaves in the tree structure information 101 and calculates a reference score for each condition (step S4).
  • the ranking unit 13 acquires the difficulty parameter of each condition registered in the difficulty level information 21, and uses the difficulty parameter and the reference score to calculate the post-update score for each condition (step S5 ).
  • the ranking unit 13 acquires the unsatisfied condition candidate group 103 and calculates a priority determination score for each unsatisfied condition candidate using the updated score of each condition (step S6). After that, the ranking unit 13 sorts the non-satisfaction condition candidates in ascending order of priority determination score, and prioritizes them from the top. Then, the ranking unit 13 outputs to the output unit 14 the information of the unsatisfied condition candidates sorted in ascending order of priority determination score.
  • the output unit 14 acquires input from the ranking unit 13 of the information of the failure condition candidates sorted in ascending order of priority determination score. Then, the output unit 14 adds priority to the order of sorting, arranges the failure condition candidates, and creates the specification change candidate list with priority shown in FIG. 6 . After that, the output unit 14 outputs the specification change candidate list with priority and provides it to the user (step S7).
  • the difficulty parameter is made different for each condition, but the difficulty parameter may be the same for each condition.
  • the ranking unit 13 can rank the failure condition candidates based on the basic score without using the post-update score.
  • the information processing apparatus 1 acquires the difficulty level information 21 in advance, stores it in the storage unit 15 as a calculation table, and stores the calculation table in the storage unit 15. may be used to calculate the post-update score.
  • the extraction unit 12 evaluates the post-update score for each tree or each subtree, and selects those with large scores. may be excluded before combining. Since unsatisfied condition candidates are extracted for each attack and finally combined and integrated by AND, the final unsatisfied condition candidates increase in quantity. Therefore, the extracting unit 12 excludes trees and subtrees that obviously have a large score and a low priority before the final integration. As a result, it is possible to prevent a large number of combinations of conditions that are candidates for unsatisfied conditions.
  • the ranking unit 13 may exclude unsatisfied condition candidates including conditions with a basic score of 0 in the specification change candidate list with priority to be finally output. Further, the ranking unit 13 may evaluate the priority determination scores of the failure condition candidates by excluding conditions with a base score of 0 as an excess of formulas. This is because excluding conditions with a base score of 0 may simplify the unsatisfied condition candidates.
  • the ranking unit 13 divides by the number of leaves when calculating the basic score in this embodiment. You may use the calculation method of Also, regarding the score after update, if the ranking unit 13 can calculate so that priority is given to the one with the least number of leaves and the one with the lowest number of leaves, the scores other than the multiplication of the difficulty parameter and the basic score can be calculated. A calculation method may be used. Further, the derivation of the unsatisfied condition candidate does not necessarily have to be transformed to minimize. In other words, the ranking unit 13 may calculate the priority determination score and create the specification change candidate list with redundant expressions.
  • the information processing apparatus uses tree structure information of an attack tree that assumes an attack on a machine learning system to extract candidates for unsatisfied conditions for preventing all attacks. Then, the information processing apparatus uses the condition-satisfaction status information and the difficulty information representing whether each leaf is satisfied or not established, and sets each failure condition candidate so that the higher the number of overlaps, the higher the probability, and the easier it is to dissatisfy the conditions. is calculated to determine the priority of the unsatisfied condition candidate and notify the user.
  • the more duplication the easier it is to prevent an attack by changing one specification, and the easier it is to make the specification unsuccessful, the easier it is to change the specification. It becomes possible. Therefore, the selection of countermeasures against attacks can be made more efficient, the attacks on the machine learning system can be easily prevented, and the security of the machine learning system can be improved.
  • FIG. 21 is a hardware configuration diagram of an information processing apparatus.
  • the information processing apparatus 1 described in the above embodiments can be realized with a hardware configuration as shown in FIG.
  • the information processing device 1 has a CPU (Central Processing Unit) 91 , a memory 92 , a hard disk 93 and a network interface 94 .
  • CPU 91 is connected to memory 92, hard disk 93 and network interface 94 via a bus.
  • the network interface 94 is an interface for communication between the information processing device 1 and an external device.
  • the network interface 94 relays communication between the CPU 91 and the input terminal 2, for example.
  • the hard disk 93 is an auxiliary storage device.
  • the hard disk 93 realizes the function of the storage section 15 illustrated in FIG.
  • the hard disk 93 also stores various programs including programs for implementing the functions of the logic analysis unit 11, the extraction unit 12, the ranking unit 13, and the output unit 14 illustrated in FIG.
  • the memory 92 is a main storage device.
  • the memory 92 is, for example, a DRAM (Dynamic Random Access Memory).
  • the CPU 91 reads various programs stored in the hard disk 93, develops them in the memory 92, and executes them. Thereby, the CPU 91 realizes the functions of the logical analysis unit 11, the extraction unit 12, the ranking unit 13, and the output unit 14 illustrated in FIG.

Landscapes

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

Abstract

機械学習システムの安全性を向上させる生成方法、生成プログラム及び情報処理装置を提供する。成立する攻撃を示す情報が対応付けられた第1ノード及び攻撃を成立させる条件が対応付けられた複数の第2ノードを含む攻撃ツリーの構造を表す木構造情報と、複数の第2ノードそれぞれに対応付けられた条件を満たさなくする対応の困難さを示す困難度情報と、複数の第2ノードが満たされているか否かを示す条件合致状況情報を受け付け、木構造情報、困難度情報及び条件合致状況情報を基に、複数の第2ノードそれぞれに対応付けられた条件の組合せのうち、攻撃が不成立となる組み合わせである不成立条件候補毎に、不成立条件候補の採用の優先度を示す提供情報を生成する。

Description

生成方法、生成プログラム及び情報処理装置
 本発明は、生成方法、生成プログラム及び情報処理装置に関する。
 人工知能(AI:Artificial Intelligence)により、与えられたデータに基づき所定の情報の推定や様々な対象物を認識する技術が知られている。特に機械学習により実現されるAIに対しては、高い関心が寄せられている。以下では、機械学習により生成された学習モデルを用いて推定や認識を行なうシステムを、機械学習システムと呼ぶ。このような機械学習システムで実現されるAIに対して、様々な攻撃が加えられる危険がある。
 例えば、Adversarial Exampleと呼ばれる攻撃がある。これは、元の画像に対して、巧みに計算されたノイズを加えることで、人間には元の画像と同様の対象物と認識されるが、機械学習システムには他の物として認識される画像を作成して、意図的にAIに誤った推定を行わせる攻撃である。例えば、パンダの画像に対してノイズを加え、人にはパンダに見えるが、機械学習システムを用いて分類するとテナガザルと判定される画像を生成することが可能である。その他にも機械学習システムに対する攻撃には様々な手法が存在する。
 このように、機械学習システムは様々な攻撃による多くの危険にさらされている。そこで、機械学習システムの開発時に、どの様な攻撃がその機械学習システムに対して適用可能であるかをセキュリティ分析して、対応を検討することが重要である。
 機械学習システムにおいて攻撃に対する対応としては、大きく分けて、仕様を変更する方法と攻撃専用の対策を機械学習システムに対して適用する方法との2つの方法が考えられる。仕様を変更する方法は、機械学習システムへの攻撃が仕様と密接に関係していることから、攻撃ができなくなるように機械学習システムの仕様を変更する方法である。また、攻撃専用の対策を機械学習システムに対して適用する方法としては、攻撃が成功し難い学習モデルに訓練し直したり、攻撃の検知手法を実装して被害を緩和したりする方法などがある。ここでは、このうちの機械学習システムの仕様変更による敵対的攻撃対策について考える。
 ここで、一般的なIT(Internet Technology)セキュリティにおけるセキュリティ分析手法として、アタックツリー(攻撃ツリー)分析と呼ばれる手法が存在する。アタックツリー分析は、以下のような手順で行われる。攻撃対象となるシステムに対する考えられる被害を最上位のトップノードとしてそこから下に向けて分岐していく木を構成する。各ノードについて、そのノードが成立する条件を考えて枝や葉を設定することで、下への分岐を設定してアタックツリーを生成する。枝や葉が定まれば、そのアタックツリーが成立しなくなる条件が特定されるため、アタックツリーが成立しなくなるようにシステムを仕様変更することができる。これにより、想定した被害を与える攻撃への耐性を有するシステムが生成できる。
 一般的なアタックツリーでは、始めは構造が決定されていない状態であり、仕様が定まってから各ノードや分岐の情報が設定される。これに対して、機械学習システムへの攻撃や被害は種類が限られている。そのため、機械学習システムに対してアタックツリー分析を行なう場合、機械学習システムの仕様が決定される前に各ノードや分岐の情報が登録されたアタックツリーを生成することが可能である。そのため、機械学習システムでは、予めアタックツリーを生成しておき、各ノードに登録された条件と仕様とを照らし合わせてチェックすることで、各攻撃が成立するか否かを判定できる。
 なお、システムの安全性に関する技術として、攻撃の手順を表す攻撃経路の情報から、対処する攻撃活動の組合せを抽出し、攻撃活動毎の対策候補の有用度と攻撃活動の組合せの重要度とを基に評価値を計算して攻撃活動の組合せ毎に対策を決定する技術がある。また、機械学習システムに関する所定情報から訓練済みモデルへのアクセス可能性を示す情報を生成し、生成した情報とクエリや訓練済みモデルの操作可能性を示す情報とに基づいて攻撃の可能性を求める技術がある。また、アタックツリーを生成し、攻撃が成功する確率を各ノードに割り当て、最終的な攻撃の確率を算出して提供する技術がある。また、アタックツリーを生成し、攻撃による影響に基づいて攻撃のスコアを算出し、スコアにしたがって攻撃に対してランキングを付ける技術がある。
国際公開第2018/134909号 特開2021-60872号公報 米国特許出願公開第2009/0113549号明細書 米国特許第10749890号明細書
 しかしながら、機械学習システムに対するアタックツリーでは、アタックツリーを攻撃毎に構成した際に、ある攻撃についてのアタックツリーの内部に別の攻撃のアタックツリーが存在するなど、枝葉で構成される小さな階層を表す部分木の重複が存在し、入れ子構造となる場合が多い。また、同一の内容のノードが複数の部分木に存在する場合も多い。さらに、特定のノードについて条件を満たさなくすることが仕様として困難な場合もある。例えば、使用者に結果を出力するといった内容のノードがある場合、このノードを不成立にすることはシステムとして意味がなくなるため、このノードの条件を満たさなくすることは困難である。機械学習システムに対するアタックツリーにおいては以上のような複雑な特徴が存在するため、一般的なアタックツリー分析技術では、どの条件を満たさなくするのが適切か優先順位を付けて提示することは困難である。そのため、攻撃への対策としての適切な仕様変更を決定することは難しく、機械学習システムの安全性を向上させることは困難である。
 また、上述した技術を用いた場合、攻撃に対する評価を得ることなどは可能であるが、攻撃への対策のためのアタックツリーを不成立にする条件を優先順位付けして提示することは困難である。そのため、攻撃への対策としての適切な仕様変更を決定することは難しく、機械学習システムの安全性を向上させることは困難である。
 開示の技術は、上記に鑑みてなされたものであって、機械学習システムの安全性を向上させる生成方法、生成プログラム及び情報処理装置を提供することを目的とする。
 本願の開示する生成方法、生成プログラム及び情報処理装置の一つの態様において、成立する攻撃を示す情報が対応付けられた第1ノード及び第1ノードに階層的に繋がり且つ攻撃を成立させる条件が対応付けられた複数の第2ノードを含む攻撃ツリーの構造を表す木構造情報と、複数の第2ノードそれぞれに対応付けられた条件を満たさなくする対応の困難さを示す困難度情報と、複数の第2ノードが満たされているか否かを示す条件合致状況情報を受け付け、木構造情報、困難度情報及び条件合致状況情報を基に、複数の第2ノードそれぞれに対応付けられた条件の組合せのうち、攻撃が不成立となる組み合わせである不成立条件候補毎に、不成立条件候補の採用の優先度を示す提供情報を生成する。
 1つの側面では、本発明は、機械学習システムの安全性を向上させることができる。
図1は、情報処理装置のブロック図である。 図2は、アタックツリーの一例を示す図である。 図3は、木構造情報の一例を示す図である。 図4は、条件合致状況情報の一例を示す図である。 図5は、困難度情報の一例を示す図である。 図6は、優先度付き仕様変更候補リストの一例を示す図である。 図7は、アタックツリーの具体例を示す図である。 図8は、入力情報の一例を示す図である。 図9は、Adversarial Example条件について最上位攻撃達成条件を否定する論理式の展開を示す図である。 図10は、論理式の分解を説明するための図である。 図11は、論理式の冗長表現の省略を説明するための図である。 図12は、Poisoning条件についての不成立条件候補の抽出を説明するための図である。 図13は、不成立条件候補の統合を説明するための図である。 図14は、統合後の不成立条件候補の展開を説明するための図である。 図15は、最終的な不成立条件候補を示す図である。 図16は、アタックツリーに条件合致状況情報を付加した図である。 図17は、算出される更新後スコアを示す図である。 図18は、各不成立条件候補の優先度判定用スコアの算出を説明するための図である。 図19は、優先度付き仕様変更候補リストの具体例を示す図である。 図20は、実施例に係る情報処理装置による優先度付き仕様変更候補リストの生成処理のフローチャートである。 図21は、情報処理装置のハードウェア構成図である。
 以下に、本願の開示する生成方法、生成プログラム及び情報処理装置の実施例を図面に基づいて詳細に説明する。なお、以下の実施例により本願の開示する生成方法、生成プログラム及び情報処理装置が限定されるものではない。
 図1は、情報処理装置のブロック図である。本実施例に係る情報処理装置1は、論理分析部11、抽出部12、順位付部13、出力部14及び記憶部15を有する。
 記憶部15は、木構造情報101、成立ツリー群102及び不成立条件候補群103を記憶する。記憶部15は、論理分析部11、抽出部12及び順位付部13の各部から利用可能である。
 木構造情報101は、攻撃を防ぐために仕様を変更する対象となる機械学習システムに対するアタックツリー(攻撃ツリー)の木構造を表す情報である。図2は、アタックツリーの一例を示す図である。図2に示すアタックツリーは、機械学習システムが攻撃シナリオA1で攻撃される場合のアタックツリーである。
 以下では、1つのアタックツリーを「木」と呼ぶ場合がある。また、図2のアタックツリーは、最上位の第1ノードに示された攻撃シナリオA1による攻撃を達成するための各条件#2B,#3,#4B,#6B及び#7Aが記された複数の第2ノードを有する。また、アタックツリーは、そのアタックツリーに含まれる他の攻撃シナリオの達成を内容とするノードを有する。以下では、アタックツリーにおける最上位の第1ノードに記載された攻撃を達成するための条件が記された第2ノード及びアタックツリーに含まれる他の攻撃シナリオの達成を内容とするノードを「葉」と呼ぶ。また、各条件間の関係性を表す論理記号を「枝分岐」と呼ぶ。葉である第2ノードは枝分岐により階層的に第1ノードに接続される。また、アタックツリーに含まれる特定の攻撃シナリオの達成を内容とするノードから下に延びる枝分岐及び葉をまとめたものを「部分木」と呼ぶ。すなわち、部分木は、その部分木の最上位に記載された特定の攻撃に対するアタックツリーと考えることもできる。
 木構造情報101は、各葉に記述された条件を枝分岐で示される論理条件を用いて結び付けた論理式である。例えば、図2のアタックツリーを表す木構造情報101は、各条件を符号で表すと、図3に示す論理式で表される。図3は、木構造情報の一例を示す図である。機械学習システムに対するアタックツリーは予め作成できるので、木構造情報101は予め作成されて、情報処理装置1に入力されて記憶部15に記憶される。アタックツリーは1つでも良いし複数でもよいので、木構造情報101は、アタックツリーの数に合わせて1つ以上作成され記憶部15に記憶される。
 また、成立ツリー群102は、アタックツリーのうち最上位の攻撃が成立するアタックツリーの木構造情報101をまとめた集合である。成立ツリー群102は、論理分析部11により生成されて記憶部15に格納される。
 不成立条件候補群103は、アタックツリーの最上位の攻撃を達成させないために満たさなくする条件の組合せの候補である不成立条件候補をまとめた集合である。不成立条件候補群103は、抽出部12により生成されて記憶部15に格納される。
 論理分析部11は、各アタックツリーの木構造情報101を記憶部15から取得する。さらに、論理分析部11は、入力端末2により入力された条件合致状況情報22を取得する。
 図4は、条件合致状況情報の一例を示す図である。例えば、図2におけるアタックツリーに対する条件合致状況情報22には、図4に示すように、条件#2B,#3,#4B,#6B及び#7Aのそれぞれが現在の機械学習システムの仕様において満たされているか否かを示す情報が格納される。図4の条件合致状況情報22は、条件#2B,#4B及び#6Bが満たされており、且つ、条件#3及び#7Aが満たされていないことを表す。
 図1に戻って説明を続ける。論理分析部11は、各アタックツリーの木構造情報101と条件合致状況情報22とから、各アタックツリーにおいて最上位の第1ノードに示される攻撃が達成されてアタックツリーが成立するか否かを示すアタックツリーの成立状況を判定する。例えば、図2のアタックツリーに対して図4で示した条件合致状況情報22の入力を受けた場合、論理分析部11は、条件#6Bが満たされ、且つ、条件#7Aが満たされることから、図2に示すアタックツリーが成立すると判定する。そして、論理分析部11は、アタックツリーが成立する木構造情報101を抽出してまとめて成立ツリー群102として記憶部15に記憶させる。その後、論理分析部11は、成立ツリー群102の生成完了を抽出部12に通知する。
 抽出部12は、成立ツリー群102の生成完了の通知を論理分析部11から受ける。そして、抽出部12は、成立ツリー群102に含まれる各木構造情報101を記憶部15から取得する。次に、抽出部12は、取得した木構造情報101からその木構造情報101で表されるアタックツリーを不成立にさせる条件を表す論理式を生成する。次に、抽出部12は、論理式をANDのみを含む個別論理式に分解して、アタックツリーを不成立にさせる最小単位の条件の候補である不成立条件候補を生成する。不成立条件候補は、そのいずれかが満たされた場合に、元のアタックツリーが不成立となる条件である。アタックツリーが複数ある場合には、抽出部12は、各アタックツリーの不成立所条件候補を統合して、全てのアタックツリーを不成立とする不成立条件候補を生成する。その後、抽出部12は、生成した不成立条件候補を含む不成立条件候補群103を記憶部15に記憶させる。さらに、抽出部12は、不成立条件候補群103の抽出完了を順位付部13に通知する。
 例えば、図3に示した木構造情報101を用いる場合、抽出部12は、図3に示す木構造情報101の論理式の全体を否定する論理式を生成する。そして、抽出部12は、生成した論理式から図2に示すアタックツリーを不成立にさせる条件を表す論理式として、((~#6B)&((~#2B)|(~3)))|((~#4B)&(~7A))を生成する。ここで、「~」は、条件の否定(NOT)を表す。さらに、抽出部12は、この論理式をANDで接続される最小単位の論理式に分解して、~#6Bかつ~#2B、~#6Bかつ~#3、~#4Bかつ~7Aの3つを生成する。抽出部12は、この3つの論理式を不成立条件候補とする。すなわち、この3つの不成立条件候補のいずれかが満たされれば、図2に示すアタックツリーが不成立となる。
 図1に戻って説明を続ける。順位付部13は、不成立条件候補群103の抽出完了の通知を抽出部12から受ける。次に、順位付部13は、入力端末2から入力された困難度情報21を取得する。
 図5は、困難度情報の一例を示す図である。困難度情報21は、各葉に書かれている条件を満たさなくすることがどれくらい難しいかを、条件毎に表す情報である。本実施例では、困難度を10段階で表し、数字が大きいほど困難であるとした。例えば、図5に示す困難度情報であれば、条件#3及び#7Aは、条件を満たさなくすることが非常に難しい。これに対して、条件#2Bは、条件を満たさなくすることが比較的容易である。以下では、各条件に対する困難度の値を困難さパラメータと呼ぶ。
 図1に戻って説明を続ける。次に、順位付部13は、成立ツリー群102を記憶部15から取得する。さらに、順位付部13は、入力端末2から入力された条件合致状況情報22を取得する。
 次に、順位付部13は、成立ツリー群102に含まれる全てのアタックツリーを展開して、成立していない部分木を除き、同じ条件が記述されている葉で条件が満たされている葉の数を数える。すなわち、順位付部13は、成立していないアタックツリー及び部分木の葉、及び、成立しているアタックツリーであっても条件が満たされていない葉は数に含めない。以下では、同じ条件が記述されている葉で条件が満たされている葉の数を、「同じ葉の数」と呼ぶ。
 次に、順位付部13は、1を同じ葉の数で割った値をそれら葉に記述されている条件の基礎スコアとして条件毎に記憶する。例えば、成立しているアタックツリーの中で、同じ条件が記述されている葉で条件が満たされている葉の数が3つあった場合、順位付部13は、その条件の基礎スコアを1/3と算出する。このようにすることで、順位付部13は、条件が重複していればしているほどその条件の基礎スコアを低くすることができる。
 次に、順位付部13は、条件毎に基礎スコアに困難さパラメータを乗算して各条件に対する更新後スコアを算出する。すなわち、更新後スコアは、その条件について同じ葉の数が多いほど低くなり、その条件を満たさなくすることが困難であるほど高くなる。例えば、ある条件について同じ葉の数が5であり且つ困難さパラメータが4であれば、順位付部13は、その条件の更新後スコアを(1/5)×4=4/5と算出する。また、他の条件について同じ葉の数が2であり且つ困難さパラメータが7であれば、順位付部13は、その条件の更新後スコアを(1/2)×7=7/2と算出する。順位付部13は、成立するアタックツリー含まれる全ての条件について更新後スコアを算出する。
 次に、順位付部13は、不成立条件候補群103を記憶部15から取得する。そして、順位付部13は、各不成立条件候補について、各々に含まれる各条件の更新後スコアを用いて優先度判定用スコアを算出する。この際、順位付部13は、各条件の否定のスコアとして、算出した各条件の更新後スコアを用いる。また、順位付部13は、「かつ(AND)」については更新後スコアを加算して不成立条件候補の優先度判定用スコアを算出する。例えば、NOT(条件P)かつNOT(条件Q)かつNOT(条件R)という不成立条件候補であり、条件P、条件Q、条件Rのそれぞれの更新後スコアが2、4/5、4である場合で説明する。この場合、順位付部13は、その不成立条件候補の優先度判定用スコアを2+4/5+4=6.8と算出する。この際、順位付部13は、既に満たされていない条件については更新後スコアを0とする。
 その後、順位付部13は、優先度判定用スコアの低い順に昇順で不成立条件候補をソートして優先度順に並べる。そして、順位付部13は、優先度順にソートした不成立条件候補の情報を出力部14へ出力する。
 出力部14は、優先度順に並べられた不成立条件候補の情報の入力を順位付部13から取得する。そして、出力部14は、並べられた順に優先度を付加して不成立条件候補を並べて図6に示す優先度付き仕様変更候補リスト100を生成して出力する。図6は、優先度付き仕様変更候補リストの一例を示す図である。例えば、出力部14は、モニタなどに優先度付き仕様変更候補リスト100を表示させて、どの条件を満たさなくするのが良いか優先順位を付けて利用者に対して提示する。
 次に、具体例を用いて、本実施例に係る情報処理装置1による優先度判定用スコアの算出処理の全体を説明する。図7は、アタックツリーの具体例を示す図である。ここでは、アタックツリー201及び202の2つが存在する場合で説明する。
 アタックツリー201は、Adversarial Example/Evasionによる攻撃の条件を表す。アタックツリー201は、条件#2A、#2B、#3、#4B、#6B又は#7Aが記述された8つの葉を有する。アタックツリー202は、Poisoningによる攻撃の条件を表す。アタックツリー202は、条件#1、#2B、#3、#4B、#6B及び#7Aが記述された6つの葉を有する。
 条件#1は、「攻撃者が学習処理を実行できる」という条件である。条件#2Aは、「攻撃者が推定処理を1回程度以上実行できる」という条件である。条件#2Bは、「攻撃者が推定処理を千回程度実行できる」という条件である。条件#3は、「攻撃者が出力結果を入手できる」という条件である。条件#4Bは、「攻撃者がシステムのデータを1個以上入手できる」という条件である。条件#6Bは、「攻撃者が学習済みモデルを入手できる」という条件である。条件#7Aは、「攻撃者が類似データを1個以上入手できる」という条件である。
 図8は、入力情報の一例を示す図である。情報処理装置1は、図8に示す、木構造情報101,困難度情報21及び条件合致状況情報22を取得する。
 この場合、木構造情報101は、図8に示すように、アタックツリー201の構造を表すAdversarial Example条件の論理式及びアタックツリー202の構造を表すPoisoning条件の論理式を含む。
 また、困難度情報21は、アタックツリー201及び202の葉に記述された、条件#1、#2A、#2B、#3、#4B、#6B及び#7Aの困難さパラメータを含む。条件#1の困難さパラメータは10である。また、条件#2Aの困難さパラメータは5である。また、条件#2Bの困難さパラメータは5である。また、条件#3の困難さパラメータは10である。また、条件#4Bの困難さパラメータは4である。また、条件#6Bの困難さパラメータは3である。また、条件#7Aの困難さパラメータは8である。
 また、条件合致状況情報22は、アタックツリー201及び202の葉に記述された、条件#1、#2A、#2B、#3、#4B、#6B及び#7Aの条件合致状況を含む。条件#1は満たされている。また、条件#2Aは満たされている。また、条件#2Bは満たされている。また、条件#3は満たされている。また、条件#4Bは満たされている。また、条件#6Bは満たされていない。また、条件#7Aは満たされている。
 論理分析部11は、木構造情報101と条件合致状況情報22とを用いて、アタックツリー201及び202のいずれも成立していると判定し、両方の木構造を含む図2に示した木構造情報101を成立ツリー群102として格納する。
 抽出部12は、成立ツリー群102に登録された2つの論理式のうちAdversarial Example条件の論理式を取得する。図9は、Adversarial Example条件について最上位攻撃成立条件を否定する論理式の展開を示す図である。抽出部12は、取得した論理式の全体を否定する図9に示す論理式211を生成する。次に、抽出部12は、論理式211を成立させるための条件を表す論理式212を生成する。次に、抽出部12は、論理式212を展開して論理式213を生成する。抽出部12は、論理式213をさらに展開して論理式214を生成する。これにより、Adversarial Example条件を否定する論理式の展開が完了する。
 図10は、論理式の分解を説明するための図である。次に、抽出部12は、図9の展開が完了した論理式214をORで分けるように分解して、図10の論理式群215に示すように1つずつの論理式とする。ここで、抽出部12は、ANDで繋がれた論理式の中に同じ条件が含まれる場合、その条件を1つにまとめる。次に、抽出部12は、分解した論理式のうち同一の論理式を1つにまとめて、論理式群216とする。これにより、展開された論理式の分解が完了する。
 図11は、論理式の冗長表現の省略を説明するための図である。次に、抽出部12は、論理式群217に示すように、同じ条件式の後ろにANDがついている場合、冗長な条件と考えられるため、ANDの後ろの条件を取り除いた論理式にまとめる。
 例えば、論理式群217における3つの論理式219において(NOT(#6B))AND(NOT(#2B))は同一である。この場合、(NOT(#6B))AND(NOT(#2B))が成立すれば、後のANDで繋がる条件は成否がいずれであっても元の論理式は否定される。すなわち、3つの論理式219は、すべて(NOT(#6B))AND(NOT(#2B))という論理式に含まれる。そこで、抽出部12は、3つの論理式219を、(NOT(#6B))AND(NOT(#2B))という論理式にまとめる。このようにして図10の論理式群216における冗長表現を省略して、抽出部12は、論理式群218を生成する。
 この論理式群218に含まれる4つの論理式で示される条件がAdversarial Example条件についての不成立条件候補である。すなわち、この論理式群218に含まれる4つの論理式のいずれかを成立させることで、Adversarial Example/Evasionによる攻撃を回避できる。
 次に、抽出部12は、成立ツリー群102に登録された2つの論理式のうちPoisoning条件の論理式を取得する。図12は、Poisoning条件についての不成立条件候補の抽出を説明するための図である。抽出部12は、取得した論理式の全体を否定する図12に示す論理式221を生成する。次に、抽出部12は、論理式221を成立するための論理式222を生成する。次に、抽出部12は、論理式222を展開して論理式223を生成する。次に、抽出部12は、論理式223を分解して、冗長表現があれば省略することで、論理式群224を生成する。
 この論理式群224含まれる4つの論理式で示される条件がPoisoning条件についての不成立条件候補である。すなわち、この論理式群224に含まれる4つの論理式のいずれかを成立させることで、Poisoningによる攻撃を回避できる。
 さらに、抽出部12は、論理式群218で示されるAdversarial Example条件についての不成立条件候補と論理式群224で示されるPoisoning条件についての不成立条件候補とを統合する。図13は、不成立条件候補の統合を説明するための図である。抽出部12は、図13の論理式群231に示すように論理式群218と論理式群224とをANDで結ぶことで、不成立条件候補の統合を行なう。
 図14は、統合後の不成立条件候補の展開を説明するための図である。次に、抽出部12は、図13に示す論理式において、論理式群218の各論理式と論理式群224との全ての組合せを生成し、それぞれの組合せにおいて論理式をANDで結ぶことで、統合した不成立条件候補の展開を実行する。これにより、抽出部12は、図14に示す論理式群232を生成する。この際、抽出部12は、論理式233に示すように、同じ条件を示す論理式を1つにまとめる。さらに、抽出部12は、冗長表現の省略を実行する。
 図15は、最終的な不成立条件候補を示す図である。以上の処理を行うことで、抽出部12は、図15に示す論理式群234を算出する。この論理式群234含まれる4つの論理式で示される条件がAdversarial Example条件及びPoisoning条件についての不成立条件候補である。すなわち、この論理式群234に含まれる4つの論理式のいずれかを成立させることで、Adversarial Exampleによる攻撃及びPoisoningによる攻撃のいずれも回避できる。抽出部12は、この論理式群234に含まれる4つの論理式を不成立条件候補群103として記憶部15に格納する。
 順位付部13は、成立ツリー群102に含まれる木構造と条件合致状況情報を組み合わせる。図16は、アタックツリーに条件合致状況情報を付加した図である。この場合、アタックツリー201及び202のいずれも成立する。そこで、アタックツリー201及び202のそれぞれの各葉及び枝分岐の条件合致状況を付加すると、アタックツリー201及び202は、図16のように表される。図16では、枝分岐の上に葉がある場合、その葉に条件合致状況を付加した。
 順位付部13は、アタックツリー201のうち部分木240は成立していないので、同一の葉の数の勘定から取り除く。そして、順位付部13は、アタックツリー201及び202のうちの同一の葉の数を数える。ここでは、順位付部13は、条件#1の葉は1個、条件#2Aの葉は0個、条件#2Bの葉は2個、条件#3の葉は2個、条件#4Bの葉は2個、条件#6Bの葉は0個、条件#7Aの葉は2個とする。次に、順位付部13は、数えた同一の葉の数から、各条件の基礎スコアを算出する。ここでは、順位付部13は、条件#1の基礎スコアは1、条件#2Aの基礎スコアは0、条件#2Bの基礎スコアは1/2、条件#3の基礎スコアは1/2、条件#4Bの基礎スコアは1/2、条件#6Bの基礎スコアは0、条件#7Aの基礎スコアは1/2とする。
 そして、順位付部13は、困難度情報21に含まれる各困難さパラメータと基礎スコアとを掛け合わせて、各条件の更新後スコアを算出する。図17は、算出される更新後スコアを示す図である。ここでは、順位付部13は、更新後スコア241に示すように各条件の更新後スコアを算出する。条件#1の更新後スコアは10である。また、条件#2Aの更新後スコアは0である。また、条件#2Bの更新後スコアは5/2である。また、条件#3の更新後スコアは5である。また、条件#4Bの更新後スコアは2である。また、条件#6Bの更新後スコアは0である。また、条件#7Aの更新後スコアは4である。
 図18は、各不成立条件候補の優先度判定用スコアの算出を説明するための図である。次に、順位付部13は、図15の論理式群234で表される不成立条件候補群103に含まれる各不成立条件候補に算出した条件の更新後スコアを用いて、図18の優先度判定用スコア242に示すように各不成立条件候補の優先度判定用スコアを算出する。例えば、((NOT(#6B)AND(NOT(#2B)))という不成立条件候補を例に説明する。この場合、NOT(#6B)の更新後スコアが0であり、NOT(#2B)の更新後スコアが5/2であるので、順位付部13は、0+2/5=5/2として優先度判定用スコアを算出する。ここで、順位付部13は、各条件の否定の値として、既に算出したそれぞれの条件の更新後スコアを用いる。
 順位付部13は、算出した優先度判定用スコアの低い順に昇順で図15の論理式群234で示される不成立条件候補をソートする。そして、順位付部13は、ソートした不成立条件候補の情報を出力部14へ出力する。
 図19は、優先度付き仕様変更リストの具体例を示す図である。出力部14は、優先度にしたがってソートされた各不成立条件候補に順位を付加して並べた優先度付き仕様変更候補リスト250を生成する。ここでは、出力部14は、優先度を順位として表した。また、出力部14は、各不成立条件候補に仕様の変更を促す文言を付加して優先度付き仕様変更候補リスト250を生成した。出力部14は、生成した優先度付き仕様変更候補リスト250を利用者に提供する。
 図20は、実施例に係る情報処理装置による優先度付き仕様変更候補リストの生成処理のフローチャートである。次に、図20を参照して、情報処理装置1による優先度付き仕様変更候補リストの生成処理の流れを説明する。
 情報処理装置1は、予め木構造情報101を取得して記憶部15に格納する。また、情報処理装置1は、入力端末2から入力された困難度情報21及び条件合致状況情報22を取得する(ステップS1)。
 次に、論理分析部11は、木構造情報101及び条件合致状況情報22を用いて成立するアタックツリーを特定して、成立するアタックツリーそれぞれの木構造情報101を含む成立ツリー群102を生成する(ステップS2)。論理分析部11は、成立ツリー群102を記憶部15に格納する。
 次に、抽出部12は、成立ツリー群102に含まれる木構造情報101を用いて成立するアタックツリーを不成立とするための各不成立条件候補を含む不成立条件候補群103を生成する(ステップS3)。抽出部12は、不成立条件候補群103を記憶部15に格納する。
 順位付部13は、成立ツリー群102に含まれる木構造情報101を取得する。そして、順位付部13は、木構造情報101における同じ葉の数を数えて条件毎に基準スコアを算出する(ステップS4)。
 次に、順位付部13は、困難度情報21に登録された各条件の困難さパラメータを取得して、困難さパラメータ及び基準スコアを用いて、条件毎に更新後スコアを算出する(ステップS5)。
 次に、順位付部13は、不成立条件候補群103を取得して、各条件の更新後スコアを用いて不成立条件候補毎の優先度判定用スコアを算出する(ステップS6)。その後、順位付部13は、優先度判定用スコアの低い順に不成立条件候補を昇順にソートして、上から順に優先度を付ける。そして、順位付部13は、優先度判定用スコアの低い順に昇順にソートされた不成立条件候補の情報を出力部14へ出力する。
 出力部14は、優先度判定用スコアの低い順に昇順にソートされた不成立条件候補の情報の入力を順位付部13から取得する。そして、出力部14は、ソート順に優先度を付加して不成立条件候補を並べて図6に示す優先度付き仕様変更候補リストを作成する。その後、出力部14は、優先度付き仕様変更候補リストを出力して利用者に提供する(ステップS7)。
 ここで、本実施例では、困難さパラメータを条件毎に異ならせたが、困難さパラメータを各条件で同じとしてもよい。その場合、順位付部13は、更新後スコアを用いずに基礎スコアにより不成立条件候補の順位付けを行うことが可能である。
 また、困難度情報21を入力端末2から入力されるものとして説明したが、情報処理装置1は、困難度情報21を予め取得して計算テーブルとして記憶部15に記憶して、その計算テーブルを用いて更新後スコアを算出してもよい。
 また、不成立条件候補群103について不成立条件候補となる条件の組み合わせが大量となる場合には、抽出部12は、各木や各部分木の単位で更新後スコアを評価して、スコアが大きいものは組み合わせる前に除外してもよい。攻撃毎に不成立条件候補を抽出して最後にANDで組み合わせて統合するためその最後の統合により不成立条件候補が大量に増える。そこで、抽出部12は、最後の統合の前に明らかにスコアが大きくなり優先度が低くなる木や部分木を除外しておく。これにより、不成立条件候補となる条件の組み合わせが大量となることを防ぐことが可能となる。
 また、順位付部13は、最終的に出力する優先度付き仕様変更候補リストにおいて基礎スコアが0の条件を含む不成立条件候補を除外してもよい。また、順位付部13は、基礎スコアが0の条件は式過多除外して不成立条件候補の優先度判定用スコアを評価してもよい。これは、基礎スコアが0の条件を除外することで不成立条件候補が簡単になることもあるためである。
 他にも、順位付部13は、本実施例では基礎スコアの算出時に葉の数で除算しているが、葉の数が少ないほど点が高くなるように基礎スコアを算出することができれば他の算出方法を用いてもよい。また、更新後スコアについても、順位付部13は、葉の数が少ないものとこんなんどが低いものが優先されるように算出できるのであれば、困難さパラメータと基礎スコアとの乗算以外の算出方法を用いてもよい。また、不成立条件候補の導出は必ずしも最小となるように変形しなくてもよい。言い換えれば、順位付部13は、冗長な表現のまま優先度判定用スコア算出及び仕様変更候補リストの作成を行ってもよい。
 以上に説明したように、本実施例に係る情報処理装置は、機械学習システムに対する攻撃を想定したアタックツリーの木構造情報を用いて、全ての攻撃を防ぐための不成立条件候補を抽出する。そして、情報処理装置は、各葉の成立不成立を表す条件合致状況情報及び困難情報を用いて、重複が多い方が高く且つ不成立にすることが容易である方が高くなるように各不成立条件候補のスコアを算出して、不成立条件候補の優先度を決定して利用者に通知する。重複が多いほど1つの仕様の変更で攻撃を防ぎやすくなり、且つ、不成立にすることが容易な仕様ほど変更し易いため、利用者は、攻撃に対する対策を講じやすい仕様の変更を把握することが可能となる。したがって、攻撃への対応の選定を効率化することができ、機械学習システムに対する攻撃を防ぐことが容易となり、機械学習システムの安全性を向上させることは可能となる。
(ハードウェア構成)
 図21は、情報処理装置のハードウェア構成図である。以上の実施例で説明した情報処理装置1は、図21のようなハードウェア構成で実現することが可能である。例えば、情報処理装置1は、CPU(Central Processing Unit)91、メモリ92、ハードディスク93及びネットワークインタフェース94を有する。CPU91は、バスを介して、メモリ92、ハードディスク93及びネットワークインタフェース94と接続される。
 ネットワークインタフェース94は、情報処理装置1と外部装置との通信のためのインタフェースである。ネットワークインタフェース94は、例えば、CPU91と入力端末2との間の通信を中継する。
 ハードディスク93は、補助記憶装置である。ハードディスク93は、図1に例示した記憶部15の機能を実現する。また、ハードディスク93は、図1に例示した、論理分析部11、抽出部12、順位付部13及び出力部14の機能を実現するためのプログラムを含む各種プログラムを格納する。
 メモリ92は、主記憶装置である。メモリ92は、例えば、DRAM(Dynamic Random Access Memory)である。
 CPU91は、ハードディスク93に格納された各種プログラムを読み出してメモリ92に展開して実行する。これにより、CPU91は、図1に例示した、論理分析部11、抽出部12、順位付部13及び出力部14の機能を実現する。
 1 情報処理装置
 2 入力端末
 11 論理分析部
 12 抽出部
 13 順位付部
 14 出力部
 15 記憶部
 21 困難度情報
 22 条件合致状況情報
 101 木構造情報
 102 成立ツリー群
 103 不成立条件候補群

Claims (6)

  1.  成立する攻撃を示す情報が対応付けられた第1ノード及び前記第1ノードに階層的に繋がり且つ前記攻撃を成立させるための条件が対応付けられた複数の第2ノードを含む攻撃ツリーの構造を表す木構造情報と、前記複数の第2ノードそれぞれに対応付けられた前記条件を満たさなくする対応の困難さを示す困難度情報と、前記複数の第2ノードが満たされているか否かを示す条件合致状況情報を受け付け、
     前記木構造情報、前記困難度情報及び前記条件合致状況情報を基に、前記複数の第2ノードそれぞれに対応付けられた前記条件の組合せのうち、前記攻撃が不成立となる組み合わせである不成立条件候補毎に、前記不成立条件候補の採用の優先度を示す提供情報を生成する
     処理をコンピュータに実行させることを特徴とする生成方法。
  2.  前記木構造情報を示す論理式を展開及び分解して論理積で結ばれた個別論理式を生成して、前記不成立条件候補とすることを特徴とする請求項1に記載の生成方法。
  3.  前記木構造情報及び前記条件合致状況情報を基に、前記攻撃ツリーの中の同一の条件が対応付けられた前記第2ノードの合計数を求め、含まれる各前記条件について前記合計数が多いほど高くなり且つ前記困難度情報に登録された前記困難さが低いほど低くなるように前記不成立条件候補の優先度を決定することを特徴とする請求項1に記載の生成方法。
  4.  前記合計数が多いほど高くなり且つ前記困難度情報に登録された前記困難さが低いほど低くなるように更新後スコアを算出し、
     前記更新後スコアを基に、前記不成立条件候補の優先度判定用スコアを求め、
     前記優先度判定用スコアにしたがって各前記不成立条件候補の優先度を決定する
     ことを特徴とする請求項3に記載の生成方法。
  5.  成立する攻撃を示す情報が対応付けられた第1ノード及び前記第1ノードに階層的に繋がり且つ前記攻撃を成立させるための条件が対応付けられた複数の第2ノードを含む攻撃ツリーの構造を表す木構造情報と、前記複数の第2ノードそれぞれに対応付けられた前記条件を満たさなくする対応の困難さを示す困難度情報と、前記複数の第2ノードが満たされているか否かを示す条件合致状況情報を受け付け、
     前記木構造情報、前記困難度情報及び前記条件合致状況情報を基に、前記複数の第2ノードそれぞれに対応付けられた前記条件の組合せのうち、前記攻撃が不成立となる組み合わせである不成立条件候補毎に、前記不成立条件候補の採用の優先度を示す提供情報を生成する
     処理をコンピュータに実行させることを特徴とする生成プログラム。
  6.  成立する攻撃を示す情報が対応付けられた第1ノード及び前記第1ノードに階層的に繋がり且つ前記攻撃を成立させるための条件が対応付けられた複数の第2ノードを含む攻撃ツリーの構造を表す木構造情報と、前記複数の第2ノードそれぞれに対応付けられた前記条件を満たさなくする対応の困難さを示す困難度情報と、前記複数の第2ノードが満たされているか否かを示す条件合致状況情報を受け付け、前記木構造情報、前記困難度情報及び前記条件合致状況情報を基に、前記複数の第2ノードそれぞれに対応付けられた前記条件の組合せのうち、前記攻撃が不成立となる組み合わせである不成立条件候補毎に、前記不成立条件候補の採用の優先度を示す提供情報を生成する順位付部
     を備えたことを特徴とする情報処理装置。
PCT/JP2022/000325 2022-01-07 2022-01-07 生成方法、生成プログラム及び情報処理装置 WO2023132048A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/000325 WO2023132048A1 (ja) 2022-01-07 2022-01-07 生成方法、生成プログラム及び情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/000325 WO2023132048A1 (ja) 2022-01-07 2022-01-07 生成方法、生成プログラム及び情報処理装置

Publications (1)

Publication Number Publication Date
WO2023132048A1 true WO2023132048A1 (ja) 2023-07-13

Family

ID=87073472

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/000325 WO2023132048A1 (ja) 2022-01-07 2022-01-07 生成方法、生成プログラム及び情報処理装置

Country Status (1)

Country Link
WO (1) WO2023132048A1 (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021144978A1 (ja) * 2020-01-17 2021-07-22 三菱電機株式会社 攻撃推定装置、攻撃推定方法及び攻撃推定プログラム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021144978A1 (ja) * 2020-01-17 2021-07-22 三菱電機株式会社 攻撃推定装置、攻撃推定方法及び攻撃推定プログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
浅井健志, 河内清人, サイバー攻撃対策の選定方法の提案, 2017年 暗号と情報セキュリティシンポジウム(SCIS2017)予稿集, 24 January 2017, (Proceedings of 2017 Symposium on Cryptography and Information Security), non-official translation (ASAI, Takeshi, KAWAUCHI, Kiyoto, Proposal of selection method for cyber attack countermeasures) *

Similar Documents

Publication Publication Date Title
CN110288004B (zh) 一种基于日志语义挖掘的系统故障诊断方法及装置
US20240028571A1 (en) Automatic entity resolution with rules detection and generation system
Qian et al. Fusing monotonic decision trees
CN112165462A (zh) 基于画像的攻击预测方法、装置、电子设备及存储介质
Fernández-Francos et al. One-class convex hull-based algorithm for classification in distributed environments
KR102223382B1 (ko) 다중타입 엔티티에 기반한 지식 보완 방법 및 장치
US11216739B2 (en) System and method for automated analysis of ground truth using confidence model to prioritize correction options
CN110751330B (zh) 一种基于树模型的预测方法和装置
US20180039890A1 (en) Adaptive knowledge base construction method and system
CN110083756B (zh) 识别知识图数据结构中的冗余节点
Lias-Rodriguez et al. An algorithm for computing typical testors based on elimination of gaps and reduction of columns
CN112685550A (zh) 智能问答方法、装置、服务器及计算机可读存储介质
US11461656B2 (en) Genetic programming for partial layers of a deep learning model
WO2017026303A1 (ja) 未来シナリオ生成装置及び方法、並びにコンピュータプログラム
WO2018135515A1 (ja) 情報処理装置、ニューラルネットワークの設計方法及び記録媒体
WO2021245924A1 (ja) 処理装置、処理方法および処理プログラム
WO2023132048A1 (ja) 生成方法、生成プログラム及び情報処理装置
JP2016110304A (ja) 共通操作情報生成プログラム、共通操作情報生成方法、及び共通操作情報生成装置
JP6828834B2 (ja) 論理計算装置、論理計算方法、およびプログラム
CN111310186A (zh) 混淆命令行检测方法、装置及系统
CN115935358A (zh) 一种恶意软件识别方法、装置、电子设备及存储介质
Hedar et al. Hybrid evolutionary algorithms for data classification in intrusion detection systems
KR20220041336A (ko) 중요 키워드 추천 및 핵심 문서를 추출하기 위한 그래프 생성 시스템 및 이를 이용한 그래프 생성 방법
Coray Óðinn: A Framework for Large-Scale Wordlist Analysis and Struc-ture-Based Password Guessing
WO2013180920A2 (en) Buildable part pairs in an unconfigured product structure

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

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2023572306

Country of ref document: JP