WO2021144979A1 - ベクトル計算装置、分類装置及び出力プログラム - Google Patents

ベクトル計算装置、分類装置及び出力プログラム Download PDF

Info

Publication number
WO2021144979A1
WO2021144979A1 PCT/JP2020/001556 JP2020001556W WO2021144979A1 WO 2021144979 A1 WO2021144979 A1 WO 2021144979A1 JP 2020001556 W JP2020001556 W JP 2020001556W WO 2021144979 A1 WO2021144979 A1 WO 2021144979A1
Authority
WO
WIPO (PCT)
Prior art keywords
sentence
threat
countermeasure
vector
combined
Prior art date
Application number
PCT/JP2020/001556
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 JP2021560126A priority Critical patent/JP7003343B2/ja
Priority to PCT/JP2020/001556 priority patent/WO2021144979A1/ja
Publication of WO2021144979A1 publication Critical patent/WO2021144979A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity

Definitions

  • This disclosure relates to a vector calculation device that calculates a sentence vector of a sentence.
  • Patent Document 1 discloses a technique for creating a document vector from a known threat information database and applying WORD2VEC for the purpose of efficiently investigating a threat.
  • Patent Document 2 discloses a technology for the purpose of facilitating association with security functional requirements and description of implementation specifications in specification creation based on IEC / ISO international security standards.
  • Patent Document 3 discloses a technique for converting a word included in a pair of a question and an answer into a vector.
  • the technique of Patent Document 3 creates a vector using skip-gram of WORD2VEC by paying attention to the causal relationship of the context, and automatically answers a question that was difficult to answer in the past.
  • Patent Document 1 describes the classification of threats, but does not describe the relevance to countermeasures. In order to obtain appropriate countermeasures by the conventional method, a specialist must manually associate the threat with the countermeasure, which is time-consuming and technically burdensome.
  • Patent Document 3 generates a causal relationship of context by vectorization of general documents, but does not provide this causal relationship.
  • Patent Document 3 what is similar to a certain keyword element is only obtained from the similarity vector of the keyword element, and there is no disclosure of a technique for devising a specific keyword element to be similar.
  • the purpose of this disclosure is to provide a technique that eliminates the need for a format that conforms to a specific standard such as the template of Patent Document 2 by generating and using information on threats and countermeasures from general documents.
  • Another object of the present disclosure is to provide a device for maintaining a causal relationship between information having a small causal relationship, to extract countermeasures from threats by the device, and to extract threats from countermeasures.
  • the vector computing device is Obtain a threat sentence that is a natural language sentence and indicates a threat and a countermeasure sentence that is a natural language sentence and indicates a countermeasure against the threat indicated by the threat sentence, and either the threat sentence or the countermeasure sentence. Is placed in the front and the other is placed in the rear to combine the threat sentence and the countermeasure sentence to generate a combined sentence in which the threat sentence and the countermeasure sentence are combined. A parameter for calculating the number of words included in the combined sentence and generating a word vector of each of the words included in the combined sentence based on the calculated number of words, which is a parameter of the word.
  • a parameter determination unit that determines the window size, which is a parameter representing the number of words in front and the number of words in the back, The word vector of each of the words included in the combined sentence is calculated using the determined window size, the sentence vector of the combined sentence is calculated using each of the word vectors, and the sentence vector and each of them are calculated.
  • a vector calculation unit that stores the word vector in a storage device, To be equipped.
  • the present disclosure by generating and using information on threats and countermeasures from general documents, it is possible to provide a technology that does not require a format that conforms to a specific standard. Further, according to the present disclosure, it is possible to provide a device for maintaining a causal relationship between information having a small causal relationship, and by the device, extract a countermeasure from a threat and extract a threat from the countermeasure.
  • FIG. 6 is a functional block diagram of the output device 100 in the figure of the first embodiment.
  • FIG. 6 is a diagram of a first embodiment, and is a hardware configuration diagram of an output device 100.
  • FIG. 5 is a flowchart showing an outline of operation of the output device 100 in the figure of the first embodiment.
  • FIG. 5 is a flowchart showing the details of the process of step S20 by the parameter calculation unit 120 in the figure of the first embodiment.
  • FIG. 2 is a functional block diagram of the output device 100 in the figure of the second embodiment. In the figure of the second embodiment, the figure which shows the functional structure of the sentence organizing part 150.
  • FIG. 6 is a functional block diagram of the classification device 200 in the figure of the third embodiment.
  • FIG. 5 is a flowchart showing the operation of the determination unit 221 in the figure of the third embodiment.
  • FIG. 4 is a functional block diagram of the classification device 200 in the figure of the fourth embodiment.
  • FIG. 5 is a flowchart showing the operation of the similar portion 222 in the figure of the fourth embodiment.
  • FIG. 4 is a diagram for supplementing the hardware configuration of the output device 100.
  • FIG. 1 is a functional block diagram of an output device 100 that calculates a word vector and outputs the word vector to the storage device 140.
  • the output device 100 is a vector calculation device.
  • the output device 100 includes a coupling unit 110, a parameter calculation unit 120, and a vector calculation unit 130 as functional elements.
  • the parameter calculation unit 120 is a parameter determination unit.
  • the threat sentence 11 and the countermeasure sentence 12 are input to the connecting portion 110.
  • the connecting unit 110 generates a combined sentence 111 from the threat sentence 11 and the countermeasure sentence 12.
  • the parameter calculation unit 120 generates the parameter 121 from the combined sentence 111.
  • the vector calculation unit 130 generates a word vector of each word included in the combined sentence 111 by using the parameter 121, and stores the word vector and the generated word in the storage device 140 in association with each other.
  • the storage device 140 may be included in the output device 100 or may be provided in another device.
  • the storage device 140 may be a cloud server.
  • the output device 100 includes the storage device 140
  • the auxiliary storage device 730 functions as the storage device 140.
  • the functions of the coupling unit 110, the parameter calculation unit 120, and the vector calculation unit 130 will be described in detail in the description of the operation.
  • the threat text 11 and the countermeasure text 12 input to the output device 100 will be described below.
  • Threat sentence 11 is a natural language regarding the threat of cyber attacks.
  • the threat sentence 11 is a sentence contained in a document such as an international standard document or a guideline, and is a sentence that can be read by humans and is described in a fake format. Specifically, (1) a sentence described in Name, Description or Extended Description of COMMON Weekness Generation (CWE), or, (2) It is a sentence described in Name or Description of COMMON Attack Pattern Enumeration and Classification (CAPEC). In addition, it may be a sentence related to the threat described in the security guideline.
  • CWE COMMON Weekness Generation
  • CAPEC COMMON Attack Pattern Enumeration and Classification
  • Countermeasure sentence 12 is a natural language regarding countermeasures against the threat of cyber attacks.
  • Countermeasure sentence 12 is a natural language.
  • the countermeasure sentence 12 is a sentence included in a document such as an international standard document or a guideline, and is a sentence that can be read by humans and is described in a fake format. Specifically, (1) the name of the control measure, the name of the extended control measure, or the security control measure in NIST Special Publications 800-53. or, (2) The title or requirement of each component of IEC 62443-4-2.
  • sentences related to the measures described in the security guidelines may be used.
  • the threat sentence 11 and the countermeasure sentence 12 described above are input information to the output device 100.
  • the output device 100 outputs the word vector as the output information to the storage device 140 with the threat sentence 11 and the countermeasure sentence 12 as input information.
  • FIG. 2 shows the hardware configuration of the output device 100.
  • the hardware configuration of the output device 100 will be described with reference to FIG.
  • the output device 100 is a computer.
  • the output device 100 includes a processor 710.
  • the output device 100 includes other hardware such as a main storage device 720, an auxiliary storage device 730, an input IF 740, an input IF 750, and a communication IF 760.
  • the processor 710 is connected to other hardware via the signal line 770 and controls the other hardware.
  • the output device 100 includes a coupling unit 110, a parameter calculation unit 120, and a vector calculation unit 130 as functional elements.
  • the functions of the coupling unit 110, the parameter calculation unit 120, and the vector calculation unit 130 are realized by the output program 101.
  • the processor 710 is a device that executes the output program 101.
  • the output program 101 is a program that realizes the functions of the data acquisition unit 10, the simulation unit 20, the equipment risk calculation unit 30, the evaluation unit 40, and the display processing unit 50.
  • the processor 710 is an IC (Integrated Circuit) that performs arithmetic processing. Specific examples of the processor 710 are a CPU (Central Processing Unit), a DSP (Digital Signal Processor), and a GPU (Graphics Processing Unit).
  • the main storage device 720 is a storage device. Specific examples of the main storage device 720 are SRAM (Static Random Access Memory) and DRAM (Dynamic Random Access Memory). The main storage device 720 holds the calculation result of the processor 710.
  • the auxiliary storage device 730 is a storage device that stores data in a non-volatile manner.
  • a specific example of the auxiliary storage device 730 is an HDD (Hard Disk Drive).
  • the auxiliary storage device 730 is a portable recording medium such as an SD (registered trademark) (Secure Digital) memory card, a NAND flash, a flexible disk, an optical disk, a compact disc, a Blu-ray (registered trademark) disc, or a DVD (Digital Versaille Disc). There may be.
  • the auxiliary storage device 730 stores the word vector and the sentence vector, which are the output data of the vector calculation unit 130, as the database 141.
  • the auxiliary storage device 730 stores the output program 101.
  • the input IF740 is a port to which data is input from each device.
  • the input IF 750 is a port to which various devices are connected and data is output to the various devices by the processor 710.
  • the communication IF 760 is a communication port for the processor to communicate with other devices. In the above, the interface is referred to as IF.
  • the processor 710 loads the output program 101 from the auxiliary storage device 730 into the main storage device 720, and reads and executes the output program 101 from the main storage device 720. Not only the output program 101 but also the OS (Operating System) is stored in the main storage device 720.
  • OS Operating System
  • the output device 100 may include a plurality of processors that replace the processor 710. These plurality of processors share the execution of the output program 101.
  • Each processor like the processor 710, is a device that executes the output program 101.
  • the data, information, signal values and variable values used, processed or output by the output program 101 are stored in the main storage device 720, the auxiliary storage device 730, or the register or cache memory in the processor 710.
  • the output program 101 executes each process, each procedure, or each process in which the "unit" of the coupling unit 110, the parameter calculation unit 120, and the vector calculation unit 130 is read as “process”, “procedure”, or “process” on the computer. It is a program to let you.
  • the output method is a method performed by the output device 100, which is a computer, executing the output program 101.
  • the output program 101 may be stored in a computer-readable recording medium and provided, or may be provided as a program product.
  • FIG. 3 is a flowchart showing an outline of the operation of the output device 100.
  • the outline of the operation of the output device 100 will be described with reference to FIG.
  • the parentheses for each step in FIG. 3 indicate the subject of the action.
  • step S10 the connecting unit 110 connects the threat sentence 11 and the countermeasure sentence 12.
  • the connecting unit 110 acquires a threat sentence 11 which is a natural language sentence and indicates a threat, and a countermeasure sentence 12 which is a natural language sentence and indicates a countermeasure against the threat indicated by the threat sentence 11.
  • the connecting unit 110 combines the threat sentence 11 and the countermeasure sentence 12 by arranging one of the acquired threat sentence 11 and the countermeasure sentence 12 in the front and arranging the other in the rear to combine the threat sentence 11 and the countermeasure sentence 12.
  • the connecting unit 110 adds the countermeasure sentence 12 after the threat sentence 11 to generate the combined sentence 111 as a new sentence.
  • step S20 the parameter calculation unit 120 outputs the parameter 121 to be input to the vector calculation unit 130 from the connection sentence 111 generated by the connection unit 110.
  • the parameter calculation unit 120 calculates the number of words included in the combined sentence 111, and generates a parameter based on the calculated number of words.
  • This parameter is a parameter for generating a word vector of each word included in the combined sentence 111, and is a window size which is a parameter representing the number of words before and after the word.
  • the parameter 121 is assumed to be used as the value of m in the Skip-Gram equation. Details of step S20 will be described later in FIG.
  • step S30 the parameter 121 is input from the parameter calculation unit 120 to the vector calculation unit 130, and the combination sentence 111 is input from the connection unit 110.
  • the vector calculation unit 130 calculates the word vector of each word included in the combined sentence 111 using the window size determined by the parameter calculation unit 120.
  • the vector calculation unit 130 calculates the sentence vector of the combined sentence 111 using the word vector of each word, and stores the word vector and the sentence vector in the storage device 140 as the database 141.
  • the vector calculation unit 130 inputs and the parameter 121, generates a sentence vector of the combined sentence 111, and stores it in the storage device 140 in the format of a database.
  • Applications such as Word2Vec, Doc2Vec, or Sparse Composite Document Vectors (SCDV) can be used to calculate the sentence vector of the combined sentence 111.
  • FIG. 4 is a flowchart showing the details of the process of step S20 by the parameter calculation unit 120. The details of step S20 by the parameter calculation unit 120 will be described with reference to FIG.
  • step S21 the parameter calculation unit 120 receives the combined sentence 111.
  • step S22 the parameter calculation unit 120 extracts the number of words as the length of the received combined sentence 111.
  • the sentence of "Document separation of duties of individuals" is not a combined sentence 111, but if this sentence is a combined sentence 111, the parameter calculation unit 120 extracts the number of words 6 as the length of the sentence from this sentence.
  • NW is an odd number
  • NW / 2 is set to an integer.
  • the parameter 121 may be 3 or 4.
  • the parameter calculation unit 120 adopts one of the two integers closest to NW / 2 as the parameter 121.
  • step S26 the parameter calculation unit 120 compares the number of words in the threat sentence 11 with the number of words in the countermeasure sentence 12, and selects the smaller sentence. Then, the parameter calculation unit 120 divides the number of words in the smaller sentence by 2, and adopts the value divided by 2 as the parameter 121. When the value divided by 2 is an odd number, the process is the same as in step S24.
  • the parameter calculation unit 120 calculated the window size, which is a parameter.
  • the parameter calculation unit 120 may determine the parameters as follows.
  • the parameter calculation unit 120 calculates the number of words included in the threat sentence 11 of the combined sentence 111 and the number of words included in the countermeasure sentence 12 of the combined sentence 111, and the number of words included in the threat sentence 11 and the countermeasure sentence 12
  • the window size may be determined based on the ratio to the number of words contained in.
  • the parameter 121 is used as the window size m when the vector calculation unit 130 calculates the word vector in step S30.
  • the window size m is a value that determines the distance between words and their relationships. In order to express the relationship between two different sentences input to the vector calculation unit 130 by the window size m, the parameter 121 used as the window size m is calculated in step S20.
  • the output device 100 generates the combined sentence 111 from two different natural languages, the threat sentence 11 and the countermeasure sentence 12, and calculates the parameter 121 used for the window size of the vector calculation from the combined sentence 111.
  • the output device 100 outputs the sentence vector of the combined sentence 111 to the storage device 140 using the parameter 121, and constructs a database of the sentence vector of the combined sentence 111. Therefore, it is possible to provide a database used for a technique that does not require a format that conforms to a specific standard. In addition, it is possible to construct a database on data that maintains a causal relationship with information having a small causal relationship.
  • FIG. 5 shows a functional block diagram of the output device 100 of the second embodiment.
  • the output device 100 of the second embodiment further includes a sentence organizing unit 150 with respect to the output device 100 of the first embodiment.
  • the hardware configuration of the output device 100 of the second embodiment is the same as that of the output device 100 of the first embodiment.
  • the processor 710 further includes a sentence organizing unit 150.
  • the sentence organizing unit 150 organizes the threat sentence 11 and the countermeasure sentence 12, and the connecting unit 110 generates the combined sentence 111 from the organized threat sentence 11 and the countermeasure sentence 12.
  • the processing after the combined sentence 111 is generated is the same as that in the first embodiment.
  • the sentence organizing unit 150 outputs the threat sentence 11a, which is the organized threat sentence 11, from the input threat sentence 11. Further, the sentence organizing unit 150 outputs a countermeasure sentence 12a, which is an organized measure sentence 12, from the input countermeasure sentence 12.
  • FIG. 6 shows the functional configuration of the sentence organizing unit 150.
  • the sentence organizing unit 150 implements part-speech division into the threat sentence 11 and the countermeasure sentence 12, and corresponds to an unnecessary part of speech which is an unnecessary part of speech from the threat sentence 11 divided into part of speech and the countermeasure sentence 12 divided into part of speech. Delete the word. Specifically, it is as follows.
  • the sentence organizing unit 150 includes a part-speech dividing unit 151 and an organizing unit 152 as functional elements.
  • the part-speech division unit 151 divides the threat sentence 11 into part-speech to generate "natural language 151a extracted from threat sentence 11" (hereinafter, natural language 151a).
  • the part-speech division unit 151 divides the countermeasure sentence 12 into part speech and generates "natural language 151b extracted from the countermeasure sentence 12" (hereinafter, natural language 151b).
  • the part-speech division unit 151 executes part-speech division by associating a tag with a part-speech as follows.
  • the part-speech division unit 151 deletes unnecessary part-speech, which is a natural language other than the 15 types of (1) to (15), from the threat sentence 11 and the countermeasure sentence 12, and the deletion result is the extracted natural language 151a and natural language 151b. Output as.
  • the organizing unit 152 performs processing such as stemming processing, rematization processing, and stopword processing on the natural language 151a and the natural language 151b, and organizes the natural language 151a and the natural language 151b.
  • the organizing unit 152 generates the "threat sentence 11a after extraction and arrangement" from the natural language 151a, and generates the "countermeasure sentence 12a after extraction and arrangement" from the natural language 151b.
  • the threat sentence “threat sentence 11a after extraction and arrangement” in which the word corresponding to the unnecessary part of speech is deleted and the word corresponding to the unnecessary part of speech are deleted. If it is a countermeasure sentence, "measure sentence 12a after extraction and arrangement" is acquired.
  • the joining unit 110 generates the joining sentence 111a by using the "threat sentence 11a after extraction and arrangement” and the countermeasure sentence 12a after extraction and arrangement in which unnecessary part of speech is deleted.
  • the processes from the coupling unit 110 to the vector calculation unit 130 are the same as those in the first embodiment.
  • Embodiment 3 The classification device 200 of the third embodiment will be described with reference to FIGS. 7 and 8.
  • FIG. 7 is a functional block diagram of the classification device 200 of the third embodiment.
  • the determination sentence group 13 is input to the classification device 200.
  • the classification device 200 classifies the determination sentence group 13 into either a threat or a countermeasure by using the database 141 stored in the storage device 140 of the first embodiment or the second embodiment.
  • the classification device 200 classifies the vector acquisition unit 210 for acquiring the word vector and the sentence vector from the database 141 of the storage device 140 and the determination sentence group 13 into either threat or countermeasure type. It has a section 220 and a sentence organizing section 250.
  • the classification unit 220 includes a determination unit 221.
  • the vector acquisition unit 210 acquires a plurality of sentence vectors from the database 141 of the storage device 140 in which a plurality of sentence vectors are stored by the output device 100 of the first embodiment or the output device 100 of the second embodiment.
  • the classification unit 220 acquires a judgment sentence group 13 including a plurality of sentences in natural language, which is a judgment target of whether to indicate a threat or a countermeasure, and determines whether the judgment sentence group 13 indicates a threat or a countermeasure. Judgment is made using the acquired plurality of sentence vectors, and the judgment sentence group 13 is classified into either a threat or a countermeasure according to the judgment result. As will be described later, since the sentence organizing unit 250 is an option, the determination sentence group 13 may be input to the classification unit 220.
  • the hardware configuration of the classification device 200 is the same as that of the output device 100 of FIG.
  • the processor 710 includes a vector acquisition unit 210, a classification unit 220, and a sentence organizing unit 250 as functional elements.
  • the diagram of the hardware configuration of the classification device 200 is omitted.
  • the text organizing unit 250 has the same function as the text organizing unit 150.
  • the determination sentence group 13 is input to the sentence organizing unit 250 as input data.
  • the sentence organizing unit 250 generates "determination sentence group 13a after extraction and arrangement" from the determination sentence group 13.
  • the "judgment sentence group 13a after extraction and arrangement” is input to the classification unit 220.
  • the sentence organizing unit 250 is an option, and the determination sentence group 13 may be input to the classification unit 220.
  • the determination sentence group 13 for determining the threat or countermeasure is a natural language.
  • the determination sentence group 13 is a natural language.
  • the determination sentence group 13 is a sentence included in a document such as an international standard document or a guideline, and is a sentence that can be read by a human and is described in a fake format. Specifically, it is the following sentences (1) to (4) described in the explanation of the threat sentence 11 and the countermeasure sentence 12 in the first embodiment.
  • the sentence organizing unit 150 performs the same processing as the sentence organizing unit 150 on the input determination sentence group 13, and outputs "determination sentence group 13a after extraction and arrangement".
  • the “judgment sentence group 13a after extraction and arrangement” is a sentence processed in the same manner as the “threat sentence 11a after extraction and arrangement” or the “countermeasure sentence 12a after extraction and arrangement” of the second embodiment. be.
  • the determination unit 221 outputs the threat or countermeasure 221a by inputting the "determination sentence group 13a after extraction and arrangement" and the data stored in the storage device 140.
  • the threat or countermeasure 221a is information indicating either the threat or the countermeasure.
  • the threat or countermeasure 221a indicates whether the determination sentence group 13 is a threat or a countermeasure.
  • FIG. 8 is a flowchart showing the operation of the determination unit 221. The operation of the determination unit 221 will be described with reference to FIG. FIG. 8 is a flowchart of the SCDV process performed by the determination unit 221.
  • step S41 the determination unit 221 acquires the "determination sentence group 13a after extraction and arrangement".
  • step S42 the determination unit 221 reads the data of the database 141 from the storage device 140 via the vector acquisition unit 210.
  • step S43 the determination unit 221 classifies the sentences of the "determination sentence group 13a after extraction and arrangement" by clustering. Classification by clustering specifically means to classify the input "judgment sentence group 13a after extraction and arrangement” by using a clustering technique such as Gaussian Mixture Model (GMM).
  • GMM Gaussian Mixture Model
  • step S44 the determination unit 221 acquires the feature amount of the acquired sentence.
  • the determination unit 221 holds a sentence that outputs a certain feature amount in the "determination sentence group 13a after extraction and arrangement" in the vector classification of tf-idf.
  • the determination unit 221 performs probability weighting using the classification information acquired in step S43 of sentence classification and the feature amount acquired in step S44 of acquiring feature amounts of sentences.
  • the determination unit 221 compares the probability-weighted information with the information in the database 141 stored in the storage device 140.
  • step S47 the determination unit 221 determines as a result of comparison whether the probability-weighted information is closer to the threat or the countermeasure, and outputs the determination result as the expected value “threat or countermeasure 221a”.
  • “Threat or Countermeasure 221a” indicates the expected result of the threat or countermeasure.
  • the "threat or countermeasure 221a” takes, for example, a binary value, but may take a value of any of three or more stages. For example, "threat or countermeasure 221a” is classified into four stages as shown in (1) to (4) below. (1) Inappropriate input verification for threats (2) Unimplemented encryption for threats, (3) Appropriate input verification for countermeasures, (4) Countermeasures Implementation of encryption. In this way, threats and countermeasures can be classified in detail by classifying them into four stages.
  • the determination sentence group 13 is classified as a threat and a countermeasure by using the information of the database 141 possessed by the storage device 140 of the first embodiment or the second embodiment. It can be classified into any type of.
  • FIG. 9 is a functional block diagram of the classification device 200 of the fourth embodiment.
  • the classification device 200 of FIG. 9 has a different functional configuration of the classification unit 220 from the classification device 200 of the third embodiment.
  • the classification unit 220 of the fourth embodiment includes a similar unit 222.
  • the classification unit 220 determines whether each sentence included in the determination sentence group 13 indicates a type of a threat or a countermeasure by using a plurality of acquired sentence vectors. The classification unit 220 classifies each sentence into one of the threat and countermeasure types according to the determination result, and extracts a sentence of a type different from the determination sentence group 13.
  • the hardware configuration of the classification device 200 of the fourth embodiment is the same as the hardware configuration of the output device 100 of FIG.
  • the determination sentence group 13 classified into any type of threat and countermeasure in the third embodiment is input.
  • the classification device 200 of the fourth embodiment extracts a sentence of a type different from the type of the determination sentence group 13 from the determination sentence group 13.
  • the classification device 200 of the fourth embodiment extracts sentences whose type is a countermeasure from the determination sentence group 13 whose type is a threat.
  • the similarity unit 222 inputs the "judgment sentence group 13a after extraction and arrangement" and outputs the similarity order sentence group 411.
  • FIG. 10 is a flowchart showing the operation of the similar portion 222.
  • the operation of the similar portion 222 will be described with reference to FIG. Since steps S51 to S56 are the same as steps S41 to S46 in FIG. 8, the description thereof will be omitted.
  • step S57 the determination unit 221 compares the probability-weighted information with the information in the database 141 stored in the storage device 140, and calculates a score indicating the similarity of each sentence based on the comparison result.
  • the similar unit 222 outputs sentences in the order of scores.
  • the plurality of sentences output in order of score are the sentence group 222a in order of similarity.
  • the score is referred to as the similarity.
  • the type of input determination sentence group 13 is a threat. It is registered in the database 141 of the storage device 140 that the type of the input determination sentence group 13 is a threat.
  • the type of the input determination sentence group 13 is determined by the classification device 200 of the third embodiment. As shown in FIG. 9, the determination unit 221 selects the sentence having the highest degree of similarity from the sentence group 222a in order of similarity. Further, the determination unit 221 acquires the information of the database 141 of the storage device 140 via the vector acquisition unit 210. From the acquired text and the information in the database 141, the determination unit 221 determines whether the acquired text is a threat type or a countermeasure, as in the case of the third embodiment.
  • the determination unit 221 generates either the same type 221X or a different type 221Y as the determination result. That is, the sentences acquired from the similarity order sentence group 222a may be a countermeasure having a type 221Y different from the judgment sentence group 13 whose type is a threat, or a threat having the same type 221X. If the type of the input judgment sentence group 13 is a countermeasure, the result is opposite to that when the type of the input judgment sentence group 13 is a threat.
  • the determination unit 221 determines the sentence that is the source of the generation of the different type 221Y as the measure sentence having the highest degree of similarity to the measure, and outputs this determination result as the result sentence 221Z.
  • the same type 221X is the same as the classification type of the determination sentence group 13.
  • the determination unit 221 acquires the next sentence from the similarity order sentence group 222a and makes a determination.
  • the determination unit 221 repeats acquisition and determination of sentences for a plurality of sentences of the sentence group 222a in order of similarity.
  • FIG. 11 shows a configuration in which the functions of the output device 100 are realized by hardware.
  • the electronic circuit 900 in the figure is a dedicated electronic circuit that realizes the functions of the coupling unit 110, the parameter calculation unit 120, and the vector calculation unit 130 of the output device 100.
  • the electronic circuit 900 is connected to the signal line 910.
  • the electronic circuit 900 is a single circuit, a composite circuit, a programmed processor, a parallel programmed processor, a logic IC, a GA, an ASIC, or an FPGA.
  • GA is an abbreviation for Gate Array.
  • ASIC is an abbreviation for Application Special Integrated Circuit.
  • FPGA is an abbreviation for Field-Programmable Gate Array.
  • the functions of the components of the output device 100 may be realized by one electronic circuit, or may be distributed and realized by a plurality of electronic circuits. Further, some functions of the components of the output device 100 may be realized by an electronic circuit, and the remaining functions may be realized by software.
  • Each of the processor 710 and the electronic circuit 900 is also called a processing circuit.
  • the functions of the coupling unit 110, the parameter calculation unit 120, and the vector calculation unit 130 may be realized by the processing circuit.
  • the description of the output device 100 also applies to the output device 100 of the second embodiment, the classification device 200 of the third embodiment, and the classification device 200 of the fourth embodiment.
  • the first to fourth embodiments have been described above. Of these embodiments, two or more may be combined and carried out. Alternatively, one of these embodiments may be partially implemented. Alternatively, two or more of these embodiments may be partially combined and implemented.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

結合部(110)は、脅威文章(11)と対策文章(12)とを結合し、結合文章(111)を生成する。パラメータ計算部(120)は、結合文章(111)に含まれる単語の個数を計算し、単語の個数に基づいて、結合文章(111)に含まれるそれぞれの単語の単語ベクトルを生成する際のウインドウサイズとして使用されるパラメータ(121)を計算する。ベクトル計算部(130)は、パラメータ(121)をウインドウサイズに用いて、結合文章(111)に含まれるそれぞれの単語の単語ベクトルを計算し、それぞれの単語ベクトルを用いて結合文章(111)の文章ベクトルを計算し、単語ベクトルと文章ベクトルとを記憶装置(140)に格納する。

Description

ベクトル計算装置、分類装置及び出力プログラム
 本開示は、文章の文章ベクトルを計算するベクトル計算装置に関する。
 特許文献1には、既知の脅威情報データベースから文書ベクトルを作成し、脅威を効率的に調査することを目的にWORD2VECを適用する技術の開示がある。
 また、特許文献2には、IEC/ISOのセキュリティ国際標準に基づく仕様作成において、セキュリティ機能要件への対応付け及び実装仕様の記述を容易にすることを目的とする技術の開示がある。
 また、特許文献3には、質問と回答とのペアに含まれる単語をベクトルに変換する技術の開示がある。特許文献3の技術は、文脈の因果関係に着目することにより、WORD2VECのskip-gramを用いてベクトルを作成し、従来では回答が困難であった質問に対しても、自動で回答する。
国際公開第2019/142345号パンフレット 特開2009-110277号公報 特開2019-020893号公報
 特許文献1には、脅威の分類については記載があるものの、対策との関連性については記載がない。従来方式で適切に対策を得るには、手動で専門家が脅威と対策との関連付けを実施しなければならず、その時間および技術的負荷が高い。
 特許文献2には、IEC/ISOの要件に記載されたテンプレートを適用する必要がある。そのテンプレート自体の作成方法については述べられているものの、テンプレートは特定の国際標準に合致するように構成されているため、他の国際標準のセキュリティ要件に対してこのテンプレートを適用することは難しい。
 特許文献3は、文脈の因果関係を一般の文書のベクトル化によって生成しているが、この因果関係を提供しているわけではない。特許文献3では、あるキーワードの要素と類似するものは、キーワードの要素の類似ベクトルから取得するだけで、特定のキーワード要素を類似するように工夫する技術の開示はない。
 本開示は、脅威と対策との情報を一般の文書から生成し用いることで、特許文献2のテンプレートのような特定の標準規格に合致させる形式を不要とする技術の提供を目的とする。また、本開示は、因果関係の少ない情報どうしに対して因果関係を保つ工夫を提供し、その工夫によって、脅威から対策を抽出し、及び、対策から脅威を抽出することを目的とする。
 本開示に係るベクトル計算装置は、
 自然言語の文章であり脅威を示す脅威文章と、自然言語の文章であり前記脅威文章の示す前記脅威の対策を示す対策文章とを取得し、前記脅威文章と前記対策文章とのうちいずれか一方を前方に配置し他方を後方に配置して前記脅威文章と前記対策文章とを結合し、前記脅威文章と前記対策文章とが結合された結合文章を生成する結合部と、
 前記結合文章に含まれる単語の個数を計算し、計算された前記単語の個数に基づいて、前記結合文章に含まれるそれぞれの前記単語の単語ベクトルを生成する際のパラメータであって、前記単語の前方の単語数及び後方の単語数を表すパラメータであるウインドウサイズを決定するパラメータ決定部と、
決定された前記ウインドウサイズを用いて前記結合文章に含まれるそれぞれの前記単語の単語ベクトルを計算し、それぞれの前記単語ベクトルを用いて前記結合文章の文章ベクトルを計算し、前記文章ベクトルとそれぞれの前記単語ベクトルとを記憶装置に格納するベクトル計算部と、
を備える。
 本開示によれば、脅威と対策との情報を一般の文書から生成し用いることで、特定の標準規格に合致させる形式を不要とする技術を提供できる。また、本開示によれば、因果関係の少ない情報どうしに対して因果関係を保つ工夫を提供し、その工夫によって、脅威から対策を抽出し、及び、対策から脅威を抽出することができる。
実施の形態1の図で、出力装置100の機能ブロック図。 実施の形態1の図で、出力装置100のハードウェア構成図。 実施の形態1の図で、出力装置100の動作概要を示すフローチャート。 実施の形態1の図で、パラメータ計算部120によるステップS20の処理の詳細を示すフローチャート。 実施の形態2の図で、出力装置100の機能ブロック図。 実施の形態2の図で、文章整理部150の機能構成を示す図。 実施の形態3の図で、分類装置200の機能ブロック図。 実施の形態3の図で、判定部221の動作を示すフローチャート。 実施の形態4の図で、分類装置200の機能ブロック図。 実施の形態4の図で、類似部222の動作を示すフローチャート。 実施の形態4の図で、出力装置100のハードウェア構成を補足する図。
 以下、実施の形態について、図を用いて説明する。なお、各図中、同一または相当する部分には、同一符号を付している。実施の形態の説明において、同一または相当する部分については、説明を適宜省略または簡略化する。
 実施の形態1.
 図1は、単語ベクトルを計算し、単語ベクトルを記憶装置140へ出力する出力装置100の機能ブロック図である。出力装置100は、ベクトル計算装置である。
 図1に示すように、出力装置100は、機能要素として、結合部110、パラメータ計算部120及びベクトル計算部130を備えている。パラメータ計算部120は、パラメータ決定部である。
 結合部110には、脅威文章11及び対策文章12が入力される。結合部110は、脅威文章11と対策文章12とから結合文章111を生成する。パラメータ計算部120は、結合文章111からパラメータ121を生成する。ベクトル計算部130は、パラメータ121を用いて、結合文章111に含まれる各単語の単語ベクトルを生成し、単語ベクトルと単語ベクトルが生成された単語とを対応付けて記憶装置140へ格納する。記憶装置140は、出力装置100が備えてもよいし、他の装置が備えてもよい。記憶装置140はクラウドサーバでもよい。出力装置100が記憶装置140を備える場合、補助記憶装置730が記憶装置140として機能する。結合部110、パラメータ計算部120及びベクトル計算部130の機能は動作の説明で詳しく説明する。
 以下に、出力装置100に入力される、脅威文章11と対策文章12とを説明する。
<脅威文章11>
 脅威文章11はサイバー攻撃の脅威に関する自然言語である。脅威文章11は、国際標準文書またはガイドラインのような文書に含まれる文章であり、人間が読むことができ、かつ、ならかの形式で記載されている文章である。
具体的には
(1)Common Weakness Enumeration(CWE)の、Name、DescriptionまたはExtended Descriptionに記載されている文章、
あるいは、
(2)Common Attack Pattern Enumeration and Classification(CAPEC)の、NameまたはDescriptionに記載されている文章である。
その他、セキュリティガイドラインに記載された脅威に関連する文章でもよい。
<対策文章12>
 対策文章12はサイバー攻撃の脅威に対する対策に関する自然言語である。対策文章12は自然言語である。対策文章12は、国際標準文書またはガイドラインのような文書に含まれる文章であり、人間が読むことができ、かつ、ならかの形式で記載されている文章である。
具体的には
(1)NIST Special Publications 800-53における、管理策の名称、拡張管理策の名称またはセキュリティ管理策、
あるいは、
(2)IEC 62443-4-2の各コンポーネントの、要件のタイトルまたはRequirementである。
その他にもセキュリティガイドラインに記載された対策に関連する文章でもよい。
 上記で述べた脅威文章11及び対策文章12は、出力装置100への入力情報である。出力装置100は、脅威文章11及び対策文章12を入力情報として、記憶装置140へ出力情報として単語ベクトルを出力する。
***構成の説明***
 図2は、出力装置100のハードウェア構成を示す。図2を参照して出力装置100のハードウェア構成を説明する。
 出力装置100は、コンピュータである。出力装置100は、プロセッサ710を備える。出力装置100は、プロセッサ710の他に、主記憶装置720、補助記憶装置730、入力IF740、入力IF750及び通信IF760といった、他のハードウェアを備える。プロセッサ710は、信号線770を介して、他のハードウェアと接続され、他のハードウェアを制御する。
 出力装置100は、機能要素として、結合部110、パラメータ計算部120及びベクトル計算部130を備える。結合部110,パラメータ計算部120及びベクトル計算部130の機能は、出力プログラム101により実現される。
 プロセッサ710は、出力プログラム101を実行する装置である。出力プログラム101は、データ取得部10、シミュレーション部20、設備リスク計算部30、評価部40及び表示処理部50の機能を実現するプログラムである。プロセッサ710は、演算処理を行うIC(Integrated Circuit)である。プロセッサ710の具体例は、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、GPU(Graphics Processing Unit)である。
 主記憶装置720は記憶装置である。主記憶装置720の具体例は、SRAM(Static Random Access Memory)、DRAM(Dynamic Random Access Memory)である。 主記憶装置720は、プロセッサ710の演算結果を保持する。
 補助記憶装置730は、データを不揮発的に保管する記憶装置である。補助記憶装置730の具体例は、HDD(Hard Disk Drive)である。また、補助記憶装置730は、SD(登録商標)(Secure Digital)メモリカード、NANDフラッシュ、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ(登録商標)ディスク、DVD(Digital Versatile Disk)といった可搬記録媒体であってもよい。補助記憶装置730は、ベクトル計算部130の出力データである単語ベクトル及び文章ベクトルをデータベース141として格納している。補助記憶装置730は、出力プログラム101を格納している。
 入力IF740は、各装置からデータが入力されるポートである。入力IF750は、各種機器が接続され、各種機器にプロセッサ710によりデータが出力されるポートである。通信IF760は、プロセッサが他の装置と通信するための通信ポートである。なお上記ではインターフェースをIFと表記している。
 プロセッサ710は補助記憶装置730から出力プログラム101を主記憶装置720にロードし、主記憶装置720から出力プログラム101を読み込み実行する。主記憶装置720には、出力プログラム101だけでなく、OS(Operating System)も記憶されている。
 出力装置100は、プロセッサ710を代替する複数のプロセッサを備えていてもよい。これら複数のプロセッサは、出力プログラム101の実行を分担する。それぞれのプロセッサは、プロセッサ710と同じように、出力プログラム101を実行する装置である。出力プログラム101により利用、処理または出力されるデータ、情報、信号値及び変数値は、主記憶装置720、補助記憶装置730、または、プロセッサ710内のレジスタあるいはキャッシュメモリに記憶される。
 出力プログラム101は、結合部110、パラメータ計算部120及びベクトル計算部130の「部」を、「処理」、「手順」あるいは「工程」に読み替えた各処理、各手順あるいは各工程をコンピュータに実行させるプログラムである。
 また、出力方法は、コンピュータである出力装置100が出力プログラム101を実行することにより行われる方法である。出力プログラム101は、コンピュータ読み取り可能な記録媒体に格納されて提供されてもよいし、プログラムプロダクトとして提供されてもよい。
***動作の説明***
 以下に、出力装置100の動作を説明する。出力装置100の動作手順は、出力方法に相当する。出力装置100の動作を実現するプログラムは、出力プログラム101に相当する。
 図3は、出力装置100の動作概要を示すフローチャートである。図3を使用して出力装置100の動作概要を説明する。図3の各ステップのかっこ書きは動作の主体を示す。
<ステップS10>
 ステップS10において、結合部110は、脅威文章11と対策文章12とを結合する。結合部110は、自然言語の文章であり脅威を示す脅威文章11と、自然言語の文章であり脅威文章11の示す脅威の対策を示す対策文章12とを取得する。結合部110は、取得した脅威文章11と対策文章12とのうち、いずれか一方を前方に配置し他方を後方に配置して脅威文章11と対策文章12とを結合し、脅威文章11と対策文章12とが結合された結合文章111を生成する。具体的には、結合部110は、脅威文章11の後に対策文章12を加えて、新しい文章として、結合文章111を生成する。
<ステップS20>
 ステップS20において、パラメータ計算部120は、結合部110によって生成された結合文章111から、ベクトル計算部130に入力するパラメータ121を出力する。
 パラメータ計算部120は、結合文章111に含まれる単語の個数を計算し、計算された単語の個数に基づいて、パラメータを生成する。このパラメータは、結合文章111に含まれるそれぞれの単語の単語ベクトルを生成する際のパラメータであり、単語の前方の単語数及び後方の単語数を表すパラメータであるウインドウサイズである。
 図5に示すように、パラメータ121は、Skip-Gramの式におけるmの値として使用することを想定している。ステップS20の詳細は図4で後述する。
<ステップS30>
 ステップS30において、ベクトル計算部130には、パラメータ計算部120からパラメータ121が入力され、結合部110から結合文章111が入力される。ベクトル計算部130は、パラメータ計算部120によって決定されたウインドウサイズを用いて、結合文章111に含まれるそれぞれの単語の単語ベクトルを計算する。ベクトル計算部130は、それぞれの単語の単語ベクトルを用いて結合文章111の文章ベクトルを計算し、単語ベクトルと文章ベクトルとをデータベース141として記憶装置140に格納する。
 ベクトル計算部130は、と、パラメータ121を入力し、結合文章111の文章ベクトルを生成し、記憶装置140にデータベースの形式で格納する。結合文章111の文章ベクトルを計算するには、Word2Vec、Doc2Vec、または、Sparse Composite Document Vectors(SCDV)、のようなアプリケーションを使用することができる。
 図4は、パラメータ計算部120によるステップS20の処理の詳細を示すフローチャートである。図4を使用して、パラメータ計算部120によるステップS20の詳細を説明する。
 ステップS21において、パラメータ計算部120は、結合文章111を受信する。
 ステップS22において、パラメータ計算部120は、受信した結合文章111の長さとして、単語数を抽出する。
 「Document separation of duties of individuals」の文章は結合文章111ではないが、この文章が結合文章111とすれば、パラメータ計算部120は、この文章から文章の長さとして、単語数6を抽出する。
 ステップS23において、パラメータ計算部120は、抽出した単語数NWが閾値Nより小さいか否かを判断する。例えばN=10とする。抽出した単語数NWが6のとき、NW<Nとなり処理はステップS24に進む。
 ステップS24において、パラメータ計算部120はNW=6を2で割り、NW/2=3
をパラメータ121として出力する。なお、NWが奇数のときはNW/2を整数にする。例えば、NW=7のとき、パラメータ121は3でもよいし4でもよい。このように、NW/2が奇数の場合、パラメータ計算部120は、NW/2が最も近い2つの整数のうち、いずれか一方の整数をパラメータ121として採用する。
 ステップS25において、抽出した単語数が閾値N=10以上の場合、パラメータ計算部120は、結合文章111を、脅威文章11と対策文章12とに分割する。
 ステップS26において、パラメータ計算部120は、脅威文章11の単語数と、対策文章12の単語数とを比較し、小さい方の文章を選択する。そして、パラメータ計算部120は小さい方の文章の単語数を2で割り、2で割った値をパラメータ121として採用する。2で割った値が奇数のときは、ステップS24の処理と同様である。
 ステップS21からステップS26では、パラメータ計算部120は、パラメータであるウインドウサイズを計算した。パラメータ計算部120は以下のようにパラメータを決定してもよい。
 パラメータ計算部120は、結合文章111の脅威文章11に含まれる単語数と、結合文章111の対策文章12に含まれる単語数とを計算し、脅威文章11に含まれる単語数と、対策文章12に含まれる単語数との比に基づいて、ウインドウサイズを決定してもよい。
 パラメータ121は、ステップS30において、ベクトル計算部130が単語ベクトルを計算する際のウインドウサイズmとして利用される。ウインドウサイズmは、単語と単語との関係性の距離を定める値である。ベクトル計算部130に入力される二つの異なる文章の関係性をウインドウサイズmで表現するため、ステップS20において、ウインドウサイズmとして使用するパラメータ121を計算している。
***実施の形態1の効果***
 以上のように、出力装置100は、脅威文章11と対策文章12という異なる2つの自然言語から結合文章111を生成し、結合文章111から、ベクトル計算のウインドウサイズに使用するパラメータ121を計算する。出力装置100は、パラメータ121を用いて結合文章111の文章ベクトルを記憶装置140に出力して、結合文章111の文章ベクトルのデータベースを構築する。
 よって、特定の標準規格に合致させる形式を不要とする技術に使用するデータベースを提供できる。
 また、因果関係の少ない情報どうしに対して因果関係を保つデータに関するデータベースを構築することができる。
 実施の形態2.
 図5及び図6を使用して実施の形態2の出力装置100を説明する。
 図5は、実施の形態2の出力装置100の機能ブロック図を示す。実施の形態2の出力装置100は、実施の形態1の出力装置100に対して、さらに、文章整理部150を備える。実施の形態2の出力装置100のハードウェア構成は実施の形態1の出力装置100と同一である。実施の形態2の出力装置100では、図2において、プロセッサ710がさらに文章整理部150を備える。
 実施の形態2の出力装置100では、文章整理部150が脅威文章11及び対策文章12を整理し、結合部110が整理された脅威文章11及び対策文章12から、結合文章111を生成する。結合文章111が生成された後の処理は実施の形態1と同じである。
 文章整理部150は、入力された脅威文章11から、整理された脅威文章11である脅威文章11aを出力する。また、文章整理部150は、入力された対策文章12から、整理された対策文章12である対策文章12aを出力する。
 図6は、文章整理部150の機能構成を示す。文章整理部150は、脅威文章11と対策文章12とに品詞分割を実施し、品詞分割された脅威文章11と、品詞分割された対策文章12とから、不要な品詞である不要品詞に該当する単語を削除する。
具体的には以下のようである。
 文章整理部150は、機能要素として品詞分割部151と整理部152とを備える。品詞分割部151では、脅威文章11及び対策文章12が入力される。品詞分割部151は、脅威文章11を品詞分割し、「脅威文章11から抽出された自然言語151a」(以下、自然言語151a)を生成する。品詞分割部151は、対策文章12を品詞分割し、「対策文章12から抽出された自然言語151b」(以下、自然言語151b)を生成する。具体的には、品詞分割部151は、以下のようにタグと品詞を対応付けて、品詞分割を実行する。
 以下の(1)から(15)において、左がタグ、右が品詞である。品詞分割部151は、(1)から(15)の15種類以外の自然言語である不要品詞を脅威文章11及び対策文章12から削除し、削除結果を、抽出された自然言語151a及び自然言語151bとして出力する。
(1)JJ:形容詞,(2)MD:法,(3)NN:名詞(単数形),(4)NNP:固有名詞(単数形),(5)NNPS:固有名詞(複数形),(6)NNS:名詞(複数形),(7)RB:副詞,(8)RBR:副詞(比較級),(9)RBS:副詞(最上級),(10)VB:動詞(原形)),(11)VBD:動詞(過去形),(12)VBG:動名詞または現在分詞,(13)VBN:動詞(過去分詞),(14)VBP:動詞(三人称単数以外の現在形),(15)VBZ:動詞(三人称単数の現在形)。
 整理部152は、自然言語151a及び自然言語151bに、ステミング処理、レマタイズ処理及びストップワード処理のような処理などを実施し、自然言語151a及び自然言語151bを整理する。整理部152は、自然言語151aから「抽出及び整理の後の脅威文章11a」を生成し、自然言語151bから「抽出及び整理の後の対策文章12a」を生成する。
 図5に示すように、結合部110は、不要品詞に該当する単語が削除されている脅威文章である「抽出及び整理の後の脅威文章11a」と、不要品詞に該当する単語が削除されている対策文章であると「抽出及び整理の後の対策文章12a」を取得する。結合部110は、不要品詞が削除されている「抽出及び整理の後の脅威文章11a」及び抽出及び整理の後の対策文章12a」を用いて、結合文章111aを生成する。図5において結合部110からベクトル計算部130までの処理は実施の形態1と同じである。
***実施の形態2の効果***
 実施の形態2の出力装置100は文章整理部150を備えているので、脅威文章11及び対策文章12に含まれるノイズ成分となる単語を削除することができる。
 実施の形態3.
 図7及び図8を使用して実施の形態3の分類装置200を説明する。
図7は、実施の形態3の分類装置200の機能ブロック図である。分類装置200には判定文章群13が入力される。分類装置200は、実施の形態1または実施の形態2の記憶装置140に格納されているデータベース141を用いて、判定文章群13を脅威と対策とのどちらかのタイプに分類する。
 図7に示すように、分類装置200は、記憶装置140のデータベース141から単語ベクトル及び文章ベクトルを取得するベクトル取得部210、判定文章群13を脅威と対策とのどちらかのタイプに分類する分類部220、及び文章整理部250を備えている。分類部220は判定部221を備える。
 ベクトル取得部210は、実施の形態1の出力装置100または実施の形態2の出力装置100によって複数の文章ベクトルが格納されている記憶装置140のデータベース141から、複数の文章ベクトルを取得する。分類部220は、脅威と対策とのいずれを示すかの判定対象であり自然言語の複数の文章を含む判定文章群13を取得し、判定文章群13が脅威と対策とのいずれを示すかを取得された複数の文章ベクトルを用いて判定し、判定結果に従って判定文章群13を脅威と対策とのいずれかのタイプに分類する。なお、後述のように、文章整理部250はオプションであるので、分類部220には判定文章群13が入力されてもよい。
 分類装置200のハードウェア構成は、図2の出力装置100と同様である。分類装置200では機能要素として、プロセッサ710は、ベクトル取得部210、分類部220及び文章整理部250を備える。分類装置200のハードウェア構成の図は省略する。
 文章整理部250は文章整理部150と同じ機能を有する。文章整理部250には入力データとして判定文章群13が入力される。文章整理部250は、判定文章群13から「抽出及び整理の後の判定文章群13a」を生成する。「抽出及び整理の後の判定文章群13a」は分類部220に入力される。なお文章整理部250はオプションであり、分類部220には判定文章群13が入力されてもよい。
<判定文章群13>
 図7において、脅威か対策の判定対象の判定文章群13は自然言語である。判定文章群13は自然言語である。判定文章群13は、国際標準文書またはガイドラインのような文書に含まれる文章であり、人間が読むことができ、かつ、ならかの形式で記載されている文章である。具体的には、実施の形態1で脅威文章11及び対策文章12の説明で述べた以下の(1)から(4)のような文章である。
(1)Common Weakness Enumeration(CWE)の、Name、DescriptionまたはExtended Descriptionに記載されている文章、
(2)Common Attack Pattern Enumeration and Classification(CAPEC)の、NameまたはDescriptionに記載されている文章、
(3)NIST Special Publications 800-53における、管理策の名称、拡張管理策の名称またはセキュリティ管理策、
(4)IEC 62443-4-2の各コンポーネントの、要件のタイトルまたはRequirement。
上記(1)から(4)の他にも、セキュリティガイドラインに記載された脅威に関連する文章も含む。
<文章整理部150>
 文章整理部150は、入力された判定文章群13に文章整理部150と同様の処理を実施し、「抽出及び整理の後の判定文章群13a」を出力する。「抽出及び整理の後の判定文章群13a」は、実施の形態2の「抽出及び整理の後の脅威文章11a」または「抽出及び整理の後の対策文章12a」と同様に処理された文章である。
<判定部221>
 判定部221は、「抽出及び整理の後の判定文章群13a」及び記憶装置140の格納するデータを入力として、脅威または対策221aを出力する。脅威または対策221aは、脅威と対策とのどちらかを示す情報である。脅威または対策221aは、判定文章群13が脅威と対策とのどちらのタイプかを示す。
 図8は、判定部221の動作を示すフローチャートである。図8を使用して判定部221の動作を説明する。図8は判定部221の行うSCDVの処理をフローチャート化している。
 ステップS41において、判定部221は、「抽出及び整理の後の判定文章群13a」を取得する。
 ステップS42において、判定部221は、ベクトル取得部210を介して、記憶装置140からデータベース141のデータを読み込む。
 ステップS43において、判定部221は、「抽出及び整理の後の判定文章群13a」の文章をクラスタリングで分類する。クラスタリングで分類とは、具体的には、Gaussian Mixture Model(GMM)のようなクラスタリング技術を使って、入力された「抽出及び整理の後の判定文章群13a」を分類することを意味する。
 ステップS44において、判定部221は、取得した文章の特徴量を取得する。
具体的には、判定部221は、tf-idfのベクトル分類で、「抽出及び整理の後の判定文章群13a」の中で一定の特徴量を出力する文章を保持しておく。
 ステップS45において、判定部221は、文章分類のステップS43で取得した分類情報と、文章の特徴量取得のステップS44で取得した特徴量とを用いて、確率重み付けを実施する。
 ステップS46において、判定部221は、この確率重みづけした情報と、記憶装置140に格納されたデータベース141の情報とを比較する。
 ステップS47において、判定部221は、比較の結果、確率重みづけした情報が脅威と対策とのどちらに近いかを判定し、判定結果を予想値である「脅威または対策221a」として出力する。
「脅威または対策221a」は、脅威もしくは対策の予想結果を示す。
「脅威または対策221a」は、例えば2値をとるが、3以上の段階のいずれかの段階の値をとってもよい。
 例えば、「脅威または対策221a」を以下の(1)から(4)のように4段階に分類する。
(1)脅威について不適切な入力検証
(2)脅威について暗号化の未実装、
(3)対策について適切な入力検証、
(4)対策について暗号化の実装。
このように、4段階に分類することで脅威及び対策を詳細に分類できる。
***実施の形態3の効果***
 以上のように、実施の形態3の分類装置200によれば、実施の形態1または実施の形態2の記憶装置140の有するデータベース141の情報を用いて、判定文章群13を、脅威と対策とのいずれかのタイプに分類することができる。
 実施の形態4.
 図9及び図10を使用して実施の形態4の分類装置200を説明する。
図9は、実施の形態4の分類装置200の機能ブロック図である。図9の分類装置200は、実施の形態3の分類装置200に対して分類部220の機能構成が異なる。実施の形態4の分類部220は、類似部222を備えている。
 分類部220は、判定文章群13に含まれるそれぞれの文章が脅威と対策とのどちらのタイプを示すかを、取得された複数の文章ベクトルを用いて判定する。分類部220は、その判定結果に従って、それぞれの文章を脅威と対策とのいずれかのタイプに分類し、判定文章群13と異なるタイプの文章を抽出する。
 実施の形態4の分類装置200のハードウェア構成は図2の出力装置100のハードウェア構成と同じである。
 実施の形態4の分類装置200には、実施の形態3で脅威と対策とのいずれかのタイプに分類された判定文章群13が入力される。実施の形態4の分類装置200は、判定文章群13のタイプとは異なるタイプの文章を、判定文章群13から抽出する。
 以下では、判定文章群13のタイプは脅威であるとする。この場合、実施の形態4の分類装置200は、タイプが脅威である判定文章群13から、タイプが対策である文章を抽出する。
<類似部222>
 類似部222は、「抽出及び整理の後の判定文章群13a」を入力として、類似度順文章群411を出力する。
 図10は、類似部222の動作を示すフローチャートである。図10を使用して類似部222の動作を説明する。ステップS51からステップS56は、図8のステップS41からステップS46と同一であるので、説明は省略する。
<ステップS57>
 ステップS57において、判定部221は、この確率重みづけした情報と、記憶装置140に格納されたデータベース141の情報とを比較し、比較結果に基づき、各文章の類似度を示すスコアを計算する。図9に示すように、類似部222は、スコア順に、文章を出力する。スコア順に出力された複数の文章が、類似度順文章群222aである。以下、スコアは類似度と表記する。
<ステップS57の後の処理>
 この例では、入力された判定文章群13のタイプは脅威である。入力された判定文章群13のタイプが脅威であることは記憶装置140のデータベース141に登録されている。入力された判定文章群13のタイプは実施の形態3の分類装置200によって判定されている。図9に示すように、判定部221は、類似度順文章群222aのなかから最も大きな類似度の文章を選択する。また、判定部221は、ベクトル取得部210を介して記憶装置140のデータベース141の情報を取得する。判定部221は、取得した文章と、データベース141の情報とから、実施の形態3の場合と同様に、取得した文章が脅威と対策とのどちらのタイプかを判定する。
判定部221は、判定結果として、同一タイプ221Xと、異なるタイプ221Yとのどちらかを生成する。つまり、類似度順文章群222aのなかから取得した文章は、タイプが脅威である判定文章群13と異なるタイプ221Yである対策の場合と、同一タイプ221Xである脅威の場合がある。入力された判定文章群13のタイプが対策であれば、入力された判定文章群13のタイプが脅威の場合と、結果は逆になる。
 判定部221は、異なるタイプ221Yを生成した場合は、異なるタイプ221Yの生成の元になる文章を、対策と最も類似度の高い対策文章として判定し、この判定結果を結果文章221Zとして出力する。同一タイプ221Xは、判定文章群13の分類のタイプと同一である。
 判定部221は、類似度順文章群222aのなかから取得した文章の判定が終了すると、類似度順文章群222aのなかから次の文章を取得し、判定を行う。類似度順文章群222aの複数の文章に対して、判定部221は、文章の取得及び判定を繰り返す。
***実施の形態4の効果***
 以上のように、実施の形態4の分類装置200によれば、脅威のタイプを示す判定文章群13が入力されることで、判定文章群13のタイプと異なるタイプの分類である対策文章を取得できる。実施の形態4の分類装置200によれば、対策のタイプを示す判定文章群13が入力されることで、判定文章群13のタイプと異なるタイプの分類である脅威文章を取得できる。
<ハードウェア構成の補足>
 図2の出力装置100では出力装置100の機能がソフトウェアで実現されるが、出力装置100の機能がハードウェアで実現されてもよい。
図11は、出力装置100の機能がハードウェアで実現される構成を示す。図の電子回路900は、出力装置100の、結合部110、パラメータ計算部120及びベクトル計算部130の機能を実現する専用の電子回路である。電子回路900は、信号線910に接続している。電子回路900は、具体的には、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックIC、GA、ASIC、または、FPGAである。GAは、Gate Arrayの略語である。ASICは、Application Specific Integrated Circuitの略語である。FPGAは、Field-Programmable Gate Arrayの略語である。出力装置100の構成要素の機能は、1つの電子回路で実現されてもよいし、複数の電子回路に分散して実現されてもよい。また、出力装置100の構成要素の一部の機能が電子回路で実現され、残りの機能がソフトウェアで実現されてもよい。
 プロセッサ710と電子回路900の各々は、プロセッシングサーキットリとも呼ばれる。出力装置100において、結合部110、パラメータ計算部120及びベクトル計算部130の機能がプロセッシングサーキットリにより実現されてもよい
 ハードウェアの補足に関して出力装置100の説明は、実施の形態2の出力装置100、実施の形態3の分類装置200、及び実施の形態4の分類装置200にも当てはまる。
 以上、実施の形態1から実施の形態4について説明した。これらの実施の形態のうち、2つ以上を組み合わせて実施しても構わない。あるいは、これらの実施の形態のうち、1つを部分的に実施しても構わない。あるいは、これらの実施の形態のうち、2つ以上を部分的に組み合わせて実施しても構わない。
 11 脅威文章、12 対策文章、13 判定文章群、11a 抽出及び整理の後の脅威文章、12a 抽出及び整理の後の対策文章、13a 抽出及び整理の後の判定文章群、100 出力装置、101 出力プログラム、110 結合部、111 結合文章、120 パラメータ計算部、121 パラメータ、130 ベクトル計算部、140 記憶装置、141 データベース、150 文章整理部、151 品詞分割部、151a 自然言語、151b 自然言語、152 整理部、200 分類装置、210 ベクトル取得部、250 文章整理部、220 分類部、221 判定部、221X 同一タイプ、221Y 異なるタイプ、221Z 結果文章、222 類似部、710 プロセッサ、720 主記憶装置、730 補助記憶装置、740 入力IF、750 出力IF、760 通信IF、770 信号線、900 電子回路、910 信号線。

Claims (6)

  1.  自然言語の文章であり脅威を示す脅威文章と、自然言語の文章であり前記脅威文章の示す前記脅威の対策を示す対策文章とを取得し、前記脅威文章と前記対策文章とのうちいずれか一方を前方に配置し他方を後方に配置して前記脅威文章と前記対策文章とを結合し、前記脅威文章と前記対策文章とが結合された結合文章を生成する結合部と、
     前記結合文章に含まれる単語の個数を計算し、計算された前記単語の個数に基づいて、前記結合文章に含まれるそれぞれの前記単語の単語ベクトルを生成する際のパラメータであって、前記単語の前方の単語数及び後方の単語数を表すパラメータであるウインドウサイズを決定するパラメータ決定部と、
     決定された前記ウインドウサイズを用いて前記結合文章に含まれるそれぞれの前記単語の単語ベクトルを計算し、それぞれの前記単語ベクトルを用いて前記結合文章の文章ベクトルを計算し、前記文章ベクトルとそれぞれの前記単語ベクトルとを記憶装置に格納するベクトル計算部と、
    を備えるベクトル計算装置。
  2.  前記パラメータ決定部は、
     前記結合文章の前記脅威文章に含まれる単語数と、前記結合文章の前記対策文章に含まれる単語数とを計算し、前記脅威文章に含まれる単語数と、前記対策文章に含まれる単語数との比に基づいて、前記ウインドウサイズを決定する請求項1に記載のベクトル計算装置。
  3.  前記ベクトル計算装置は、さらに、
    前記脅威文章と前記対策文章とに品詞分割を実施し、品詞分割された前記脅威文章と、品詞分割された前記対策文章とから、不要な品詞である不要品詞に該当する単語を削除する文章整理部を備え、
     前記結合部は、
     前記不要品詞に該当する前記単語が削除されている前記脅威文章と、前記不要品詞に該当する前記単語が削除されている前記対策文章とを取得し、前記不要品詞が削除されている前記脅威文章及び前記対策文章を用いて、前記結合文章を生成する請求項1または請求項2に記載のベクトル計算装置。
  4.  請求項1に記載の前記ベクトル計算装置によって複数の前記文章ベクトルが格納されている前記記憶装置から、複数の前記文章ベクトルを取得するベクトル取得部と、
     脅威と対策とのいずれを示すかの判定対象であり自然言語の複数の文章を含む判定文章群を取得し、前記判定文章群が脅威と対策とのいずれを示すかを取得された複数の前記文章ベクトルを用いて判定し、判定結果に従って前記判定文章群を前記脅威と前記対策とのいずれかのタイプに分類する分類部と、
     を備える分類装置。
  5.  前記分類部は、
     前記判定文章群に含まれるそれぞれの前記文章が前記脅威と前記対策とのいずれを示すかを取得された複数の前記文章ベクトルを用いて判定し、判定結果に従ってそれぞれの前記文章を前記脅威と前記対策とのいずれかのタイプに分類し、前記判定文章群と異なるタイプの前記文章を抽出する請求項4に記載の分類装置。
  6.  コンピュータに、
     自然言語の文章であり脅威を示す脅威文章と、自然言語の文章であり前記脅威文章の示す前記脅威の対策を示す対策文章とを取得し、前記脅威文章と前記対策文章とのうちいずれか一方を前方に配置し他方を後方に配置して前記脅威文章と前記対策文章とを結合し、前記脅威文章と前記対策文章とが結合された結合文章を生成する結合処理と、
     前記結合文章に含まれる単語の個数を計算し、計算された前記単語の個数に基づいて、前記結合文章に含まれるそれぞれの前記単語の単語ベクトルを生成する際のパラメータであって、前記単語の前方の単語数及び後方の単語数を表すパラメータであるウインドウサイズを決定するパラメータ決定処理と、
     決定された前記ウインドウサイズを用いて前記結合文章に含まれるそれぞれの前記単語の単語ベクトルを計算し、それぞれの前記単語ベクトルを用いて前記結合文章の文章ベクトルを計算し、前記文章ベクトルとそれぞれの前記単語ベクトルとを記憶装置に格納するベクトル計算処理と、
    を実行させる出力プログラム。
PCT/JP2020/001556 2020-01-17 2020-01-17 ベクトル計算装置、分類装置及び出力プログラム WO2021144979A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2021560126A JP7003343B2 (ja) 2020-01-17 2020-01-17 ベクトル計算装置、分類装置及び出力プログラム
PCT/JP2020/001556 WO2021144979A1 (ja) 2020-01-17 2020-01-17 ベクトル計算装置、分類装置及び出力プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/001556 WO2021144979A1 (ja) 2020-01-17 2020-01-17 ベクトル計算装置、分類装置及び出力プログラム

Publications (1)

Publication Number Publication Date
WO2021144979A1 true WO2021144979A1 (ja) 2021-07-22

Family

ID=76864104

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/001556 WO2021144979A1 (ja) 2020-01-17 2020-01-17 ベクトル計算装置、分類装置及び出力プログラム

Country Status (2)

Country Link
JP (1) JP7003343B2 (ja)
WO (1) WO2021144979A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011048560A (ja) * 2009-08-26 2011-03-10 Toshiba Corp セキュリティ設計支援装置及びプログラム
WO2018159010A1 (ja) * 2017-03-03 2018-09-07 日本電信電話株式会社 選択装置、選択方法及び選択プログラム
WO2019138542A1 (ja) * 2018-01-12 2019-07-18 三菱電機株式会社 対策立案支援装置、対策立案支援方法及び対策立案支援プログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011048560A (ja) * 2009-08-26 2011-03-10 Toshiba Corp セキュリティ設計支援装置及びプログラム
WO2018159010A1 (ja) * 2017-03-03 2018-09-07 日本電信電話株式会社 選択装置、選択方法及び選択プログラム
WO2019138542A1 (ja) * 2018-01-12 2019-07-18 三菱電機株式会社 対策立案支援装置、対策立案支援方法及び対策立案支援プログラム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ABE, TATUYA ET AL.: "Eliciting Security Functional Requirements Using Security Targets", IPSJ SIG TECHNICAL REPORT, SOFTWARE ENGINEERING, 25 March 2015 (2015-03-25), pages 1 - 8 *
MIYAJI, RYOSUKE ET AL.: "Procedure for Risk Policy Document Sampling from Project Reports using Constrained Clustering", IEEJ DOCUMENTS, 11 September 2013 (2013-09-11), pages 25 - 29 *

Also Published As

Publication number Publication date
JPWO2021144979A1 (ja) 2021-07-22
JP7003343B2 (ja) 2022-01-20

Similar Documents

Publication Publication Date Title
CN111859960B (zh) 基于知识蒸馏的语义匹配方法、装置、计算机设备和介质
TWI746509B (zh) 信用分的獲取、特徵向量值的輸出方法及其裝置
US9690772B2 (en) Category and term polarity mutual annotation for aspect-based sentiment analysis
JP7100747B2 (ja) 学習データ生成方法および装置
Ikeda et al. Learning to shift the polarity of words for sentiment classification
KR102310487B1 (ko) 속성 단위 리뷰 분석 장치 및 방법
US20210182405A1 (en) Security assessment device, security assessment method, and computer readable medium
CN115114919A (zh) 呈现提示信息的方法和装置以及存储介质
Wu et al. Dual autoencoders generative adversarial network for imbalanced classification problem
TWI749349B (zh) 文本還原方法、裝置及電子設備與電腦可讀儲存媒體
An et al. Improving targeted multimodal sentiment classification with semantic description of images.
WO2021144979A1 (ja) ベクトル計算装置、分類装置及び出力プログラム
Hendrickson et al. Identifying exceptional descriptions of people using topic modeling and subgroup discovery
JP6178480B1 (ja) データ分析システム、その制御方法、プログラム、及び、記録媒体
WO2019019711A1 (zh) 行为模式数据的发布方法、装置、终端设备及介质
Patel Detection of Maliciously Authored News Articles
JP7487768B2 (ja) 要約生成装置、要約生成方法及びプログラム
Santosh current trends in image processing and pattern recognition
JP2018077604A (ja) 機能記述からの実現手段・方法の侵害候補を自動特定する人工知能装置
JP7099254B2 (ja) 学習方法、学習プログラム及び学習装置
Zong et al. Towards visualizing and detecting audio adversarial examples for automatic speech recognition
US11842314B1 (en) Apparatus for a smart activity assignment for a user and a creator and method of use
JP2019133478A (ja) 計算機システム
CN115688771B (zh) 一种文书内容比对性能提升方法及系统
WO2022153711A1 (en) Training apparatus, classification apparatus, training method, classification method, and program

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021560126

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20914707

Country of ref document: EP

Kind code of ref document: A1