This patent application claims the benefit of Korean Patent Application No. 10-2020-0176184, filed on Dec. 16, 2020, which is hereby incorporated by reference in its entirety into this application.
The present disclosure relates to a method and an apparatus for monitoring an abnormal behavior of an IoT device. More specifically, the present disclosure relates to a method and an apparatus for clustering the behavior of each of a plurality of IoT devices based on traffic data representing the behavior of a plurality of IoT devices, and displaying a cluster formed as a result of the clustering.
The Internet of Things (IoT) refers to a device operating connected to Internet. These IoT-related technologies are trending toward expanding the scope of application of technologies as Internet technologies develop.
In order for IoT devices to stably function, technologies related to security of IoT devices are indispensable. In prior art related to the security of IoT devices, there is a signature-based detection technology that detects well-known threats to IoT devices, but the signature-based detection technology works smoothly on known threats, and there is a problem with having difficulty in responding to new security threats that change and evolve from time to time.
Further, technologies for detecting an abnormal behavior of traffic data by machine learning algorithms are also being tried. However, these technologies detect an abnormal behavior of individual IoT devices and cannot intuitively monitor an abnormal behavior of a plurality of IoT devices connected to the network.
Therefore, a technology for intuitively monitoring an abnormal behavior of a plurality of IoT devices connected to a network is required.
The technical problem to be solved by some embodiments of the present disclosure is to provide a method and an apparatus for intuitively monitoring an abnormal behavior of a plurality of IoT devices connected to a network.
Another technical problem to be solved by some embodiments of the present disclosure is to provide a method and an apparatus for a user to immediately check an abnormal behavior of an IoT device.
Another technical problem to be solved by some embodiments of the present disclosure is to provide a method and an apparatus capable of identifying an abnormal behavior of IoT devices classified into similar types by a cluster.
The technical problems of the present disclosure are not limited to the technical problems mentioned above, and other technical problems that are not mentioned will be clearly understood by those skilled in the art from the following description.
According to a method performed by a computing device for monitoring an abnormal behavior of a plurality of IoT devices comprising determining abnormality of a behavior of each of the plurality of IoT devices based on traffic data representing the behavior of each of the plurality of IoT devices, clustering the behavior of each of the plurality of IoT devices based on the traffic data and a result of the determining the abnormality and generating data for representing a plurality of clusters formed as a result of the clustering such that a first cluster corresponding to a normal behavior cluster and a second cluster corresponding to an abnormal behavior cluster are displayed on different planes, the first cluster and the second cluster being divided based on the result of the determining the abnormality.
According to an embodiment, wherein the clustering comprises, generating a vector corresponding to the behavior of each of the plurality of IoT devices based on the traffic data and the result of the determination of the abnormality, reducing a dimension of the vector to a predetermined dimension and clustering the behavior of each of the plurality of IoT devices based on a dimension-reduced vector.
According to an embodiment the method further comprises, extracting, from the traffic data, an origination country of traffic or a destination county of the traffic.
According to an embodiment the method further comprises, extracting, from the traffic data, a port information related to traffic, the port information including an originating port or a destination port.
According to an embodiment, wherein extracting the port information comprises, based on a type of the port being a well-known port type, designating a port number as the port information, and based on the type of the port being a registered port type or a dynamic port type, designating a predetermined character string as the port information.
According to an embodiment the method further comprises, one-hot encoding an information of a protocol associated with the traffic data.
According to an embodiment, wherein reducing the dimension of the vector to the predetermined dimension comprises, reducing the dimension of the vector to two dimensions using PCA (Principal Components Analysis).
According to an embodiment, wherein clustering the behavior of each of the plurality of IoT devices based on the dimension-reduced vector comprises, clustering the behavior of each of the plurality of IoT devices using DBSCAN (Density-Based Spatial Clustering of Applications with Noise).
According to an embodiment, wherein determining the abnormality of the behavior of each of the plurality of IoT devices based on the traffic data representing the behavior of each of the plurality of IoT devices comprises, generating a score representing the abnormality of the behavior of each of the plurality of IoT devices, wherein generating the data for representing the plurality of clusters comprises, generating the data for displaying the dimension-reduced vector corresponding to the behavior of each of the plurality of IoT devices and the score in a three-dimensional space.
According to an embodiment, wherein generating the data for representing the plurality of clusters comprises, generating the data such that the first cluster is displayed in a space where a z-axis value is positive in the three-dimensional space, and the second cluster is displayed in the space where the z-axis value is negative in the three-dimensional space.
According to an embodiment, wherein generating the data for representing the plurality of clusters comprises, generating an individual indicator representing each of the behavior of each of the plurality of IoT devices included in a target cluster.
According to an embodiment, wherein generating the individual indicator comprises, generating data for highlighting the individual indicator representing the each of the behavior, the highlighting being based on a duration of the each of the behavior.
According to an embodiment, wherein generating the individual indicator comprises, generating a display data for highlighting the individual indicator representing a behavior of IoT devices that has newly identified as falling into the target cluster.
According to an embodiment, wherein generating the data for representing the plurality of clusters comprises, generating the data for highlighting a target cluster based on the number of behaviors of IoT devices that has newly identified as falling into the target cluster per unit time.
According to an embodiment, wherein generating the data for representing the plurality of clusters comprises, in response to recognizing a behavior of a IoT device that has newly identified as falling into the second cluster, generating the data for highlighting the second cluster.
According to an embodiment the method further comprises, regenerating the data for representing the plurality of clusters at each predetermined time interval.
According to an embodiment, wherein regenerating the data for representing the plurality of clusters comprises, gradually representing a process of changing the display data for the plurality of clusters.
According to another aspect of the present disclosure, there is provided an apparatus for monitoring an abnormal behavior of a plurality of IoT devices comprising a processor, a network interface, a memory and a computer program loaded into the memory and executed by the processor, wherein the computer program comprises, an instruction for determining abnormality of a behavior of each of the plurality of IoT devices based on traffic data representing the behavior of each of the plurality of IoT devices, an instruction for clustering the behavior of each of the plurality of IoT devices based on the traffic data and a result of the determining the abnormality and an instruction for generating data for representing a plurality of clusters formed as a result of the clustering such that a first cluster corresponding to a normal behavior cluster and a second cluster corresponding to an abnormal behavior cluster are displayed on different planes, the first cluster and the second cluster being divided based on the result of the determining the abnormality.
According to another aspect of the present disclosure, there is provided a computer-readable recording medium recording a computer program including computer program instructions executable by a processor for monitoring an abnormal behavior of a plurality of IoT devices, wherein the computer program instructions are executed by a processor of a computing device for performing operations comprising, determining abnormality of a behavior of each of the plurality of IoT devices based on traffic data representing the behavior of each of the plurality of IoT devices, clustering the behavior of each of the plurality of IoT devices based on the traffic data and a result of the determining the abnormality and generating data for representing a plurality of clusters formed as a result of the clustering such that a first cluster corresponding to a normal behavior cluster and a second cluster corresponding to an abnormal behavior cluster are displayed on different planes, the first cluster and the second cluster being divided based on the result of the determining the abnormality.
Hereinafter, embodiments of the present disclosure will be described with reference to the attached drawings. Advantages and features of the present disclosure and methods of accomplishing the same may be understood more readily by reference to the following detailed description of embodiments and the accompanying drawings. The present disclosure may, however, be embodied in many different forms and should not be construed as being limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete and will fully convey the concept of the disclosure to those skilled in the art, and the present disclosure will be defined by the appended claims.
In adding reference numerals to the components of each drawing, it should be noted that the same reference numerals are assigned to the same components as much as possible even though they are shown in different drawings. In addition, in describing the present disclosure, based on it being determined that the detailed description of the related well-known configuration or function may obscure the gist of the present disclosure, the detailed description thereof will be omitted.
Unless otherwise defined, all terms used in the present specification (including technical and scientific terms) may be used in a sense that can be commonly understood by those skilled in the art. In addition, the terms defined in the commonly used dictionaries are not ideally or excessively interpreted unless they are specifically defined clearly. The terminology used herein is for the purpose of describing embodiments and is not intended to be limiting of the present disclosure. In this specification, the singular also includes the plural unless specifically stated otherwise in the phrase.
In addition, in describing the component of this present disclosure, terms, such as first, second, A, B, (a), (b), can be used. These terms are for distinguishing the components from other components, and the nature or order of the components is not limited by the terms. Based on a component being described as being “connected,” “coupled” or “contacted” to another component, that component may be directly connected to or contacted with that other component, but it should be understood that another component also may be “connected,” “coupled” or “contacted” between each component.
Hereinafter, some embodiments of the present disclosure will be described in detail with reference to the accompanying drawings.
The IoT device 100 may include, for example, a refrigerator 100a, an air conditioner 100b, a robot cleaner 100c, and a drone 100d. However, in this embodiment, it should be noted that the IoT device 100 that can be connected to the network is not limited to the devices shown in
Next, the IoT device abnormal behavior determination apparatus 200 may collect traffic data transmitted/received accompanying various behaviors performed on the network by the plurality of IoT devices 100 connected to the network, and based on this, determine whether the behavior is abnormal for the behavior of each of the plurality of IoT devices 100.
Further, the IoT device abnormal behavior determination apparatus 200 may transmit the determination result to the IoT device abnormal behavior monitoring apparatus 300. However, it should be noted that unlike the one shown in
Next, the IoT device abnormal behavior monitoring apparatus 300 may receive traffic data transmitted/received accompanying various behaviors performed on the network by the plurality of IoT devices 100 connected to the network. Further, a result of determining whether the behavior is abnormal may be received from the IoT device abnormal behavior determination apparatus 200.
Further, the IoT device abnormal behavior monitoring apparatus 300 may cluster the behavior of each of the plurality of IoT devices 100 based on data received from the plurality of IoT devices 100 and the IoT device abnormal behavior determination apparatus 200.
Further, the IoT device abnormal behavior monitoring apparatus 300 may generate display data for a plurality of clusters formed as a result of clustering so that a normal behavior cluster and an abnormal behavior cluster divided based on the result of determining whether the behavior is abnormal received from the IoT device abnormal behavior determination apparatus 200 are displayed on different planes.
Further, the IoT device abnormal behavior monitoring apparatus 300 may transmit the generated display data to the user terminal 400.
Next, the user terminal 400 may receive display data from the IoT device abnormal behavior monitoring apparatus 300. Further, the user terminal 400 may display the received display data on the display screen.
The user terminal 400 may have a web browser or a dedicated application installed to display the display data. The user terminal 400 that may be referred to in some embodiments of the present disclosure may be any device as long as it is a device capable of outputting display data transmitted from the IoT device abnormal behavior monitoring apparatus 300. For example, the user terminal 400 that can be referred to in some embodiments of the present disclosure may be any one of a desktop 400a, a workstation, a server, a laptop, a tablet 400c, a smart phone 400b or a phablet, but is not limited thereto, and may be a device in the form of a portable multimedia player (PMP), a personal digital assistant (PDA), or an E-book reader or the like.
The user terminal 400 shown in
Although omitted in
In the above, the system for monitoring an abnormal behavior of an IoT device according to an embodiment of the present disclosure has been described with reference to
Hereinafter, a method for monitoring an abnormal behavior of an IoT device according to another embodiment of the present disclosure will be described in detail with reference to
Referring to
Referring to
In some embodiments related to step S100, a score representing whether the behavior is abnormal for the behavior of each of a plurality of IoT devices may be generated. This score may be a score determined by a signature-based detection technique. Further, this score may be a score output by inputting traffic data to an artificial neural model, to which artificial intelligence technology is applied. That is, all known techniques capable of determining whether the behavior is abnormal for each behavior of individual IoT devices connected to the network can be applied to the present embodiment. Hereinafter, a result of determining whether the behavior of IoT device is abnormal based on a score will be described in more detail with reference to
Referring to
The score 13 shown in
Next, in step S200, the behavior of each of the plurality of IoT devices may be clustered based on the traffic data and the result of determining whether the behavior is abnormal. For a more detailed description related to this, it will be described with reference to
Referring to
In some embodiments related to step S210, some information may be extracted from traffic data in order to generate a vector corresponding to the behavior of each of a plurality of IoT devices.
For example, country information related to the source or destination of traffic may be extracted from the traffic data. In this case, the country information may mean a country code determined for data processing and communication purposes. For another example, port information related to a source or destination of traffic may be extracted from the traffic data. In this case, based on the type of the port being well-known ports (e.g., 0-1023) designated by IANA (International Assigned Numbers Authority), the port number of the port may be determined as the port information. Based on the type of the port being a registered port (1024-49151) or a dynamic port (49152-65535), a predetermined character string (e.g., “etc”) may be determined as the port information. As another example, protocol information may be extracted from traffic data. Such protocol information may be determined such that a character string predetermined by one-hot encoding corresponds to the protocol.
Next, in step S220, the dimension of the generated vector may be reduced to a predetermined dimension. According to the example described above with reference to
In some embodiments related to step S220, the dimension of the vector may be reduced by using PCA (Principal Components Analysis) in order to reduce the dimension of the generated vector to a predetermined dimension. PCA may be one of the dimensional reduction methods for reducing high-dimensional data to low-dimensional data, and details related thereto are obvious to those skilled in the art, and detailed descriptions thereof will be omitted. It should be noted that in addition to the illustrated PCA, all techniques capable of reducing a high-dimensional vector to a low-dimensional vector can be applied to the present disclosure.
Next, in step S230, the behavior of each of the plurality of IoT devices may be clustered based on the reduced vector. In some embodiments related to step S230, in order to cluster the behavior of each of a plurality of IoT devices, DBSCAN (Density-Based Spatial Clustering of Applications with Noise) may be used. DBSCAN may be a density-based clustering method, which is a method of clustering based on a reference radius (Epsilon) and the minimum number of vectors in a cluster. Since detailed information related thereto is obvious to those skilled in the art, a more detailed description will be omitted. Further, it should be noted that in addition to the exemplified DBSCAN, all techniques capable of clustering a plurality of reduced vectors can be applied to the present disclosure. It will be described again with reference to
Next, in step S300, display data for a plurality of clusters formed as a result of clustering may be generated so that the normal behavior cluster and the abnormal behavior cluster divided based on a result of determining whether the behavior is abnormal are displayed on different planes.
In some embodiments related to step S300, a dimension-reduced vector corresponding to the behavior of each of a plurality of IoT devices may be expressed in a 2D space, and a cluster formed as a result of clustering may also be expressed in the 2D space. For example, a 6D vector according to the example described with reference to
Referring to
For example, a result of clustering a dimension-reduced vector corresponding to a normal behavior among the behaviors of each of a plurality of IoT devices may be expressed on the (+) plane 30, and a result of clustering a dimension-reduced vector corresponding to an abnormal behavior among the behaviors of each a plurality of IoT devices may be expressed on the (−) plane 40. In this case, the first cluster 31 may be a normal behavior cluster and the second cluster 41 may be an abnormal behavior cluster.
In some other embodiments related to step S300, a dimension-reduced vector corresponding to the behavior of each of the plurality of IoT devices may be expressed in a 3D space, and a cluster formed as a result of clustering may also be expressed in the 3D space. For example, a 6D vector according to the example described with reference to
Referring to
According to step S300 described above, the abnormal behavior cluster and the normal behavior cluster may be visually divided and displayed so that the user can intuitively monitor the behavior of a plurality of IoT devices connected to the network.
Hereinafter, embodiments related to an indicator and a cluster that help a user to more intuitively monitor the behavior of a plurality of IoT devices will be described.
In some other embodiments related to step S300, an indicator representing each behavior of the IoT device included in the cluster may be displayed together. Referring to
In still another embodiment related to step S300, an indicator representing the behavior of the IoT device may be highlighted based on the holding time of each behavior of the IoT device included in the cluster. For example, the indicator may be highlighted based on the holding time of the behavior of the IoT device included in the abnormal behavior cluster. For another example, the indicator may be highlighted based on the holding time of the behavior of the IoT device included in the normal behavior cluster. In this case, all known techniques for highlighting the displayed object, such as an increase in the size of the indicator, an increase in the saturation of the indicator color, and an increase in the thickness of an outline of the indicator, may be applied to the highlighting of the indicator. In another embodiment, an indicator representing the behavior of an IoT device initially included in the cluster may be highlighted. For example, an indicator initially included in the abnormal behavior cluster may be highlighted. For another example, an indicator initially included in the normal behavior cluster may be highlighted. In this case, a description related to the highlighting of the indicator may be understood by referring to the contents described above.
In some other embodiments related to step S300, the cluster may be highlighted based on the number of behaviors of the IoT device initially included in the cluster per unit time. That is, the cluster can be highlighted based on the amount of change in the behavior included in the cluster. For example, based on the amount of change of the indicator included in the abnormal behavior cluster being greater than or equal to the reference value, the cluster may be highlighted. For another example, based on the amount of change of the indicator included in the normal behavior cluster being greater than or equal to the reference value, the cluster may be highlighted. In this case, a description related to highlighting of the cluster may be understood by referring to the description related to highlighting of the indicator described above. In another embodiment, based on there being behavior of the IoT device initially included in the abnormal behavior cluster, the abnormal behavior cluster may be highlighted. In this case, a description related to highlighting of the cluster may be understood by referring to the above description.
According to the exemplary embodiments related to the indicator and the cluster described above, by highlighting the indicator based on the holding time included in the cluster, the behavior of an IoT device may be focused and monitored. Further, based on there being an indicator initially included in the cluster, by highlighting the indicator or the cluster, the behavior of the IoT device that is initially generated may be focused and monitored. Furthermore, by highlighting the cluster based on the amount of change in the indicator included in the cluster, the increase or decrease of behaviors of IoT devices having similar properties included in the cluster may be intuitively monitored. For example, vulnerability exploitation attacks on IoT device groups or product groups included in abnormal behavior clusters may be intuitively monitored.
According to step S300 described above, by monitoring the behaviors of a plurality of IoT devices, an appropriate response corresponding to the abnormal behavior may be performed. For example, it is possible to isolate networks for device groups or product groups or power down. Further, it is also possible to request patch updates for device groups or product groups.
Next, in step S400, display data for a plurality of clusters may be regenerated at each predetermined time interval. For example, traffic data representing the behavior of a plurality of IoT devices connected to the network is collected at each predetermined time interval, and based on this, the operations of steps S100 to S300 described above may be performed, thereby regenerating display data for a plurality of clusters.
In some embodiments related to step S400, operations of steps S100 to S300 may be performed based on traffic data collected at each predetermined time interval.
In some other embodiments, operations of steps S100 to S300 may be performed in consideration of not only traffic data collected at the corresponding time interval but also traffic data collected in the past time interval. Here, based on the traffic data collected in the past time interval being greater than or equal to the reference time interval from the corresponding time interval, it may be excluded from the operations of steps S100 to S300. According to the present embodiment, a process of changing display data for a plurality of clusters may be gradually expressed.
Hereinafter, changes in a display screen for a plurality of clusters according to changes in traffic data will be described in detail with reference to
Referring to
Referring to
Referring to
So far, a method for monitoring abnormal behavior of an IoT device according to another embodiment of the present disclosure and its application field have been described with reference to
Hereinafter, an apparatus for monitoring abnormal behavior of an IoT device according to another embodiment of the present disclosure will be described with reference to
Referring to
The abnormal behavior determination unit 310 may determine whether the behavior is abnormal for the behavior of each of the plurality of IoT devices based on the traffic data representing behaviors of the plurality of IoT devices. More operations performed by the abnormal behavior determination unit 310 may be embodied with reference to the description of step S100 described with reference to
The clustering unit 320 may cluster the behavior of each of the plurality of IoT devices based on the traffic data and the result of determining whether the behavior is abnormal. More operations performed by the clustering unit 320 may be embodied with reference to the description of step S200 described with reference to
The display data generation unit 330 may generate display data for a plurality of clusters formed as a result of clustering so that the normal behavior cluster and the abnormal behavior cluster divided based on the result of determining whether the behavior is abnormal are displayed on different planes. More operations performed by the display data generation unit 330 may be embodied with reference to the description of step S300 described with reference to
The display data regeneration unit 340 may regenerate display data for a plurality of clusters at each predetermined time interval. More operations performed by the display data regeneration unit 340 may be embodied with reference to the description of step S400 described with reference to
Hereinafter, an exemplary computing device 1500 that can implement an apparatus and a system, according to various embodiments of the present disclosure will be described with reference to
As shown in
The processor 1510 may control overall operations of each component of the computing device 1500. The processor 1510 may be configured to include at least one of a Central Processing Unit (CPU), a Micro Processor Unit (MPU), a Micro Controller Unit (MCU), a Graphics Processing Unit (GPU), or any type of processor well known in the art. Further, the processor 1510 may perform calculations on at least one application or program for executing a method/operation according to various embodiments of the present disclosure. The computing device 1500 may have one or more processors.
The memory 1530 may store various data, instructions and/or information. The memory 1530 may load one or more programs 1591 from the storage 1590 to execute methods/operations according to various embodiments of the present disclosure. For example, based on the computer program 1591 being loaded into the memory 1530, the logic as shown in
The bus 1550 may provide communication between components of the computing device 1500. The bus 1550 may be implemented as various types of bus such as an address bus, a data bus and a control bus.
The communication interface 1570 may support wired and wireless internet communication of the computing device 1500. The communication interface 1570 may support various communication methods other than internet communication. To this end, the communication interface 1570 may be configured to comprise a communication module based on hardware and/or software well known in the art of the present disclosure.
The storage 1590 can non-temporarily store one or more computer programs 1591. The storage 1590 may be configured to comprise a non-volatile memory, such as a Read Only Memory (ROM), an Erasable Programmable ROM (EPROM), an Electrically Erasable Programmable ROM (EEPROM), a flash memory, a hard disk, a removable disk, or any type of computer readable recording medium well known in the art.
The computer program 1591 may include one or more instructions, on which the methods/operations according to various embodiments of the present disclosure are implemented. Based on the computer program 1591 being loaded on the memory 1530, the processor 1510 may perform the methods/operations in accordance with various embodiments of the present disclosure by executing the one or more instructions.
The technical features of the present disclosure described so far may be embodied as computer readable codes on a computer readable medium. The computer readable medium may be, for example, a removable recording medium (CD, DVD, Blu-ray disc, USB storage device, removable hard disk) or a fixed recording medium (ROM, RAM, computer equipped hard disk). The computer program recorded on the computer readable medium may be transmitted to other computing device via a network such as internet and installed in the other computing device, thereby being used in the other computing device.
Although the operations are shown in an order in the drawings, those skilled in the art will appreciate that many variations and modifications can be made to the embodiments without substantially departing from the principles of the present disclosure. The disclosed embodiments of the present disclosure may be used in a generic and descriptive sense and not for purposes of limitation. The scope of protection of the present disclosure should be interpreted by the following claims, and all technical ideas within the scope equivalent thereto should be construed as being included in the scope of the technical idea defined by the present disclosure.
Number | Date | Country | Kind |
---|---|---|---|
10-2020-0176184 | Dec 2020 | KR | national |