WO2022145838A1 - System and method for learning and detecting abnormal behavior by using regression security check - Google Patents

System and method for learning and detecting abnormal behavior by using regression security check Download PDF

Info

Publication number
WO2022145838A1
WO2022145838A1 PCT/KR2021/019355 KR2021019355W WO2022145838A1 WO 2022145838 A1 WO2022145838 A1 WO 2022145838A1 KR 2021019355 W KR2021019355 W KR 2021019355W WO 2022145838 A1 WO2022145838 A1 WO 2022145838A1
Authority
WO
WIPO (PCT)
Prior art keywords
packets
packet
zero
network
security
Prior art date
Application number
PCT/KR2021/019355
Other languages
French (fr)
Korean (ko)
Inventor
이시영
Original Assignee
엑사비스 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from KR1020210057139A external-priority patent/KR102584775B1/en
Application filed by 엑사비스 주식회사 filed Critical 엑사비스 주식회사
Publication of WO2022145838A1 publication Critical patent/WO2022145838A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Definitions

  • the present invention relates to a system and method for learning and detecting abnormal behavior using regression security inspection, and more particularly, deep learning (deep learning) of abnormal behavior due to zero-day penetration through regression security inspection with security threats with updated detection rules. It relates to the generation of learning data for learning by deep learning) and a technical idea that can be used to build and utilize a deep learning model that can judge abnormal behavior by using it.
  • DDoS Distributed Denial of Service
  • TCP transport layer protocol
  • UDP user datagram protocol
  • IP Internet protocol
  • DDoS Distributed Denial of Service
  • the packet-based approach ignores information related to the communication relationship of higher-level applications and simply depends on the information contained in each separate packet, which is a temporary unit of information delivery. Due to limitations, it is provided in the form of a single system for independent goals, such as a router for packet routing, a dedicated system to prevent DDoS attacks, or a DPI (Deep Packet Inspection) system for traffic control.
  • DPI Deep Packet Inspection
  • the DPI system finds and detects the well-known port number used by a specific application or client (eg, a P2P client) and the signature of the payload, and controls the detected packet. are doing By detecting such a signature, which client, that is, an application, is currently generating and/or transmitting packets in the network, and appropriate network control is performed according to a predetermined policy. And by setting the security rule including the information about the signature in the security equipment, security equipment such as DPI defends the threat.
  • a specific application or client eg, a P2P client
  • security equipment e.g., DPI defends the threat.
  • zero-day penetration is narrowly a technical threat that attacks a vulnerability in computer software. It refers to an attack (security blind spot in time) that is made in the .
  • an attack vector eg, malicious code such as a virus or worm
  • an attack vector that uses the vulnerability must be discovered before a patch for the vulnerability is available. There is a risk of being helplessly exposed to attacks using the vulnerability until the patch is normally made.
  • the present invention is an invention devised to solve these problems, and the technical problem to be achieved is a network security system that inspects packets in real time and selectively passes only packets with no problems as a result of the inspection, wherein a specific threat is detected during the zero-day period. Therefore, it is to provide a technical idea that can determine that a specific threat has penetrated through the detection of learned anomalies even when a rule set to detect it is not provided.
  • a security check (regressive security check) can be performed on the past traffic, and through this, the intrusion actions taken as a zero-day attack can be analyzed using standardized data (e.g., Directive graph), there is an effect that the generation and labeling (also called labeling or annotatoin) of learning data defining the characteristics of the intrusion behavior can be automatically performed.
  • standardized data e.g., Directive graph
  • the characteristics of a zero-day attack can be effectively used for learning a deep learning model, and this has the effect of building a behavior pattern detection module that detects a zero-day attack pattern with high accuracy. have.
  • a method for learning and detecting anomalies using a regression security check for solving the above technical problem is a packet storage process in which a system selectively stores at least some of a plurality of packets passing through a network.
  • performing a zero-day penetration determination step in which the system examines stored packets stored through the packet storage process to determine whether there has been a zero-day penetration corresponding to a new security rule to be applied to the network, and the system performs the It comprises the step of generating infiltration behaviors generated by the zero-day penetration as standardized data, and based on the generated standardized data, a behavior pattern determination model capable of determining a behavior pattern corresponding to the zero-day penetration is learned.
  • the step of the system performing a packet storage process for selectively storing at least some of a plurality of packets passing through a network may include: an initial stage of the session among session establishment packets forming a session from the plurality of packets, by the system performing the packet storage process of storing only N (N is a natural number) preceding packets.
  • the system sets at least one host used for the infiltration behaviors caused by the zero-day penetration as a node, and in each node, another node.
  • the method may include generating the standardized data as a directional graph in which a communication action that occurs as an edge is set.
  • the nodes included in the directed graph may include information on IP and a time point at which at least one host corresponding to each node performs a specific action.
  • the edges included in the directed graph may include information on a protocol or performance action corresponding to a communication action corresponding to each edge.
  • the behavior pattern determination model may be constructed by learning the learning data including the formalized data using RNN or LSTM.
  • the abnormal behavior learning and detection method using the regression security check includes the steps of: generating real-time standardized data for packets that are going to pass through the network after generating the behavior pattern determination model; It may further include the step of determining whether an abnormal behavior using the judgment model.
  • the above method may be implemented by software installed in the data processing device.
  • an abnormal behavior learning and detection system using a regression security check includes a packet storage module that performs a packet storage process for selectively storing at least some of a plurality of packets passing through a network, and when a new security rule to be applied to the network is updated, the stored packets stored through the packet storage process
  • An intrusion prevention module that inspects the security rules to determine whether or not there has been a zero-day penetration corresponding to the new security rule, a data generation module that generates intrusion actions caused by the zero-day penetration into standardized data, and the generated standardized data by learning and a control module for generating a behavior pattern determination model for determining a behavior pattern corresponding to the zero-day penetration.
  • the system includes a storage device in which a program is stored, and a processor for running the program, wherein the program driven by the processor selectively selects at least some of a plurality of packets passing through a network.
  • a new security rule to be applied to the network is updated, it is determined whether there has been a zero-day penetration corresponding to the new security rule by examining the stored packets stored through the packet storage process. And, the infiltration behaviors generated by the zero-day penetration are generated as standardized data, and the generated standardized data is learned to generate a behavior pattern determination model for determining a behavior pattern corresponding to the zero-day penetration.
  • the program driven by the processor is a directed graph in which at least one host used for the intrusion actions caused by the zero-day penetration is set as a node, and the communication action that occurs from each node to another node is set as an edge.
  • the standardized data may be generated.
  • the program driven by the processor generates real-time formal data for packets that are going to pass through the network after generating the behavior pattern determination model, and uses the behavior pattern determination model for the generated real-time formal data. It is possible to determine whether there is an abnormality.
  • the technical idea of the present invention in a network security system that inspects packets in real time and selectively passes only packets without a problem as a result of inspection, by learning the zero-day penetration and subsequent behavior patterns detected through regression security inspection, zero In the day period, it is possible to quickly find the penetration of a threat for which a detection rule set is not provided, and through this, there is an effect of minimizing the damage caused by the penetration of a security threat for which a detection rule set is not provided.
  • FIG. 1 is a diagram showing a schematic configuration of a system according to an embodiment of the present invention.
  • FIG. 2 is a diagram schematically illustrating a network security method according to an embodiment of the present invention.
  • FIG. 3 is a diagram for explaining a session, a flow, and a packet for a system providing method according to an embodiment of the present invention.
  • FIG. 4 is a diagram for explaining the concept of performing a packet search according to a system providing method according to an embodiment of the present invention.
  • FIG. 5 is a view for explaining the effect of the system providing method according to an embodiment of the present invention.
  • FIG. 6 is a diagram for explaining a plurality of packet storage modes through a system providing method according to an embodiment of the present invention.
  • FIG. 7 is a diagram for explaining a concept capable of effectively examining past network attacks according to an embodiment of the present invention.
  • FIG. 8 is a diagram illustrating a schematic physical configuration of a system according to an embodiment of the present invention.
  • FIG. 9 is a diagram illustrating the concept of a standardized data model for defining an attack behavior according to an embodiment of the present invention.
  • FIG. 10 is a diagram illustrating an embodiment of standardized data of a zero-day attack behavior according to an embodiment of the present invention.
  • the component when any one component 'transmits' data to another component, the component may directly transmit the data to the other component or through at least one other component. This means that the data may be transmitted to the other component. Conversely, when one component 'directly transmits' data to another component, it means that the data is transmitted from the component to the other component without passing through the other component.
  • FIG. 1 is a diagram showing a schematic configuration of a system according to an embodiment of the present invention.
  • a system 100 includes an intrusion prevention module 110 , a packet storage module 120 , and a control module 130 .
  • the system 100 may further include a DB 140 and/or a packet search module 150 .
  • the system 100 may further include a packet extraction module 160 and a data generation module 170 .
  • the system 100 may include a packet storage module 120 and a control module 130 .
  • the system 100 may be applied in order to apply the technical idea of the present invention to an IPS system (eg, intrusion prevention module 110 ) that has been previously built.
  • IPS system eg, intrusion prevention module 110
  • the packet extraction module 160 may be further provided.
  • the packet extraction module 160 may receive a plurality of packets from a network.
  • the packet extraction module 160 may be installed at a predetermined location on the network, collect packets moving through the network, and distribute the packets to the intrusion prevention module 110 and the packet storage module 120 .
  • the distributed packets may be the same.
  • the packet extraction module 160 may be implemented by including a device for tapping packets from a network.
  • the packet extraction module 160 may, for example, be located at the front end and/or rear end of a gateway existing on a predetermined local area network (LAN) to inspect the network according to the technical idea of the present invention. Then, the system 100 can control the network/traffic according to the inspection result. Controlling network/traffic may refer to artificial actions such as adjusting bandwidth and transmission speed or blocking transmission for each predetermined session, flow, and/or packet.
  • the packet extraction module 160 may be implemented as, for example, a predetermined NIC (Network Interface Card), but is not limited thereto.
  • the packet extraction module 160 may transmit the received packet to both the intrusion prevention module 110 and the packet storage module 120 .
  • the data generation module 170 may generate behaviors including a series of attack behavior patterns generated by a network attack, for example, a zero-day attack, as mirror-determined standardized data.
  • the standardized data may be a directed graph, but is not limited thereto, and expresses a series of actions (eg, information transmission, storage, distribution, deletion, etc.) that occur in time series, and a characteristic characteristic from this expression
  • Various formalized data suitable for use as input data of a deep learning model capable of extracting behaviors may be defined.
  • the intrusion prevention module 110 may perform a packet inspection in real time according to an applied security rule set, and selectively pass a packet according to the inspection result. That is, only packets having no problem as a result of the packet inspection can be selectively passed.
  • the applied security ruleset may be a part of a full set of security rulesets that are known at the time of inspection, that is, stored in the system 100 and applicable, that is, a full rule-set.
  • the security ruleset may mean including a plurality of security rules.
  • each security rule may include a rule that is a standard for packet inspection. For example, a specific pattern of bitstream exists in a packet, a certain value or text exists in a certain location in the packet, a packet is received on a certain port, and/or a packet's source or destination is a certain value, etc. At least one of the rules may be combined to form a security rule. It goes without saying that the type or characteristic of the new security threat and the corresponding security rule may be updated in the system 100 whenever a new security threat occurs.
  • the full rule set is generally known to include more than 20,000 security rules, and the number inevitably increases whenever a new security threat occurs. And in fact, it is almost impossible to inspect all the full rule sets in real time, no matter how high-performance the intrusion prevention module 110 or IPS is. In reality, although there is a difference in degree, the applied security ruleset is generally set to one tenth of the full ruleset. That is, in the conventional network security systems, only a part of the known full rule set is applied as the applied security rule set to perform real-time inspection, and the remaining security rule sets are not inspected.
  • the remaining security rule sets of the applied security rule set are expressed as operational security blanks.
  • the operational security gap is a security threat that is unavoidable, but efforts were needed to minimize the operational security gap.
  • a security expert learns the trend of security threats at a time point, and changes the applied security rule set at regular intervals.
  • having to hire a security expert is not only a big loss of cost, but even an excellent security expert knows exactly what security threats actually exist in the target network and optimizes the applied security ruleset accordingly. It was practically impossible.
  • This problem can be solved by a technical idea that can significantly reduce the number of packets to be stored, and have the same inspection result as that of actually storing and inspecting all packets.
  • the present invention can significantly reduce the amount of stored packets and obtain high-quality inspection results, and through this, a full rule set or a security rule set corresponding to an operational security gap for the stored packet (eg, a full rule set) It is possible to obtain a quick inspection result by performing inspection with the security ruleset except for the middle applied security ruleset), and through this, it is possible to adaptively change the applied security ruleset, thereby effectively enhancing the security of the network.
  • This technical idea can be achieved by a technical idea that can select only the initial N (N is a natural number) packets of a specific session very quickly and a technical idea of selectively storing the initial N packets of the selected session.
  • the packet storage module 120 may selectively extract at least some of the plurality of packets received from the packet extraction module 160 .
  • the control module 130 may perform a packet inspection on the storage packet stored by the packet storage module 120 .
  • the packet inspection of the stored packet may be a process of performing packet inspection by setting at least one inspection rule other than the applied security rule set.
  • packet inspection may be performed on the full rule set at the time of packet inspection according to an implementation example.
  • the applied security ruleset may be applied when checking the stored packet.
  • the packet inspection may be performed only on the remaining security rules excluding the applied security rule set among the full rule sets.
  • the packet inspection for these stored packets may be after a predetermined time from the time of the packet inspection performed by the intrusion prevention module 110 . Therefore, the full rule set at the time of packet inspection performed by the intrusion prevention module 110 and the full rule set at the time of packet inspection performed by the control module 130 on the stored packet may be different. Therefore, according to an embodiment, when a new security rule is added to the full rule set at the time of packet inspection performed on a stored packet compared to the full rule set at the time of packet inspection performed by the intrusion prevention module 110, the new security rule is The control module 130 may change the applied security rule set so that the stored packet can be set as an inspection rule.
  • control module 130 performs packet inspection by setting at least one security rule not included in the applied security rule set for the stored packet as an inspection rule, and according to the result of the packet inspection, the currently applied applied security rule set can be changed
  • the control module 130 performs a check using a full rule set on a storage packet.
  • control module 130 changes the applied security ruleset, it may mean that at least one of a security rule included in the applied security ruleset before the change and the security rule included in the applied security ruleset after the change is different. Therefore, it goes without saying that the security rules included in the applied security ruleset before the change may still be included in the applied security ruleset after the change.
  • control module 130 when the control module 130 changes the applied security rule set, it may be a process of replacing the security rules included in the applied security rule set while maintaining the number of security rules included in the applied security rule set.
  • control module 130 may also change the number of security rules to be included in the applied security rule set. For example, the control module 130 may perform a packet inspection on the storage packet at regular intervals, and as a result, if it is determined that the security threat is increasing compared to the existing one, the number of security rules may be increased. Of course, on the contrary, the number of security rules to be included in the applied security rule set may be reduced according to the packet inspection result of the stored packet.
  • the control module 130 may enable the intrusion prevention module 110 to perform packet inspection as an inspection rule for the changed applied security rule set. For example, when the intrusion prevention module 110 stores the applied security rule set by itself, information on the changed applied security rule set may be transmitted to the intrusion prevention module 110 . Alternatively, the control module 130 stores information on the changed applied security rule set in a predetermined storage location, and the intrusion prevention module 110 sets the applied security rule set stored in the storage location as an inspection rule to perform packet inspection. you can also make it In other various methods, the control module 130 may change the applied security rule set.
  • the DB 140 may mean an information storage means in which information necessary to implement the technical idea of the present invention is stored. Needless to say, the DB 140 may store information on the storage packet stored by the packet storage module 120 as described above, flow information, session information, etc. to be described later. In addition, information on the applied security ruleset may be stored. It is sufficient if the DB 140 is implemented as a storage means in which other information necessary to implement the technical idea of the present invention is stored. In addition, the DB 140 does not need to be implemented with only one physical storage device, but may be implemented with a plurality of physical storage devices. Also, according to an embodiment, the DB 140 may be implemented as a physical device separate from the system 100 , and the system 100 may access the DB 140 through a network.
  • the packet search module 150 may perform a function of searching for packets stored in the DB 140 . In this case, as will be described later, it is possible to enable a high-speed down-drill search. And there is an effect of reducing the security gap in time through such a high-speed packet search.
  • FIG. 2 is a diagram schematically illustrating a network security method according to an embodiment of the present invention.
  • effective selective storage of input traffic can be made by the system 100 ( S100 ).
  • a technical idea of detecting a session and extracting only the initial N preceding packets of the session may be used.
  • a technical idea of using flow information to quickly extract the initial N preceding packets of a session may be provided.
  • the selective storage of such input traffic may be performed by the packet storage module 120 .
  • an intrusion prevention process may be performed in real time by the system 100 (S100-1). As described above, such intrusion prevention can be achieved by selectively passing packets through real-time packet inspection according to the applied security ruleset.
  • the system 100 may select some security rule sets selected by a predetermined method among the full rule sets as the applied security rule sets in the intrusion prevention process, and apply them as inspection rules of the intrusion prevention process.
  • This initial applied security rule set may be made arbitrarily or by a predetermined security officer.
  • the system 100 may perform a packet inspection on the stored packet (S110).
  • the full rule set may be applied to the packet inspection for the stored packet as described above, but is not limited thereto.
  • At least one security rule not included in the applied security rule set currently applied to the intrusion prevention process may be used as an inspection rule in packet inspection for the stored packet.
  • the packet inspection for the storage packet may be performed in a predetermined cycle unit (eg, day/week, etc.). The faster this cycle is, the more immediately it can be possible to respond to operational security gaps. In addition, in order to shorten the period, efficient packet storage may be required so that the quality of packet inspection can be improved while the amount of stored packets is small.
  • a predetermined cycle unit eg, day/week, etc.
  • the system 100 may change the applied security rule set according to the test result (S120).
  • the change of the applied security ruleset is, for example, when a packet that is not detected by the currently set applied security ruleset is detected in the packet inspection process (S110) for the stored packet, the change date to include a security rule capable of detecting the corresponding packet can
  • An example for changing such a security rule may be a least recently used (LRU) method. That is, instead of excluding the security rule that has not been used for the longest time (ie, not used to detect a packet to be filtered) from the applied security rule set, it may be a method of allowing a new security rule to be included in the applied security rule set.
  • LRU least recently used
  • the system 100 may adaptively adjust the number of security rules to be included in the applied security rule set and/or the packet inspection period for the stored packets. Such adjustment may be adaptively adjusted according to the strength of the security threat (eg, the number of detected attacks or packets, etc.) according to the result of the packet inspection process S110 for the stored packet.
  • the strength of the security threat eg, the number of detected attacks or packets, etc.
  • the adjustment of the packet inspection period for the stored packet can be adjusted to be short when it is determined that the strength of the security threat is strong, and can be adjusted to be long in the opposite case.
  • the intrusion prevention process may be performed according to the changed applied security ruleset.
  • an adaptive security policy can be implemented according to a security threat made in an actual network while minimizing an operational security gap.
  • the packet storage module 120 can extract and store only N preceding packets of each session at high speed. To this end, a technical idea of extracting the initial N preceding packets of a session using a flow is provided.
  • the packet storage module 120 may include a flow creation module 121 and a session creation module 122 .
  • the flow generation module 121 may generate a plurality of flows based on the packets received by the packet extraction module 160 .
  • the packet extraction module 160 may sequentially output packets to the flow generation module 121 .
  • the flow generating module 121 may generate a flow. Creating a flow may mean generating flow information as will be described later.
  • the flow generating module 121 may extract a packet included in the flow and store it in the DB 140 .
  • the flow generating module 121 may store all packets corresponding to a predetermined flow, but as will be described later, depending on the implementation, only the initial few packets of the session including the flow are finally stored in the DB 140 ) can be stored in
  • the flow generation module 121 temporarily stores a flow and all packets included in the flow in the DB 140, and the session creation module 122 selectively stores only some of the stored packets, and the rest You can also delete it.
  • a flow means a set of IP packets that are continuously delivered within a limited time.
  • an IP flow is an application's address pair (sender address, sender port number, receiver address, receiver port number), host pair (sender network address, receiver network address), AS number pair (sender AS number, receiver AS number), etc. It can be defined as a flow of IP packets that are continuously delivered within a limited time specified by . Since the concept of such a flow and a method of forming the flow are disclosed in detail in the above-mentioned prior art document, a detailed description thereof will be omitted herein.
  • a 5-tuple may be used as an example for generating a flow among properties of packets. That is, the flow generating module 121 may receive packets on the network as input and generate a flow that is a continuous set of packets, or may extract some of the packets forming the flow.
  • a condition for generating a flow or detecting a flow packet is to compare the properties (eg, 5-Tuple (Source Address, Destination Address, Source Port, Destination Port, Protocol)) of the packets to obtain the same attribute (eg, 5-tuple) value), a new flow is created, and if a packet having the same value exists, the flow information of the flow can be updated.
  • a contiguous set of packets does not necessarily mean physically consecutive packets, but may be used to mean including packets having the same properties of packets arriving within a time-limited time.
  • the flow information includes 5-tuple information of a packet, and includes a flow size (Flow Size), a duration (Duration), that is, a start time (S.T) and end time (E.T) of a flow, and a packet count (Packet Count, P.C). , the average packet size (Average Packet Size), the average rate (Average Rate), a flag (eg, a special signal for a protocol (SYN, FIN, etc.)) and / or follow size, and the like.
  • the flow information may be output to the DB 140 and stored.
  • the flow generation module 121 may store flow information on a predetermined flow and a packet included in the flow to correspond to the DB 140 .
  • This process may be defined as that the flow generating module 121 generates a flow.
  • the flow information and the packets included in the flow may be stored so as to be physically continuous, or may be stored in various forms that can be easily searched even though they are physically separated, such as a table or a link.
  • Some of the packets stored in this way may be deleted based on session information generated by the session creation module 122 . That is, except for the initial N preceding packets of the session, it may be deleted. Therefore, depending on the implementation, only flow information is stored for a specific flow, and a packet corresponding to the specific flow may not be stored.
  • the session creation module 122 is A session can be created based on the information about Creating a session means extracting flows forming the same session from among a plurality of generated flows, generating session information including identification information for the extracted flows, and storing it in the DB 140 . can It may also mean including the step of storing the preceding N preceding packets among packets included in the session together with the session information to correspond to the session information.
  • the process of storing the preceding packet to correspond to the session information may refer to a process of deleting the preceding packet except for the preceding packet from among the packets already stored by the flow generating module 121 .
  • the session information and the preceding packet may be stored separately. In this case, the preceding packet may be stored double.
  • the concept of creating a session by the session creation module 122 will be described with reference to FIG. 3 .
  • FIG. 3 is a diagram for explaining a session, a flow, and a packet for a method for providing a network inspection system according to an embodiment of the present invention.
  • the session S when a session S is formed between predetermined devices, the session S may consist of at least one flow F.
  • each of the at least one flow may be composed of at least one packet (P).
  • the system 100 may collect packets passing through a point on a predetermined network. This may be performed by the packet extraction module 160 .
  • the system 100 may generate a flow based on packet attributes (eg, 5-tuple, etc.) of the collected packets.
  • the flow generation method is as described above. Generation of such a flow may be performed by the flow generation module 121 .
  • Each flow may consist of only one packet or may consist of a plurality of packets. Also, a flow size may be different for each flow.
  • the session creation module 122 may create a session.
  • the session creation module 122 may selectively store some or all of the plurality of packets in the storage device or the DB 140 based on the generated session.
  • the system 100 may provide at least one packet storage mode.
  • the packet storage mode provided according to the technical idea of the present invention may provide a mode for storing only the initial N packets of at least the session.
  • a mode for storing all or a part (eg, N) of packets forming the session only for a predetermined type of session may be provided.
  • a mode for storing all packets included in a session (all sessions or a predetermined type of session) may be provided.
  • the system 100 may provide a session-based packet storage mode according to the session information generated by the session creation module 122 rather than randomly storing packets. Examples of such a packet storage mode will be described later with reference to FIG. 6 .
  • the session creation module 122 may check flow information stored in the DB 140 . Flows included in the same session may have common characteristics. Accordingly, the session creation module 122 may search for flows having the common characteristic among the flows stored in the DB 140 . In addition, it is possible to determine the temporal priority of each flow based on the flow information (eg, S.T, E.T, etc. information included in the flow information). The session creation module 122 may identify the best flow and the last flow of the session based on flag information included in the flow information of each session formation flow.
  • the flow information eg, S.T, E.T, etc. information included in the flow information.
  • the session creation module 122 may extract at least one flow included in a specific session, that is, a session formation flow.
  • the session formation flow may be one flow or may include a plurality of flows.
  • the system 100 does not generate only a flow, but creates a session based on the generated flow, which is an important characteristic of the session by the initial N (N is a natural number) preceding packets of the session. Because they can all be understood. Therefore, compared to the prior art of storing and inspecting (eg, DPI) all collected packets, or storing and inspecting a certain number of preceding packets for each flow, only a smaller number of packet inspections is required to determine the characteristics of a given application or You can check any information you want. In general, it is known that there is no significant difference in the quality of inspection when packets are inspected within the initial 5 or less of a session compared to inspecting all packets included in the session.
  • N is a natural number
  • At least one packet storage mode is provided according to network characteristics or security strength, and the session creation module 122 stores a packet corresponding to a currently set setting mode among at least one packet storage mode.
  • the system 100 may store all collected packets rather than only the initial N preceding packets of the session.
  • a high-speed down-drill search is possible by searching for a session, searching for a flow corresponding to a desired packet from the searched session, and then searching for a packet based on the searched flow. Because, in the case of creating only flows, in the worst case, packets can be searched after performing a search as many as the number of flows. This is because the flow and packet corresponding to the packet can be searched for.
  • the session creation module 122 included in the system 100 may store M packets, that is, storage packets, which are more than N preceding packets, among the collected packets. Even in this case, the system 100 may perform packet inspection only on the preceding packet. In addition, by storing M stored packets, it is possible to increase the possibility that a desired packet is found not only for packet inspection but also for packet search. M may be adaptively set according to the type of service, the request of the service user, or the type of application in which the session is used.
  • the session generating module 122 may create a session based on a plurality of flows generated by the flow generating module 121 . That is, session information can be generated.
  • the session information may include at least an index (identification information) of at least one flow included in the session, that is, each of the session forming flows.
  • identification information information of at least one flow included in the session
  • various pieces of information indicating characteristics of the session may be further included in the session information.
  • high-speed packet searching may be possible through the generation of the session information, and only the initial N preceding packets of the session may be specified through the generation of the session.
  • FIG. 4 is a diagram for explaining the concept of performing a packet search according to a method for providing a network inspection system according to an embodiment of the present invention.
  • the session creation module 122 may create a predetermined session as described above.
  • the session information generated through the session creation may include at least identification information of a session formation flow included in the session.
  • the session information may further include information on 5-tuple of the session, start time (S.T) and end time (E.T), packet counts (P,C), session size (S.S), and the like.
  • the packet search module 150 included in the system 100 may first search for a session corresponding to the packet search request in response to a packet search request received from a service user's terminal (not shown).
  • the packet search request may include at least one piece of information included in the session information. For example, a sender address, a receiver address, and time information may be included in the packet search request.
  • the packet search module 150 may search for a flow corresponding to the packet search request by searching for flow information of each of the session forming flows included in the session information. And when a flow corresponding to the packet search request is found, the packet search module 150 can easily search for a packet corresponding to the packet search request from the DB 140 .
  • the packet corresponding to the packet search request may not exist. Also, when all packets are stored, it may be guaranteed that the packet corresponding to the packet search request is searched.
  • the technical idea of the present invention has the effect of enabling a high-speed down-drilling search in the order of session, flow, and packet when a packet is searched after a flow is created from a packet and a session is created from the flow.
  • Such a high-speed search has the effect of reducing the security gap in time. That is, it is very important to be able to quickly respond to the target network or target system that has been attacked by the security gap in time, because for this purpose, packet search due to the security gap in time must be performed quickly.
  • control module 130 performs protocol information and related metadata (URL, or other packet attribute (5-Tuple) of the packet through deep packet inspection (DPI)). information contained in ), etc.) can be extracted.
  • protocol information and related metadata URL, or other packet attribute (5-Tuple) of the packet through deep packet inspection (DPI)). information contained in ), etc.
  • a series of actions made through a zero-day attack can be defined as a standardized data model.
  • a series of actions made by a zero-day attack actions made by packets used in a zero-day attack
  • these data models are trained with a predetermined deep learning model to achieve zero-day It is possible to allow the deep learning model to learn a feature or characteristic of actions made in an attack.
  • network threats are detected by packet inspection later, and when a specific action is performed, it can be determined that it is highly likely to be an action caused by a network threat, thereby greatly improving network security.
  • packets for a relatively long period may be stored, and when a new new security rule (detection rule) is updated, this new security Whether the stored packets are used in a zero-day attack can be checked using the rule.
  • the packets used in the zero-day attack and the actions performed in the network (or network equipment) attacked by these packets can be identified and expressed as a standardized data model that is easy for the deep learning model to learn.
  • training data for deep learning learning is automatically labeled and has the effect of being generated.
  • the control module 130 may perform a packet inspection on the packets stored by the session creation module 122 .
  • the session creation module 122 may store only the preceding packets for each session in the storage device or the DB 140, and in this case, may perform packet inspection on the preceding packets of each session.
  • There may be various methods for performing packet inspection for example, a conventional Deep Packet Inspection (DPI) or the like may be used.
  • DPI Deep Packet Inspection
  • the data generation module 170 may generate an action pattern of a series of actions generated as a network threat (including a zero-day attack) as a standardized data model through packet inspection.
  • the control module 130 extracts information necessary to generate the standardized data through packet inspection, for example, a source address, a destination address, a protocol, etc. from a packet, and transmits it to the data generation module 170 .
  • control module 130 may extract packets used for the zero-day attack through packet inspection by using the security rule.
  • the data generation module 170 detects actions (eg, transmission, deletion, change of information, etc.) of the device (or devices) that has been subjected to the zero-day attack (eg, a host existing in the attacked network, etc.) And, the detected behaviors may be generated as a standardized data model, that is, standardized data.
  • the data generation module 170 may generate standardized data for an action of at least one device that has been attacked and a series of actions of devices connected to the device. And among them, both behaviors resulting from a zero-day attack and normal behaviors may be included.
  • the data generation module 170 may generate not only the device subjected to the zero-day attack, but also a plurality of devices and a plurality of actions made through their communication as standardized data, among them, actions after receiving the zero-day attack It is possible to label the standardized data corresponding to the zero-day attack.
  • control module 130 learns the standardized data labeled that the zero-day attack has been received and the standardized data that is not, and generates a behavior pattern determination model that can distinguish the device or the characteristic behavior patterns of the devices that have been subjected to the zero-day attack from this. can do.
  • This behavior pattern determination model may be a deep learning model trained to receive and learn a plurality of labeled standardized data as input data to determine characteristic behavior patterns of only devices that have been subjected to a zero-day attack.
  • a model such as RNN or LSTM that can learn continuous data from the past may be used, and the normalized data (eg, directed graph) may be used as input data of such a deep learning model. .
  • a predetermined behavior pattern is generated by the device receiving the predetermined packet. In this case, it can be determined whether the generated behavior pattern is a behavior pattern having the characteristics of a zero-day attack or not.
  • the data generation module 170 may generate standardized data corresponding to action patterns generated by packets passing through the network in real time, and input the generated standardized data into the action pattern determination model. Then, the behavior pattern determination model may determine whether the input standardized data is a behavior pattern corresponding to a zero-day attack.
  • a security measure is applied to check whether a malicious code corresponding to the zero-day attack exists through packet inspection. , it has the effect of separately examining the unique behavior patterns corresponding to the zero-day attack.
  • the packet inspection result of the control module 130 may be stored in the DB 140 .
  • the packet inspection for the session may be completed in real time before the session is terminated.
  • the system 100 may be used for a network recording service.
  • all collected packets had to be stored in the prior art, but according to the technical idea of the present invention, by forming a session, only the initial N preceding packets of the session are stored, so that the amount of stored packets can be significantly reduced and important information can be stored. do.
  • M storage packets may be stored according to the needs of the service. Even in this case, there is an effect of saving storage compared to collecting/storing the entire packet.
  • the system 100 may store only packets corresponding to a predetermined type of session.
  • the system 100 may perform network recording only for a predetermined session, such as an HTTP or TCP session.
  • the function of performing network recording only for a predetermined session may be performed by the flow generating module 121 or may be generated by the session generating module 122 .
  • the flow generating module 121 may generate a flow targeting only packets corresponding to a predetermined session among the packets collected by the packet extraction module 160 .
  • a flow that does not correspond to a predetermined session among the generated flows by the session generating module 122 may be deleted from the DB 140 . .
  • Whether the session corresponds to the predetermined session may be determined based on port information of packets. That is, a port number may be bound according to the type of session, and whether a packet or a flow corresponding to a predetermined session may be determined based on the port number.
  • the packet extraction module 160 may transmit only packets corresponding to a predetermined session to the flow generation module 121 .
  • the system 100 may perform network recording only for a predetermined session.
  • the absolute amount of stored packets can be reduced compared to the conventional network recording, and network recording can be performed only for a desired session.
  • FIG. 5 is a diagram for explaining an effect of a method for providing a network inspection system according to an embodiment of the present invention.
  • a horizontal axis of a rectangle conceptually represents a session size
  • a vertical axis conceptually represents sessions. Accordingly, the rectangle 10 shown in FIG. 5 may mean the amount of stored packets when all the collected packets are stored.
  • the system 100 does not store all packets included in a specific session, but only N preceding packets (or M storage packets), so the amount of packets stored for each session This has the effect of reducing it.
  • system 100 does not store packets for all sessions, but can store only a predetermined type of session, so that the system 100 does not store packets of a predetermined type (corresponding to D). There is an effect that packet storage may not be performed at all.
  • high-speed packet search is possible by selectively storing only packets meaningful for packet inspection while reducing the absolute amount of packets to be stored.
  • a high-speed packet search is possible through the drill-down search in the order of session information and flow information.
  • FIG. 6 is a diagram for explaining a plurality of packet storage modes through a method for providing a network inspection system according to an embodiment of the present invention.
  • the horizontal axis of the rectangle conceptually represents the session size
  • the vertical axis conceptually represents the sessions.
  • the rectangle 10 shown in FIG. 6 may mean the amount of stored packets when all the collected packets are stored
  • the shaded area 20 is the number of packets actually stored by the session creation module 122 . quantity can be expressed.
  • FIG. 6A shows a case in which packets are not stored, and in this case, a case in which packets are inspected in real time according to the technical idea of the present invention may be shown.
  • the same function as the conventional DPI can be performed.
  • 6B conceptually illustrates a case in which all packets of a session of a predetermined type are checked only for a session.
  • 6C conceptually illustrates a case of storing initial N preceding packets for all sessions.
  • FIG. 6D conceptually illustrates a case of storing initial N preceding packets for a session in a predetermined type. Also, FIG. 6E conceptually illustrates a case of storing all packets for all sessions.
  • the system 100 provides at least one packet storage mode as shown in FIG. 6 , and among them, the system 100 can adaptively store packets according to a setting mode set for the current network.
  • the setting mode may be adaptively selected according to network characteristics or required security strength.
  • FIG. 7 is a diagram for explaining a concept capable of effectively examining past network attacks according to an embodiment of the present invention.
  • FIG. 7A exemplarily illustrates the operation concept of a conventional network security system (eg, DPI).
  • a new network threat may occur at a predetermined time point t1.
  • a network inspection rule eg, a packet signature indicating a new threat, etc.
  • t2 a certain period of time
  • network recording is performed between time points t1 and t2 while network recording is performed only by storing a small number of packets.
  • FIG. 8 is a diagram illustrating a schematic physical configuration of a system according to an embodiment of the present invention.
  • the system 100 includes a logical configuration for each function as shown in FIG. 1 , and may physically include the configuration shown in FIG. 8 .
  • the system 100 includes a memory (storage device) 120-1 in which a program for implementing the technical idea of the present invention is stored, and a processor 110-1 for executing the program stored in the memory 120-1. ) may be provided.
  • the processor 110 - 1 may be named by various names, such as a CPU or a mobile processor, depending on the implementation example of the system 100 .
  • the system 100 may be implemented by organically combining a plurality of physical devices.
  • the processor 110-1 is provided with at least one for each physical device, so that the system of the present invention is provided.
  • An average expert in the technical field of the present invention can easily infer that (100) can be implemented.
  • the memory 120-1 stores the program and may be implemented as any type of storage device that the processor can access to drive the program. Also, depending on the hardware implementation, the memory 120-1 may be implemented as a plurality of storage devices instead of any one storage device. Also, the memory 120 - 1 may include a temporary memory as well as a main memory. In addition, it may be implemented as a volatile memory or a non-volatile memory, and may be defined to include all types of information storage means implemented so that the program can be stored and driven by the processor.
  • the system 100 may be a system implemented by a subject that directly or indirectly operates a security device or provides a security service according to an embodiment, and is independently implemented for a web server, a computer, or a function defined in the present invention It can be implemented in various ways, such as a security device, and it can be defined to include any type of data processing device capable of performing the function defined in this specification.
  • peripheral device 1 130 to peripheral device N 130 - 1 may be further provided according to an embodiment of the system 100 .
  • an average expert in the art can easily infer that a keyboard, monitor, graphic card, communication device, etc. may be further included in the system 100 as peripheral devices.
  • system 100 or a predetermined module included in the system 100 performs an operation or function means that the operation or the program driven by the processor 110-1
  • An average expert in the technical field of the present invention can easily infer that a function is meant to be performed.
  • the system 100 first selects at least some of the plurality of packets passing through the network. You can perform the process of storing packets that are stored as .
  • the packet storage process may be performed by the packet storage module 120, and as described above, the initial N (N is a natural number) preceding packets of the session among the session forming packets forming the session are selectively stored. It can be a process.
  • control module 130 examines the stored packets stored through the packet storage process to determine a zero-day penetration (attack) to determine whether there has been a zero-day penetration corresponding to a new security rule to be applied to the network. have.
  • a zero-day penetration attack
  • control module 130 may extract necessary information for generating standardized data by examining the detected packets.
  • control module 130 may perform DPI (Deep Packet Inspection) on a packet used for a zero-day attack to extract a protocol and metadata (eg, source address, destination address, etc.) of the protocol, , may be included in the necessary information.
  • the necessary information may be information that can define or express continuous actions, that is, action patterns of the attacked or received device and/or other devices that communicated with the device.
  • action pattern It goes without saying that various pieces of information that can define
  • the extracted necessary information may be transmitted to the data generation module 170 , and the data generation module 170 may generate standardized data based on the received necessary information.
  • This standardized data can define a series of actions, and the data generation module 170 determines the action pattern when the zero-day attack is received and the action pattern when it is not attacked (eg, in a normal case that is not attacked and/or other attacks). It is possible to generate a plurality of standardized data including the behavior pattern of the case of receiving , etc.) as learning data.
  • the data generation module 170 forms a series of actions of various devices based on various packets, such as a normal packet included in the network, a packet with a malicious code corresponding to another attack, and a packet corresponding to the zero-day attack. , and the generated standardized data may be used as learning data of the behavior pattern determination model generated by the control module 130 .
  • the data generation module 170 automatically receives a zero-day attack based on a packet having a malicious code corresponding to a zero-day attack among stored packets. It can be labeled with a pattern, which has the effect of enabling automated labeling of training data.
  • the control module 130 provides standardized data corresponding to each of a plurality of behavior patterns and labeling information labeled on each standardized data (eg, a normal behavior pattern, a behavior pattern when subjected to a zero-day attack, when receiving other attacks) behavior pattern, etc.) can be used as learning data to train the behavior pattern judgment model.
  • a normal behavior pattern e.g., a normal behavior pattern, a behavior pattern when subjected to a zero-day attack, when receiving other attacks
  • behavior pattern e.g, a normal behavior pattern, a behavior pattern when subjected to a zero-day attack, when receiving other attacks
  • the learned behavior pattern determination model can determine whether the standardized data (ie, behavior pattern) has the characteristics of the zero-day attack.
  • the standardized data be defined in a form in which the behavior pattern determination model, that is, the deep learning model, can learn and infer well while well defining a series of continuous actions.
  • the standardized data may be defined as a directed graph, and the case in which the behavior pattern determination model is implemented in a Recurrent Neural Network (RNN) or Lomg Short-Term Memory (LSTM) will be described as an example.
  • RNN Recurrent Neural Network
  • LSTM Lomg Short-Term Memory
  • FIG. 9 An example of standardized data according to an embodiment of the present invention is shown in FIG. 9 .
  • FIG. 9 is a diagram illustrating the concept of a standardized data model for defining an attack behavior according to an embodiment of the present invention.
  • the standardized data according to the technical idea of the present invention may be implemented as a directed graph.
  • each of the at least one host used for intrusion behaviors caused by zero-day penetration in the directed graph may be a node.
  • a host that has received a malicious code corresponding to a zero-day attack may become a node, and another host that communicates with such a host may be set as another node.
  • the communication behavior that occurs from each node to another node can be set as an edge.
  • each node included in the directivity graph includes information and IP (IP of the host corresponding to each node, eg, IP1, IP2, IP3, IP4 , IP5))).
  • IP IP of the host corresponding to each node, eg, IP1, IP2, IP3, IP4 , IP5
  • T1, T2, T3, T4, and T5 sequentially indicate the order in which the actions occurred independently of the timing of the actions occurring in each host.
  • the edge included in the directed graph is a protocol (eg, Protocol 1, Protocol 2, Protocol 3, Protocol 5) and/or performing behavior (eg, Behavior 1, Behavior 2) corresponding to the communication behavior corresponding to each edge. , Behavior 3, Behavior 5) may be included.
  • a protocol eg, Protocol 1, Protocol 2, Protocol 3, Protocol 5
  • performing behavior eg, Behavior 1, Behavior 2 corresponding to the communication behavior corresponding to each edge.
  • Behavior 3, Behavior 5 may be included.
  • FIG. 9 shows an example of standardized data in which one behavior pattern is defined, and the directional graph may include five nodes N1 , N2 , N3 , N4 , and N5 .
  • the first node N1 may be a host having IP1 and receiving a packet containing a malicious code corresponding to a zero-day attack or a host existing outside the protected network and transmitting the malicious code to an internal host.
  • a predetermined host communicating with the first node N1 at a predetermined time may be the second node N2.
  • a predetermined host that communicated with the second node N2 at a predetermined time may become the third node N3, and after that, hosts communicating with the third node N3 at a predetermined time are respectively first It may be a 4th node (N4) and a 5th node (N5).
  • communication with the fourth node N4 corresponding to T4 may be performed before communication with the fifth node N5 corresponding to T5.
  • the first edge E1 includes information indicating that the first node N1 and the second node N2 communicated through the first protocol 1, and the action through the communication is an action called Behavior 1.
  • the second edge E1 includes information indicating that the second node N2 and the third node N3 communicated through the second protocol 2, and the action through the communication is the action called Behavior 2.
  • the third edge E1 includes information indicating that the third node N3 and the fourth node N4 communicated through the third protocol 3, and the action through the communication is an action called Behavior 3.
  • the fourth edge (E4) includes information indicating that the third node (N3) and the fifth node (N5) communicated through the fifth protocol (Protocol 5), and the action through the communication is an action called Behavior 5 can do.
  • a series of actions starting from a host directly subjected to a zero-day attack that is, information defining a behavior pattern may be defined as a directed graph, and such a directed graph may be an example of standardized data.
  • FIG. 10 An example of generating standardized data through a more specific example is shown in FIG. 10 .
  • FIG. 10 is a diagram illustrating an embodiment of standardized data of a zero-day attack behavior according to an embodiment of the present invention.
  • the detection rule for malicious code ⁇ has been newly updated in the system 100 , and accordingly, the system 100 performs a packet inspection on stored packets to change the external IP ⁇ to the internal IP It may be standardized data defining a behavior pattern that has occurred in an example when zero-day penetration of malicious code ⁇ is detected as ⁇ .
  • the system 100 detected that an attempt to steal ID and password of the internal database (IP ⁇ ) occurred from the internal IP ⁇ that had been infiltrated by zero-day, and the act of periodic data transfer from the internal IP ⁇ to the external Blacklist IP ⁇ was detected to be occurring.
  • IP ⁇ internal database
  • the hosts corresponding to each of the external IP ⁇ , internal IP ⁇ , internal IP ⁇ , internal IP ⁇ , and external Blacklist IP ⁇ can be nodes (N10, N11, N12, N13, N14) included in the standardized data.
  • nodes N11 and N13 it can be seen that even the same host can be expressed as a different node when the timestamp, that is, the time point of the action is different.
  • the edge E10 may include information indicating that the node N10 and the node N11 communicated through a protocol (HTTP) and transmitted malicious code through the communication.
  • the edge E11 may include information indicating that the node N11 and the node N12 communicated through a protocol (HTTP), and multiple login attempts and failures were made through the communication. .
  • the edge E12 may include information indicating that the node N12 and the node N13 communicated through a protocol (unknown), and that predetermined information was transmitted through the communication.
  • the edge E13 may include information indicating that the node N13 and the node N14 communicated through a protocol (unknown), and periodic data transfer was performed through the communication.
  • a plurality of predetermined behavior types may be defined for the behavior included in each edge when generating standardized data, and each behavior performed through communication between nodes is set as one of the predetermined behavior types, standardization may be made.
  • each of these actions may be specified in various ways, such as specified from protocol and meta information detected through DPI, or specified by log records of each host.
  • the behavior pattern generated based on a predetermined packet is generated as standardized data by the data generation module 170, and labeling information (zero-day attack, normal, etc.) is labeled for each of the generated standardized data, so that the learning data is
  • the control module 130 may generate a behavior pattern determination model by inputting learning data and learning to determine whether a predetermined standardized data is a behavior pattern corresponding to a zero-day attack.
  • the learned behavior pattern determination model is built, thereafter, when real-time standardized data is generated for a predetermined packet (eg, initial packet for each session, etc.) that is going to pass through the network by the data generation module 170, it is generated For one real-time standardized data, it is possible to determine whether the behavior pattern corresponds to the zero-day attack by using the behavior pattern determination model.
  • a predetermined packet eg, initial packet for each session, etc.
  • the behavior pattern determination model a known deep learning model such as RNN or LSTM may be used, and the structure and learning method of such a deep learning model are well known, so a detailed description thereof will be omitted.
  • the behavior pattern determination model may define characteristic features of a behavior pattern generated by the zero-day attack and determine whether a predetermined behavior pattern is a behavior pattern caused by the zero-day attack using this.
  • the system 100 not only checks whether there has been a zero-day attack, but also learns a characteristic behavior pattern generated by the zero-day attack. In the future, it is possible to not only defend against attacks through packet inspection, but also to identify threats suspected of attacks based on behavior patterns within the protected network.
  • the network security method according to an embodiment of the present invention may be implemented in the form of a computer-readable program command and stored in a computer-readable recording medium, and the control program and the target program according to the embodiment of the present invention are also transmitted to the computer. It may be stored in a readable recording medium.
  • the computer-readable recording medium includes all types of recording devices in which data readable by a computer system is stored.
  • the program instructions recorded on the recording medium may be specially designed and configured for the present invention, or may be known and available to those skilled in the software field.
  • Examples of the computer-readable recording medium include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs and DVDs, and floppy disks. hardware devices specially configured to store and execute program instructions, such as magneto-optical media and ROM, RAM, flash memory, and the like.
  • the computer-readable recording medium is distributed in a computer system connected to a network, so that the computer-readable code can be stored and executed in a distributed manner.
  • Examples of program instructions include not only machine language codes such as those generated by a compiler, but also high-level language codes that can be executed by an apparatus for electronically processing information using an interpreter or the like, for example, a computer.
  • the hardware devices described above may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.
  • the present invention can be applied to a system and method for learning and detecting anomalies using regression security checks.

Abstract

Disclosed are a method and system for learning and detecting abnormal behavior by using a regression security check. The method comprises: a step for performing, by the system, a packet storage process for selectively storing at least some of a plurality of packets passing through a network; a zero-day penetration determination step for examining, by the system, storage packets stored through the packet storage process and determining whether there is zero-day penetration corresponding to a new security rule that is to be applied to the network; and a step for generating, by the system, normalization data on the basis of penetration behaviors that occur due to the zero-day penetration, wherein a behavior pattern determination model for determining a behavior pattern corresponding to the zero-day penetration is learned on the basis of the generated normalization data.

Description

회귀보안검사를 이용한 이상행위 학습 및 탐지 시스템 및 그 방법Abnormal behavior learning and detection system and method using regression security inspection
본 발명은 회귀보안검사를 이용한 이상행위 학습 및 탐지 시스템 및 그 방법에 관한 것으로, 보다 상세하게는 탐지 규칙이 업데이트 된 보안 위협을 가지고 회귀보안검사를 통해 제로데이 침투로 인한 이상행위를 딥러닝(deep learning)으로 학습하기 위한 학습 데이터의 생성 및 이를 이용하여 이상행위를 판단할 수 있는 딥러닝 모델을 구축하고 활용할 수 있는 기술적 사상에 관한 것이다.The present invention relates to a system and method for learning and detecting abnormal behavior using regression security inspection, and more particularly, deep learning (deep learning) of abnormal behavior due to zero-day penetration through regression security inspection with security threats with updated detection rules. It relates to the generation of learning data for learning by deep learning) and a technical idea that can be used to build and utilize a deep learning model that can judge abnormal behavior by using it.
기존의 네트워크 제어 및 관리 장비들은 TCP(transport layer protocol)/UDP(user datagram protocol) 또는 IP(Internet protocol)의 패킷 정보를 기반으로, 해당 장비들의 특정 단위 목표인 라우팅이나 QoS(Quality of Service), DDoS(Distributed Denial of Service)방지 등을 달성하기 위해 노력해 왔다. 그러나 패킷 기반의 접근 방법은 상위 애플리케이션들의 통신 관계에 따른 정보들을 무시하고, 단순히 일시적인 정보 전달 단위인 각각의 분리된 패킷에 담겨 있는 정보들에만 의존함으로써, 적게는 처리 속도의 한계성과 크게는 적용성의 한계로 인해 패킷 라우팅을 위한 라우터, DDoS 공격을 방어하는 전용 시스템, 또는 트래픽 제어를 위한 DPI(Deep Packet Inspection) 시스템 등과 같은 독립적인 목표를 위한 단일 시스템의 형태로 제공되고 있다. 이 중 DPI 시스템은 특정 애플리케이션 또는 클라이언트(예컨대, P2P 클라이언트(client))가 사용하는 잘 알려진 포트 번호와 페이로드(Payload)의 시그너쳐(Signature)를 찾아서 검출하고, 검출된 패킷을 제어하는 방법을 채택하고 있다. 이러한 시그너쳐를 검출함으로써 어떤 클라이언트 즉, 애플리케이션이 현재 네트워크에서 패킷을 생성 및/또는 전송하고 있는지를 알게 되고, 소정의 정책에 따라 적절한 네트워크 제어를 수행하게 된다. 그리고 이러한 시그너쳐에 대한 정보를 포함하고 있는 보안 룰이 보안장비에 설정됨으로써, DPI와 같은 보안장비는 위협을 방어하고 있다.Existing network control and management equipment is based on packet information of TCP (transport layer protocol)/UDP (user datagram protocol) or IP (Internet protocol), Efforts have been made to achieve DDoS (Distributed Denial of Service) prevention and the like. However, the packet-based approach ignores information related to the communication relationship of higher-level applications and simply depends on the information contained in each separate packet, which is a temporary unit of information delivery. Due to limitations, it is provided in the form of a single system for independent goals, such as a router for packet routing, a dedicated system to prevent DDoS attacks, or a DPI (Deep Packet Inspection) system for traffic control. Among them, the DPI system finds and detects the well-known port number used by a specific application or client (eg, a P2P client) and the signature of the payload, and controls the detected packet. are doing By detecting such a signature, which client, that is, an application, is currently generating and/or transmitting packets in the network, and appropriate network control is performed according to a predetermined policy. And by setting the security rule including the information about the signature in the security equipment, security equipment such as DPI defends the threat.
한편, 제로데이 침투(공격)은 좁게는 컴퓨터 소프트웨어의 취약점을 공격하는 기술적 위협으로, 특히 해당 취약점에 대하여 공표되지 않았거나, 공표되었더라도 해당 취약점에 대한 보안 룰(보안규칙) 패치가 아직 나오지 않은 시점에서 이루어지거나, 넓게는 신변종 보안위협의 등장 이후 해당 신변종 보안위협을 탐지할 수 있는 탐지룰이 나오기 전에 이루어지는 공격(시간상의 보안사각)을 말한다.On the other hand, zero-day penetration (attack) is narrowly a technical threat that attacks a vulnerability in computer software. It refers to an attack (security blind spot in time) that is made in the .
이러한 취약점 및 시간상의 보안사각은 말 그대로 아직 보안 룰에 대한 패치가 이루어지기 전이므로, 악의적인 공격자에게 알려질 경우 소프트웨어에 대한 공격에 무방비로 노출될 수밖에 없어 소프트웨어 보안에 중요한 이슈를 가진다.Since these vulnerabilities and security blind spots in time are literally before the security rules have been patched, if they are known to a malicious attacker, they will inevitably be exposed to attacks on the software defenselessly, which is an important issue for software security.
그런데 이러한 취약점 및 시간상의 보안사각은 개발자나 사용자에 의해 발견되거나, 사용자에 의해 제보되지 않았다면, 그 취약점을 이용하는 공격 매개체(예컨대, 바이러스, 웜 등의 악성코드)가 발견되어야 해당 취약점에 대한 패치가 이루어질 수 있으며, 패치가 정상적으로 이루어지기 전까지는 해당 취약점을 이용한 공격에 속수무책으로 노출될 수밖에 없는 위험이 있다.However, if these vulnerabilities and security gaps in time are discovered by developers or users or not reported by users, an attack vector (eg, malicious code such as a virus or worm) that uses the vulnerability must be discovered before a patch for the vulnerability is available. There is a risk of being helplessly exposed to attacks using the vulnerability until the patch is normally made.
따라서 제로데이 침투가 행해진 경우, 제로데이 침투 여부를 빠르게 판단할 수 있는 것이 제로데이 침투로 인한 피해를 최소화하는데 매우 중요할 수 있다.Therefore, when zero-day infiltration has been performed, being able to quickly determine whether or not zero-day infiltration has occurred may be very important in minimizing damage caused by zero-day infiltration.
* 선행기술문헌* Prior art literature
- 특허문헌- Patent literature
한국특허출원(출원번호 10-2008-0126888, "네트워크 컨트롤 시스템 및 네트워크 컨트롤 방법")Korean Patent Application (Application No. 10-2008-0126888, "Network Control System and Network Control Method")
한국특허출원(출원번호 10-2011-0019891, "네트워크 검사 시스템 및 그 제공방법")Korean Patent Application (Application No. 10-2011-0019891, "Network inspection system and its providing method")
본 발명은 이러한 문제점을 해결하고자 안출된 발명으로써, 본 발명이 이루고자 하는 기술적 과제는 실시간으로 패킷을 검사하고 검사결과 문제없는 패킷만을 선택적으로 통과시키는 네트워크 보안 시스템에 있어서, 특정 위협이 제로데이 기간 중에 있어 이를 탐지할 룰셋이 제공되지 않은 상태에서도 학습된 이상행위의 탐지를 통해, 특정 위협이 침투하였음을 판단할 수 있는 기술적 사상을 제공하는 것이다.The present invention is an invention devised to solve these problems, and the technical problem to be achieved is a network security system that inspects packets in real time and selectively passes only packets with no problems as a result of the inspection, wherein a specific threat is detected during the zero-day period. Therefore, it is to provide a technical idea that can determine that a specific threat has penetrated through the detection of learned anomalies even when a rule set to detect it is not provided.
또한 매우 효율적인 패킷 저장을 통해 모든 또는 대부분의 룰셋을 검사할 수 있고, 이를 토대로 최신의 보안 위협에 따라 자동으로 적용되는 보안 룰셋을 변경할 수 있는 기술적 사상을 제공하는 것이다. In addition, it is possible to inspect all or most of the rulesets through very efficient packet storage, and based on this, it is to provide a technical idea that can change the automatically applied security rulesets according to the latest security threats.
또한, 네트워크를 기록하기 위해 패킷의 저장개수를 현저히 줄일 수 있고, 고속의 패킷 서치를 지원할 수 있는 기술적 사상을 제공하는 것이다. In addition, it is to provide a technical idea that can significantly reduce the number of packets to be stored in order to record the network and support high-speed packet search.
또한, 네트워크를 기록하기 위한 패킷의 저장개수를 현저히 줄이면서도 네트워크를 검사하는 데에 있어서는 성능의 차이가 거의 없어서, 과거의 오랜 시간에 대한 네트워크 기록이 가능하였고 이에 따라 네트워크 검사 룰이 설정되는 경우 빠른 시간 내에 현재의 네트워크 패킷들을 실시간으로 검사할 수 있을 뿐 아니라 과거의 네트워크도 소급하여 빠른 시간 내에 검사할 수 있는 방법 및 시스템을 제공하는 것이다.In addition, while significantly reducing the number of packets stored for recording the network, there is little difference in performance in inspecting the network, enabling network recording for a long time in the past. It is an object to provide a method and system capable of not only inspecting current network packets in real time, but also retrospectively inspecting past networks in a short time.
또한, 새로운 위협에 대한 탐지규칙(보안 룰)이 업데이트될 때마다 과거 트래픽에 대한 보안검사(회귀보안검사)를 수행할 수 있으며, 이를 통해 제로데이 공격으로 임한 침투행위들을 정형화된 데이터(예컨대, 지향성 그래프)로 구축할 수 있어서 침투행위의 특성을 정의하는 학습 데이터의 생성 및 라벨링(labeling 또는 annotatoin이라고도 함)이 자동으로 이루어질 수 있는 효과가 있다.In addition, whenever the detection rule (security rule) for a new threat is updated, a security check (regressive security check) can be performed on the past traffic, and through this, the intrusion actions taken as a zero-day attack can be analyzed using standardized data (e.g., Directive graph), there is an effect that the generation and labeling (also called labeling or annotatoin) of learning data defining the characteristics of the intrusion behavior can be automatically performed.
또한, 회귀보안검사를 통해 성공한 침투 이후 장기간에 걸친 관련된 행위 정보를 수집할 수 있어, 이상행위의 정확도가 향상될 수 있는 효과가 있다.In addition, it is possible to collect related behavior information over a long period of time after successful penetration through the regression security check, which has the effect of improving the accuracy of abnormal behavior.
또한 이러한 정형화된 데이터로 침투행위를 정의함으로써 제로데이 공격의 특성을 딥러닝 모델의 학습에 효과적으로 이용할 수 있고, 이로 인해 정확도 높은 제로데이 공격 패턴을 탐지하는 행위패턴 탐지모듈을 구축할 수 있는 효과가 있다.In addition, by defining the intrusion behavior with this standardized data, the characteristics of a zero-day attack can be effectively used for learning a deep learning model, and this has the effect of building a behavior pattern detection module that detects a zero-day attack pattern with high accuracy. have.
또한 구축된 행위패턴 탐지모듈을 통해 공격의 의심이 되는 네트워크 패턴을 패킷 검사를 통한 탐지규칙과는 별개로 탐색하여 보안성을 높일 수 있는 효과가 있다.In addition, there is an effect of increasing security by detecting network patterns suspected of attacks through the built-up behavior pattern detection module separately from the detection rules through packet inspection.
본 발명의 일 측면에 따르면, 상기의 기술적 과제를 해결하기 위한 회귀보안검사를 이용한 이상행위 학습 및 탐지 방법은 시스템이 네트워크를 통과하는 복수의 패킷들 중 적어도 일부를 선택적으로 저장하는 패킷 저장 프로세스를 수행하는 단계, 상기 시스템이 상기 패킷 저장 프로세스를 통해 저장된 저장 패킷들을 검사하여 상기 네트워크에 적용될 신규 보안 룰에 해당하는 제로데이 침투가 있었는지 여부를 판단하는 제로데이 침투 판단 단계, 및 상기 시스템이 상기 제로데이 침투로 발생한 침투행위들을 정형화 데이터로 생성하는 단계를 포함하며, 생성한 정형화 데이터에 기초하여 상기 제로데이 침투에 상응하는 행위패턴을 판별할 수 있는 행위패턴 판단모델이 학습되는 것을 특징으로 한다.According to one aspect of the present invention, a method for learning and detecting anomalies using a regression security check for solving the above technical problem is a packet storage process in which a system selectively stores at least some of a plurality of packets passing through a network. performing a zero-day penetration determination step in which the system examines stored packets stored through the packet storage process to determine whether there has been a zero-day penetration corresponding to a new security rule to be applied to the network, and the system performs the It comprises the step of generating infiltration behaviors generated by the zero-day penetration as standardized data, and based on the generated standardized data, a behavior pattern determination model capable of determining a behavior pattern corresponding to the zero-day penetration is learned. .
상기 시스템이 네트워크를 통과하는 복수의 패킷들 중 적어도 일부를 선택적으로 저장하는 패킷 저장 프로세스를 수행하는 단계는, 상기 시스템이 상기 복수의 패킷들로부터 세션을 형성하는 세션형성 패킷들 중 상기 세션의 초기 N(N은 자연수)개의 선행 패킷만을 저장하는 상기 패킷 저장 프로세스를 수행하는 단계를 포함할 수 있다.The step of the system performing a packet storage process for selectively storing at least some of a plurality of packets passing through a network may include: an initial stage of the session among session establishment packets forming a session from the plurality of packets, by the system performing the packet storage process of storing only N (N is a natural number) preceding packets.
상기 시스템이 상기 제로데이 침투로 발생한 침투행위들을 정형화 데이터로 생성하는 단계는 상기 시스템이 상기 제로데이 침투로 발생한 침투행위들에 이용된 적어도 하나의 호스트를 노드로 설정하고, 각각의 노드에서 다른 노드로 일어난 통신행위를 에지로 설정한 지향성 그래프로 상기 정형화 데이터를 생성하는 단계를 포함할 수 있다.In the step of generating, by the system, the intrusion behaviors caused by the zero-day penetration as standardized data, the system sets at least one host used for the infiltration behaviors caused by the zero-day penetration as a node, and in each node, another node The method may include generating the standardized data as a directional graph in which a communication action that occurs as an edge is set.
상기 지향성 그래프에 포함된 노드는, 각각의 노드에 상응하는 적어도 하나의 호스트가 특정행위를 수행한 시점 및 IP에 대한 정보를 포함할 수 있다.The nodes included in the directed graph may include information on IP and a time point at which at least one host corresponding to each node performs a specific action.
상기 지향성 그래프에 포함된 에지는 각각의 에지에 해당하는 통신행위에 상응하는 프로토콜 또는 수행행위에 대한 정보를 포함할 수 있다.The edges included in the directed graph may include information on a protocol or performance action corresponding to a communication action corresponding to each edge.
상기 행위패턴 판단모델은, 상기 정형화 데이터를 포함하는 학습 데이터를 RNN 또는 LSTM을 이용하여 학습하여 구축될 수 있다.The behavior pattern determination model may be constructed by learning the learning data including the formalized data using RNN or LSTM.
상기 회귀보안검사를 이용한 이상행위 학습 및 탐지 방법은, 상기 행위패턴 판단모델의 생성 후 상기 네트워크를 통과하려 하는 패킷들에 대해 실시간 정형화 데이터를 생성하는 단계, 생성한 실시간 정형화 데이터에 대해 상기 행위패턴 판단모델을 이용하여 이상행위 여부를 판단하는 단계를 더 포함할 수 있다.The abnormal behavior learning and detection method using the regression security check includes the steps of: generating real-time standardized data for packets that are going to pass through the network after generating the behavior pattern determination model; It may further include the step of determining whether an abnormal behavior using the judgment model.
상기의 방법은 데이터 처리장치에 설치되는 소프트웨어에 의해 구현될 수 있다.The above method may be implemented by software installed in the data processing device.
본 발명의 다른 일 측면에 따르면, 회귀보안검사를 이용한 이상행위 학습 및 탐지 시스템이 제공된다. 상기 시스템은 네트워크를 통과하는 복수의 패킷들 중 적어도 일부를 선택적으로 저장하는 패킷 저장 프로세스를 수행하는 패킷 저장모듈, 상기 네트워크에 적용될 신규 보안 룰이 업데이트 되는 경우, 상기 패킷 저장 프로세스를 통해 저장된 저장 패킷들을 검사하여 상기 신규 보안 룰에 해당하는 제로데이 침투가 있었는지 여부를 판단하는 침입방지 모듈, 상기 제로데이 침투로 발생한 침투행위들을 정형화 데이터로 생성하는 데이터 생성모듈, 및 생성한 정형화 데이터를 학습하여 상기 제로데이 침투에 상응하는 행위패턴을 판단하기 위한 행위패턴 판단모델을 생성하는 제어모듈을 포함한다.According to another aspect of the present invention, an abnormal behavior learning and detection system using a regression security check is provided. The system includes a packet storage module that performs a packet storage process for selectively storing at least some of a plurality of packets passing through a network, and when a new security rule to be applied to the network is updated, the stored packets stored through the packet storage process An intrusion prevention module that inspects the security rules to determine whether or not there has been a zero-day penetration corresponding to the new security rule, a data generation module that generates intrusion actions caused by the zero-day penetration into standardized data, and the generated standardized data by learning and a control module for generating a behavior pattern determination model for determining a behavior pattern corresponding to the zero-day penetration.
또 다른 일측 면에 따르면, 상기 시스템은 프로그램이 저장된 저장장치, 상기 프로그램을 구동하기 위한 프로세서를 포함하며, 상기 프로세서에 의해 구동되는 상기 프로그램은, 네트워크를 통과하는 복수의 패킷들 중 적어도 일부를 선택적으로 저장하는 패킷 저장 프로세스를 수행하고, 상기 네트워크에 적용될 신규 보안 룰이 업데이트 되는 경우, 상기 패킷 저장 프로세스를 통해 저장된 저장 패킷들을 검사하여 상기 신규 보안 룰에 해당하는 제로데이 침투가 있었는지 여부를 판단하며, 상기 제로데이 침투로 발생한 침투행위들을 정형화 데이터로 생성하고, 생성한 정형화 데이터를 학습하여 상기 제로데이 침투에 상응하는 행위패턴을 판단하기 위한 행위패턴 판단모델을 생성한다.According to another aspect, the system includes a storage device in which a program is stored, and a processor for running the program, wherein the program driven by the processor selectively selects at least some of a plurality of packets passing through a network. When a new security rule to be applied to the network is updated, it is determined whether there has been a zero-day penetration corresponding to the new security rule by examining the stored packets stored through the packet storage process. And, the infiltration behaviors generated by the zero-day penetration are generated as standardized data, and the generated standardized data is learned to generate a behavior pattern determination model for determining a behavior pattern corresponding to the zero-day penetration.
상기 프로세서에 의해 구동되는 상기 프로그램은, 상기 제로데이 침투로 발생한 침투행위들에 이용된 적어도 하나의 호스트를 노드로 설정하고, 각각의 노드에서 다른 노드로 일어난 통신행위를 에지로 설정한 지향성 그래프로 상기 정형화 데이터를 생성할 수 있다.The program driven by the processor is a directed graph in which at least one host used for the intrusion actions caused by the zero-day penetration is set as a node, and the communication action that occurs from each node to another node is set as an edge. The standardized data may be generated.
상기 프로세서에 의해 구동되는 상기 프로그램은, 상기 행위패턴 판단모델의 생성 후 상기 네트워크를 통과하려 하는 패킷들에 대해 실시간 정형화 데이터를 생성하고, 생성한 실시간 정형화 데이터에 대해 상기 행위패턴 판단모델을 이용하여 이상행위 여부를 판단할 수 있다.The program driven by the processor generates real-time formal data for packets that are going to pass through the network after generating the behavior pattern determination model, and uses the behavior pattern determination model for the generated real-time formal data. It is possible to determine whether there is an abnormality.
본 발명의 기술적 사상에 따르면, 실시간으로 패킷을 검사하고 검사결과 문제없는 패킷만을 선택적으로 통과시키는 네트워크 보안 시스템에 있어서, 회귀보안검사를 통해 검출된 제로데이 침투와 이후의 행위 패턴을 학습함으로써, 제로데이 기간에 있어 탐지 룰셋이 제공되지 않은 위협의 침투를 빨리 찾을 수 있고, 이를 통하여 탐지 룰셋이 제공되지 않은 보안 위협의 침투로 인한 피해를 최소화시킬 수 있는 효과가 있다.According to the technical idea of the present invention, in a network security system that inspects packets in real time and selectively passes only packets without a problem as a result of inspection, by learning the zero-day penetration and subsequent behavior patterns detected through regression security inspection, zero In the day period, it is possible to quickly find the penetration of a threat for which a detection rule set is not provided, and through this, there is an effect of minimizing the damage caused by the penetration of a security threat for which a detection rule set is not provided.
또한 모든 또는 대부분의 룰셋에 대한 검사를 효과적으로 할 수 있고, 이를 토대로 최신의 보안 위협에 따라 자동으로 적용되는 보안 룰셋을 변경할 수 있는 효과가 있다. In addition, it is possible to effectively inspect all or most of the rulesets, and based on this, there is an effect that the automatically applied security rulesets can be changed according to the latest security threats.
또한, 고속으로 패킷을 검사하면서 플로우 및 플로우에 기반한 세션에 대한 정보를 생성할 수 있어서, 세션의 초기 선행패킷 일정 개수만을 검사할 수 있도록 하여 고속 네트워크 환경에서 실시간으로 패킷 검사가 수행될 수 있는 효과가 있다.In addition, it is possible to generate flow and flow-based session information while inspecting packets at high speed, so that only a certain number of initial preceding packets of a session can be inspected, so that packet inspection can be performed in real time in a high-speed network environment there is
또한, 네트워크를 기록하기 위해 필요한 패킷의 저장개수를 현저히 줄일 수 있고, 세션 정보 및 플로우 정보에 기초하여 고속의 패킷 서치를 지원할 수 있는 효과가 있다.In addition, it is possible to significantly reduce the number of packets required to record the network, and to support high-speed packet search based on session information and flow information.
또한, 네트워크를 기록하기 위해 필요한 패킷의 저장개수가 줄어듦으로 인해 동일한 물리적 환경에서도 오랜 시간동안 네트워크의 기록이 가능한 효과가 있다. In addition, since the number of packets required to record the network is reduced, network recording is possible for a long time even in the same physical environment.
또한 이러한 네트워크의 기록이 가능함으로써, 실시간으로 패킷 검사를 수행하는데 뛰어날 뿐만 아니라, 과거에 네트워크 공격이 있었는지에 대한 검증도 가능한 효과가 있다.In addition, since such a network can be recorded, it is excellent in performing packet inspection in real time, and it is possible to verify whether there has been a network attack in the past.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.In order to more fully understand the drawings cited in the Detailed Description, a brief description of each drawing is provided.
도 1은 본 발명의 일 실시 예에 따른 시스템의 개략적인 구성을 나타내는 도면이다. 1 is a diagram showing a schematic configuration of a system according to an embodiment of the present invention.
도 2는 본 발명의 일 실시 예에 따른 네트워크 보안 방법을 개략적으로 설명하기 위한 도면이다. 2 is a diagram schematically illustrating a network security method according to an embodiment of the present invention.
도 3은 본 발명의 일 실시 예에 따른 시스템 제공방법을 위한 세션, 플로우, 및 패킷을 설명하기 위한 도면이다. 3 is a diagram for explaining a session, a flow, and a packet for a system providing method according to an embodiment of the present invention.
도 4는 본 발명의 일 실시 예에 따른 시스템 제공방법에 따른 패킷 서치를 수행하는 개념을 설명하기 위한 도면이다. 4 is a diagram for explaining the concept of performing a packet search according to a system providing method according to an embodiment of the present invention.
도 5는 본 발명의 일 실시 예에 따른 시스템 제공방법에 따른 효과를 설명하기 위한 도면이다.5 is a view for explaining the effect of the system providing method according to an embodiment of the present invention.
도 6은 본 발명의 일 실시 예에 따른 시스템 제공방법을 통한 복수의 패킷저장 모드를 설명하기 위한 도면이다.6 is a diagram for explaining a plurality of packet storage modes through a system providing method according to an embodiment of the present invention.
도 7은 본 발명의 일 실시 예에 따라 과거의 네트워크 공격을 효과적으로 검사할 수 있는 개념을 설명하기 위한 도면이다.7 is a diagram for explaining a concept capable of effectively examining past network attacks according to an embodiment of the present invention.
도 8은 본 발명의 일 실시 예에 따른 시스템의 개략적인 물리적 구성을 나타내는 도면이다.8 is a diagram illustrating a schematic physical configuration of a system according to an embodiment of the present invention.
도 9은 본 발명의 일 실시 예에 따라 공격행위를 정의하기 위한 정형화 데이터 모델의 개념을 나타내는 도면이다.9 is a diagram illustrating the concept of a standardized data model for defining an attack behavior according to an embodiment of the present invention.
도 10은 본 발명의 일 실시 예에 따른 제로데이 공격행위의 정형화 데이터의 일 실시 예를 나타내는 도면이다.10 is a diagram illustrating an embodiment of standardized data of a zero-day attack behavior according to an embodiment of the present invention.
본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.Since the present invention can apply various transformations and can have various embodiments, specific embodiments are illustrated in the drawings and described in detail in the detailed description. However, this is not intended to limit the present invention to specific embodiments, and should be understood to include all modifications, equivalents, and substitutes included in the spirit and scope of the present invention. In describing the present invention, if it is determined that a detailed description of a related known technology may obscure the gist of the present invention, the detailed description thereof will be omitted.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.Terms such as first, second, etc. may be used to describe various elements, but the elements should not be limited by the terms. The above terms are used only for the purpose of distinguishing one component from another.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. The terms used in the present application are only used to describe specific embodiments, and are not intended to limit the present invention. The singular expression includes the plural expression unless the context clearly dictates otherwise.
본 명세서에 있어서, 포함하다 또는 가지다 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.In this specification, terms such as include or have are intended to designate that the features, numbers, steps, operations, components, parts, or combinations thereof described in the specification exist, and include one or more other features or numbers, It should be understood that the possibility of the presence or addition of steps, operations, components, parts or combinations thereof is not precluded in advance.
또한, 본 명세서에 있어서는 어느 하나의 구성요소가 다른 구성요소로 데이터를 '전송'하는 경우에는 상기 구성요소는 상기 다른 구성요소로 직접 상기 데이터를 전송할 수도 있고, 적어도 하나의 또 다른 구성요소를 통하여 상기 데이터를 상기 다른 구성요소로 전송할 수도 있는 것을 의미한다. 반대로 어느 하나의 구성요소가 다른 구성요소로 데이터를 '직접 전송'하는 경우에는 상기 구성요소에서 다른 구성요소를 통하지 않고 상기 다른 구성요소로 상기 데이터가 전송되는 것을 의미한다.In addition, in the present specification, when any one component 'transmits' data to another component, the component may directly transmit the data to the other component or through at least one other component. This means that the data may be transmitted to the other component. Conversely, when one component 'directly transmits' data to another component, it means that the data is transmitted from the component to the other component without passing through the other component.
이하, 첨부된 도면들을 참조하여 본 발명의 실시예들을 중심으로 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.Hereinafter, the present invention will be described in detail focusing on embodiments of the present invention with reference to the accompanying drawings. Like reference numerals in each figure indicate like elements.
도 1은 본 발명의 일 실시 예에 따른 시스템의 개략적인 구성을 나타내는 도면이다. 1 is a diagram showing a schematic configuration of a system according to an embodiment of the present invention.
도 1을 참조하면, 본 발명의 실시 예에 따른 시스템(100)은 침입방지 모듈(110), 패킷저장 모듈(120), 및 제어모듈(130)을 포함한다. 상기 시스템(100)은 DB(140) 및/또는 패킷서치 모듈(150)을 더 포함할 수 있다. 또한, 상기 시스템(100)은 패킷 추출모듈(160), 데이터 생성모듈(170)을 더 포함할 수 있다. Referring to FIG. 1 , a system 100 according to an embodiment of the present invention includes an intrusion prevention module 110 , a packet storage module 120 , and a control module 130 . The system 100 may further include a DB 140 and/or a packet search module 150 . In addition, the system 100 may further include a packet extraction module 160 and a data generation module 170 .
다른 실시 예에 의하면, 상기 시스템(100)은 패킷저장 모듈(120) 및 제어모듈(130)을 포함할 수 있다. 이러한 경우는 기존에 이미 구축된 IPS 시스템(예컨대, 침입방지 모듈(110))에 본 발명의 기술적 사상을 적용하기 위해 시스템(100)이 적용되는 경우일 수 있다. According to another embodiment, the system 100 may include a packet storage module 120 and a control module 130 . In this case, the system 100 may be applied in order to apply the technical idea of the present invention to an IPS system (eg, intrusion prevention module 110 ) that has been previously built.
한편, 본 발명의 기술적 사상을 구현하기 위해서는 패킷추출 모듈(160)이 더 구비될 수 있다. 상기 패킷추출 모듈(160)은 네트워크로부터 복수의 패킷들을 수신할 수 있다. 상기 패킷추출 모듈(160)은 네트워크상의 소정의 위치에 설치되어 네트워크를 통해 이동하는 패킷들을 수집하여, 상기 침입방지 모듈(110) 및 상기 패킷저장 모듈(120)로 분배할 수 있다. 분배되는 패킷은 동일할 수 있음은 물론이다. 일 예에 의하면 상기 패킷추출 모듈(160)은 네트워크로부터 패킷들을 태핑(tapping)하는 장비를 포함하여 구현될 수 있다. On the other hand, in order to implement the technical idea of the present invention, the packet extraction module 160 may be further provided. The packet extraction module 160 may receive a plurality of packets from a network. The packet extraction module 160 may be installed at a predetermined location on the network, collect packets moving through the network, and distribute the packets to the intrusion prevention module 110 and the packet storage module 120 . Of course, the distributed packets may be the same. According to an example, the packet extraction module 160 may be implemented by including a device for tapping packets from a network.
상기 패킷추출 모듈(160)은 예컨대, 소정의 로컬 에어리어 네트워크(LAN) 상에 존재하는 게이트웨이(gateway)의 전단 및/또는 후단에 위치하여 본 발명의 기술적 사상에 따라 네트워크를 검사할 수 있다. 그러면 상기 시스템(100)은 검사결과를 이용하여 따라 네트워크/트래픽을 컨트롤할 수 있다. 네트워크/트래픽을 컨트롤 한다 함은 소정의 세션, 플로우 및/또는 패킷별로 대역폭, 전송 속도를 조절하거나 전송을 차단하는 등의 인위적 행위를 의미할 수 있다. 상기 패킷추출 모듈(160)은 예컨대 소정의 NIC(Network Interface Card)로 구현될 수 있지만, 이에 한정되는 것은 아니다.The packet extraction module 160 may, for example, be located at the front end and/or rear end of a gateway existing on a predetermined local area network (LAN) to inspect the network according to the technical idea of the present invention. Then, the system 100 can control the network/traffic according to the inspection result. Controlling network/traffic may refer to artificial actions such as adjusting bandwidth and transmission speed or blocking transmission for each predetermined session, flow, and/or packet. The packet extraction module 160 may be implemented as, for example, a predetermined NIC (Network Interface Card), but is not limited thereto.
패킷추출 모듈(160)은 수신된 패킷을 상기 침입방지 모듈(110) 및 상기 패킷저장 모듈(120) 모두로 전송할 수 있다. The packet extraction module 160 may transmit the received packet to both the intrusion prevention module 110 and the packet storage module 120 .
상기 데이터 생성모듈(170)은 후술할 바와 같이 네트워크 공격 예컨대, 제로데이 공격에 의해 발생한 일련의 공격 행위패턴들을 포함하는 행위들을 미러 정해진 정형화 데이터로 생성할 수 있다. 일 예에 의하면 상기 정형화 데이터는 지향성 그래프일 수 있지만, 이에 국한되지는 않으며 시계열적으로 일어나는 일련의 행위들(예컨대, 정보의 전송, 저장, 배포, 삭제 등)을 표현하고, 이러한 표현으로부터 특징적인 행위들을 추출할 수 있는 딥러닝 모델의 입력 데이터로 사용되기 적합한 다양한 정형화 데이터가 정의될 수 있다. As will be described later, the data generation module 170 may generate behaviors including a series of attack behavior patterns generated by a network attack, for example, a zero-day attack, as mirror-determined standardized data. According to an example, the standardized data may be a directed graph, but is not limited thereto, and expresses a series of actions (eg, information transmission, storage, distribution, deletion, etc.) that occur in time series, and a characteristic characteristic from this expression Various formalized data suitable for use as input data of a deep learning model capable of extracting behaviors may be defined.
이러한 데이터 생성모듈(170)의 동작 및/또는 기능에 대해서는 후술하도록 한다.The operation and/or function of the data generating module 170 will be described later.
상기 침입방지 모듈(110)은 적용 보안 룰셋에 따라 실시간으로 패킷검사를 수행하고, 검사결과에 따라 선택적으로 패킷을 통과시킬 수 있다. 즉, 패킷검사결과 문제가 없는 패킷만을 선택적으로 통과시킬 수 있다. The intrusion prevention module 110 may perform a packet inspection in real time according to an applied security rule set, and selectively pass a packet according to the inspection result. That is, only packets having no problem as a result of the packet inspection can be selectively passed.
상기 적용 보안 룰셋은 검사시점에서 알려진 즉, 상기 시스템(100)에 저장되어서 적용 가능한 보안 룰셋의 전체 집합 즉, 풀 룰셋(full rule-set) 중 일부일 수 있다. 보안 룰셋은 복수의 보안 룰을 포함하는 의미일 수 있다. 또한 각각의 보안 룰은 패킷 검사의 기준이 되는 규칙을 포함할 수 있다. 예컨대, 패킷에 특정 패턴의 비트 스트림이 존재하거나, 패킷의 어떤 위치에 어떤 값 또는 텍스트가 존재하거나, 어떤 포트(port)로 수신되는 패킷이거나, 및/또는 패킷의 출발지 또는 목적지가 어떠한 값이거나 등의 규칙들이 적어도 하나 조합되어서 보안 룰을 형성할 수 있다. 이러한 보안 룰은 신규 보안 위협이 발생할 때마다 상기 시스템(100)에 해당 신규 보안 위협의 종류나 특징 그리고 이에 대응되는 보안 룰이 업데이트될 수 있음은 물론이다.The applied security ruleset may be a part of a full set of security rulesets that are known at the time of inspection, that is, stored in the system 100 and applicable, that is, a full rule-set. The security ruleset may mean including a plurality of security rules. In addition, each security rule may include a rule that is a standard for packet inspection. For example, a specific pattern of bitstream exists in a packet, a certain value or text exists in a certain location in the packet, a packet is received on a certain port, and/or a packet's source or destination is a certain value, etc. At least one of the rules may be combined to form a security rule. It goes without saying that the type or characteristic of the new security threat and the corresponding security rule may be updated in the system 100 whenever a new security threat occurs.
한편, 풀 룰셋은 통상 2만 여개가 넘는 보안 룰을 포함하는 것으로 알려져 있고, 신규 보안 위협이 발생할 때마다 그 수는 증가할 수밖에 없다. 그리고 실제로 아무리 고성능의 침입방지 모듈(110) 또는 IPS라 하더라도 풀 룰셋을 모두 실시간으로 검사하는 것은 거의 불가능에 가깝다. 현실적으로 정도의 차이는 있지만 적용 보안 룰셋은 풀 룰셋의 10분의 1 수준으로 설정되는 것이 일반적이다. 즉, 종래의 네트워크 보안 시스템들은 이미 알려진 풀 룰셋 중 일부분만 적용 보안 룰셋으로 적용하여 실시간으로 검사를 수행하고, 나머지 보안 룰셋들은 검사를 수행하지 않게 된다. On the other hand, the full rule set is generally known to include more than 20,000 security rules, and the number inevitably increases whenever a new security threat occurs. And in fact, it is almost impossible to inspect all the full rule sets in real time, no matter how high-performance the intrusion prevention module 110 or IPS is. In reality, although there is a difference in degree, the applied security ruleset is generally set to one tenth of the full ruleset. That is, in the conventional network security systems, only a part of the known full rule set is applied as the applied security rule set to perform real-time inspection, and the remaining security rule sets are not inspected.
따라서 적용 보안 룰셋의 나머지 보안 룰셋을 본 명세서에서는 운용상의 보안공백으로 표현하기로 한다. 운용상의 보안공백은 어쩔 수 없이 발생하는 보안상의 위협이지만 이러한 운용상의 보안공백을 최소화하기 위한 노력이 필요하였다. 이러한 노력은 예컨대, 보안 전문 인력이 해당 시점에서 보안 위협의 트렌드 등을 습득하고, 일정 주기별로 적용 보안 룰셋을 변경하는 방식이 존재해왔다. 하지만 보안 전문 인력을 고용하여야 하는 것도 큰 비용의 손실일 뿐만 아니라, 아무리 뛰어난 보안 전문 인력이라 하더라도 보안의 대상이 되는 네트워크에 실제로 어떠한 보안위협들이 존재하였는지를 정확히 알고, 그에 따라 적용 보안 룰셋을 최적화하는 것은 실질적으로 불가능하였다. Therefore, in the present specification, the remaining security rule sets of the applied security rule set are expressed as operational security blanks. The operational security gap is a security threat that is unavoidable, but efforts were needed to minimize the operational security gap. In such an effort, for example, there has been a method in which a security expert learns the trend of security threats at a time point, and changes the applied security rule set at regular intervals. However, having to hire a security expert is not only a big loss of cost, but even an excellent security expert knows exactly what security threats actually exist in the target network and optimizes the applied security ruleset accordingly. It was practically impossible.
왜냐하면 IPS를 통해서 실시간으로 검사를 수행한 보안 룰셋 이외에는 실제 어떠한 보안 위협이 존재하였는지를 알기가 어렵고, 이를 알기 위해서는 모든 패킷들을 별도로 저장한 후 저장된 패킷들에 대해 실제 일일이 풀 룰셋 또는 풀 룰셋 중 대부분의 보안 룰셋으로 검사를 수행해보아야만이 정확히 해당 네트워크에서 어떤 보안 위협이 존재하였는지를 알 수 있기 때문이다. 하지만 전술한 바와 같이 네트워크를 통과하는 모든 패킷들을 저장하는 것 자체가 매우 고비용이고, 이러한 모든 패킷들을 다 저장한 후 풀 룰셋으로 패킷검사를 수행한다고 하더라도 매우 오랜 시간이 걸릴 수 밖에 없었다. 그리고 오랜 시간 후에 비로소 검사결과를 확인하고, 적용 보안 룰셋을 변경하는 것은 비효율적일 수 있다.Because it is difficult to know what kind of security threats actually exist other than the security ruleset that is inspected in real time through the IPS, to know this, all packets are stored separately, and then for the stored packets, either the full rule set or most security of the full rule set This is because it is only possible to know exactly what security threats exist in the network only by performing inspections with the ruleset. However, as described above, it is very expensive to store all packets passing through the network, and it takes a very long time to perform packet inspection with the full ruleset after storing all these packets. And it may be inefficient to check the inspection result only after a long time and to change the applied security rule set.
이러한 문제점은 저장하는 패킷을 대폭으로 줄일 수 있으면서도, 실제로 모든 패킷을 저장해서 검사하는 것과 대동소이한 검사결과를 가질 수 있는 기술적 사상에 의해 해결될 수 있다. 본 발명은 이러한 기술적 사상을 제공함으로써 저장된 패킷의 양을 대폭 줄일 수 있으면서도 양질의 검사결과를 얻을 수 있고, 이를 통해 저장된 패킷에 대해 풀 룰셋 또는 운용상의 보안공백에 상응하는 보안 룰셋(예컨대, 풀 룰셋 중 적용 보안 룰셋을 제외한 보안 룰셋)으로 검사를 수행하여 빠른 검사결과를 획득할 수 있고, 이를 통해 적용 보안 룰셋을 적응적으로 변경할 수 있도록 함으로써 네트워크의 보안성을 효과적으로 높일 수 있도록 한다. 이러한 기술적 사상은 특정 세션의 초기 N(N은 자연수)개의 패킷만을 매우 빠른 시간에 선별할 수 있는 기술적 사상 및 선별된 세션의 초기 N개의 패킷을 선택적으로 저장하는 기술적 사상에 의해 달성될 수 있다. 이러한 기술적 사상에 대해서는 후술하도록 한다.This problem can be solved by a technical idea that can significantly reduce the number of packets to be stored, and have the same inspection result as that of actually storing and inspecting all packets. By providing such a technical idea, the present invention can significantly reduce the amount of stored packets and obtain high-quality inspection results, and through this, a full rule set or a security rule set corresponding to an operational security gap for the stored packet (eg, a full rule set) It is possible to obtain a quick inspection result by performing inspection with the security ruleset except for the middle applied security ruleset), and through this, it is possible to adaptively change the applied security ruleset, thereby effectively enhancing the security of the network. This technical idea can be achieved by a technical idea that can select only the initial N (N is a natural number) packets of a specific session very quickly and a technical idea of selectively storing the initial N packets of the selected session. These technical ideas will be described later.
한편, 신규 보안 위협이 발생하는 경우에는 아무리 적용 보안 룰셋을 최적화하더라도 이를 방지할 수는 없다. 즉, 새로운 공격이 발생하면 시간적으로 일정 시간 후에 상기 새로운 공격에 대응되는 보안 룰(탐지 규칙)이 생성될 수 밖에 없다. 이러한 신규 보안 위협을 본 명세서에서는 '시간상의 보안 공백'으로 정의하기로 하며, 이러한 시간상의 보안 공백에서 발생하는 공격이 제로데이 공격이라 불리운다. On the other hand, when a new security threat occurs, it cannot be prevented no matter how optimizing the applied security rule set. That is, when a new attack occurs, a security rule (detection rule) corresponding to the new attack is inevitably generated after a certain period of time. This new security threat is defined as a 'security gap in time' in this specification, and an attack occurring in this security gap in time is called a zero-day attack.
그리고 이러한 시간상의 보안 공백을 최소화하기 위한 기술적 사상 역시 전술한 바와 같이 효율적으로 선별된 패킷만을 저장하고, 저장된 패킷들을 고속으로 탐색할 수 있음으로 가능해질 수 있다. 이러한 기술적 사상 역시 후술하도록 한다.In addition, a technical idea for minimizing such a security gap in time can also be made possible by storing only efficiently selected packets as described above and searching for the stored packets at high speed. These technical ideas will also be described later.
상기 패킷저장 모듈(120)은 상기 패킷추출 모듈(160)로부터 수신된 복수의 패킷들 중에서 적어도 일부를 선택적으로 추출할 수 있다. The packet storage module 120 may selectively extract at least some of the plurality of packets received from the packet extraction module 160 .
그러면 상기 제어모듈(130)은 패킷저장 모듈(120)에 의해 저장된 저장패킷에 대해 패킷 검사를 수행할 수 있다. 저장패킷에 대한 패킷검사는 적용 보안 룰셋 이외의 보안 룰을 적어도 하나 검사 룰로써 설정하여 패킷검사를 수행하는 과정일 수 있다. 물론, 구현 예에 따라 패킷검사 시점의 풀 룰셋에 대해 패킷검사를 수행할 수도 있음은 물론이다. 또한, 적용 보안 룰셋을 저장패킷에 대해 검사할 때에도 적용할 수도 있다. 또는 풀 룰셋 중 적용 보안 룰셋을 제외한 나머지 보안 룰들에 대해서만 패킷검사를 수행할 수도 있다. Then, the control module 130 may perform a packet inspection on the storage packet stored by the packet storage module 120 . The packet inspection of the stored packet may be a process of performing packet inspection by setting at least one inspection rule other than the applied security rule set. Of course, it goes without saying that packet inspection may be performed on the full rule set at the time of packet inspection according to an implementation example. Also, the applied security ruleset may be applied when checking the stored packet. Alternatively, the packet inspection may be performed only on the remaining security rules excluding the applied security rule set among the full rule sets.
이러한 저장패킷에 대한 패킷검사는 상기 침입방지 모듈(110)이 수행하는 패킷검사의 시점보다 일정 시간 후일 수 있다. 따라서 침입방지 모듈(110)이 수행하는 패킷검사의 시점에서의 풀 룰셋과 상기 제어모듈(130)이 저장패킷에 대해 수행하는 패킷검사 시점에서의 풀 룰셋은 다를 수도 있다. 따라서 실시 예에 따라 침입방지 모듈(110)이 수행하는 패킷검사 시점에서의 풀 룰셋에 비해 저장패킷에 대해 수행하는 패킷검사시점에서 새로운 보안 룰이 풀 룰셋에 추가된 경우에는, 상기 새로운 보안 룰은 반드시 저장패킷에 대해서는 검사 룰로써 설정될 수 있도록 상기 제어모듈(130)은 적용 보안 룰셋을 변경할 수도 있다.The packet inspection for these stored packets may be after a predetermined time from the time of the packet inspection performed by the intrusion prevention module 110 . Therefore, the full rule set at the time of packet inspection performed by the intrusion prevention module 110 and the full rule set at the time of packet inspection performed by the control module 130 on the stored packet may be different. Therefore, according to an embodiment, when a new security rule is added to the full rule set at the time of packet inspection performed on a stored packet compared to the full rule set at the time of packet inspection performed by the intrusion prevention module 110, the new security rule is The control module 130 may change the applied security rule set so that the stored packet can be set as an inspection rule.
결국, 상기 제어모듈(130)은 저장패킷에 대해 적용 보안 룰셋에 포함되지 않은 적어도 하나의 보안 룰을 검사 룰로 설정하여 패킷검사를 수행하고, 패킷검사의 수행결과에 따라 현재 적용되고 있는 적용 보안 룰셋을 변경할 수 있다. 이하에서는 설명의 편의를 위해, 상기 제어모듈(130)은 저장패킷에 대해 풀 룰셋으로 검사를 수행하는 경우를 예시적으로 설명하도록 한다.As a result, the control module 130 performs packet inspection by setting at least one security rule not included in the applied security rule set for the stored packet as an inspection rule, and according to the result of the packet inspection, the currently applied applied security rule set can be changed Hereinafter, for convenience of description, a case in which the control module 130 performs a check using a full rule set on a storage packet will be described as an example.
상기 제어모듈(130)이 적용 보안 룰셋을 변경한다고 함은, 변경 전의 적용 보안 룰셋에 포함된 보안 룰과 변경 후의 적용 보안 룰셋에 포함되는 보안 룰 중 적어도 하나는 다름을 의미할 수 있다. 따라서 변경전의 적용 보안 룰셋에 포함된 보안 룰이 변경 후의 적용 보안 룰셋에도 여전히 포함될 수 있음은 물론이다.When the control module 130 changes the applied security ruleset, it may mean that at least one of a security rule included in the applied security ruleset before the change and the security rule included in the applied security ruleset after the change is different. Therefore, it goes without saying that the security rules included in the applied security ruleset before the change may still be included in the applied security ruleset after the change.
또한 상기 제어모듈(130)이 적용 보안 룰셋을 변경한다고 함은, 적용 보안 룰셋에 포함된 보안 룰의 개수는 유지한 채, 적용 보안 룰셋에 포함된 보안 룰을 대체하는 과정일 수도 있다. Also, when the control module 130 changes the applied security rule set, it may be a process of replacing the security rules included in the applied security rule set while maintaining the number of security rules included in the applied security rule set.
하지만 구현 예에 따라서는 상기 제어모듈(130)은 적용 보안 룰셋에 포함될 보안 룰의 개수 역시 변경할 수도 있다. 예컨대, 상기 제어모듈(130)은 일정 주기별로 저장패킷에 대한 패킷검사를 수행할 수 있고, 그 결과 보안 위협이 기존에 비해 증대되고 있다고 판단한 경우에는 보안 룰의 개수를 증가시킬 수도 있다. 물론 이와 반대로 저장패킷에 대한 패킷검사결과에 따라 적용 보안 룰셋에 포함될 보안 룰의 개수를 줄일 수도 있다.However, depending on the implementation, the control module 130 may also change the number of security rules to be included in the applied security rule set. For example, the control module 130 may perform a packet inspection on the storage packet at regular intervals, and as a result, if it is determined that the security threat is increasing compared to the existing one, the number of security rules may be increased. Of course, on the contrary, the number of security rules to be included in the applied security rule set may be reduced according to the packet inspection result of the stored packet.
상기 제어모듈(130)은 변경된 적용 보안 룰셋에 대해 상기 침입방지 모듈(110)이 검사 룰로써 패킷검사를 수행할 수 있도록 할 수 있다. 예컨대, 상기 침입방지 모듈(110)이 자체적으로 적용 보안 룰셋을 저장하는 경우에는 변경된 적용 보안 룰셋에 대한 정보를 상기 침입방지 모듈(110)로 전송할 수도 있다. 또는 상기 제어모듈(130)은 소정의 저장위치에 변경된 적용 보안 룰셋에 대한 정보를 저장하고, 상기 침입방지 모듈(110)은 상기 저장위치에 저장된 상기 적용 보안 룰셋을 검사 룰로 설정하여 패킷검사를 수행하도록 할 수도 있다. 기타 다양한 방식으로 상기 제어모듈(130)은 적용 보안 룰셋을 변경할 수 있다. The control module 130 may enable the intrusion prevention module 110 to perform packet inspection as an inspection rule for the changed applied security rule set. For example, when the intrusion prevention module 110 stores the applied security rule set by itself, information on the changed applied security rule set may be transmitted to the intrusion prevention module 110 . Alternatively, the control module 130 stores information on the changed applied security rule set in a predetermined storage location, and the intrusion prevention module 110 sets the applied security rule set stored in the storage location as an inspection rule to perform packet inspection. you can also make it In other various methods, the control module 130 may change the applied security rule set.
상기 DB(140)는 본 발명의 기술적 사상을 구현하기 위해 필요한 정보들이 저장되는 정보의 저장수단을 의미할 수 있다. 상기 DB(140)에는 전술한 바와 같이 패킷저장 모듈(120)에 의해 저장된 저장패킷에 대한 정보, 후술할 바와 같은 플로우 정보, 세션 정보 등이 저장될 수 있음은 물론이다. 또한 적용 보안 룰셋에 대한 정보가 저장될 수도 있다. 기타 본 발명의 기술적 사상을 구현하기 위해 필요한 정보들이 저장되는 저장수단으로 상기 DB(140)가 구현되면 족하다. 또한 상기 DB(140)는 하나의 물리적 저장장치로만 구현될 필요는 없고, 복수의 물리적 저장장치로 구현될 수도 있다. 또한, 구현 예에 따라 상기 DB(140)는 상기 시스템(100)과는 분리된 물리적 장치로 구현될 수도 있고, 상기 시스템(100)은 네트워크를 통해 상기 DB(140)에 억세스할 수도 있다.The DB 140 may mean an information storage means in which information necessary to implement the technical idea of the present invention is stored. Needless to say, the DB 140 may store information on the storage packet stored by the packet storage module 120 as described above, flow information, session information, etc. to be described later. In addition, information on the applied security ruleset may be stored. It is sufficient if the DB 140 is implemented as a storage means in which other information necessary to implement the technical idea of the present invention is stored. In addition, the DB 140 does not need to be implemented with only one physical storage device, but may be implemented with a plurality of physical storage devices. Also, according to an embodiment, the DB 140 may be implemented as a physical device separate from the system 100 , and the system 100 may access the DB 140 through a network.
상기 패킷서치 모듈(150)은 DB(140)에 저장된 패킷을 서치하는 기능을 수행할 수 있다. 이때 후술할 바와 같이 고속의 다운드릴 서치가 가능하도록 할 수 있다. 그리고 이러한 고속의 패킷서치를 통해 시간상의 보안 공백을 줄일 수 있는 효과가 있다.The packet search module 150 may perform a function of searching for packets stored in the DB 140 . In this case, as will be described later, it is possible to enable a high-speed down-drill search. And there is an effect of reducing the security gap in time through such a high-speed packet search.
도 2는 본 발명의 일 실시 예에 따른 네트워크 보안 방법을 개략적으로 설명하기 위한 도면이다. 2 is a diagram schematically illustrating a network security method according to an embodiment of the present invention.
도 2를 참조하면, 본 발명의 실시 예에 따른 네트워크 보안방법을 위해서는 상기 시스템(100)에 의해 입력 트래픽의 효과적인 선택적 저장이 이루어질 수 있다(S100). 이러한 선택적 저장은 세션을 탐지하고, 세션의 초기 N 개의 선행패킷만을 추출하는 기술적 사상이 이용될 수 있다. 또한 후술할 바와 같이 세션의 초기 N 개의 선행패킷을 고속으로 추출하기 위해 플로우 정보를 이용하는 기술적 사상이 제공될 수 있다. 이러한 입력 트래픽의 선택적 저장은 상기 패킷저장 모듈(120)에 의해 수행될 수 있다. Referring to FIG. 2 , for the network security method according to an embodiment of the present invention, effective selective storage of input traffic can be made by the system 100 ( S100 ). In this selective storage, a technical idea of detecting a session and extracting only the initial N preceding packets of the session may be used. Also, as will be described later, a technical idea of using flow information to quickly extract the initial N preceding packets of a session may be provided. The selective storage of such input traffic may be performed by the packet storage module 120 .
한편, 상기 시스템(100)에 의해 실시간으로 침입방지 프로세스가 이루어지고 있을 수 있다(S100-1). 이러한 침입방지는 전술한 바와 같이 적용 보안 룰셋에 의해 실시간 패킷검사를 통해 선택적인 패킷의 통과를 수행함으로써 이루어질 수 있다. 상기 시스템(100)은 풀 룰셋 중 소정의 방식으로 선택한 일부의 보안 룰셋을 상기 침입방지 프로세스에서의 적용 보안 룰셋으로 선택하고, 이를 상기 침입방지 프로세스의 검사 룰로 적용하고 있을 수 있다. 이러한 초기의 적용 보안 룰셋은 임의로 또는 소정의 보안 담당자에 의해 이루어질 수 있다.Meanwhile, an intrusion prevention process may be performed in real time by the system 100 (S100-1). As described above, such intrusion prevention can be achieved by selectively passing packets through real-time packet inspection according to the applied security ruleset. The system 100 may select some security rule sets selected by a predetermined method among the full rule sets as the applied security rule sets in the intrusion prevention process, and apply them as inspection rules of the intrusion prevention process. This initial applied security rule set may be made arbitrarily or by a predetermined security officer.
그러면, 상기 시스템(100)은 저장패킷에 대해 패킷검사를 수행할 수 있다(S110). 저장패킷에 대한 패킷검사는 전술한 바와 같이 풀 룰셋이 적용될 수 있지만, 이에 국한되지는 않는다. 적어도 현재 침입방지 프로세스에 적용되고 있는 적용 보안 룰셋에는 포함되지 않은 적어도 하나의 보안 룰이 상기 저장패킷에 대한 패킷검사에서 검사 룰로 이용될 수 있다. Then, the system 100 may perform a packet inspection on the stored packet (S110). The full rule set may be applied to the packet inspection for the stored packet as described above, but is not limited thereto. At least one security rule not included in the applied security rule set currently applied to the intrusion prevention process may be used as an inspection rule in packet inspection for the stored packet.
상기 저장패킷에 대한 패킷검사는 소정의 주기 단위(예컨대, 일/주 등)로 이루어질 수 있다. 이러한 주기가 빠를수록 더욱 즉각적으로 운용상의 보안공백에 대한 대응이 가능해질 수 있다. 그리고 이러한 주기를 단축하기 위해서는 저장패킷의 양이 적으면서도, 패킷검사의 품질이 높아질 수 있도록 효율적인 패킷저장이 이루어져야 할 수 있다.The packet inspection for the storage packet may be performed in a predetermined cycle unit (eg, day/week, etc.). The faster this cycle is, the more immediately it can be possible to respond to operational security gaps. In addition, in order to shorten the period, efficient packet storage may be required so that the quality of packet inspection can be improved while the amount of stored packets is small.
그러면 상기 시스템(100)은 검사결과에 따라 적용 보안 룰셋을 변경할 수 있다(S120). 적용 보안 룰셋의 변경은 예컨대, 현재 설정된 적용 보안 룰셋으로는 탐지되지 않는 패킷이 저장패킷에 대한 패킷검사 프로세스(S110)에서 탐지된 경우, 해당 패킷을 탐지할 수 있는 보안 룰이 포함되도록 하는 변경일 수 있다. Then, the system 100 may change the applied security rule set according to the test result (S120). The change of the applied security ruleset is, for example, when a packet that is not detected by the currently set applied security ruleset is detected in the packet inspection process (S110) for the stored packet, the change date to include a security rule capable of detecting the corresponding packet can
이러한 보안 룰의 변경을 위한 일 예는 LRU(Least Recently Used) 방식일 수도 있다. 즉, 가장 오랫동안 사용되지 않은(즉, 필터링할 패킷을 탐지하는데 이용되지 않은) 보안 룰을 적용 보안 룰셋에서 제외하는 대신 새로운 보안 룰이 적용 보안 룰셋에 포함되도록 하는 방식일 수 있다. 하지만 이러한 구체적인 적용 보안 룰셋의 변경 방식은 다양할 수 있음을 본 발명의 기술분야의 평균적 전문가는 용이하게 추론할 수 있을 것이다. An example for changing such a security rule may be a least recently used (LRU) method. That is, instead of excluding the security rule that has not been used for the longest time (ie, not used to detect a packet to be filtered) from the applied security rule set, it may be a method of allowing a new security rule to be included in the applied security rule set. However, an average expert in the technical field of the present invention can easily infer that the method of changing the specific applied security ruleset can be varied.
한편, 상기 시스템(100)은 적용 보안 룰셋에 포함될 보안 룰의 개수 및/또는 저장패킷에 대한 패킷검사 주기를 적응적으로 조절할 수도 있다. 이러한 조절은 저장패킷에 대한 패킷검사 프로세스(S110)의 결과에 따라 보안 위협의 강도(예컨대, 탐지된 공격 또는 패킷의 수 등)에 따라 적응적으로 조절될 수 있다. Meanwhile, the system 100 may adaptively adjust the number of security rules to be included in the applied security rule set and/or the packet inspection period for the stored packets. Such adjustment may be adaptively adjusted according to the strength of the security threat (eg, the number of detected attacks or packets, etc.) according to the result of the packet inspection process S110 for the stored packet.
예컨대, 적용 보안 룰셋에 포함된 보안 룰의 개수의 조절은 네트워크의 성능을 심각하게 저하시키지 않는 범위내에서 수행되는 것이 바람직할 수 있다. 또한 저장패킷에 대한 패킷검사 주기의 조절은 보안 위협의 강도가 강하다고 판단된 경우에는 짧게 조절되고, 반대의 경우에는 길게 조절될 수 있다.For example, it may be desirable to adjust the number of security rules included in the applied security rule set within a range that does not seriously degrade network performance. In addition, the adjustment of the packet inspection period for the stored packet can be adjusted to be short when it is determined that the strength of the security threat is strong, and can be adjusted to be long in the opposite case.
적용 보안 룰셋의 변경이 이루어지면, 상기 침입방지 프로세스는 변경된 적용 보안 룰셋에 따라 이루어질 수 있다.When the applied security ruleset is changed, the intrusion prevention process may be performed according to the changed applied security ruleset.
결국 본 발명의 기술적 사상에 의하면, 운용상의 보안공백을 최소화하면서 실제 네트워크에서 이루어진 보안 위협에 따라 적응적 보안정책이 이루어질 수 있는 효과를 제공할 수 있다. After all, according to the technical idea of the present invention, it is possible to provide an effect that an adaptive security policy can be implemented according to a security threat made in an actual network while minimizing an operational security gap.
한편, 패킷저장 모듈(120)에 의해 선택적으로 패킷을 저장하는 개념에 대해서 설명하면 다음과 같다. 본 발명의 기술적 사상에 의하면, 상기 패킷저장 모듈(120)은 고속으로 세션들 각각의 선행 패킷 N개만을 추출하여 저장할 수 있다. 이를 위해 플로우를 이용하여 세션의 초기 N개의 선행 패킷을 추출하는 기술적 사상을 제공한다.Meanwhile, the concept of selectively storing packets by the packet storage module 120 will be described as follows. According to the technical idea of the present invention, the packet storage module 120 can extract and store only N preceding packets of each session at high speed. To this end, a technical idea of extracting the initial N preceding packets of a session using a flow is provided.
상기 패킷저장 모듈(120)은 플로우 생성모듈(121) 및 세션생성 모듈(122)을 포함할 수 있다. The packet storage module 120 may include a flow creation module 121 and a session creation module 122 .
상기 플로우 생성모듈(121)은 상기 패킷추출 모듈(160)에 의해 수신되는 패킷들에 기초하여 복수의 플로우들을 생성할 수 있다. 상기 패킷추출 모듈(160)은 상기 플로우 생성모듈(121)로 순차적으로 패킷들을 출력할 수 있다. 그러면, 상기 플로우 생성모듈(121)은 플로우를 생성할 수 있다. 플로우를 생성한다고 함은 후술할 바와 같이 플로우 정보를 생성하는 것을 의미할 수 있다. 구현 예에 따라서는, 선택적으로 상기 플로우 생성모듈(121)은 플로우에 포함되는 패킷을 추출하여 상기 DB(140)에 저장할 수도 있다. 상기 플로우 생성모듈(121)은 소정의 플로우에 해당하는 모든 패킷들을 저장토록 할 수도 있지만, 구현 예에 따라서는 후술할 바와 같이 상기 플로우를 포함하는 세션의 초기 몇 개의 패킷만을 최종적으로 상기 DB(140)에 저장토록 할 수도 있다.The flow generation module 121 may generate a plurality of flows based on the packets received by the packet extraction module 160 . The packet extraction module 160 may sequentially output packets to the flow generation module 121 . Then, the flow generating module 121 may generate a flow. Creating a flow may mean generating flow information as will be described later. Depending on the embodiment, optionally, the flow generating module 121 may extract a packet included in the flow and store it in the DB 140 . The flow generating module 121 may store all packets corresponding to a predetermined flow, but as will be described later, depending on the implementation, only the initial few packets of the session including the flow are finally stored in the DB 140 ) can be stored in
물론, 상기 플로우 생성모듈(121)은 플로우 및 해당 플로우에 포함된 모든 패킷을 임시로 상기 DB(140)에 저장하고, 상기 세션 생성모듈(122)이 저장된 패킷들 중 선택적으로 일부만 저장하고 나머지는 삭제할 수도 있다.Of course, the flow generation module 121 temporarily stores a flow and all packets included in the flow in the DB 140, and the session creation module 122 selectively stores only some of the stored packets, and the rest You can also delete it.
본 명세서에서 플로우(flow)라 함은, 제한된 시간 내에 연속적으로 전달되는 IP 패킷들의 집합을 의미한다. 따라서, IP 플로우는 애플리케이션의 주소 쌍(송신자 주소, 송신자 포트 번호, 수신자 주소, 수신자 포트 번호), 호스트 쌍(송신자 네트워크 주소, 수신자 네트워크 주소), AS 번호 쌍(송신자 AS 번호, 수신자 AS 번호) 등으로 명세되는 제한된 시간 내에 연속적으로 전달되는 IP 패킷들의 흐름으로 정의될 수 있다. 이러한 플로우에 대한 개념 및 플로우를 형성하는 방식에 대해서는 상기한 선행기술문헌에 상세히 개시되어 있으므로 본 명세서에서는 상세한 설명은 생략하도록 한다. 또한, 본 명세서에서 플로우에 대한 개념, 플로우의 생성 방법에 대해서는 상기한 선행기술문헌에 개시된 기술적 사상 및 기재를 본 명세서의 레퍼런스로 포함하며, 본 명세서의 기재에 포함되는 것으로 취급할 수 있다. As used herein, a flow means a set of IP packets that are continuously delivered within a limited time. Thus, an IP flow is an application's address pair (sender address, sender port number, receiver address, receiver port number), host pair (sender network address, receiver network address), AS number pair (sender AS number, receiver AS number), etc. It can be defined as a flow of IP packets that are continuously delivered within a limited time specified by . Since the concept of such a flow and a method of forming the flow are disclosed in detail in the above-mentioned prior art document, a detailed description thereof will be omitted herein. In addition, with respect to the concept of a flow and a method of generating a flow in the present specification, the technical ideas and descriptions disclosed in the aforementioned prior art documents are included as references in the present specification, and may be treated as being included in the description of the present specification.
패킷들의 속성 중 플로우를 생성하기 위한 일 예로 5-튜플(tuple)을 이용할 수 있다. 즉, 플로우 생성모듈(121)은 네트워크 상에서 패킷들을 입력으로 받아서 패킷들의 연속된 집합인 플로우를 생성하거나, 플로우를 형성하는 패킷들 중 일부를 추출할 수 있다. 플로우를 생성하거나 플로우 패킷을 검출하는 조건은 패킷들의 속성(예컨대, 5-Tuple(Source Address, Destination Address, Source Port, Destination Port, Protocol))를 비교하여 동일한 속성(예컨대, 5-튜플(tuple) 값)을 가지는 패킷이 존재하지 않으면 새로운 플로우를 생성하고, 만약에 동일한 값을 가지는 패킷이 존재하면 그 플로우의 플로우 정보를 업데이트할 수 있다. A 5-tuple may be used as an example for generating a flow among properties of packets. That is, the flow generating module 121 may receive packets on the network as input and generate a flow that is a continuous set of packets, or may extract some of the packets forming the flow. A condition for generating a flow or detecting a flow packet is to compare the properties (eg, 5-Tuple (Source Address, Destination Address, Source Port, Destination Port, Protocol)) of the packets to obtain the same attribute (eg, 5-tuple) value), a new flow is created, and if a packet having the same value exists, the flow information of the flow can be updated.
패킷들의 연속된 집합이라 함은 반드시 물리적으로 연속된 패킷들을 의미하는 것이 아니라, 시간적으로 제한된 시간 내에 도달한 패킷의 속성이 동일한 패킷을 포함하는 의미로 사용될 수 있다. A contiguous set of packets does not necessarily mean physically consecutive packets, but may be used to mean including packets having the same properties of packets arriving within a time-limited time.
상기 플로우 정보는 패킷의 5-튜플 정보를 포함하며, 플로우 사이즈(Flow Size), 지속기간(Duration) 즉, 플로우의 시작 시간(S.T) 및 종료 시간(E.T), 패킷 카운트(Packet Count, P.C), 평균 패킷 사이즈(Average Packet Size), 평균 레이트(Average Rate), 플래그(예컨대, 프로토콜을 위한 특별한 신호(SYN, FIN 등)) 및/또는 폴로우 사이즈 등을 포함할 수 있다. 상기 플로우 정보는 DB(140)로 출력되어 저장될 수 있다. 상기 플로우 생성모듈(121)은 상기 DB(140)에 소정의 플로우에 대한 플로우 정보 및 상기 플로우에 포함되는 패킷을 대응되도록 저장할 수 있다. 이러한 과정을 상기 플로우 생성모듈(121)이 플로우를 생성한다고 정의할 수 있다. 예컨대, 플로우 정보 및 플로우에 포함된 패킷이 물리적으로 연속되도록 저장될 수도 있고, 테이블, 링크 등과 같이 물리적으로는 분리되어 있더라도 용이하게 탐색될 수 있는 다양한 형태로 저장될 수 있다. The flow information includes 5-tuple information of a packet, and includes a flow size (Flow Size), a duration (Duration), that is, a start time (S.T) and end time (E.T) of a flow, and a packet count (Packet Count, P.C). , the average packet size (Average Packet Size), the average rate (Average Rate), a flag (eg, a special signal for a protocol (SYN, FIN, etc.)) and / or follow size, and the like. The flow information may be output to the DB 140 and stored. The flow generation module 121 may store flow information on a predetermined flow and a packet included in the flow to correspond to the DB 140 . This process may be defined as that the flow generating module 121 generates a flow. For example, the flow information and the packets included in the flow may be stored so as to be physically continuous, or may be stored in various forms that can be easily searched even though they are physically separated, such as a table or a link.
이렇게 저장된 패킷들 중 일부는 상기 세션 생성모듈(122)에 의해 생성되는 세션 정보에 기초하여 삭제될 수도 있다. 즉, 세션의 초기 N 개의 선행패킷을 제외하고는 삭제될 수도 있다. 따라서 구현 예에 따라서는 특정 플로우에 대해서는 플로우 정보만 저장되고, 상기 특정 플로우에 해당하는 패킷은 저장되지 않을 수도 있다.Some of the packets stored in this way may be deleted based on session information generated by the session creation module 122 . That is, except for the initial N preceding packets of the session, it may be deleted. Therefore, depending on the implementation, only flow information is stored for a specific flow, and a packet corresponding to the specific flow may not be stored.
상기 세션 생성모듈(122)은 상기 플로우 생성모듈(121)에 의해 복수의 플로우들이 저장장치(예컨대, 상기 DB(140))에 저장되면 즉, 복수의 플로우들이 생성되면, 상기 복수의 플로우들에 대한 정보에 기초하여 세션을 생성할 수 있다. 세션을 생성한다고 함은 생성된 복수의 플로우들 중에서 동일한 세션을 형성하는 플로우들을 추출하고, 추출된 플로우들에 대한 식별정보를 포함하는 세션 정보를 생성하여 상기 DB(140)에 저장하는 것을 의미할 수 있다. 또한 상기 세션 정보와 함께 상기 세션에 포함된 패킷들 중 선행 N 개의 선행패킷을 상기 세션 정보에 대응되도록 저장하는 과정을 포함하는 의미일 수도 있다. 선행패킷을 상기 세션 정보에 대응되도록 저장하는 과정은 이미 상기 플로우 생성모듈(121)에 의해 저장된 패킷들 중 상기 선행패킷을 제외하고 삭제하는 과정을 의미할 수도 있다. 또는 세션 정보 및 상기 선행패킷은 별도로 저장될 수도 있다. 이러한 경우에는 상기 선행패킷은 이중으로 저장될 수도 있다.When a plurality of flows are stored in a storage device (eg, the DB 140) by the flow creation module 121, that is, when a plurality of flows are generated, the session creation module 122 is A session can be created based on the information about Creating a session means extracting flows forming the same session from among a plurality of generated flows, generating session information including identification information for the extracted flows, and storing it in the DB 140 . can It may also mean including the step of storing the preceding N preceding packets among packets included in the session together with the session information to correspond to the session information. The process of storing the preceding packet to correspond to the session information may refer to a process of deleting the preceding packet except for the preceding packet from among the packets already stored by the flow generating module 121 . Alternatively, the session information and the preceding packet may be stored separately. In this case, the preceding packet may be stored double.
상기 세션 생성모듈(122)이 세션을 생성하는 개념은 도 3을 참조하여 설명하도록 한다. The concept of creating a session by the session creation module 122 will be described with reference to FIG. 3 .
도 3은 본 발명의 일 실시 예에 따른 네트워크 검사 시스템 제공방법을 위한 세션, 플로우, 및 패킷을 설명하기 위한 도면이다. 3 is a diagram for explaining a session, a flow, and a packet for a method for providing a network inspection system according to an embodiment of the present invention.
도 3을 참조하면, 소정의 장치들끼리 세션(S)이 형성되면, 상기 세션(S)은 적어도 하나의 플로우(F)로 구성될 수 있다. 또한, 상기 적어도 하나의 플로우는 각각 적어도 하나의 패킷(P)으로 구성될 수 있다. Referring to FIG. 3 , when a session S is formed between predetermined devices, the session S may consist of at least one flow F. In addition, each of the at least one flow may be composed of at least one packet (P).
본 발명의 기술적 사상에 의하면, 상기 시스템(100)은 소정의 네트워크상의 일 지점을 경유하는 패킷들을 수집할 수 있다. 이는 상기 패킷추출 모듈(160)에 의해 수행될 수 있다.According to the technical idea of the present invention, the system 100 may collect packets passing through a point on a predetermined network. This may be performed by the packet extraction module 160 .
그리고 수집되는 패킷들의 패킷 속성(예컨대, 5튜플 등)에 기초하여 상기 시스템(100)은 플로우를 생성할 수 있다. 플로우의 생성방법에 대해서는 상술한 바와 같다. 이러한 플로우의 생성은 플로우 생성모듈(121)에 의해 수행될 수 있다. 각각의 플로우는 하나의 패킷만으로 구성될 수도 있고, 복수의 패킷들로 구성될 수도 있다. 또한 플로우별로 플로우 사이즈가 다를 수도 있다. In addition, the system 100 may generate a flow based on packet attributes (eg, 5-tuple, etc.) of the collected packets. The flow generation method is as described above. Generation of such a flow may be performed by the flow generation module 121 . Each flow may consist of only one packet or may consist of a plurality of packets. Also, a flow size may be different for each flow.
이처럼 플로우가 생성되면 상기 세션 생성모듈(122)은 세션을 생성할 수 있다. 그리고 상기 세션 생성모듈(122)은 생성되는 세션에 기초하여 복수의 패킷들 중 선택적으로 일부 또는 전부를 저장장치 또는 DB(140)에 저장할 수 있다. When the flow is generated in this way, the session creation module 122 may create a session. In addition, the session creation module 122 may selectively store some or all of the plurality of packets in the storage device or the DB 140 based on the generated session.
이를 위해 상기 시스템(100)에는 적어도 하나의 패킷 저장모드를 제공할 수 있다. To this end, the system 100 may provide at least one packet storage mode.
본 발명의 기술적 사상에 따라 제공되는 상기 패킷 저장모드는 적어도 세션의 초기 N개의 패킷만을 저장하는 모드를 제공할 수 있다. 구현 예에 따라서는 미리 정해진 종류의 세션에 대해서만 상기 세션을 형성하는 패킷을 전부 또는 일부(예컨대, N개)만 저장하는 모드를 제공할 수도 있다. 구현 예에 따라서는 세션(모든 세션 또는 미리 정해진 종류의 세션)에 포함된 모든 패킷을 다 저장하는 모드를 제공할 수도 있다. 각각의 모드에 대해 상기 시스템(100)은 패킷들을 무작위로 저장하는 것이 아니라 상기 세션 생성모듈(122)에 의해 생성되는 세션정보에 따라 세션을 기준으로 하는 패킷저장 모드를 제공할 수 있다. 이러한 패킷저장 모드의 일 예들은 도 6을 참조하여 후술하도록 한다.The packet storage mode provided according to the technical idea of the present invention may provide a mode for storing only the initial N packets of at least the session. According to an embodiment, a mode for storing all or a part (eg, N) of packets forming the session only for a predetermined type of session may be provided. According to an implementation example, a mode for storing all packets included in a session (all sessions or a predetermined type of session) may be provided. For each mode, the system 100 may provide a session-based packet storage mode according to the session information generated by the session creation module 122 rather than randomly storing packets. Examples of such a packet storage mode will be described later with reference to FIG. 6 .
세션을 생성하기 위해 상기 세션 생성모듈(122)은 DB(140)에 저장된 플로우 정보를 확인할 수 있다. 동일한 세션에 포함되는 플로우들은 공통되는 특성을 가질 수 있다. 따라서 상기 세션 생성모듈(122)은 상기 DB(140)에 저장된 플로우들 중 상기 공통되는 특성을 가진 플로우들을 탐색할 수 있다. 또한 플로우 정보(예컨대, 플로우 정보에 포함되는 S.T, E.T 등의 정보)에 기초하여 각각의 플로우의 시간적 우선순위를 파악할 수 있다. 상기 세션 생성모듈(122)은 각각의 세션 형성 플로우의 플로우 정보에 포함되는 플래그 정보에 기초하여 해당 세션의 최선 플로우 및 최후 플로우를 파악할 수도 있다.To create a session, the session creation module 122 may check flow information stored in the DB 140 . Flows included in the same session may have common characteristics. Accordingly, the session creation module 122 may search for flows having the common characteristic among the flows stored in the DB 140 . In addition, it is possible to determine the temporal priority of each flow based on the flow information (eg, S.T, E.T, etc. information included in the flow information). The session creation module 122 may identify the best flow and the last flow of the session based on flag information included in the flow information of each session formation flow.
따라서 상기 세션 생성모듈(122)은 특정 세션에 포함되는 적어도 하나의 플로우 즉, 세션 형성 플로우를 추출할 수 있다. 상기 세션 형성 플로우는 하나의 플로우일 수도 있고, 복수의 플로우들을 포함할 수도 있다.Accordingly, the session creation module 122 may extract at least one flow included in a specific session, that is, a session formation flow. The session formation flow may be one flow or may include a plurality of flows.
이처럼 본 발명의 기술적 사상에 따른 시스템(100)이 플로우만을 생성하는 것이 아니라, 생성한 플로우에 기초하여 세션을 생성하는 것은 세션의 초기 N(N은 자연수)개의 선행패킷에 의해 해당 세션의 중요한 특성들이 모두 파악될 수 있기 때문이다. 따라서 종래의 선행기술들이 수집되는 모든 패킷을 저장하고 검사(예컨대, DPI)하거나, 각각의 플로우별로 일정 개수의 선행패킷을 저장 및 검사하는 것에 비해 보다 적은 수의 패킷 검사만으로도 소정의 애플리케이션의 특성 또는 원하는 정보를 검사할 수 있다. 일반적으로 세션의 초기 5개 내외에 패킷을 검사하는 정도면 상기 세션에 포함되는 모든 패킷을 검사하는 것에 비해 검사의 품질에 큰 차이가 없음이 알려져 있다.As such, the system 100 according to the technical idea of the present invention does not generate only a flow, but creates a session based on the generated flow, which is an important characteristic of the session by the initial N (N is a natural number) preceding packets of the session. Because they can all be understood. Therefore, compared to the prior art of storing and inspecting (eg, DPI) all collected packets, or storing and inspecting a certain number of preceding packets for each flow, only a smaller number of packet inspections is required to determine the characteristics of a given application or You can check any information you want. In general, it is known that there is no significant difference in the quality of inspection when packets are inspected within the initial 5 or less of a session compared to inspecting all packets included in the session.
물론, 전술한 바와 같이 네트워크의 특성이나 보안의 강도에 따라 적어도 하나의 패킷 저장모드들이 제공되고, 상기 세션 생성모듈(122)은 적어도 하나의 패킷 저장모드 중에서 현재 설정된 설정모드에 상응하도록 패킷을 저장할 수 있다. Of course, as described above, at least one packet storage mode is provided according to network characteristics or security strength, and the session creation module 122 stores a packet corresponding to a currently set setting mode among at least one packet storage mode. can
또한, 본 발명의 기술적 사상에 의하면 저장패킷에 대한 패킷검사 프로세스의 검사대상이 되는 패킷의 양을 줄일 수 있게 되는 효과가 있다. 따라서 스토리지에 대한 이득이 발생할 수 있는 효과가 있다. In addition, according to the technical idea of the present invention, there is an effect that it is possible to reduce the amount of packets to be inspected in the packet inspection process for stored packets. Therefore, there is an effect that a gain for storage may occur.
또한, 본 발명의 기술적 사상과 같이 패킷으로부터 플로우를 생성하고, 생성된 플로우를 이용하여 세션까지 생성하는 경우에는 특정 서비스 이용자가 패킷을 서치할 때에도 고속의 패킷 서치가 가능한 효과가 있다. 즉, 상기 시스템(100)이 세션의 초기 N개의 선행패킷만을 저장하는 것이 아니라 수집되는 모든 패킷을 저장할 수도 있는데, 이러한 경우에는 세션을 생성함으로써 생성되는 세션정보를 가장 먼저 탐색하여 원하는 패킷에 상응하는 세션을 탐색하고, 탐색된 세션으로부터 원하는 패킷에 상응하는 플로우를 탐색한 후 탐색된 플로우에 기초하여 패킷을 검색함으로써 고속의 다운드릴 서치가 가능한 효과가 발생한다. 왜냐하면 플로우만을 생성하는 경우에는 최악의 경우에 플로우의 개수만큼 서치를 수행한 후에 패킷을 서치할 수 있지만, 세션이 형성된 경우에는 최악의 경우에 세션의 개수만큼만 서치를 수행한 후, 빠른 시간에 해당 패킷에 상응하는 플로우 및 패킷을 탐색할 수 있기 때문이다. 물론, 초기 N 개의 선행패킷만을 저장하는 경우에도 이러한 효과는 여전히 존재한다. 또한, 패킷을 서치하고자 하는 서비스 이용자는 세션에 대한 정보는 알고 있을 수 있지만, 플로우에 대한 정보는 알지 못하는 경우도 존재할 수 있다. 따라서 본 발명의 기술적 사상과 같이 세션을 생성하는 경우에는 네트워크 리코딩 서비스에서 효율적이고 고속의 패킷 서칭이 가능해지는 효과가 있다.In addition, as in the technical idea of the present invention, when a flow is generated from a packet and a session is created using the generated flow, high-speed packet search is possible even when a specific service user searches for a packet. That is, the system 100 may store all collected packets rather than only the initial N preceding packets of the session. A high-speed down-drill search is possible by searching for a session, searching for a flow corresponding to a desired packet from the searched session, and then searching for a packet based on the searched flow. Because, in the case of creating only flows, in the worst case, packets can be searched after performing a search as many as the number of flows. This is because the flow and packet corresponding to the packet can be searched for. Of course, even when only the initial N preceding packets are stored, this effect still exists. Also, a service user who wants to search for a packet may know the session information, but may not know the flow information. Accordingly, when a session is created as in the technical idea of the present invention, efficient and high-speed packet searching is possible in the network recording service.
구현 예에 따라서 상기 시스템(100)에 포함된 세션 생성모듈(122)은 수집되는 패킷들 중 N개의 선행패킷보다는 많은 M개의 패킷 즉, 저장패킷들을 저장할 수도 있다. 이러한 경우에도 상기 시스템(100)은 상기 선행패킷에 대해서만 패킷 검사를 실시할 수 있다. 또한 M개의 저장패킷을 저장해둠으로써 패킷 검사뿐만 아니라 패킷 서치에도 원하는 패킷이 탐색될 가능성을 높여줄 수 있다. M은 서비스의 종류, 서비스 이용자의 요구에 따라 또는 상기 세션이 이용되는 애플리케이션의 종류에 따라 적응적으로 설정될 수 있다.According to an embodiment, the session creation module 122 included in the system 100 may store M packets, that is, storage packets, which are more than N preceding packets, among the collected packets. Even in this case, the system 100 may perform packet inspection only on the preceding packet. In addition, by storing M stored packets, it is possible to increase the possibility that a desired packet is found not only for packet inspection but also for packet search. M may be adaptively set according to the type of service, the request of the service user, or the type of application in which the session is used.
다시 도 1을 참조하면, 상기 세션 생성모듈(122)은 상기 플로우 생성모듈(121)이 생성한 복수의 플로우들에 기초하여 세션을 생성할 수 있다. 즉, 세션정보를 생성할 수 있다. Referring back to FIG. 1 , the session generating module 122 may create a session based on a plurality of flows generated by the flow generating module 121 . That is, session information can be generated.
상기 세션 정보는 적어도 상기 세션에 포함되는 적어도 하나의 플로우 즉, 세션 형성 플로우들 각각의 인덱스(식별정보)를 포함할 수 있다. 또한, 상기 세션의 특성을 나타내는 다양한 정보들이 상기 세션 정보에 더 포함될 수 있다.The session information may include at least an index (identification information) of at least one flow included in the session, that is, each of the session forming flows. In addition, various pieces of information indicating characteristics of the session may be further included in the session information.
이러한 세션 정보의 생성을 통해 전술한 바와 같이 고속의 패킷 서칭이 가능할 수 있으며, 또한 세션의 생성을 통해 세션의 초기 N개의 선행패킷만을 특정할 수도 있다. As described above, high-speed packet searching may be possible through the generation of the session information, and only the initial N preceding packets of the session may be specified through the generation of the session.
도 4를 참조하여 본 발명의 패킷들이 저장되는 개념적인 구조를 설명하면 다음과 같을 수 있다.A conceptual structure in which packets of the present invention are stored will be described with reference to FIG. 4 as follows.
도 4는 본 발명의 일 실시 예에 따른 네트워크 검사 시스템 제공방법에 따른 패킷 서치를 수행하는 개념을 설명하기 위한 도면이다. 4 is a diagram for explaining the concept of performing a packet search according to a method for providing a network inspection system according to an embodiment of the present invention.
도 4를 참조하면, 상기 세션 생성모듈(122)은 전술한 바와 같이 소정의 세션을 생성할 수 있다. 세션의 생성을 통해 생성되는 세션 정보에는 도 4에 도시된 바와 같이 적어도 상기 세션에 포함되는 세션 형성 플로우의 식별정보가 포함될 수 있다.Referring to FIG. 4 , the session creation module 122 may create a predetermined session as described above. As shown in FIG. 4 , the session information generated through the session creation may include at least identification information of a session formation flow included in the session.
또한, 상기 세션 정보에는 상기 세션의 5-튜플에 대한 정보, 시작시간(S.T) 및 종료시간(E.T), 패킷 카운트(P,C), 세션 사이즈(S.S)등에 대한 정보들이 더 포함될 수 있다.In addition, the session information may further include information on 5-tuple of the session, start time (S.T) and end time (E.T), packet counts (P,C), session size (S.S), and the like.
상기 시스템(100)에 포함된 패킷 서치모듈(150)은 서비스 이용자의 단말기(미도시)로부터 수신되는 패킷 서치 요청에 응답하여, 상기 패킷 서치 요청에 상응하는 세션을 가장 먼저 탐색할 수 있다. 상기 패킷 서치 요청에는 상기 세션정보에 포함된 정보들이 적어도 하나 포함될 수 있음은 물론이다. 예컨대, 송신자 주소, 수신자 주소, 및 시간 정보 등이 상기 패킷 서치요청에 포함될 수 있다.The packet search module 150 included in the system 100 may first search for a session corresponding to the packet search request in response to a packet search request received from a service user's terminal (not shown). Of course, the packet search request may include at least one piece of information included in the session information. For example, a sender address, a receiver address, and time information may be included in the packet search request.
그러면 상기 패킷 서치모듈(150)은 상기 세션 정보에 포함된 세션 형성 플로우들 각각의 플로우 정보를 탐색하여 패킷 서치 요청에 상응하는 플로우를 탐색할 수 있다. 그리고 상기 패킷 서치 요청에 상응하는 플로우가 탐색되면, 상기 패킷 서치모듈(150)은 용이하게 상기 패킷 서치 요청에 상응하는 패킷을 상기 DB(140)로부터 탐색할 수 있다. 물론, 구현 예에 따라 상기 시스템(100)이 선행패킷만을 저장하는 경우에는 패킷 서치 요청에 상응하는 패킷은 존재하지 않을 수도 있다. 또한 모든 패킷들을 저장하는 경우에는 패킷 서치 요청에 상응하는 패킷은 탐색됨이 보장될 수도 있다.Then, the packet search module 150 may search for a flow corresponding to the packet search request by searching for flow information of each of the session forming flows included in the session information. And when a flow corresponding to the packet search request is found, the packet search module 150 can easily search for a packet corresponding to the packet search request from the DB 140 . Of course, depending on the implementation, when the system 100 stores only the preceding packet, the packet corresponding to the packet search request may not exist. Also, when all packets are stored, it may be guaranteed that the packet corresponding to the packet search request is searched.
결국, 본 발명의 기술적 사상은 패킷으로부터 플로우를 생성하고, 플로우로부터 세션을 생성한 후, 패킷을 서치할 때에는 세션, 플로우, 및 패킷 순으로 다운드릴 고속 서치가 가능해지는 효과가 있다.As a result, the technical idea of the present invention has the effect of enabling a high-speed down-drilling search in the order of session, flow, and packet when a packet is searched after a flow is created from a packet and a session is created from the flow.
이러한 고속 서치는 시간상의 보안 공백을 줄일 수 있는 효과가 있다. 즉 시간상의 보안 공백에 의해 공격을 당한 대상 네트워크 또는 대상 시스템에 대해 빨리 대응을 할 수 있도록 하는 것이 매우 중요한데, 이를 위해서는 시간상의 보안 공백에 의한 패킷서치가 빨리 이루어져야 하기 때문이다.Such a high-speed search has the effect of reducing the security gap in time. That is, it is very important to be able to quickly respond to the target network or target system that has been attacked by the security gap in time, because for this purpose, packet search due to the security gap in time must be performed quickly.
한편, 이처럼 서치가 이루어진 결과로 획득되는 패킷에 대해서, 상기 제어모듈(130)은 DPI(Deep packet Inspection) 등을 통해 패킷의 프로토콜 정보 및 관련 메타 데이터(URL, 또는 기타 패킷 속성(5-Tuple)에 포함된 정보) 등)를 추출할 수 있다. Meanwhile, for a packet obtained as a result of such a search, the control module 130 performs protocol information and related metadata (URL, or other packet attribute (5-Tuple) of the packet through deep packet inspection (DPI)). information contained in ), etc.) can be extracted.
그리고 이처럼 추출된 정보를 이용하여 제로데이 공격을 통해 이루어진 일련의 행위를 정형화된 데이터 모델로 정의할 수 있다. 이처럼 제로데이 공격에 의해 이루어진 일련의 행위(제로데이 공격에 사용된 패킷들에 의해 이루어진 행위들)를 미리 정해진 정형화된 데이터로 표현하는 경우, 이러한 데이터 모델을 소정의 딥러닝 모델로 학습하여 제로데이 공격에서 이루어진 행위들의 피쳐(fearutre) 또는 특징을 상기 딥러닝 모델이 학습하도록 할 수 있다. And by using this extracted information, a series of actions made through a zero-day attack can be defined as a standardized data model. In this way, when a series of actions made by a zero-day attack (actions made by packets used in a zero-day attack) are expressed as predetermined standardized data, these data models are trained with a predetermined deep learning model to achieve zero-day It is possible to allow the deep learning model to learn a feature or characteristic of actions made in an attack.
그러면 추후에는 패킷 검사에 의해 네트워크 위협이 탐지될 뿐만 아니라, 특정 행위가 이루어진 경우에 이를 네트워크 위협에 의해 발생한 행위일 가능성이 높다고 판단할 수 있어서 네트워크 보안의 큰 향상이 이루어질 수 있다. Then, network threats are detected by packet inspection later, and when a specific action is performed, it can be determined that it is highly likely to be an action caused by a network threat, thereby greatly improving network security.
또한 전술한 바와 같이 본 발명의 기술적 사상에 의하면, 선행 N 패킷들이 저장되어 있어서 상대적으로 오랜 기간 동안의 패킷들이 저장되어 있을 수 있고, 새로운 신규 보안 룰(탐지규칙)이 업데이트 된 경우에는 이러한 신규 보안 룰을 이용하여 저장된 패킷들이 제로데이 공격에 사용되었는지 여부가 검사될 수 있다.In addition, according to the technical idea of the present invention as described above, since the preceding N packets are stored, packets for a relatively long period may be stored, and when a new new security rule (detection rule) is updated, this new security Whether the stored packets are used in a zero-day attack can be checked using the rule.
그리고 이러한 검사를 통해 제로데이 공격에 사용된 패킷들 및 이러한 패킷들에 의해 공격받은 네트워크(또는 네트워크 장비)에서 행해진 행위들이 파악될 수 있고 이를 딥러닝 모델이 학습하기 용이한 정형화된 데이터 모델로 표현(생성)하는 경우 자동으로 딥러닝 학습용 학습 데이터가 라벨링되어 생성되는 효과가 있다.And through this inspection, the packets used in the zero-day attack and the actions performed in the network (or network equipment) attacked by these packets can be identified and expressed as a standardized data model that is easy for the deep learning model to learn. In the case of (creation), training data for deep learning learning is automatically labeled and has the effect of being generated.
이처럼 딥러닝 모델을 통해 제로데이 공격의 행위패턴을 학습하고 이를 이용해 네트워크 보안에 이용하는 방식에 대해서는 구체적으로 후술하도록 한다.As such, the method of learning the behavior pattern of a zero-day attack through a deep learning model and using it for network security will be described in detail later.
다시 도 1을 참조하면, 상기 제어모듈(130)은 세션 생성모듈(122)에 의해 저장된 패킷들에 대해 패킷 검사를 수행할 수 있다. 일 예에 의하면 상기 세션 생성모듈(122)은 세션별로 선행패킷들만을 저장장치 또는 DB(140)에 저장할 수 있고, 이러한 경우 각각의 세션의 선행패킷들을 대상으로 패킷 검사를 수행할 수 있다. 패킷 검사를 수행하는 방식은 다양할 수 있으며, 예컨대 종래의 DPI(Deep Packet Inspection) 등이 이용될 수도 있다. Referring back to FIG. 1 , the control module 130 may perform a packet inspection on the packets stored by the session creation module 122 . According to an example, the session creation module 122 may store only the preceding packets for each session in the storage device or the DB 140, and in this case, may perform packet inspection on the preceding packets of each session. There may be various methods for performing packet inspection, for example, a conventional Deep Packet Inspection (DPI) or the like may be used.
또한 데이터 생성모듈(170)은 패킷 검사를 통해 네트워크 위협(제로데이 공격 포함)으로 발생되는 일련의 행위들의 행위패턴을 정형화된 데이터 모델로 생성할 수 있다. 이를 위해 상기 제어모듈(130)은 패킷 검사를 통해 상기 정형화 데이터를 생성하기 위해 필요한 정보들, 예컨대, 소스 주소, 목적지 주소, 프로토콜 등을 패킷으로부터 추출하고, 이를 상기 데이터 생성모듈(170)로 전달할 수 있다.In addition, the data generation module 170 may generate an action pattern of a series of actions generated as a network threat (including a zero-day attack) as a standardized data model through packet inspection. To this end, the control module 130 extracts information necessary to generate the standardized data through packet inspection, for example, a source address, a destination address, a protocol, etc. from a packet, and transmits it to the data generation module 170 . can
일 례에 의하면 상기 제어모듈(130)은 제로데이 공격을 탐지할 수 있는 보안 룰이 업데이트 되면, 상기 보안 룰을 이용하여 제로데이 공격에 이용되는 패킷들을 패킷 검사를 통해 추출할 수 있다. According to an example, when a security rule capable of detecting a zero-day attack is updated, the control module 130 may extract packets used for the zero-day attack through packet inspection by using the security rule.
그러면 상기 데이터 생성모듈(170)은 상기 제로데이 공격을 받은 장치(또는 장치들)(예컨대, 공격당한 네트워크에 존재하는 호스트 등)의 행위들(예컨대, 정보의 전송, 삭제, 변경 등)을 검출하고, 검출된 행위들을 정형화된 데이터 모델 즉, 정형화 데이터로 생성할 수 있다.Then, the data generation module 170 detects actions (eg, transmission, deletion, change of information, etc.) of the device (or devices) that has been subjected to the zero-day attack (eg, a host existing in the attacked network, etc.) And, the detected behaviors may be generated as a standardized data model, that is, standardized data.
물론, 제로데이 공격을 받은 장치들의 모든 행위가 상기 제로데이 공격에 의해 발생되는 것은 아닐 수 있으며, 정상적인 동작을 수행하는 경우가 존재할 수도 있다. 따라서 상기 데이터 생성모듈(170)은 공격을 받은 적어도 하나의 장치의 행위 및 상기 장치와 연결된 장치들의 일련의 행위에 대한 정형화 데이터를 생성할 수 있다. 그리고 이중에는 제로데이 공격으로 인한 행위와 정상적인 행위가 모두 포함될 수 있다.Of course, not all actions of the devices subjected to the zero-day attack may be generated by the zero-day attack, and there may be cases in which a normal operation is performed. Accordingly, the data generation module 170 may generate standardized data for an action of at least one device that has been attacked and a series of actions of devices connected to the device. And among them, both behaviors resulting from a zero-day attack and normal behaviors may be included.
상기 데이터 생성모듈(170)은 제로데이 공격을 받은 장치뿐만 아니라 다수의 장치들 및 이들의 통신을 통해 이루어지는 다수의 행위들을 정형화 데이터로 생성할 수 있고, 이 중에서 제로데이 공격을 받은 이후의 행위들에 대응되는 정형화 데이터를 제로데이 공격을 받았다고 라벨링할 수 있다.The data generation module 170 may generate not only the device subjected to the zero-day attack, but also a plurality of devices and a plurality of actions made through their communication as standardized data, among them, actions after receiving the zero-day attack It is possible to label the standardized data corresponding to the zero-day attack.
그러면 상기 제어모듈(130)은 제로데이 공격을 받았다고 라벨링된 정형화 데이터와 그렇지 않은 정형화 데이터들을 학습하고, 이로부터 제로데이 공격을 받은 장치 또는 장치들의 특징적 행위패턴을 구분할 수 있는 행위패턴 판단모델을 생성할 수 있다. Then, the control module 130 learns the standardized data labeled that the zero-day attack has been received and the standardized data that is not, and generates a behavior pattern determination model that can distinguish the device or the characteristic behavior patterns of the devices that have been subjected to the zero-day attack from this. can do.
이러한 행위패턴 판단모델은 다수의 라벨링된 정형화 데이터를 입력데이터로 입력받아 학습하여, 제로데이 공격을 받은 장치들만의 특징적인 행위패턴들을 판단할 수 있도록 학습된 딥러닝 모델일 수 있다. This behavior pattern determination model may be a deep learning model trained to receive and learn a plurality of labeled standardized data as input data to determine characteristic behavior patterns of only devices that have been subjected to a zero-day attack.
이러한 딥러닝 모델은 과거로부터 연속된 데이터를 학습할 수 있는 RNN, LSTM 등의 모델이 이용될 수 있으며, 이러한 딥러닝 모델의 입력 데이터로는 상기 정형화 데이터(예컨대, 지향성 그래프)가 이용될 수 있다.As such a deep learning model, a model such as RNN or LSTM that can learn continuous data from the past may be used, and the normalized data (eg, directed graph) may be used as input data of such a deep learning model. .
상기 제어모듈(130)이 생성한 행위패턴 판단모델은 상기 데이터 생성모듈(170)이 생성하는 학습 데이터를 이용하여 학습이 된 후에는, 소정의 패킷을 수신한 장치로 인해 소정의 행위패턴이 발생한 경우 발생한 행위패턴이 제로데이 공격의 특징을 갖는 행위패턴인지 그렇지 않은지를 판단할 수 있다. After the behavior pattern determination model generated by the control module 130 is learned using the learning data generated by the data generation module 170, a predetermined behavior pattern is generated by the device receiving the predetermined packet. In this case, it can be determined whether the generated behavior pattern is a behavior pattern having the characteristics of a zero-day attack or not.
이를 위해 상기 데이터 생성모듈(170)은 실시간으로 네트워크를 통과하는 패킷들로 인해 발생하는 행위패턴들에 상응하는 정형화 데이터를 생성하고, 생성한 정형화 데이터를 상기 행위패턴 판단모델로 입력할 수 있다. 그러면 상기 행위패턴 판단모델은 입력된 정형화 데이터가 제로데이 공격에 상응하는 행위패턴인지 아닌지를 판단할 수 있다.To this end, the data generation module 170 may generate standardized data corresponding to action patterns generated by packets passing through the network in real time, and input the generated standardized data into the action pattern determination model. Then, the behavior pattern determination model may determine whether the input standardized data is a behavior pattern corresponding to a zero-day attack.
결국 본 발명의 기술적 사상에 의하면, 제로데이 공격에 해당하는 보안 룰이 알려져서 보안장비에 업데이트된 후에는 패킷 검사를 통해 제로데이 공격에 상응하는 악성 코드가 존재하는지를 검사하는 보안대책을 적용하는 것과 더불어, 제로데이 공격에 상응하는 독특한 행위패턴들을 별도로 검사할 수 있는 효과가 있다.After all, according to the technical idea of the present invention, after the security rule corresponding to the zero-day attack is known and updated in the security device, a security measure is applied to check whether a malicious code corresponding to the zero-day attack exists through packet inspection. , it has the effect of separately examining the unique behavior patterns corresponding to the zero-day attack.
이는 통상 특정 악성코드가 알려지더라도 상기 특정 악성코드가 수행하는 악의적인 공격행위가 모두 알려지지 않을 수 있으며, 또한 새로운 형태의 제2제로데이 공격, 제3제로데이 공격 등이 발생할 수 있는데 이때에는 해당하는 악성코드에 해당하는 보안 룰이 개발되기 전까지는 아무런 대책이 없을 수도 있다.In general, even if a specific malicious code is known, all malicious attack actions performed by the specific malicious code may not be known, and new types of second zero-day attacks and third zero-day attacks may occur. There may be no countermeasures until security rules corresponding to malicious code are developed.
하지만 본 발명의 기술적 사상에 따라 다수의 악성코드의 행위패턴들이 학습되면, 아직 검사 룰 즉, 탐지규칙이 밝혀지지 않은 새로운 제로데이 공격이 발생할 경우 패킷검사 자체로는 공격을 방어할 수 없지만 행위패턴에 기반하여 종래의 다른 악의적 공격과 유사한 행위패턴이 발생했는지를 알 수 있으므로 매우 보안성이 강화되는 효과가 있다.However, when the behavior patterns of multiple malicious codes are learned according to the technical idea of the present invention, when a new zero-day attack occurs for which no inspection rule, that is, a detection rule, occurs, packet inspection itself cannot prevent the attack, but the behavior pattern Based on this, it is possible to know whether a behavior pattern similar to that of other conventional malicious attacks has occurred, so there is an effect of greatly enhancing security.
한편, 상기 제어모듈(130)의 패킷 검사결과는 상기 DB(140)에 저장될 수 있음은 물론이다. 또한 제어모듈(130)에 의해 상기 선행패킷만 패킷 검사가 수행될 수 있으므로, 세션이 종료되기 전에 상기 세션에 대한 패킷 검사가 실시간으로 완료될 수도 있다.Meanwhile, it goes without saying that the packet inspection result of the control module 130 may be stored in the DB 140 . In addition, since packet inspection can be performed only on the preceding packet by the control module 130 , the packet inspection for the session may be completed in real time before the session is terminated.
또한, 전술한 바와 같이 본 발명의 기술적 사상에 의하면 세션별 미리 설정된 개수의 선행패킷들만을 저장하는 경우, 현재의 네트워크 패킷들을 실시간으로 검사할 수 있는 것뿐만 아니라, 고속으로 과거의 패킷들(즉, 기저장된 선행패킷들)을 검사할 수 있다. 즉, 과거에 대해서도 소급적으로 네트워크 검사가 가능한 효과가 있으며, 이러한 경우에는 이미 네트워크 공격을 받은 경우라도 적어도 네트워크 공격을 받았다는 사실을 고속으로 확인하고 공격받은 시스템(예컨대, 패킷들의 목적지)에 통보할 수도 있는 효과가 있다.In addition, according to the technical idea of the present invention as described above, when only a preset number of preceding packets for each session are stored, current network packets can be inspected in real time, and past packets (that is, , pre-stored preceding packets) can be checked. In other words, it has the effect of retrospectively inspecting the network even in the past. It may have an effect.
한편, 본 발명의 기술적 사상에 의하면, 전술한 바와 같이 상기 시스템(100)은 네트워크 리코딩 서비스에 이용될 수도 있다. 네트워크 리코딩을 위해서는 종래에는 수집되는 모든 패킷들을 저장해야 했지만, 본 발명의 기술적 사상에 의하면 세션을 형성함으로써 세션의 초기 N 개의 선행패킷만을 저장함으로써 저장 패킷의 양을 확연히 줄이면서도 중요한 정보들은 저장할 수 있게 된다. 물론, 서비스의 필요에 따라 M개의 저장패킷을 저장할 수도 있다. 이러한 경우에도 전체 패킷을 수집/저장하는 것에 비해 스토리지의 절약효과는 존재한다.Meanwhile, according to the technical idea of the present invention, as described above, the system 100 may be used for a network recording service. For network recording, all collected packets had to be stored in the prior art, but according to the technical idea of the present invention, by forming a session, only the initial N preceding packets of the session are stored, so that the amount of stored packets can be significantly reduced and important information can be stored. do. Of course, M storage packets may be stored according to the needs of the service. Even in this case, there is an effect of saving storage compared to collecting/storing the entire packet.
또한 본 발명의 기술적 사상에 의하면, 상기 시스템(100)은 미리 정해진 종류의 세션에 해당하는 패킷들만 저장할 수도 있다. 예컨대, 상기 시스템(100)은 HTTP, TCP 세션 등 미리 정해진 세션에 대해서만 네트워크 레코딩을 수행할 수 있다. Also, according to the technical idea of the present invention, the system 100 may store only packets corresponding to a predetermined type of session. For example, the system 100 may perform network recording only for a predetermined session, such as an HTTP or TCP session.
이처럼 미리 정해진 세션에 대해서만 네트워크 레코딩을 수행하는 기능은 상기 플로우 생성모듈(121)에 의해 수행될 수도 있고, 상기 세션 생성모듈(122)에 의해 생성될 수도 있다. 예컨대, 상기 플로우 생성모듈(121)은 패킷추출 모듈(160)에 의해 수집되는 패킷들 중 미리 정해진 세션에 해당하는 패킷들만을 대상으로 플로우를 생성할 수 있다. 또는 상기 플로우 생성모듈(121)은 모든 패킷들을 대상으로 플로우를 생성한 후, 상기 세션 생성모듈(122)이 생성된 플로우 중 미리 정해진 세션에 해당하지 않는 플로우는 상기 DB(140)로부터 삭제할 수도 있다.As such, the function of performing network recording only for a predetermined session may be performed by the flow generating module 121 or may be generated by the session generating module 122 . For example, the flow generating module 121 may generate a flow targeting only packets corresponding to a predetermined session among the packets collected by the packet extraction module 160 . Alternatively, after the flow generating module 121 generates a flow for all packets, a flow that does not correspond to a predetermined session among the generated flows by the session generating module 122 may be deleted from the DB 140 . .
상기 미리 정해진 세션에 해당하는지 여부는 패킷들의 포트정보에 기초하여 파악할 수 있다. 즉, 세션의 종류에 따라 포트번호가 바인딩(binding)될 수 있고, 이러한 포트번호에 기초하여 미리 정해진 세션에 해당하는 패킷 또는 플로우인지가 판단될 수 있다. Whether the session corresponds to the predetermined session may be determined based on port information of packets. That is, a port number may be bound according to the type of session, and whether a packet or a flow corresponding to a predetermined session may be determined based on the port number.
구현 예에 따라서는, 상기 패킷추출 모듈(160)이 미리 정해진 세션에 해당하는 패킷만을 상기 플로우 생성모듈(121)로 전송할 수도 있다.According to an embodiment, the packet extraction module 160 may transmit only packets corresponding to a predetermined session to the flow generation module 121 .
어떠한 경우든 상기 시스템(100)은 미리 정해진 세션에 대해서만 네트워크 레코딩을 수행할 수도 있다.In any case, the system 100 may perform network recording only for a predetermined session.
결국, 본 발명의 기술적 사상에 의하면 종래의 네트워크 레코딩에 비해 저장되는 패킷의 절대적인 양이 줄어들 수 있고, 또한 원하는 세션에 대해서만 네트워크 레코딩이 수행될 수도 있다. As a result, according to the technical idea of the present invention, the absolute amount of stored packets can be reduced compared to the conventional network recording, and network recording can be performed only for a desired session.
이를 개념적으로 도시하면 도 5와 같을 수 있다.This may be conceptually shown in FIG. 5 .
도 5는 본 발명의 일 실시 예에 따른 네트워크 검사 시스템 제공방법에 따른 효과를 설명하기 위한 도면이다.5 is a diagram for explaining an effect of a method for providing a network inspection system according to an embodiment of the present invention.
도 5를 참조하면, 직사각형의 가로축은 세션 사이즈를 개념적으로 나타내고 세로축은 세션들을 개념적으로 나타낸다. 따라서 도 5에 도시된 사각형(10)은 수집되는 패킷들을 모두 저장하는 경우의 저장되는 패킷 양을 의미할 수 있다. Referring to FIG. 5 , a horizontal axis of a rectangle conceptually represents a session size, and a vertical axis conceptually represents sessions. Accordingly, the rectangle 10 shown in FIG. 5 may mean the amount of stored packets when all the collected packets are stored.
본 발명의 기술적 사상에 따른 시스템(100)은 특정 세션에 포함되는 패킷들 전부를 저장하는 것이 아니라, N 개의 선행패킷만(또는 M개의 저장패킷)을 저장할 수 있으므로 각 세션별로 저장되는 패킷의 양이 줄어들 수 있는 효과가 있다.The system 100 according to the technical idea of the present invention does not store all packets included in a specific session, but only N preceding packets (or M storage packets), so the amount of packets stored for each session This has the effect of reducing it.
또한, 본 발명의 기술적 사상에 따른 시스템(100)은 모든 세션들에 대해 패킷을 저장하는 것이 아니라, 미리 정해진 종류의 세션만을 저장할 수 있으므로 미리 정해진 종류에 해당하지 않는 세션들(D에 해당)에 대해서는 아예 패킷 저장이 이루어지지 않을 수 있는 효과가 있다. In addition, the system 100 according to the technical idea of the present invention does not store packets for all sessions, but can store only a predetermined type of session, so that the system 100 does not store packets of a predetermined type (corresponding to D). There is an effect that packet storage may not be performed at all.
이처럼 본 발명의 기술적 사상에 의하면 저장하는 패킷의 절대적인 양을 줄이면서도 패킷 검사에 유의미한 패킷들만 선택적으로 저장함으로 고속의 패킷 서치가 가능해지는 효과가 있다. 이와 동시에 전술한 바와 같이 세션 정보, 플로우 정보 순으로의 드릴다운 서치를 통해 고속의 패킷 서치가 가능해지는 효과가 있다.As described above, according to the technical idea of the present invention, high-speed packet search is possible by selectively storing only packets meaningful for packet inspection while reducing the absolute amount of packets to be stored. At the same time, as described above, there is an effect that a high-speed packet search is possible through the drill-down search in the order of session information and flow information.
도 6은 본 발명의 일 실시 예에 따른 네트워크 검사 시스템 제공방법을 통한 복수의 패킷저장 모드를 설명하기 위한 도면이다.6 is a diagram for explaining a plurality of packet storage modes through a method for providing a network inspection system according to an embodiment of the present invention.
도 6을 참조하면, 직사각형의 가로축은 세션 사이즈를 개념적으로 나타내고 세로축은 세션들을 개념적으로 나타낸다. 따라서 도 6에 도시된 사각형(10)은 수집되는 패킷들을 모두 저장하는 경우의 저장되는 패킷 양을 의미할 수 있으며, 빗금친 영역(20)은 실제로 상기 세션 생성모듈(122)에 의해 저장된 패킷의 양을 나타낼 수 있다.Referring to FIG. 6 , the horizontal axis of the rectangle conceptually represents the session size, and the vertical axis conceptually represents the sessions. Accordingly, the rectangle 10 shown in FIG. 6 may mean the amount of stored packets when all the collected packets are stored, and the shaded area 20 is the number of packets actually stored by the session creation module 122 . quantity can be expressed.
우선 도 6a는 패킷들을 저장하지 않는 경우를 나타내며, 이러한 경우에는 본 발명의 기술적 사상에 따라 실시간으로 패킷을 검사하는 경우를 나타낼 수 있다. 이때에는 종래의 DPI와 같은 기능을 수행할 수 있다. 하지만 이때에도 본 발명의 기술적 사상에 의하면 세션을 생성하고 생성된 세션의 선행패킷들만을 고속으로 검사할 수 있는 효과가 있다.First, FIG. 6A shows a case in which packets are not stored, and in this case, a case in which packets are inspected in real time according to the technical idea of the present invention may be shown. In this case, the same function as the conventional DPI can be performed. However, even at this time, according to the technical idea of the present invention, there is an effect of generating a session and inspecting only preceding packets of the created session at high speed.
도 6b는 미리 정해진 종류의 세션에 대해서만 상기 세션의 모든 패킷을 검사하는 경우를 개념적으로 도시하고 있다. 도 6c는 모든 세션에 대해서 초기 N개의 선행패킷들을 저장하는 경우를 개념적으로 도시하고 있다.6B conceptually illustrates a case in which all packets of a session of a predetermined type are checked only for a session. 6C conceptually illustrates a case of storing initial N preceding packets for all sessions.
도 6d는 미리 정해진 종류에 세션에 대해서 초기 N개의 선행패킷들을 저장하는 경우를 개념적으로 도시하고 있다. 또한, 도 6e는 모든 세션에 대해 모든 패킷들을 저장하는 경우를 개념적으로 도시하고 있다.FIG. 6D conceptually illustrates a case of storing initial N preceding packets for a session in a predetermined type. Also, FIG. 6E conceptually illustrates a case of storing all packets for all sessions.
이와 같이 상기 시스템(100)은 도 6에 도시된 바와 같은 적어도 하나의 패킷저장 모드를 제공하며, 이 중에서 현재의 네트워크에 대해 설정된 설정모드에 따라 상기 시스템(100)은 적응적으로 패킷을 저장할 수 있다. 설정모드는 네트워크의 특성 또는 요구되는 보안성의 강도에 따라 적응적으로 선택될 수 있음은 물론이다.As such, the system 100 provides at least one packet storage mode as shown in FIG. 6 , and among them, the system 100 can adaptively store packets according to a setting mode set for the current network. have. Of course, the setting mode may be adaptively selected according to network characteristics or required security strength.
도 7은 본 발명의 일 실시 예에 따라 과거의 네트워크 공격을 효과적으로 검사할 수 있는 개념을 설명하기 위한 도면이다.7 is a diagram for explaining a concept capable of effectively examining past network attacks according to an embodiment of the present invention.
즉, 시간상의 보안 공백을 줄일 수 있는 개념을 설명하기 위한 도면이다. 우선 도 7a는 종래의 네트워크 보안 시스템(예컨대, DPI)의 동작 개념을 예시적으로 나타내고 있다. 예컨대, 소정의 시점(t1)에서 신규 네트워크 위협이 발생할 수 있다. 이러한 신규 네트워크 위협에 상응하는 네트워크 검사 룰(예컨대, 신규 위협을 나타내는 패킷 시그너쳐 등)은 일정 시간이 지난 후(t2)에 설정될 수 있으며, 이러한 경우 종래의 네트워크 보안 시스템은 상기 시점(t2) 이후에만 상기 신규 네트워크 위협에 대응할 수 있게 된다. 즉, 시점(t1) 및 시점(t2) 사이에 실제로 네트워크 공격이 있었다고 하더라도 이를 인지할 수 없는 문제점이 있다. That is, it is a diagram for explaining a concept capable of reducing a security gap in time. First, FIG. 7A exemplarily illustrates the operation concept of a conventional network security system (eg, DPI). For example, a new network threat may occur at a predetermined time point t1. A network inspection rule (eg, a packet signature indicating a new threat, etc.) corresponding to such a new network threat may be set after a certain period of time (t2). only in response to the new network threat. That is, there is a problem in that even if there is an actual network attack between the time points t1 and t2, it cannot be recognized.
물론 종래에도 네트워크 검사 시스템(예컨대, DPI) 및 네트워크 레코딩 시스템을 모두 사용하는 경우에는 시점(t1) 및 시점(t2) 사이에 네트워크 공격을 인지할 수도 있다. 하지만 이러한 경우에도 종래의 네트워크 레코딩은 본 발명의 기술적 사상에 비해 많은 수의 패킷들이 저장되어야 했고 이에 따라 고속으로 과거의 네트워크 공격을 인지하거나 이에 따른 대응을 할 수 없는 문제점이 있었다. Of course, when both a network inspection system (eg, DPI) and a network recording system are used in the prior art, a network attack may be recognized between time points t1 and t2. However, even in this case, in the conventional network recording, a large number of packets had to be stored compared to the technical idea of the present invention, and thus there was a problem in that it was not possible to recognize or respond to a past network attack at high speed.
이에 비해 도 7b에 도시된 바와 같은 본 발명의 기술적 사상에 따른 네트워크 검사 방법에 의하면 시점(t1) 및 시점(t2) 사이에 네트워크 레코딩이 수행되면서도 적은 수의 패킷들의 저장만으로도 네트워크 레코딩이 수행될 수 있는 효과가 있다. 이를 통해 고속으로 과거의 네트워크에 대해서 소급적인 네트워크 검사가 수행될 수 있고, 이를 통해 공격된 대상에 대한 빠른 조치가 가능해질 수 있는 효과가 있다. 물론, 시점(t2) 이후에는 실시간으로 고속의 네트워크 검사가 가능할 수 있음은 물론이다.In contrast, according to the network inspection method according to the technical idea of the present invention as shown in FIG. 7B , network recording is performed between time points t1 and t2 while network recording is performed only by storing a small number of packets. there is an effect Through this, retrospective network inspection can be performed on the past network at high speed, and through this, there is an effect that quick action can be taken on the attacked target. Of course, a high-speed network inspection in real time may be possible after the time point t2.
도 8은 본 발명의 일 실시 예에 따른 시스템의 개략적인 물리적 구성을 나타내는 도면이다.8 is a diagram illustrating a schematic physical configuration of a system according to an embodiment of the present invention.
도 8을 참조하면, 상기 시스템(100)은 도 1에 도시된 바와 같은 기능별 논리적 구성을 포함하고 있으며, 물리적으로는 도 8에 도시된 바와 같은 구성을 포함할 수 있다. Referring to FIG. 8 , the system 100 includes a logical configuration for each function as shown in FIG. 1 , and may physically include the configuration shown in FIG. 8 .
상기 시스템(100)은 본 발명의 기술적 사상을 구현하기 위한 프로그램이 저장되는 메모리(저장장치)(120-1), 및 상기 메모리(120-1)에 저장된 프로그램을 실행하기 위한 프로세서(110-1)가 구비될 수 있다.The system 100 includes a memory (storage device) 120-1 in which a program for implementing the technical idea of the present invention is stored, and a processor 110-1 for executing the program stored in the memory 120-1. ) may be provided.
상기 프로세서(110-1)는 상기 시스템(100)의 구현 예에 따라, CPU, 모바일 프로세서 등 다양한 명칭으로 명명될 수 있음을 본 발명의 기술분야의 평균적 전문가는 용이하게 추론할 수 있을 것이다. 또한, 도 1에서 설명한 바와 같이 상기 시스템(100)은 복수의 물리적 장치들이 유기적으로 결합되어 구현될 수도 있으며, 이러한 경우 상기 프로세서(110-1)는 물리적 장치별로 적어도 한 개 구비되어 본 발명의 시스템(100)을 구현할 수 있음을 본 발명의 기술분야의 평균적 전문가는 용이하게 추론할 수 있을 것이다.An average expert in the art of the present invention can easily infer that the processor 110 - 1 may be named by various names, such as a CPU or a mobile processor, depending on the implementation example of the system 100 . In addition, as described with reference to FIG. 1 , the system 100 may be implemented by organically combining a plurality of physical devices. In this case, the processor 110-1 is provided with at least one for each physical device, so that the system of the present invention is provided. An average expert in the technical field of the present invention can easily infer that (100) can be implemented.
상기 메모리(120-1)는 상기 프로그램이 저장되며, 상기 프로그램을 구동시키기 위해 상기 프로세서가 접근할 수 있는 어떠한 형태의 저장장치로 구현되어도 무방하다. 또한 하드웨어적 구현 예에 따라 상기 메모리(120-1)는 어느 하나의 저장장치가 아니라 복수의 저장장치로 구현될 수도 있다. 또한 상기 메모리(120-1)는 주기억장치 뿐만 아니라, 임시기억장치를 포함할 수도 있다. 또한 휘발성 메모리 또는 비휘발성 메모리로 구현될 수도 있으며, 상기 프로그램이 저장되고 상기 프로세서에 의해 구동될 수 있도록 구현되는 모든 형태의 정보저장 수단을 포함하는 의미로 정의될 수 있다. The memory 120-1 stores the program and may be implemented as any type of storage device that the processor can access to drive the program. Also, depending on the hardware implementation, the memory 120-1 may be implemented as a plurality of storage devices instead of any one storage device. Also, the memory 120 - 1 may include a temporary memory as well as a main memory. In addition, it may be implemented as a volatile memory or a non-volatile memory, and may be defined to include all types of information storage means implemented so that the program can be stored and driven by the processor.
상기 시스템(100)은 실시 예에 따라 보안장비를 직간접적으로 운용하거나 또는 보안 서비스를 제공하는 주체가 실시하는 시스템일 수 있고, 웹 서버, 컴퓨터, 또는 본 발명에 정의되는 기능을 위해 독자적으로 구현되는 보안장비 등 다양한 방식으로 구현될 수 있으며, 본 명세서에서 정의되는 기능을 수행할 수 있는 어떠한 형태의 데이터 프로세싱 장치도 포함하는 의미로 정의될 수 있다.The system 100 may be a system implemented by a subject that directly or indirectly operates a security device or provides a security service according to an embodiment, and is independently implemented for a web server, a computer, or a function defined in the present invention It can be implemented in various ways, such as a security device, and it can be defined to include any type of data processing device capable of performing the function defined in this specification.
또한 상기 시스템(100)의 실시 예에 따라 다양한 주변장치들(주변장치 1(130) 내지 주변장치 N(130-1))이 더 구비될 수 있다. 예컨대, 키보드, 모니터, 그래픽 카드, 통신장치 등이 주변장치로써 상기 시스템(100)에 더 포함될 수 있음을 본 발명의 기술분야의 평균적 전문가는 용이하게 추론할 수 있을 것이다. In addition, various peripheral devices (peripheral device 1 130 to peripheral device N 130 - 1) may be further provided according to an embodiment of the system 100 . For example, an average expert in the art can easily infer that a keyboard, monitor, graphic card, communication device, etc. may be further included in the system 100 as peripheral devices.
이하 본 명세서에서 상기 시스템(100) 또는 상기 시스템(100)에 포함된 소정의 모듈이 어떤 동작 또는 기능을 수행한다고 함은, 상기 프로세서(110-1)에 의해 구동되는 상기 프로그램에 의해 상기 동작 또는 기능이 수행되는 것을 의미함을 본 발명의 기술분야의 평균적 전문가는 용이하게 추론할 수 있을 것이다.Hereinafter, in this specification, that the system 100 or a predetermined module included in the system 100 performs an operation or function means that the operation or the program driven by the processor 110-1 An average expert in the technical field of the present invention can easily infer that a function is meant to be performed.
전술한 바와 같이 상기 시스템(100)은 본 발명의 기술적 사상에 따른 보안 방법 즉, 회귀보안검사를 이용한 이상행위 학습 및 탐지 방법을 구현하기 위해 우선 네트워크를 통과하는 복수의 패킷들 중 적어도 일부를 선택적으로 저장하는 패킷 저장 프로세스를 수행할 수 있다. As described above, in order to implement the security method according to the technical idea of the present invention, that is, the abnormal behavior learning and detection method using the regression security check, the system 100 first selects at least some of the plurality of packets passing through the network. You can perform the process of storing packets that are stored as .
그리고 이때 패킷 저장 프로세스는 패킷 저장모듈(120)에 의해 수행될 수 있으며, 전술한 바와 같이 세션을 형성하는 세션형성 패킷들 중 상기 세션의 초기 N(N은 자연수)개의 선행 패킷을 선택적으로 저장하는 프로세스일 수 있다. And at this time, the packet storage process may be performed by the packet storage module 120, and as described above, the initial N (N is a natural number) preceding packets of the session among the session forming packets forming the session are selectively stored. It can be a process.
그러면 상기 제어모듈(130)은 상기 패킷 저장 프로세스를 통해 저장된 저장 패킷들을 검사하여 상기 네트워크에 적용될 신규 보안 룰에 해당하는 제로데이 침투가 있었는지 여부를 판단하는 제로데이 침투(공격)를 판단할 수 있다. 그리고 제로데이 침투에 이용된 패킷 또는 패킷들을 추출할 수 있다. 이러한 제로데이 침투 여부의 판단 및 이에 이용된 패킷의 추출은 새로운 보안 룰이 업데이트될 때마다 이루어질 수도 있다.Then, the control module 130 examines the stored packets stored through the packet storage process to determine a zero-day penetration (attack) to determine whether there has been a zero-day penetration corresponding to a new security rule to be applied to the network. have. In addition, it is possible to extract a packet or packets used for zero-day penetration. Determination of the zero-day penetration and extraction of the packet used therefor may be performed whenever a new security rule is updated.
그러면 상기 제어모듈(130)은 검출된 패킷들을 검사하여 정형화 데이터를 생성하기 위한 필요정보를 추출할 수 있다. Then, the control module 130 may extract necessary information for generating standardized data by examining the detected packets.
예컨대, 상기 제어모듈(130)은 제로데이 공격에 이용된 패킷에 대해 DPI(Deep Packet Inspection)을 수행하여 프로토콜, 및 프로토콜의 메타 데이터(예컨대, 소스 주소, 데스티네이션 주소 등)을 추출할 수 있으며, 상기 필요정보에 포함될 수 있다. 상기 필요정보는 공격을 했거나 받은 장치 및/또는 상기 장치와 통신을 수행한 타장치들의 연속적인 행위들 즉, 행위패턴을 정의 또는 표현할 수 있는 정보일 수 있으며, 상기 프로토콜, 상기 메타 데이터 이외에도 행위패턴을 정의할 수 있는 다양한 정보들이 상기 필요정보에 포함될 수 있음은 물론이다.For example, the control module 130 may perform DPI (Deep Packet Inspection) on a packet used for a zero-day attack to extract a protocol and metadata (eg, source address, destination address, etc.) of the protocol, , may be included in the necessary information. The necessary information may be information that can define or express continuous actions, that is, action patterns of the attacked or received device and/or other devices that communicated with the device. In addition to the protocol and the metadata, the action pattern It goes without saying that various pieces of information that can define
추출된 필요정보들은 상기 데이터 생성모듈(170)로 전달될 수 있으며, 상기 데이터 생성모듈(170)은 전달받은 필요정보에 기초하여 정형화 데이터를 생성할 수 있다. The extracted necessary information may be transmitted to the data generation module 170 , and the data generation module 170 may generate standardized data based on the received necessary information.
이러한 정형화 데이터는 연속된 일련의 행위를 정의할 수 있으며, 상기 데이터 생성모듈(170)은 제로데이 공격을 받은 경우의 행위패턴과 그렇지 않은 경우(예컨대, 공격을 받지 않은 정상적인 경우 및/또는 다른 공격을 받은 경우 등)의 행위패턴을 포함하여 다수의 정형화 데이터를 학습 데이터로 생성할 수 있다. This standardized data can define a series of actions, and the data generation module 170 determines the action pattern when the zero-day attack is received and the action pattern when it is not attacked (eg, in a normal case that is not attacked and/or other attacks). It is possible to generate a plurality of standardized data including the behavior pattern of the case of receiving , etc.) as learning data.
상기 데이터 생성모듈(170)은 네트워크에 포함된 정상적인 패킷, 타 공격에 해당하는 악성코드를 가진 패킷, 및 상기 제로데이 공격에 해당하는 패킷 등 다양한 패킷들에 기반한 여러 장치들의 일련의 행위들을 정형화 데이터로 생성하고, 생성한 정형화 데이터는 상기 제어모듈(130)에 의해 생성되는 행위패턴 판단모델의 학습 데이터로 이용될 수 있다. The data generation module 170 forms a series of actions of various devices based on various packets, such as a normal packet included in the network, a packet with a malicious code corresponding to another attack, and a packet corresponding to the zero-day attack. , and the generated standardized data may be used as learning data of the behavior pattern determination model generated by the control module 130 .
상기 데이터 생성모듈(170)은 상기 제어모듈(130)에 의해 수행되는 패킷 검사결과, 저장된 패킷들 중 제로데이 공격에 해당하는 악성코드를 가진 패킷에 기반한 행위패턴을 자동으로 제로데이 공격을 받은 행위패턴으로 라벨링할 수 있으며, 이를 통해 학습 데이터의 자동화된 라벨링이 가능한 효과가 있다. As a result of the packet inspection performed by the control module 130, the data generation module 170 automatically receives a zero-day attack based on a packet having a malicious code corresponding to a zero-day attack among stored packets. It can be labeled with a pattern, which has the effect of enabling automated labeling of training data.
상기 제어모듈(130)은 다수의 행위패턴들 각각에 상응하는 정형화 데이터 및 각각의 정형화 데이터에 라벨링된 라벨링 정보(예컨대, 정상 행위패턴, 제로데이 공격을 받은 경우의 행위패턴, 타 공격을 받은 경우의 행위패턴 등)를 학습데이터로 하여 행위패턴 판단모델을 학습시킬 수 있다. The control module 130 provides standardized data corresponding to each of a plurality of behavior patterns and labeling information labeled on each standardized data (eg, a normal behavior pattern, a behavior pattern when subjected to a zero-day attack, when receiving other attacks) behavior pattern, etc.) can be used as learning data to train the behavior pattern judgment model.
그러면 학습된 행위패턴 판단모델은 소정의 정형화 데이터가 입력되면, 이러한 정형화 데이터(즉 행위패턴)이 상기 제로데이 공격의 특징을 가지는지를 판단할 수 있다. Then, when predetermined standardized data is input, the learned behavior pattern determination model can determine whether the standardized data (ie, behavior pattern) has the characteristics of the zero-day attack.
이를 위해서는 상기 정형화 데이터는 일련의 연속된 행위들을 잘 정의하면서도 상기 행위패턴 판단모델 즉, 딥러닝 모델이 잘 학습하고 추론할 수 있는 형태로 정의되는 것이 바람직할 수 있다. To this end, it may be preferable that the standardized data be defined in a form in which the behavior pattern determination model, that is, the deep learning model, can learn and infer well while well defining a series of continuous actions.
본 발명의 기술적 사상에 의하면, 상기 정형화 데이터는 지향성 그래프로 정의될 수 있으며, 상기 행위패턴 판단모델은 RNN(Recurrent Neural Network) 또는 LSTM(Lomg Short-Term Memory)으로 구현되는 경우를 일 예로 설명하지만 본 발명의 권리범위가 이에 국한되지는 않는다. According to the technical idea of the present invention, the standardized data may be defined as a directed graph, and the case in which the behavior pattern determination model is implemented in a Recurrent Neural Network (RNN) or Lomg Short-Term Memory (LSTM) will be described as an example. The scope of the present invention is not limited thereto.
본 발명의 일 예에 따른 정형화 데이터의 일 예는 도 9에 도시된다.An example of standardized data according to an embodiment of the present invention is shown in FIG. 9 .
도 9은 본 발명의 일 실시 예에 따라 공격행위를 정의하기 위한 정형화 데이터 모델의 개념을 나타내는 도면이다.9 is a diagram illustrating the concept of a standardized data model for defining an attack behavior according to an embodiment of the present invention.
도 9를 참조하면, 본 발명의 기술적 사상에 따른 정형화 데이터는 지향성 그래프로 구현될 수 있다.Referring to FIG. 9 , the standardized data according to the technical idea of the present invention may be implemented as a directed graph.
그리고 상기 지향성 그래프에서 제로데이 침투로 발생한 침투행위들에 이용된 적어도 하나의 호스트들 각각은 노드가 될 수 있다. 예컨대, 제로데이 공격에 해당하는 악성코드를 수신한 호스트가 노드가 되고, 이러한 호스트와 통신한 타 호스트가 다른 노드로 설정될 수 있다. In addition, each of the at least one host used for intrusion behaviors caused by zero-day penetration in the directed graph may be a node. For example, a host that has received a malicious code corresponding to a zero-day attack may become a node, and another host that communicates with such a host may be set as another node.
그리고 각각의 노드에서 다른 노드로 일어난 통신행위를 에지로 설정할 수 있다. In addition, the communication behavior that occurs from each node to another node can be set as an edge.
그리고 상기 지향성 그래프에 포함된 각각의 노드는, 각각의 노드에 상응하는 호스트에서 특정행위를 수행한 시점에 대한 정보 및 IP(각 노드에 해당하는 호스트의 IP, 예컨대, IP1, IP2, IP3, IP4, IP5))에 대한 정보를 포함할 수 있다. 도 9에서는 T1, T2, T3, T4, T5는 각 호스트에서 발생한 행위의 시점과는 별개로 행위가 일어난 순서를 순차적으로 나타내고 있다. In addition, each node included in the directivity graph includes information and IP (IP of the host corresponding to each node, eg, IP1, IP2, IP3, IP4 , IP5))). In FIG. 9 , T1, T2, T3, T4, and T5 sequentially indicate the order in which the actions occurred independently of the timing of the actions occurring in each host.
또한, 상기 지향성 그래프에 포함된 에지는 각각의 에지에 해당하는 통신행위에 상응하는 프로토콜(예컨대, Protocol 1, Protocol 2, Protocol 3, Protocol 5) 및/또는 수행행위(예컨대, Behavior 1, Behavior 2, Behavior 3, Behavior 5)에 대한 정보를 포함할 수 있다.In addition, the edge included in the directed graph is a protocol (eg, Protocol 1, Protocol 2, Protocol 3, Protocol 5) and/or performing behavior (eg, Behavior 1, Behavior 2) corresponding to the communication behavior corresponding to each edge. , Behavior 3, Behavior 5) may be included.
예컨대, 도 9에서는 하나의 행위패턴이 정의되는 정형화 데이터의 일 예를 나타내고 있으며, 상기 지향성 그래프에는 5개의 노드들(N1, N2, N3, N4, N5)가 포함될 수 있다. For example, FIG. 9 shows an example of standardized data in which one behavior pattern is defined, and the directional graph may include five nodes N1 , N2 , N3 , N4 , and N5 .
예컨대, 제1노드(N1)는 IP1을 가지며 제로데이 공격에 해당하는 악성코드가 포함된 패킷을 수신한 호스트 또는 보호되는 네트워크의 외부에 존재하며 상기 악성코드를 내부 호스트로 전송한 호스트일 수 있고, 상기 제1노드(N1)와 소정의 시점에 통신한 소정의 호스트가 제2노드(N2)가 될 수 있다. 그 후 상기 제2노드(N2) 소정의 시점에 통신한 소정의 호스트가 제3노드(N3)가 될 수 있으며, 그 후 상기 제3노드(N3)와 소정의 시점에 통신한 호스트들이 각각 제4노드(N4) 및 제5노드(N5)가 될 수 있다. For example, the first node N1 may be a host having IP1 and receiving a packet containing a malicious code corresponding to a zero-day attack or a host existing outside the protected network and transmitting the malicious code to an internal host. , a predetermined host communicating with the first node N1 at a predetermined time may be the second node N2. After that, a predetermined host that communicated with the second node N2 at a predetermined time may become the third node N3, and after that, hosts communicating with the third node N3 at a predetermined time are respectively first It may be a 4th node (N4) and a 5th node (N5).
여기서 T4에 해당하는 제4노드(N4)와의 통신이 T5에 해당하는 제5노드(N5)와의 통신보다 먼저 수행된 것일 수 있다. Here, communication with the fourth node N4 corresponding to T4 may be performed before communication with the fifth node N5 corresponding to T5.
그리고 제1에지(E1)는 제1노드(N1)와 제2노드(N2)가 제1프로토콜(Protocol 1)을 통해 통신하였고, 그 통신을 통한 행위는 Behavior 1이라는 행위임을 나타내는 정보를 포함할 수 있다. In addition, the first edge E1 includes information indicating that the first node N1 and the second node N2 communicated through the first protocol 1, and the action through the communication is an action called Behavior 1. can
마찬가지로 제2에지(E1)는 제2노드(N2)와 제3노드(N3)가 제2프로토콜(Protocol 2)을 통해 통신하였고, 그 통신을 통한 행위는 Behavior 2이라는 행위임을 나타내는 정보를 포함할 수 있다. 또한, 제3에지(E1)는 제3노드(N3)와 제4노드(N4)가 제3프로토콜(Protocol 3)을 통해 통신하였고, 그 통신을 통한 행위는 Behavior 3이라는 행위임을 나타내는 정보를 포함하며, 제4에지(E4)는 제3노드(N3)와 제5노드(N5)가 제5프로토콜(Protocol 5)을 통해 통신하였고, 그 통신을 통한 행위는 Behavior 5이라는 행위임을 나타내는 정보를 포함할 수 있다.Similarly, the second edge E1 includes information indicating that the second node N2 and the third node N3 communicated through the second protocol 2, and the action through the communication is the action called Behavior 2. can In addition, the third edge E1 includes information indicating that the third node N3 and the fourth node N4 communicated through the third protocol 3, and the action through the communication is an action called Behavior 3. and the fourth edge (E4) includes information indicating that the third node (N3) and the fifth node (N5) communicated through the fifth protocol (Protocol 5), and the action through the communication is an action called Behavior 5 can do.
이처럼 제로데이 공격을 직접받은 호스트로부터 시작되는 일련의 행위들 즉, 행위패턴을 정의하는 정보가 지향성 그래프로 정의될 수 있고, 이러한 지향성 그래프가 정형화 데이터의 일 예가 될 수 있다.As such, a series of actions starting from a host directly subjected to a zero-day attack, that is, information defining a behavior pattern may be defined as a directed graph, and such a directed graph may be an example of standardized data.
보다 구체적인 사례를 통해 정형화 데이터를 생성하는 일 예는 도 10에 도시된다.An example of generating standardized data through a more specific example is shown in FIG. 10 .
도 10은 본 발명의 일 실시 예에 따른 제로데이 공격행위의 정형화 데이터의 일 실시 예를 나타내는 도면이다.10 is a diagram illustrating an embodiment of standardized data of a zero-day attack behavior according to an embodiment of the present invention.
도 10을 참조하면, 도 10은 상기 시스템(100)에 악성 코드 γ의 탐지규칙이 새로 업데이트되었고, 이에 따라 상기 시스템(100)이 저장된 패킷들에 대한 패킷검사를 실시하여 외부 IP α에서 내부 IP β로 악성 코드 γ의 제로데이 침투가 발견된 경우의 일 예에서 발생한 행위패턴을 정의하는 정형화 데이터일 수 있다.Referring to FIG. 10 , in FIG. 10 , the detection rule for malicious code γ has been newly updated in the system 100 , and accordingly, the system 100 performs a packet inspection on stored packets to change the external IP α to the internal IP It may be standardized data defining a behavior pattern that has occurred in an example when zero-day penetration of malicious code γ is detected as β.
상기 시스템(100)은 제로데이 침투를 당한 내부 IP β로부터 내부 데이터베이스(IP δ)의 ID 및 Password 탈취 시도 이벤트 발생했음을 검출하였고, 또한 내부 IP β로부터 외부 Blacklist IP ε로의 주기적인 데이터 전달이라는 행위가 발생하고 있음을 검출하였다.The system 100 detected that an attempt to steal ID and password of the internal database (IP δ) occurred from the internal IP β that had been infiltrated by zero-day, and the act of periodic data transfer from the internal IP β to the external Blacklist IP ε was detected to be occurring.
그러면 외부 IP α, 내부 IP β, 내부 IP δ, 내부 IP β, 외부 Blacklist IP ε 각각에 해당하는 호스트가 정형화 데이터에 포함되는 노드들(N10, N11, N12, N13, N14)가 될 수 있다. Then, the hosts corresponding to each of the external IP α, internal IP β, internal IP δ, internal IP β, and external Blacklist IP ε can be nodes (N10, N11, N12, N13, N14) included in the standardized data.
그리고 노드 N11과 N13에서 알 수 있듯이 동일한 호스트라도 타임스탬프 즉, 행위의 시점이 다른 경우에는 다른 노드로 표현될 수 있음을 알 수 있다. And, as can be seen from nodes N11 and N13, it can be seen that even the same host can be expressed as a different node when the timestamp, that is, the time point of the action is different.
또한 에지(E10)는 노드(N10)와 노드(N11)가 프로토콜(HTTP)을 통해 통신하였고, 그 통신을 통해 악성코드(malware)를 전송하였음을 나타내는 정보를 포함할 수 있다. 에지(E11)는 노드(N11)와 노드(N12)가 프로토콜(HTTP)을 통해 통신하였고, 그 통신을 통해 여러번의 로그인 시도 및 실패(Multiple Login Failure)가 이루어졌음을 나타내는 정보를 포함할 수 있다. Also, the edge E10 may include information indicating that the node N10 and the node N11 communicated through a protocol (HTTP) and transmitted malicious code through the communication. The edge E11 may include information indicating that the node N11 and the node N12 communicated through a protocol (HTTP), and multiple login attempts and failures were made through the communication. .
에지(E12)는 노드(N12)와 노드(N13)가 프로토콜(미상)을 통해 통신하였고, 그 통신을 통해 소정의 정보들의 전송(Data Transfer)가 이루어졌음을 나타내는 정보를 포함할 수 있다. The edge E12 may include information indicating that the node N12 and the node N13 communicated through a protocol (unknown), and that predetermined information was transmitted through the communication.
에지(E13)는 노드(N13)와 노드(N14)가 프로토콜(미상)을 통해 통신하였고, 그 통신을 통해 주기적인 정보들의 전송(Periodic Data Transfer)가 이루어졌음을 나타내는 정보를 포함할 수 있다. The edge E13 may include information indicating that the node N13 and the node N14 communicated through a protocol (unknown), and periodic data transfer was performed through the communication.
이와 같은 방식으로 악성코드가 감지되면 이로부터 일어나는 일련의 행위패턴들이 정형화 데이터로 생성될 수 있다. When a malicious code is detected in this way, a series of behavior patterns generated therefrom can be generated as standardized data.
또한 정형화 데이터를 생성할 때 각각의 에지에 포함되는 Behavior는 미리 복수개의 정해진 행위유형들이 정의되어 있을 수 있으며, 노드간의 통신을 통해 수행된 각 행위들이 미리 정해진 행위유형들 중 하나로 설정되어 행위들 각각에 대한 표준화가 이루어질 수도 있다. 이러한 각각의 행위들은 DPI를 통해 검출되는 프로토콜 및 메타정보로부터 특정되거나, 각각의 호스트의 로그 기록에 의해 특정되는 등 다양한 방식으로 특정될 수 있음은 물론이다.In addition, a plurality of predetermined behavior types may be defined for the behavior included in each edge when generating standardized data, and each behavior performed through communication between nodes is set as one of the predetermined behavior types, standardization may be made. Of course, each of these actions may be specified in various ways, such as specified from protocol and meta information detected through DPI, or specified by log records of each host.
이처럼 소정의 패킷에 기초하여 발생하는 행위패턴이 상기 데이터 생성모듈(170)에 의해 정형화 데이터로 생성되고, 생성된 정형화 데이터 각각에 대해 라벨링 정보(제로데이 공격, 정상 등)가 라벨링 되어 학습 데이터가 구축되면, 전술한 바와 같이 상기 제어모듈(130)은 학습 데이터를 입력시켜 소정의 정형화 데이터가 제로데이 공격에 상응하는 행위패턴인지 여부를 판단하도록 학습시킴으로써 행위패턴 판단모델을 생성할 수 있다.As such, the behavior pattern generated based on a predetermined packet is generated as standardized data by the data generation module 170, and labeling information (zero-day attack, normal, etc.) is labeled for each of the generated standardized data, so that the learning data is Once constructed, as described above, the control module 130 may generate a behavior pattern determination model by inputting learning data and learning to determine whether a predetermined standardized data is a behavior pattern corresponding to a zero-day attack.
그리고 학습된 행위패턴 판단모델이 구축되면, 이후에는 상기 데이터 생성모듈(170)에 의해 네트워크를 통과하려 하는 소정의 패킷(예컨대, 세션별 초기 패킷 등)에 대해 실시간 정형화 데이터가 생성될 경우, 생성한 실시간 정형화 데이터에 대해 상기 행위패턴 판단모델을 이용하여 상기 제로데이 공격에 상응하는 행위패턴인지를 판단할 수 있다. And when the learned behavior pattern determination model is built, thereafter, when real-time standardized data is generated for a predetermined packet (eg, initial packet for each session, etc.) that is going to pass through the network by the data generation module 170, it is generated For one real-time standardized data, it is possible to determine whether the behavior pattern corresponds to the zero-day attack by using the behavior pattern determination model.
상기 행위패턴 판단모델은 전술한 바와 같이 RNN 또는 LSTM 등의 공지된 딥러닝 모델이 이용될 수 있으며 이러한 딥러닝 모델의 구조 및 학습방식 등은 널리 공지되어 있으므로 상세한 설명은 생략하도록 한다. 어떠한 경우든 상기 행위패턴 판단모델은 제로데이 공격에 의해 발생하는 행위패턴이 가지는 특징적인 피쳐를 정의하고 이를 이용해 소정의 행위패턴이 상기 제로데이 공격에 의한 행위패턴인지 여부를 판단할 수 있다.As described above, as the behavior pattern determination model, a known deep learning model such as RNN or LSTM may be used, and the structure and learning method of such a deep learning model are well known, so a detailed description thereof will be omitted. In any case, the behavior pattern determination model may define characteristic features of a behavior pattern generated by the zero-day attack and determine whether a predetermined behavior pattern is a behavior pattern caused by the zero-day attack using this.
결국, 본 발명의 기술적 사상에 의하면, 본 발명의 기술적 사상에 따른 시스템(100)은 제로데이 공격이 있었는지 여부를 확인하는 것뿐만 아니라, 이러한 제로데이 공격에 의해 발생하는 특징적인 행위패턴을 학습을 통해 판별할 수 있도록 함으로써, 추후에는 패킷검사를 통한 공격의 방어뿐만 아니라 보호되는 네트워크 내부에서 이루어지는 행위패턴에 기반하여 공격으로 의심되는 위협을 파악할 수 있는 효과가 있다.After all, according to the technical idea of the present invention, the system 100 according to the technical idea of the present invention not only checks whether there has been a zero-day attack, but also learns a characteristic behavior pattern generated by the zero-day attack. In the future, it is possible to not only defend against attacks through packet inspection, but also to identify threats suspected of attacks based on behavior patterns within the protected network.
본 발명의 실시예에 따른 네트워크 보안 방법은 컴퓨터가 읽을 수 있는 프로그램 명령 형태로 구현되어 컴퓨터로 읽을 수 있는 기록 매체에 저장될 수 있으며, 본 발명의 실시예에 따른 제어 프로그램 및 대상 프로그램도 컴퓨터로 판독 가능한 기록 매체에 저장될 수 있다. 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다.The network security method according to an embodiment of the present invention may be implemented in the form of a computer-readable program command and stored in a computer-readable recording medium, and the control program and the target program according to the embodiment of the present invention are also transmitted to the computer. It may be stored in a readable recording medium. The computer-readable recording medium includes all types of recording devices in which data readable by a computer system is stored.
기록 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 소프트웨어 분야 당업자에게 공지되어 사용 가능한 것일 수도 있다.The program instructions recorded on the recording medium may be specially designed and configured for the present invention, or may be known and available to those skilled in the software field.
컴퓨터로 읽을 수 있는 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media) 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.Examples of the computer-readable recording medium include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs and DVDs, and floppy disks. hardware devices specially configured to store and execute program instructions, such as magneto-optical media and ROM, RAM, flash memory, and the like. In addition, the computer-readable recording medium is distributed in a computer system connected to a network, so that the computer-readable code can be stored and executed in a distributed manner.
프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 전자적으로 정보를 처리하는 장치, 예를 들어, 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.Examples of program instructions include not only machine language codes such as those generated by a compiler, but also high-level language codes that can be executed by an apparatus for electronically processing information using an interpreter or the like, for example, a computer.
상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시 예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성요소들도 결합된 형태로 실시될 수 있다.The description of the present invention described above is for illustration, and those of ordinary skill in the art to which the present invention pertains can understand that it can be easily modified into other specific forms without changing the technical spirit or essential features of the present invention. will be. Therefore, it should be understood that the embodiments described above are illustrative in all respects and not restrictive. For example, each component described as a single type may be implemented in a distributed manner, and likewise components described as distributed may also be implemented in a combined form.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타나며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.The scope of the present invention is indicated by the following claims rather than the above detailed description, and all changes or modifications derived from the meaning and scope of the claims and their equivalents should be construed as being included in the scope of the present invention. .
본 발명은 회귀보안검사를 이용한 이상행위 학습 및 탐지 시스템 및 그 방법에 이용될 수 있다.The present invention can be applied to a system and method for learning and detecting anomalies using regression security checks.

Claims (12)

  1. 회귀보안검사를 이용한 이상행위 학습 및 탐지 방법에 있어서,In the method of learning and detecting abnormal behavior using regression security check,
    시스템이 네트워크를 통과하는 복수의 패킷들 중 적어도 일부를 선택적으로 저장하는 패킷 저장 프로세스를 수행하는 단계;performing a packet storage process, wherein the system selectively stores at least some of the plurality of packets passing through the network;
    상기 시스템이 상기 패킷 저장 프로세스를 통해 저장된 저장 패킷들을 검사하여 상기 네트워크에 적용될 신규 보안 룰에 해당하는 제로데이 침투가 있었는지 여부를 판단하는 제로데이 침투 판단 단계; 및a zero-day penetration determination step in which the system examines stored packets stored through the packet storage process to determine whether there has been a zero-day penetration corresponding to a new security rule to be applied to the network; and
    상기 시스템이 상기 제로데이 침투로 발생한 침투행위들을 정형화 데이터로 생성하는 단계를 포함하며,Including, by the system, generating intrusion behaviors generated by the zero-day penetration as standardized data,
    생성한 정형화 데이터에 기초하여 상기 제로데이 침투에 상응하는 행위패턴을 판별할 수 있는 행위패턴 판단모델이 학습되는 것을 특징으로 하는 회귀보안검사를 이용한 이상행위 학습 및 탐지 방법.Abnormal behavior learning and detection method using a regression security check, characterized in that a behavior pattern determination model capable of determining a behavior pattern corresponding to the zero-day penetration is learned based on the generated standardized data.
  2. 제1항에 있어서, 상기 시스템이 네트워크를 통과하는 복수의 패킷들 중 적어도 일부를 선택적으로 저장하는 패킷 저장 프로세스를 수행하는 단계는,2. The method of claim 1, wherein the system performing a packet storage process selectively storing at least some of a plurality of packets traversing a network comprises:
    상기 시스템이 상기 복수의 패킷들로부터 세션을 형성하는 세션형성 패킷들 중 상기 세션의 초기 N(N은 자연수)개의 선행 패킷만을 저장하는 상기 패킷 저장 프로세스를 수행하는 단계를 포함하는 회귀보안검사를 이용한 이상행위 학습 및 탐지 방법.The system performs the packet storage process of storing only the initial N (N is a natural number) preceding packets of the session from among the session forming packets forming a session from the plurality of packets. Anomaly learning and detection method.
  3. 제1항에 있어서, 상기 시스템이 상기 제로데이 침투로 발생한 침투행위들을 정형화 데이터로 생성하는 단계는,The method of claim 1, wherein the generating of the intrusion behaviors generated by the zero-day penetration by the system as standardized data comprises:
    상기 시스템이 상기 제로데이 침투로 발생한 침투행위들에 이용된 적어도 하나의 호스트를 노드로 설정하고, 각각의 노드에서 다른 노드로 일어난 통신행위를 에지로 설정한 지향성 그래프로 상기 정형화 데이터를 생성하는 단계를 포함하는 회귀보안검사를 이용한 이상행위 학습 및 탐지 방법.generating, by the system, as a directional graph in which at least one host used for intrusion actions caused by the zero-day penetration is set as a node, and communication actions occurring from each node to other nodes are set as edges Abnormal behavior learning and detection method using regression security check, including.
  4. 제3항에 있어서, 상기 지향성 그래프에 포함된 노드는,According to claim 3, wherein the node included in the directed graph,
    각각의 노드에 상응하는 적어도 하나의 호스트가 특정행위를 수행한 시점 및 IP에 대한 정보를 포함하는 회귀보안검사를 이용한 이상행위 학습 및 탐지 방법.A method for learning and detecting anomalies using regression security checks that includes information on the time and IP of at least one host corresponding to each node performing a specific action.
  5. 제3항에 있어서, 상기 지향성 그래프에 포함된 에지는,The method of claim 3, wherein the edge included in the directivity graph,
    각각의 에지에 해당하는 통신행위에 상응하는 프로토콜 또는 수행행위에 대한 정보를 포함하는 회귀보안검사를 이용한 이상행위 학습 및 탐지 방법.Abnormal behavior learning and detection method using regression security check that includes information on protocol or execution behavior corresponding to communication behavior corresponding to each edge.
  6. 제1항에 있어서, 상기 행위패턴 판단모델은,According to claim 1, wherein the behavior pattern determination model,
    상기 정형화 데이터를 포함하는 학습 데이터를 RNN 또는 LSTM을 이용하여 학습하여 구축되는 회귀보안검사를 이용한 이상행위 학습 및 탐지 방법.Abnormal behavior learning and detection method using a regression security check constructed by learning the training data including the standardized data using RNN or LSTM.
  7. 제1항에 있어서, 상기 회귀보안검사를 이용한 이상행위 학습 및 탐지 방법은,The method of claim 1, wherein the abnormal behavior learning and detection method using the regression security check comprises:
    상기 행위패턴 판단모델의 생성 후 상기 네트워크를 통과하려 하는 패킷들에 대해 실시간 정형화 데이터를 생성하는 단계;generating real-time standardized data for packets that are intended to pass through the network after generating the behavior pattern determination model;
    생성한 실시간 정형화 데이터에 대해 상기 행위패턴 판단모델을 이용하여 이상행위 여부를 판단하는 단계를 더 포함하는 회귀보안검사를 이용한 이상행위 학습 및 탐지 방법. Abnormal behavior learning and detection method using a regression security check, further comprising the step of determining whether an abnormal behavior occurs with respect to the generated real-time standardized data using the behavior pattern determination model.
  8. 데이터 처리장치에 설치되며 상기 제1항 내지 제7항 중 어느 한 항에 기재된 방법을 수행하기 위한 매체에 기록된 컴퓨터 프로그램.A computer program installed in a data processing apparatus and recorded on a medium for performing the method according to any one of claims 1 to 7.
  9. 회귀보안검사를 이용한 이상행위 학습 및 탐지 시스템에 있어서,In the abnormal behavior learning and detection system using regression security check,
    네트워크를 통과하는 복수의 패킷들 중 적어도 일부를 선택적으로 저장하는 패킷 저장 프로세스를 수행하는 패킷 저장모듈;a packet storage module for performing a packet storage process of selectively storing at least some of a plurality of packets passing through a network;
    상기 네트워크에 적용될 신규 보안 룰이 업데이트 되는 경우, 상기 패킷 저장 프로세스를 통해 저장된 저장 패킷들을 검사하여 상기 신규 보안 룰에 해당하는 제로데이 침투가 있었는지 여부를 판단하는 침입방지 모듈;an intrusion prevention module that, when a new security rule to be applied to the network is updated, checks stored packets stored through the packet storage process to determine whether there is a zero-day penetration corresponding to the new security rule;
    상기 제로데이 침투로 발생한 침투행위들을 정형화 데이터로 생성하는 데이터 생성모듈; 및a data generation module for generating the intrusion behaviors generated by the zero-day penetration as standardized data; and
    생성한 정형화 데이터를 학습하여 상기 제로데이 침투에 상응하는 행위패턴을 판단하기 위한 행위패턴 판단모델을 생성하는 제어모듈을 포함하는 회귀보안검사를 이용한 이상행위 학습 및 탐지 시스템.Abnormal behavior learning and detection system using a regression security check, comprising a control module for learning the generated standardized data and generating a behavior pattern determination model for determining a behavior pattern corresponding to the zero-day penetration.
  10. 프로그램이 저장된 저장장치;a storage device in which the program is stored;
    상기 프로그램을 구동하기 위한 프로세서를 포함하며,A processor for running the program,
    상기 프로세서에 의해 구동되는 상기 프로그램은, The program driven by the processor,
    네트워크를 통과하는 복수의 패킷들 중 적어도 일부를 선택적으로 저장하는 패킷 저장 프로세스를 수행하고,performing a packet storage process of selectively storing at least some of a plurality of packets passing through the network;
    상기 네트워크에 적용될 신규 보안 룰이 업데이트 되는 경우, 상기 패킷 저장 프로세스를 통해 저장된 저장 패킷들을 검사하여 상기 신규 보안 룰에 해당하는 제로데이 침투가 있었는지 여부를 판단하며,When a new security rule to be applied to the network is updated, it is determined whether there has been a zero-day penetration corresponding to the new security rule by examining the stored packets stored through the packet storage process,
    상기 제로데이 침투로 발생한 침투행위들을 정형화 데이터로 생성하고, Intrusion behaviors caused by the zero-day penetration are generated as standardized data,
    생성한 정형화 데이터를 학습하여 상기 제로데이 침투에 상응하는 행위패턴을 판단하기 위한 행위패턴 판단모델을 생성하는 회귀보안검사를 이용한 이상행위 학습 및 탐지 시스템.Abnormal behavior learning and detection system using a regression security check that learns the generated standardized data and generates a behavior pattern determination model for judging a behavior pattern corresponding to the zero-day penetration.
  11. 제10항에 있어서, 상기 프로세서에 의해 구동되는 상기 프로그램은, 11. The method of claim 10, wherein the program driven by the processor,
    상기 제로데이 침투로 발생한 침투행위들에 이용된 적어도 하나의 호스트를 노드로 설정하고, 각각의 노드에서 다른 노드로 일어난 통신행위를 에지로 설정한 지향성 그래프로 상기 정형화 데이터를 생성하는 회귀보안검사를 이용한 이상행위 학습 및 탐지 시스템.A regression security check is performed in which at least one host used for the intrusion actions caused by the zero-day penetration is set as a node, and the standardized data is generated as a directional graph in which the communication action that occurs from each node to another node is set as an edge. Abnormal behavior learning and detection system using
  12. 제10항에 있어서, 상기 프로세서에 의해 구동되는 상기 프로그램은, 11. The method of claim 10, wherein the program driven by the processor,
    상기 행위패턴 판단모델의 생성 후 상기 네트워크를 통과하려 하는 패킷들에 대해 실시간 정형화 데이터를 생성하고, After generating the behavior pattern determination model, generating real-time standardized data for packets that are going to pass through the network,
    생성한 실시간 정형화 데이터에 대해 상기 행위패턴 판단모델을 이용하여 이상행위 여부를 판단하는 회귀보안검사를 이용한 이상행위 학습 및 탐지 시스템. Abnormal behavior learning and detection system using regression security check to determine whether abnormal behavior is detected using the behavior pattern determination model for the generated real-time standardized data.
PCT/KR2021/019355 2020-12-28 2021-12-20 System and method for learning and detecting abnormal behavior by using regression security check WO2022145838A1 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR20200185139 2020-12-28
KR10-2020-0185139 2020-12-28
KR10-2021-0057139 2021-05-03
KR1020210057139A KR102584775B1 (en) 2020-12-28 2021-05-03 Abnormal behavior learning and detection system using regression security check and method therof

Publications (1)

Publication Number Publication Date
WO2022145838A1 true WO2022145838A1 (en) 2022-07-07

Family

ID=82259456

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2021/019355 WO2022145838A1 (en) 2020-12-28 2021-12-20 System and method for learning and detecting abnormal behavior by using regression security check

Country Status (1)

Country Link
WO (1) WO2022145838A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100769221B1 (en) * 2006-08-04 2007-10-29 한국정보보호진흥원 Confrontation system preparing for zeroday attack and confrontation method thereof
KR20160002058A (en) * 2014-06-30 2016-01-07 한국전자통신연구원 Modbus Communication Pattern Learning Based Abnormal Traffic Detection Apparatus and Method
KR20200133644A (en) * 2019-05-20 2020-11-30 (주)지란지교시큐리티 Artificial intelligence based apparatus and method for classifying malicious multimedia file, and computer readable recording medium recording program for performing the method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100769221B1 (en) * 2006-08-04 2007-10-29 한국정보보호진흥원 Confrontation system preparing for zeroday attack and confrontation method thereof
KR20160002058A (en) * 2014-06-30 2016-01-07 한국전자통신연구원 Modbus Communication Pattern Learning Based Abnormal Traffic Detection Apparatus and Method
KR20200133644A (en) * 2019-05-20 2020-11-30 (주)지란지교시큐리티 Artificial intelligence based apparatus and method for classifying malicious multimedia file, and computer readable recording medium recording program for performing the method

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CHOI HEE-SIK, ET AL.: "Analysis of Security Problems of Deep Learning Technology", JOURNAL OF THE KOREA CONVERGENCE SOCIETY, vol. 10, no. 5, 30 May 2019 (2019-05-30), pages 9 - 16, XP055948446, ISSN: 2233-4890, DOI: 10.15207/JKCS.2019.10.5.009 *
OH, JINTAE ET AL.: "Real-time Response Technology to Prevent Zero-day Attack", JOURNAL OF THE KOREAN SOCIETY FOR INTERNET INFORMATION (KSII), vol. 9, no. 3, September 2008 (2008-09-01), Korea , pages 25 - 31, XP009538015, ISSN: 1598-0170 *

Similar Documents

Publication Publication Date Title
US11070571B2 (en) Cloud-based gateway security scanning
US8204984B1 (en) Systems and methods for detecting encrypted bot command and control communication channels
US10601853B2 (en) Generation of cyber-attacks investigation policies
US9407602B2 (en) Methods and apparatus for redirecting attacks on a network
WO2014209075A1 (en) Multi-connection system and method for service using internet protocol
WO2017069348A1 (en) Method and device for automatically verifying security event
WO2012091529A2 (en) Terminal
WO2012081903A1 (en) Method for blocking a denial-of-service attack
WO2018101565A1 (en) Structure for managing security in network virtualization environment
JP2006350561A (en) Attack detection device
WO2020060231A1 (en) Network security monitoring method, network security monitoring device, and system
WO2022114689A1 (en) Method and device for image-based malware detection, and artificial intelligence-based endpoint detection and response system using same
KR20180062838A (en) System and method for network security performing adaptive rule-set setting
WO2023163514A1 (en) Controller-based network access control system and method therefor
WO2022145838A1 (en) System and method for learning and detecting abnormal behavior by using regression security check
Zhauniarovich et al. Sorting the garbage: Filtering out DRDoS amplification traffic in ISP networks
WO2022025686A1 (en) Sound or text recognition-based system for automatically generating video characters
WO2019098678A1 (en) Method for providing security service and device therefor
WO2014171727A1 (en) Apparatus and method for generating key hierarchy in wireless network
WO2019132056A1 (en) Network security system performing adaptive rule-set setting, and method therefor
WO2019088671A1 (en) Method for providing network security service and apparatus therefor
WO2023211120A1 (en) System for controlling file transmission and reception of application on basis of proxy, and method related thereto
KR102584775B1 (en) Abnormal behavior learning and detection system using regression security check and method therof
KR102174462B1 (en) Method for network security and system performing the same
JP7060800B2 (en) Infection spread attack detection system and method, and program

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21915636

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 24/10/2023)