WO2020070916A1 - 算出装置、算出方法及び算出プログラム - Google Patents
算出装置、算出方法及び算出プログラムInfo
- Publication number
- WO2020070916A1 WO2020070916A1 PCT/JP2019/016375 JP2019016375W WO2020070916A1 WO 2020070916 A1 WO2020070916 A1 WO 2020070916A1 JP 2019016375 W JP2019016375 W JP 2019016375W WO 2020070916 A1 WO2020070916 A1 WO 2020070916A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- model
- training
- input
- calculation device
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/552—Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/554—Detecting local intrusion or implementing counter-measures involving event detection and direct action
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/20—Ensemble learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1483—Countermeasures against malicious traffic service impersonation, e.g. phishing, pharming or web spoofing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/034—Test or assess a computer or a system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/10—Machine learning using kernel methods, e.g. support vector machines [SVM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/01—Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
Definitions
- the present invention relates to a calculation device, a calculation method, and a calculation program.
- An attacker who carries out a cyber attack on the Internet uses a communication destination represented by a URL, a domain name, or an IP address in the course of carrying out the attack or achieving his purpose. For example, an attacker places malicious software called malware on a server on the Internet, and sets a communication destination represented by a URL, a domain name, or an IP address as an identifier of the server or the software.
- malware malicious software
- a countermeasure against a cyber attack it is common to specify a communication destination (hereinafter referred to as a malicious communication destination) represented by a URL, a domain name, or an IP address used in the attack, and to monitor and cut off the communication route. It has been done.
- ISP Internet Service Provider
- IDS Intrusion Detection System
- IPS Intrusion
- security appliances typified by Prevention (System) and DPI (Deep Packet Inspection)
- measures are taken to filter communications from users to malicious destinations.
- Malicious communication destinations used for such countermeasures are to intentionally cause malware infection in a decoy system such as a honeypot or actually operate malware in a malware analysis system such as a sandbox Specified by Furthermore, in order to supplement a malicious communication destination that cannot be observed and specified only with these systems, a training model by a machine learning method is generated using already identified known malicious communication destinations as training data, and the generated training model is generated. Is used to identify a new malicious communication destination by calculating the degree of malignancy of test data composed of the new communication destination (for example, see Patent Document 1).
- the conventional technology has a problem that when the malicious destination changes, it may be difficult to accurately specify the malicious destination.
- the attacker may change the malicious communication destination one after another in order to avoid identifying the malicious communication destination.
- every time the malicious destination changes data of a new malicious destination is generated.
- Patent Document 1 it is possible to generate a model using data of the latest malicious communication destination as training data.
- the data of the latest malicious communication destination may have a bias, or may not include sufficient information for improving the accuracy of the model.
- the method described in Patent Document 1 may not be able to sufficiently improve the accuracy of the model.
- a calculation device includes: an input unit configured to receive input of a plurality of data sets including a communication destination known to be malicious as data; A first generation unit that generates a model for calculating a degree from each of the plurality of data sets; and a second generation unit that weights each of the models and generates a mixed model using the models and the weights. And a unit.
- a malicious communication destination can be specified with high accuracy even when the malicious communication destination changes.
- FIG. 1 is a diagram illustrating an example of a configuration of a calculation device according to the first embodiment.
- FIG. 2 is a diagram illustrating an example of the training data according to the first embodiment.
- FIG. 3 is a diagram illustrating an example of the target communication destination list according to the first embodiment.
- FIG. 4 is a diagram illustrating an example of the degree of malignancy of the target communication destination according to the first embodiment.
- FIG. 5 is a diagram for explaining the mixed model generation process according to the first embodiment.
- FIG. 6 is a flowchart illustrating a processing flow of the calculation device according to the first embodiment.
- FIG. 7 is a diagram for explaining a mixed model generation process according to the second embodiment.
- FIG. 8 is a flowchart illustrating a processing flow of the calculation device according to the second embodiment.
- FIG. 9 is a diagram illustrating an example of a computer that executes a calculation program.
- FIG. 1 is a diagram illustrating an example of a configuration of a calculation device according to the first embodiment.
- the calculation device 10 includes a control unit 11 and a storage unit 12.
- the control unit 11 controls the entire calculation device 10.
- the control unit 11 is, for example, an electronic circuit such as a CPU (Central Processing Unit) or an MPU (Micro Processing Unit), or an integrated circuit such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field Programmable Gate Array). Further, the control unit 11 has an internal memory for storing programs and control data defining various processing procedures, and executes each process using the internal memory.
- the storage unit 12 is a storage device such as a hard disk drive (HDD), a solid state drive (SSD), and an optical disk. Note that the storage unit 12 may be a rewritable semiconductor memory such as a random access memory (RAM), a flash memory, or a non-volatile random access memory (NVSRAM).
- the storage unit 12 stores an operating system (OS) executed by the calculation device 10 and various programs. Further, the storage unit 12 stores various information used in executing the program.
- OS operating system
- the control unit 11 functions as various processing units when various programs operate.
- the control unit 11 includes a training data input unit 111, a selection unit 112, a training model generation unit 113, a target communication destination input unit 114, a mixed training model generation unit 115, and an output unit 116.
- the training data input unit 111 receives input of training data.
- the training data is a data set including, as data, a communication destination known to be malicious.
- FIG. 2 is a diagram illustrating an example of the training data according to the first embodiment. As shown in FIG. 2, the training data includes a serial number, a label, a type, and a communication destination. The label indicates whether each communication destination is benign or malignant.
- Each record of the training data is an example of data included in the data set. In the following description, data included in a data set may be referred to as an element.
- the example in FIG. 2 indicates that the domain name “foo.example.com” is a benign communication destination.
- the example in FIG. 2 shows that the domain name “bar.example.net” is that of a malicious communication destination.
- the communication destination may be represented by a domain name, or may be represented by a URL or an IP address.
- each item of the training data is not limited to the one shown in FIG.
- the label for benign and the label for malignant may be written as “0” and “1”, respectively.
- the training data may include only the malicious communication destination. In that case, the item of the label may be omitted.
- the training data input unit 111 receives training data input at regular intervals. For example, every day, the data of the malicious communication destination collected using a sandbox or the like is input to the training data input unit 111 as training data.
- the selection unit 112 selects a predetermined element from the input training data.
- the selection unit 112 may select all elements, may select elements at random, or may select elements based on a contribution described later.
- the training model generation unit 113 generates a model for calculating the degree of malignancy of the input communication destination from each of the plurality of training data. Further, the training model generation unit 113 generates a model from the data selected by the selection unit 112.
- the training model generation unit 113 can perform learning of training data and generation of a model using a known machine learning technique. For example, the training model generation unit 113 generates a model using a decision tree, a neural network, a support vector machine, and the like. Note that the training model generator 113 is an example of a first generator. In the following description, the model generated by the training model generation unit 113 may be called a training model.
- the training model generation unit 113 generates a training model in units of input of training data. For example, when the training data is input every day as described above, the training model generation unit 113 generates a training model corresponding to each day.
- the target communication destination input unit 114 receives an input of the target communication destination list.
- FIG. 3 is a diagram illustrating an example of the target communication destination list according to the first embodiment.
- the target communication destination list is a list of communication destinations for which it is unknown whether or not it is malicious.
- the communication destination is represented by a domain name, a URL, an IP address, and the like.
- the communication destination list may include communication destinations included in the training data.
- the mixed training model generation unit 115 weights each of the training models, and generates a mixed model using the training models and the weights.
- the mixed training model generation unit 115 can generate a mixed model by an ensemble learning technique.
- the model generated by the mixed training model generation unit 115 may be called a mixed training model.
- the mixed training model generation unit 115 generates a mixed training model for calculating a weighted sum of the output values of the respective training models generated by the training model generation unit 113.
- the training model generating unit 113 generates a training model using a decision tree
- the mixed training model generating unit 115 can generate a mixed training model using a random forest.
- the mixed training model generation unit 115 is an example of a second generation unit.
- the mixed training model generation unit 115 when the training model generation unit 113 generates a training model corresponding to each day, the mixed training model generation unit 115 generates a mixed training model obtained by mixing the training models corresponding to a plurality of days. Can be generated.
- the mixed training model generation unit 115 weights each of the training models in accordance with the statistics regarding the training data of the generation source. For example, the mixed training model generation unit 115 can increase the weight as the number of records included in the training data of the generation source increases.
- the output unit 116 calculates and outputs the degree of malignancy of each communication destination included in the target communication destination list, using the mixed training model generated by the mixed training model generation unit 115.
- FIG. 4 is a diagram illustrating an example of the degree of malignancy of the target communication destination according to the first embodiment. As shown in FIG. 4, the degree of malignancy may be represented by a numerical value from 0 to 1. The example in FIG. 4 indicates that the degree of malignancy of the communication destination “www.example.com” is 0.3.
- the method of expressing the degree of malignancy is not limited to continuous values as shown in FIG.
- the output unit 116 may represent the degree of malignancy in two values, “benign” and “malignant”. In this case, for example, if the malignancy calculated as a continuous value is less than 0.5, the output unit 116 sets the binary malignancy to “benign”, and the malignancy calculated as a continuous value is 0.5 or more. If so, the binary degree of malignancy may be "malignant". Further, the output unit 116 may represent the degree of malignancy by a discrete value other than the binary value. The output unit 116 may output the malignancy in a format that matches the characteristics of the method used for generating the model, or may convert the malignancy into a format specified by the user and output the converted malignancy.
- FIG. 5 is a diagram for explaining the process of generating the mixed training model according to the first embodiment.
- training data is input to the calculation device 10 T times.
- the calculation device 10 generates the mixed training model H every time the training data is input, and calculates the malignancy H (x).
- x represents a target communication destination.
- T 7.
- the T batch of training data input to the calculation device 10 (x 1, y 1) , ..., and (x n, y n).
- the size of the t-th training data, i.e., the number of elements and N t, training data to T th is expressed by the equation (1).
- K is the size of the training data added at the t-th time.
- the training model generating unit 113 for each value of each t, (2) as shown in equation generates a training model h t using the N t training data.
- the mixing training model generation unit 115 calculates the weight alpha t training model h t (3) as expression.
- D t is a model dimension of the training model h t.
- the model dimension is an index indicating the complexity of the model. For example, if the training model h t is it is to use a decision tree, model dimension is the number of branches of the decision tree.
- Mixed training model generation unit 115 using the training model h t and weight alpha t, to produce a mixed training model H shown in equation (4). Further, the output unit 116 inputs the target communication destination x to the mixed training model H and calculates the malignancy H (x).
- the selection unit 112 selects all elements of the training data or M elements selected at random.
- M is a constant not depending on t.
- the M elements may include overlapping elements.
- FIG. 6 is a flowchart illustrating a processing flow of the calculation device according to the first embodiment.
- the current training data is training data up to the (t ⁇ 1) th training data.
- the new training data is the t-th training data.
- the current training model is ht-1 .
- the new training model is assumed to be ht .
- the mixed training model is a mixed training model H generated after the t-th training data is input.
- the current training data (step S101) and the new training data are input to the calculation device 10 (step S102).
- the current training data may be input in advance and stored in the storage unit 12.
- the calculation device 10 generates a current training model (step S103). Further, the calculation device 10 generates a new training model (Step S104).
- the current training data may be generated in advance and stored in the storage unit 12.
- the calculation device 10 selects and weights the generated training models and mixes them (step S105) to generate a mixed training model (step S106).
- the calculation device 10 inputs the target communication destination to the mixed training model (Step S107), calculates the malignancy of the target communication destination (Step S108), and outputs the calculated malignancy (Step S109).
- the calculation device 10 receives input of a plurality of training data including, as data, a communication destination known to be malicious. Further, the calculation device 10 generates a model for calculating the degree of malignancy of the input communication destination from each of the plurality of training data. Further, the calculation device 10 weights each of the models, and generates a mixed model using the models and the weights.
- the conventional method of calculating malignancy using supervised machine learning is to discard the current training model and generate a new training model using the new training data when new training data is obtained. Therefore, when the new training data lacks the communication destination related to the target communication destination, or the communication destination that becomes the noise of the training model is mixed, the communication destination for which the malignancy could be calculated correctly with the current training model In some cases, malignancy could not be calculated correctly with the new training model. As described above, in the conventional method of calculating the degree of malignancy, when the destination of the malicious communication changes, the accuracy is reduced.
- the calculation device 10 of the present embodiment appropriately mixes the current training model with the new training model without discarding the current training model, so that the malicious communication destination changes. Even in this case, the malicious communication destination can be specified with high accuracy.
- the calculation device 10 weights each model in accordance with a statistic related to the training data of the generation source. For example, it is conceivable that the larger the size of the training data used for training, the higher the accuracy of the generated model. For this reason, the calculation device 10 can make the influence of the model with higher accuracy larger in the mixed training model by reflecting the statistics such as the data size in the weight.
- the calculation device 10 weights each training model.
- the calculation device 10 weights not only each training model but also each element of the training data of the generation source.
- the calculation device 10 can weight each element of the training data according to the contribution of the calculation of the degree of malignancy.
- the selection unit 112 selects, from the data included in the plurality of training data, a certain number of data in order of decreasing contribution to the calculation of the malignancy using the model.
- FIG. 7 is a diagram for explaining a mixed model generation process according to the second embodiment.
- a weight D t (k) is set for each training data.
- k is an index for identifying an element of the training data.
- the training data up to the t-th training or the T-th training may be input to the calculating device 10 at one time, or may be sequentially input for each t.
- the training data is sequentially input to the calculation device 10.
- the training data input unit 111 sequentially receives training data input.
- the selection unit 112 uses a model generated by the training model generation unit 113 for each of the data included in the input training data. A fixed number of data is selected in descending order of contribution to the calculation of the malignancy. Further, each time data is selected by the selection unit 112, the training model generation unit 113 generates a model based on the selected data. Further, every time a model is generated by the training model generation unit 113, the mixed training model generation unit 115 weights the generated model so that the smaller the error function is, the larger the generated model is. Add to the model.
- the training model generation unit 113 calculates an error function ⁇ t used at the time of generating the t-th training model as in Expression (6).
- the mixing training model generation unit 115 calculates the weight alpha t training model h t (7) as expression.
- the alpha t increases as the error function is small, as the error function is large small.
- the calculation device 10 can make the effect of the model with higher accuracy in the mixed training model greater.
- N t ⁇ 1 ⁇ k ⁇ N t that is, when k corresponds to the new training data, it is unknown which element has a large degree of contribution, so the weight of each element is equal.
- Z t is an element sum of 1 ⁇ k ⁇ N t-1 when it is D t (k) is normalized so that the N t-1 / N t.
- the weight D t (k) is affected by the contribution of each element in the current training model. Specifically, the weight D t (k) increases as the contribution of the element k in the current training model ht-1 generated at the time of inputting the training data at the ( t ⁇ 1 ) th time increases.
- the selection unit 112 selects M elements based on the weight D t (k). For example, the selection unit 112 can select M elements in descending order of D t (k). Then, the training model generation unit 113 weights each element selected by the selection unit 112 with D t (k) for each value of t, and then, as shown in Expression (9), Nt number of elements. A training model ht is generated using the training data.
- Mixed training model generation unit 115 uses the training model h t and weight alpha t, to produce a mixed training model H shown in equation (10). Further, the output unit 116 inputs the target communication destination x to the mixed training model H and calculates the malignancy H (x).
- FIG. 8 is a flowchart illustrating a processing flow of the calculation device according to the second embodiment. As shown in FIG. 6, the current training data (step S201) and the new training data are input to the calculation device 10 (step S202).
- the calculation device 10 calculates the weight of each element of the new training data and the current training data, and selects and weights the elements included in each data (step S202a).
- the calculation device 10 generates a current training model (step S203). Further, the calculation device 10 generates a new training model (Step S204). Here, the calculation device 10 generates a current training model and a new training model using the elements selected and weighted in step S202a.
- the calculation device 10 selects and weights the generated training models and mixes them (step S205) to generate a mixed training model (step S206).
- the calculation device 10 inputs the target communication destination to the mixed training model (Step S207), calculates the malignancy of the target communication destination (Step S208), and outputs the calculated malignancy (Step S209).
- the selecting unit 112 selects a certain number of data from the data included in the plurality of training data in order of increasing contribution to the calculation of the malignancy using the model.
- the calculation device 10 can propagate useful information in the past or the present and use it for generating the latest training model. Further, the calculation device 10 can generate a model with higher accuracy each time the calculation is repeated.
- the training data input unit 111 sequentially receives training data input.
- the selection unit 112 uses a model generated by the training model generation unit 113 for each of the data included in the input training data. A fixed number of data is selected in descending order of contribution to the calculation of the malignancy. Further, each time data is selected by the selection unit 112, the training model generation unit 113 generates a model based on the selected data. Further, every time a model is generated by the training model generation unit 113, the mixed training model generation unit 115 weights the generated model so that the smaller the error function is, the larger the generated model is. Add to the model.
- the calculation device 10 can calculate the weight based on the sequentially input training data.
- each component of each device illustrated is a functional concept and does not necessarily need to be physically configured as illustrated. That is, the specific form of distribution and integration of each device is not limited to the illustrated one, and all or a part thereof may be functionally or physically distributed or Can be integrated and configured. Further, all or any part of each processing function performed by each device can be realized by a CPU and a program analyzed and executed by the CPU, or can be realized as hardware by wired logic.
- the calculation device 10 can be implemented by installing a calculation program for executing the above-described model generation and malignancy calculation as package software or online software in a desired computer.
- the information processing device can function as the calculation device 10.
- the information processing apparatus referred to here includes a desktop or notebook personal computer.
- the information processing apparatus includes a mobile communication terminal such as a smartphone, a mobile phone, and a PHS (Personal Handyphone System), and a slate terminal such as a PDA (Personal Digital Assistant).
- the calculation device 10 can also be implemented as a calculation server device that uses the terminal device used by the user as a client and provides the client with the services related to the above-described model generation and malignancy calculation.
- the calculation server device is implemented as a server device that provides a calculation service that receives training data as input and outputs a mixed training model.
- the calculation server device may be implemented as a Web server, or may be implemented as a cloud that provides services related to the above-described model generation and malignancy calculation by outsourcing.
- FIG. 9 is a diagram illustrating an example of a computer that executes a calculation program.
- the computer 1000 has, for example, a memory 1010 and a CPU 1020.
- the computer 1000 has a hard disk drive interface 1030, a disk drive interface 1040, a serial port interface 1050, a video adapter 1060, and a network interface 1070. These components are connected by a bus 1080.
- the memory 1010 includes a ROM (Read Only Memory) 1011 and a RAM 1012.
- the ROM 1011 stores, for example, a boot program such as a BIOS (Basic Input Output System).
- BIOS Basic Input Output System
- the hard disk drive interface 1030 is connected to the hard disk drive 1090.
- the disk drive interface 1040 is connected to the disk drive 1100.
- a removable storage medium such as a magnetic disk or an optical disk is inserted into the disk drive 1100.
- the serial port interface 1050 is connected to, for example, a mouse 1110 and a keyboard 1120.
- the video adapter 1060 is connected to the display 1130, for example.
- the hard disk drive 1090 stores, for example, the OS 1091, the application program 1092, the program module 1093, and the program data 1094. That is, a program that defines each process of the calculation device 10 is implemented as a program module 1093 in which codes executable by a computer are described.
- the program module 1093 is stored in the hard disk drive 1090, for example.
- a program module 1093 for executing the same processing as the functional configuration of the calculation device 10 is stored in the hard disk drive 1090.
- the hard disk drive 1090 may be replaced by an SSD.
- the setting data used in the processing of the above-described embodiment is stored as the program data 1094 in, for example, the memory 1010 or the hard disk drive 1090. Then, the CPU 1020 reads the program module 1093 and the program data 1094 stored in the memory 1010 and the hard disk drive 1090 to the RAM 1012 as necessary, and executes the processing of the above-described embodiment.
- the program module 1093 and the program data 1094 are not limited to being stored in the hard disk drive 1090, but may be stored in, for example, a removable storage medium and read out by the CPU 1020 via the disk drive 1100 or the like. Alternatively, the program module 1093 and the program data 1094 may be stored in another computer connected via a network (LAN (Local Area Network), WAN (Wide Area Network), etc.). Then, the program module 1093 and the program data 1094 may be read from another computer by the CPU 1020 via the network interface 1070.
- LAN Local Area Network
- WAN Wide Area Network
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
算出装置(10)は、悪性であることが既知の通信先をデータとして含む複数の訓練データの入力を受け付ける。また、算出装置(10)は、入力された通信先の悪性度を算出するモデルを、複数の訓練データのそれぞれから生成する。また、算出装置(10)は、モデルのそれぞれに重みを付け、モデル及び重みを用いて混合モデルを生成する。また、算出装置(10)は、混合モデルを用いて悪性であるか否かが未知の通信先の悪性度を算出する。
Description
本発明は、算出装置、算出方法及び算出プログラムに関する。
インターネット上でサイバー攻撃を実施する攻撃者は、攻撃の実施過程あるいは目的遂行のために、URLやドメイン名やIPアドレスに代表される通信先を利用する。例えば、攻撃者はマルウェアと呼ばれる悪意のあるソフトウェアをインターネット上のサーバに配置し、そのサーバやソフトウェアの識別子としてURLやドメイン名やIPアドレスに代表される通信先を設定する。ユーザが当該通信先にアクセスすることでマルウェアに感染する攻撃事例や、マルウェアに感染した後に当該通信先へアクセスさせられて情報漏えいが発生する攻撃事例がある。
従来、サイバー攻撃への対策として、攻撃で利用されるURLやドメイン名やIPアドレスに代表される通信先(以後、悪性通信先)を特定し、通信経路上で監視し遮断することが一般的に行われている。例えば、ローカルネットワークやISP(Internet Service Provider)に配置されるキャッシュDNSサーバにおいてユーザからの悪性通信先宛の通信をフィルタリングする対策や、ローカルネットワークに配置されるIDS(Intrusion Detection System)、IPS(Intrusion Prevention System)、DPI(Deep Packet Inspection) に代表されるセキュリティアプライアンスにおいてユーザからの悪性通信先宛の通信をフィルタリングする対策が行われている。
このような対策に利用するための悪性通信先は、ハニーポットに代表されるおとりシステムで故意にマルウェア感染を発生させることや、サンドボックスに代表されるマルウェア解析システムにてマルウェアを実際に動作させることで特定される。さらに、これらのシステムだけでは観測及び特定をすることができない悪性通信先を補完するために、既に特定された既知悪性通信先を訓練データとして機械学習手法による訓練モデルを生成し、生成した訓練モデルを利用して新規通信先で構成されるテストデータの悪性度を算出することにより、新たな悪性通信先を特定することが行われている(例えば、特許文献1を参照)。
しかしながら、従来の技術には、悪性通信先が変化する場合に、精度良く悪性通信先を特定することが困難な場合があるという問題がある。ここで、攻撃者は、悪性通信先を特定されることを避けるため、悪性通信先を次々と変化させる場合がある。また、悪性通信先が変化するたびに、新たな悪性通信先のデータが発生することになる。
例えば、特許文献1に記載の手法によれば、最新の悪性通信先のデータを訓練データとしたモデルの生成を行うことができる。一方で、最新の悪性通信先のデータには、偏りが発生している場合や、モデルの精度向上に十分な情報が含まれていない場合があり得る。そのような場合、特許文献1に記載の手法では、モデルの精度を十分に向上させることができないことが考えられる。
上述した課題を解決し、目的を達成するために、算出装置は、悪性であることが既知の通信先をデータとして含む複数のデータセットの入力を受け付ける入力部と、入力された通信先の悪性度を算出するモデルを、前記複数のデータセットのそれぞれから生成する第1の生成部と、前記モデルのそれぞれに重みを付け、前記モデル及び前記重みを用いて混合モデルを生成する第2の生成部と、を有することを特徴とする。
本発明によれば、悪性通信先が変化する場合であっても、精度良く悪性通信先を特定することができる。
以下に、本願に係る算出装置、算出方法及び算出プログラムの実施形態を図面に基づいて詳細に説明する。なお、本発明は、以下に説明する実施形態により限定されるものではない。
[第1の実施形態の構成]
まず、図1を用いて、第1の実施形態に係る算出装置の構成について説明する。図1は、第1の実施形態に係る算出装置の構成の一例を示す図である。図1に示すように、算出装置10は、制御部11及び記憶部12を有する。
まず、図1を用いて、第1の実施形態に係る算出装置の構成について説明する。図1は、第1の実施形態に係る算出装置の構成の一例を示す図である。図1に示すように、算出装置10は、制御部11及び記憶部12を有する。
制御部11は、算出装置10全体を制御する。制御部11は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)等の電子回路や、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)等の集積回路である。また、制御部11は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、内部メモリを用いて各処理を実行する。
記憶部12は、HDD(Hard Disk Drive)、SSD(Solid State Drive)、光ディスク等の記憶装置である。なお、記憶部12は、RAM(Random Access Memory)、フラッシュメモリ、NVSRAM(Non Volatile Static Random Access Memory)等のデータを書き換え可能な半導体メモリであってもよい。記憶部12は、算出装置10で実行されるOS(Operating System)や各種プログラムを記憶する。さらに、記憶部12は、プログラムの実行で用いられる各種情報を記憶する。
また、制御部11は、各種のプログラムが動作することにより各種の処理部として機能する。例えば、制御部11は、訓練データ入力部111、選択部112、訓練モデル生成部113、対象通信先入力部114、混合訓練モデル生成部115及び出力部116を有する。
訓練データ入力部111は、訓練データの入力を受け付ける。訓練データは、悪性であることが既知の通信先をデータとして含むデータセットである。図2は、第1の実施形態に係る訓練データの一例を示す図である。図2に示すように、訓練データには、通番、ラベル、種別及び通信先が含まれる。ラベルは、各通信先が良性であるか悪性であるかを示している。また、訓練データの各レコードは、データセットに含まれるデータの一例である。また、以降の説明では、データセットに含まれるデータを要素と呼ぶ場合がある。
例えば、図2の例では、「foo.example.com」というドメイン名が良性の通信先のものであることが示されている。また、図2の例では、「bar.example.net」というドメイン名が悪性の通信先のものであることが示されている。また、図2に示すように、通信先はドメイン名で表記されてもよいし、URLやIPアドレスで表記されてもよい。
なお、訓練データの各項目の表記は、図2に示されるものに限定されない。例えば、良性の場合のラベル及び悪性の場合のラベルは、それぞれ「0」及び「1」のように表記されてもよい。また、訓練データは悪性の通信先のみを含むものであってもよい。その場合、ラベルの項目は省略されてもよい。
また、訓練データ入力部111は、一定期間ごとに訓練データの入力を受け付ける。例えば、訓練データ入力部111には、1日ごとに、その日にサンドボックス等を用いて収集された悪性通信先のデータが訓練データとして入力される。
選択部112は、入力された訓練データから所定の要素を選択する。選択部112は、全要素を選択してもよいし、要素をランダムに選択してもよいし、後述する寄与度に基づいて要素を選択してもよい。
訓練モデル生成部113は、入力された通信先の悪性度を算出するモデルを、複数の訓練データのそれぞれから生成する。また、訓練モデル生成部113は、選択部112によって選択されたデータからモデルを生成する。
訓練モデル生成部113は、既知の機械学習の手法を用いて、訓練データの学習及びモデルの生成を行うことができる。例えば、訓練モデル生成部113は、決定木、ニューラルネットワーク及びサポートベクターマシン等を用いてモデルの生成を行う。なお、訓練モデル生成部113は、第1の生成部の一例である。また、以降の説明では、訓練モデル生成部113によって生成されるモデルを訓練モデルと呼ぶ場合がある。
訓練モデル生成部113は、訓練データが入力された単位で訓練モデルの生成を行う。例えば、前述のように訓練データが1日ごとに入力される場合、訓練モデル生成部113は、各日に対応した訓練モデルを生成する。
対象通信先入力部114は、対象通信先リストの入力を受け付ける。図3は、第1の実施形態に係る対象通信先リストの一例を示す図である。図3に示すように、対象通信先リストは、悪性であるか否かが未知の通信先のリストである。訓練データと同様に、対象通信先リストにおいて、通信先はドメイン名、URL及びIPアドレス等で表記される。また、通信先リストには、訓練データに含まれる通信先が含まれていてもよい。
混合訓練モデル生成部115は、訓練モデルのそれぞれに重みを付け、訓練モデル及び重みを用いて混合モデルを生成する。ここで、混合訓練モデル生成部115は、アンサンブル学習の手法により混合モデルを生成することができる。また、以降の説明では、混合訓練モデル生成部115によって生成されるモデルを混合訓練モデルと呼ぶ場合がある。
例えば、混合訓練モデル生成部115は、訓練モデル生成部113によって生成された各訓練モデルの出力値の重み付き和を計算する混合訓練モデルを生成する。また、訓練モデル生成部113が決定木を用いた訓練モデルを生成する場合、混合訓練モデル生成部115は、ランダムフォレストを用いた混合訓練モデルを生成することができる。なお、混合訓練モデル生成部115は、第2の生成部の一例である。
ここで、例えば、前述のように、訓練モデル生成部113が各日に対応した訓練モデルを生成する場合、混合訓練モデル生成部115は、複数の日に対応する訓練モデルを混合した混合訓練モデルを生成することができる。
また、混合訓練モデル生成部115は、訓練モデルのそれぞれについて、生成元の訓練データに関する統計量に応じた重みを付ける。例えば、混合訓練モデル生成部115は、生成元の訓練データに含まれるレコード数が多いほど重みを大きくすることができる。
出力部116は、混合訓練モデル生成部115によって生成された混合訓練モデルを用いて、対象通信先リストに含まれる各通信先の悪性度を算出し、出力する。図4は、第1の実施形態に係る対象通信先の悪性度の一例を示す図である。図4に示すように、悪性度は、0以上1以下の数値で表されてもよい。図4の例では、「www.example.com」という通信先の悪性度が0.3であることが示されている。
なお、悪性度の表記方法は、図4に示すような連続値に限られない。例えば、出力部116は、悪性度を「良性」及び「悪性」の2値で表してもよい。この場合、例えば、出力部116は、連続値として算出された悪性度が0.5未満であれば2値の悪性度を「良性」とし、連続値として算出された悪性度が0.5以上であれば2値の悪性度を「悪性」としてもよい。また、出力部116は、2値以外の離散値で悪性度を表してもよい。また、出力部116、モデルの生成に利用する手法の特性に合わせた形式で悪性度を出力してもよいし、ユーザが指定した形式に悪性度を変換して出力してもよい。
ここで、図5を用いて、算出装置10による混合訓練モデルの生成処理を詳細に説明する。図5は、第1の実施形態に係る混合訓練モデルの生成処理を説明するための図である。図5に示すように、算出装置10には、訓練データがT回入力されるものとする。そして、算出装置10は、訓練データが入力されるたびに混合訓練モデルHを生成し、悪性度H(x)を算出する。なお、xは対象通信先を表している。
例えば、1週間の間毎日訓練データが入力される場合、Tは7である。そして、t=1の場合、すなわち週の初日には、算出装置10は、1つ目の訓練モデルを生成する。また、t=2の場合、すなわち週の2日目には、算出装置10は、2つ目の訓練モデルを生成し、当該2つ目の訓練モデルを1日目に生成した1つ目の訓練モデルと混合する。同様に、t=7の場合、すなわち週の最終日には、算出装置10は、7つ目の訓練モデルを生成し、当該7つ目の訓練モデルを6日目までに生成した訓練モデルと混合する。
訓練データに含まれる通信先をxi∈X、xiが悪性であるか否かを表すラベルyi∈{-1,1}とする。また、算出装置10に入力されたT回分の訓練データを(x1,y1),…,(xn,yn)とする。このとき、t回目の訓練データのサイズ、すなわち要素の数をNtとすると、T回目までの訓練データは(1)式のように表される。
t=1の場合、Nt=N1である。また、t=1でない場合、Nt=Nt-1+Kである。ここで、Kは、t回目に追加される訓練データのサイズである。ここで、訓練モデル生成部113は、各tの値ごとに、(2)式に示すように、Nt個の訓練データを用いて訓練モデルhtを生成する。
また、混合訓練モデル生成部115は、訓練モデルhtの重みαtを(3)式のように計算する。
ここで、Dtは、訓練モデルhtのモデル次元である。モデル次元は、モデルの複雑さを表す指標である。例えば、訓練モデルhtが決定木を用いるものである場合、モデル次元は、決定木の分岐の数である。
混合訓練モデル生成部115は、訓練モデルht及び重みαtを用いて、(4)式に示す混合訓練モデルHを生成する。また、出力部116は、混合訓練モデルHに、対象通信先xを入力し、悪性度H(x)を計算する。
なお、本実施形態では、選択部112は、訓練データの全要素、又はランダムに選択されたM個の要素を選択するものとする。ただし、Mは、tによらない定数である。また、M個の要素には重複するものが含まれていてもよい。
[第1の実施形態の処理]
図6を用いて、算出装置10の処理の流れについて説明する。図6は、第1の実施形態に係る算出装置の処理の流れを示すフローチャートである。ここで、現行訓練データは、t-1回目までの訓練データであるものとする。また、新規訓練データは、t回目の訓練データであるものとする。また、現行訓練モデルは、ht-1であるものとする。また、新規訓練モデルは、htであるものとする。また、混合訓練モデルはt回目の訓練データが入力された後に生成される混合訓練モデルHである。
図6を用いて、算出装置10の処理の流れについて説明する。図6は、第1の実施形態に係る算出装置の処理の流れを示すフローチャートである。ここで、現行訓練データは、t-1回目までの訓練データであるものとする。また、新規訓練データは、t回目の訓練データであるものとする。また、現行訓練モデルは、ht-1であるものとする。また、新規訓練モデルは、htであるものとする。また、混合訓練モデルはt回目の訓練データが入力された後に生成される混合訓練モデルHである。
図6に示すように、算出装置10には、現行訓練データ(ステップS101)及び新規訓練データが入力される(ステップS102)。ここで、現行訓練データは、事前に入力され、記憶部12に記憶されているものであってもよい。
次に、算出装置10は、現行訓練モデルを生成する(ステップS103)。また、算出装置10は、新規訓練モデルを生成する(ステップS104)。ここで、現行訓練データは、事前に生成され、記憶部12に記憶されているものであってもよい。
そして、算出装置10は、生成した訓練モデルの選択及び重み付けを行った上で混合し(ステップS105)、混合訓練モデルを生成する(ステップS106)。
さらに、算出装置10は、混合訓練モデルに対象通信先を入力し(ステップS107)、対象通信先の悪性度を算出し(ステップS108)、算出した悪性度を出力する(ステップS109)。
[第1の実施形態の効果]
算出装置10は、悪性であることが既知の通信先をデータとして含む複数の訓練データの入力を受け付ける。また、算出装置10は、入力された通信先の悪性度を算出するモデルを、複数の訓練データのそれぞれから生成する。また、算出装置10は、モデルのそれぞれに重みを付け、モデル及び重みを用いて混合モデルを生成する。
算出装置10は、悪性であることが既知の通信先をデータとして含む複数の訓練データの入力を受け付ける。また、算出装置10は、入力された通信先の悪性度を算出するモデルを、複数の訓練データのそれぞれから生成する。また、算出装置10は、モデルのそれぞれに重みを付け、モデル及び重みを用いて混合モデルを生成する。
従来の教師あり機械学習を利用した悪性度算出手法は、新規訓練データが得られると、現行訓練モデルを破棄して新規訓練データを用いて新規訓練モデルを生成するものであった。そのため、新規訓練データに対象通信先に関連する通信先が欠如したり、訓練モデルのノイズとなる通信先が混在したりする場合に、現行訓練モデルでは正しく悪性度を算出できていた通信先について、新規訓練モデルでは正しく悪性度を算出できない場合があった。このように、従来の悪性度算出手法では、悪性通信先が変化する場合、精度が低下していた。
これに対し、本実施形態の算出装置10は、新規訓練データが追加された場合、現行訓練モデルを破棄することなく、適宜重みを付けて新規訓練モデルと混合するため、悪性通信先が変化する場合であっても、精度良く悪性通信先を特定することができる。
また、算出装置10は、モデルのそれぞれについて、生成元の訓練データに関する統計量に応じた重みを付ける。例えば、訓練に用いられた訓練データのサイズが大きいほど、生成されたモデルの精度が向上することが考えられる。このため、算出装置10は、データサイズ等の統計量を重みに反映させることで、混合訓練モデルにおいて、より精度が高いモデルの影響が大きくなるようにすることができる。
[第2の実施形態]
第2の実施形態について説明する。なお、第2の実施形態に係る算出装置10の基本的な構成及び処理は、第1の実施形態に係る算出装置10の構成及び処理と同様である。以下では、第2の実施形態に係る算出装置10の構成及び処理のうち、第1の実施形態に係る算出装置10の構成及び処理と同様であるものについては適宜説明を省略する。
第2の実施形態について説明する。なお、第2の実施形態に係る算出装置10の基本的な構成及び処理は、第1の実施形態に係る算出装置10の構成及び処理と同様である。以下では、第2の実施形態に係る算出装置10の構成及び処理のうち、第1の実施形態に係る算出装置10の構成及び処理と同様であるものについては適宜説明を省略する。
第1の実施形態では、算出装置10は、各訓練モデルに重み付けを行う。これに対し、第2の実施形態では、算出装置10は、各訓練モデルだけでなく、生成元の訓練データの各要素に対しても重み付けを行う。
算出装置10は、悪性度の算出の寄与度に応じて訓練データの各要素の重み付けを行うことができる。このとき、選択部112は、複数の訓練データに含まれるデータから、モデルを用いた悪性度の算出への寄与度が大きい順に一定数のデータを選択する。
ここで、図7を用いて、算出装置10による混合訓練モデルの生成処理を詳細に説明する。図7は、第2の実施形態に係る混合モデルの生成処理を説明するための図である。図7の例では、図5の例と異なり、各訓練データに重みDt(k)が設定されている。ここで、kは訓練データの要素を識別するインデックスである。
また、算出装置10には、t回目まで、又はT回目までの訓練データが一時に入力されてもよいし、tごとに逐次入力されてもよい。ここでは、訓練データが、算出装置10に逐次入力されるものとする。
このとき、訓練データ入力部111は、訓練データの入力を逐次受け付ける。また、選択部112は、訓練データ入力部111に訓練データが入力されるたびに、当該入力された訓練データに含まれるデータそれぞれについて、訓練モデル生成部113によって生成済みのモデルを用いた場合の悪性度の算出への寄与度が大きい順に一定数のデータを選択する。また、訓練モデル生成部113は、選択部112によってデータが選択されるたびに、当該選択されたデータを基にモデルを生成する。また、混合訓練モデル生成部115は、訓練モデル生成部113によってモデルが生成されるたびに、当該生成されたモデルに、誤差関数が小さいほど大きくなるように重みを付けた上で、生成済みのモデルと足し合わせる。
ここで、訓練モデル生成部113は、t=1の場合の重みD1(k)を(5)式のように計算する。
また、訓練モデル生成部113は、t回目の訓練モデル生成時に利用される誤差関数εtを(6)式のように計算する。なお、(6)式のZは、εtを0以上1以下にするための要素である。例えば、Z=1/nである。
また、混合訓練モデル生成部115は、訓練モデルhtの重みαtを(7)式のように計算する。
このように、αtは、誤差関数が小さいほど大きくなり、誤差関数が大きいほど小さくなる。これにより、算出装置10は、混合訓練モデルにおいて、より精度が高いモデルの影響が大きくなるようにすることができる。
また、訓練モデル生成部113は、t=1でな場合の重みDt(k)を(8)式のように計算する。ここで、Nt-1<k≦Ntである場合、すなわちkが新規訓練データに対応している場合、どの要素の寄与度が大きいかは不明であるため、各要素の重みは均等になる。なお、(8)式のZtは、1≦k≦Nt-1である場合のDt(k)の合計値がNt-1/Ntとなるように正規化する要素である。
一方で、1≦k≦Nt-1である場合、すなわちkが現行訓練データに対応している場合、重みDt(k)は、現行訓練モデルにおける各要素の寄与度の影響を受ける。具体的には、t-1回目に訓練データ入力時に生成された現行訓練モデルht-1における要素kの寄与度が大きいほど、重みDt(k)が大きくなる。
ここで、選択部112は、重みDt(k)を基に、M個の要素を選択する。例えば、選択部112は、Dt(k)が大きい順にM個の要素を選択することができる。そして、訓練モデル生成部113は、各tの値ごとに、選択部112によって選択された各要素をDt(k)で重み付けした上で、(9)式に示すように、Nt個の訓練データを用いて訓練モデルhtを生成する。
混合訓練モデル生成部115は、訓練モデルht及び重みαtを用いて、(10)式に示す混合訓練モデルHを生成する。また、出力部116は、混合訓練モデルHに、対象通信先xを入力し、悪性度H(x)を計算する。
[第2の実施形態の処理]
図8を用いて、算出装置10の処理の流れについて説明する。図8は、第2の実施形態に係る算出装置の処理の流れを示すフローチャートである。図6に示すように、算出装置10には、現行訓練データ(ステップS201)及び新規訓練データが入力される(ステップS202)。
図8を用いて、算出装置10の処理の流れについて説明する。図8は、第2の実施形態に係る算出装置の処理の流れを示すフローチャートである。図6に示すように、算出装置10には、現行訓練データ(ステップS201)及び新規訓練データが入力される(ステップS202)。
ここで、算出装置10は、新規訓練データ及び現行訓練データの各要素の重みを計算し、各データに含まれる要素の選択及び重み付けを行う(ステップS202a)。
次に、算出装置10は、現行訓練モデルを生成する(ステップS203)。また、算出装置10は、新規訓練モデルを生成する(ステップS204)。ここで、算出装置10は、ステップS202aで選択及び重み付けを行った要素を用いて、現行訓練モデル及び新規訓練モデルを生成する。
そして、算出装置10は、生成した訓練モデルの選択及び重み付けを行った上で混合し(ステップS205)、混合訓練モデルを生成する(ステップS206)。
さらに、算出装置10は、混合訓練モデルに対象通信先を入力し(ステップS207)、対象通信先の悪性度を算出し(ステップS208)、算出した悪性度を出力する(ステップS209)。
[第2の実施形態の効果]
選択部112は、複数の訓練データに含まれるデータから、モデルを用いた悪性度の算出への寄与度が大きい順に一定数のデータを選択する。このように、算出装置10は、過去又は現行で有用であった情報を伝播させ、最新の訓練モデルの生成に利用することができる。さらに、算出装置10は、回を重ねるごとに、より精度の高いモデルを生成することが可能になる。
選択部112は、複数の訓練データに含まれるデータから、モデルを用いた悪性度の算出への寄与度が大きい順に一定数のデータを選択する。このように、算出装置10は、過去又は現行で有用であった情報を伝播させ、最新の訓練モデルの生成に利用することができる。さらに、算出装置10は、回を重ねるごとに、より精度の高いモデルを生成することが可能になる。
このとき、訓練データ入力部111は、訓練データの入力を逐次受け付ける。また、選択部112は、訓練データ入力部111に訓練データが入力されるたびに、当該入力された訓練データに含まれるデータそれぞれについて、訓練モデル生成部113によって生成済みのモデルを用いた場合の悪性度の算出への寄与度が大きい順に一定数のデータを選択する。また、訓練モデル生成部113は、選択部112によってデータが選択されるたびに、当該選択されたデータを基にモデルを生成する。また、混合訓練モデル生成部115は、訓練モデル生成部113によってモデルが生成されるたびに、当該生成されたモデルに、誤差関数が小さいほど大きくなるように重みを付けた上で、生成済みのモデルと足し合わせる。
これにより、算出装置10は、訓練データが最大で何回入力されるかが不明な場合であっても、逐次入力された訓練データを基に重みの計算を行うことができる。
[システム構成等]
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。すなわち、各装置の分散及び統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散又は統合して構成することができる。さらに、各装置にて行われる各処理機能は、その全部又は任意の一部が、CPU及び当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。すなわち、各装置の分散及び統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散又は統合して構成することができる。さらに、各装置にて行われる各処理機能は、その全部又は任意の一部が、CPU及び当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
また、本実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
[プログラム]
一実施形態として、算出装置10は、パッケージソフトウェアやオンラインソフトウェアとして上記のモデル生成及び悪性度算出を実行する算出プログラムを所望のコンピュータにインストールさせることによって実装できる。例えば、上記の算出プログラムを情報処理装置に実行させることにより、情報処理装置を算出装置10として機能させることができる。ここで言う情報処理装置には、デスクトップ型又はノート型のパーソナルコンピュータが含まれる。また、その他にも、情報処理装置にはスマートフォン、携帯電話機やPHS(Personal Handyphone System)等の移動体通信端末、さらには、PDA(Personal Digital Assistant)等のスレート端末等がその範疇に含まれる。
一実施形態として、算出装置10は、パッケージソフトウェアやオンラインソフトウェアとして上記のモデル生成及び悪性度算出を実行する算出プログラムを所望のコンピュータにインストールさせることによって実装できる。例えば、上記の算出プログラムを情報処理装置に実行させることにより、情報処理装置を算出装置10として機能させることができる。ここで言う情報処理装置には、デスクトップ型又はノート型のパーソナルコンピュータが含まれる。また、その他にも、情報処理装置にはスマートフォン、携帯電話機やPHS(Personal Handyphone System)等の移動体通信端末、さらには、PDA(Personal Digital Assistant)等のスレート端末等がその範疇に含まれる。
また、算出装置10は、ユーザが使用する端末装置をクライアントとし、当該クライアントに上記のモデル生成及び悪性度算出に関するサービスを提供する算出サーバ装置として実装することもできる。例えば、算出サーバ装置は、訓練データを入力とし、混合訓練モデルを出力とする算出サービスを提供するサーバ装置として実装される。この場合、算出サーバ装置は、Webサーバとして実装することとしてもよいし、アウトソーシングによって上記のモデル生成及び悪性度算出に関するサービスを提供するクラウドとして実装することとしてもかまわない。
図9は、算出プログラムを実行するコンピュータの一例を示す図である。コンピュータ1000は、例えば、メモリ1010、CPU1020を有する。また、コンピュータ1000は、ハードディスクドライブインタフェース1030、ディスクドライブインタフェース1040、シリアルポートインタフェース1050、ビデオアダプタ1060、ネットワークインタフェース1070を有する。これらの各部は、バス1080によって接続される。
メモリ1010は、ROM(Read Only Memory)1011及びRAM1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1100に挿入される。シリアルポートインタフェース1050は、例えばマウス1110、キーボード1120に接続される。ビデオアダプタ1060は、例えばディスプレイ1130に接続される。
ハードディスクドライブ1090は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、算出装置10の各処理を規定するプログラムは、コンピュータにより実行可能なコードが記述されたプログラムモジュール1093として実装される。プログラムモジュール1093は、例えばハードディスクドライブ1090に記憶される。例えば、算出装置10における機能構成と同様の処理を実行するためのプログラムモジュール1093が、ハードディスクドライブ1090に記憶される。なお、ハードディスクドライブ1090は、SSDにより代替されてもよい。
また、上述した実施形態の処理で用いられる設定データは、プログラムデータ1094として、例えばメモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020は、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して、上述した実施形態の処理を実行する。
なお、プログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。あるいは、プログラムモジュール1093及びプログラムデータ1094は、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール1093及びプログラムデータ1094は、他のコンピュータから、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
10 算出装置
11 制御部
12 記憶部
111 訓練データ入力部
112 選択部
113 訓練モデル生成部
114 対象通信先入力部
115 混合訓練モデル生成部
116 出力部
11 制御部
12 記憶部
111 訓練データ入力部
112 選択部
113 訓練モデル生成部
114 対象通信先入力部
115 混合訓練モデル生成部
116 出力部
Claims (6)
- 悪性であることが既知の通信先をデータとして含む複数のデータセットの入力を受け付ける入力部と、
入力された通信先の悪性度を算出するモデルを、前記複数のデータセットのそれぞれから生成する第1の生成部と、
前記モデルのそれぞれに重みを付け、前記モデル及び前記重みを用いて混合モデルを生成する第2の生成部と、
を有することを特徴とする算出装置。 - 前記第2の生成部は、前記モデルのそれぞれについて、生成元のデータセットに関する統計量に応じた重みを付けることを特徴とする請求項1に記載の算出装置。
- 前記複数のデータセットに含まれるデータから、前記モデルを用いた悪性度の算出への寄与度が大きい順に一定数のデータを選択する選択部と、
前記第1の生成部は、前記選択部によって選択されたデータから前記モデルを生成することを特徴とする請求項1に記載の算出装置。 - 前記入力部は、前記データセットの入力を逐次受け付け、
前記選択部は、前記入力部に前記データセットが入力されるたびに、当該入力されたデータセットに含まれるデータそれぞれについて、前記第1の生成部によって生成済みのモデルを用いた場合の悪性度の算出への寄与度が大きい順に一定数のデータを選択し、
前記第1の生成部は、前記選択部によってデータが選択されるたびに、当該選択されたデータを基に前記モデルを生成し、
前記第2の生成部は、前記第1の生成部によってモデルが生成されるたびに、当該生成されたモデルに、誤差関数が小さいほど大きくなるように重みを付けた上で、生成済みのモデルと足し合わせることを特徴とする請求項3に記載の算出装置。 - コンピュータによって実行される算出方法であって、
悪性であることが既知の通信先をデータとして含む複数のデータセットの入力を受け付ける入力工程と、
入力された通信先の悪性度を算出するモデルを、前記複数のデータセットのそれぞれから生成する第1の生成工程と、
前記モデルのそれぞれに重みを付け、前記モデル及び前記重みを用いて混合モデルを生成する第2の生成工程と、
を含むことを特徴とする算出方法。 - コンピュータを、請求項1から4のいずれか1項に記載の算出装置として機能させるための算出プログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/280,186 US11928208B2 (en) | 2018-10-02 | 2019-04-16 | Calculation device, calculation method, and calculation program |
JP2020549945A JP7006805B2 (ja) | 2018-10-02 | 2019-04-16 | 算出装置、算出方法及び算出プログラム |
EP19869838.3A EP3839781B1 (en) | 2018-10-02 | 2019-04-16 | Calculation device, calculation method, and calculation program |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018-187723 | 2018-10-02 | ||
JP2018187723 | 2018-10-02 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2020070916A1 true WO2020070916A1 (ja) | 2020-04-09 |
Family
ID=70055414
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2019/016375 WO2020070916A1 (ja) | 2018-10-02 | 2019-04-16 | 算出装置、算出方法及び算出プログラム |
Country Status (4)
Country | Link |
---|---|
US (1) | US11928208B2 (ja) |
EP (1) | EP3839781B1 (ja) |
JP (1) | JP7006805B2 (ja) |
WO (1) | WO2020070916A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021175095A (ja) * | 2020-04-27 | 2021-11-01 | 富士フイルムビジネスイノベーション株式会社 | 情報処理装置及び情報処理プログラム |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8362780B2 (en) | 2009-03-16 | 2013-01-29 | Schlumberger Technology Corporation | Induction coil impedance modeling using equivalent circuit parameters |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014093027A (ja) * | 2012-11-06 | 2014-05-19 | Ntt Communications Corp | アクセス制御装置、アクセス制御方法、およびアクセス制御プログラム |
WO2016140038A1 (ja) * | 2015-03-05 | 2016-09-09 | 日本電信電話株式会社 | 通信先悪性度算出装置、通信先悪性度算出方法及び通信先悪性度算出プログラム |
US20180197105A1 (en) * | 2017-01-06 | 2018-07-12 | Accenture Global Solutions Limited | Security classification by machine learning |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06196008A (ja) | 1992-12-24 | 1994-07-15 | Tokyo Electric Co Ltd | 照明器具 |
US8839418B2 (en) * | 2006-01-18 | 2014-09-16 | Microsoft Corporation | Finding phishing sites |
US20220188700A1 (en) * | 2014-09-26 | 2022-06-16 | Bombora, Inc. | Distributed machine learning hyperparameter optimization |
WO2017049042A1 (en) | 2015-09-16 | 2017-03-23 | RiskIQ, Inc. | Identifying phishing websites using dom characteristics |
CN110431817B (zh) | 2017-03-10 | 2022-05-03 | 维萨国际服务协会 | 识别恶意网络设备 |
CN107832082B (zh) * | 2017-07-20 | 2020-08-04 | 上海寒武纪信息科技有限公司 | 一种用于执行人工神经网络正向运算的装置和方法 |
US11797668B2 (en) * | 2017-10-11 | 2023-10-24 | Mitsubishi Electric Corporation | Sample data generation apparatus, sample data generation method, and computer readable medium |
CN108874445A (zh) * | 2017-10-30 | 2018-11-23 | 上海寒武纪信息科技有限公司 | 神经网络处理器及使用处理器执行向量点积指令的方法 |
US11748610B1 (en) * | 2017-11-22 | 2023-09-05 | Amazon Technologies, Inc. | Building sequence to sequence (S2S) models using previously generated S2S models with similar use cases |
WO2019189016A1 (ja) * | 2018-03-28 | 2019-10-03 | 日本電気株式会社 | 情報処理装置、情報処理方法、プログラム |
US20210241119A1 (en) * | 2018-04-27 | 2021-08-05 | Nec Corporation | Pre-trained model update device, pre-trained model update method, and program |
JP6988690B2 (ja) * | 2018-05-23 | 2022-01-05 | 日本電信電話株式会社 | 信頼度算出装置、信頼度算出方法及びプログラム |
JP6904307B2 (ja) * | 2018-05-25 | 2021-07-14 | 日本電信電話株式会社 | 特定装置、特定方法及び特定プログラム |
JP6763910B2 (ja) * | 2018-05-30 | 2020-09-30 | 横河電機株式会社 | 異常検出装置、異常検出方法、異常検出プログラム及び記録媒体 |
US20190377984A1 (en) * | 2018-06-06 | 2019-12-12 | DataRobot, Inc. | Detecting suitability of machine learning models for datasets |
JP7164799B2 (ja) * | 2018-06-07 | 2022-11-02 | 日本電気株式会社 | 分析装置、分析方法およびプログラム |
JP7017711B2 (ja) * | 2018-06-07 | 2022-02-09 | 日本電気株式会社 | 関係性分析装置、関係性分析方法およびプログラム |
WO2019235608A1 (ja) * | 2018-06-07 | 2019-12-12 | 日本電気株式会社 | 分析装置、分析方法および記録媒体 |
WO2019235614A1 (ja) * | 2018-06-07 | 2019-12-12 | 日本電気株式会社 | 関係性分析装置、関係性分析方法および記録媒体 |
JP7014054B2 (ja) * | 2018-06-13 | 2022-02-01 | 日本電信電話株式会社 | 検知装置及び検知方法 |
JP6767434B2 (ja) * | 2018-06-20 | 2020-10-14 | 日本電信電話株式会社 | 評価装置及び評価方法 |
JP7091872B2 (ja) * | 2018-06-21 | 2022-06-28 | 日本電信電話株式会社 | 検知装置及び検知方法 |
JP6984551B2 (ja) * | 2018-06-27 | 2021-12-22 | 日本電信電話株式会社 | 異常検知装置、および、異常検知方法 |
JP6559850B1 (ja) * | 2018-07-27 | 2019-08-14 | Karydo TherapeutiX株式会社 | ヒトにおける被験物質の作用を予測するための人工知能モデル |
WO2020027228A1 (ja) * | 2018-07-31 | 2020-02-06 | 株式会社Lily MedTech | 診断支援システム及び診断支援方法 |
US20210327456A1 (en) * | 2018-08-10 | 2021-10-21 | Nippon Telegraph And Telephone Corporation | Anomaly detection apparatus, probability distribution learning apparatus, autoencoder learning apparatus, data transformation apparatus, and program |
-
2019
- 2019-04-16 US US17/280,186 patent/US11928208B2/en active Active
- 2019-04-16 EP EP19869838.3A patent/EP3839781B1/en active Active
- 2019-04-16 JP JP2020549945A patent/JP7006805B2/ja active Active
- 2019-04-16 WO PCT/JP2019/016375 patent/WO2020070916A1/ja unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014093027A (ja) * | 2012-11-06 | 2014-05-19 | Ntt Communications Corp | アクセス制御装置、アクセス制御方法、およびアクセス制御プログラム |
WO2016140038A1 (ja) * | 2015-03-05 | 2016-09-09 | 日本電信電話株式会社 | 通信先悪性度算出装置、通信先悪性度算出方法及び通信先悪性度算出プログラム |
JP6196008B2 (ja) | 2015-03-05 | 2017-09-13 | 日本電信電話株式会社 | 通信先悪性度算出装置、通信先悪性度算出方法及び通信先悪性度算出プログラム |
US20180197105A1 (en) * | 2017-01-06 | 2018-07-12 | Accenture Global Solutions Limited | Security classification by machine learning |
Non-Patent Citations (3)
Title |
---|
CHIBA, DAIKI ET AL.: "Detecting Malicious Domain Names based on the Time-series Analysis of Attackers Network Resources", IEICE TECHNICAL REPORT, vol. 115, no. 81, 4 June 2015 (2015-06-04), pages 51 - 56, XP055614829 * |
See also references of EP3839781A4 |
UCHIYAMA, TOSHIO ET AL.: "Combining Multiple Classifiers Using Certainty Factor Estimation. ", MATERIALS OF THE 84TH KNOWLEDGE BASE SYSTEM STUDY GROUP, no. SIG-KBS-84, January 2009 (2009-01-01), pages 33 - 38, XP009526441 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021175095A (ja) * | 2020-04-27 | 2021-11-01 | 富士フイルムビジネスイノベーション株式会社 | 情報処理装置及び情報処理プログラム |
Also Published As
Publication number | Publication date |
---|---|
EP3839781A4 (en) | 2022-04-06 |
EP3839781A1 (en) | 2021-06-23 |
US20210357500A1 (en) | 2021-11-18 |
JPWO2020070916A1 (ja) | 2021-04-30 |
JP7006805B2 (ja) | 2022-01-24 |
US11928208B2 (en) | 2024-03-12 |
EP3839781B1 (en) | 2024-09-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11856021B2 (en) | Detecting and mitigating poison attacks using data provenance | |
US10121000B1 (en) | System and method to detect premium attacks on electronic networks and electronic devices | |
AU2015380394B2 (en) | Methods and systems for identifying potential enterprise software threats based on visual and non-visual data | |
Kumar et al. | A robust intelligent zero-day cyber-attack detection technique | |
US11861006B2 (en) | High-confidence malware severity classification of reference file set | |
US8332947B1 (en) | Security threat reporting in light of local security tools | |
JP6499380B2 (ja) | ログ分析装置、ログ分析方法およびログ分析プログラム | |
JP6674036B2 (ja) | 分類装置、分類方法及び分類プログラム | |
Gao et al. | Android malware detection via graphlet sampling | |
Stergiopoulos et al. | Automatic analysis of attack graphs for risk mitigation and prioritization on large-scale and complex networks in Industry 4.0 | |
US11777979B2 (en) | System and method to perform automated red teaming in an organizational network | |
CN111224941A (zh) | 一种威胁类型识别方法及装置 | |
EP3799367B1 (en) | Generation device, generation method, and generation program | |
JP7006805B2 (ja) | 算出装置、算出方法及び算出プログラム | |
Borbor et al. | Diversifying network services under cost constraints for better resilience against unknown attacks | |
JP2019103069A (ja) | 特定システム、特定方法及び特定プログラム | |
Vu Hong | DNS traffic analysis for network-based malware detection | |
WO2017145843A1 (ja) | 解析方法、解析装置および解析プログラム | |
Zhu et al. | A novel computer virus propagation model under security classification | |
RU2587424C1 (ru) | Способ контроля приложений | |
JP6669679B2 (ja) | 分類装置、分類方法及び分類プログラム | |
US9830360B1 (en) | Determining content classifications using feature frequency | |
Gupta et al. | Developing a blockchain-based and distributed database-oriented multi-malware detection engine | |
Tidy et al. | Simulation of zero-day worm epidemiology in the dynamic, heterogeneous Internet | |
Eriksson | An evaluation of honeypots with compliant kubernetes |
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: 19869838 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2020549945 Country of ref document: JP Kind code of ref document: A |
|
ENP | Entry into the national phase |
Ref document number: 2019869838 Country of ref document: EP Effective date: 20210315 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |