WO2021144852A1 - データ分類装置、データ分類方法、及びプログラム - Google Patents

データ分類装置、データ分類方法、及びプログラム Download PDF

Info

Publication number
WO2021144852A1
WO2021144852A1 PCT/JP2020/000902 JP2020000902W WO2021144852A1 WO 2021144852 A1 WO2021144852 A1 WO 2021144852A1 JP 2020000902 W JP2020000902 W JP 2020000902W WO 2021144852 A1 WO2021144852 A1 WO 2021144852A1
Authority
WO
WIPO (PCT)
Prior art keywords
classification
data
unit
feature vector
estimation process
Prior art date
Application number
PCT/JP2020/000902
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 US17/792,769 priority Critical patent/US11934427B2/en
Priority to PCT/JP2020/000902 priority patent/WO2021144852A1/ja
Priority to JP2021571085A priority patent/JP7310933B2/ja
Publication of WO2021144852A1 publication Critical patent/WO2021144852A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/285Clustering or classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]

Definitions

  • the present invention relates to a technique for classifying data.
  • IDS Intrusion Detection System
  • IPS Intrusion Prevention System
  • the above-mentioned signature is a communication pattern file used for IDS / IPS pattern matching.
  • IDS / IPS it is possible to set the behavior when the communication matches a certain signature.
  • there are logging and notification as behaviors that can be set and in the case of IPS, it is also possible to set blocking in addition to logging and notification.
  • Security operators who handle IDS / IPS need to classify signatures used in IDS / IPS. This classification corresponds to setting the behavior when IDS / IPS detects a communication matching the signature.
  • Non-Patent Document 1 in order to avoid using an incorrect classification, whether the probability of correct answer is high (correct classification) or the probability of correct answer is low (incorrect classification).
  • the technique for estimating is disclosed.
  • error determination can be performed by the prior art disclosed in Non-Patent Document 1, better error determination accuracy is required. That is, better classification accuracy is required.
  • the present invention has been made in view of the above points, and an object of the present invention is to provide a technique for accurately classifying data.
  • a data conversion unit that generates a feature vector using the classification target data, and Classification that acquires observation information of the classification process based on the feature vector from the classification estimation unit provided with a plurality of weak classifiers that estimate the classification of the classification target data, and generates a classification estimation process feature vector based on the observation information.
  • the estimation process observation unit and An error determination is made by inputting the classification estimation process feature vector generated by the classification estimation process observation unit and the classification result output from the classification estimation unit into which the feature vector is input, and determining the correctness of the classification result.
  • a data classification device including a unit is provided.
  • a technology for accurately classifying data is provided.
  • the data classification technology described below can be applied to various fields.
  • a security operator who handles security systems such as IDS / IPS classifies signatures, which are malicious communication pattern files used in those systems. Applicable to doing.
  • the functional configuration of the data classification device 100 in this embodiment will be described.
  • the data classification device 100 determines the operation of the learning phase in which the classification estimation unit 130 and the error determination unit 150 learn (parameter adjustment), and the classification of the classification target data using the learned classification estimation unit 130 and the error determination unit 150. Performs the operation of the classification phase to be performed.
  • the functional configuration of the data classification device 100 is basically the same between the learning phase and the classification phase, but there are differences in the information to be processed.
  • FIG. 1 shows the functional configuration of the data classification device 100 in the learning phase.
  • FIG. 1 also shows information input to each functional unit and information output from each functional unit.
  • the data classification device 100 includes an external information acquisition unit 110, a data conversion unit 120, a classification estimation unit 130, a classification estimation process observation unit 140, and an error determination unit 150.
  • a learning unit 160 that executes a process related to learning of the classification estimation unit 130 and the error determination unit 150 may be provided. Since each of the classification estimation unit 130 and the error determination unit 150 includes a learning function, the learning unit 160 may not be provided.
  • the functional outline of each functional part is as follows. The following functional outline is common to the learning phase and the classification phase.
  • the external information acquisition unit 110 is a functional unit that refers to the information in the input data and automatically acquires the external information corresponding to the information on the Internet or the like.
  • the data conversion unit 120 is a functional unit for converting data and its external information into a feature vector.
  • the feature vector can be generated by combining the Onehot encoding and the TF-IDF (Term Frequency-Inverse Document Frequency).
  • the classification estimation unit 130 is a functional unit that estimates the classification of data by ensemble learning.
  • the model for estimating the classification is not limited to a specific model, but for example, an SVM (support vector machine) model or a neural network model can be used.
  • the classification estimation unit 130 includes a classifier by ensemble learning that uses a plurality of the models. By using the learning data set, the internal parameters of the classification estimation unit 130 are adjusted by machine learning.
  • the classification estimation process observation unit 140 is a functional unit that observes the calculation process when the classification estimation unit 130 estimates the classification of the classification target data and creates a feature vector based on the observation result.
  • the error determination unit 150 receives the classification result from the classification estimation unit 130, and also receives the observation data (specifically, the feature vector) of the classification estimation process from the classification estimation process observation unit 140, and classifies based on the observation data.
  • the estimation unit 130 determines whether the estimated classification is "correct” or "error”, and outputs the classification result and the error determination result.
  • the internal parameters of the error determination unit 150 are adjusted by machine learning.
  • a list of learning data and labels (a list having a plurality of pairs of learning data and labels) is input to the external information acquisition unit 110.
  • the list of training data and labels is a list in which data and labels for performing machine learning are associated with each other.
  • the label represents a classification that is the correct answer for the data, and the correspondence between the data and the label is always associated even during processing in the data classification device 100.
  • the external information acquisition unit 110 in which the learning data and the list of labels are input extracts the reference destination of the external information described in the data for each data in the list, and extracts the external information corresponding to the reference destination. Acquire and add the acquired external information to the data.
  • the external information acquisition unit 110 transmits to the data conversion unit 120 a ⁇ list of data with external information for learning and labels>, which is a list of learning data and labels to which external information is added to each data.
  • the data conversion unit 120 performs the processing described later on the ⁇ list of data with external information for learning and labels> received from the external information acquisition unit 110 to generate a ⁇ list of feature vectors and labels for learning>. Then, ⁇ a list of feature vectors and labels for learning> is transmitted to the classification estimation unit 130.
  • the classification estimation unit 130 in the learning phase inputs a learning feature vector for each set of "learning feature vectors and labels" in the ⁇ list of learning feature vectors and labels>, and outputs a classification result. , By comparing with the label that is the correct answer, parameter adjustment by machine learning is performed so that errors are reduced.
  • the classification estimation unit 130 After adjusting the parameters, the classification estimation unit 130 transmits the ⁇ list of classification estimation process information for learning> obtained by inputting the list of feature vectors for learning to the classification estimation process observation unit 140. Further, the classification estimation unit 130 transmits ⁇ a list of classification results and labels of learning feature vectors> to the error determination unit 150.
  • the classification estimation process observation unit 140 acquires the predicted score for each class (each classification) from the weak classifier as a numerical vector, and combines all the numerical vectors acquired by each weak classifier into a feature vector of the classification estimation process. .. In the learning phase, this is obtained as a ⁇ list of feature vectors of the classification estimation process for learning>.
  • the classification estimation process observation unit 140 transmits ⁇ a list of feature vectors of the classification estimation process for learning> to the error determination unit 150.
  • the error determination unit 150 receives from the classification estimation unit 130 ⁇ list of classification results and labels of learning feature vectors> and receives from the classification estimation process observation unit 140 ⁇ list of feature vectors of classification estimation process for learning>. Parameter adjustment by machine learning is performed using and. The details of the learning method will be described later.
  • FIG. 2 shows the functional configuration of the data classification device 100 in the classification phase. As shown in FIG. 2, the functional configuration is the same as that in FIG. 1, but the information processed is different from the information processed in FIG.
  • a list of data to be classified is input to the external information acquisition unit 110.
  • the data list is a list of data to be automatically classified by the data classification device 100.
  • the external information acquisition unit 110 into which the data list is input automatically acquires the external information from the reference destination of the external information described in the data for each data in the list, and the external information acquired in the data. Is given.
  • the external information acquisition unit 110 transmits a ⁇ list of data with external information> to which external information is added to each data to the data conversion unit 120.
  • the data conversion unit 120 performs the processing described later on the ⁇ list of data with external information> received from the external information acquisition unit 110 to generate a ⁇ list of feature vectors> and classifies the ⁇ list of feature vectors>. It is transmitted to the estimation unit 130.
  • the classification estimation unit 130 inputs each feature vector in the ⁇ list of feature vectors> and outputs the classification result for each feature vector as a ⁇ list of classification results>. Further, the classification estimation unit 130 transmits the ⁇ list of classification estimation process information> obtained in the process of classification processing to the classification estimation process observation unit 140. Further, the classification estimation unit 130 transmits the ⁇ list of classification results> obtained as a result of the classification to the error determination unit 150.
  • the classification estimation process observation unit 140 acquires the predicted score for each class (each classification) from each weak classifier as a numerical vector, and combines all the acquired numerical vectors to obtain a feature vector for the classification estimation process. In the classification phase, this is obtained as a ⁇ list of feature vectors in the classification estimation process>.
  • the classification estimation process observation unit 140 transmits ⁇ a list of feature vectors of the classification estimation process> to the error determination unit 150.
  • the error determination unit 150 performs error determination using the ⁇ list of classification results> received from the classification estimation unit 130 and the ⁇ list of feature vectors of the classification estimation process> received from the classification estimation process observation unit 140, and classifies them. Outputs a list of results and error judgment results.
  • the "list of classification results and error determination results” is a list of the classification results of the data in the input "list of data” and the error determination results for the classification determination results of the data.
  • the "list of classification results and error determination results” is output in a state of being associated with each data item in the "data list”.
  • the data classification device 100 can be realized, for example, by causing a computer to execute a program describing the processing contents described in the present embodiment.
  • the "computer” may be a physical machine or a virtual machine on the cloud.
  • the "hardware” described here is virtual hardware.
  • the above program can be recorded on a computer-readable recording medium (portable memory, etc.), saved, and distributed. It is also possible to provide the above program through a network such as the Internet or e-mail.
  • FIG. 3 is a diagram showing a hardware configuration example of the above computer.
  • the computer of FIG. 3 has a drive device 1000, an auxiliary storage device 1002, a memory device 1003, a CPU 1004, an interface device 1005, a display device 1006, an input device 1007, and the like, which are connected to each other by a bus BS.
  • the program that realizes the processing on the computer is provided by, for example, a recording medium 1001 such as a CD-ROM or a memory card.
  • a recording medium 1001 such as a CD-ROM or a memory card.
  • the program is installed in the auxiliary storage device 1002 from the recording medium 1001 via the drive device 1000.
  • the program does not necessarily have to be installed from the recording medium 1001, and may be downloaded from another computer via the network.
  • the auxiliary storage device 1002 stores the installed program and also stores necessary files, data, and the like.
  • the memory device 1003 reads and stores the program from the auxiliary storage device 1002 when the program is instructed to start.
  • the CPU 1004 realizes the function related to the device according to the program stored in the memory device 1003.
  • the interface device 1005 is used as an interface for connecting to a network.
  • the display device 1006 displays a programmatic GUI (Graphical User Interface) or the like.
  • the input device 1007 is composed of a keyboard, a mouse, buttons, a touch panel, and the like, and is used for inputting various operation instructions.
  • the signature is a pattern file that describes the malicious communication pattern used for IPS / IDS.
  • the method of describing the signature differs depending on the IPS / IDS vendor, in the present embodiment, one signature may include any of the following information.
  • ⁇ Content The communication pattern itself. Consists of binaries and strings. If there is communication that matches the content, it is determined that the signature is applicable. There may be multiple contents in one signature.
  • FIG. 4 shows an example of an OSS IDS / IPS engine signature called SNOTE (https://snort.org/) as a specific example of the signature.
  • the protocol, source address, source port, destination address, and destination port of "5tuple" correspond to the positions of tcp, $ EXTERNAL NET, any, $ HTTP SERVERS, and $ HTTP PORTS, respectively.
  • the SNOTE signature shown in Fig. 4 is quoted from the WEB page of "https://www.atmarkit.co.jp/ait/articles/0502/04/news120.html".
  • the data classification device 100 can also classify data other than signatures. For example, it is also possible to use an image, a document, a voice, or the like as the data. When an image, a document, a voice or the like is used as the data, the conversion procedure of the external information acquisition unit 110 and the data conversion unit 120 may be set to the conversion procedure corresponding to the data such as the image, the document and the voice.
  • the data conversion unit 120 converts the image into a feature vector consisting of HOG (Histograms of Oriented Gradients) features. Further, any of images, documents, sounds, and the like may be converted into feature vectors by deep learning.
  • HOG Hemograms of Oriented Gradients
  • the user of the data classification device 100 prepares signatures and assigns labels to an arbitrary number of signatures.
  • this label refers to the behavior of IDS / IPS (logging, notification, blocking, etc.) for communications that match the signature.
  • IDS / IPS logging, notification, blocking, etc.
  • a list of labeled signatures is referred to as a "list of training data and labels”.
  • S101 Input
  • the user inputs a "list of learning data and labels" to the external information acquisition unit 110 of the data classification device 100.
  • the external information acquisition unit 110 refers to the information in the learning data for each learning data in the "list of learning data and labels", and automatically acquires the corresponding external information on the Internet. In this embodiment, it is not essential to use external information.
  • the feature vector may be generated only from the learning data (only the classification target data in the classification phase) without using external information.
  • the external information acquisition unit 110 can acquire external information by using, for example, the URL or CVE number of the reference destination (reference in the case of SNOTE). More specifically, the external information acquisition unit 110 acquires external information by designating the URL or the like by extracting the URL or the like from the signature with a regular expression and using software such as wget or curl.
  • the external information acquisition unit 110 creates a ⁇ list of data with external information for learning and labels> to which the external information acquired for each learning data in the "list of data for learning and labels" is attached, and ⁇ list for learning. List of data with external information and labels> is transmitted to the data conversion unit 120.
  • the data conversion unit 120 converts the data into a feature vector.
  • An example of processing in this embodiment using a signature as data is as follows.
  • the data conversion unit 120 converts the signature into a feature vector for learning for the five tuples, the message, the content, and the four reference information included in the signature by the following procedure.
  • the data conversion unit 120 executes the following processes S1 to S5 for each of the signatures with external information for learning in the ⁇ list of data with external information for learning and labels> received from the external information acquisition unit 110. do.
  • the order of processing of S1 to S4 is arbitrary.
  • the data conversion unit 120 converts each of the 5tuple protocol, source address, source port, destination address, and destination port into a numerical vector using Onehot encoding.
  • the data conversion unit 120 regards the message as a document and converts it into a numerical vector by TF-IDF.
  • the data conversion unit 120 regards the content as a document and converts it into a numerical vector by TF-IDF.
  • the plurality of contents are combined in advance and regarded as one document to perform TF-IDF.
  • the data conversion unit 120 regards the external information acquired by using the reference destination as a document and converts it into a numerical vector by TF-IDF.
  • TF-IDF a numerical vector by TF-IDF
  • the data conversion unit 120 connects the numerical vector obtained by S1, the numerical vector obtained by S2, the numerical vector obtained by S3, and the numerical vector obtained by S4 to form a feature vector for learning. To get. This concatenation process is performed for each signature. For example, for a signature, the numerical vector obtained by S1 is V1, the numerical vector obtained by S2 is V2, the numerical vector obtained by S3 is V3, and the numerical vector obtained by S4. Assuming that is V4, [V1 V2 V3 V4] can be obtained as a feature vector for learning.
  • Onehot encoding and TF-IDF itself are existing technologies.
  • Onehot encoding is an encoding that converts information to be encoded into a vector such that one component is 1 and the remaining components are all 0.
  • TF-IDF is one of the methods for evaluating the importance of words contained in a document.
  • S1 to S5 executing all of the above S1 to S5 is an example.
  • the process of any one of S1 to S4 may be executed, and S5 may not be performed.
  • any two processes of S1 to S4 may be executed, and in S5, the two numerical vectors may be concatenated.
  • any three processes of S1 to S4 may be executed, and in S5, the three numerical vectors may be concatenated.
  • the data conversion unit 120 creates a ⁇ list of data with external information for learning and labels> which is a list of pairs of feature vectors for learning and corresponding labels, and the ⁇ data with external information for learning and labels>.
  • the label list> is transmitted to the classification estimation unit 130.
  • the technique according to this embodiment can convert a signature composed of a character string into a numerical vector.
  • the classification estimation unit 130 is learned.
  • the classification estimation unit 130 includes a plurality of classifiers (called weak classifiers), and estimates the classification of data by ensemble learning.
  • Ensemble learning is a method of improving classification performance by training a plurality of weak classifiers and integrating the classification results of the learned multiple weak classifiers.
  • any method may be applied as long as the inside of the classification estimation unit 130 is composed of a plurality of weak classifiers.
  • the simplest example of ensemble learning is a majority vote with multiple weak classifiers (bagging).
  • Each weak classifier is a low discriminating classifier trained with a small amount of non-restoratively extracted samples from the training sample.
  • it functions as one classifier as a whole, and high performance can be obtained.
  • learning (supervised learning) of the classification estimation unit 130 is performed using the ⁇ list of feature vectors and labels for learning> output from the data conversion unit 120, and the internal parameters of the classification estimation unit 130 are adjusted. ..
  • the learning feature vector in the ⁇ list of learning feature vectors and labels> is input to each weak classifier, and the output from the weak classifier and the correct answer (learning feature vector). Compare with the corresponding label) and adjust the internal parameters to reduce the error.
  • Such a learning process may be executed by the classification estimation unit 130 itself, or may be executed by the learning unit 160 by providing the learning unit 160 outside the classification estimation unit 130.
  • the classification estimation unit 130 After learning the classification estimation unit 130 (after adjusting the internal parameters), the classification estimation unit 130 performs a process of estimating the classification for each learning feature vector in the ⁇ list of learning feature vectors and labels>. Obtain ⁇ list of classification estimation process information for learning> and ⁇ list of classification results and labels of feature vectors for learning>.
  • the classification estimation unit 130 transmits a ⁇ list of classification estimation process information for learning> to the classification estimation process observation unit 140, and transmits a ⁇ list of classification results and labels of learning feature vectors> to the error determination unit 150.
  • the classification estimation process information for learning is the predicted score for each weak classifier.
  • the classification estimation process observation unit 140 acquires all of the prediction scores output from each of the plurality of weak classifiers included in the classification estimation unit 130, and creates a feature vector by combining them.
  • the classification estimation process observation unit 140 creates a feature vector of the classification estimation process by performing the following procedures S1 and S2 for each classification estimation process information in the ⁇ list of classification estimation process information for learning>.
  • the classification estimation process observation unit 140 acquires the predicted score for each class (classification) from each weak classifier as a numerical vector.
  • the classification estimation process observation unit 140 uses a vector obtained by combining all the acquired numerical vectors as a feature vector.
  • FIG. 6 shows an image of creating a feature vector when a neural network is used as a weak classifier constituting the classification estimation unit 130.
  • the classification estimation unit 130 has three weak classifiers A to C, and the output layer of each weak classifier is used as an observation point.
  • the outputs (three numerical vectors) from the weak classifiers A to C shown in FIG. 6 correspond to one classification estimation process information.
  • a feature vector is obtained by combining these three numerical vectors.
  • the classification estimation process observation unit 140 sets the feature vector for each classification estimation process information in the ⁇ list of classification estimation process information for learning> as ⁇ list of feature vectors of the classification estimation process for learning>, and classifies the ⁇ classification for learning.
  • a list of feature vectors of the estimation process> is transmitted to the error determination unit 150.
  • FIG. 6 shows the case where three weak classifiers are used, but the number of three is only an example.
  • the processing of this embodiment can be performed in any plurality of weak classifiers.
  • the weak classifier constituting the classification estimation unit 130 is not limited to the neural network, and can be realized by any model (eg, SVM, decision tree, etc.) capable of calculating the prediction score of each classification.
  • model eg, SVM, decision tree, etc.
  • the classification estimation process observation unit 140 outputs from each node of one or more intermediate layers in addition to the value output from each node (activation function) of the output layer.
  • the values to be obtained may also be acquired in parallel, and the combination of these may be used as a numerical vector per one weak classifier.
  • FIG. 7 shows an example of a weak classifier when the output layer and the intermediate layer are observation points.
  • FIG. 7 shows one of a plurality of weak classifiers.
  • each node in the intermediate layer is 0.5, 0.4, 0.7
  • the value of each node in the output layer is 0.2, 0.7, 0.1.
  • the numerical vector of the weak classifier can be configured as [0.5 0.4 0.7 0.2 0.7 0.1].
  • FIG. 8 shows an example of the weak classifier when a decision tree is used as the weak classifier.
  • FIG. 8 shows one of a plurality of weak classifiers.
  • a numerical vector is constructed by observing the route leading to the determination of the classification.
  • the example of FIG. 8 is a decision tree that estimates one of the three classifications, classification A, classification B, and classification C.
  • the numerical vector generated by the classification estimation process observation unit 140 acquired as observation data is [1.0]. 1 0 0 1 0 0 0].
  • the subscript of the vector element corresponds to the node number of the decision tree, and if it passes through that node, 1 is entered in the element corresponding to that node, and if it does not pass, 0 is entered. To construct a numerical vector.
  • the error determination unit 150 in the classification phase receives a list of classification results from the classification estimation unit 130 and a list of feature vectors of the classification estimation process from the classification estimation process observation unit 140, and is based on the feature vectors of the classification estimation process. , It is determined whether the classification estimated by the classification estimation unit 130 is "correct” or "wrong". If it is "correct”, the classification estimated by the classification estimation unit 150 is used as the classification result as it is, but if it is "wrong", "unknown” is used as the classification result.
  • the error determination unit 150 that executes the above operation can be configured by, for example, a model often used in the machine learning field.
  • the error determination unit 150 can be configured by an SVM, a neural network, or the like.
  • the error determination unit 150 can be implemented by tuning the parameters of the model by supervised learning.
  • the error determination unit 150 receives the ⁇ list of the feature vectors of the classification estimation process for learning> from the classification estimation process observation unit 140, and the ⁇ learning feature vector from the classification estimation unit 130.
  • learning adjustment of internal parameters
  • the learning process described below may be executed by the error determination unit 150 itself, or may be executed by the learning unit 160 by providing the learning unit 160 outside the error determination unit 150.
  • the error determination unit 150 will be described as performing the learning process.
  • the error determination unit 150 compares the classification result and the label in ⁇ classification result of learning feature vector and label list> and generates a list of correctness.
  • the error determination unit 150 generates an arbitrary number of pseudo feature vectors using random numbers or the like.
  • the error determination unit 150 generates a learning feature vector list by combining the ⁇ list of feature vectors in the classification estimation process for learning> and the list of pseudo feature vectors.
  • the error determination unit 150 adds a numerical element indicating an error to the correct / incorrect list by the same number as the number of generated pseudo feature vectors.
  • the error determination unit 150 outputs a list of correctness (correct answer), performs machine learning by inputting a list of learning feature vectors, and adjusts the parameters of the error determination unit 150.
  • ⁇ list of feature vectors of classification estimation process for learning> is ⁇ [0.5 0.4 0.7 0.2 0.7 0.1 0.1 0.6 0. 1], [0.3 0.2 0.8 0.1 0.1 0.9 0.1 0.8 0.3], [0.2 0.3 0.4 0.2 0.9 0] .1 0.3 0.8 0.1]>.
  • the error determination unit 150 generates two pseudo feature vectors using random numbers or the like. That is, as pseudo feature vectors, ⁇ [0.1 0.8 0.5 0.1 0.1 0.2 0.5 0.7 0.1], [0.1 0.3 0.9 0] .0 0.2 0.4 0.3 0.1 0.2]> is generated.
  • the error determination unit 150 generates a learning feature vector list by combining the ⁇ list of feature vectors of the classification estimation process for learning> and the list of pseudo feature vectors. ..
  • the error determination unit 150 adds the same number of numerical elements indicating errors as the number (two) of generating pseudo feature vectors to the correct / incorrect list ⁇ 100>. to add. As a result, ⁇ 1 0 0 1 1> is obtained as a correct / incorrect list for learning. By making such an addition, it becomes robust to the unsuccessful feature vector, and the accuracy of determining the correctness of the data having unknown features is improved.
  • the learning feature vector list is used as the input of the error determination unit 150, and the error is reduced by comparing the output from the error determination unit 150 with the learning correctness list (correct answer). The internal parameters of the error determination unit 150 are adjusted.
  • Example: Classification phase Next, the details of the processing of the data classification device 100 (FIG. 2) in the classification phase will be described according to the procedure of the flowchart shown in FIG. In the classification phase, the classification estimation unit 130 and the error determination unit 150 have already been learned in the data classification device 100.
  • S202 external information acquisition
  • S203 data conversion
  • S205 observation of classification estimation process
  • S102 external information acquisition
  • S103 data conversion
  • S105 observation of classification estimation process
  • the external information acquisition unit 110 refers to the information in the data for each data in the "data list" and automatically acquires the corresponding external information on the Internet. ..
  • the external information acquisition unit 110 transmits a ⁇ list of data with external information> to the data conversion unit 120.
  • the data conversion unit 120 receives the ⁇ list of data with external information> from the external information acquisition unit 110, and converts each data included in the list into a feature vector in the same manner as in S103 of the learning phase, thereby converting the ⁇ feature vector. Get a list of>.
  • the data conversion unit 120 transmits the ⁇ list of feature vectors> to the classification estimation unit 130.
  • the classification estimation unit 130 receives the ⁇ list of feature vectors> from the data conversion unit 120, executes a process of estimating the classification of each feature vector in the list, and obtains ⁇ list of classification estimation process information>. Obtain a ⁇ list of classification results>.
  • An example of classification estimation process information is as explained in the learning phase.
  • the classification estimation unit 130 transmits the ⁇ list of classification estimation process information> to the classification estimation process observation unit 140, and transmits the ⁇ list of classification results> to the error determination unit 150.
  • the classification estimation process observation unit 140 receives the ⁇ list of classification estimation process information>, creates a feature vector in the same manner as in S105 in the learning phase, and obtains a ⁇ list of feature vectors of the classification estimation process>. ..
  • the classification estimation process observation unit 140 transmits ⁇ a list of feature vectors of the classification estimation process> to the error determination unit 150.
  • the error determination unit 150 receives a list of classification results from the classification estimation unit 130, and also receives a ⁇ list of feature vectors of the classification estimation process> from the classification estimation process observation unit 140, and features of the classification estimation process included in the list. Based on the vector, it is determined whether the classification estimated by the classification estimation unit 130 is "correct” or "wrong".
  • the error determination unit 150 outputs a list of a set of a classification result and an error determination result.
  • the error determination result is "correct”
  • the classification estimated by the classification estimation unit 130 can be used as it is as the classification result.
  • the error determination result is "error”, "unknown” is used as the classification result. In this case, for example, the security operator manually determines the classification.
  • the classification result by the classification estimation unit 130 based on the feature vector obtained by the data conversion unit 120 is classification A
  • the feature vector of the classification estimation process information obtained in the estimation process of this classification A is [0.3 0. .2 0.8 0.1 0.1 0.9 0.1 0.8 0.3].
  • Classification A and [0.3 0.2 0.8 0.1 0.1 0.9 0.1 0.8 0.3] are input to the error determination unit 150. If the error judgment result for [0.3 0.2 0.8 0.1 0.1 0.9 0.1 0.8 0.3] is "correct", classification A is used as the correct classification result. ..
  • the external information acquisition unit 110 in front of the data conversion unit 120, the information used for the classification determination is expanded, so that the classification accuracy of the classification estimation unit 130 is improved.
  • the predicted scores for each weak classifier inside the classification estimation unit 130 are observed and combined to form the observation data (feature vector) of the classification estimation process, the information used for error determination is expanded and accurate errors are made. Judgment becomes possible.
  • This specification describes at least the data classification device, data classification method, and program described in each of the following sections.
  • (Section 1) A data conversion unit that generates a feature vector using the classification target data, Classification that acquires observation information of the classification process based on the feature vector from the classification estimation unit provided with a plurality of weak classifiers that estimate the classification of the classification target data, and generates a classification estimation process feature vector based on the observation information.
  • the estimation process observation unit and An error determination is made by inputting the classification estimation process feature vector generated by the classification estimation process observation unit and the classification result output from the classification estimation unit into which the feature vector is input, and determining the correctness of the classification result.
  • (Section 2) The data classification device according to item 1, wherein the data conversion unit generates the feature vector from the classification target data and external information corresponding to the classification target data.
  • (Section 3) The data classification device according to item 2, wherein the data conversion unit generates the feature vector from the classification target data and the external information by using Onehot encoding and TF-IDF.
  • (Section 4) The data classification device according to item 3, wherein the classification target data is a signature, and the data conversion unit applies Onehot encoding to 5 tuples in the signature and applies TF-IDF to the external information. ..
  • the classification estimation process observation unit is assigned to any one of the first to fourth terms to generate the classification estimation process feature vector by concatenating the prediction scores output from each of the plurality of weak classifiers.
  • the data classification device further includes an external information acquisition unit that acquires the external information.
  • the data classification device according to any one of items 2 to 4, wherein the external information acquisition unit extracts a reference destination from the classification target data and acquires external information corresponding to the reference destination.
  • a data conversion step that generates a feature vector using the classification target data, Classification that acquires observation information of the classification process based on the feature vector from the classification estimation unit provided with a plurality of weak classifiers that estimate the classification of the classification target data, and generates a classification estimation process feature vector based on the observation information. Estimating process observation steps and Error determination to determine the correctness of the classification result based on the classification estimation process feature vector generated by the classification estimation process observation step and the classification result output from the classification estimation unit to which the feature vector is input.
  • a data classification method with steps. (Section 8) A program for causing a computer to function as each part in the data classification device according to any one of the items 1 to 6.
  • Data classification device 110 External information acquisition unit 120 Data conversion unit 130 Classification estimation unit 140 Classification estimation process Observation unit 150 Error judgment unit 160 Learning unit 1000 Drive device 1001 Recording medium 1002 Auxiliary storage device 1003 Memory device 1004 CPU 1005 Interface device 1006 Display device 1007 Input device

Landscapes

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

Abstract

データ分類装置において、分類対象データを用いて特徴ベクトルを生成するデータ変換部と、前記分類対象データの分類を推定する複数の弱分類器を備える分類推定部から、前記特徴ベクトルに基づく分類過程の観測情報を取得し、当該観測情報に基づいて分類推定過程特徴ベクトルを生成する分類推定過程観測部と、前記分類推定過程観測部により生成された前記分類推定過程特徴ベクトルと、前記特徴ベクトルが入力された前記分類推定部から出力される分類結果とを入力し、当該分類結果の正誤を判定する誤り判定部とを備える。

Description

データ分類装置、データ分類方法、及びプログラム
 本発明は、データを分類する技術に関連するものである。
 外部からの悪性の通信を、シグネチャを用いたパターンマッチング等によりロギングをしたり、通知したりするIDS(Intrusion Detection System)と呼ばれるシステムがある。また、IDSの機能に加えて、悪性の通信の遮断も行うIPS(Intrusion Prevention System)と呼ばれるシステムがある。
 上述したシグネチャは、IDS/IPSのパターンマッチングに用いられる通信のパターンファイルである。IDS/IPSでは、通信があるシグネチャにマッチした際の挙動を設定することができる。例えば、IDSの場合は、設定できる挙動としてロギングや通知等があり、IPSの場合はロギングや通知等に加えて遮断という設定をすることもできる。
 IDS/IPSを扱うセキュリティ運用者は、IDS/IPSで用いられるシグネチャを分類する必要がある。この分類は、IDS/IPSがそのシグネチャとマッチする通信を検知したときの挙動等を設定することに相当する。
 近年、シグネチャ自体の数が膨大になっており、人手ではその分類を行いきれなくなりつつある。膨大な数のシグネチャ全てを分類するために、機械学習等を用いることで、学習データとなるシグネチャと分類の対からパターンを生成し、分類推定モジュールを構成し、自動で分類するという方法が考えられる。
 しかしながら、分類推定モジュールによる分類だけでは誤った分類を避けることができない。シグネチャはセンシティブに扱う必要があり、結局のところセキュリティ運用者によって正しいか誤りかを判断しなくてはならないという問題がある。
川口他, "多クラス分類半自動化エージェントにおけるロバストな確信度算出を目指した擬似学習データ生成手法," 2019年度人工知能学会全国大会(第33回), June 2019. https://confit.atlas.jp/guide/event-img/jsai2019/4O3-J-7-04/public/pdf?type=in
 非特許文献1には、誤った分類を使用することを回避するために、分類に関して正解の確率が高いか(正しい分類であるか)、正解の確率が低いか(誤った分類であるか)を推定する技術が開示されている。非特許文献1に開示された従来技術により、誤り判定を行うことができるが、より良い誤り判定精度が求められている。すなわち、より良い分類精度が求められている。
 本発明は上記の点に鑑みてなされたものであり、データの分類を精度良く行う技術を提供することを目的とする。
 開示の技術によれば、分類対象データを用いて特徴ベクトルを生成するデータ変換部と、
 前記分類対象データの分類を推定する複数の弱分類器を備える分類推定部から、前記特徴ベクトルに基づく分類過程の観測情報を取得し、当該観測情報に基づいて分類推定過程特徴ベクトルを生成する分類推定過程観測部と、
 前記分類推定過程観測部により生成された前記分類推定過程特徴ベクトルと、前記特徴ベクトルが入力された前記分類推定部から出力される分類結果とを入力し、当該分類結果の正誤を判定する誤り判定部と
 を備えるデータ分類装置が提供される。
 開示の技術によれば、データの分類を精度良く行う技術が提供される。
学習フェーズにおけるデータ分類装置の構成を示す図である。 分類フェーズにおけるデータ分類装置の構成を示す図である。 装置のハードウェア構成の例を示す図である。 シグネチャの具体例を示す図である。 学習フェーズにおける処理手順を示すフローチャートである。 分類推定過程の特徴ベクトルの作成方法を説明するための図である。 中間層と出力層を観測する場合の例を説明するための図である。 決定木を用いる場合の例を説明するための図である。 誤り判定部の学習を説明するための図である。 誤り判定部の学習を説明するための図である。 誤り判定部の学習を説明するための図である。 分類フェーズにおける処理手順を示すフローチャートである。
 以下、図面を参照して本発明の実施の形態(本実施の形態)を説明する。以下で説明する実施の形態は一例に過ぎず、本発明が適用される実施の形態は、以下の実施の形態に限られるわけではない。
 以下で説明するデータ分類技術は様々な分野に適用可能であるが、例えば、IDS/IPS等のセキュリティシステムを扱うセキュリティ運用者が、それらのシステムに用いられる悪性通信のパターンファイルであるシグネチャを分類することに適用できる。
 (装置の機能構成)
 本実施の形態におけるデータ分類装置100の機能構成を説明する。データ分類装置100は、分類推定部130及び誤り判定部150の学習(パラメータ調整)を行う学習フェーズの動作と、学習済みの分類推定部130及び誤り判定部150を用いた分類対象データの分類を行う分類フェーズの動作を行う。
 学習フェーズと分類フェーズとで、データ分類装置100の機能構成は基本的に同じであるが、処理される情報に違いがある。
    (学習フェーズにおける構成)
 図1に、学習フェーズにおけるデータ分類装置100の機能構成を示す。図1には、各機能部に入力される情報、及び各機能部から出力される情報も示されている。
 図1に示すとおり、データ分類装置100は、外部情報取得部110、データ変換部120、分類推定部130、分類推定過程観測部140、誤り判定部150を有する。なお、分類推定部130と誤り判定部150の学習に係る処理を実行する学習部160を備えてもよい。分類推定部130と誤り判定部150のそれぞれが学習機能を含むことで、学習部160を備えないこととしてもよい。
 各機能部の機能概要は下記のとおりである。下記の機能概要は学習フェーズと分類フェーズとで共通である。
 外部情報取得部110は、入力されたデータ内の情報を参照し、自動的にインターネット等にある、当該情報に対応する外部情報を取得する機能部である。
 データ変換部120は、データとその外部情報を特徴ベクトルに変換するための機能部である。一例として、データがシグネチャである場合、OnehotエンコーディングとTF-IDF(Term Frequency - Inverse Document Frequency)を組み合わせることで特徴ベクトルの生成を行うことができる。
 分類推定部130は、データの分類をアンサンブル学習により推定する機能部である。分類を推定するためのモデルは特定のモデルに限定されないが、例えば、SVM(support vector machine)のモデルやニューラルネットワークのモデルを使用できる。分類推定部130は、当該モデルを複数個使用するアンサンブル学習による分類器からなる。学習用データセットを使用することで、機械学習で分類推定部130の内部パラメータが調整される。
 分類推定過程観測部140は、分類推定部130が分類対象データの分類を推定する際の計算過程を観測し、観測結果に基づく特徴ベクトルを作成する機能部である。
 誤り判定部150は、分類推定部130から分類結果を受け取るとともに、分類推定過程観測部140から分類推定過程の観測データ(具体的には特徴ベクトル)を受け取り、その観測データをもとに、分類推定部130が推定した分類が「正しい」ものか「誤り」であるかを判定し、分類結果と誤り判定結果を出力する。機械学習により誤り判定部150の内部パラメータが調整される。
 図1を参照して、学習フェーズにおけるデータ分類装置100における全体の処理の概要を説明する。
 外部情報取得部110に、学習用データとラベルのリスト(学習用データとラベルの組を複数有するリスト)が入力される。学習用データとラベルのリストは、機械学習を行うためのデータとラベルが対応付いたリストである。ラベルは、当該データの正解となる分類を表しており、データとラベルの対応関係はデータ分類装置100における処理中も常に対応付けられている。
 学習用データとラベルのリストが入力された外部情報取得部110は、リストにおけるデータ1件毎に、データに記述されている外部情報の参照先を抽出し、当該参照先に対応する外部情報を取得し、当該データに取得した外部情報を付与する。
 外部情報取得部110は、各データに外部情報が付与された学習用データとラベルのリストである<学習用の外部情報付きデータとラベルのリスト>をデータ変換部120に送信する。
 データ変換部120は、外部情報取得部110から受信した<学習用の外部情報付きデータとラベルのリスト>に対して後述する処理を施して、<学習用の特徴ベクトルとラベルのリスト>を生成し、<学習用の特徴ベクトルとラベルのリスト>を分類推定部130に送信する。
 学習フェーズにおける分類推定部130は、<学習用の特徴ベクトルとラベルのリスト>における「学習用の特徴ベクトルとラベル」の組毎に、学習用の特徴ベクトルを入力し、出力される分類結果と、正解であるラベルとを比較することで、誤りが減少するように機械学習によるパラメータ調整を行う。
 パラメータ調整後、分類推定部130は、学習用の特徴ベクトルのリストを入力することで得られる<学習用の分類推定過程情報のリスト>を、分類推定過程観測部140に送信する。また、分類推定部130は、<学習用特徴ベクトルの分類結果とラベルのリスト>を誤り判定部150に送信する。
 分類推定過程観測部140は、弱分類器からクラス毎(分類毎)の予測スコアを数値ベクトルとして取得し、各弱分類器取得した全ての数値ベクトルを結合し、分類推定過程の特徴ベクトルとする。学習フェーズにおいて、これは<学習用の分類推定過程の特徴ベクトルのリスト>として得られる。分類推定過程観測部140は、<学習用の分類推定過程の特徴ベクトルのリスト>を誤り判定部150に送信する。
 誤り判定部150は、分類推定部130から受信する<学習用特徴ベクトルの分類結果とラベルのリスト>と、分類推定過程観測部140から受信する<学習用の分類推定過程の特徴ベクトルのリスト>とを用いて機械学習によるパラメータ調整を実施する。学習方法の詳細は後述する。
    (分類フェーズにおける構成)
 図2に、分類フェーズにおけるデータ分類装置100の機能構成を示す。図2に示すように、機能構成は図1と同様であるが、処理される情報が図1において処理される情報と異なる。
 図2を参照して、分類フェーズにおけるデータ分類装置100の全体の処理の概要を説明する。
 外部情報取得部110に、分類対象となるデータのリストが入力される。データのリストは、データ分類装置100により自動分類を行う対象となるデータのリストである。
 データのリストが入力された外部情報取得部110は、リストにおけるデータ1件毎に、データに記述されている外部情報の参照先から自動的に外部情報を取得し、当該データに取得した外部情報を付与する。
 外部情報取得部110は、各データに外部情報が付与された<外部情報付きデータのリスト>をデータ変換部120に送信する。
 データ変換部120は、外部情報取得部110から受信した<外部情報付きデータのリスト>に対して後述する処理を施して、<特徴ベクトルのリスト>を生成し、<特徴ベクトルのリスト>を分類推定部130に送信する。
 分類推定部130は、<特徴ベクトルのリスト>における各特徴ベクトルを入力し、各特徴べクトルに対する分類結果を<分類結果のリスト>として出力する。また、分類推定部130は、分類処理の過程で得られる<分類推定過程情報のリスト>を、分類推定過程観測部140に送信する。また、分類推定部130は、分類の結果得られた<分類結果のリスト>を誤り判定部150に送信する。
 分類推定過程観測部140は、各弱分類器からクラス毎(分類毎)の予測スコアを数値ベクトルとして取得し、取得した全ての数値ベクトルを結合し、分類推定過程の特徴ベクトルとする。分類フェーズにおいて、これは<分類推定過程の特徴ベクトルのリスト>として得られる。分類推定過程観測部140は、<分類推定過程の特徴ベクトルのリスト>を誤り判定部150に送信する。
 誤り判定部150は、分類推定部130から受信する<分類結果のリスト>と、分類推定過程観測部140から受信する<分類推定過程の特徴ベクトルのリスト>とを用いて誤り判定を行い、分類結果と誤り判定結果のリストを出力する。「分類結果と誤り判定結果のリスト」は、入力である「データのリスト」内のデータの分類結果と、当該データの分類判定結果に対する誤り判定結果のリストである。「分類結果と誤り判定結果のリスト」は、「データのリスト」のデータ1件毎と対応付いた状態で出力される。
 (ハードウェア構成例)
 データ分類装置100は、例えば、コンピュータに、本実施の形態で説明する処理内容を記述したプログラムを実行させることにより実現可能である。なお、この「コンピュータ」は、物理マシンであってもよいし、クラウド上の仮想マシンであってもよい。仮想マシンを使用する場合、ここで説明する「ハードウェア」は仮想的なハードウェアである。
 上記プログラムは、コンピュータが読み取り可能な記録媒体(可搬メモリ等)に記録して、保存したり、配布したりすることが可能である。また、上記プログラムをインターネットや電子メール等、ネットワークを通して提供することも可能である。
 図3は、上記コンピュータのハードウェア構成例を示す図である。図3のコンピュータは、それぞれバスBSで相互に接続されているドライブ装置1000、補助記憶装置1002、メモリ装置1003、CPU1004、インタフェース装置1005、表示装置1006、及び入力装置1007等を有する。
 当該コンピュータでの処理を実現するプログラムは、例えば、CD-ROM又はメモリカード等の記録媒体1001によって提供される。プログラムを記憶した記録媒体1001がドライブ装置1000にセットされると、プログラムが記録媒体1001からドライブ装置1000を介して補助記憶装置1002にインストールされる。但し、プログラムのインストールは必ずしも記録媒体1001より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置1002は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
 メモリ装置1003は、プログラムの起動指示があった場合に、補助記憶装置1002からプログラムを読み出して格納する。CPU1004は、メモリ装置1003に格納されたプログラムに従って、当該装置に係る機能を実現する。インタフェース装置1005は、ネットワークに接続するためのインタフェースとして用いられる。表示装置1006はプログラムによるGUI(Graphical User Interface)等を表示する。入力装置1007はキーボード及びマウス、ボタン、又はタッチパネル等で構成され、様々な操作指示を入力させるために用いられる。
 (実施例)
 以下、データ分類装置100の動作をより具体的に説明する。本実施例では、分類対象(及び学習に使用する)データとしてシグネチャを用いることを想定した例を説明する。
 まず、シグネチャについて説明する。前述したように、シグネチャとはIPS/IDSに用いられる悪性通信のパターンを記述したパターンファイルである。IPS/IDSのベンダー毎にシグネチャの記述方法は異なるが、本実施の形態では1つのシグネチャに以下の情報のいずれかが含まれていればよい。
 ・5tuple(プロトコル,ソースアドレス,ソースポート,宛先アドレス,宛先ポート)。
 ・メッセージ:パターンにマッチしたときにIDS/IPSのユーザに表示する情報。
 ・コンテンツ:通信のパターンそのもの。バイナリや文字列で構成される。コンテンツの内容とマッチした通信があると、当該シグネチャに該当すると判断される。1シグネチャにコンテンツが複数ある場合もある。
 ・参照先:そのシグネチャの関連情報が記されたWEBページのURLやCVE(Common Vulnerabilities and Exposures)番号である。1シグネチャにコンテンツが複数ある場合もある。
 図4に、シグネチャの具体例として、SNOTE(https://snort.org/)と呼ばれるOSSのIDS/IPSエンジンのシグネチャの例を示す。
 図4の例において、「5tuple」のプロトコル、ソースアドレス、ソースポート、宛先アドレス、宛先ポートはそれぞれ、tcp,$EXTERNAL NET,any,$HTTP SERVERS,$HTTP PORTSの位置に対応する。
 図4の例において、「メッセージ」はmsg:"WEB-PHP admin.php file upload attempt"のダブルクオーテーション内の文字列に該当する。
 図4の例において、「コンテンツ」はcontent:"file name="のダブルクォーテーション内の文字列に該当する。図4の例において、「参照先」はreference:bugtraq,3361のコロン以降の文字列に該当する。
 なお、図4に示したSNOTEのシグネチャは、「https://www.atmarkit.co.jp/ait/articles/0502/04/news120.html」のWEB ページから引用している。
 データ分類装置100は、シグネチャ以外のデータに対する分類を行うことも可能である。例えば、データとして、画像、文書、あるいは音声等を用いることも可能である。データとして画像、文書、音声等を用いる場合、外部情報取得部110及びデータ変換部120の変換手順を、画像、文書、音声等のデータに対応する変換手順に設定すればよい。
 例えば、画像の場合、データ変換部120は画像をHOG(Histograms of Oriented Gradients)特徴量からなる特徴ベクトルに変換する。また、画像、文書、音声等のいずれについても、ディープラーニングによって特徴ベクトルに変換することとしてもよい。
 以下、データとしてシグネチャを使用することを想定した場合の学習フェーズと分類フェーズの処理の詳細を説明する。
 (実施例:学習フェーズ)
 学習フェーズにおけるデータ分類装置100(図1)の処理の詳細を図5に示すフローチャートの手順に沿って説明する。
 まず、データ分類装置100へのデータ入力の前の事前の作業として、データ分類装置100の利用者がシグネチャを用意し、任意の数のシグネチャにラベルを付与する。前述したように、このラベルは、当該シグネチャにマッチした通信に対するIDS/IPSの挙動(ロギング・通知・遮断など)を指す。ただし、このようなラベルは一例であり、IDS/IPSの挙動以外のラベルを付与することもできる。ラベルが付与されたシグネチャのリストを「学習用データとラベルのリスト」とする。
   (S101:入力)
 図5のフローチャートにおけるS101において、利用者が「学習用データとラベルのリスト」をデータ分類装置100の外部情報取得部110に入力する。
   (S102:外部情報取得)
 S102において、外部情報取得部110は、「学習用データとラベルのリスト」における学習用データ毎に、学習用データ内の情報を参照し、自動的にインターネットにある対応する外部情報を取得する。なお、本実施例において、外部情報を用いることは必須ではない。外部情報を用いないで、学習用データのみ(分類フェーズでは分類対象データのみ)から特徴ベクトルを生成してもよい。
 本実施例のようにデータとしてシグネチャを使用する場合、外部情報取得部110は、例えば、参照先(SNOTE の場合はreference)のURLあるいはCVE番号を用いることで外部情報を取得できる。より具体的には、外部情報取得部110は、例えば、正規表現でシグネチャからURL等を抜き出し、wgetあるいはcurl等のソフトウェアを使用することで、当該URL等を指定して外部情報を取得する。
 外部情報取得部110は、「学習用データとラベルのリスト」における学習用データ毎に取得した外部情報が付された<学習用の外部情報付きデータとラベルのリスト>を作成し、<学習用の外部情報付きデータとラベルのリスト>をデータ変換部120に送信する。
   (S103:データ変換)
 データ変換部120は、データを特徴ベクトルに変換する。データとしてシグニチャを用いる本実施例での処理の例は下記のとおりである。
 データ変換部120は、シグネチャ内に含まれる5tuple、メッセージ、コンテンツ、参照先の情報4つについて、以下の手順でシグニチャを学習用の特徴ベクトルに変換する。
 データ変換部120は、外部情報取得部110から受信した<学習用の外部情報付きデータとラベルのリスト>における学習用の外部情報付きシグネチャのそれぞれに対して、以下のS1~S5の処理を実行する。なお、S1~S4の処理の順番は任意である。
 S1:データ変換部120は、5tuple のプロトコル、ソースアドレス、ソースポート、宛先アドレス、宛先ポートのそれぞれを、Onehotエンコーディングで数値ベクトルに変換する。
 S2:データ変換部120は、メッセージを文書とみなしてTF-IDFで数値ベクトルに変換する。
 S3:データ変換部120は、コンテンツを文書とみなしてTF-IDFで数値ベクトルに変換する。1シグネチャにコンテンツが複数ある場合には事前に当該複数コンテンツを結合し、1つの文書と見なしてTF-IDFを行う。
 S4:データ変換部120は、参照先を用いて取得された外部情報を文書と見なしてTF-IDFで数値ベクトルに変換する。1シグネチャに参照先が複数ある場合には、複数の参照先から取得した複数の外部情報を事前に結合し、1つの文書と見なしてTF-IDFで数値ベクトルへの変換を行う。
 S5:データ変換部120は、S1により得られた数値ベクトル、S2により得られた数値ベクトル、S3により得られた数値ベクトル、及びS4により得られた数値ベクトルを連結して、学習用の特徴ベクトルを得る。この連結処理はシグネチャ毎に行われる。例えば、あるシグネチャについて、S1により得られた数値ベクトルがV1であり、S2により得られた数値ベクトルがV2であり、S3により得られた数値ベクトルがV3であり、及びS4により得られた数値ベクトルがV4であるとすると、学習用の特徴ベクトルとして、[V1 V2 V3 V4]が得られる。
 OnehotエンコーディングとTF-IDF自体は既存技術である。Onehotエンコーディングは、エンコーディング対象の情報を、1つの成分が1で残りの成分が全て0であるようなベクトルに変換するエンコーディングである。TF-IDFは、文書中に含まれる単語の重要度を評価する手法の一つである。
 なお、上記のS1~S5を全て実行することは一例である。例えば、S1~S4のうちのいずれか1つの処理を実行し、S5を行わないこととしてもよい。また、S1~S4のうちのいずれか2つの処理を実行し、S5では2つの数値ベクトルの連結を行うこととしてもよい。また、S1~S4のうちのいずれか3つの処理を実行し、S5では3つの数値ベクトルの連結を行うこととしてもよい。
 データ変換部120は、学習用の特徴ベクトルと、対応するラベルとの組のリストである<学習用の外部情報付きデータとラベルのリスト>を作成し、当該<学習用の外部情報付きデータとラベルのリスト>を分類推定部130に送信する。
 上記のとおり、本実施例に係る技術により、文字列で構成されたシグネチャを数値ベクトルに変換できる。
   (S104:分類推定部130の学習)
 S104において、分類推定部130の学習を行う。分類推定部130は、複数の分類器(弱分類器と呼ばれる)を含み、アンサンブル学習でデータの分類を推定する。アンサンブル学習は、複数の弱分類器に学習をさせて、学習された複数の弱分類器の分類結果を統合することで、分類性能を高める手法である。
 アンサンブル学習にはバギングやブースティング等の複数の手法が存在するが、本実施例では、分類推定部130内部が複数の弱分類器により構成されていればどの手法を適用してもよい。アンサンブル学習の最も簡単な例は複数の弱分類器による多数決である(バギング)。各弱分類器は学習サンプルから非復元抽出された少量のサンプルで学習された、識別能力の低い分類器である。ただし、それらを複数個作り多数決を行うことにより、全体としては1つの分類器として機能し、高い性能を得ることができる。
 S104では、データ変換部120から出力された<学習用の特徴ベクトルとラベルのリスト>を用いて、分類推定部130の学習(教師あり学習)を行い、分類推定部130における内部パラメータを調整する。
 より具体的には、例えば、それぞれの弱分類器に、<学習用の特徴ベクトルとラベルのリスト>における学習用の特徴ベクトルを入力し、弱分類器からの出力と正解(学習用の特徴ベクトルに対応するラベル)とを比較し、誤差が減少するように内部パラメータを調整する。このような学習処理は、分類推定部130自体が実行してもよいし、分類推定部130の外部に学習部160を備えることでその学習部160が実行することとしてもよい。
 分類推定部130の学習後(内部パラメータ調整後)、分類推定部130は、<学習用の特徴ベクトルとラベルのリスト>における各学習用特徴ベクトルに対して分類を推定する処理を実施して、<学習用の分類推定過程情報のリスト>と<学習用特徴ベクトルの分類結果とラベルのリスト>を得る。
 分類推定部130は、<学習用の分類推定過程情報のリスト>を分類推定過程観測部140に送信し、<学習用特徴ベクトルの分類結果とラベルのリスト>を誤り判定部150に送信する。本実施例において、学習用の分類推定過程情報は、弱分類器毎の予測スコアである。
   (S105:分類推定過程の観測)
 S105において、分類推定過程観測部140は、分類推定部130が備える複数の弱分類器それぞれから出力される予測スコアの全てを取得し、それらを結合することで特徴ベクトルを作成する。
 分類推定過程観測部140は、<学習用の分類推定過程情報のリスト>内の分類推定過程情報1件毎に下記の手順S1、S2を実施して分類推定過程の特徴ベクトルを作成する。
 S1:分類推定過程観測部140は、各弱分類器からクラス(分類)毎の予測スコアを数値ベクトルとして取得する。
 S2:分類推定過程観測部140は、取得した全ての数値ベクトルを結合したベクトルを特徴ベクトルとする。
 分類推定部130を構成する弱分類器としてニューラルネットワークを使用する場合における特徴ベクトルの作成イメージを図6に示している。
 図6に示す例では、分類推定部130は3つの弱分類器A~Cを有し、各弱分類器の出力層を観測箇所としている。図6に示す弱分類器A~Cからの出力(3つの数値ベクトル)は、1件の分類推定過程情報に相当する。図6に示すとおり、これら3つの数値ベクトルを結合することで特徴ベクトルを得る。
 分類推定過程観測部140は、<学習用の分類推定過程情報のリスト>における分類推定過程情報毎の特徴ベクトルを<学習用の分類推定過程の特徴ベクトルのリスト>とし、当該<学習用の分類推定過程の特徴ベクトルのリスト>を誤り判定部150に送信する。
 なお、図6は、3つの弱分類器を使用する場合を示しているが、3つであることは一例に過ぎない。任意の複数の弱分類器において本実施例の処理を実行可能である。
 また、分類推定部130を構成する弱分類器は、ニューラルネットワークに限らず、各分類の予測スコアを算出できる任意のモデル(例:SVM、決定木等)で実現可能である。
 また、弱分類器にニューラルネットワークを使用する場合において、分類推定過程観測部140は、出力層の各ノード(活性化関数)から出力される値に加えて1以上の中間層の各ノードから出力される値も並行して取得し、これらを結合したものを1弱分類器あたりの数値ベクトルとしてもよい。図7に、出力層と中間層を観測箇所とする場合の弱分類器の例を示す。図7は、複数ある弱分類器のうちの1つを示している。
 図7に示す例において、例えば、中間層の各ノードの値が0.5,0.4,0.7であり、出力層の各ノードの値が0.2,0.7,0.1である場合、当該弱分類器の数値ベクトルは[0.5 0.4 0.7 0.2 0.7 0.1]と構成することができる。
 図8は、弱分類器として決定木を用いる場合における当該弱分類器の例を示す。図8は、複数ある弱分類器のうちの1つを示している。当該弱分類器においては、分類が決定に至るルートを観測し数値ベクトルを構成する。図8の例は、分類A、分類B、分類Cの3つの分類のうちのいずれかの分類を推定する決定木である。
 図8に示す例では、ノード1->ノード3->ノード6というルートで分類Aとなった場合、それを観測データとして取得した分類推定過程観測部140により生成される数値ベクトルは[1 0 1 0 0 1 0 0 0]となる。この例では、ベクトルの要素の添え字と、決定木のノード番号とが対応しており、そのノードを通過したならそのノードに対応する要素に1が入り、通過していないなら0が入るようにして数値ベクトルを構成している。
   (S106:誤り判定部150の学習)
 誤り判定部150がどのような機能部かを説明するために、まず、分類フェーズでの動作概要を説明する。
 分類フェーズにおける誤り判定部150は、分類推定部130から分類結果のリストを受け取るととともに、分類推定過程観測部140から分類推定過程の特徴ベクトルのリストを受け取り、分類推定過程の特徴ベクトルに基づいて、分類推定部130が推定した分類が「正しい」ものか「誤り」であるかを判断する。「正しい」場合は分類推定部150が推定した分類をそのまま分類結果とするが、「誤り」の場合は「不明」を分類結果とする。
 上記の動作を実行する誤り判定部150は、例えば、機械学習分野でよく用いられているモデルで構成することができる。例えばSVM、ニューラルネットワーク等で誤り判定部150を構成することができる。これらのモデルを用いる場合、教師あり学習でモデルのパラメータチューニングを行うことで誤り判定部150を実装することができる。
 S106の誤り判定部150の学習において、誤り判定部150は、分類推定過程観測部140から<学習用の分類推定過程の特徴ベクトルのリスト>を受信し、分類推定部130から<学習用特徴ベクトルの分類結果とラベルのリスト>を受信すると、以下のS1~S5の手順で学習(内部パラメータの調整)を実行する。なお、以下で説明する学習処理は、誤り判定部150自体が実行してもよいし、誤り判定部150の外部に学習部160を備えることでその学習部160が実行することとしてもよい。以下では、誤り判定部150が学習処理を行うものとして説明する。
 S1:誤り判定部150は、<学習用特徴ベクトルの分類結果とラベルのリスト>内の分類結果とラベルを比較し、正誤のリストを生成する。
 S2:誤り判定部150は、乱数等で擬似的な特徴ベクトルを任意の数だけ生成する。
 S3:誤り判定部150は、<学習用の分類推定過程の特徴ベクトルのリスト>と擬似的な特徴ベクトルのリストとを合わせることで、学習用特徴ベクトルリストを生成する。
 S4:誤り判定部150は、正誤のリストに、擬似的な特徴ベクトルを生成した数と同じ数だけ誤りを示す数値の要素を追加する。
 S5:誤り判定部150は、正誤のリストを出力(正解)、学習用特徴ベクトルのリストを入力として機械学習を行い、誤り判定部150のパラメータを調整する。
 上記の処理の具体例を図9~図11を参照して説明する。
    (S1)
 図9に示す例において、<学習用特徴ベクトルの分類結果とラベルのリスト>内の分類結果のリストは<分類P,分類O,分類P>である。また、ラベル(正解分類)のリストは<分類O,分類O,分類P>である。これらを比較すると、一番目の分類の正解が分類Oであるのに対し、分類結果では、一番目の分類が分類Pとなった。よって、一番目の分類は誤りとなり、学習用の正誤リストの一番目の要素は1(誤り)になる。2番目と3番目は正しいので、正誤リストは<1 0 0>となる。
    (S2、S3)
 図10に示す例では、<学習用の分類推定過程の特徴ベクトルのリスト>は、<[0.5 0.4 0.7 0.2 0.7 0.1 0.1 0.6 0.1],[0.3 0.2 0.8 0.1 0.1 0.9 0.1 0.8 0.3],[0.2 0.3 0.4 0.2 0.9 0.1 0.3 0.8 0.1]>である。
 S2において、図10に示す例では、誤り判定部150は、乱数等で擬似的な特徴ベクトルを2つ生成する。すなわち、擬似的な特徴ベクトルとして<[0.1 0.8 0.5 0.1 0.1 0.2 0.5 0.7 0.1],[0.1 0.3 0.9 0.0 0.2 0.4 0.3 0.1 0.2]>を生成する。
 S3において、図10に示すとおり、誤り判定部150は、<学習用の分類推定過程の特徴ベクトルのリスト>と擬似的な特徴ベクトルのリストとを合わせることで、学習用特徴ベクトルリストを生成する。
    (S4)
 S4において、図10に示すように、誤り判定部150は、正誤のリスト<1 0 0>に、擬似的な特徴ベクトルを生成した数(2つ)と同じ数だけ誤りを示す数値の要素を追加する。これにより、学習用正誤リストとして<1 0 0 1 1>が得られる。このような追加を行うことで、出鱈目な特徴べクトルに頑強になり、未知の特徴を持つデータに対する正誤の判定精度が向上する。
    (S5)
 図11に示すS5では、学習用特徴ベクトルリストを誤り判定部150の入力とし、誤り判定部150からの出力と、学習用正誤リスト(正解)とを比較することで、誤差が減少するように誤り判定部150の内部パラメータを調整する。
 (実施例:分類フェーズ)
 次に、分類フェーズにおけるデータ分類装置100(図2)の処理の詳細を図12に示すフローチャートの手順に沿って説明する。分類フェーズでは、データ分類装置100において、分類推定部130と誤り判定部150は学習済みである。
 なお、分類フェーズでのS202(外部情報取得)の処理、S203(データ変換)の処理、S205(分類推定過程の観測)の処理はそれぞれ、処理対象が異なる(学習用か、分類対象かの相違)ことを除いて、学習フェーズでのS102(外部情報取得)の処理、S103(データ変換)の処理、S105(分類推定過程の観測)の処理と同じである。よって、以下のS202、S203、S205は簡単に説明している。
   (S201:入力)
 図12のフローチャートにおけるS201において、利用者が分類対象のデータのリストをデータ分類装置100の外部情報取得部110に入力する。
   (S202:外部情報取得)
 S202において、学習フェーズのS102と同様にして、外部情報取得部110は、「データのリスト」におけるデータ毎に、データ内の情報を参照し、自動的にインターネットにある対応する外部情報を取得する。外部情報取得部110は、<外部情報付きデータのリスト>をデータ変換部120に送信する。
   (S203:データ変換)
 データ変換部120は、外部情報取得部110から<外部情報付きデータのリスト>を受信し、学習フェーズのS103と同様にして、リストに含まれる各データを特徴ベクトルに変換することにより<特徴ベクトルのリスト>を得る。データ変換部120は、<特徴ベクトルのリスト>を分類推定部130に送信する。
   (S204:分類推定)
 S204において、分類推定部130は、データ変換部120から<特徴ベクトルのリスト>を受信し、当該リストにおける各特徴ベクトルの分類を推定する処理を実施して、<分類推定過程情報のリスト>と<分類結果のリスト>を得る。分類推定過程情報の例については学習フェーズにおいて説明したとおりである。
 分類推定部130は、<分類推定過程情報のリスト>を分類推定過程観測部140に送信し、<分類結果のリスト>を誤り判定部150に送信する。
   (S205:分類推定過程の観測)
 S205において、分類推定過程観測部140は、<分類推定過程情報のリスト>を受信し、学習フェーズでのS105と同様にして特徴ベクトルを作成し、<分類推定過程の特徴ベクトルのリスト>を得る。分類推定過程観測部140は、<分類推定過程の特徴ベクトルのリスト>を誤り判定部150に送信する。
   (S206:誤り判定)
 誤り判定部150は、分類推定部130から分類結果のリストを受け取るととともに、分類推定過程観測部140から<分類推定過程の特徴ベクトルのリスト>を受け取り、当該リストに含まれる分類推定過程の特徴ベクトルに基づいて、分類推定部130が推定した分類が「正しい」ものか「誤り」であるかを判断する。
   (S207:出力)
 誤り判定部150は、分類結果と誤り判定結果の組のリストを出力する。誤り判定結果が「正しい」場合は分類推定部130が推定した分類をそのまま分類結果として使用できる。誤り判定結果が「誤り」の場合は、「不明」を分類結果とする。この場合、例えば、セキュリティ運用者が人手で分類を決定する。
 例えば、データ変換部120により得られた特徴ベクトルに基づく分類推定部130による分類結果が分類Aであり、この分類Aの推定過程で得られた分類推定過程情報の特徴ベクトルが[0.3 0.2 0.8 0.1 0.1 0.9 0.1 0.8 0.3]であるとする。
 誤り判定部150には、分類Aと[0.3 0.2 0.8 0.1 0.1 0.9 0.1 0.8 0.3]が入力される。[0.3 0.2 0.8 0.1 0.1 0.9 0.1 0.8 0.3]に対する誤り判定結果が「正しい」であれば、分類Aは正しい分類結果として用いられる。
 (実施の形態の効果)
 以上説明したデータ分類装置100により、分類の正誤の判定精度が非特許文献1に開示された従来技術よりも向上するので、正しい分類を精度良く判断できる。よって、利用者がデータの分類を行うときの負担を軽減できる。
 すなわち、正解の可能性が高い分類(正しい分類)と、正解の可能性が低い分類(誤りの分類)を精度良くより分けることが可能となるので、正解の可能性が高い分類については人手で確認しないということを選択することが容易となる。その結果、利用者がデータの分類を行うときの負担を軽減できる。
 より詳細には、データ変換部120の前段に外部情報取得部110を配置することにより、分類判定に使用する情報が拡充するので、分類推定部130の分類精度が向上する。また、分類推定部130内部の弱分類器毎の予測スコアを観測し、結合して分類推定過程の観測データ(特徴ベクトル)としたので、誤り判定に使用する情報が拡充し、精度の良い誤り判定が可能になる。
 (実施の形態のまとめ)
 本明細書には、少なくとも下記の各項に記載したデータ分類装置、データ分類方法、及びプログラムが記載されている。
(第1項)
 分類対象データを用いて特徴ベクトルを生成するデータ変換部と、
 前記分類対象データの分類を推定する複数の弱分類器を備える分類推定部から、前記特徴ベクトルに基づく分類過程の観測情報を取得し、当該観測情報に基づいて分類推定過程特徴ベクトルを生成する分類推定過程観測部と、
 前記分類推定過程観測部により生成された前記分類推定過程特徴ベクトルと、前記特徴ベクトルが入力された前記分類推定部から出力される分類結果とを入力し、当該分類結果の正誤を判定する誤り判定部と
 を備えるデータ分類装置。
(第2項)
 前記データ変換部は、前記分類対象データと、前記分類対象データに対応する外部情報とから前記特徴ベクトルを生成する
 第1項に記載のデータ分類装置。
(第3項)
 前記データ変換部は、OnehotエンコーディングとTF-IDFとにより、前記分類対象データと前記外部情報から前記特徴ベクトルを生成する
 第2項に記載のデータ分類装置。
(第4項)
 前記分類対象データはシグネチャであり、前記データ変換部は、当該シグネチャにおける5タプルに対してOnehotエンコーディングを適用し、前記外部情報に対してTF-IDFを適用する
 第3項に記載のデータ分類装置。
(第5項)
 前記分類推定過程観測部は、前記複数の弱分類器のそれぞれから出力される予測スコアを連結することにより前記分類推定過程特徴ベクトルを生成する
 第1項ないし第4項のうちいずれか1項に記載のデータ分類装置。
(第6項)
 前記データ分類装置は、前記外部情報を取得する外部情報取得部を更に備え、
 前記外部情報取得部は、前記分類対象データから参照先を抽出し、当該参照先に対応する外部情報を取得する
 第2項ないし第4項のうちいずれか1項に記載のデータ分類装置。
(第7項)
 データ分類装置が実行するデータ分類方法であって、
 分類対象データを用いて特徴ベクトルを生成するデータ変換ステップと、
 前記分類対象データの分類を推定する複数の弱分類器を備える分類推定部から、前記特徴ベクトルに基づく分類過程の観測情報を取得し、当該観測情報に基づいて分類推定過程特徴ベクトルを生成する分類推定過程観測ステップと、
 前記分類推定過程観測ステップにより生成された前記分類推定過程特徴ベクトルと、前記特徴ベクトルが入力された前記分類推定部から出力される分類結果とに基づいて、当該分類結果の正誤を判定する誤り判定ステップと
 を備えるデータ分類方法。
(第8項)
 コンピュータを、第1項ないし第6項のうちいずれか1項に記載のデータ分類装置における各部として機能させるためのプログラム。
 以上、本実施の形態について説明したが、本発明はかかる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
100 データ分類装置
110 外部情報取得部
120 データ変換部
130 分類推定部
140 分類推定過程観測部
150 誤り判定部
160 学習部
1000 ドライブ装置
1001 記録媒体
1002 補助記憶装置
1003 メモリ装置
1004 CPU
1005 インターフェース装置
1006 表示装置
1007 入力装置

Claims (8)

  1.  分類対象データを用いて特徴ベクトルを生成するデータ変換部と、
     前記分類対象データの分類を推定する複数の弱分類器を備える分類推定部から、前記特徴ベクトルに基づく分類過程の観測情報を取得し、当該観測情報に基づいて分類推定過程特徴ベクトルを生成する分類推定過程観測部と、
     前記分類推定過程観測部により生成された前記分類推定過程特徴ベクトルと、前記特徴ベクトルが入力された前記分類推定部から出力される分類結果とを入力し、当該分類結果の正誤を判定する誤り判定部と
     を備えるデータ分類装置。
  2.  前記データ変換部は、前記分類対象データと、前記分類対象データに対応する外部情報とから前記特徴ベクトルを生成する
     請求項1に記載のデータ分類装置。
  3.  前記データ変換部は、OnehotエンコーディングとTF-IDFとにより、前記分類対象データと前記外部情報から前記特徴ベクトルを生成する
     請求項2に記載のデータ分類装置。
  4.  前記分類対象データはシグネチャであり、前記データ変換部は、当該シグネチャにおける5タプルに対してOnehotエンコーディングを適用し、前記外部情報に対してTF-IDFを適用する
     請求項3に記載のデータ分類装置。
  5.  前記分類推定過程観測部は、前記複数の弱分類器のそれぞれから出力される予測スコアを連結することにより前記分類推定過程特徴ベクトルを生成する
     請求項1ないし4のうちいずれか1項に記載のデータ分類装置。
  6.  前記データ分類装置は、前記外部情報を取得する外部情報取得部を更に備え、
     前記外部情報取得部は、前記分類対象データから参照先を抽出し、当該参照先に対応する外部情報を取得する
     請求項2ないし4のうちいずれか1項に記載のデータ分類装置。
  7.  データ分類装置が実行するデータ分類方法であって、
     分類対象データを用いて特徴ベクトルを生成するデータ変換ステップと、
     前記分類対象データの分類を推定する複数の弱分類器を備える分類推定部から、前記特徴ベクトルに基づく分類過程の観測情報を取得し、当該観測情報に基づいて分類推定過程特徴ベクトルを生成する分類推定過程観測ステップと、
     前記分類推定過程観測ステップにより生成された前記分類推定過程特徴ベクトルと、前記特徴ベクトルが入力された前記分類推定部から出力される分類結果とに基づいて、当該分類結果の正誤を判定する誤り判定ステップと
     を備えるデータ分類方法。
  8.  コンピュータを、請求項1ないし6のうちいずれか1項に記載のデータ分類装置における各部として機能させるためのプログラム。
PCT/JP2020/000902 2020-01-14 2020-01-14 データ分類装置、データ分類方法、及びプログラム WO2021144852A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US17/792,769 US11934427B2 (en) 2020-01-14 2020-01-14 Data classification apparatus, data classification method and program
PCT/JP2020/000902 WO2021144852A1 (ja) 2020-01-14 2020-01-14 データ分類装置、データ分類方法、及びプログラム
JP2021571085A JP7310933B2 (ja) 2020-01-14 2020-01-14 データ分類装置、データ分類方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/000902 WO2021144852A1 (ja) 2020-01-14 2020-01-14 データ分類装置、データ分類方法、及びプログラム

Publications (1)

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

Family

ID=76864000

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/000902 WO2021144852A1 (ja) 2020-01-14 2020-01-14 データ分類装置、データ分類方法、及びプログラム

Country Status (3)

Country Link
US (1) US11934427B2 (ja)
JP (1) JP7310933B2 (ja)
WO (1) WO2021144852A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014102555A (ja) * 2012-11-16 2014-06-05 Ntt Docomo Inc 判別ルール生成装置及び判別ルール生成方法
JP2016192007A (ja) * 2015-03-31 2016-11-10 日本電気株式会社 機械学習装置、機械学習方法、および機械学習プログラム
WO2020031960A1 (ja) * 2018-08-06 2020-02-13 日本電信電話株式会社 誤り判定装置、誤り判定方法、及びプログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11507989B2 (en) * 2019-10-21 2022-11-22 Salesforce, Inc. Multi-label product categorization
US20210334705A1 (en) * 2020-04-24 2021-10-28 Shared Spectrum Company Persisted machine learning-based sensing of rf environments

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014102555A (ja) * 2012-11-16 2014-06-05 Ntt Docomo Inc 判別ルール生成装置及び判別ルール生成方法
JP2016192007A (ja) * 2015-03-31 2016-11-10 日本電気株式会社 機械学習装置、機械学習方法、および機械学習プログラム
WO2020031960A1 (ja) * 2018-08-06 2020-02-13 日本電信電話株式会社 誤り判定装置、誤り判定方法、及びプログラム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
BINBIN XUE, SHINOBU NAGAYAMA, MASATO INAGI, SHIN'ICHI WAKABAYASHI,: "An Implementation Method of Reconfigurable Network Intrusion Detection Systems Based on Random Forests", IEICE TECHNICAL REPORT, vol. 117, no. 98, 12 June 2017 (2017-06-12), pages 37 - 42 *
KAWAGUCHI, HIDETOSHI ET AL.: "Psuedo-training data generation method aiming for robust reliability calculations in multi-class category semi-automated agents", THE 33RD ANNUAL CONFERENCE OF THE JAPANESE SOCIETY FOR ARTIFICIAL INTELLIGENCE, 1 June 2019 (2019-06-01) *

Also Published As

Publication number Publication date
JP7310933B2 (ja) 2023-07-19
US11934427B2 (en) 2024-03-19
JPWO2021144852A1 (ja) 2021-07-22
US20230040784A1 (en) 2023-02-09

Similar Documents

Publication Publication Date Title
US12021881B2 (en) Automatic inline detection based on static data
EP3574430B1 (en) Continuous learning for intrusion detection
US11856021B2 (en) Detecting and mitigating poison attacks using data provenance
Ilyas et al. Black-box adversarial attacks with limited queries and information
US11212297B2 (en) Access classification device, access classification method, and recording medium
KR101893090B1 (ko) 취약점 정보 관리 방법 및 그 장치
KR20160119678A (ko) 기계 학습을 이용한 웹 공격 탐지방법 및 장치
Benaddi et al. Adversarial attacks against iot networks using conditional gan based learning
More et al. Trust-based voting method for efficient malware detection
WO2020031960A1 (ja) 誤り判定装置、誤り判定方法、及びプログラム
CN110619216A (zh) 一种对抗性网络的恶意软件检测方法及系统
WO2020196549A1 (ja) 誤り判定装置、誤り判定方法、及びプログラム
CN111200576A (zh) 一种基于机器学习实现恶意域名识别的方法
JPWO2019053844A1 (ja) メール検査装置、メール検査方法およびメール検査プログラム
WO2021144852A1 (ja) データ分類装置、データ分類方法、及びプログラム
JP6935849B2 (ja) 学習方法、学習装置及び学習プログラム
KR20180050163A (ko) 머신 러닝 기반의 취약점 정보를 분류하는 방법 및 장치
CN110197066B (zh) 一种云计算环境下的虚拟机监控方法及监控系统
KR20180062998A (ko) 머신 러닝 기반의 취약점 정보를 분류하는 방법 및 장치
US11797893B2 (en) Machine learning for generating an integrated format data record
US20230315839A1 (en) Assessment apparatus, surrogate model generation apparatus, assessment method, and program
NZ754552B2 (en) Continuous learning for intrusion detection

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021571085

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

Country of ref document: EP

Kind code of ref document: A1