WO2020241959A1 - 비정상 제어데이터 탐지시스템 - Google Patents
비정상 제어데이터 탐지시스템 Download PDFInfo
- Publication number
- WO2020241959A1 WO2020241959A1 PCT/KR2019/007028 KR2019007028W WO2020241959A1 WO 2020241959 A1 WO2020241959 A1 WO 2020241959A1 KR 2019007028 W KR2019007028 W KR 2019007028W WO 2020241959 A1 WO2020241959 A1 WO 2020241959A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- control data
- data
- cluster
- normal
- normal control
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B23/00—Testing or monitoring of control systems or parts thereof
- G05B23/02—Electric testing or monitoring
Definitions
- the present invention relates to the processing of control data, and more particularly, to a system capable of detecting abnormal control data.
- control devices such as PLC (Programmable Logic Controller) become online, cyber attacks targeting control devices are also increasing.
- PLC Programmable Logic Controller
- Cyber attacks targeting control devices can cause control devices to malfunction or become inoperable by illegally changing the command or value of the control data transmitted to the control devices. They may damage them.
- a general intrusion detection system is designed to distinguish whether the corresponding control data is normal control data or abnormal control data by determining whether control data input to a control device violates a predetermined security rule.
- the general intrusion detection system as described above increases the cost of system construction and maintenance because the security rules are set in advance at the time of system construction, so the system administrator must create a new security rule whenever the control device to be applied is changed. There is a problem.
- the present invention is to solve the above-described problem, and a technical feature thereof is to provide an abnormal control data detection system capable of determining whether target control data is abnormal using a normal control data cluster.
- the present invention is characterized by providing an abnormal control data detection system capable of automatically generating a normal control data cluster for detecting abnormal control data through learning of control data input to a control device.
- the present invention is characterized by providing an abnormal control data detection system capable of automatically generating a normal control data security rule for detecting abnormal control data through learning of control data input to a control device.
- the present invention generates a normal sequence pattern according to the order of occurrence of control data based on the normal control data security rule, and abnormal control data capable of detecting whether the order of occurrence of the control data is normal based on the normal sequence pattern. It is characterized by its technical feature to provide a detection system.
- the present invention is characterized by an abnormal control data detection system capable of duplicating control data using a second connection management device.
- An abnormal control data detection system for achieving the above object includes: a connection management device for transferring control data generated by a control terminal to a control device and replicating the control data; And generating a normal control data cluster or a normal control data security rule based on the duplicated control data, and when the target control data is received from the control terminal, the target control data using the normal control data cluster or the normal control data security rule. It characterized in that it comprises a detection server for determining whether the abnormality.
- normal control data having various control commands and values are reflected in the normal control data cluster to determine the normal control data as abnormal control data. Not only is it unlikely to do so, it has the effect of being able to accurately detect abnormal J-data.
- the normal control data cluster is automatically generated through learning of the control data input during the initial operation period of the control device, it is possible to improve the reliability of the system.
- the present invention it is possible to automatically generate a normal sequence pattern according to the generation order of control data based on the normal control data security rule, and check whether the generation order of control data is normal based on the generated normal sequence pattern. Therefore, there is an effect that it is possible to accurately detect J data whose occurrence order is abnormal without notifying the operation pattern to the outside.
- the present invention based on the normal sequence pattern, it is possible to detect not only the control data of the abnormal order of occurrence by the cyber attacker, but also the control data of the abnormal order of occurrence due to the mistake of the operator, thereby safely protecting the control device from cyber attackers. At the same time, it has the effect of improving the operating efficiency.
- control data can be duplicated using the second connection management device included in the existing control system, there is an effect that it is possible to detect whether the control data is abnormal without affecting the existing control system. .
- FIG. 1 is a diagram schematically showing a network configuration to which an abnormal control data detection system according to an embodiment of the present invention is applied.
- FIG. 2A is a block diagram schematically illustrating a configuration of a first connection management device when the connection management device according to an embodiment of the present invention is a first connection management device.
- 2B is a block diagram schematically showing the configuration of a second connection management device when the connection management device according to an embodiment of the present invention is a second connection management device.
- 3A is an example of a flow of control data when a mirroring setting unit does not set an output port and a destination port.
- 3B is an example of a flow of control data when a mirroring setting unit sets an output port and a destination port.
- FIG. 4 is a block diagram showing the configuration of a detection server according to a first embodiment of the present invention.
- FIG. 5 is a block diagram schematically showing the configuration of a sequence pattern generator.
- 6A is a diagram illustrating an example of a reference sequence.
- 6B is a diagram illustrating an example of a k*n matrix.
- FIG. 7 is a diagram conceptually showing a method of calculating a second degree of similarity.
- FIG. 8 is a block diagram showing the configuration of a detection server according to a second embodiment of the present invention.
- FIG. 9 is a block diagram showing a configuration of a parser according to an embodiment of the present invention.
- FIG. 10 is a diagram illustrating an example of control information extracted by an extraction unit.
- FIG. 11 is a diagram showing an example of cluster generation data composed of two-dimensional coordinate values by a dimensional reduction unit.
- FIG. 12 is a diagram illustrating an example of first to third normal control data clusters generated by a normal control data cluster.
- FIG. 13 is a diagram illustrating that a group of normal control data generated by a normal control data cluster according to an embodiment of the present invention is mapped and stored with index information of the cluster generation data in a list form.
- the term “at least one” is to be understood as including all possible combinations from one or more related items.
- the meaning of “at least one of the first item, the second item, and the third item” means 2 among the first item, the second item, and the third item, as well as the first item, the second item, and the third item. It means a combination of all items that can be presented from more than one.
- FIG. 1 is a diagram schematically showing a network configuration to which an abnormal control data detection system (hereinafter referred to as a'detection system') according to an embodiment of the present invention is applied.
- a'detection system' an abnormal control data detection system
- the control terminal 100 controls the control device 110 and performs a role of collecting operation data generated by the control device 110.
- the control terminal 100 may include a Supervisory Control And Data Acquisition (SCADA) or a Human Machine Interface (HMI).
- SCADA Supervisory Control And Data Acquisition
- HMI Human Machine Interface
- the control device 110 controls the facilities arranged in the operation site based on the control data transmitted from the control terminal 100, and transmits the equipment control result or the operation data obtained from each facility to the control terminal 100. Play a role.
- control device 110 may include a PLC (Programmable Logic Controller).
- PLC Programmable Logic Controller
- the detection system 120 connects the control terminal 100 and the control device 110.
- the detection system 120 transfers the control data generated by the control terminal 100 to the control device 110, and transfers the operation data generated by the control device 110 to the control terminal 100.
- the detection system 120 detects whether abnormal control data exists among control data transmitted from the control terminal 100 to the control device 110.
- the detection system 120 includes a connection management device 130 and a detection server 140 as shown in FIG. 1.
- the connection management device 130 transmits the control data generated in the control terminal 100 to the control device 110 by interfacing the control terminal 100 and the control device 110, and is generated by the control device 110.
- the operation data is transmitted to the control terminal 100.
- the connection management device 130 includes any one of a first connection management device and a second connection management device.
- the first connection management device transfers control data from the control terminal 100 to the control device 110 according to a path through which the control data is transmitted, duplicates the control data, and transfers the control data to the detection server 140. Specifically, the first connection management device determines whether to transfer the control data to the control device 110 and the detection server 140 based on the IP address of the transmission side included in the control data, and transmits the control data determined to be transferred. The control data is transmitted to 110, and the control data determined to be transmitted is duplicated and transmitted to the detection server 140. The first connection management device blocks the transmission of control data determined not to be transmitted to the control device 110 and the detection server 140.
- connection management device 130 is the first connection management device.
- the first connection management apparatus 130 includes a data blocking unit 210, a data mirroring unit 220, and a bypass unit 230.
- the data blocking unit 210 determines whether the transmission/reception destination information of the received control data corresponds to the previously registered transmission/reception destination information. As a result of the determination, if the transmission/reception destination information of the control data does not correspond to the previously registered transmission/reception destination information, the data blocking unit 210 determines that the control data is abnormal control data received through an abnormal path, and the corresponding control data is controlled. It blocks transmission to the device 110.
- the data blocking unit 210 may determine whether an Internet Protocol Address of the received control data corresponds to a previously registered IP address. As a result of the determination, if the IP address of the received control data does not correspond to the previously registered IP address, the data blocking unit 210 determines that the control data is abnormal control data received through an abnormal path and controls the corresponding control data. It blocks transmission to the device 110.
- the data blocking unit 210 is based on the normal route list generated by the detection server 140, the transmission/reception destination information of the control data received from the control terminal 110 in the previously registered transmission/reception destination information. Whether it is applicable can be determined. At this time, normal transmission/reception destination information may be registered in the normal route list.
- the data blocking unit 210 determines whether the IP address of the control data corresponds to the IP address of the previously registered control data based on the normal path list.
- the IP address of the control data is the IP address of the transmission side, and may mean the IP address to which the control data is transmitted.
- the data blocking unit 210 can prevent cyber attacks targeting the control devices 110 by blocking abnormal control data received through an abnormal path based on the normal path list. It works.
- the data blocking unit 210 may notify the user of the blocking result when blocking of control data is performed.
- the data mirroring unit 220 transfers control data transmitted from the control terminal 110 to the control device 120 to the control device 120. At this time, the data mirroring unit 220 replicates the control data without network delay and transmits the duplicated control data to the detection server 140 as well.
- the detection server 140 acquires the control data through the replication function of the data mirroring unit 220 so that abnormal control data can be detected.
- the bypass unit 230 adjusts a transmission path of control data according to whether an error occurs in the first connection management device 130. Specifically, the bypass unit 230 allows control data to be transmitted to the control device 120 through the data mirroring unit 220 when an error does not occur in the first connection management device 130.
- bypass unit 230 bypasses the data mirroring unit 220 and transmits the control data directly to the control device 120. In this case, the control data duplication function is not performed.
- connection management device 130 is the second connection management device.
- 2B is a block diagram schematically showing a configuration of a second connection management device when the connection management device 130 according to an embodiment of the present invention is a second connection management device.
- the second connection management device 130 includes an input port 240, an output port 250, a destination port 260, a control unit 270, and a mirroring setting unit 280.
- the input port 240 is a port to which control data is input. Specifically, the input port 240 is a port through which the control terminal 100 that generates control data is connected to input control data. In one embodiment, there may be at least one input port 240.
- the output port 250 is a port through which control data is output. Specifically, the output port 250 is a port through which the control device 110 controlled by the control data is connected and control data is output to the control device 110. In one embodiment, there may be at least one output port 250.
- the destination port 260 is a port through which control data to be output to the control device 110 are duplicated and output.
- the output port 250 and the destination port 260 exist separately, but the destination port 260 may be one of the output ports 250.
- the mirroring setting unit 270 may set an output port to be duplicated among at least one output port 250 as a source port, and activate a destination port to output duplicated control data. Accordingly, control data to be output to the output port 250 may be duplicated by the controller 280 and transmitted to the destination port.
- the output port 250 is determined by the control unit 280. Only Roman control data can be transmitted. However, when the mirroring setting unit 270 sets the output port 250 as a source port and activates the destination port 260 as shown in FIG. 3B, the control unit 280 transmits it to the output port 250.
- the control data to be used may be duplicated and the control data may be transmitted to the output port 250 and the control data may be transmitted to the destination port 260.
- the control unit 280 may duplicate control data to be transmitted to the output port 250 set as a source port by the mirroring setting unit 270 among at least one output port 250.
- the controller 280 checks the MAC address to which control data is to be transmitted for each control data, and if the corresponding MAC address is the MAC address of the control device connected to the output port 250 set as the source port, the control Data can be duplicated.
- the MAC address to which the control data is to be transmitted is a MAC address of the receiver, and may mean a MAC address to receive the control data.
- the controller 280 For example, if the MAC address to which the first control data is to be transmitted is the first MAC address, and the MAC address of the first control device connected to the output port 250 set as the source port is the first MAC address, the controller 280 The first control data can be duplicated.
- the control unit 280 transmits the duplicated control data to the destination port 260 activated by the mirroring setting unit 270. Accordingly, the duplicated control data may be output to the detection server 140 by the destination port 260.
- the controller 280 may check the MAC address to which the control data is to be transmitted for each control data, and transmit each control data to the output port 250 to which the control device 110 having the corresponding MAC address is connected. Accordingly, control data transmitted to the output port 250 may be output to the control device 110.
- the MAC address of the first control device connected to the first output port is the first MAC address
- the MAC address of the second control device connected to the second output port is the second MAC address
- the first control data is transmitted.
- the controller 280 transmits the first control data to the first output port and transmits the second control data. Can be transmitted to the second output port.
- the detection server 140 determines whether the target control data is abnormal control data based on the control data collected for a predetermined period of control data. do.
- the detection server 140 In the detection server 140 according to the first embodiment of the present invention, the detection server 140 generates a normal control data security rule based on the control data collected for a predetermined period among control data, and When the control data is received, it is determined whether the target control data is abnormal control data by comparing the target control data with the normal control data security rule.
- the detection server 140 includes a data collection unit 310, a parsing unit 320, a rule generation unit 330, and a first determination unit 340. , And a database 350.
- the detection server 140 according to the first embodiment of the present invention includes a normal route list generation unit 360, a sequence pattern generation unit 370, and a second determination unit 380 as shown in FIG. It may contain more.
- the data collection unit 310 collects control data received for a predetermined period of control data received through the data mirroring unit 220 in order to generate a normal control data security rule.
- the parsing unit 320 parses the control data collected by the data collection unit 310 to obtain command information from the control data.
- the command information may include a command and a value of the command.
- the parsing unit 320 may additionally obtain an IP address to which the corresponding control data is transmitted by parsing the control data collected by the data collection unit 310.
- the rule generation unit 330 learns the command acquired by the parsing unit 320 and the value of the command using a machine learning technique to generate a normal control data security rule.
- the rule generator 330 may set one command and one learning data to which a value of the command is mapped as one normal control data security rule.
- the rule generation unit 330 calculates a representative value for a corresponding command based on a plurality of values for the same type of command, and generates the calculated representative value and one learning data to which the command is mapped. It can be set with one normal control data security rule.
- the representative value may be determined as an average value, a median value, a maximum value, or a minimum value.
- the rule generation unit 330 derives a functional expression between a plurality of values for the same type of command, and converts one learning data in which the derived functional expression is mapped to the corresponding command to one normal control data. It can also be set as a security rule.
- the first determination unit 340 determines whether the target control data is abnormal control data by comparing the target control data to be determined with the normal control data security rule.
- the first determination unit 340 Determines that the target control data is normal control data.
- the first determination unit 340 determines that the target control data is abnormal control data.
- the database 350 stores the normal control data rules generated by the rule generation unit 330.
- the normal control data rules may be stored in the database 350 in the form of a list.
- command information obtained from the control data, an IP address to which the control data is transmitted, and a time point of occurrence of the control data may be mapped and stored for each control data.
- the normal route list generation unit 360 generates a normal route list composed of normal IP addresses by using the IP addresses of the control data by the parsing unit 320.
- a command acquired from the control data, a value of the command, an IP address of the control data, and a time point of occurrence of the control data may be mapped and stored in the database 350 for each control data.
- the normal path list generation unit 360 generates a normal path list composed of normal IP addresses by using the IP addresses obtained from the header of the control data by the parsing unit 320.
- the normal path list generator 360 may determine IP addresses obtained from headers of control data collected during the initial operation period of the control terminal 100 and the control device 110 as normal IP addresses.
- the sequence pattern generation unit 370 generates a normal sequence pattern according to the order of occurrence of control data based on the normal control data security rule stored in the database 350.
- the normal sequence pattern means a pattern representing the normal order of occurrence of control data.
- the sequence pattern generation unit 370 includes an indexing unit 410, an identification information allocation unit 420, a data alignment unit 430, and a similarity calculation unit 440. ), and a sequence pattern determination unit 450.
- the indexing unit 410 indexes the normal control data security rules stored in the database 350 and allocates index information for each normal control data security rule.
- the identification information allocation unit 420 allocates identification information to each of the control data.
- the identification information allocation unit 420 may allocate identification information of control data by using index information allocated to the normal control data security rule.
- the identification information allocation unit 420 may allocate index information of the normal control data security rule to which each control data is mapped as identification information of the corresponding control data. In this case, each of the control data may be mapped to a normal control data security rule generated by using the corresponding control data.
- the data alignment unit 430 arranges the identification information of the control data in a k*n matrix according to the order of occurrence of the control data.
- the data sorting unit 430 arranges the identification information of the control data in a k*n matrix, and in the same column, the identification information of the control data in the order of occurrence is arranged on the upper side and the order of occurrence is slow. The identification information of the control data is placed on the lower side.
- the data sorting unit 430 arranges identification information of control data having a high occurrence order on the left side and identification information of control data having a slow generation order on the right side.
- FIG. 6B shows an example in which the identification information of the control data shown in FIG. 6A is arranged in a 6*4 matrix.
- L1 to L6 represent identification information allocated to control data.
- the data sorting unit 430 To generate the K*n matrix, the data sorting unit 430 generates a reference sequence in which identification information of control data is sequentially arranged according to the order of occurrence of the control data. An example of a reference sequence is shown in FIG. 6A. Thereafter, the data alignment unit 430 constructs a first column of the matrix by extracting k pieces of identification information based on the identification information arranged at the far left on the reference sequence. For example, when the k value is 6 based on the example of FIG. 6, 6 pieces of identification information are extracted based on the leftmost identification information (L1) in the reference sequence shown in FIG. 6a to form a first column of the matrix. Is done.
- L1 leftmost identification information
- the data alignment unit 430 configures a second column of the matrix by extracting k pieces of identification information based on the identification information arranged at the leftmost of the identification information remaining on the reference sequence. For example, based on the example of FIG. 6.
- the second column of the matrix is formed by extracting 6 pieces of identification information again based on the identification information L1 arranged at the leftmost of the identification information remaining on the reference sequence shown in FIG. 6A.
- the data alignment unit 430 By repeating the above process n times, the data alignment unit 430 generates a k*n matrix. For example, based on the example of FIG. 6. If the above process is performed two more times, the 6*4 matrix shown in FIG. 6B is generated.
- the similarity calculation unit 440 calculates a first degree of similarity by comparing the identification information arranged in the reference column of the matrix with the identification information arranged in other columns for each k value while increasing the k value.
- the reference column in each matrix may be determined as the first column.
- the similarity calculation unit 440 assigns a first value if the identification information arranged in the first column and the identification information arranged in the other column are the same in each row unit in the matrix generated for each k value, and If the identification information and the identification information arranged in the other row are different, a second value is assigned. Thereafter, the similarity calculation unit 440 may calculate the first similarity by summing the first and second values assigned to all rows and dividing the sum by n, which is the number of columns.
- the sequence pattern determination unit 450 determines a target k value for minimizing the partial derivative of the first similarity among the k values. When the target k value is determined, the sequence pattern determiner 450 generates a normal sequence pattern based on identification information arranged in any one column in the matrix corresponding to the determined target k value.
- the identification information of the control data in the order of occurrence is arranged on the upper side and the identification information of the control data in the order of occurrence is arranged on the lower side, so that the normal sequence pattern is in the column of the matrix corresponding to the target k value. It is determined by arranging the arranged identification information on the upper side in the lower order. For example, in the example of FIG. 6B, L1-L6-L4-L2-L5-L3 is determined as a normal sequence pattern.
- the sequence pattern determination unit 450 compares the sequence pattern determined for each target k value (hereinafter referred to as a'candidate sequence pattern') with a reference sequence to calculate a second similarity, A candidate sequence pattern having the largest second similarity among the plurality of candidate sequence patterns may be determined as the sequence pattern.
- the sequence pattern determiner 450 may calculate a second similarity by comparing identification information disposed at the same position while shifting each candidate sequence pattern on a reference sequence to calculate a second similarity.
- the sequence pattern determiner 450 positions the candidate sequence pattern CP on the reference sequence RS as shown in FIG. 7A and then determines whether the identification numbers disposed at the same position are identical. At this time, as a result of determining the identity, the sequence pattern determination unit 450 assigns a first value if two pieces of identification information disposed at the same location are the same, and assigns a second value if they are not the same, so that both the first value and the second value are The result can be calculated by adding up. For example, the first value may be set to 1 and the second value may be set to 0.
- the sequence pattern determination unit 450 includes the last identification information L5 on the reference sequence RS and the last identification information L2 of the candidate sequence pattern CP at the same position.
- a result of summing all of the first and second values is calculated while shifting the candidate sequence pattern CP on the reference sequence RS by one unit of identification information until they are arranged.
- the sequence pattern determiner 450 may calculate an average value of the calculated result values as a second similarity degree.
- the second determination unit 380 compares the generation order of the target control data transmitted to the control device with the normal sequence pattern, and if the generation order of the target control data is different from the normal sequence pattern, the user determines the result. Pass it on. For example, if the normal sequence pattern is determined as L7-L19-L22-L8 and the generation order of target control data is L7-L22-L19-L22-L8, the generation order of target control data is different from the normal sequence pattern. 2 The determination unit 390 determines that the generation order of the target control data is abnormal and notifies the user of the determination result.
- the detection server 140 generates a group of normal control data based on control data collected for a predetermined period among control data, and when target control data to be determined is received, target control It is determined whether the target control data is abnormal control data by using the data as a normal control data cluster.
- FIG. 8 is a block diagram showing the configuration of a detection server according to a second embodiment of the present invention.
- the detection server 140 includes a data collection unit 310, a parsing unit 320, a normal control data cluster 330, a determination unit 340, and a database 350.
- the detection server 140 according to the second embodiment of the present invention may further include a normal route list generator 360 as shown in FIG. 8.
- the data collection unit 310 collects control data received for a predetermined period of control data received through the data mirroring unit 220 in order to generate a normal control data cluster.
- the control data are acquired through the control system tuning for a predetermined period, and may be regarded as normal control data.
- the parsing unit 320 parses the control data collected by the data collection unit 310 so that the control device information indicating the state of the control device, transmission/reception destination information indicating the transmission/reception destination of the control data, and the control device are At least one control information of command information indicating a command to be executed is extracted, and cluster data is generated using the extracted control information.
- the parsing unit 320 matches the format of at least one of control device information, transmission/reception information, and command information extracted from the control data, and scales it within a predetermined range to achieve at least one control information. Can be extracted.
- the parsing unit 320 may generate cluster generation data from the extracted at least one control information.
- the data collection unit 310 may be omitted.
- the parsing unit 320 may be replicated by the data mirroring unit 220 to directly extract and parse control data stored in the database 350.
- parsing unit 320 will be described in more detail with reference to FIG. 9.
- FIG. 9 is a block diagram showing the configuration of the parsing unit 320 according to an embodiment of the present invention.
- the parsing unit 320 may include an extraction unit 510, an indexing allocation unit 520, a featureing unit 530, a scaling unit 540, and a dimension reduction unit 550. .
- the extraction unit 510 extracts at least one of control device information, transmission/reception destination information, and command information for generating cluster generation data from the control data.
- the control information may mean information commonly included in control data transmitted to the control device through different protocols.
- the reason why the extraction unit 510 according to the present invention extracts control information commonly included in the control data transmitted to the control device with different protocols is the type of the control device 110 and the operating environment of the control device 110 This is to enable generation of cluster generation data irrespective of the protocol, even if the control data is transmitted to the control device in different protocols since the protocol supported by the control device 110 may be different according to the protocol.
- the present invention has the effect of generating cluster generation data irrespective of the protocol of the transmitted control data by extracting control information which is commonly included in the control data transmitted to the control device with different protocols.
- control device information may include at least one of control device model information, control device, protocol information, control device operation state information, and control device protocol type information.
- the transmission/reception destination information includes the IP address to which the control data was transmitted (Internet Protocol Address), the MAC address to which the control data was transmitted (Media Access Control Address), the port to which the control data was transmitted (Port), and the IP address to receive the control data. , A MAC address to receive control data, a port to receive control data, and network information through which control data is transmitted and received.
- the command information may include at least one of an address indicating memory information in which the command is stored, a value of the command, and a time when the command is generated.
- control device information, transmission/reception destination information, and command information extracted by the extraction unit 510 may be configured as shown in FIG. 10.
- the control device information includes SysInfo (System Information), Fun (Function), PType (ProtoType), and Name.
- SysInfo means control device protocol information
- Fun Frction
- PType ProtoType
- Name is control device model information. Means.
- the destination information includes SMac (Source Mac Address), Sport (Source Port), SIP (Source Internet Protocol), DMac (Destination Mac Address), DIP (Destination Internet Protocol), DPort (Destination Port), The network information may further include VID (Vlan ID).
- SMac Source Mac Address
- Sport Source Port
- SIP Source Internet Protocol
- DMac Destination Mac Address
- DIP Destination Internet Protocol
- DPort Destination Port
- VID Vlan ID
- Vlan ID is network information, and may mean identification information used to distinguish between virtual networks when virtual network networks are separated.
- the command information may include VALUE, Addr(Address), and Date.
- VALUE means a value of a command
- Addr(Address) means an address representing memory information in which the command is stored
- Date can mean a command occurrence time.
- the index allocation unit 520 allocates index information to the control information extracted from the control data by the extraction unit 510. Specifically, the index allocator 520 allocates index information representing control data from which the corresponding control information is extracted for each control information in order to identify the control data.
- the featuring unit 530 may match units of control information.
- the featureing unit 430 may match the format of the control information.
- the featuring unit 530 may match characters included in the control information in a binary form.
- the scaling unit 540 may scale the control information matched by the featureing unit 530 as a unit within a predetermined range. For example, when the format of the control information is matched by the featuring unit 530, the scaling unit 540 may scale the values of the control information within a predetermined range.
- the dimension reduction unit 550 may reduce the dimension of the control information scaled by the scaling unit 540 to generate cluster generation data. Specifically, the dimension reduction unit 550 may generate cluster generation data by reducing the dimension of the control information from a high dimension to a low dimension.
- the dimension reduction unit 550 can remove noise included in the control information by reducing the dimension of the control information from a high dimension to a low dimension, so that the reliability of the normal control data cluster can be improved, as well as the dimension reduction. As a result, there is an effect that the speed of generating the normal control data cluster can be improved.
- the dimension reduction unit 550 may reduce the dimension of the control information to 2D to generate cluster generation data composed of 2D coordinate values. Accordingly, the cluster generation data may have an X coordinate value and a Y coordinate value. In the case of this embodiment, the cluster generation data reduced to two dimensions by the dimension reduction unit 550 may be arranged on a two-dimensional coordinate plane.
- the dimension reduction unit 550 may convert the control information shown in FIG. 10 into an X coordinate value and a Y coordinate value as shown in FIG. 11 to generate cluster generation data having a two-dimensional coordinate value.
- the dimension reduction unit 550 may reduce the dimension of the control information to two dimensions using a principal common analysis (PCA) algorithm. This is only one embodiment, and the dimension of control information may be reduced by using another algorithm.
- PCA principal common analysis
- the normal control data clustering unit 330 clusters the cluster generation data generated by the parsing unit 320 to generate a normal control data cluster. Specifically, the normal control data clustering unit 330 selects at least one of the cluster generation data as core data, and clusters other cluster generation data located within a predetermined reference distance from the core data into one cluster to generate a normal control data cluster. Generate.
- the normal control data cluster 330 may generate a normal control data cluster by arranging cluster generation data having a two-dimensional coordinate value on a two-dimensional coordinate plane.
- the normal control data clustering unit 330 may cluster data located within a reference distance from the cluster generation data, and select data in which the number of clustered data is equal to or greater than a predetermined reference number as core data. Specifically, the normal control data clustering unit 330 may select, for each cluster generation data, cluster generation data in which the number of other cluster generation data located within a reference distance from the corresponding cluster generation data is equal to or greater than a predetermined reference number as core data.
- the reference distance is 2 cm
- the reference number is 3, and the 1-2 cluster generation data, the 1-3 cluster generation data, and the 1--2 cluster generation data within 2 cm from the 1-1 cluster generation data on a two-dimensional coordinate plane.
- the normal control data cluster 330 may select the 1-1 cluster generation data as the first core data.
- 2-2 cluster generation data, 2-3 cluster generation data, and 2-4 cluster generation data are located within 2cm from the center of the 2-1 cluster generation data, centering on the 2-5 cluster generation data.
- the normal control data cluster 330 removes the 2-1 cluster generation data. 2 It can be selected as core data, and the 2-5 cluster generation data can be selected as the third core data.
- the normal control data clustering unit 330 may generate a normal control data cluster by clustering cluster generation data located within a predetermined reference distance from the core data into one cluster.
- the normal control data clustering unit 330 selects core data by arranging cluster generation data on a two-dimensional coordinate plane, and normal control by clustering cluster generation data located within a reference distance from the core data into one cluster. Data clusters can be created.
- the normal control data clustering unit 330 creates a second cluster within 2cm around the first cluster generation data on a two-dimensional coordinate plane.
- the first cluster generation data, the second cluster generation data, the third cluster generation data, and the fourth cluster generation data are clustered into one cluster, and normal control. It can be created as a data cluster.
- the normal control data cluster 330 may generate first to third normal control data clusters as illustrated in FIG. 12. Although it is shown that there are three normal control data clusters in FIG. 12, this is an example, and the number of normal control data clusters may be 2 or less, and may be 4 or more.
- the normal control data cluster 330 generates a cluster included in both the first normal control data cluster generated by the first core data and the second normal control data cluster generated by the second core data. If data exists, the first normal control data cluster and the second normal control data cluster may be clustered into one cluster.
- the 1-1 cluster generation data is selected as the first core data, and the 1-1 cluster generation data, the 1-2 cluster generation data, the 1-3 cluster generation data, and the 1-4 cluster generation data
- a first normal control data cluster including a is generated
- the 2-1 cluster generation data is selected as the second core data
- the 1-4 cluster generation data is located within the reference distance from the first core data and within the reference distance from the second core data. , Are included in both the first normal control data cluster and the second normal control data cluster.
- the normal control data cluster 330 may cluster the first normal control data cluster and the second normal control data cluster into one cluster.
- the normal control data cluster clustered into one cluster is the 1-1 cluster generation data, the 1-2 cluster generation data, the 1-3 cluster generation data, the 1-4 cluster generation data, and the 2-1 cluster generation data, 2-2 cluster generation data, and 2-3 cluster generation data.
- the normal control data cluster unit 330 may generate normal control data clusters generated by a plurality of core data as one cluster. .
- the normal control data cluster 330 may change the reference distance for each normal control data cluster according to the density of cluster generation data within the normal control data cluster. Specifically, in the case of a normal control data cluster having a high density of cluster generation data among the normal control data clusters on a two-dimensional coordinate plane, the normal control data cluster 330 may set a reference distance of the corresponding normal control data cluster to be long.
- the normal control data cluster 330 may set a short reference distance of the normal control data cluster in the case of a normal control data cluster having a low density of cluster generation data among the normal control data clusters.
- the reference distance is 2 cm and the first to third normal control data clusters are generated by the normal control data cluster 330, and the first normal control data cluster has a high density of cluster generation data, and the second normal control data
- the normal control data cluster 330 sets the reference distance of the first normal control data cluster to 3 cm, and sets the reference distance of the second normal control data cluster to 1 cm
- the third normal control data cluster may set the reference distance to 2 cm.
- the normal control data cluster 330 may vary the reference distance for each normal control data cluster according to the number of cluster generation data included in the corresponding normal control data cluster.
- the normal control data cluster 330 increases the reference distance of the normal control data cluster to a first reference distance longer than the reference distance.
- the reference distance of the normal control data cluster may be reduced to a second reference distance shorter than the reference distance.
- the reference distance of the first normal control data cluster is the first reference. Can be increased by distance.
- the number of cluster generation data included in the second normal control data cluster is 3 and the lower limit is 4, the number of cluster generation data is less than the lower limit, so that the reference distance of the second normal control data cluster is shorter than the reference distance. It can be reduced to the second reference distance.
- the normal control data cluster 330 determines the reference distance according to the ratio of the number of cluster generation data included in the normal control data cluster to the area formed by the corresponding normal control data cluster for each normal control data cluster. Can be changed.
- the area formed by the normal control data cluster may mean an area in the form of connecting points separated by a reference distance from the core data included in the corresponding normal control data cluster on the 2D coordinate plane.
- the normal control data cluster 330 may be increased to a first reference distance longer than the reference distance.
- the normal control data cluster 330 is the reference distance of the normal control data cluster. Can be reduced to a second reference distance shorter than the reference distance.
- the first normal control data cluster includes 4 cluster generation data, and the predetermined upper limit rate is 1, the cluster compared to the area formed by the normal control data cluster Since the ratio of the number of generated data is 2, the reference distance of the first normal control data cluster can be increased to a first reference distance longer than the reference distance.
- the reason why the normal control data cluster 330 according to the present invention changes the reference distance of the normal control data cluster according to the density of the cluster generation data in the normal control data cluster on a two-dimensional coordinate plane is, When the density of the cluster generation data is high because the generated data is distributed in a narrow range, if the target cluster generation data of the target control data deviates even a little from the corresponding normal control data cluster when determined by the determination unit 340, it is determined as abnormal. Because it can. In addition, when the cluster generation data is distributed in a wide range within the normal control data cluster, and the density of the cluster generation data is low, the target cluster generation data of the target control data is determined by the determination unit 340. This is because it can be judged as normal even if it deviates greatly.
- the normal control data cluster 330 can not only prevent overfitting of the normal control data cluster, but also When the determination unit 340 uses the normal control data cluster to determine whether the target control data is abnormal, accuracy may be improved.
- the normal control data cluster 330 stores the generated normal control data cluster in the database 350.
- the normal control data cluster may be stored in the database 350 in the form of a list.
- the normal control data cluster 330 may map the index information of the cluster generation data included in the normal control data cluster in the form of a list of the normal control data clusters and store them in the database 350.
- the normal control data cluster 330 may store the normal control data cluster in the database 350 in the form of a list.
- the determination unit 340 uses the normal control data cluster generated by the normal control data cluster 330 to determine whether the target control data received from the control terminal to be determined is abnormal.
- the target control data is transmitted to the parsing unit 320 through the data mirroring unit 220. Further, the parser 320 extracts control information including at least one of control device information, transmission/reception destination information, and command information from the target control data to generate target cluster generation data.
- the determination unit 340 determines the target control data as normal when the target cluster generation data is included in at least one of the normal control data clusters. However, if the target cluster generation data is not included in any one of the normal control data clusters, the determination unit 340 determines the target control data as abnormal.
- the determination unit 340 may determine the target control data as normal. In addition, if the target cluster generation data is not included in any one of the first to third normal control data clusters, the determination unit 340 may determine the target control data as abnormal.
- the determination unit 340 may determine whether the target cluster generation data is included in the normal control data cluster by arranging the normal control data cluster on the 2D coordinate plane and the target cluster generation data.
- the determination unit 340 arranges core data selected for each normal control data cluster on a two-dimensional coordinate plane and arranges the target cluster generation data to determine whether the target cluster generation data is included in the normal control data cluster. I can judge.
- the determination unit 340 may arrange all the cluster generation data included in the normal control data cluster, or arrange only the core data included in the normal control data cluster to include the target cluster generation data in the corresponding normal control data cluster. It can be determined whether or not.
- the determination unit 340 determines that the target cluster generation data is included in the normal control data cluster, so that the target control data is normal. Can be judged as.
- the determination unit 340 may determine that the target control data is normal by determining that the target cluster generation data is not included in the normal control data cluster if it is not located within a reference distance from the core data of the normal control data cluster.
- the target cluster generation data is located within a reference distance from the core data of the corresponding normal control data cluster for each normal control data cluster on a two-dimensional coordinate plane, the target cluster generation data is normal including the corresponding core data. It can be determined that it is included in the control data cluster.
- the determination unit 340 may determine that the target cluster generation data is included in the first normal control data cluster.
- the determination unit 340 may determine that the target cluster generation data is included in the second normal control data cluster.
- the determination unit 340 may determine whether the target cluster generation data is included in the normal control data cluster according to different reference distances set for each normal control data cluster.
- the determination The unit 340 may determine whether the target cluster generation data is located within a first reference distance from the first core data, and determine whether the target cluster generation data is located within a second reference distance from the second core data.
- the determination unit 340 may determine whether the target cluster generation data is located within a reference distance of the corresponding normal control data cluster from the core data of the corresponding normal control data cluster.
- the first reference distance of the first normal control data cluster is 3 cm
- the second reference distance of the second and normal control data clusters is 2 cm
- the third reference distance of the third normal control data cluster is 2 cm
- the target cluster is created.
- the determination unit 340 may determine that the target cluster generation data is included in the first normal control data cluster.
- the determination unit 340 determines whether the target control data is abnormal and transmits it to the user.
- the database 350 stores the normal control data clusters generated by the normal control data cluster 330 in a list form.
- the database 360 may store index information of cluster generation data included in the corresponding normal control data cluster in a mapped form for each normal control data cluster.
- the database 350 may store control data and target control data collected by the data collection unit 310, and the cluster generation data and target control data of the control data parsed by the parsing unit 320 Target cluster generation data may be stored.
- the normal path list generation unit 360 generates a normal path list composed of normal transmission/reception information by using the transmission/reception information of control data by the parsing unit 320.
- the normal route list generation unit 360 may determine the transmission/reception information of the control data collected during the initial operation period of the control terminal 100 and the control device 110 as normal transmission/reception information.
- the normal path list generation unit 360 may generate a normal path list composed of normal IP addresses by using the IP address from which the control data is transmitted.
- the normal route list generator 360 may determine the IP address from which control data is transmitted as the normal IP address.
- This component is a series of computer-readable or machine-readable media including volatile and nonvolatile memory such as RAM, ROM, flash memory, magnetic or optical disk, optical memory, or other storage media. It can be provided as computer directives.
- the directives may be provided as software or firmware, and may, in whole or in part, be implemented in a hardware configuration such as ASICs, FPGAs, DSPs, or any other similar device.
- the directives may be configured to be executed by one or more processors or other hardware configurations, wherein the processor or other hardware configurations perform all or part of the methods and procedures disclosed herein when executing the series of computer directives, or To be able to perform.
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
정상 제어데이터 군집을 이용하여 타겟 제어데이터의 비정상 여부를 판단할 수 있는 비정상 제어데이터 탐지시스템은 제어단말에서 생성된 제어데이터들을 제어장치로 전달하고 제어데이터들을 복제하는 연결 관리장치; 및 상기 복제된 제어데이터들을 기초로 정상 제어데이터 군집 또는 정상 제어데이터 보안규칙을 생성하고, 상기 제어단말에서 타겟 제어데이터가 수신되면 정상 제어데이터 군집 또는 정상 제어데이터 보안규칙을 이용하여 상기 타겟 제어데이터의 비정상 여부를 판단하는 탐지서버를 포함하는 것을 특징으로 한다.
Description
본 발명은 제어데이터의 처리에 대한 것으로서, 보다 구체적으로 비정상 제어데이터를 탐지할 수 있는 시스템에 관한 것이다.
PLC(Programmable Logic Controller)와 같은 제어장치들의 온라인화가 증가됨에 따라 제어장치들을 타겟으로 하는 사이버 공격 또한 증가하고 있다.
제어장치들을 타겟으로 하는 사이버 공격은 제어장치들로 전달되는 제어데이터의 커맨드(Command) 또는 밸류(Value)를 불법적으로 변경함으로써 제어장치들을 오동작 시키거나 동작불능 상태로 만들 수 있고, 심한 경우 제어장치들을 손상시킬 수도 있다.
이러한 사이버 공격으로부터 제어장치들을 보호하기 위한 침입 탐지 시스템 등과 같은 보안 시스템이 제안된 바 있다. 일반적인 침입 탐지 시스템은 제어장치로 입력되는 제어데이터가 미리 정해진 보안 규칙에 위배되는지 여부를 판단함으로써 해당 제어데이터가 정상 제어데이터인지 또는 비정상 제어데이터인지를 구분하도록 설계된다.
하지만, 상술한 바와 같은 일반적인 침입탐지 시스템은 보안 규칙이 시스템 구축시 미리 정해져 있기 때문에 비정상 제어데이터의 변경에 대해 능동적으로 대응하기가 쉽지 않고, 따라서 새롭게 발생된 공격유형의 비정상 제어데이터를 정확하게 탐지해 낼 수 없다는 문제점이 있다.
또한, 상술한 바와 같은 일반적인 침입탐지 시스템은 보안 규칙이 시스템 구축시 미리 정해져 있기 때문에 적용대상이 되는 제어장치가 변경될 때마다 시스템 관리자가 보안 규칙을 새롭게 생성하여야 하기 때문에 시스템 구축 및 유지비용이 증가한다는 문제점이 있다.
본 발명은 상술한 문제점을 해결하기 위한 것으로서, 정상 제어데이터 군집을 이용하여 타겟 제어데이터의 비정상 여부를 판단할 수 있는 비정상 제어데이터 탐지시스템을 제공하는 것을 그 기술적 특징으로 한다.
또한 본 발명은 제어장치로 입력되는 제어데이터의 학습을 통해 비정상 제어데이터의 탐지를 위한 정상 제어데이터 군집을 자동으로 생성할 수 있는 비정상 제어데이터 탐지시스템을 제공하는 것을 그 기술적 특징으로 한다.
또한, 본 발명은 제어장치로 입력되는 제어데이터의 학습을 통해 비정상 제어데이터의 탐지를 위한 정상 제어데이터 보안규칙을 자동으로 생성할 수 있는 비정상 제어데이터 탐지시스템을 제공하는 것을 그 기술적 특징으로 한다.
또한, 본 발명은 정상 제어데이터 보안규칙을 기초로 제어데이터들의 발생순서에 따른 정상 시퀀스 패턴을 생성하고, 정상 시퀀스 패턴을 기초로 제어데이터들의 발생순서가 정상인지 여부를 탐지할 수 있는 비정상 제어데이터 탐지시스템을 제공하는 것을 그 기술적 특징으로 한다.
또한 본 발명은 제2 연결 관리장치를 이용하여 제어데이터를 복제할 수 있는 비정상 제어데이터 탐지시스템을 그 기술적 특징으로 한다.
상기 목적을 달성하기 위한 본 발명의 일 측면에 따른 비정상 제어데이터 탐지시스템은 제어단말에서 생성된 제어데이터들을 제어장치로 전달하고 제어데이터들을 복제하는 연결 관리장치; 및 상기 복제된 제어데이터들을 기초로 정상 제어데이터 군집 또는 정상 제어데이터 보안규칙을 생성하고, 상기 제어단말에서 타겟 제어데이터가 수신되면 정상 제어데이터 군집 또는 정상 제어데이터 보안규칙을 이용하여 상기 타겟 제어데이터의 비정상 여부를 판단하는 탐지서버를 포함하는 것을 특징으로 한다.
본 발명에 따르면 정상 제어데이터 군집을 이용하여 타겟 제어데이터가 정상적인지 여부를 확인할 수 있기 때문에 다양한 제어명령과 값을 가지는 정상 제어데이터가 정상 제어데이터 군집에 반영되어 정상 제어데이터를 비정상 제어데이터로 판단할 가능성이 낮을 뿐만 아니라, 비정상적인 제이데이터들을 정확하게 탐지해 낼 수 있다는 효과가 있다.
또한, 본 발명에 따르면 제어장치의 초기 가동기간 동안 입력된 제어데이터의 학습을 통해 정상 제어데이터 군집을 자동으로 생성하기 때문에, 시스템의 신뢰도를 향상시킬 수 있다는 효과가 있다.
또한, 본 발명에 따르면 제어장치의 초기 가동기간 동안 입력된 제어데이터의 학습을 통해 정상 제어데이터 보안규칙을 자동으로 생성하기 때문에, 다양한 종류의 비정상 데이터는 물론 비정상 제어데이터의 변경에 대해서도 능동적으로 대응할 수 있어 비정상 데이터의 탐지 정확도를 향상시킬 수 있고, 이로 인해 시스템의 신뢰도를 향상시킬 수 있다는 효과가 있다.
또한, 본 발명에 따르면 정상 제어데이터 보안규칙을 기초로 제어데이터들의 발생순서에 따른 정상 시퀀스 패턴을 자동으로 생성하고, 생성된 정상 시퀀스 패턴을 기초로 제어데이터의 발생순서가 정상적인지 여부를 확인할 수 있기 때문에 조업패턴을 외부로 알리지 않고도 발생순서가 비정상적인 제이데이터들을 정확하게 탐지해 낼 수 있다는 효과가 있다.
또한, 본 발명에 따르면 정상 시퀀스 패턴을 기초로 사이버 공격자에 의한 비정상적 발생순서의 제어데이터만 아니라 조업자의 실수에 의한 비정상적 발생순서의 제어데이터도 탐지할 수 있어 사이버 공격자로부터 제어장치를 안전하게 보호함과 동시에 조업효율도 향상시킬 수 있다는 효과가 있다.
또한, 본 발명에 따르면 기존 제어시스템에 포함된 제2 연결 관리장치를 이용하여 제어데이터를 복제할 수 있기 때문에, 기존 제어시스템에 영향을 주지 않고 제어데이터의 비정상여부를 탐지할 수 있다는 효과가 있다.
도 1은 본 발명의 일 실시예에 따른 비정상 제어데이터 탐지시스템이 적용되는 네트워크 구성을 개략적으로 보여주는 도면이다.
도 2a는 본 발명의 일 실시예에 따른 연결 관리장치가 제1 연결 관리장치인 경우, 제1 연결 관리장치의 구성을 개략적으로 보여주는 블록도이다.
도 2b 본 발명의 일 실시예에 따른 연결 관리장치가 제2 연결 관리장치인 경우, 제2 연결 관리장치의 구성을 개략적으로 보여주는 블록도이다.
도 3a는 미러링 설정부가 출력포트와 목적지포트에 대한 설정을 하지 않는 경우 제어데이터의 흐름을 나타내는 일예이다.
도 3b는 미러링 설정부가 출력포트와 목적지포트에 대한 설정을 한 경우 제어데이터의 흐름을 보여주는 일예이다.
도 4는 본 발명의 제1 실시예에 따른 탐지서버의 구성을 보여주는 블록도이다.
도 5는 시퀀스 패턴 생성부의 구성을 개략적으로 보여주는 블록도이다.
도 6a는 기준 시퀀스의 일 예를 보여주는 도면이다.
도 6b는 k*n 매트릭스의 일 예를 보여주는 도면이다.
도 7은 제2 유사도를 산출하는 방법을 개념적으로 보여주는 도면이다.
도 8은 본 발명의 제2 실시예에 따른 탐지서버의 구성을 보여주는 블록도이다.
도 9는 본 발명의 일 실시예에 따른 파싱부의 구성을 보여주는 블록도이다.
도 10은 추출부에 의해 추출된 제어정보의 일 예를 보여주는 도면이다.
도 11은 차원축소부에 의해 2차원 좌표값으로 구성된 군집생성데이터의 일예를 보여주는 도면이다.
도 12는 정상 제어데이터 군집부에 의해 생성된 제1 내지 제3 정상 제어데이터 군집의 일예를 보여주는 도면이다.
도 13은 본 발명의 일 실시예에 따른 정상 제어데이터 군집부에 의해 생성된 정상 제어데이터 군집이 리스트 형태로 군집생성데이터의 인덱스 정보와 매핑되어 저장되는 것을 보여주는 도면이다.
이하, 첨부되는 도면을 참고하여 본 발명의 실시예들에 대해 상세히 설명한다.
본 명세서에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 정의하지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "제1", "제2" 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 것으로, 이들 용어들에 의해 권리범위가 한정되어서는 아니 된다.
"포함하다" 또는 "가지다" 등의 용어는 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
"적어도 하나"의 용어는 하나 이상의 관련 항목으로부터 제시 가능한 모든 조합을 포함하는 것으로 이해되어야 한다. 예를 들어, "제1 항목, 제2 항목 및 제 3항목 중에서 적어도 하나"의 의미는 제1 항목, 제2 항목 또는 제3 항목 각각 뿐만 아니라 제1 항목, 제2 항목 및 제3 항목 중에서 2개 이상으로부터 제시될 수 있는 모든 항목의 조합을 의미한다.
도 1은 본 발명의 일 실시예에 따른 비정상 제어데이터 탐지시스템(이하 '탐지 시스템'이라함)이 적용되는 네트워크 구성을 개략적으로 보여주는 도면이다.
제어단말(100)은 제어장치(110)를 제어하고 제어장치(110)에 의해 생성되는 조업 데이터를 수집하는 역할을 수행한다. 일 실시예에 있어서 제어단말(100)은 SCADA(Supervisory Control And Data Acquisition) 또는 HMI(Human Machine Interface)를 포함할 수 있다.
제어장치(110)는 제어단말(100)에서 전달되는 제어데이터를 기초로 조업현장에 배치되어 있는 설비를 제어하고, 설비제어결과 또는 각 설비로부터 획득되는 조업 데이터를 제어단말(100)로 전송하는 역할을 수행한다.
일 실시예에 있어서 제어장치(110)는 PLC(Programmable Logic Controller)를 포함할 수 있다.
탐지 시스템(120)은 제어단말(100)과 제어장치(110)를 연결한다. 탐지 시스템(120)은 제어단말(100)에서 생성된 제어데이터를 제어장치(110)로 전달하고, 제어장치(110)에 의해 생성된 조업 데이터를 제어단말(100)로 전달한다.
특히, 본 발명에 따른 탐지 시스템(120)은 제어단말(100)에서 제어장치(110)로 전달되는 제어데이터들 중 비정상 제어데이터가 존재하는지 여부를 탐지한다.
이를 위해, 본 발명에 따른 탐지 시스템(120)은 도 1에 도시된 바와 같이, 연결 관리장치(130) 및 탐지서버(140)를 포함한다.
연결 관리장치(130)는 제어단말(100)과 제어장치(110)를 인터페이싱함으로써 제어단말(100)에서 생성된 제어데이터를 제어장치(110)로 전달하고, 제어장치(110)에 의해 생성된 조업 데이터를 제어단말(100)로 전달한다.
연결 관리장치(130)는 제1 연결 관리장치 및 제2 연결 관리장치 중 어느 하나를 포함한다.
제1 연결 관리장치는 는 제어데이터들을 송신한 경로에 따라 제어단말(100)에서 제어장치(110)로 제어데이터들을 전달하고, 제어데이터들을 복제하여 상기 탐지서버(140)로 전달한다. 구체적으로, 제1 연결 관리장치는 제어데이터들에 포함된 송신측 IP 어드레스를 기초로 제어장치(110) 및 탐지서버(140)로 제어데이터들의 전달여부를 결정하여 전달할 것으로 결정한 제어데이터들을 제어장치(110)로 전달하고, 전달할 것으로 결정한 제어 데이터들을 복제하여 탐지서버(140)로 전달한다. 제1 연결 관리장치는 전달하지 않을 것으로 결정한 제어데이터들을 상기 제어장치(110) 및 상기 탐지서버(140)로의 전달을 차단한다.
이하, 도 2a를 참조하여 연결 관리장치(130)가 제1 연결 관리장치인 경우에 대해 보다 구체적으로 설명한다.
도 2a는 본 발명의 일 실시예에 따른 연결 관리장치(130)가 제1 연결 관리장치인 경우, 제1 연결 관리장치(130)의 구성을 개략적으로 보여주는 블록도이다. 도 2a에 도시된 바와 같이 본 발명의 일 실시예에 따른 제1 연결 관리장치(130)는 데이터 차단부(210), 데이터 미러링부(220), 및 바이패스부(230)를 포함한다.
데이터 차단부(210)는 제어단말(110)로부터 제어데이터가 수신되면 수신된 제어데이터의 송수신처 정보가 미리 등록된 송수신처 정보에 해당하는지 여부를 판단한다. 판단결과, 제어데이터의 송수신처 정보가 미리 등록된 송수신처 정보에 해당하지 않는 경우 데이터 차단부(210)는 해당 제어데이터를 비정상적인 경로를 통해 수신된 비정상 제어데이터인 것으로 판단하여 해당 제어데이터가 제어장치로(110)로 전달되는 것을 차단한다.
예컨대, 데이터 차단부(210)는 제어데이터가 수신되면 수신된 제어데이터의 IP 어드레스(Internet Protocol Address)가 미리 등록된 IP 어드레스에 해당하는지 여부를 판단할 수 있다. 판단결과, 수신된 제어데이터의 IP 어드레스가 미리 등록된 IP 어드레스에 해당하지 않는 경우 데이터 차단부(210)는 해당 제어데이터를 비정상적인 경로를 통해 수신된 비정상 제어데이터인 것으로 판단하여 해당 제어데이터가 제어장치(110)로 전달되는 것을 차단한다.
일 실시예에 있어서, 데이터 차단부(210)는 탐지서버(140)에 의해 생성되는 정상경로 리스트를 기초로 제어단말(110)에서 수신되는 제어데이터의 송수신처 정보가 미리 등록된 송수신처 정보에 해당하는지 여부를 판단할 수 있다. 이때, 정상경로 리스트에는 정상 송수신처 정보들이 등록되어 있을 수 있다.
예컨대, 데이터 차단부(210)는 정상경로 리스트를 기초로 제어데이터의 IP 어드레스가 미리 등록된 제어데이터의 IP 어드레스에 해당하는지 여부를 판단한다. 이때, 제어데이터의 IP 어드레스는 송신측 IP 어드레스로써, 제어데이터를 송신한 IP 어드레스를 의미할 수 있다.
본 발명에 따른 데이터 차단부(210)가 정상경로 리스트를 기초로 비정상적인 경로를 통해 수신된 비정상 제어데이터를 차단함으로써, 제어장치(110)들을 타겟으로 하는 사이버 공격을 미연에 방지할 수 있을 수 있다는 효과가 있다.
데이터 차단부(210)는 제어데이터의 차단이 수행되면 차단결과를 사용자에게 통지할 수 있다.
데이터 미러링부(220)는 제어단말(110)로부터 제어장치(120)로 전달되는 제어데이터를 제어장치(120)로 전달한다. 이때, 데이터 미러링부(220)는 제어데이터를 네트워크 지연없이 복제하여 복제된 제어데이터를 탐지서버(140)로도 전달한다. 이러한 데이터 미러링부(220)의 복제기능을 통해 탐지서버(140)가 제어데이터를 획득함으로써 비정상 제어데이터를 탐지할 수 있게 된다.
바이패스부(230)는 제1 연결 관리장치(130)의 오류발생여부에 따라 제어데이터의 전달경로를 조정한다. 구체적으로, 바이패스부(230)는 제1 연결 관리장치(130)에 오류가 발생되지 않은 경우 제어데이터가 데이터 미러링부(220)를 통해 제어장치(120)로 전달되도록 한다.
하지만 제1 연결 관리장치(130)에 오류가 발생된 경우 바이패스부(230)는 데이터 미러링부(220)를 바이패스하여 제어데이터를 제어장치(120)로 직접 전달한다. 이러한 경우 제어데이터의 복제기능을 수행되지 않게 된다.
이하, 도 2b를 참조하여 연결 관리장치(130)가 제2 연결 관리장치인 경우에 대해 보다 구체적으로 설명한다. 도 2b 본 발명의 일 실시예에 따른 연결 관리장치(130)가 제2 연결 관리장치인 경우, 제2 연결 관리장치의 구성을 개략적으로 보여주는 블록도이다.
도 2b를 참조하면, 제2 연결 관리장치(130)는 입력포트(240), 출력포트(250), 목적지 포트(260), 제어부(270), 및 미러링 설정부(280)를 포함한다.
입력포트(240)는 제어데이터가 입력되는 포트이다. 구체적으로 입력포트(240)는 제어데이터를 생성하는 제어단말(100)이 접속되어 제어데이터가 입력되는 포트이다. 일 실시예에 있어서, 입력포트(240)는 적어도 하나 이상일 수 있다.
출력포트(250)는 제어데이터가 출력되는 포트이다. 구체적으로 출력포트(250)는 제어데이터에 의해 제어되는 제어장치(110)가 접속되어 제어장치(110)로 제어데이터가 출력되는 포트이다. 일 실시예에 있어서, 출력포트(250)는 적어도 하나 이상일 수 있다.
목적지포트(260)는 제어장치(110)로 출력될 제어데이터들이 복제되어 출력되는 포트이다. 상술한 실시예에 있어서, 출력포트(250)와 목적지포트(260)가 별개로 존재하는 것으로 설명하였으나, 목적지포트(260)는 출력포트(250) 중 하나일 수 있다.
미러링 설정부(270)는 적어도 하나 이상의 출력포트(250) 중 복제 대상이 되는 출력포트를 소스포트(Source Port)로 설정하고, 복제된 제어데이터의 출력을 위해 목적지 포트를 활성화시킬 수 있다. 이에 따라 출력포트(250)로 출력될 제어데이터가 제어부(280)에 의해 복제되어 목적지 포트로 전달될 수 있다.
예컨대, 도 3a에 도시된 바와 같이 미러링 설정부(270)가 출력포트(250)를 소스포트로 설정하지 않고, 목적지 포트(260)를 활성화시키지 않으면, 제어부(280)에 의해 출력포트(250)로만 제어데이터를 전송할 수 있다. 하지만, 도 3b에 도시된 바와 같이 미러링 설정부(270)가 출력포트(250)를 소스포트로 설정하고, 목적지 포트(260)를 활성화시키면, 제어부(280)에 의해 출력포트(250)로 전송될 제어데이터가 복제되어 출력포트(250)로 제어데이터가 전송되고, 목적지포트(260)로 제어데이터가 전송될 수 있다.
제어부(280)는 적어도 하나 이상의 출력포트(250) 중 미러링 설정부(270)에 의해 소스포트로 설정된 출력포트(250)에 전달될 제어데이터를 복제할 수 있다. 일 실시예에 있어서, 제어부(280)는 제어데이터 별로 제어데이터가 전송될 MAC 어드레스를 확인하여 해당 MAC 어드레스가 소스포트로 설정된 출력포트(250)에 접속된 제어장치의 MAC 어드레스인 경우, 해당 제어데이터를 복제할 수 있다. 이때, 제어데이터가 전송될 MAC 어드레스는 수신측 MAC 어드레스로써, 제어데이터를 수신할 MAC 어드레스를 의미할 수 있다.
예컨대, 제1 제어데이터가 전송될 MAC 어드레스가 제1 MAC 어드레스이고, 소스포트로 설정된 출력포트(250)에 접속된 제1 제어장치의 MAC 어드레스가 제1 MAC 어드레스인 경우, 제어부(280)는 제1 제어데이터를 복제할 수 있다.
제어부(280)는 복제된 제어데이터를 미러링 설정부(270)에 의해 활성화된 목적지 포트(260)로 전송한다. 이에 따라 복제된 제어데이터는 목적지 포트(260)에 의해 탐지서버(140)로 출력될 수 있다.
제어부(280)는 제어데이터 별로 제어데이터가 전송될 MAC 어드레스를 확인하여 해당 MAC 어드레스를 갖는 제어장치(110)가 접속된 출력포트(250)로 각 제어데이터를 전송할 수 있다. 이에 따라 출력포트(250)로 전송된 제어데이터는 제어장치(110)로 출력될 수 있다.
예컨대, 제1 출력포트에 접속된 제1 제어장치의 MAC 어드레스가 제1 MAC 어드레스이고, 제2 출력포트에 접속된 제2 제어장치의 MAC 어드레스가 제2 MAC 어드레스이며, 제1 제어데이터가 전송될 MAC 어드레스가 제1 MAC 어드레스이고, 제2 제어데이터가 전송될 MAC 어드레스가 제2 MAC 어드레스인 경우, 제어부(280)는 제1 제어데이터를 제1 출력포트로 전송하고, 제2 제어데이터를 제2 출력포트로 전송할 수 있다.
다시 도 1을 참조하면, 탐지서버(140)는 판단대상이 되는 타겟 제어데이터가 수신되면, 제어데이터들 중 미리 정해진 기간 동안 수집된 제어데이터를 기초로 타겟 제어데이터가 비정상 제어데이터인지 여부를 판단한다.
제1 실시예
본 발명의 제1 실시예에 따른 탐지서버(140)는 탐지서버(140)는 제어데이터들 중 미리 정해진 기간 동안 수집된 제어데이터를 기초로 정상 제어데이터 보안규칙을 생성하고, 판단대상이 되는 타겟 제어데이터가 수신되면 타겟 제어데이터를 정상 제어데이터 보안규칙과 비교함으로써 타겟 제어데이터가 비정상 제어데이터인지 여부를 판단한다.
이하 본 발명의 제1 실시예에 따른 탐지서버(140)의 구성을 도 4를 참조하여 보다 구체적으로 설명한다.
도 4은 본 발명의 제1 실시예에 따른 탐지서버의 구성을 보여주는 블록도이다. 도 4에 도시된 바와 같이, 본 발명의 제1 실시예에 따른 탐지서버(140)는 데이터 수집부(310), 파싱부(320), 규칙 생성부(330), 제1 판단부(340), 및 데이터베이스(350)를 포함한다. 또한, 본 발명의 제1 실시예에 따른 탐지서버(140)는 도 4에 도시된 바와 같이 정상경로 리스트 생성부(360), 시퀀스 패턴 생성부(370), 및 제2 판단부(380)를 더 포함할 수 있다.
데이터 수집부(310)는 정상 제어데이터 보안규칙의 생성을 위해 데이터 미러링부(220)를 통해 수신된 제어데이터들 중 미리 정해진 기간 동안 수신된 제어데이터들을 수집한다.
파싱부(320)는 데이터 수집부(310)에 의해 수집된 제어데이터들을 파싱함으로써 제어데이터들로부터 커맨드 정보를 획득한다. 이때, 커맨드 정보는 커맨드(Command) 및 해당 커맨드의 밸류(Value)를 포함할 수 있다.
한편, 파싱부(320)는 데이터 수집부(310)에 의해 수집된 제어데이터들을 파싱함으로써 해당 제어데이터를 송신한 IP 어드레스를 추가로 획득할 수 있다.
규칙 생성부(330)는 파싱부(320)에 의해 획득된 커맨드 및 해당 커맨드의 밸류를 머신러닝(Machine Learning) 기법으로 학습하여 정상 제어데이터 보안규칙을 생성한다
일 실시예에 있어서, 규칙 생성부(330)는 하나의 커맨드 및 해당 커맨드의 밸류가 매핑되어 있는 하나의 학습데이터를 하나의 정상 제어데이터 보안규칙으로 설정할 수 있다.
다른 실시예에 있어서, 규칙 생성부(330)는 동일한 종류의 커맨드에 대한 복수개의 밸류들을 기초로 해당 커맨드에 대한 대표밸류를 산출하고, 산출된 대표밸류와 해당 커맨드가 매핑된 하나의 학습 데이터를 하나의 정상 제어데이터 보안규칙으로 설정할 수 있다. 이때, 대표밸류는 평균값, 중간값, 최대값, 또는 최소값 등으로 결정될 수 있다.
또 다른 실시예에 있어서, 규칙 생성부(330)는 동일한 종류의 커맨드에 대한 복수개의 밸류들 간의 함수식을 도출하고, 도출된 함수식이 해당 커맨드와 매핑되어 있는 하나의 학습데이터를 하나의 정상 제어데이터 보안규칙으로 설정할 수도 있다.
제1 판단부(340)는 판단대상이 되는 타겟 제어데이터와 정상 제어데이터 보안규칙을 비교하여 타겟 제어데이터가 비정상 제어데이터인지 여부를 판단한다.
구체적으로, 제1 판단부(340)는 정상 제어데이터 규칙들 중 타겟 제어데이터의 커맨드 및 밸류를 기초로 해당 타겟 제어데이터가 매핑될 수 있는 정상 제어데이터 규칙이 존재하면 제1 판단부(340)는 해당 타겟 제어데이터를 정상 제어데이터인 것으로 판단한다.
하지만, 타겟 제어데이터가 매핑될 수 있는 정상 제어데이터가 규칙이 존재하지 않으면 제1 판단부(340)는 해당 타겟 제어데이터를 비정상 제어데이터인 것으로 판단한다.
데이터베이스(350)에는 규칙 생성부(330)에 의해 생성된 정상 제어데이터 규칙이 저장된다. 정상 제어데이터 규칙은 리스트 형태로 데이터베이스(350)에 저장될 수 있다.
또한, 데이터베이스(350)에는 각각의 제어데이터 별로 제어데이터로부터 획득된 커맨드 정보, 해당 제어데이터를 송신한 IP 어드레스, 및 해당 제어데이터의 발생시점이 매핑되어 저장될 수도 있다.
정상경로 리스트 생성부(360)는 파싱부(320)에 의해 제어데이터들의 IP 어드레스를 이용하여 정상 IP 어드레스들로 구성된 정상경로 리스트를 생성한다.
또한, 데이터베이스(350)에는 각각의 제어데이터 별로 제어데이터로부터 획득된 커맨드, 해당 커맨드의 밸류, 해당 제어데이터의 IP 어드레스, 및 해당 제어데이터의 발생시점이 매핑되어 저장될 수도 있다.
정상경로 리스트 생성부(360)는 파싱부(320)에 의해 제어데이터들의 헤더로부터 획득된 IP 어드레스들을 이용하여 정상 IP 어드레스들로 구성된 정상경로 리스트를 생성한다. 이때, 정상경로 리스트 생성부(360)는 제어단말(100) 및 제어장치(110)의 초기 가동기간 동안 수집된 제어데이터들의 헤더로부터 획득된 IP 어드레스들을 정상 IP 어드레스로 결정할 수 있다.
시퀀스 패턴 생성부(370)는 데이터베이스(350)에 저장되어 있는 정상 제어데이터 보안규칙을 기초로 제어데이터들의 발생순서에 따른 정상 시퀀스 패턴을 생성한다. 이때, 정상 시퀀스 패턴이란 제어데이터들의 정상적인 발생순서를 나타내는 패턴을 의미한다.
이하 본 발명에 따른 시퀀스 패턴 생성부(370)의 구성을 도 5를 참조하여 보다 구체적으로 설명한다.
도 5는 본 발명의 일 실시예에 따른 시퀀스 패턴 생성부의 구성을 개략적으로 보여주는 블록도이다. 도 5에 도시된 바와 같이, 본 발명의 일 실시예에 따른 시퀀스 패턴 생성부(370)는 인덱싱부(410), 식별정보 할당부(420), 데이터 정렬부(430), 유사도 산출부(440), 및 시퀀스 패턴 결정부(450)를 포함한다.
인덱싱부(410)는 데이터베이스(350)에 저장된 정상 제어데이터 보안규칙을 인덱싱하여 각 정상 제어데이터 보안규칙 별로 인덱스 정보를 할당한다.
식별정보 할당부(420)는 제어데이터들 각각에 식별정보를 할당한다. 일 실시예에 있어서, 식별정보 할당부(420)는 정상 제어데이터 보안규칙에 할당된 인덱스 정보를 이용하여 제어데이터들의 식별정보를 할당할 수 있다. 구체적으로 식별정보 할당부(420)는 각각의 제어데이터가 매핑되는 정상 제어데이터 보안규칙의 인덱스 정보를 해당 제어데이터의 식별정보로 할당할 수 있다. 이때, 각각의 제어데이터는 해당 제어데이터를 이용하여 생성된 정상 제어데이터 보안규칙과 매핑될 수 있다.
데이터 정렬부(430)는 제어데이터들의 발생순서에 따라 제어데이터들의 식별정보를 k*n 매트릭스로 정렬한다. 일 실시예에 있어서, 데이터 정렬부(430)는 제어데이터들의 식별정보들을 k*n 매트릭스로 정렬함에 있어서, 동일 열 내에서는 발생순서가 빠른 제어데이터의 식별정보를 상측에 배치하고 발생순서가 느린 제어데이터의 식별정보를 하측에 배치한다. 또한, 데이터 정렬부(430)는 동일 행 내에서는 발생순서가 빠른 제어데이터의 식별정보를 좌측에 배치하고 발생순서가 느린 제어데이터의 식별정보를 우측에 배치한다.
데이터 정렬부(430)에 의해 제어데이터들의 식별정보를 k*n 매트릭스로 정렬한 예가 도 6에 도시되어 있다. 도 6b에서는 도 6a 에 도시된 제어데이터들의 식별정보들을 6*4 매트릭스로 정렬한 예를 도시한 것이다. 도 6a 및 도 6b에서 L1~L6은 제어데이터들에 할당된 식별정보를 나타낸다.
K*n 매트릭스의 생성을 위해, 데이터 정렬부(430)는 제어데이터들의 식별정보를 제어데이터들의 발생순서에 따라 순차적으로 나열한 기준 시퀀스를 생성한다. 기준 시퀀스의 일 예가 도 6a에 도시되어 있다. 이후, 데이터 정렬부(430)는 기준 시퀀스 상에서 제일 좌측에 배치된 식별정보를 기준으로 k개의 식별정보를 추출하여 매트릭스의 제1 열을 구성한다. 예컨대, 도 6의 예를 기준으로 k 값이 6인 경우 도 6a에 도시된 기준 시퀀스에서 제일 좌측에 배치된 식별정보(L1)를 기준으로 6개의 식별정보들을 추출하여 매트릭스의 제1 열을 구성하게 된다.
이후, 데이터 정렬부(430)는 기준 시퀀스 상에 남아 있는 식별정보들 중 제일 좌측에 배치된 식별정보를 기준으로 k개의 식별정보를 추출하여 매트릭스의 제2 열을 구성한다. 예컨대, 도 6의 예를 기준으로. 도 6a에 도시된 기준 시퀀스 상에 남아 있는 식별정보들 중 제일 좌측에 배치된 식별정보(L1)을 기준으로 다시 6개의 식별정보들을 추출하여 매트릭스의 제2 열을 구성하게 된다.
위의 과정을 n번 반복함으로써 데이터 정렬부(430)는 k*n 매트릭스를 생성하게 된다. 예컨대, 도 6의 예를 기준으로. 위의 과정을 추가로 2번 더 수행하게 되면 도 6b에 도시된 6*4 매트릭스가 생성된다.
유사도 산출부(440)는 k값을 증가시키면서 k값 별로 매트릭스의 기준열에 배치된 식별정보와 타열에 배치된 식별정보를 비교하여 제1 유사도를 산출한다. 일 실시예에 있어서, 각 매트릭스에서 기준열은 첫 번째 열로 결정될 수 있다.
구체적으로, 유사도 산출부(440)는 k 값 별로 생성된 매트릭스에서 각 행 단위로 첫 번째 열에 배치된 식별정보와 타열에 배치된 식별정보가 동일하면 제1 값을 부여하고, 첫 번째 열에 배치된 식별정보와 타열에 배치된 식별정보가 상이하면 제2 값을 부여한다. 이후, 유사도 산출부(440)는 모든 행에 대해 부여된 제1 값 및 제2 값을 합산하고 합산결과를 열의 개수인 n으로 제산함으로써 제1 유사도를 산출할 수 있다.
시퀀스 패턴 결정부(450)는 k값들 중 제1 유사도의 편미분 값이 최소가 되게 하는 타겟k값을 결정한다. 시퀀스 패턴 결정부(450)는 타겟 k값이 결정되면 결정된 타겟 k값에 해당하는 매트릭스에서 어느 하나의 열에 배치된 식별정보들을 기초로 정상 시퀀스 패턴을 생성한다.
이때, 매트릭스의 동일 열 내에서는 발생순서가 빠른 제어데이터의 식별정보가 상측에 배치되고 발생순서가 느린 제어데이터의 식별정보가 하측에 배치되므로, 정상 시퀀스 패턴은 타겟 k값에 해당하는 매트릭스의 열에 배치된 식별정보들을 상측에 하측 순서로 배치함으로써 결정된다. 예컨대, 도 6b의 예에서는 L1-L6-L4-L2-L5-L3가 정상 시퀀스 패턴으로 결정된다.
한편, 타겟k값이 복수개인 경우, 시퀀스 패턴 결정부(450)는 각 타겟 k값 별로 결정된 시퀀스 패턴(이하, '후보 시퀀스 패턴'이라 함)을 기준 시퀀스와 비교하여 제2 유사도를 산출하고, 복수개의 후보 시퀀스 패턴들 중 제2 유사도가 가장 큰 후보 시퀀스 패턴을 시퀀스 패턴으로 결정할 수 있다.
일 실시예에 있어서, 시퀀스 패턴 결정부(450)는 제2 유사도를 산출하기 위해 각 후보 시퀀스 패턴을 기준 시퀀스 상에서 쉬프트 시키면서 동일 위치에 배치되는 식별정보들을 비교함으로써 제2 유사도를 산출할 수 있다.
예컨대, 시퀀스 패턴 결정부(450)는 도 7a에 도시된 바와 같이 기준 시퀀스(RS) 상에 후보 시퀀스 패턴(CP)을 위치시킨 후 동일한 위치에 배치된 식별번호들의 동일여부를 판단한다. 이때, 시퀀스 패턴 결정부(450)는 동일성 판단결과, 동일한 위치에 배치된 2개의 식별정보가 동일하면 제1 값을 부여하고 동일하지 않으면 제2 값을 부여하여 제1 값 및 제2 값들을 모두 합산함으로써 결과값을 산출할 수 있다. 일 예로 제1 값은 1로 설정되고 제2 값은 0으로 설정될 수 있다.
이후, 도 7b 및 도 7c에 도시된 바와 같이 시퀀스 패턴 결정부(450)는 기준 시퀀스(RS) 상의 마지막 식별정보(L5)와 후보 시퀀스 패턴(CP)의 마지막 식별정보(L2)가 동일 위치에 배치될 때까지 기준 시퀀스(RS) 상에서 후보 시퀀스 패턴(CP)을 하나의 식별정보 단위로 쉬프트시키면서 제1 값 및 제2 값들을 모두 합산한 결과값을 산출한다. 시퀀스 패턴 결정부(450)는 산출된 결과값들의 평균값을 제2 유사도로 산출할 수 있다.
다시 도 4를 참조하면, 제2 판단부(380)는 제어장치로 전달된 타겟 제어데이터들의 발생순서를 정상 시퀀스 패턴과 비교하여 타겟 제어데이터들의 발생순서가 정상 시퀀스 패턴과 상이하면 판단결과를 사용자에게 전달한다. 예컨대, 정상 시퀀스 패턴이 L7-L19-L22-L8로 결정되어 있고 타겟 제어데이터들의 발생순서가 L7-L22-L19-L22-L8인 경우 타겟 제어데이터들의 발생순서가 정상 시퀀스 패턴과 상이하기 때문에 제2 판단부(390)는 타겟 제어데이터들의 발생순서가 비정상적인 것으로 판단하여 사용자에게 판단결과를 통지한다.
제2 실시예
본 발명의 제2 실시예에 따른 탐지서버(140)는 제어데이터들 중 미리 정해진 기간 동안 수집된 제어데이터를 기초로 정상 제어데이터 군집을 생성하고, 판단대상이 되는 타겟 제어데이터가 수신되면 타겟 제어데이터를 정상 제어데이터 군집을 이용하여 타겟 제어데이터가 비정상 제어데이터인지 여부를 판단한다.
이하, 본 발명에 따른 제2 실시예에 따른 탐지서버(140)의 구성을 도 8를 참조하여 보다 구체적으로 설명한다.
도 8은 본 발명의 제2 실시예에 따른 탐지서버의 구성을 보여주는 블록도이다.
도 8에 도시된 바와 같이 탐지서버(140)는 데이터 수집부(310), 파싱부(320), 정상 제어데이터 군집부(330), 판단부(340), 및 데이터베이스(350)를 포함한다. 또한 본 발명의 제2 실시예에 따른 탐지서버(140)는 도 8에 도시된 바와 같이 정상경로 리스트 생성부(360)를 더 포함할 수 있다.
데이터 수집부(310)는 정상 제어데이터 군집을 생성하기 위해 데이터 미러링부(220)를 통해 수신된 제어데이터들 중 미리 정해진 기간 동안 수신된 제어데이터들을 수집한다. 이때, 제어데이터들은 미리 정해진 기간 동안 제어 시스템 튜닝을 통해 획득된 것으로써, 정상 제어데이터로 간주할 수 있다.
파싱부(320)는 데이터 수집부(310)에 의해 수집된 제어데이터들을 파싱함으로써 제어데이터들로부터 제어장치의 상태를 나타내는 제어장치 정보, 제어데이터의 송수신처를 나타내는 송수신처 정보, 및 제어장치가 수행할 커맨드를 나타내는 커맨드 정보 중 적어도 하나의 제어정보를 추출하고, 추출된 제어정보를 이용하여 군집데이터를 생성한다.
일 실시예에 있어서, 파싱부(320)는 제어데이터로부터 추출되는 제어장치 정보, 송수신 정보, 및 커맨드 정보 중 적어도 하나의 제어정보에 대해 형식을 일치시키고 미리 정해진 범위내로 스케일링하여 적어도 하나의 제어정보를 추출할 수 있다. 파싱부(320)는 추출된 적어도 하나의 제어정보로부터 군집생성 데이터를 생성할 수 있다.
한편, 변형된 실시예에 있어서 데이터 수집부(310)가 생략될 수도 있다. 이러한 경우, 파싱부(320)가 데이터 미러링부(220)에 의해 복제되어 데이터베이스(350)에 저장된 제어데이터들을 직접 추출하여 파싱할 수도 있을 것이다.
이하, 파싱부(320)에 대해 도 9 를 참조하여 보다 구체적으로 설명한다.
도 9는 본 발명의 일 실시예에 따른 파싱부(320)의 구성을 보여주는 블록도이다.
도 9에 도시된 바와 같이 파싱부(320)는 추출부(510), 인덱싱 할당부(520), 피쳐링부(530), 스케일링부(540), 및 차원축소부(550)를 포함할 수 있다.
추출부(510)는 제어데이터로부터 군집생성데이터를 생성하기 위한 제어장치 정보, 송수신처 정보, 및 커맨드 정보 중 적어도 하나의 제어정보를 추출한다. 이때, 제어정보는 서로 다른 프로토콜로 제어장치로 송신되는 제어데이터들이 공통적으로 포함하는 정보를 의미할 수 있다.
본 발명에 따른 추출부(510)가 서로 다른 프로토콜로 제어장치로 송신되는 제어데이터들이 공통적으로 포함하는 제어정보를 추출하는 이유는, 제어장치(110)의 종류와 제어장치(110)의 운용환경에 따라 제어장치(110)가 지원하는 프로토콜이 상이할 수 있기 때문에, 제어데이터들이 서로 다른 프로토콜로 제어장치로 송신되더라도 프로토콜과 상관없이 군집생성데이터를 생성할 수 있게 하기 위함이다.
이에 따라 본 발명은 서로 다른 프로토콜로 제어장치로 송신되는 제어데이터들이 공통적으로 포함하는 제어정보를 추출함으로써, 송신되는 제어데이터들의 프로토콜과 상관없이 군집생성데이터를 생성할 수 있다는 효과가 있다.
일 실시예에 있어서 제어장치 정보는 제어장치 모델정보, 제어장치, 프로토콜 정보, 제어장치 동작상태정보, 및 제어장치 프로토콜 타입 정보 중 적어도 하나를 포함할 수 있다.
또한, 송수신처 정보는 제어데이터를 송신한 IP 어드레스(Internet Protocl Address), 제어데이터를 송신한 MAC 어드레스(Media Access Control Address), 제어데이터를 송신한 포트(Port), 제어데이터를 수신할 IP 어드레스, 제어데이터를 수신할 MAC 어드레스, 및 제어데이터를 수신할 포트, 제어데이터가 송수신되는 네트워크 정보 중 적어도 하나를 포함할 수 있다.
또한, 커맨드 정보는 상기 커맨드가 저장된 메모리 정보를 나타내는 어드레스, 해당 커맨드의 밸류, 및 상기 커맨드 발생시점 중 적어도 하나를 포함할 수 있다.
예컨대, 추출부(510)에 의해 추출되는 제어장치 정보, 송수신처 정보, 및 커맨드 정보는 도 10에 도시된 바와 같이 구성될 수 있다.
제어장치 정보는 SysInfo(System Information), Fun(Function), PType(ProtoType), 및 Name을 포함한다.
이때, SysInfo(System Information)는 제어장치 프로토콜 정보를 의미하고, Fun(Function) 제어장치의 동작상태 정보를 의미하며, PType(ProtoType)은 제어장치 프로토콜 타입 정보를 의미하고, Name은 제어장치 모델정보를 의미한다.
송수신처 정보는 SMac(Source Mac Address), Sport(Source Port), SIP(Source Internet Protocol)를 포함하고, DMac(Destination Mac Address), DIP(Destination Internet Protocol), DPort(Destination Port)를 포함하며, 네트워크 정보인 VID(Vlan ID)를 더 포함할 수 있다.
이때, SMac(Source Mac Address)은 제어데이터를 송신한 MAC 어드레스를 의미하고, Sport(Source Port)는 제어데이터를 송신한 포트를 의미하며, SIP(Source Internet Protocol)는 제어데이터를 송신한 IP 어드레스를 의미하고, DMac(Destination Mac Address)는 제어데이터를 수신할 MAC 어드레스를 의미하며, DIP(Destination Internet Protocol)는 제어데이터를 수신할 IP 어드레스를 의미하고, DPort(Destination Port)는 제어데이터를 수신할 포트를 의미하며, VID(Vlan ID)는 네트워크 정보로써, 가상 네트워크 망 분리 시 가상 네트워크간의 구별을 위해 이용되는 식별정보를 의미할 수 있다.
커맨드 정보는 VALUE, Addr(Address) 및 Date를 포함할 수 있다.
이때, VALUE는 커맨드의 밸류를 의미하고, Addr(Address)은 커맨드가 저장된 메모리 정보를 나타내는 어드레스를 의미하며, Date는 커맨드 발생시점을 의미할 수 있다.
인덱스 할당부(520)는 추출부(510)에 의해 제어데이터로부터 추출되는 제어정보에 인덱스(Index) 정보를 할당한다. 구체적으로 인덱스 할당부(520)는 제어데이터들을 식별하기 위해 각 제어정보 별로 해당 제어정보가 추출되는 제어데이터를 나타내는 인덱스 정보를 할당한다.
피쳐링부(530)는 제어정보의 단위를 일치시킬 수 있다. 일 실시예에 있어서, 피쳐링부(430)는 제어정보의 형식을 일치시킬 수 있다. 예컨대, 피쳐링부(530)는 제어정보에 포함된 문자를 바이너리 형태로 일치시킬 수 있다.
스케일링부(540)는 피쳐링부(530)에 의해 하나의 단위로 일치된 제어정보를 미리 정해진 범위내로 스케일링 할 수 있다. 예컨대, 제어정보의 형식이 피쳐링부(530)에 의해 일치된 경우, 스케일링부(540)는 미리 정해진 범위내로 제어정보의 값들을 스케일링 할 수 있다.
차원축소부(550)는 스케일링부(540)에 의해 스케일링된 제어정보의 차원을 축소시켜 군집생성데이터를 생성할 수 있다. 구체적으로 차원축소부(550)는 제어정보의 차원을 고차원에서 저차원으로 축소시켜 군집생성데이터를 생성할 수 있다.
본 발명에 따른 차원축소부(550)가 제어정보의 차원을 고차원에서 저차원으로 축소시킴으로써 제어정보에 포함된 노이즈를 제거할 수 있어 정상 제어데이터 군집의 신뢰도가 향상될 수 있을 뿐만 아니라, 차원감소로 인해 정상 제어데이터 군집을 생성하는 속도가 향상될 수 있다는 효과가 있다.
일 실시예에 있어서, 차원축소부(550)는 제어정보의 차원을 2차원으로 축소하여 2차원 좌표값으로 구성된 군집생성데이터를 생성할 수 있다. 이에 따라 군집생성데이터는 X 좌표값 및 Y좌표값을 가질 수 있다. 이러한 실시예를 따르는 경우, 차원축소부(550)에 의해 2차원으로 축소된 군집생성데이터는 2차원 좌표평면 상에 배열될 수 있다.
예컨대, 차원축소부(550)는 도 10에 도시된 제어정보를 도 11에 도시된 바와 같이 X좌표값 및 Y좌표값으로 변환하여 2차원 좌표값을 가지는 군집생성데이터를 생성할 수 있다.
일 실시예에 있어서, 차원축소부(550)는 제어정보의 차원을 PCA(Principal Comonent Analysis) 알고리즘을 이용하여 2차원으로 축소할 수 있다. 이는 하나의 실시예일 뿐 다른 알고리즘을 이용하여 제어정보의 차원을 축소시킬 수도 있을 것이다.
다시 도 8을 참조하면, 정상 제어데이터 군집부(330)는 파싱부(320)에 의해 생성된 군집생성데이터들을 군집화하여 정상 제어데이터 군집을 생성한다. 구체적으로, 정상 제어데이터 군집부(330)는 군집생성데이터들 중 적어도 하나를 핵심데이터로 선정하고 핵심데이터로부터 미리 정해진 기준거리 이내에 위치한 타 군집생성데이터들을 하나의 군집으로 군집화하여 정상 제어데이터 군집을 생성한다.
일 실시예에 있어서, 정상 제어데이터 군집부(330)는 2차원 좌표평면상에 2차원 좌표값을 가지는 군집생성데이터를 배열하여 정상 제어데이터 군집을 생성할 수 있다.
정상 제어데이터 군집부(330)는 군집생성 데이터들로부터 기준거리 이내에 위치한 데이터를 각각 군집하고, 상기 군집한 데이터의 수가 미리 정해진 기준개수 이상인 데이터를 핵심데이터로 선정할 수 있다. 구체적으로, 정상 제어데이터 군집부(330)는 각 군집생성데이터 별로 해당 군집생성데이터로부터 기준거리 이내에 위치한 타 군집생성데이터의 개수가 미리 정해진 기준개수 이상인 군집생성데이터를 핵심데이터로 선정할 수 있다.
일례로, 기준거리가 2cm이고, 기준개수가 3이며, 2차원 좌표평면상에서 제1-1 군집생성데이터로부터 2cm 내에 제1-2 군집생성데이터, 제1-3 군집생성데이터, 및 제1-4 군집생성데이터가 위치하는 경우, 정상 제어데이터 군집부(330)는 제1-1 군집생성데이터를 제1 핵심데이터로 선정할 수 있다.
또한, 제2-1 군집생성데이터를 중심으로 2cm 내에 제2-2 군집생성데이터, 제2-3 군집생성데이터, 및 제2-4 군집생성데이터가 위치하고, 제2-5 군집생성데이터를 중심으로 2cm 내에 제2-1 군집생성데이터, 제2-2 군집생성데이터, 및 제2-6 군집생성데이터가 위치하는 경우, 정상 제어데이터 군집부(330)는 제2-1 군집생성데이터를 제2 핵심데이터로 선정하고, 제2-5 군집생성데이터를 제3 핵심데이터로 선정할 수 있다.
일 실시예에 있어서, 정상 제어데이터 군집부(330)는 핵심데이터으로부터 미리 정해진 기준거리 내에 위치하는 군집생성데이터들을 하나의 군집으로 군집화하여 정상 제어데이터 군집을 생성할 수 있다.
일례로, 정상 제어데이터 군집부(330)는 2차원 좌표평면 상에 군집생성데이터들을 배열하여 핵심데이터를 선정하고, 핵심데이터로부터 기준거리 내에 위치하는 군집생성데이터들을 하나의 군집으로 군집화하여 정상 제어데이터 군집을 생성할 수 있다.
예컨대, 기준거리가 2cm이고 제1 군집생성데이터가 제1 핵심데이터로 선정된 경우, 정상 제어데이터 군집부(330)는 2차원 좌표평면 상에서 제1 군집생성데이터를 중심으로 2cm 내에 제2 군집생성데이터, 제3 군집생성데이터, 및 제4 군집생성데이터가 위치하면, 제1 군집생성데이터, 제2 군집데이터, 제3 군집생성데이터, 및 제4 군집생성데이터를 하나의 군집으로 군집화하여 정상 제어데이터 군집으로 생성할 수 있다.
이러한 예를 따르는 경우, 정상 제어데이터 군집부(330)는 도 12에 도시된 바와 같이 제1 내지 제3 정상 제어데이터 군집을 생성할 수 있다. 도12에는 정상 제어데이터 군집이 3개가 있는 것으로 도시되었으나, 이는 하나의 예로써, 정상 제어데이터 군집은 2개 이하일 수 있고, 4개 이상일 수 있다.
일 실시예에 있어서, 정상 제어데이터 군집부(330)는 제1 핵심데이터에 의해 생성된 제1 정상제어데이터 군집과 제2 핵심데이터에 의해 생성된 제2 정상 제어데이터 군집에 모두 포함되는 군집생성데이터가 존재하면, 제1 정상 제어데이터 군집과 제2 정상 제어데이터 군집을 하나의 군집으로 군집화할 수 있다.
일례로, 제1 핵심데이터로 제1-1 군집생성데이터가 선정되어 제1-1 군집생성데이터, 제1-2 군집생성데이터, 제1-3 군집생성데이터, 및 제1-4 군집생성데이터를 포함하는 제1 정상 제어데이터 군집이 생성되고, 제2 핵심데이터로 제2-1 군집생성데이터가 선정되어 제2-1 군집생성데이터, 제2-2 군집생성데이터, 제2-3 군집생성데이터, 제1-4 군집생성데이터로 제2 정상 제어데이터 군집이 생성된 경우, 제1-4 군집생성데이터는 제1 핵심데이터로부터 기준거리 내에 위치하고, 제2 핵심데이터로부터 기준거리 내에 위치하는 것이므로, 제1 정상 제어데이터 군집 및 제2 정상 제어데이터 군집에 모두 포함되게 된다.
이에 따라 정상 제어데이터 군집부(330)는 제1 정상 제어데이터 군집 및 제2 정상 제어데이터 군집을 하나의 군집으로 군집화할 수 있다.
이러한 예를 따르는 경우, 하나의 군집으로 군집화된 정상 제어데이터 군집은 제1-1 군집 생성데이터, 제1-2 군집 생성데이터, 제1-3 군집 생성데이터, 제1-4 군집 생성데이터, 제2-1 군집 생성데이터, 제2-2 군집 생성데이터, 및 제2-3 군집 생성데이터를 포함한다.
이와 같이 정상 제어데이터 군집부(330)는 복수개의 핵심데이터로부터 기준거리내에 위치하는 군집생성데이터가 존재하는 경우, 복수개의 핵심데이터에 의해 생성된 정상 제어데이터 군집들을 하나의 군집으로 생성할 수 있다.
정상 제어데이터 군집부(330)는 정상 제어데이터 군집 별로 정상 제어데이터 군집 내에 군집생성데이터의 밀집도에 따라 기준거리를 가변할 수 있다. 구체적으로, 정상 제어데이터 군집부(330)는 2차원 좌표평면 상에서 정상 제어데이터 군집들 중 군집생성데이터의 밀집도가 높은 정상 제어데이터 군집의 경우 해당 정상 제어데이터 군집의 기준거리를 길게 설정할 수 있다.
또한, 정상 제어데이터 군집부(330)는 정상 제어데이터 군집들 중 군집생성데이터의 밀집도가 낮은 정상 제어데이터 군집의 경우 해당 정상 제어데이터 군집의 기준거리를 짧게 설정할 수 있다.
예컨대, 기준거리가 2cm로 정상 제어데이터 군집부(330)에 의해 제1 내지 제3 정상 제어데이터 군집이 생성되고, 제1 정상 제어데이터 군집은 군집생성데이터의 밀집도가 높고, 제2 정상 제어데이터 군집은 군집생성데이터의 밀집도가 낮은 경우, 정상 제어데이터 군집부(330)는 제1 정상 제어데이터 군집의 기준거리를 3cm로 설정하고, 제2 정상 제어데이터 군집의 기준거리를 1cm로 설정하고, 제3 정상 제어데이터 군집은 기준거리를 2cm로 설정할 수 있다.
일실시예에 있어서, 정상 제어데이터 군집부(330)는 정상 제어데이터 군집 별로 해당 정상 제어데이터 군집에 포함된 군집생성데이터의 수에 따라 기준거리를 가변시킬 수 있다.
일례로, 정상 제어데이터 군집부(330)는 정상 제어데이터 군집에 포함된 군집생성데이터 개수가 미리 정해진 상한치를 초과하면 정상 제어데이터 군집의 기준거리를 기준거리보다 긴 제1 기준거리로 증가시키고, 정상 제어데이터 군집에 포함된 군집생성데이터의 개수가 미리 정해진 하한치 미만이면 정상 제어데이터 군집의 기준거리를 기준거리보다 짧은 제2 기준거리로 감소시킬 수 있다.
예컨대, 제1 정상 제어데이터 군집에 포함된 군집생성데이터의 개수가 11개이고, 상한치가 8개이면, 군집생성데이터의 개수가 상한치를 초과하므로, 제1 정상 제어데이터 군집의 기준거리를 제1 기준거리로 증가시킬 수 있다.
또한, 제2 정상 제어데이터 군집에 포함된 군집생성데이터의 개수가 3개이고, 하한치가 4개이면, 군집생성데이터의 개수가 하한치 미만이므로, 제2 정상 제어데이터 군집의 기준거리를 기준거리보다 짧은 제2 기준거리로 감소시킬 수 있다.
다른 실시예에 있어서, 정상 제어데이터 군집부(330)는 정상 제어데이터 군집 별로 해당 정상 제어데이터 군집이 형성하는 면적 대비 해당 정상 제어데이터 군집에 포함된 군집생성데이터의 개수의 비율에 따라 기준거리를 가변시킬 수 있다.
이때, 정상 제어데이터 군집이 형성하는 면적은 2차원 좌표평면 상에서 해당 정상 제어데이터 군집에 포함된 핵심데이터로부터 기준거리만큼 이격된 지점을 연결한 형태의 면적을 의미할 수 있다.
일례로, 정상 제어데이터 군집부(330)는 정상 제어데이터 군집이 형성하는 면적 대비 해당 정상 제어데이터 군집에 포함된 군집생성데이터의 개수의 비율이 미리 정해진 상한율을 초과하면 해당 정상 제어데이터 군집의 기준거리를 기준거리보다 긴 제1 기준거리로 증가시킬 수 있다.
또한 정상 제어데이터 군집부(330)는 정상 제어데이터 군집이 형성하는 면적 대비 해당 정상 제어데이터 군집에 포함된 군집생성데이터의 개수의 비율이 미리 정해진 하한율 미만이면, 해당 정상 제어데이터 군집의 기준거리를 기준거리보다 짧은 제2 기준거리로 감소시킬 수 있다.
예컨대, 제1 정상 제어데이터 군집이 형성하는 면적이 2이고, 제1 정상 제어데이터 군집이 4개의 군집생성데이터를 포함하며, 미리 정해진 상한율이 1이면, 정상 제어데이터 군집이 형성하는 면적 대비 군집생성데이터 개수의 비율이 2이므로, 제1 정상 제어데이터 군집의 기준거리를 기준거리보다 긴 제1 기준거리로 증가시킬 수 있다.
본 발명에 따른 정상 제어데이터 군집부(330)가 2차원 좌표평면상에서 정상 제어데이터 군집 내에 군집생성데이터의 밀집도에 따라 해당 정상 제어데이터 군집의 기준거리를 변경하는 이유는, 정상 제어데이터 군집 내에 군집생성데이터가 좁은 범위에 분포되어 있어 군집생성데이터의 밀집도가 높은 경우 판단부(340)에 의해 판단 시에 타겟 제어데이터의 타겟 군집생성데이터가 해당 정상 제어데이터 군집을 조금이라도 벗어나면 비정상으로 판단할 수 있기 때문이다. 또한, 정상 제어데이터 군집 내에 군집생성데이터가 넓은 범위에 분포되어 있어 군집생성데이터의 밀집도가 낮은 경우, 판단부(340)에 의해 판단 시에 타겟 제어데이터의 타겟 군집생성데이터가 해당 정상 제어데이터 군집을 크게 벗어나더라도 정상으로 판단할 수 있기 때문이다.
이와 같이 정상 제어데이터 군집부(330)가 군집데이터의 밀집도에 따라 해당 정상 제어데이터 군집의 기준거리를 변경함으로써, 정상 제어데이터 군집이 과적합(Overfitting)되는 것을 방지할 수 있을 뿐만 아니라, 이로 인해 판단부(340)가 정상 제어데이터 군집이 이용하여 타겟 제어데이터의 비정상여부 판단 시 정확도가 향상될 수 있다.
정상 제어데이터 군집부(330)는 생성된 정상 제어데이터 군집을 데이터 베이스(350)에 저장한다. 정상 제어데이터 군집은 리스트 형태로 데이터 베이스(350)에 저장될 수 있다.
일 실시예에 있어서, 정상 제어데이터 군집부(330)는 정상 제어데이터 군집을 리스트 형태로 해당 정상 제어데이터 군집에 포함되는 군집생성데이터의 인덱스 정보를 매핑시켜 데이터베이스(350)에 저장할 수 있다.
예컨대, 도 13에 도시된 바와 같이 정상 제어데이터 군집부(330)는 정상 제어데이터 군집을 리스트 형태로 데이터베이스(350)에 저장할 수 있다.
판단부(340)는 정상 제어데이터 군집부(330)에 의해 생성된 정상 제어데이터 군집을 이용하여 제어단말에서 수신되어 판단대상이 되는 타겟 제어데이터의 비정상여부를 판단한다.
이를 위해, 타겟 제어데이터는 데이터 미러링부(220)를 통해 파싱부(320)로 전달된다. 그리고 파싱부(320)는 타겟 제어데이터로부터 제어장치 정보, 송수신처 정보, 및 커맨드 정보 중 적어도 하나를 포함하는 제어정보를 추출하여 타겟 군집생성데이터를 생성한다.
일 실시예에 있어서, 판단부(340)는 정상 제어데이터 군집들 중 적어도 하나의 정상 제어데이터 군집에 타겟 군집생성데이터가 포함되면 타겟 제어데이터를 정상으로 판단한다. 하지만, 판단부(340)는 타겟 군집생성데이터가 정상 제어데이터 군집들 중 어느 하나의 정상 제어데이터 군집에도 포함되지 않으면 타겟 제어데이터를 비정상으로 판단한다.
예컨대, 제1 내지 제3 정상 제어데이터 군집들 중 제1 정상 제어데이터 군집에 타겟 군집생성데이터가 포함되면, 판단부(340)는 타겟 제어데이터를 정상으로 판단할 수 있다. 또한, 제1 내지 제3 정상 제어데이터 군집들 중 어느 하나의 제어데이터 군집에 타겟 군집생성데이터가 포함되지 않으면, 판단부(340)는 타겟 제어데이터를 비정상으로 판단할 수 있다.
일 실시예에 있어서, 판단부(340)는 2차원 좌표평면 상에 정상 제어데이터 군집을 배열하고 타겟 군집생성데이터를 배열하여 정상 제어데이터 군집에 타겟 군집생성데이터의 포함여부를 판단할 수 있다.
다른 실시예에 있어서, 판단부(340)는 2차원 좌표평면 상에 정상 제어데이터 군집 별로 선정된 핵심데이터를 배열하고 타겟 군집생성데이터를 배열하여 정상 제어데이터 군집에 타겟 군집생성데이터의 포함여부를 판단할 수 있다.
이와 같이, 판단부(340)는 정상 제어데이터 군집에 포함되는 군집생성데이터 모두를 배열할 수도 있고, 정상 제어데이터 군집에 포함되는 핵심데이터만을 배열하여 타겟 군집생성데이터가 해당 정상 제어데이터 군집에 포함되는지 여부를 판단할 수 있다.
일 실시예에 있어서, 판단부(340)는 정상 제어데이터 군집의 핵심데이터로부터 기준거리 내에 타겟 군집생성데이터가 위치하면 타겟 군집생성데이터가 정상 제어데이터 군집에 포함되는 것으로 판단하여 타겟 제어데이터를 정상으로 판단할 수 있다.
이와 반대로, 판단부(340)는 정상 제어데이터 군집의 핵심데이터로부터 기준거리 내에 위치하지 않으면 타겟 군집생성데이터가 정상 제어데이터 군집에 포함되지 않는 것으로 판단하여 타겟 제어데이터를 정상으로 판단할 수 있다.
일례로, 판단부(340)는 타겟 군집생성데이터가 2차원 좌표평면 상에서 정상 제어데이터 군집 별로 해당 정상 제어데이터 군집의 핵심데이터로부터 기준거리내에 위치하면 타겟 군집생성데이터가 해당 핵심데이터를 포함하는 정상 제어데이터 군집에 포함되는 것으로 판단할 수 있다.
예컨대, 제1 핵심데이터를 포함하는 제1 정상 제어데이터 군집과 제2 핵심데이터를 포함하는 제2 정상 제어데이터 군집이 존재하고, 기준거리가 2CM 인 경우, 2차원 좌표평면 상에서 제1 핵심데이터로부터 2CM 이내에 타겟 군집생성데이터가 위치하면, 판단부(340)는 타겟 군집생성데이터가 제1 정상 제어데이터 군집에 포함되는 것으로 판단할 수 있다.
또한, 2차원 좌표평면 상에서 제2 핵심데이터로부터 2CM 이내에 타겟 군집생성데이터가 위치하면, 판단부(340)는 타겟 군집생성데이터가 제2 정상 제어데이터 군집에 포함되는 것으로 판단할 수 있다.
일 실시예에 있어서, 판단부(340)는 정상 제어데이터 군집 별로 설정된 서로 다른 기준거리에 따라 타겟 군집생성데이터가 정상 제어데이터 군집에 포함되는지 여부를 판단할 수 있다.
일례로, 제1 핵심데이터를 포함하는 제1 정상 제어데이터 군집의 기준거리가 제1 기준거리이고, 제2 핵심데이터를 포함하는 제2 정상 제어데이터 군집의 기준거리가 제2 기준거리이면, 판단부(340)는 제1 핵심데이터로부터 제1 기준거리 내에 타겟 군집생성데이터가 위치하는지 판단하고, 제2 핵심데이터로부터 제2 기준거리 내에 타겟 군집생성데이터가 위치하는지 판단할 수 있다.
이에 따라 판단부(340)는 각 정상제어데이터 군집 별로 해당 정상 제어데이터 군집의 핵심데이터로부터 해당 정상 제어데이터 군집의 기준거리 내에 타겟 군집생성데이터가 위치하는지 판단할 수 있다.
예컨대, 제1 정상 제어데이터 군집의 제1 기준거리가 3cm이고, 제2 및 정상 제어데이터 군집의 제2 기준거리가 2cm 이며 제3 정상 제어데이터 군집의 제3 기준거리가 2cm이고, 타겟 군집생성데이터가 제1 내지 제3 정상제어데이터 군집의 핵심데이터로부터 2.5cm만큼 이격되어 있는 경우, 판단부(340)는 제1 정상 제어데이터 군집에 타겟 군집생성데이터가 포함된 것으로 판단할 수 있다.
판단부(340)는 타겟 제어데이터의 비정상여부를 판단하여 사용자에게 전달한다.
데이터 베이스(350)에는 정상 제어데이터 군집부(330)에 의해 생성된 정상 제어데이터 군집이 리스트형태로 저장된다. 예컨대, 데이터 베이스(360)에는 도 13에 도시된 바와 같이 각 정상제어데이터 군집 별로 해당 정상제어데이터 군집에 포함되는 군집생성데이터들의 인덱스 정보가 매핑된 형태로 저장될 수 있다.
또한, 데이터 베이스(350)에는 데이터 수집부(310)에 의해 수집된 제어데이터와 타겟 제어데이터가 저장될 수 있고, 파싱부(320)에 의해 파싱된 제어데이터의 군집 생성데이터와 타겟 제어데이터의 타겟 군집 생성데이터가 저장될 수 있다.
정상경로 리스트 생성부(360)는 파싱부(320)에 의해 제어데이터들의 송수신정보들을 이용하여 정상 송수신정보들로 구성된 정상경로 리스트를 생성한다. 이때, 정상경로 리스트 생성부(360)는 제어단말(100) 및 제어장치(110)의 초기 가동기간 동안 수집된 제어데이터들의 송수신정보들을 정상 송수신정보로 결정할 수 있다.
예컨대, 정상경로 리스트 생성부(360)는 제어데이터들을 송신한 IP 어드레스를 이용하여 정상 IP 어드레스들로 구성된 정상경로 리스트를 생성할 수 있다. 이러한 예를 따를때, 정상경로 리스트 생성부(360)는 제어데이터들을 송신한 IP 어드레스를 정상 IP 어드레스로 결정할 수 있다.
본 발명이 속하는 기술분야의 당업자는 상술한 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다.
그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
본 명세서에 설명되어 있는 모든 개시된 방법들 및 절차들은, 적어도 부분적으로, 하나 이상의 컴퓨터 프로그램 또는 구성요소를 사용하여 구현될 수 있다. 이 구성요소는 RAM, ROM, 플래시 메모리, 자기 또는 광학 디스크, 광메모리, 또는 그 밖의 저장매체와 같은 휘발성 및 비휘발성 메모리를 포함하는 임의의 통상적 컴퓨터 판독 가능한 매체 또는 기계 판독 가능한 매체를 통해 일련의 컴퓨터 지시어들로서 제공될 수 있다. 상기 지시어들은 소프트웨어 또는 펌웨어로서 제공될 수 있으며, 전체적 또는 부분적으로, ASICs, FPGAs, DSPs, 또는 그 밖의 다른 임의의 유사 소자와 같은 하드웨어 구성에 구현될 수도 있다. 상기 지시어들은 하나 이상의 프로세서 또는 다른 하드웨어 구성에 의해 실행되도록 구성될 수 있는데, 상기 프로세서 또는 다른 하드웨어 구성은 상기 일련의 컴퓨터 지시어들을 실행할 때 본 명세서에 개시된 상기 방법들 및 절차들의 모두 또는 일부를 수행하거나 수행할 수 있도록 한다.
Claims (17)
- 제어단말에서 제어장치로 전달되는 제어데이터들을 복제하는 연결 관리장치; 및상기 복제된 제어데이터들을 기초로 정상 제어데이터 군집 또는 정상 제어데이터 보안규칙을 생성하고, 상기 제어단말에서 타겟 제어데이터가 수신되면 상기 정상 제어데이터 군집 또는 상기 정상 제어데이터 보안규칙을 이용하여 상기 타겟 제어데이터의 비정상 여부를 판단하는 탐지서버를 포함하는 것을 특징으로 하는 비정상 제어데이터 탐지시스템.
- 제1항에 있어서,상기 탐지서버는,상기 복제된 제어데이터들로부터 상기 제어장치의 상태를 나타내는 제어장치 정보, 제어데이터의 송수신처를 나타내는 송수신처 정보, 및 상기 제어장치가 수행할 커맨드(Command)를 나타내는 커맨드 정보 중 적어도 하나의 제어정보를 추출하는 파싱부를 포함하는 것을 특징으로 하는 비정상 제어데이터 탐지시스템.
- 제2항에 있어서,상기 파싱부는,상기 추출된 적어도 하나의 제어정보의 차원을 2차원으로 축소하여 X좌표값 및 Y좌표값으로 구성된 군집생성 데이터를 생성하는 차원축소부를 포함하는 것을 특징으로 하는 비정상 제어데이터 탐지시스템.
- 제1항에 있어서,상기 탐지서버는,상기 복제된 제어데이터들로부터 생성된 군집생성 데이터들 중 적어도 하나의 데이터를 핵심데이터로 선정하고, 상기 선정한 각 핵심데이터로부터 기준거리 이내에 위치한 데이터를 군집하는 정상 제어데이터 군집부를 포함하는 것을 특징으로 하는 비정상 제어데이터 탐지시스템.
- 제4항에 있어서,상기 정상 제어데이터 군집부는상기 군집생성 데이터들 중 해당 데이터로부터 상기 기준거리 이내에 위치한 데이터의 수가 기준개수 이상인 데이터를 핵심데이터로 선정하는 것을 특징으로 하는 비정상 제어데이터 탐지시스템.
- 제4항에 있어서,상기 정상 제어데이터 군집부는상기 정상 제어데이터 군집에 포함된 데이터 개수가 미리 정해진 상한치를 초과하면 상기 기준거리를 제1 기준거리로 증가시키고, 상기 정상 제어데이터 군집에 포함된 데이터 개수가 미리 정해진 하한치 미만이면 상기 기준거리를 제2 기준거리로 감소시키는 것을 특징으로 하는 비정상 제어데이터 탐지시스템.
- 제4항에 있어서,상기 정상 제어데이터 군집부는상기 정상 제어데이터 군집이 형성하는 면적 대비 해당 정상 제어데이터 군집에 포함된 데이터의 개수의 비율이 미리 정해진 상한율를 초과하면 상기 기준거리를 제1 기준거리로 증가시키고, 상기 정상 제어데이터 군집이 형성하는 면적 대비 해당 정상 제어데이터 군집에 포함된 데이터의 개수의 비율이 미리 정해진 하한율 미만이면, 해당 정상 제어데이터 군집의 기준거리를 제2 기준거리로 감소시키는 것을 특징으로 하는 비정상 제어데이터 탐지시스템.
- 제1항에 있어서,상기 타겟 제어데이터로부터 생성된 타겟 군집생성 데이터가 상기 정상 제어데이터 군집에 포함되면 상기 타겟 제어데이터를 정상으로 판단하는 판단부를 포함하는 것을 특징으로 하는 비정상 제어데이터 탐지시스템.
- 제8항에 있어서,상기 판단부는,상기 타겟 군집생성 데이터가 상기 정상 제어데이터 군집의 핵심데이터로부터 기준거리 내에 위치하면 상기 정상 제어데이터 군집에 상기 타겟 군집생성 데이터가 포함되는 것으로 판단하는 것을 특징으로 하는 비정상 제어데이터 탐지시스템.
- 제1항에 있어서,상기 탐지서버는,상기 제어데이터들의 커맨드(Command) 및 상기 커맨드의 밸류(Value)에 대한 정상 제어데이터 보안규칙을 생성하는 규칙 생성부를 포함하고,상기 정상 제어데이터 보안규칙은 각 커맨드가 해당 커맨드의 밸류와 매핑되어 있는 데이터 세트인 것을 특징으로 하는 비정상 제어데이터 탐지시스템.
- 제1항에 있어서,상기 탐지서버는,상기 타겟 제어데이터로부터 추출된 커맨드 및 밸류를 기초로 해당 타겟 제어데이터가 매핑될 수 있는 상기 정상 제어데이터 보안규칙이 존재하면 해당 타겟 제어데이터를 정상으로 판단하는 제1 판단부를 포함하는 것을 특징으로 하는 비정상 제어데이터 탐지시스템.
- 제1항에 있어서,상기 탐지서버는,상기 정상 제어데이터 보안규칙을 기초로 상기 제어데이터들의 발생순서에 따른 정상 시퀀스 패턴을 생성하는 시퀀스 패턴 생성부를 포함하고,상기 시퀀스 패턴 생성부는,상기 제어데이터들의 식별정보들이 정렬된 k*n 매트릭스에서 k값 별로 산출된 제1 유사도의 편미분값이 최소가 되게 하는 타겟k값을 결정하고, 상기 타겟 k값에 해당하는 매트릭스에서 어느 하나의 열에 배치된 식별정보들을 기초로 상기 정상 시퀀스 패턴을 생성하는 것을 특징으로 하는 비정상 제어데이터 탐지시스템.
- 제1항에 있어서,상기 탐지서버는,상기 제어장치로 전달되는 타겟 제어데이터들의 발생순서를 상기 정상 제어데이터 보안규칙을 기초로 생성되는 정상 시퀀스 패턴과 비교하여 상기 타겟 제어데이터들의 발생순서의 비정상 여부를 판단하는 제2판단부를 포함하는 것을 특징으로 하는 비정상 제어데이터 탐지시스템.
- 제1항에 있어서,상기 연결 관리장치는,상기 제어데이터들에 포함된 송신측 IP 어드레스를 기초로 상기 제어장치 및 상기 탐지서버로 상기 제어데이터들의 전달여부를 결정하여 전달이 결정된 제어데이터들을 제어장치로 전달하고 전달이 결정된 제어데이터들을 복제하여 상기 탐지서버로 전달하는 제1 연결 관리장치인 것을 특징으로 하는 비정상 제어데이터 탐지시스템.
- 제14항에 있어서,상기 제1 연결 관리장치는 상기 송신측IP 어드레스가 미리 생성된 정상경로 리스트에 포함되어 있지 않으면 상기 제어장치 및 상기 탐지서버로 해당 제어데이터의 전달을 차단하는 것을 특징으로 하는 비정상 제어데이터 탐지시스템.
- 제14항에 있어서,상기 제1 연결 관리장치는 상기 제1 연결 관리장치에 오류가 발생하면 상기 탐지서버를 바이패스하여 상기 제어장치로 전달하는 것을 특징으로 하는 비정상 제어데이터 탐지시스템.
- 제1항에 있어서,상기 연결 관리장치는 상기 제어데이터가 입력되는 적어도 하나의 입력포트, 상기 제어데이터가 출력되는 적어도 하나의 출력포트, 및 상기 복제된 제어데이터가 출력되는 목적지 포트를 포함하는 제2 연결 관리장치이고,상기 제2 연결 관리장치는,상기 적어도 하나의 출력포트 중 복제 대상이 되는 출력포트를 소스 포트(Source Port)로 설정하고, 상기 제어데이터가 복제되면 상기 목적지 포트를 활성화시켜 상기 제어데이터를 상기 목적지 포트로 출력하는 것을 특징으로 하는 비정상 제어데이터 탐지시스템.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2019-0064948 | 2019-05-31 | ||
KR10-2019-0064813 | 2019-05-31 | ||
KR1020190064948A KR102282843B1 (ko) | 2019-05-31 | 2019-05-31 | 스위칭 장치를 이용하는 비정상 제어데이터 탐지시스템 |
KR1020190064813A KR102282847B1 (ko) | 2019-05-31 | 2019-05-31 | 제어데이터 이상 검출을 위한 시스템 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2020241959A1 true WO2020241959A1 (ko) | 2020-12-03 |
Family
ID=73552796
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2019/007028 WO2020241959A1 (ko) | 2019-05-31 | 2019-06-11 | 비정상 제어데이터 탐지시스템 |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2020241959A1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113630425A (zh) * | 2021-10-08 | 2021-11-09 | 国网浙江省电力有限公司金华供电公司 | 一种多电力主体的财务数据安全传输方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130095405A (ko) * | 2012-02-20 | 2013-08-28 | 부산대학교 산학협력단 | 하수처리장 공정상태 진단에 따른 규칙기반 제어장치 및 방법 |
JP2014531647A (ja) * | 2011-09-09 | 2014-11-27 | ヒューレット−パッカード デベロップメント カンパニー エル.ピー.Hewlett‐Packard Development Company, L.P. | 基準ベースラインに基づき、イベントシーケンス中の時間的位置に従ってイベントを評価するシステム及び方法 |
KR101538709B1 (ko) * | 2014-06-25 | 2015-07-29 | 아주대학교산학협력단 | 산업제어 네트워크를 위한 비정상 행위 탐지 시스템 및 방법 |
KR20160104945A (ko) * | 2015-02-27 | 2016-09-06 | 충북대학교 산학협력단 | 데이터 연관성 기반 이상치 평가 장치 및 방법 |
KR20170079858A (ko) * | 2015-12-31 | 2017-07-10 | 다운정보통신(주) | 자동제어시스템 내 제어신호 분석을 이용한 제어신호 무결성 검증 방법 및 장치 |
-
2019
- 2019-06-11 WO PCT/KR2019/007028 patent/WO2020241959A1/ko active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014531647A (ja) * | 2011-09-09 | 2014-11-27 | ヒューレット−パッカード デベロップメント カンパニー エル.ピー.Hewlett‐Packard Development Company, L.P. | 基準ベースラインに基づき、イベントシーケンス中の時間的位置に従ってイベントを評価するシステム及び方法 |
KR20130095405A (ko) * | 2012-02-20 | 2013-08-28 | 부산대학교 산학협력단 | 하수처리장 공정상태 진단에 따른 규칙기반 제어장치 및 방법 |
KR101538709B1 (ko) * | 2014-06-25 | 2015-07-29 | 아주대학교산학협력단 | 산업제어 네트워크를 위한 비정상 행위 탐지 시스템 및 방법 |
KR20160104945A (ko) * | 2015-02-27 | 2016-09-06 | 충북대학교 산학협력단 | 데이터 연관성 기반 이상치 평가 장치 및 방법 |
KR20170079858A (ko) * | 2015-12-31 | 2017-07-10 | 다운정보통신(주) | 자동제어시스템 내 제어신호 분석을 이용한 제어신호 무결성 검증 방법 및 장치 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113630425A (zh) * | 2021-10-08 | 2021-11-09 | 国网浙江省电力有限公司金华供电公司 | 一种多电力主体的财务数据安全传输方法 |
CN113630425B (zh) * | 2021-10-08 | 2022-01-07 | 国网浙江省电力有限公司金华供电公司 | 一种多电力主体的财务数据安全传输方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020231193A1 (en) | Beam management method, apparatus, electronic device and computer readable storage medium | |
WO2021080103A1 (en) | Method for learning and testing user learning network to be used for recognizing obfuscated data created by concealing original data to protect personal information and learning device and testing device using the same | |
WO2014209075A1 (ko) | 인터넷 프로토콜을 이용한 서비스를 위한 다중 연결 시스템 및 방법 | |
WO2017213281A1 (ko) | 빅데이터의 비식별화 처리 방법 | |
WO2011122724A1 (ko) | 아밥 소스코드의 코드 검사를 수행하는 코드검사 수행시스템 | |
WO2015012667A1 (ko) | 랜덤성 테스트 장치 및 방법 | |
KR102027044B1 (ko) | 비정상 제어데이터 탐지 시스템 | |
WO2021045331A1 (ko) | 암호화폐 거래 분석 방법 및 장치 | |
WO2018034426A1 (ko) | 커널 rdr을 이용한 태깅 말뭉치 오류 자동수정방법 | |
WO2010123185A1 (en) | Semiconductor chip and method for generating digital value using process variation | |
WO2022108318A1 (ko) | 스마트 컨트랙트 코드 취약점 분석 장치 및 방법 | |
WO2023106572A1 (ko) | 가상 자산 부정 거래 탐지를 위한 탐지 모델의 학습 방법, 탐지 모델을 이용한 가상 자산 부정 거래의 탐지 방법 및 이들을 수행하는 장치 및 컴퓨터 프로그램 | |
WO2018194282A1 (ko) | 보안 강화를 위해 입력된 명령어 학습 기반 이상 사용자를 탐지하는 서버 접근 통제 시스템 | |
WO2014038742A1 (ko) | 배전계통의 구간부하 추정 장치 및 방법 | |
WO2014168335A1 (ko) | 콘텐츠 전송 네트워크에서의 거리 계산 방법 및 장치 | |
WO2020241959A1 (ko) | 비정상 제어데이터 탐지시스템 | |
WO2011019144A2 (ko) | 전자 패치 장치, 네트워크 시스템 및 네트워크 시스템에서의 동작 방법 | |
WO2014119912A1 (ko) | 서버 그룹핑 방법 및 장치와 기록매체 | |
WO2012081903A1 (ko) | 서비스 거부 공격 차단 방법 | |
WO2023085793A1 (ko) | 컨트롤러 기반의 네트워크 접속을 제어하기 위한 시스템 및 그에 관한 방법 | |
WO2022114689A1 (ko) | 이미지 기반 악성코드 탐지 방법 및 장치와 이를 이용하는 인공지능 기반 엔드포인트 위협탐지 및 대응 시스템 | |
WO2017183830A1 (ko) | 홍채템플릿 분산 저장 및 매칭을 이용한 홍채인식 보안 강화 방법 및 장치 | |
WO2015194885A1 (ko) | 클라이언트 경로 제어 시스템을 활용한 장애유발 클라이언트 검출 방법 및 시스템 | |
WO2023090864A1 (ko) | 악성 이벤트로그 자동분석 장치 및 방법 | |
CN109861961B (zh) | 网络防御装置以及网络防御系统 |
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: 19930573 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 19930573 Country of ref document: EP Kind code of ref document: A1 |