WO2023003067A1 - 비정상 데이터 탐지 시스템 및 방법 - Google Patents

비정상 데이터 탐지 시스템 및 방법 Download PDF

Info

Publication number
WO2023003067A1
WO2023003067A1 PCT/KR2021/010353 KR2021010353W WO2023003067A1 WO 2023003067 A1 WO2023003067 A1 WO 2023003067A1 KR 2021010353 W KR2021010353 W KR 2021010353W WO 2023003067 A1 WO2023003067 A1 WO 2023003067A1
Authority
WO
WIPO (PCT)
Prior art keywords
module
signal
information
abnormal data
detector
Prior art date
Application number
PCT/KR2021/010353
Other languages
English (en)
French (fr)
Inventor
김기홍
어성율
박성은
이현종
Original Assignee
주식회사 샌즈랩
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 샌즈랩 filed Critical 주식회사 샌즈랩
Publication of WO2023003067A1 publication Critical patent/WO2023003067A1/ko

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
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols

Definitions

  • the present invention relates to an abnormal data detection system and method, and more particularly, to an abnormal data detection system and method for detecting an attack associated with abnormal data by generating a signal for the abnormal data.
  • the present invention provides an abnormal data detection system and method, and a computer program stored in a recording medium to solve the above problems.
  • the present invention may be implemented in various ways including a system (apparatus), method or computer program stored on a computer readable recording medium.
  • an abnormal data detection system receives input data and generates one or more initial signals representing abnormal data when abnormal data is included in the received input data based on a trigger rule.
  • one or more trigger modules a signal hub that receives one or more initial signals generated from the one or more trigger modules, and generates a resultant signal by performing a logical operation on the one or more initial signals received based on a feed rule; and and one or more detector modules for receiving a result signal and detecting attack detection information corresponding to abnormal data from the received result signal based on a detector rule.
  • the trigger rule includes condition information for determining specific data as abnormal data.
  • the one or more trigger modules include an abnormality evaluation function generation module that generates an abnormality evaluation function for determining abnormal data using the logical operation and indentation level associated with the condition information.
  • one or more trigger modules receive the abnormal evaluation function generated by the abnormal evaluation function generation module, input the input data into the abnormal evaluation function, and when abnormal data is included in the input data, the initial It further includes an abnormality checker module that transmits a signal generating request.
  • the trigger rule further includes output information related to the type of initial signal being generated.
  • the one or more trigger modules further include a signal generation module that generates one or more initial signals of a type determined based on the output information when receiving an initial signal generation request from the abnormality checker module.
  • the trigger rule includes input information associated with characteristics of input data.
  • the one or more trigger modules include a data receiving module that receives input data using a target protocol from a specific location in the database determined based on the input information.
  • the feed rule includes relationship information for determining a logical relationship between one or more trigger modules.
  • the signal hub includes a signal operation function generation module that generates a signal operation function for generating a resultant signal based on one or more initial signals, using the logical operations and indentation levels associated with the relevance information.
  • the signal hub further includes a signal operation module that receives the signal operation function generated by the signal operation function generation module and inputs one or more initial signals to the signal operation function to generate a resultant signal. do.
  • the signal hub includes a signal reducer for removing overlapping initial signals among one or more initial signals.
  • the signal reducer determines initial signals generated by the same trigger module among one or more trigger modules as overlapping initial signals.
  • the signal reducer determines initial signals in which abnormal ranges overlap at a predetermined ratio or more as overlapping initial signals.
  • the feed rule includes information about the detector module for determining the detector module to which the generated result signal is delivered.
  • the signal hub includes a signal transmission module that transmits a generated signal to one or more detector modules determined based on information about the detector module.
  • the detector rule includes information on detection rules for extracting attack information associated with abnormal data.
  • the one or more detector modules include an attack detection function generation module that generates an attack detection function for extracting attack information using a logic operation and an indentation level associated with information about detection rules.
  • one or more detector modules receive an attack detection function generated from the attack detection function generation module, input input data related to a result signal into the attack detection function, and detect an attack on the result signal. It further includes an attack detector module that performs.
  • the detector rule includes relation information between one or more detector modules for determining whether to process attack detection information.
  • the one or more detector modules include an evaluation function generation module that generates an evaluation function for determining whether to process the attack detection information using a logic operation and an indentation level associated with the relevance information.
  • each of the one or more detector modules corresponds to one level among a plurality of levels based on the dependence of the detector module.
  • the attack detection information of the previous level detector module is used by the next level detector module.
  • It further includes an evaluation module that receives the generated evaluation function from the generated evaluation function generation module and transmits attack detection information to a next-level detector module or backtracker module based on the received evaluation function.
  • the evaluation module transmits attack detection information to the detector module of the next level based on the evaluation function when there is a detector module of the next level.
  • the evaluation module transmits attack detection information to the backtracker module when the next level detector module does not exist.
  • the abnormal data detection system further includes a backtracker module that determines the nature and procedure of an attack associated with abnormal data using attack detection information of one or more detector modules.
  • a method for detecting abnormal data performed by at least one processor receives input data and, when abnormal data is included in the received input data based on a trigger rule, indicates abnormal data. Generating one or more initial signals, receiving the one or more generated initial signals, generating a result signal by performing a logical operation on the received one or more initial signals based on a feed rule, and receiving the generated result signal and detecting attack detection information corresponding to abnormal data from the received result signal based on the detector rule.
  • a computer program stored in a computer readable recording medium is provided to execute the abnormal data detection method described above on a computer.
  • the abnormal data detection system can effectively extract abnormal data included in input data using a trigger rule, a feed rule, and a detector rule, and analyzes and stores attacks associated with the extracted abnormal data. By doing so, when exposed to a network attack, etc., it is possible to respond efficiently.
  • the abnormal data detection system can detect more precise attack detection information by configuring detector modules in a hierarchical structure.
  • the signal limiting module can prevent generation of infinite signals for flooding attacks (network bandwidth exhaustion attacks).
  • the trigger module can effectively determine whether abnormal data is included in the input data by sequentially examining the input data using the tree-structured abnormality evaluation function.
  • the trigger module can simply extract data within a necessary range and effectively generate the same type of data without additional processing. there is.
  • the signal reducer may improve data processing speed and efficiency by removing redundancy without using initial signals as they are.
  • the signal hub may selectively perform an operation on an initial signal received from a target trigger module among a plurality of trigger modules using a tree-structured signal operation function.
  • the evaluation module determines the level and connection relationship corresponding to each detector module using a tree-structured evaluation function, and detects an attack more precisely using target detector modules.
  • the detector module can effectively detect abnormal data that satisfies a specific detection rule among various abnormal data using a tree-structured attack detection function.
  • FIG. 1 is a functional block diagram showing the internal configuration of an abnormal data detection system according to an embodiment of the present invention.
  • FIG. 2 is a functional block diagram showing the internal configuration of a trigger module according to an embodiment of the present invention.
  • FIG. 3 is a diagram illustrating an example of generating an abnormal evaluation function based on a trigger rule according to an embodiment of the present invention.
  • FIG. 4 is a diagram illustrating an example of generating various types of output data based on input data according to an embodiment of the present invention.
  • FIG. 5 is a functional block diagram showing the internal configuration of a signal hub according to an embodiment of the present invention.
  • FIG. 6 is a diagram illustrating an example in which a signal operation function is generated based on a feed rule according to an embodiment of the present invention.
  • FIG. 7 is a functional block diagram showing the internal configuration of a detector module according to an embodiment of the present invention.
  • FIG. 8 is a diagram illustrating an example of generating an evaluation function based on a detector rule according to an embodiment of the present invention.
  • FIG. 9 is a diagram illustrating an example of generating an attack detection function based on a detector rule according to an embodiment of the present invention.
  • FIG. 10 is a flowchart illustrating an example of a method for detecting abnormal data according to an embodiment of the present invention.
  • FIG. 11 is a flowchart illustrating an example of a method for generating an initial signal according to an embodiment of the present invention.
  • FIG. 12 is a flowchart illustrating an example of a method for generating a resultant signal according to an embodiment of the present invention.
  • FIG. 13 is a flowchart illustrating an example of an attack detection method according to an embodiment of the present invention.
  • a 'rule' includes information for detecting and storing abnormal data associated with a network attack and/or attack detection information on abnormal data, and may be written in any programming language.
  • the rules may include one or more trigger rules, one or more feed rules, and one or more detector rules, but are not limited thereto.
  • Such a rule may be pre-generated by an abnormal data detection system, an arbitrary computing device, or the like, or pre-determined by a user.
  • the trigger rule may include meta data indicating the name of the trigger module, definitions of input data, definitions of output data, definitions of signal limiting functions, definitions of abnormal decision rules, and the like. .
  • the feed rule may include a definition of an allowable time difference in a logical operation (bool operation) for a signal, names of one or more connected detector modules, one or more connected trigger modules, and a logical operation relationship between them.
  • the detector rule includes meta data indicating the name of the detector module, definition of input data, and definition of one or more detection rules (category of alert to be generated, alert name, attack procedure step, alert judgment rule) of the detector module, etc. can include
  • 'abnormal data' may refer to data including different information such as the type and format of predetermined input data.
  • anomalous data may include network attack traffic.
  • 'attack detection information' may refer to detection information about attributes, types, procedures, etc. of network attack traffic associated with detected abnormal data.
  • the attributes of an attack may include information about attack tools, distribution methods, vulnerabilities, and attack groups.
  • the abnormal data detection system 100 extracts abnormal data included in input data (eg, one or more packets), and attributes of an attack (eg, network attack, etc.) associated with the abnormal data. , a system for detecting a procedure, and the like.
  • the abnormal data detection system 100 may include one or more trigger modules, a signal hub, and one or more detector modules. As shown, the abnormal data detection system 100 may include three trigger modules 120, a signal hub 130, and six detector modules 140, 150, and 160, but is not limited thereto, and different It can contain any number of modules.
  • the trigger module 120 may receive input data from the source DB 110 .
  • the source DB 110 may be a database storing arbitrary input data to be judged for abnormal data detection.
  • the source DB 110 may consist of one database or two or more databases that are logically and/or physically separated.
  • the trigger module 120 may receive input data to be judged for abnormal data detection from the source DB 110 .
  • the trigger module 120 may receive input data of a specific size according to a specific input period using a specific protocol.
  • the trigger module 120 may receive input data and determine whether the received input data includes abnormal data based on a trigger rule.
  • the trigger rule may include information about criteria for determining abnormal data.
  • criteria for judging abnormal data include the target protocol, the number of retrieved data, the abnormal score based on machine learning, the number of SYN packets, PPS for each destination IP, and the unique number of destination port numbers. can do.
  • a criterion for determining such abnormal data may be predetermined by a user or may be determined by an arbitrary algorithm for determining whether or not an attack occurs.
  • the trigger module 120 determines whether or not abnormal data is included using the target protocol, the number of retrieved data, the machine learning-based abnormality score, the number of SYN packets, PPS for each destination IP, and the unique number of destination port numbers. can judge For example, the trigger module 120 may determine that the corresponding input data includes abnormal data when the number of transport packets of a specific destination port number is 100 or more. In another example, the trigger module 120 may determine that the corresponding input data includes abnormal data when an abnormal score calculated by machine learning or the like is 30 or more.
  • the trigger module 120 may generate one or more initial signals representing the abnormal data.
  • the initial signal may refer to data associated with at least a partial region of the input data including a region corresponding to abnormal data.
  • the trigger rule may include output information related to the type of the initial signal, and the trigger module 120 may generate one or more initial signals of a type determined based on the output information.
  • the first trigger module 120_1 generates a first initial signal
  • the second trigger module 120_2 generates a second initial signal
  • the third trigger module 120_3 generates a third initial signal. can do. Initial signals generated in this way may be delivered to the signal hub 130 .
  • the signal hub 130 may perform calculations on initial signals received from the trigger module 120 . Specifically, the signal hub 130 may generate a result signal by performing an operation on the received initial signals based on a feed rule. For example, the signal hub 130 may generate a resultant signal by removing redundancy on the initial signals received from the trigger module 120 and performing a logical operation (eg, a Bool operation). That is, the feed rule may include information on the logical operation to be performed on initial signals, and the signal hub 130 may perform the operation based on the information on the logical operation included in the feed rule.
  • a logical operation eg, a Bool operation
  • the result signal is data associated with initial signals that are the object of the logical operation (eg, data obtained by merging initial signals), and may refer to data including all time ranges of corresponding initial signals.
  • the resulting signal generated in this way may be delivered to the detector modules 140, 150, and 160.
  • the detector modules 140, 150, and 160 receive a result signal generated from the signal hub 130, and based on a detector rule, attack corresponding to abnormal data from the received result signal.
  • Detection information can be detected.
  • the detector rule may include information about an attack detection rule for determining an attack corresponding to abnormal data.
  • the information on the attack detection rule is a machine learning-based abnormal score, the number of data or the number of specific fields, packet protocol, link inventory, link protocol inventory, IP blacklist , domain blacklist, URL blacklist, mac address inventory, IP address inventory, number of SYN packets, PPS for each destination IP, unique number of destination port numbers, etc. It may contain information for decision-making. That is, the detector modules 140, 150, and 160 may detect attack detection information (eg, attack attributes, procedures, etc.) corresponding to abnormal data using detector rules. The attack detection information detected in this way may be stored in the warning DB 170 .
  • attack detection information detected in this way may be stored in the warning DB 170 .
  • the abnormal data detection system 100 may determine a specific attack corresponding to the attack detection information by comparing the detected attack detection information with previously detected attacks (attack name, category, etc.). Then, the abnormal data detection system 100 may block or prevent the corresponding attack by using the determined attack response method. If a corresponding attack is not found among previously detected attacks, the abnormal data detection system 100 defines the detected attack detection information as a new attack, and the distribution method and vulnerability of the attack are stored in an arbitrary database (e.g., It can be stored and managed on the warning DB (170). In other words, the abnormal data detection system 100 may determine related information and countermeasures by analyzing not only existing attacks but also new network attacks in real time.
  • previously detected attacks attack name, category, etc.
  • the abnormal data detection system 100 may block or prevent the corresponding attack by using the determined attack response method. If a corresponding attack is not found among previously detected attacks, the abnormal data detection system 100 defines the detected attack detection information as a new attack, and the distribution method and vulnerability of the attack are stored in an arbitrary database (e.
  • the abnormal data detection system 100 may perform a simulation of an attack and response using a newly defined attack. For example, the abnormal data detection system 100 may repeatedly perform attacks and countermeasures using newly defined attacks to determine countermeasure vulnerabilities and the like. Then, the abnormal data detection system 100 can continuously improve response performance by changing numerical values, algorithms, etc. for the determined response vulnerability. Additionally or alternatively, the abnormal data detection system 100 may analyze a trend of the latest attack using a newly defined number of attacks.
  • the attack trend may include arbitrary information about the latest attack, such as an attack distribution method and vulnerability. In this case, any algorithm for analyzing and determining trends in attacks may be used.
  • the detector modules 140, 150, and 160 may correspond to one level among a plurality of levels based on dependence.
  • the dependence may be determined differently according to the type of the input value of each detector module.
  • the first-level detector module 140 may refer to a module that directly receives a resultant signal from the signal hub 130 and generates attack detection information.
  • the second level detector module 150 may refer to a module that regenerates attack detection information by using the output value of the first level detector module 140 as a new input value
  • the third level detector module 160 may refer to a module that regenerates attack detection information by using the output value of the second level detector module 150 as a new input value.
  • the attack detection information of the previous level detector module can be used by the next level detector module.
  • the level of the detector modules 140 , 150 , and 160 may be determined based on relevance information between one or more detector modules 140 , 150 , and 160 included in a detector rule.
  • the abnormal data detection system 100 has been described in detail as receiving input data from the source DB 110, but is not limited thereto.
  • the abnormal data detection system 100 may receive input data from an arbitrary external device (eg, a user terminal, information processing system, etc.).
  • the trigger module 120, the signal hub 130, and the detector modules 140, 150, and 160 have been separately described, but this is only to help understanding of the invention, and two or more of them in one computing device. function may be performed.
  • the abnormal data detection system 100 can effectively extract abnormal data included in the input data using a trigger rule, a feed rule, and a detector rule, and analyzes and stores attacks associated with the extracted abnormal data.
  • the abnormal data detection system 100 may detect more precise attack detection information by configuring the detector modules 140, 150, and 160 in a hierarchical structure.
  • the abnormal data detection system 100 can simply analyze newly discovered attacks as well as abnormal data associated with network attacks through the above-described process, and then efficiently respond to the corresponding attacks.
  • FIG. 2 is a functional block diagram showing the internal configuration of the trigger module 120 according to an embodiment of the present invention.
  • the trigger module 120 may include one or more submodules.
  • the trigger module 120 includes a rule parser 210, a data receiving module 220, a signal limiting module 230, an abnormality evaluation function generating module 240, an abnormality checker module 250, a signal generating module ( 260) and the like.
  • the trigger module 120 communicates with the source DB 110, the signal hub 130, etc., and can exchange data and/or information necessary for detecting abnormal data.
  • a rule parser 210 may receive, analyze and/or process the trigger rule 212 .
  • the rule parser 210 may receive and analyze the trigger rule 212 from one or more external devices, and perform processing to determine the operation of each detailed module included in the trigger module 120.
  • the trigger rule 212 may include input information associated with characteristics of input data, and the rule parser 210 may set or determine characteristics of the input data using the input information.
  • the rule parser 210 includes a category (index) of input data received based on the trigger rule 212, a target protocol used to receive the input data, a size of the input data, a reception period, and the like. Characteristics of the input data may be set or determined using the input information. Information about the characteristics of the input data determined in this way may be transmitted to the data reception module 220 .
  • the rule parser 210 may limit the number of signals generated during a certain period of time for efficient processing of data and/or information.
  • the trigger rule 212 may include information about a specific time range and the number of signals that can be generated and/or processed within the time range.
  • the rule parser 210 may set or determine the limit of the signal using the corresponding information. Information on the signal limit determined in this way may be transmitted to the signal limit module 230 .
  • the rule parser 210 may set or determine conditions for detecting abnormal data.
  • the trigger rule 212 is a target protocol, the number of searched data, an abnormal score based on machine learning, the number of SYN packets, PPS for each destination IP, the unique number of destination port numbers, etc.
  • Condition information related to the detection of abnormal data can be included using . That is, the rule parser 210 may determine information for detecting abnormal data based on condition information included in the trigger rule 212 . Information for detecting the abnormal data determined in this way may be transmitted to the abnormal evaluation function generation module 240 .
  • the rule parser 210 may set or determine the type of output data (eg, initial signal), and the like.
  • the trigger rule 212 may include information related to the type, size, and range of output data. That is, the rule parser 210 may determine information about the type of output data based on the trigger rule 212 . Information on the type of output data and the like based on this determination may be transmitted to the signal generation module 260 .
  • the data reception module 220 may receive information about characteristics of input data and receive input data from a determined specific location of a database using a target protocol. For example, when the category of the input data is "traffic”, the target protocol is "tcp", the reception period is 5s, and the size of the input data is 10s, the data receiving module 220 performs a database (eg, source DB) ), input data corresponding to “traffic” can be received every 5 s with a size of 10 s using the “tcp” protocol. Then, the data reception module 220 may transmit the received input data to the abnormality checker module 250 .
  • a target protocol e.g, source DB
  • the abnormality checker module 250 receives the abnormality evaluation function generated by the abnormality evaluation function generation module 240, inputs the input data into the abnormality evaluation function, and determines whether abnormality data is included in the input data. can determine.
  • the abnormality evaluation function generating module 240 uses condition information (eg, information for detecting abnormal data determined based on the condition information) and an indentation level to determine abnormal data. It is possible to create an abnormality evaluation function to determine.
  • the abnormal evaluation function may be generated as a function of a tree structure. That is, the abnormality checker module 250 may determine whether abnormal data is included in the input data by using an abnormality evaluation function having a tree structure.
  • the abnormality checker module 250 may transmit an initial signal generation request to the signal generation module 260 . Also, the abnormality checker module 250 may transmit an initial signal generation notification to the signal limiting module 230 .
  • the number of signals may be adjusted or limited using information about the number of initial signal generation notifications received from the abnormality checker module 250 and the limit of signals.
  • the signal limiting module 230 may control so that only a specific number (eg, 1) of signals is generated for a specific period of time (eg, 120 seconds), and may be equal to or equal to a specific number within a specific time period.
  • the signal limiting module 230 may inactivate the data receiving module 220 to limit the reception of input data.
  • the signal limiting module 230 activates the data receiving module 220 again and may initialize the number of signals.
  • the signal limiting module 230 can prevent generation of infinite signals for a flooding attack (network bandwidth exhaustion attack) or the like.
  • the signal generation module 260 may generate an initial signal based on information about the received initial signal generation request and the type of output data. For example, when the initial signal type is determined to be “input”, the signal generation module 260 may generate an initial signal by outputting input data as it is. In another example, when the initial signal type is determined to be "anomaly", the signal generation module 260 may generate an initial signal by including data within a specific range based on input data.
  • the initial signal may include a name and version of the trigger module 120, a name of a database category, a name of a target protocol, a start time of output data, and an end time of output data. The initial signal generated in this way may be transmitted to the signal hub 130 for subsequent processing.
  • the signal hub 130 is illustrated as receiving an initial signal generated from one trigger module 120, but is not limited thereto, and the signal hub 130 receives initial signals generated from a plurality of trigger modules. can do.
  • each module included in the trigger module 120 has been separately described in FIG. 2 , this is only to aid understanding of the present invention, and one arithmetic device may perform two or more functions.
  • the trigger module (or abnormal evaluation function generating module) may generate the abnormal evaluation function 320 using a trigger rule (at least a part of the trigger rule).
  • the trigger rule may include condition information 310 for determining specific data as abnormal data, and the trigger module may use a logic operation and an indentation level associated with the condition information to determine abnormal data.
  • Unsteady evaluation functions can be created.
  • the trigger module may define a bool relationship of the condition information 310 using a bool operation and an indentation level.
  • “tcp.tcp_flag_syn: 1” statement 360 and “count(): 20+” statement 370 can be concatenated into an and operation 340, and the concatenated and operation 340 and “anomaly_score: 30
  • the +" statement (350) can be linked to an or operation (330). That is, the trigger module may generate the abnormal evaluation function 320 by constructing a tree structure of the bool relationship of the condition information.
  • the trigger module may determine whether abnormal data is included in the input data using the generated abnormal evaluation function 320 .
  • the trigger module may determine whether abnormal data is included in the input data by detecting the tree-shaped abnormality evaluation function 320 based on postorder, but is not limited thereto.
  • the trigger module may detect the abnormal evaluation function 320 using a preorder traversal, an inorder traversal, or the like.
  • the trigger module may determine that the corresponding input data includes abnormal data when the number of packets having tcp.tcp_flag_syn equal to 1 is 20 or more or the abnormality score is 30 or more. In this way, by sequentially examining the input data using the tree-structured abnormality evaluation function 320, the trigger module can effectively check whether abnormal data is included in the input data.
  • FIG. 4 is a diagram illustrating an example in which various types of output data 420, 430, 440, and 450 are generated based on input data 410 according to an embodiment of the present invention.
  • the trigger module or signal generation module
  • the output data 420, 430, 440, 450 including the abnormal data can be generated.
  • the type of the output data 420, 430, 440, and 450 may be determined based on output information included in a trigger rule.
  • a trigger rule may include information about a type, size, unit, and cover of output data.
  • the type may be determined as input or anomaly, and the size may indicate a time interval of output data.
  • the range may determine an area included in the output data.
  • the trigger module may generate or output the same output data 420 as the input data 410 as an initial signal.
  • the trigger module may generate or output output data 430 as an initial signal to further include an area of a previous time interval based on the abnormal data C1. .
  • the trigger module may generate or output output data 440 as an initial signal to further include a region of the next time interval based on the abnormal data C1. there is.
  • the trigger module when the type is anomaly and the range is both, the trigger module generates or outputs output data 450 as an initial signal to further include areas of the previous and next time intervals based on the abnormal data C1. can do. With this configuration, by appropriately extracting data before and after the abnormal data according to the trigger rule, the trigger module can simply extract data within a required range and can effectively generate the same type of data without additional processing.
  • the signal hub 130 may include one or more sub-modules.
  • the signal hub 130 includes a rule parser 510, a signal reception module 520, a signal reducer 530, a signal operation function generation module 540, a signal operation module 550, a signal It may include a signal discarder 560, a signal transmission module 570, and the like.
  • the signal hub 130 communicates with the trigger module 120, the detector module 140, etc., and can send and receive data and/or information necessary for detecting abnormal data.
  • Rule parser 510 may receive and analyze and/or process feed rules 512 .
  • the rule parser 510 may receive and analyze the feed rule 512 from one or more external devices, and perform processing to determine the operation of each submodule included in the signal hub 130.
  • the feed rule 512 may include relationship information for determining a logical relationship between one or more trigger modules.
  • one or more trigger modules may include a plurality of trigger modules.
  • the relevance information may include a bool arithmetic relationship between a plurality of trigger modules. That is, the rule parser 510 may analyze a bool operation relationship between a plurality of trigger modules based on the relevance information. Information on the bool operation relationship between the plurality of trigger modules analyzed in this way may be transmitted to the signal operation function generation module 540 .
  • the feed rule 512 may include information about one or more detector modules 140 to receive the calculated result signal, and the rule parser 510 calculates the calculated result signal using the feed rule 512. It is possible to determine a list of one or more detector modules 140 to which the resulting signal is delivered. The list of one or more detector modules 140 determined in this way may be transmitted to the signal transmission module 570 .
  • the signal reception module 520 may receive initial signals generated from the trigger module 120 .
  • the signal reception module 520 may receive initial signals generated from all defined trigger modules 120 .
  • the received initial signals may be stored in the buffer 522 in the order of arrival. Initial signals thus stored may be stored in the buffer 522 until processed by the signal reducer 530.
  • the signal reducer 530 may remove overlapping initial signals from among the received initial signals. For example, the signal reducer 530 may receive initial signals at regular intervals to remove overlapping initial signals. According to an embodiment, the signal reducer 530 may determine initial signals generated by the same trigger module among one or more trigger modules 120 as overlapping initial signals. Additionally or alternatively, the signal reducer 530 may determine, as overlapping initial signals, initial signals in which abnormal ranges overlap by a predetermined ratio or more. For example, when the predetermined ratio is 50%, the first initial signal is a signal ranging from 5s to 25s, and the second initial signal is a signal ranging from 10s to 30s, the first initial signal and the second initial signal are signals ranging from 10s to 30s.
  • the predetermined ratio is 50%
  • the first initial signal is a signal ranging from 5s to 25s
  • the second initial signal is a signal ranging from 10s to 30s
  • the first initial signal and the second initial signal are signals ranging from 10s to 30s.
  • the initial signal may be determined as an initial signal in which the abnormal range overlaps at a predetermined rate or more. Then, the signal reducer 530 may pass the remaining initial signals to the signal operation module 550 after removing the initial signals determined to be duplicated (except for one initial signal among the overlapping initial signals). there is. In this case, the signal reducer 530 may group the initial signals according to the names of the trigger module 120 and transfer them to the signal operation module 550. With this configuration, the signal reducer 530 may improve data processing speed and efficiency by removing redundancy without using initial signals as they are.
  • the signal operation module 550 may receive the signal operation function generated by the signal operation function generation module 540 and input one or more initial signals to the signal operation function to generate a resultant signal.
  • the signal operation function generation module 540 may generate a signal operation function to generate a resultant signal based on one or more initial signals using the logical operation and indentation level associated with the relevance information.
  • the signal operation function may be generated as a tree-structured function. That is, the signal calculation module 550 may perform calculations on received initial signals using a tree-structured signal calculation function.
  • the signal calculation module 550 may record which feed rule among a plurality of feed rules has performed the calculation for each initial signal.
  • the signal operation module 550 may transmit a result signal transmission request to the signal transmission module 570 . Also, the signal operation module 550 may request processing of the signal to the signal discarder 560 . According to one embodiment, the signal discarder 560 may receive initial signals from the signal calculation module 550 . For example, signal discarder 560 may receive grouped initial signals. When receiving initial signals, the signal discarder 560 deletes the initial signals that have been processed by all feed rules, and the initial signals that have not been processed by all feed rules can be stored because they must be processed later. .
  • the signal discarder 560 may be discarded because the signal discarder 560 is not processed even after the time difference between the received last initial signal and the unprocessed signal is greater than the distance difference value defined by the feed rule.
  • the stored initial signal may be transferred to the signal reducer 530 and the signal operation module 550 through the signal receiving module 520 and the buffer 522 again. That is, the above-described process may be repeatedly performed for all initial signals until processing is completed.
  • the signal transmission module 570 may transmit the generated result signal to one or more determined detector modules 140 using the received result signal and information on the detector module received from the rule parser 510 .
  • the resulting signal transmitted to the detector module 140 is the name and version of the trigger module 120 for the initial signal used in the operation, the name of the category of the database, the name of the target protocol, and the start time and end time of the output data. etc. may be included.
  • the detector module 140 receiving the resulting signal from the signal transmission module 570 may be a detector level of the first level.
  • FIG. 5 it is shown that initial signals are received from three trigger modules 120 and result signals are transmitted to three detector modules 140, but it is not limited thereto, and initial signals are received from any number of trigger modules. and can transmit the resulting signal to any number of detector modules.
  • each module included in the signal hub 130 has been separately described, but this is only to aid understanding of the invention, and one computing device may perform two or more functions.
  • the signal hub may generate the signal operation function 620 using the feed rule (at least a part of the feed rule).
  • the feed rule may include relevance information 610 for determining a logical relationship between one or more trigger modules, and the signal hub uses a logical operation and an indentation level associated with the relevance information 610, Based on one or more initial signals, a signal operation function 620 can be generated to generate a resultant signal.
  • the signal hub may define a bool relationship of relevance information 610 using a bool operation and an indentation level.
  • the "Trigger B" statement 650 and the "Trigger C" statement 660 can be connected by an or operation 640, and the connected or operation 640 and the "Trigger A" statement 630 can be connected by an and operation.
  • the signal hub may generate the signal operation function 620 by constructing a bool relationship of the relevance information 610 in a tree structure.
  • the signal hub can perform the operation when all initial signals arrive from the corresponding trigger modules.
  • the statement is linked with an or operation, the signal hub can perform the operation immediately upon arrival of an initial signal from one or more trigger modules.
  • the signal hub may use the generated signal operation function 620 to determine whether initial signals are transferred from trigger modules to be operated on, and generate resultant signals. For example, the signal hub detects the tree-shaped signal operation function 620 based on post-order traversal to determine whether initial signals are an operation target, and if it is an operation target, a result signal can be generated using the corresponding initial signals. However, it is not limited thereto.
  • the signal hub may detect the signal operation function 620 using pre-order traversal, in-order traversal, or the like.
  • the feed rule may include a distance setting value, and when determining whether it is a computation target, the signal hub determines whether it is an association target based on whether the difference in the range of initial signals is within the distance setting value can do.
  • the signal hub when the signal hub receives an initial signal from either Trigger B or Trigger C and additionally receives an initial signal from Trigger A, the signal hub may generate a resultant signal using the received initial signals.
  • the resulting signal may include a time range of initial signals to be calculated.
  • the signal hub can selectively perform an operation on an initial signal received from a target trigger module among a plurality of trigger modules using the tree-structured signal operation function 620 .
  • the detector module 140 may include one or more detailed modules.
  • the detector module 140 may include a rule parser 710, a function generation module 720, an attack detection module 730, and the like.
  • the detector module 140 may correspond to one level among a plurality of levels according to an input value received by the detector module 140 .
  • the detector module 140 communicates with other module components of the abnormal data detection system and may exchange data and/or information necessary for detecting abnormal data.
  • Rule parser 710 may receive and analyze and/or process detector rules 712 .
  • the rule parser 710 may receive and analyze the detector rule 712 from one or more external devices, and may perform processing to determine the operation of each submodule included in or connected to the detector module 140.
  • the detector rule 712 may include information about a detection rule for extracting attack information associated with abnormal data.
  • the rule parser 710 may analyze the logical operation relationship of the information on the detection rule and transmit it to the function generation module 720 .
  • the detector rule 712 may include relation information between one or more detector modules 140 for determining whether to process attack detection information.
  • the rule parser 710 may analyze the logical operation relationship of the relevant relevance information and transmit the result to the function generation module 720 .
  • the resulting signal delivered from the signal hub 130 may be stored in the buffer 740.
  • the data reception module 750 may read and process the resulting signal stored in the buffer 740.
  • the data reception module 750 may retrieve data stored in the source DB 110 using category information and target protocol information included in the result signal.
  • the data reception module 750 may transmit the resultant signal and/or the retrieved data to the detector module (first-level detector module) 140 .
  • the attack detection module 730 receives the attack detection function generated by the function generation module 720, inputs input data related to the result signal to the attack detection function, and detects the attack on the result signal.
  • the function generation module 720 may generate an attack detection function for extracting attack information by using a logic operation and an indentation level associated with information about a detection rule.
  • the attack detection function may be generated as a function of a tree structure. That is, the attack detection module 730 may perform attack detection on the resulting signal using a tree-structured attack detection function.
  • the detection history is stored, and attack detection information including the detection history and the name of the corresponding detector module 140 may be transmitted to the evaluation module 760.
  • the evaluation module 760 may receive the evaluation function generated by the function generation module 720 and transmit attack detection information to a next-level detector module or backtracker module 770 based on the received evaluation function.
  • the detector rule 712 includes relevance information between one or more detector modules for determining whether to process attack detection information
  • the function generation module 720 determines logical operations and indentation levels associated with the relevance information. Using this, it is possible to create an evaluation function for determining whether to process the attack detection information.
  • the evaluation module 760 may transmit attack detection information to the detector module of the next level based on the evaluation function when there is a detector module of the next level. Additionally or alternatively, the evaluation module 760 may transmit attack detection information to the backtracker module 770 if the next level detector module does not exist.
  • the backtracker module 770 may use attack detection information of one or more detector modules to determine the nature and procedure of an attack associated with abnormal data. According to an embodiment, the backtracker module 770 analyzes the recorded detection information and history whenever an attack is detected in the attack detection modules included in each detector module to determine the nature of the attack and/or the life cycle of the attack. (lifecycle) can be analyzed. For example, the attack attribute for the final attack detection may be the category and name of the detected alert, and the attack procedure may be configured by connecting the attack states of activated detector modules.
  • the backtracker module 770 receives information about the previous attack procedure state from the attack state conversion table 780, and if the previous attack state and the current attack state can be linked, an attack procedure (sequence) is configured or connected. If this is not possible, a new attack procedure can be constructed.
  • the detected attack detection information, attack properties, procedures, etc. may be transmitted to the warning module 790, and the warning module 790 may store the detected information in the warning DB 170.
  • the function generation module 720 has been described above as generating an attack detection function and an evaluation function, but is not limited thereto, and a module for generating an attack detection function and a module for generating an evaluation function may exist separately.
  • a module for generating an attack detection function and a module for generating an evaluation function may exist separately.
  • each module included in or connected to the detector module 140 has been separately described in FIG. 7 , this is only to aid understanding of the present invention, and one arithmetic device may perform two or more functions.
  • the detector module (evaluation function generation module of the detector module) may generate the evaluation function 820 using the detector rule (at least a part of the detector rule).
  • the detector rule may include relevance information 810 between one or more detector modules for determining whether to process attack detection information, and the detector module may perform logical operations and indentation levels associated with the relevance information 810.
  • An evaluation function 820 for determining whether to process the attack detection information may be generated using .
  • the type of input may be determined as a signal or detectors. If the input type is signal, the detector module receives the resulting signal directly from the signal hub, so the evaluation function 820 may not be used. In other words, the evaluation function 820 may be used when attack detection information is received as an input value from the detector module.
  • the detector module may define a bool relationship of the relevance information 810 using a bool operation and an indentation level. For example, the phrase "Detector A" 840 and the phrase "Detector B" 850 may be connected through an or operation 830. That is, the detector module may generate the evaluation function 820 by constructing a bool relationship of the relevance information 810 in a tree structure. The evaluation function 820 generated in this way may be transmitted to an evaluation module.
  • the evaluation module may use the evaluation function 820 to check whether a detector module of the next level exists. If there is a detector module of the next level, the evaluation module may transmit attack detection information of the detector module of the previous level to the detector module of the next level. If the next level detector module does not exist, the evaluation module may analyze the characteristics and procedures of the attack by transmitting the attack detection information to the backtracker module. For example, when phrases are connected with an and operation, the evaluation module may perform the above-described processing when all attacks are detected from corresponding detector modules. In addition, when the syntax is connected with an or operation, the evaluation module may immediately perform processing when an attack is detected from one or more detector modules.
  • the evaluation module when the evaluation module receives attack detection information including detection history from either Detector A or Detector B, it checks whether there is a detector module of the next level and processes it. there is. With this configuration, the evaluation module determines the level and connection relationship corresponding to each detector module using the tree-structured evaluation function 820, and detects attacks more precisely using target detector modules.
  • FIG. 9 is a diagram illustrating an example in which an attack detection function 920 is generated based on a detector rule according to an embodiment of the present invention.
  • the detector module (or attack detection function generation module) may generate the attack detection function 920 using the detector rule (at least a part of the detector rule).
  • the detector rule may include detection rule information 910 for extracting attack information associated with abnormal data, and the detector module may include logic operations and indentation levels associated with the detection rule information 910.
  • An attack detection function 920 for extracting attack information may be generated using .
  • the information 910 on the detection rule may include information about a category of an alert to be generated, a name of an alert to be generated, an attack procedure step in which an alert may be generated, and the like.
  • the detector module may use the attack detection function 920 to determine the attribute, procedure, etc. of an attack included in the result signal and/or attack detection information of the previous level. For example, if input data modbus.modbus_exception_code is 1 or 3, the detector module can detect the attributes and procedures of the attack related to the condition. For example, the detector module may detect attributes and procedures of an attack by detecting the tree-type attack detection function 920 based on postorder, but is not limited thereto. The detector module may detect the attack detection function 920 using a preorder traversal, an inorder traversal, or the like. With this configuration, the detector module can effectively detect abnormal data that satisfies a specific detection rule among various abnormal data using the tree-structured attack detection function 920 .
  • the abnormal data detection method 1000 may be performed by a processor (eg, at least one processor of a computing device). As shown, the method 1000 for detecting abnormal data starts with a processor receiving input data and generating one or more initial signals representing abnormal data when abnormal data is included in the received input data based on a trigger rule. It can be (S1010).
  • the processor may receive one or more generated initial signals and generate a resultant signal by performing a logical operation on the received one or more initial signals based on a feed rule (S1020).
  • the result signal is data associated with initial signals that are the object of the logical operation, and may refer to data including all time ranges of corresponding initial signals.
  • the processor may receive the generated result signal and detect attack detection information corresponding to abnormal data from the received result signal based on the detector rule (S1030).
  • the attack detection information may include the name of the detector module that performed the detection, detection history, and the like.
  • each of the one or more detector modules may correspond to one level among a plurality of levels based on the dependence of the detector module.
  • the attack detection information of the detector module of the previous level may be used by the detector module of the next level.
  • the initial signal generation method 1100 may be performed by a processor (eg, at least one processor of a computing device). As shown, the initial signal generating method 1100 may be initiated by a processor generating an abnormal evaluation function for determining abnormal data using a logic operation and an indentation level associated with condition information (S1110).
  • a processor eg, at least one processor of a computing device.
  • the initial signal generating method 1100 may be initiated by a processor generating an abnormal evaluation function for determining abnormal data using a logic operation and an indentation level associated with condition information (S1110).
  • the processor may determine whether abnormal data is included in the input data by inputting the input data to the abnormality evaluation function (S1120).
  • the abnormal evaluation function may be generated using a logical operation associated with condition information and an indentation level.
  • the processor may generate one or more initial signals of a type determined based on the output information (S1130).
  • the output information may be related to the type of the initial signal being generated.
  • the resulting signal generating method 1200 may be performed by a processor (eg, at least one processor of a computing device). As shown, the resulting signal generation method 1200 will begin with a processor generating a signal operation function to generate a resulting signal based on one or more initial signals, using logical operations and indentation levels associated with relevance information. It can (S1210).
  • the relevance information may include information for determining a logical relationship between one or more trigger modules.
  • the processor may generate a result signal by inputting one or more initial signals to a signal operation function (S1220).
  • the processor may transmit the generated signal to one or more detector modules determined based on the information about the detector module (S1230).
  • the information on the detector module may include arbitrary information for determining the detector module to which the generated resultant signal is delivered.
  • the processor may receive initial signals and remove overlapping initial signals from among one or more initial signals. For example, the processor may determine initial signals generated by the same trigger module among one or more trigger modules as overlapping initial signals and remove them. In another example, the processor may determine initial signals in which abnormal ranges overlap at a predetermined rate or more as overlapping initial signals and remove them.
  • the attack detection method 1300 may be performed by a processor (eg, at least one processor of a computing device). As shown, the attack detection method 1300 may be initiated by a processor generating an attack detection function for extracting attack information using a logic operation and an indentation level associated with information on detection rules (S1310). .
  • a processor eg, at least one processor of a computing device.
  • the attack detection method 1300 may be initiated by a processor generating an attack detection function for extracting attack information using a logic operation and an indentation level associated with information on detection rules (S1310).
  • the processor may perform attack detection on the resulting signal by inputting input data to the attack detection function (S1320).
  • the processor may generate attack detection information for input data related to the result signal using the attack detection function.
  • the attack detection information generated in this way may be used to determine the nature and/or procedure of an attack or may be used for additional attack detection.
  • Various embodiments of the present invention may be performed by a data processing device, eg, one or more programmable processors and/or one or more computing devices, or as a computer readable recording medium and/or a computer program stored on a computer readable recording medium.
  • a data processing device eg, one or more programmable processors and/or one or more computing devices, or as a computer readable recording medium and/or a computer program stored on a computer readable recording medium.
  • the above-described computer programs may be written in any form of programming language, including compiled or interpreted languages, and may be distributed in any form, such as a stand-alone program, module, or subroutine.
  • a computer program may be distributed over one computing device, multiple computing devices connected through the same network, and/or distributed over multiple computing devices connected through multiple different networks.
  • the methods and/or various embodiments described above may be performed by one or more processors configured to execute one or more computer programs that process, store, and/or manage any function, function, or the like, by operating on input data or generating output data.
  • processors configured to execute one or more computer programs that process, store, and/or manage any function, function, or the like, by operating on input data or generating output data.
  • the method and/or various embodiments of the present invention may be performed by a special purpose logic circuit such as a Field Programmable Gate Array (FPGA) or an Application Specific Integrated Circuit (ASIC), and the method and/or various embodiments of the present invention may be performed.
  • Apparatus and/or systems for performing the embodiments may be implemented as special purpose logic circuits such as FPGAs or ASICs.
  • the one or more processors executing the computer program may include a general purpose or special purpose microprocessor and/or one or more processors of any kind of digital computing device.
  • the processor may receive instructions and/or data from each of the read-only memory and the random access memory, or receive instructions and/or data from the read-only memory and the random access memory.
  • components of a computing device performing methods and/or embodiments may include one or more processors for executing instructions, and one or more memory devices for storing instructions and/or data.
  • a computing device may exchange data with one or more mass storage devices for storing data.
  • a computing device may receive/receive data from and transfer data to a magnetic or optical disc.
  • a computer-readable storage medium (recording medium) suitable for storing instructions and/or data associated with a computer program includes a semiconductor memory such as an Erasable Programmable Read-Only Memory (EPROM), an Electrically Erasable PROM (EEPROM), and a flash memory device. It may include any form of non-volatile memory including, but not limited to, a device.
  • EPROM Erasable Programmable Read-Only Memory
  • EEPROM Electrically Erasable PROM
  • flash memory device It may include any form of non-volatile memory including, but not limited to, a device.
  • computer readable storage media may include magnetic disks such as internal hard disks or removable disks, magneto-optical disks, CD-ROM and DVD-ROM disks.
  • a computing device includes a display device (eg, a cathode ray tube (CRT), a liquid crystal display (LCD), etc.) It may include a pointing device (eg, a keyboard, mouse, trackball, etc.) capable of providing input and/or commands to, but is not limited thereto. That is, the computing device may further include any other type of device for providing interaction with a user.
  • a computing device may provide any form of sensory feedback to a user for interaction with the user, including visual feedback, auditory feedback, and/or tactile feedback.
  • the user may provide input to the computing device through various gestures such as visual, voice, and motion.
  • various embodiments may be implemented in a computing device including a back-end component (eg, a data server), a middleware component (eg, an application server), and/or a front-end component.
  • the components may be interconnected by any form or medium of digital data communication, such as a communication network.
  • the communication network may include a local area network (LAN), a wide area network (WAN), and the like.
  • a computing device based on the example embodiments described herein may be implemented using hardware and/or software configured to interact with a user, including a user device, user interface (UI) device, user terminal, or client device.
  • the computing device may include a portable computing device such as a laptop computer.
  • the computing device may include personal digital assistants (PDAs), tablet PCs, game consoles, wearable devices, internet of things (IoT) devices, virtual reality (VR) devices, AR (augmented reality) device, etc. may be included, but is not limited thereto.
  • PDAs personal digital assistants
  • tablet PCs tablet PCs
  • game consoles wearable devices
  • IoT internet of things
  • VR virtual reality
  • AR augmented reality
  • a computing device may further include other types of devices configured to interact with a user.
  • the computing device may include a portable communication device (eg, a mobile phone, smart phone, wireless cellular phone, etc.) suitable for wireless communication over a network, such as a mobile communication network.
  • a computing device communicates wirelessly with a network server using wireless communication technologies and/or protocols such as radio frequency (RF), microwave frequency (MWF) and/or infrared ray frequency (IRF). It can be configured to communicate with.
  • RF radio frequency
  • MMF microwave frequency
  • IRF infrared ray frequency

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • General Business, Economics & Management (AREA)
  • Business, Economics & Management (AREA)

Abstract

본 발명은 비정상 데이터 탐지 시스템에 관한 것이다. 비정상 데이터 탐지 시스템은, 입력 데이터를 수신하고, 트리거 룰을 기초로 수신된 입력 데이터 내에 비정상 데이터가 포함된 경우, 비정상 데이터를 나타내는 하나 이상의 초기 시그널을 생성하는 하나 이상의 트리거 모듈, 하나 이상의 트리거 모듈로부터 생성된 하나 이상의 초기 시그널을 수신하고, 피드 룰을 기초로 수신된 하나 이상의 초기 시그널에 대한 논리 연산을 수행하여 결과 시그널을 생성하는 시그널 허브 및 시그널 허브로부터 생성된 결과 시그널을 수신하고, 디텍터 룰을 기초로, 수신된 결과 시그널로부터 비정상 데이터에 대응하는 공격 탐지 정보를 검출하는 하나 이상의 디텍터 모듈을 포함한다.

Description

비정상 데이터 탐지 시스템 및 방법
본 발명은 비정상 데이터 탐지 시스템 및 방법에 관한 것으로, 구체적으로, 비정상 데이터에 대한 시그널을 생성하여 해당 비정상 데이터와 연관된 공격을 탐지하는 비정상 데이터 탐지 시스템 및 방법에 관한 것이다.
최근 기술의 발전과 동시에 사이버 공격 또한 더욱 지능화되고 치밀해지고 있다. 예를 들어, 네트워크 공격은 스마트폰이나 PC 등과 연관된 네트워크를 교란, 거부, 손상, 파괴할 수 있다. 따라서, 이러한 네트워크 공격을 예방하거나 차단하기 위한 기술의 개발이 필요하다.
본 발명은 상기와 같은 문제점을 해결하기 위한 비정상 데이터 탐지 시스템, 방법 및 기록 매체에 저장된 컴퓨터 프로그램을 제공한다.
본 발명은 시스템(장치), 방법 또는 컴퓨터 판독 가능 기록 매체에 저장된 컴퓨터 프로그램을 포함한 다양한 방식으로 구현될 수 있다.
본 발명의 일 실시예에 따르면, 비정상 데이터 탐지 시스템은, 입력 데이터를 수신하고, 트리거 룰을 기초로 수신된 입력 데이터 내에 비정상 데이터가 포함된 경우, 비정상 데이터를 나타내는 하나 이상의 초기 시그널을 생성하는 하나 이상의 트리거 모듈, 하나 이상의 트리거 모듈로부터 생성된 하나 이상의 초기 시그널을 수신하고, 피드 룰을 기초로 수신된 하나 이상의 초기 시그널에 대한 논리 연산을 수행하여 결과 시그널을 생성하는 시그널 허브 및 시그널 허브로부터 생성된 결과 시그널을 수신하고, 디텍터 룰을 기초로, 수신된 결과 시그널로부터 비정상 데이터에 대응하는 공격 탐지 정보를 검출하는 하나 이상의 디텍터 모듈을 포함한다.
본 발명의 일 실시예에 따르면, 트리거 룰은, 특정 데이터를 비정상 데이터로 결정하기 위한 조건 정보를 포함한다. 하나 이상의 트리거 모듈은, 조건 정보와 연관된 논리 연산 및 인덴테이션 수준을 이용하여, 비정상 데이터를 판정하기 위한 비정상 평가 함수를 생성하는 비정상 평가 함수 생성 모듈을 포함한다.
본 발명의 일 실시예에 따르면, 하나 이상의 트리거 모듈은, 비정상 평가 함수 생성 모듈로부터 생성된 비정상 평가 함수를 수신하고, 입력 데이터를 비정상 평가 함수에 입력하여 입력 데이터 내에 비정상 데이터가 포함된 경우, 초기 시그널 생성 요청을 전송하는 비정상 체커 모듈을 더 포함한다.
본 발명의 일 실시예에 따르면, 트리거 룰은, 생성되는 초기 시그널의 타입과 연관된 출력 정보를 더 포함한다. 하나 이상의 트리거 모듈은, 비정상 체커 모듈로부터 초기 시그널 생성 요청을 수신하는 경우, 출력 정보를 기초로 결정된 타입의, 하나 이상의 초기 시그널을 생성하는 시그널 생성 모듈을 더 포함한다.
본 발명의 일 실시예에 따르면, 트리거 룰은, 입력 데이터의 특성과 연관된 입력 정보를 포함한다. 하나 이상의 트리거 모듈은, 입력 정보를 기초로 결정된 데이터베이스의 특정 위치로부터, 대상 프로토콜을 이용하여 입력 데이터를 수신하는 데이터 수신 모듈을 포함한다.
본 발명의 일 실시예에 따르면, 피드 룰은, 하나 이상의 트리거 모듈 사이의 논리 관계를 결정하기 위한 관련성 정보를 포함한다. 시그널 허브는, 관련성 정보와 연관된 논리 연산 및 인덴테이션 수준을 이용하여, 하나 이상의 초기 시그널을 기초로 결과 시그널을 생성하기 위한 시그널 연산 함수를 생성하는 시그널 연산 함수 생성 모듈을 포함한다.
본 발명의 일 실시예에 따르면, 시그널 허브는, 시그널 연산 함수 생성 모듈로부터 생성된 시그널 연산 함수를 수신하고, 하나 이상의 초기 시그널을 시그널 연산 함수에 입력하여 결과 시그널을 생성하는 시그널 연산 모듈을 더 포함한다.
본 발명의 일 실시예에 따르면, 시그널 허브는, 하나 이상의 초기 시그널 중 중복되는 초기 시그널을 제거하기 위한 시그널 리듀서를 포함한다.
본 발명의 일 실시예에 따르면, 시그널 리듀서는, 하나 이상의 트리거 모듈 중 동일한 트리거 모듈에서 생성된 초기 시그널들을 중복되는 초기 시그널로 판정한다.
본 발명의 일 실시예에 따르면, 시그널 리듀서는, 비정상 범위가 미리 정해진 비율 이상 중복되는 초기 시그널들을 중복되는 초기 시그널로 판정한다.
본 발명의 일 실시예에 따르면, 피드 룰은, 생성된 결과 시그널을 전달받는 디텍터 모듈을 결정하기 위한 디텍터 모듈에 대한 정보를 포함한다. 시그널 허브는, 디텍터 모듈에 대한 정보를 기초로 결정된 하나 이상의 디텍터 모듈로 생성된 결과 시그널을 전송하는 시그널 전송 모듈을 포함한다.
본 발명의 일 실시예에 따르면, 디텍터 룰은, 비정상 데이터와 연관된 공격 정보를 추출하기 위한 탐지 규칙에 대한 정보를 포함한다. 하나 이상의 디텍터 모듈은, 탐지 규칙에 대한 정보와 연관된 논리 연산 및 인덴테이션 수준을 이용하여, 공격 정보를 추출하기 위한 공격 탐지 함수를 생성하는 공격 탐지 함수 생성 모듈을 포함한다.
본 발명의 일 실시예에 따르면, 하나 이상의 디텍터 모듈은, 공격 탐지 함수 생성 모듈로부터 생성된 공격 탐지 함수를 수신하고, 결과 시그널과 연관된 입력 데이터를 공격 탐지 함수에 입력하여, 결과 시그널에 대한 공격 탐지를 수행하는 공격 디텍터 모듈을 더 포함한다.
본 발명의 일 실시예에 따르면, 디텍터 룰은, 공격 탐지 정보의 처리 여부를 결정하기 위한 하나 이상의 디텍터 모듈 사이의 관련성 정보를 포함한다. 하나 이상의 디텍터 모듈은, 관련성 정보와 연관된 논리 연산 및 인덴테이션 수준을 이용하여, 공격 탐지 정보의 처리 여부를 결정하기 위한 평가 함수를 생성하는 평가 함수 생성 모듈을 포함한다.
본 발명의 일 실시예에 따르면, 하나 이상의 디텍터 모듈의 각각은 디텍터 모듈의 의존도를 기초로 복수의 레벨 중 하나의 레벨에 대응한다. 이전 레벨의 디텍터 모듈의 공격 탐지 정보는 다음 레벨의 디텍터 모듈에 의해 이용된다. 생성된 평가 함수 생성 모듈로부터 생성된 평가 함수를 수신하고, 수신된 평가 함수를 기초로 공격 탐지 정보를 다음 레벨의 디텍터 모듈 또는 백트래커 모듈로 전송하는 평가 모듈을 더 포함한다.
본 발명의 일 실시예에 따르면, 평가 모듈은, 다음 레벨의 디텍터 모듈이 존재하는 경우, 평가 함수를 기초로 공격 탐지 정보를 다음 레벨의 디텍터 모듈로 전송한다.
본 발명의 일 실시예에 따르면, 평가 모듈은, 다음 레벨의 디텍터 모듈이 존재하지 않는 경우, 공격 탐지 정보를 백트래커 모듈로 전송한다.
본 발명의 일 실시예에 따르면, 비정상 데이터 탐지 시스템은, 하나 이상의 디텍터 모듈의 공격 탐지 정보를 이용하여, 비정상 데이터와 연관된 공격의 속성 및 공격의 절차를 결정하는 백트래커 모듈을 더 포함한다.
본 발명의 다른 실시예에 따르면, 적어도 하나의 프로세서에 의해 수행되는 비정상 데이터 탐지 방법은, 입력 데이터를 수신하고, 트리거 룰을 기초로 수신된 입력 데이터 내에 비정상 데이터가 포함된 경우, 비정상 데이터를 나타내는 하나 이상의 초기 시그널을 생성하는 단계, 생성된 하나 이상의 초기 시그널을 수신하고, 피드 룰을 기초로 수신된 하나 이상의 초기 시그널에 대한 논리 연산을 수행하여 결과 시그널을 생성하는 단계 및 생성된 결과 시그널을 수신하고, 디텍터 룰을 기초로, 수신된 결과 시그널로부터 비정상 데이터에 대응하는 공격 탐지 정보를 검출하는 단계를 포함한다.
본 발명의 또 다른 실시예에 따르면 상술된 비정상 데이터 탐지 방법을 컴퓨터에서 실행하기 위해 컴퓨터 판독 가능한 기록 매체에 저장된 컴퓨터 프로그램이 제공된다.
본 발명의 다양한 실시예에 따르면, 비정상 데이터 탐지 시스템은 트리거 룰, 피드 룰 및 디텍터 룰을 이용하여 입력 데이터 내에 포함된 비정상 데이터를 효과적으로 추출할 수 있으며, 추출된 비정상 데이터와 연관된 공격을 분석하여 저장함으로써, 이 후 네트워크 공격 등에 노출된 경우, 효율적으로 대응할 수 있다.
본 발명의 다양한 실시예에 따르면, 비정상 데이터 탐지 시스템은 디텍터 모듈을 계층 구조로 구성함으로써, 더 정밀한 공격 탐지 정보를 검출할 수 있다.
본 발명의 다양한 실시예에 따르면, 시그널 제한 모듈은 flooding 공격(네트워크 대역폭 소진 공격) 등에 대한 무한한 시그널의 발생을 방지할 수 있다.
본 발명의 다양한 실시예에 따르면, 트리 구조의 비정상 평가 함수를 이용하여 입력 데이터를 순차적으로 검사함으로써, 트리거 모듈은 입력 데이터 내에 비정상 데이터가 포함되어 있는지 여부를 효과적으로 확인할 수 있다.
본 발명의 다양한 실시예에 따르면, 트리거 룰에 따라 비정상 데이터의 전후 데이터를 적절히 추출함으로써, 트리거 모듈은 필요한 범위의 데이터를 간단히 추출할 수 있으며, 별도의 처리 없이 동일한 유형의 데이터를 효과적으로 생성할 수 있다.
본 발명의 다양한 실시예에 따르면, 시그널 리듀서는 초기 시그널들을 그대로 이용하지 않고, 중복을 제거함으로써, 데이터 처리 속도 및 효율을 향상시킬 수 있다.
본 발명의 다양한 실시예에 따르면, 시그널 허브는 트리 구조의 시그널 연산 함수를 이용하여 복수의 트리거 모듈 중 목적하는 트리거 모듈로부터 수신된 초기 시그널에 대한 연산을 선택적으로 수행할 수 있다.
본 발명의 다양한 실시예에 따르면, 평가 모듈은 트리 구조의 평가 함수를 이용하여 디텍터 모듈 각각에 대응하는 레벨 및 연결 관계를 결정하고, 목적하는 디텍터 모듈 들을 이용하여 점점 더 정밀하게 공격 탐지를 수행할 수 있다.
본 발명의 다양한 실시예에 따르면, 디텍터 모듈은 트리 구조의 공격 탐지 함수를 이용하여 다양한 비정상 데이터 중 특정 탐지 규칙을 만족하는 비정상 데이터를 효과적으로 검출할 수 있다.
본 발명의 효과는 이상에서 언급한 효과로 제한되지 않으며, 언급되지 않은 다른 효과들은 청구범위의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자("통상의 기술자"라 함)에게 명확하게 이해될 수 있을 것이다.
본 발명의 실시예들은, 이하 설명하는 첨부 도면들을 참조하여 설명될 것이며, 여기서 유사한 참조 번호는 유사한 요소들을 나타내지만, 이에 한정되지는 않는다.
도 1은 본 발명의 일 실시예에 따른 비정상 데이터 탐지 시스템의 내부 구성을 나타내는 기능적인 블록도이다.
도 2는 본 발명의 일 실시예에 따른 트리거 모듈의 내부 구성을 나타내는 기능적인 블록도이다.
도 3은 본 발명의 일 실시예에 따른 트리거 룰을 기초로 비정상 평가 함수가 생성되는 예시를 나타내는 도면이다.
도 4는 본 발명의 일 실시예에 따른 입력 데이터를 기초로 다양한 유형의 출력 데이터가 생성되는 예시를 나타내는 도면이다.
도 5는 본 발명의 일 실시예에 따른 시그널 허브의 내부 구성을 나타내는 기능적인 블록도이다.
도 6은 본 발명의 일 실시예에 따른 피드 룰을 기초로 시그널 연산 함수가 생성되는 예시를 나타내는 도면이다.
도 7은 본 발명의 일 실시예에 따른 디텍터 모듈의 내부 구성을 나타내는 기능적인 블록도이다.
도 8은 본 발명의 일 실시예에 따른 디텍터 룰을 기초로 평가 함수가 생성되는 예시를 나타내는 도면이다.
도 9는 본 발명의 일 실시예에 따른 디텍터 룰을 기초로 공격 탐지 함수가 생성되는 예시를 나타내는 도면이다.
도 10은 본 발명의 일 실시예에 따른 비정상 데이터 탐지 방법의 예시를 나타내는 흐름도이다.
도 11은 본 발명의 일 실시예에 따른 초기 시그널 생성 방법의 예시를 나타내는 흐름도이다.
도 12는 본 발명의 일 실시예에 따른 결과 시그널 생성 방법의 예시를 나타내는 흐름도이다.
도 13은 본 발명의 일 실시예에 따른 공격 탐지 방법의 예시를 나타내는 흐름도이다.
이하, 본 발명의 실시를 위한 구체적인 내용을 첨부된 도면을 참조하여 상세히 설명한다. 다만, 이하의 설명에서는 본 발명의 요지를 불필요하게 흐릴 우려가 있는 경우, 널리 알려진 기능이나 구성에 관한 구체적 설명은 생략하기로 한다.
첨부된 도면에서, 동일하거나 대응하는 구성요소에는 동일한 참조부호가 부여되어 있다. 또한, 이하의 실시예들의 설명에 있어서, 동일하거나 대응되는 구성요소를 중복하여 기술하는 것이 생략될 수 있다. 그러나, 구성요소에 관한 기술이 생략되어도, 그러한 구성요소가 어떤 실시예에 포함되지 않는 것으로 의도되지는 않는다.
개시된 실시예의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명이 완전하도록 하고, 본 발명이 통상의 기술자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것일 뿐이다.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 개시된 실시예에 대해 구체적으로 설명하기로 한다. 본 명세서에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 관련 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서, 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다.
본 명세서에서의 단수의 표현은 문맥상 명백하게 단수인 것으로 특정하지 않는 한, 복수의 표현을 포함한다. 또한, 복수의 표현은 문맥상 명백하게 복수인 것으로 특정하지 않는 한, 단수의 표현을 포함한다. 명세서 전체에서 어떤 부분이 어떤 구성요소를 포함한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다.
본 발명에서, "포함하다", "포함하는" 등의 용어는 특징들, 단계들, 동작들, 요소들 및/또는 구성 요소들이 존재하는 것을 나타낼 수 있으나, 이러한 용어가 하나 이상의 다른 기능들, 단계들, 동작들, 요소들, 구성 요소들 및/또는 이들의 조합이 추가되는 것을 배제하지는 않는다.
본 발명에서, 특정 구성 요소가 임의의 다른 구성 요소에 "결합", "조합", "연결" 되거나, "반응" 하는 것으로 언급된 경우, 특정 구성 요소는 다른 구성 요소에 직접 결합, 조합 및/또는 연결되거나, 반응할 수 있으나, 이에 한정되지 않는다. 예를 들어, 특정 구성 요소와 다른 구성 요소 사이에 하나 이상의 중간 구성 요소가 존재할 수 있다. 또한, 본 발명에서 "및/또는"은 열거된 하나 이상의 항목의 각각 또는 하나 이상의 항목의 적어도 일부의 조합을 포함할 수 있다.
본 발명에서, '룰(rule)'은 네트워크 공격 등과 연관된 비정상 데이터 및/또는 비정상 데이터에 대한 공격 탐지 정보를 검출하고 저장하기 위한 정보를 포함하는 것으로, 임의의 프로그래밍 언어로 작성될 수 있다. 예를 들어, 룰은 하나 이상의 트리거(trigger) 룰, 하나 이상의 피드(feed) 룰, 하나 이상의 디텍터(detector) 룰을 포함할 수 있으나, 이에 한정되지 않는다. 이와 같은 룰은 비정상 데이터 탐지 시스템, 임의의 컴퓨팅 장치 등에 의해 미리 생성되거나, 사용자에 의해 미리 정해질 수 있다. 일 실시예에 따르면, 트리거 룰은 트리거 모듈의 명칭 등을 나타내는 메타 데이터, 입력 데이터에 대한 정의, 출력 데이터에 대한 정의, 시그널 제한 기능에 대한 정의, 비정상 판단 규칙에 대한 정의 등을 포함할 수 있다. 또한, 피드 룰은 시그널에 대한 논리 연산(bool 연산)에서 허용 시간 차이의 정의, 연결된 하나 이상의 디텍터 모듈의 명칭, 연결된 하나 이상의 트리거 모듈 및 이들 사이의 논리 연산 관계 등을 포함할 수 있다. 또한, 디텍터 룰은 디텍터 모듈의 명칭 등을 나타내는 메타 데이터, 입력 데이터에 대한 정의, 디텍터 모듈의 하나 이상의 탐지 규칙(발생할 경고의 카테고리, 경고 이름, 공격 절차 단계, 경고 판단 규칙)에 대한 정의 등을 포함할 수 있다.
본 발명에서, '비정상 데이터'는 미리 정해진 입력 데이터의 유형, 형식 등과 상이한 정보를 포함하는 데이터를 지칭할 수 있다. 예를 들어, 비정상 데이터는 네트워크 공격 트래픽을 포함할 수 있다.
본 발명에서, '공격 탐지 정보'는 검출된 비정상 데이터와 연관된 네트워크 공격 트래픽 등의 속성(attribute), 유형, 절차 등에 대한 탐지 정보를 지칭할 수 있다. 예를 들어, 공격의 속성은 공격 도구, 유포 방법, 취약점, 공격 그룹 등에 대한 정보를 포함할 수 있다.
도 1은 본 발명의 일 실시예에 따른 비정상 데이터 탐지 시스템(100)의 내부 구성을 나타내는 기능적인 블록도이다. 일 실시예에 따르면, 비정상 데이터 탐지 시스템(100)은 입력 데이터(예: 하나 이상의 패킷(packet)) 내에 포함된 비정상 데이터를 추출하고, 해당 비정상 데이터와 연관된 공격(예: 네트워크 공격 등)의 속성, 절차 등을 검출하기 위한 시스템을 지칭할 수 있다. 이러한 비정상 데이터 탐지 시스템(100)은 하나 이상의 트리거(trigger) 모듈, 시그널 허브(signal hub), 하나 이상의 디텍터(detector) 모듈을 포함할 수 있다. 도시된 것과 같이, 비정상 데이터 탐지 시스템(100)은 3개의 트리거 모듈(120), 시그널 허브(130), 6개의 디텍터 모듈(140, 150, 160)을 포함할 수 있으나, 이에 한정되지 않으며, 상이한 수의 모듈을 포함할 수 있다.
일 실시예에 따르면, 트리거 모듈(120)은 소스 DB(110)로부터 입력 데이터를 수신할 수 있다. 여기서, 소스 DB(110)는 비정상 데이터 탐지의 판단 대상이 되는 임의의 입력 데이터가 저장된 데이터베이스일 수 있다. 소스 DB(110)는 하나의 데이터베이스로 구성되거나, 논리적 및/또는 물리적으로 구분된 둘 이상의 데이터베이스로 구성될 수 있다. 트리거 모듈(120)은 소스 DB(110)로부터 비정상 데이터 탐지의 판단 대상이 되는 입력 데이터를 수신할 수 있다. 예를 들어, 트리거 모듈(120)은 특정 프로토콜(protocol)을 이용하여 특정 사이즈의 입력 데이터를 특정 입력 주기에 따라 수신할 수 있다.
트리거 모듈(120)은 입력 데이터를 수신하고, 트리거 룰(trigger rule)을 기초로 수신된 입력 데이터가 비정상 데이터를 포함하는지 여부를 판정할 수 있다. 일 실시예에 따르면, 트리거 룰은 비정상 데이터를 판단하는 기준에 대한 정보를 포함할 수 있다. 또한, 비정상 데이터를 판단하는 기준은 대상 프로토콜, 검색된 데이터의 수, 머신 러닝 기반의 비정상 스코어(score), SYN 패킷의 개수, 목적 IP 별 PPS, 목적 포트(destination port) 번호의 고유 개수 등을 포함할 수 있다. 이와 같은 비정상 데이터를 판단하는 기준은 사용자에 의해 사전 결정되거나, 공격 여부를 판정하기 위한 임의의 알고리즘에 의해 결정될 수 있다. 즉, 트리거 모듈(120)은 대상 프로토콜, 검색된 데이터의 수, 머신 러닝 기반의 비정상 스코어, SYN 패킷의 개수, 목적 IP 별 PPS, 목적 포트 번호의 고유 개수 등을 이용하여 비정상 데이터를 포함하는지 여부를 판정할 수 있다. 예를 들어, 트리거 모듈(120)은 특정 목적 포트 번호의 전송 패킷이 100개 이상인 경우, 해당 입력 데이터가 비정상 데이터를 포함하는 것으로 판정할 수 있다. 다른 예에서, 트리거 모듈(120)은 머신 러닝 등으로 산출된 비정상 점수가 30 이상인 경우, 해당 입력 데이터가 비정상 데이터를 포함하는 것으로 판정할 수 있다.
입력 데이터 내에 비정상 데이터가 포함된 것으로 판정된 경우, 트리거 모듈(120)은 비정상 데이터를 나타내는 하나 이상의 초기 시그널을 생성할 수 있다. 여기서, 초기 시그널은 비정상 데이터에 해당하는 영역을 포함하는 입력 데이터의 적어도 일부 영역과 연관된 데이터를 지칭할 수 있다. 일 실시예에 따르면, 트리거 룰은 초기 시그널의 타입(type)과 연관된 출력 정보를 포함할 수 있으며, 트리거 모듈(120)은 출력 정보를 기초로 결정된 타입의, 하나 이상의 초기 시그널을 생성할 수 있다. 예를 들어, 제1 트리거 모듈(120_1)은 제1 초기 시그널을 생성하고, 제2 트리거 모듈(120_2)은 제2 초기 시그널을 생성하고, 제3 트리거 모듈(120_3)은 제3 초기 시그널을 생성할 수 있다. 이와 같이 생성된 초기 시그널들은 시그널 허브(130)로 전달될 수 있다.
일 실시예에 따르면, 시그널 허브(130)는 트리거 모듈(120)로부터 수신된 초기 시그널들에 대한 연산을 수행할 수 있다. 구체적으로, 시그널 허브(130)는 피드 룰(feed rule)을 기초로 수신된 초기 시그널들에 대한 연산을 수행하여 결과 시그널을 생성할 수 있다. 예를 들어, 시그널 허브(130)는 트리거 모듈(120)로부터 수신된 초기 시그널들에 대한 중복을 제거하고, 논리 연산(예: Bool 연산)을 수행하여 결과 시그널을 생성할 수 있다. 즉, 피드 룰은 초기 시그널들에 대하여 수행될 논리 연산에 대한 정보를 포함할 수 있으며, 시그널 허브(130)는 피드 룰에 포함된 논리 연산에 대한 정보를 기초로, 연산을 수행할 수 있다. 여기서, 결과 시그널은 논리 연산의 대상이 된 초기 시그널들과 연관된 데이터(예: 초기 시그널들을 병합한 데이터)로서, 해당 초기 시그널들의 시간 범위를 모두 포함하는 데이터를 지칭할 수 있다. 이와 같이 생성된 결과 시그널은 디텍터 모듈(140, 150, 160)로 전달될 수 있다.
일 실시예에 따르면, 디텍터 모듈(140, 150, 160)은 시그널 허브(130)로부터 생성된 결과 시그널을 수신하고, 디텍터(detector) 룰을 기초로, 수신된 결과 시그널로부터 비정상 데이터에 대응하는 공격 탐지 정보를 검출할 수 있다. 예를 들어, 디텍터 룰은 비정상 데이터에 대응하는 공격을 결정하기 위한 공격 탐지 규칙에 대한 정보를 포함할 수 있다. 여기서, 공격 탐지 규칙에 대한 정보는 머신 러닝 기반의 비정상 스코어, 데이터 수 또는 특정 필드의 개수, 패킷의 프로토콜, 링크 인벤토리(link inventory), 링크의 프로토콜 인벤토리(protocol inventory), IP 블랙리스트(blacklist), 도메인 블랙리스트, URL 블랙리스트, mac 주소 인벤토리, IP 주소 인벤토리, SYN 패킷의 개수, 목적 IP 별 PPS, 목적 포트(destination port) 번호의 고유 개수 등을 분석하거나 검사하여 공격의 속성, 절차 등을 결정하기 위한 정보를 포함할 수 있다. 즉, 디텍터 모듈(140, 150, 160)은 디텍터 룰을 이용하여 비정상 데이터에 대응하는 공격 탐지 정보(예: 공격의 속성, 절차 등)를 검출할 수 있다. 이와 같이 검출된 공격 탐지 정보는 경고 DB(170)에 저장될 수 있다.
일 실시예에 따르면, 비정상 데이터 탐지 시스템(100)은 검출된 공격 탐지 정보와 기존에 탐지된 공격(공격의 명칭, 카테고리 등)를 비교하여 공격 탐지 정보와 대응하는 특정 공격을 결정할 수 있다. 그리고 나서, 비정상 데이터 탐지 시스템(100)은 결정된 공격의 대응 방법을 이용하여 해당 공격을 차단하거나 예방할 수 있다. 기존에 탐지된 공격 중 대응되는 공격이 발견되지 않는 경우, 비정상 데이터 탐지 시스템(100)은 검출된 공격 탐지 정보를 새로운 공격으로 정의하고, 해당 공격의 유포 방법, 취약점 등을 임의의 데이터베이스(예: 경고 DB(170)) 상에 저장하여 관리할 수 있다. 다시 말해, 비정상 데이터 탐지 시스템(100)은 기존에 존재하는 공격 뿐만 아니라 새로운 네트워크 공격이 실행된 경우에도, 실시간으로 이를 분석하여 관련 정보 및 대응책 등을 결정할 수 있다.
추가적으로 또는 대안적으로, 비정상 데이터 탐지 시스템(100)은 새롭게 정의된 공격을 이용한 공격 및 대응에 대한 시뮬레이션을 수행할 수 있다. 예를 들어, 비정상 데이터 탐지 시스템(100)은 새롭게 정의된 공격을 이용한 공격 및 대응을 반복적으로 수행하여, 대응 취약점 등을 판정할 수 있다. 그리고 나서, 비정상 데이터 탐지 시스템(100)은 판정된 대응 취약점 등에 대한 수치값, 알고리즘 등을 변경하여 지속적으로 대응 성능을 향상시킬 수 있다. 추가적으로 또는 대안적으로, 비정상 데이터 탐지 시스템(100)은 새롭게 정의된 미리 정해진 개수의 공격을 이용하여, 최신 공격의 트렌드를 분석할 수 있다. 여기서, 공격의 트렌드는 공격의 유포 방법, 취약점 등과 같은 최신 공격에 대한 임의의 정보를 포함할 수 있다. 이 경우, 공격의 트렌드를 분석하고 결정하기 위한 임의의 알고리즘이 사용될 수 있다.
일 실시예에 따르면, 디텍터 모듈(140, 150, 160)은 의존도를 기초로 복수의 레벨(level) 중 하나의 레벨에 대응할 수 있다. 여기서, 의존도는 각각의 디텍터 모듈의 입력값의 유형에 따라 상이하게 결정될 수 있다. 예를 들어, 제1 레벨의 디텍터 모듈(140)은 시그널 허브(130)로부터 직접 결과 시그널을 수신하여 공격 탐지 정보를 생성하는 모듈을 지칭할 수 있다. 또한, 제2 레벨의 디텍터 모듈(150)은 제1 레벨의 디텍터 모듈(140)의 출력값을 새로운 입력값으로 하여 공격 탐지 정보를 재생성하는 모듈을 지칭할 수 있으며, 제3 레벨의 디텍터 모듈(160)은 제2 레벨의 디텍터 모듈(150)의 출력값을 새로운 입력값으로 하여 공격 탐지 정보를 재생성하는 모듈을 지칭할 수 있다. 다시 말해, 이전 레벨의 디텍터 모듈의 공격 탐지 정보는 다음 레벨의 디텍터 모듈에 의해 이용될 수 있다. 이와 같은 디텍터 모듈(140, 150, 160)의 레벨은 디텍터 룰에 포함된 하나 이상의 디텍터 모듈(140, 150, 160) 사이의 관련성(relevance) 정보를 기초로 결정될 수 있다.
도 1에서는 비정상 데이터 탐지 시스템(100)이 소스 DB(110)로부터 입력 데이터를 수신하는 것으로 상술되었으나, 이에 한정되지 않는다. 예를 들어, 비정상 데이터 탐지 시스템(100)은 임의의 외부 장치(예: 사용자 단말, 정보 처리 시스템 등)로부터 입력 데이터를 수신할 수도 있다. 또한, 도 1에서는 트리거 모듈(120), 시그널 허브(130), 디텍터 모듈(140, 150, 160) 등이 구분되어 상술되었으나, 이는 발명의 이해를 돕기 위한 것일 뿐이며, 하나의 연산 장치에서 둘 이상의 기능을 수행할 수도 있다. 이와 같은 구성에 의해, 비정상 데이터 탐지 시스템(100)은 트리거 룰, 피드 룰 및 디텍터 룰을 이용하여 입력 데이터 내에 포함된 비정상 데이터를 효과적으로 추출할 수 있으며, 추출된 비정상 데이터와 연관된 공격을 분석하여 저장함으로써, 이 후 네트워크 공격 등이 발생한 경우, 효율적으로 대응할 수 있다. 또한, 비정상 데이터 탐지 시스템(100)은 디텍터 모듈(140, 150, 160)을 계층 구조(hierarchy structure)로 구성함으로써, 더 정밀한 공격 탐지 정보를 검출할 수 있다. 또한, 비정상 데이터 탐지 시스템(100)은 상술된 과정을 통해 네트워크 공격 등과 연관된 비정상 데이터뿐만 아니라 새롭게 발견되는 공격의 경우에도 간단히 분석하여, 이 후 해당 공격에 대한 대응을 효율적으로 수행할 수 있다.
도 2는 본 발명의 일 실시예에 따른 트리거 모듈(120)의 내부 구성을 나타내는 기능적인 블록도이다. 도시된 것과 같이, 트리거 모듈(120)은 하나 이상의 세부 모듈을 포함할 수 있다. 예를 들어, 트리거 모듈(120)은 룰 파서(210), 데이터 수신 모듈(220), 시그널 제한 모듈(230), 비정상 평가 함수 생성 모듈(240), 비정상 체커 모듈(250), 시그널 생성 모듈(260) 등을 포함할 수 있다. 또한, 트리거 모듈(120)은 소스 DB(110), 시그널 허브(130) 등과 통신하며 비정상 데이터 탐지에 필요한 데이터 및/또는 정보를 주고받을 수 있다.
룰 파서(rule parser)(210)는 트리거 룰(212)을 수신하여 분석 및/또는 처리할 수 있다. 예를 들어, 룰 파서(210)는 하나 이상의 외부 장치로부터 트리거 룰(212)을 수신하고 분석하여, 트리거 모듈(120)에 포함된 각 세부 모듈의 동작을 결정하기 위한 처리를 수행할 수 있다. 일 실시예에 따르면, 트리거 룰(212)은 입력 데이터의 특성과 연관된 입력 정보를 포함할 수 있으며, 룰 파서(210)는 입력 정보를 이용하여 입력 데이터의 특성을 설정하거나 결정할 수 있다. 예를 들어, 룰 파서(210)는 트리거 룰(212)을 기초로 수신하는 입력 데이터의 범주(index), 입력 데이터를 수신하기 위해 사용되는 대상 프로토콜, 입력 데이터의 사이즈, 수신 주기 등을 포함하는 입력 정보를 이용하여 입력 데이터의 특성을 설정하거나 결정할 수 있다. 이와 같이 결정된 입력 데이터의 특성에 대한 정보는 데이터 수신 모듈(220)로 전송될 수 있다.
추가적으로 또는 대안적으로, 룰 파서(210)는 데이터 및/또는 정보의 효율적인 처리를 위해 생성되는 일정 시간 동안의 시그널의 개수를 제한할 수 있다. 일 실시예에 따르면, 트리거 룰(212)은 특정 시간 범위와 해당 시간 범위 내의 생성 및/또는 처리 가능한 시그널의 개수에 대한 정보를 포함할 수 있다. 이 경우, 룰 파서(210)는 해당 정보를 이용하여 시그널의 제한을 설정하거나 결정할 수 있다. 이와 같이 결정된 시그널의 제한에 대한 정보는 시그널 제한 모듈(230)로 전송될 수 있다.
추가적으로 또는 대안적으로, 룰 파서(210)는 비정상 데이터를 탐지하기 위한 조건(condition)을 설정하거나 결정할 수 있다. 상술된 바와 같이, 트리거 룰(212)은 대상 프로토콜, 검색된 데이터의 수, 머신 러닝 기반의 비정상 스코어(score), SYN 패킷의 개수, 목적 IP 별 PPS, 목적 포트(destination port) 번호의 고유 개수 등을 이용하여 비정상 데이터의 탐지와 연관된 조건 정보를 포함할 수 있다. 즉, 룰 파서(210)는 트리거 룰(212)에 포함된 조건 정보를 기초로 비정상 데이터를 탐지하기 위한 정보를 결정할 수 있다. 이와 같이 결정된 비정상 데이터를 탐지하기 위한 정보는 비정상 평가 함수 생성 모듈(240)로 전송될 수 있다.
추가적으로 또는 대안적으로, 룰 파서(210)는 출력 데이터(예: 초기 시그널)의 유형 등을 설정하거나 결정할 수 있다. 예를 들어, 트리거 룰(212)은 출력 데이터의 유형(type), 크기, 범위 등과 연관된 정보를 포함할 수 있다. 즉, 룰 파서(210)는 트리거 룰(212)을 기초로 출력 데이터의 유형 등에 대한 정보를 결정할 수 있다. 이와 같이 결정된 기초로 출력 데이터의 유형 등에 대한 정보는 시그널 생성 모듈(260)로 전송될 수 있다.
일 실시예에 따르면, 데이터 수신 모듈(220)은 입력 데이터의 특성에 대한 정보를 수신하고, 결정된 데이터베이스의 특정 위치로부터, 대상 프로토콜을 이용하여 입력 데이터를 수신할 수 있다. 예를 들어, 입력 데이터의 범주가 "traffic"이고, 대상 프로토콜이 "tcp"이고, 수신 주기는 5s이고, 입력 데이터의 크기는 10s인 경우, 데이터 수신 모듈(220)은 데이터베이스(예: 소스 DB)에서 "traffic"에 해당하는 입력 데이터를 "tcp"프로토콜을 이용하여 10s의 크기로 5s의 주기마다 수신할 수 있다. 그리고 나서, 데이터 수신 모듈(220)은 수신된 입력 데이터를 비정상 체커 모듈(250)로 전송할 수 있다.
일 실시예에 따르면, 비정상 체커 모듈(250)은 비정상 평가 함수 생성 모듈(240)로부터 생성된 비정상 평가 함수를 수신하고, 입력 데이터를 비정상 평가 함수에 입력하여, 입력 데이터 내에 비정상 데이터가 포함되었는지 여부를 판정할 수 있다. 예를 들어, 비정상 평가 함수 생성 모듈(240)은 조건 정보(예: 조건 정보를 기초로 결정된 비정상 데이터를 탐지하기 위한 정보)와 연관된 논리 연산 및 인덴테이션(indentation) 수준을 이용하여, 비정상 데이터를 판정하기 위한 비정상 평가 함수를 생성할 수 있다. 여기서, 비정상 평가 함수는 트리(tree) 구조의 함수로 생성될 수 있다. 즉, 비정상 체커 모듈(250)은 트리 구조의 비정상 평가 함수를 이용하여 입력 데이터 내에 비정상 데이터가 포함되었는지 여부를 판정할 수 있다.
비정상 데이터가 존재하는 것으로 판정된 경우, 비정상 체커 모듈(250)은 시그널 생성 모듈(260)로 초기 시그널 생성 요청을 전송할 수 있다. 또한, 비정상 체커 모듈(250)은 시그널 제한 모듈(230)로 초기 시그널 생성 알림을 전송할 수 있다. 일 실시예에 따르면, 비정상 체커 모듈(250)로부터 수신된 초기 시그널 생성 알림의 개수 및 시그널의 제한에 대한 정보를 이용하여 시그널의 개수를 조절하거나 제한할 수 있다. 예를 들어, 시그널 제한 모듈(230)은 특정 시간(예: 120초) 동안 특정 개수(예: 1개)의 시그널만이 발생하도록 제어할 수 있으며, 특정 시간 내에 특정 개수와 같거나 특정 개수를 넘어서는 시그널이 발생하는 경우, 시그널 제한 모듈(230)은 데이터 수신 모듈(220)을 비활성화시켜 입력 데이터의 수신을 제한할 수 있다. 그리고 나서, 시그널 제한 모듈(230)은 특정 시간이 경과하는 경우, 데이터 수신 모듈(220)을 다시 활성화시키고, 시그널의 개수를 초기화할 수 있다. 이와 같은 구성에 의해, 시그널 제한 모듈(230)은 flooding 공격(네트워크 대역폭 소진 공격) 등에 대한 무한한 시그널의 발생을 방지할 수 있다.
초기 시그널 생성 요청을 수신하는 경우, 시그널 생성 모듈(260)은 수신된 초기 시그널 생성 요청 및 출력 데이터의 유형 등에 대한 정보를 기초로 초기 시그널을 생성할 수 있다. 예를 들어, 초기 시그널의 타입이 "input"으로 결정된 경우, 시그널 생성 모듈(260)은 입력 데이터를 그대로 출력하여 초기 시그널을 생성할 수 있다. 다른 예에서, 초기 시그널의 타입이 "anomaly"로 결정된 경우, 시그널 생성 모듈(260)은 입력 데이터를 기준으로 특정 범위 내의 데이터를 포함시켜 초기 시그널을 생성할 수 있다. 여기서, 초기 시그널은 트리거 모듈(120)의 명칭 및 버전, 데이터베이스의 범주의 명칭, 대상 프로토콜의 명칭, 출력 데이터의 시작 시간, 출력 데이터의 종료 시간 등을 포함할 수 있다. 이와 같이 생성된 초기 시그널은 다음 처리를 위해 시그널 허브(130)로 전송될 수 있다.
도 2에서는 시그널 허브(130)가 하나의 트리거 모듈(120)로부터 생성된 초기 시그널을 수신하는 것으로 도시되었으나, 이에 한정되지 않으며, 시그널 허브(130)는 복수의 트리거 모듈로부터 생성된 초기 시그널들을 수신할 수 있다. 또한, 도 2에서는 트리거 모듈(120)에 포함된 각각의 모듈이 구분되어 상술되었으나, 이는 발명의 이해를 돕기 위한 것일 뿐이며, 하나의 연산 장치에서 둘 이상의 기능을 수행할 수도 있다.
도 3은 본 발명의 일 실시예에 따른 트리거 룰을 기초로 비정상 평가 함수(320)가 생성되는 예시를 나타내는 도면이다. 상술된 바와 같이, 트리거 모듈(또는 비정상 평가 함수 생성 모듈)은 트리거 룰(트리거 룰의 적어도 일부)을 이용하여 비정상 평가 함수(320)를 생성할 수 있다. 예를 들어, 트리거 룰은 특정 데이터를 비정상 데이터로 결정하기 위한 조건 정보(310)를 포함할 수 있으며, 트리거 모듈은 조건 정보와 연관된 논리 연산 및 인덴테이션 수준을 이용하여, 비정상 데이터를 판정하기 위한 비정상 평가 함수를 생성할 수 있다.
도시된 예에서, 트리거 모듈은 bool 연산 및 인덴테이션 수준을 이용하여 조건 정보(310)의 bool 관계를 정의할 수 있다. 예를 들어, "tcp.tcp_flag_syn: 1"구문(360)과 "count(): 20+"구문(370)은 and 연산(340)으로 연결될 수 있으며, 연결된 and 연산(340)과 "anomaly_score: 30+"구문(350)은 or 연산(330)으로 연결될 수 있다. 즉, 트리거 모듈은 조건 정보의 bool 관계를 트리 구조로 구축하여 비정상 평가 함수(320)를 생성할 수 있다.
일 실시예에 따르면, 트리거 모듈은 생성된 비정상 평가 함수(320)를 이용하여 입력 데이터 내에 비정상 데이터가 포함되었는지 여부를 판정할 수 있다. 예를 들어, 트리거 모듈은 트리 형태의 비정상 평가 함수(320)를 후위 순회(postorder)를 기초로 탐지하여 입력 데이터 내에 비정상 데이터가 포함되었는지 여부를 판정할 수 있으나, 이에 한정되지 않는다. 트리거 모듈은 전위 순회(preorder), 중위 순회(inorder) 등을 이용하여 비정상 평가 함수(320)를 탐지할 수도 있다.
도시된 예에서, 입력 데이터가 수신되는 경우, 트리거 모듈은 tcp.tcp_flag_syn 이 1인 패킷이 20개 이상이거나, 비정상 점수가 30 이상인 경우, 해당 입력 데이터가 비정상 데이터를 포함하는 것으로 판정할 수 있다. 이와 같이, 트리 구조의 비정상 평가 함수(320)를 이용하여 입력 데이터를 순차적으로 검사함으로써, 트리거 모듈은 입력 데이터 내에 비정상 데이터가 포함되어 있는지 여부를 효과적으로 확인할 수 있다.
도 4는 본 발명의 일 실시예에 따른 입력 데이터(410)를 기초로 다양한 유형의 출력 데이터(420, 430, 440, 450)가 생성되는 예시를 나타내는 도면이다. 상술된 바와 같이, 트리거 모듈(또는 시그널 생성 모듈)은 입력 데이터(410)에 비정상 데이터(C1)가 포함된 경우, 비정상 데이터를 포함하는 출력 데이터(420, 430, 440, 450)(예: 초기 시그널)를 생성할 수 있다. 예를 들어, 출력 데이터(420, 430, 440, 450)는 트리거 룰에 포함된 출력 정보를 기초로 타입 등이 결정될 수 있다.
일 실시예에 따르면, 트리거 룰은 출력 데이터의 타입(type), 크기(size), 단위(unit), 범위(cover) 등에 대한 정보를 포함할 수 있다. 여기서, 타입은 input 또는 anomaly로 결정될 수 있으며, 크기는 출력 데이터의 시간 간격을 나타낼 수 있다. 또한, 범위는 출력 데이터가 포함하는 영역을 결정할 수 있다. 예를 들어, 타입이 input인 경우, 트리거 모듈은 입력 데이터(410)와 동일한 출력 데이터(420)를 초기 시그널로서 생성하거나 출력할 수 있다. 다른 예에서, 타입이 anomaly이고, 범위가 before인 경우, 트리거 모듈은 비정상 데이터(C1)를 기준으로 이전 시간 간격의 영역을 더 포함하도록 출력 데이터(430)를 초기 시그널로서 생성하거나 출력할 수 있다. 또 다른 예에서, 타입이 anomaly이고, 범위가 after인 경우, 트리거 모듈은 비정상 데이터(C1)를 기준으로 다음 시간 간격의 영역을 더 포함하도록 출력 데이터(440)를 초기 시그널로서 생성하거나 출력할 수 있다. 또 다른 예에서, 타입이 anomaly이고, 범위가 both인 경우, 트리거 모듈은 비정상 데이터(C1)를 기준으로 이전 및 다음 시간 간격의 영역을 더 포함하도록 출력 데이터(450)를 초기 시그널로서 생성하거나 출력할 수 있다. 이와 같은 구성에 의해, 트리거 룰에 따라 비정상 데이터의 전후 데이터를 적절히 추출함으로써, 트리거 모듈은 필요한 범위의 데이터를 간단히 추출할 수 있으며, 별도의 처리 없이 동일한 유형의 데이터를 효과적으로 생성할 수 있다.
도 5는 본 발명의 일 실시예에 따른 시그널 허브(130)의 내부 구성을 나타내는 기능적인 블록도이다. 도시된 것과 같이, 시그널 허브(130)는 하나 이상의 세부 모듈을 포함할 수 있다. 예를 들어, 시그널 허브(130)는 룰 파서(510), 시그널 수신 모듈(520), 시그널 리듀서(signal reducer)(530), 시그널 연산 함수 생성 모듈(540), 시그널 연산 모듈(550), 시그널 디스카더(signal discarder)(560), 시그널 전송 모듈(570) 등을 포함할 수 있다. 또한, 시그널 허브(130)는 트리거 모듈(120), 디텍터 모듈(140) 등과 통신하며 비정상 데이터 탐지에 필요한 데이터 및/또는 정보를 주고받을 수 있다.
룰 파서(510)는 피드 룰(512)을 수신하여 분석 및/또는 처리할 수 있다. 예를 들어, 룰 파서(510)는 하나 이상의 외부 장치로부터 피드 룰(512)을 수신하고 분석하여, 시그널 허브(130)에 포함된 각 세부 모듈의 동작을 결정하기 위한 처리를 수행할 수 있다. 일 실시예에 따르면, 피드 룰(512)은 하나 이상의 트리거 모듈 사이의 논리 관계를 결정하기 위한 관련성 정보를 포함할 수 있다. 여기서, 하나 이상의 트리거 모듈은 복수의 트리거 모듈을 포함할 수 있다. 또한, 관련성 정보는 복수의 트리거 모듈 사이의 bool 연산 관계를 포함할 수 있다. 즉, 룰 파서(510)는 관련성 정보를 기초로 복수의 트리거 모듈 사이의 bool 연산 관계를 분석할 수 있다. 이와 같이 분석된 복수의 트리거 모듈 사이의 bool 연산 관계에 대한 정보는 시그널 연산 함수 생성 모듈(540)로 전송될 수 있다.
추가적으로 또는 대안적으로, 피드 룰(512)은 연산된 결과 시그널을 전달받을 하나 이상의 디텍터 모듈(140)에 대한 정보를 포함할 수 있으며, 룰 파서(510)는 피드 룰(512)을 이용하여 연산된 결과 시그널을 전달받을 하나 이상의 디텍터 모듈(140)의 목록을 결정할 수 있다. 이와 같이 결정된 하나 이상의 디텍터 모듈(140)의 목록은 시그널 전송 모듈(570)로 전송될 수 있다.
일 실시예에 따르면, 시그널 수신 모듈(520)은 트리거 모듈(120)로부터 생성된 초기 시그널들을 수신할 수 있다. 예를 들어, 시그널 수신 모듈(520)은 정의된 모든 트리거 모듈(120)로부터 생성된 초기 시그널들을 수신할 수 있다. 이 경우, 수신된 초기 시그널들은 도착한 순서대로 버퍼(522)에 저장될 수 있다. 이와 같이 저장된 초기 시그널들은 시그널 리듀서(530)에 의해 처리될 때까지 버퍼(522)에 저장될 수 있다.
시그널 리듀서(530)는 버퍼(522)에 저장된 초기 시그널들을 수신한 후, 수신된 초기 시그널들 중 중복되는 초기 시그널을 제거할 수 있다. 예를 들어, 시그널 리듀서(530)는 일정 시간을 주기로 초기 시그널들을 수신하여 중복되는 초기 시그널을 제거할 수 있다. 일 실시예에 따르면, 시그널 리듀서(530)는 하나 이상의 트리거 모듈(120) 중 동일한 트리거 모듈에서 생성된 초기 시그널들을 중복되는 초기 시그널로 판정할 수 있다. 추가적으로 또는 대안적으로, 시그널 리듀서(530)는 비정상 범위가 미리 정해진 비율 이상 중복되는 초기 시그널들을 중복되는 초기 시그널로 판정할 수 있다. 예를 들어, 미리 정해진 비율이 50%일 때, 제1 초기 시그널이 5s에서 25s 사이의 범위의 시그널이고, 제2 초기 시그널이 10s에서 30s 사이의 범위의 시그널인 경우, 제1 초기 시그널 및 제2 초기 시그널은 비정상 범위가 미리 정해진 비율 이상 중복되는 초기 시그널로 판정될 수 있다. 그리고 나서, 시그널 리듀서(530)는 이와 같이 중복되는 것으로 판정된 초기 시그널(중복되는 초기 시그널들 중 하나의 초기 시그널을 제외한 나머지)을 제거한 후, 남은 초기 시그널들을 시그널 연산 모듈(550)로 전달할 수 있다. 이 경우, 시그널 리듀서(530)는 초기 시그널들을 트리거 모듈(120)의 명칭에 따라 그룹화하여 시그널 연산 모듈(550)로 전달할 수 있다. 이와 같은 구성에 의해, 시그널 리듀서(530)는 초기 시그널들을 그대로 이용하지 않고, 중복을 제거함으로써, 데이터 처리 속도 및 효율을 향상시킬 수 있다.
시그널 연산 모듈(550)은 시그널 연산 함수 생성 모듈(540)로부터 생성된 시그널 연산 함수를 수신하고, 하나 이상의 초기 시그널을 시그널 연산 함수에 입력하여 결과 시그널을 생성할 수 있다. 예를 들어, 시그널 연산 함수 생성 모듈(540)은 관련성 정보와 연관된 논리 연산 및 인덴테이션 수준을 이용하여, 하나 이상의 초기 시그널을 기초로 결과 시그널을 생성하기 위한 시그널 연산 함수를 생성할 수 있다. 여기서, 시그널 연산 함수는 트리(tree) 구조의 함수로 생성될 수 있다. 즉, 시그널 연산 모듈(550)은 트리 구조의 시그널 연산 함수를 이용하여 수신된 초기 시그널들에 대한 연산을 수행할 수 있다. 또한, 시그널 연산 모듈(550)은 각 초기 시그널에 대해 복수의 피드 룰 중 어떤 피드 룰에 의해 연산이 수행되었는지 여부를 기록할 수 있다.
모든 초기 시그널에 대해 처리가 완료된 경우, 시그널 연산 모듈(550)은 시그널 전송 모듈(570)로 결과 시그널 전송 요청을 전달할 수 있다. 또한, 시그널 연산 모듈(550)은 시그널 디스카더(560)로 시그널에 대한 처리를 요청할 수 있다. 일 실시예에 따르면, 시그널 디스카더(560)는 시그널 연산 모듈(550)로부터 초기 시그널들을 수신할 수 있다. 예를 들어, 시그널 디스카더(560)는 그룹화된 초기 시그널들을 수신할 수 있다. 초기 시그널들을 수신하는 경우, 시그널 디스카더(560)는 모든 피드 룰에 의해 처리가 완료된 초기 시그널을 삭제하고, 모든 피드 룰에 의해 처리가 완료되지 않은 초기 시그널은 이후에 처리되어야 하므로 보관될 수 있다. 또한, 시그널 디스카더(560)는 전달받은 마지막 초기 시그널과 처리되지 못한 시그널의 시간 차이가 피드 룰에 의해 정의된 거리 차이 값보다 큰 경우, 이후에도 처리되지 않으므로 폐기될 수 있다. 여기서, 보관되는 초기 시그널은 다시 시그널 수신 모듈(520) 및 버퍼(522)를 통해 시그널 리듀서(530) 및 시그널 연산 모듈(550)로 전달될 수 있다. 즉, 모든 초기 시그널에 대하여 처리가 완료될 때까지 상술된 과정이 반복적으로 수행될 수 있다.
시그널 전송 모듈(570)은 수신된 결과 시그널 및 룰 파서(510)로부터 수신된 디텍터 모듈에 대한 정보를 이용하여, 결정된 하나 이상의 디텍터 모듈(140)로 생성된 결과 시그널을 전송할 수 있다. 여기서, 디텍터 모듈(140)로 전송되는 결과 시그널은 연산에 사용된 초기 시그널에 대한 트리거 모듈(120)의 명칭 및 버전, 데이터베이스의 범주의 명칭, 대상 프로토콜의 명칭, 출력 데이터의 시작 시간 및 종료 시간 등을 포함할 수 있다. 이 경우, 시그널 전송 모듈(570)로부터 결과 시그널을 수신하는 디텍터 모듈(140)은 제1 레벨의 디텍터 레벨일 수 있다.
도 5에서는 3개의 트리거 모듈(120)로부터 초기 시그널을 수신하고, 3개의 디텍터 모듈(140)로 결과 시그널을 전송하는 것으로 도시되었으나, 이에 한정되지 않으며, 임의의 개수의 트리거 모듈로부터 초기 시그널을 수신하고, 임의의 개수의 디텍터 모듈로 결과 시그널을 전송할 수 있다. 또한, 도 5에서는 시그널 허브(130)에 포함된 각각의 모듈이 구분되어 상술되었으나, 이는 발명의 이해를 돕기 위한 것일 뿐이며, 하나의 연산 장치에서 둘 이상의 기능을 수행할 수도 있다.
도 6은 본 발명의 일 실시예에 따른 피드 룰을 기초로 시그널 연산 함수(620)가 생성되는 예시를 나타내는 도면이다. 상술된 바와 같이, 시그널 허브(또는 시그널 연산 함수 생성 모듈)은 피드 룰(피드 룰의 적어도 일부)을 이용하여 시그널 연산 함수(620)를 생성할 수 있다. 예를 들어, 피드 룰은 하나 이상의 트리거 모듈 사이의 논리 관계를 결정하기 위한 관련성 정보(610)를 포함할 수 있으며, 시그널 허브는 관련성 정보(610)와 연관된 논리 연산 및 인덴테이션 수준을 이용하여, 하나 이상의 초기 시그널을 기초로 결과 시그널을 생성하기 위한 시그널 연산 함수(620)를 생성할 수 있다.
도시된 예에서, 시그널 허브는 bool 연산 및 인덴테이션 수준을 이용하여 관련성 정보(610)의 bool 관계를 정의할 수 있다. 예를 들어, "Trigger B"구문(650)과 "Trigger C"구문(660)은 or 연산(640)으로 연결될 수 있으며, 연결된 or 연산(640)과 "Trigger A"구문(630)은 and 연산으로 연결될 수 있다. 즉, 시그널 허브는 관련성 정보(610)의 bool 관계를 트리 구조로 구축하여 시그널 연산 함수(620)를 생성할 수 있다. 여기서, 구문이 and 연산으로 연결된 경우, 시그널 허브는 해당 트리거 모듈들로부터 모두 초기 시그널이 도착하면 연산을 수행할 수 있다. 또한, 구문이 or 연산으로 연결된 경우, 시그널 허브는 하나 이상의 트리거 모듈로부터 초기 시그널이 도착하면 곧바로 연산을 수행할 수 있다.
일 실시예에 따르면, 시그널 허브는 생성된 시그널 연산 함수(620)를 이용하여 초기 시그널들로부터 연산 대상이 되는 트리거 모듈들로부터 전달된 것인지 여부를 판정하고, 결과 시그널을 생성할 수 있다. 예를 들어, 시그널 허브는 트리 형태의 시그널 연산 함수(620)를 후위 순회를 기초로 탐지하여 초기 시그널들이 연산 대상인지 여부를 판정하고, 연산 대상인 경우 해당 초기 시그널들을 이용하여 결과 시그널을 생성할 수 있으나, 이에 한정되지 않는다. 시그널 허브는 전위 순회, 중위 순회 등을 이용하여 시그널 연산 함수(620)를 탐지할 수도 있다. 추가적으로, 피드 룰은 거리(distance) 설정 값을 포함할 수 있으며, 연산 대상인지 여부의 판단 시, 시그널 허브는 초기 시그널들의 범위의 차이가 거리 설정 값 이내 인지 여부를 기초로 연상 대상인지 여부를 판단할 수 있다.
도시된 예에서, 시그널 허브는 Trigger B 또는 Trigger C 중 어느 하나에서 초기 시그널을 수신하고, Trigger A로부터 추가적으로 초기 시그널을 수신하는 경우, 수신된 초기 시그널들을 이용하여 결과 시그널을 생성할 수 있다. 여기서, 결과 시그널은 연산 대상인 초기 시그널들의 시간 범위를 포함할 수 있다. 이와 같은 구성에 의해, 시그널 허브는 트리 구조의 시그널 연산 함수(620)를 이용하여 복수의 트리거 모듈 중 목적하는 트리거 모듈로부터 수신된 초기 시그널에 대한 연산을 선택적으로 수행할 수 있다.
도 7은 본 발명의 일 실시예에 따른 디텍터 모듈(140)의 내부 구성을 나타내는 기능적인 블록도이다. 도시된 것과 같이, 디텍터 모듈(140)은 하나 이상의 세부 모듈을 포함할 수 있다. 예를 들어, 디텍터 모듈(140)은 룰 파서(710), 함수 생성 모듈(720), 공격 탐지 모듈(730) 등을 포함할 수 있다. 여기서, 디텍터 모듈(140)은 디텍터 모듈(140)이 수신하는 입력값에 따라 복수의 레벨 중 하나의 레벨에 대응할 수 있다. 또한, 디텍터 모듈(140)은 비정상 데이터 탐지 시스템의 다른 모듈 구성과 통신하며 비정상 데이터 탐지에 필요한 데이터 및/또는 정보를 주고받을 수 있다.
룰 파서(710)는 디텍터 룰(712)을 수신하여 분석 및/또는 처리할 수 있다. 예를 들어, 룰 파서(710)는 하나 이상의 외부 장치로부터 디텍터 룰(712)을 수신하고 분석하여, 디텍터 모듈(140)에 포함되거나 연결된 각 세부 모듈의 동작을 결정하기 위한 처리를 수행할 수 있다. 일 실시예에 따르면, 디텍터 룰(712)은 비정상 데이터와 연관된 공격 정보를 추출하기 위한 탐지 규칙에 대한 정보를 포함할 수 있다. 이 경우, 룰 파서(710)는 탐지 규칙에 대한 정보의 논리 연산 관계 등을 분석하여 함수 생성 모듈(720)로 전달할 수 있다. 추가적으로 또는 대안적으로, 디텍터 룰(712)은 공격 탐지 정보의 처리 여부를 결정하기 위한 하나 이상의 디텍터 모듈(140) 사이의 관련성 정보를 포함할 수 있다. 이 경우, 룰 파서(710)는 해당 관련성 정보의 논리 연산 관계 등을 분석하여 함수 생성 모듈(720)로 전달할 수 있다.
일 실시예에 따르면, 시그널 허브(130)로부터 전달된 결과 시그널은 버퍼(740)에 저장될 수 있다. 이 경우, 데이터 수신 모듈(750)은 버퍼(740)에 저장된 결과 시그널을 읽고 처리할 수 있다. 예를 들어, 데이터 수신 모듈(750)은 결과 시그널에 포함된 범주 정보와 대상 프로토콜 정보를 이용하여 소스 DB(110)에 저장된 데이터를 조회할 수 있다. 데이터 수신 모듈(750)은 결과 시그널 및/또는 조회된 데이터를 디텍터 모듈(제1 레벨의 디텍터 모듈)(140)로 전달할 수 있다.
일 실시예에 따르면, 공격 탐지 모듈(730)은 함수 생성 모듈(720)로부터 생성된 공격 탐지 함수를 수신하고, 결과 시그널과 연관된 입력 데이터를 공격 탐지 함수에 입력하여, 결과 시그널에 대한 공격 탐지를 수행할 수 있다. 예를 들어, 함수 생성 모듈(720)은 탐지 규칙에 대한 정보와 연관된 논리 연산 및 인덴테이션 수준을 이용하여, 공격 정보를 추출하기 위한 공격 탐지 함수를 생성할 수 있다. 여기서, 공격 탐지 함수는 트리(tree) 구조의 함수로 생성될 수 있다. 즉, 공격 탐지 모듈(730)은 트리 구조의 공격 탐지 함수를 이용하여 결과 시그널에 대한 공격 탐지를 수행할 수 있다. 공격 탐지 모듈(730)에 의해 탐지가 완료된 경우, 탐지 이력이 저장되고, 탐지 이력 및 해당 디텍터 모듈(140)의 명칭 등을 포함하는 공격 탐지 정보를 평가 모듈(760)로 전달될 수 있다.
평가 모듈(760)은 함수 생성 모듈(720)로부터 생성된 평가 함수를 수신하고, 수신된 평가 함수를 기초로 공격 탐지 정보를 다음 레벨의 디텍터 모듈 또는 백트래커(backtracker) 모듈(770)로 전송할 수 있다. 예를 들어, 디텍터 룰(712)은 공격 탐지 정보의 처리 여부를 결정하기 위한 하나 이상의 디텍터 모듈 사이의 관련성 정보를 포함하고, 함수 생성 모듈(720)은 관련성 정보와 연관된 논리 연산 및 인덴테이션 수준을 이용하여, 공격 탐지 정보의 처리 여부를 결정하기 위한 평가 함수를 생성할 수 있다. 일 실시예에 따르면, 평가 모듈(760)은 다음 레벨의 디텍터 모듈이 존재하는 경우, 평가 함수를 기초로 공격 탐지 정보를 다음 레벨의 디텍터 모듈로 전송할 수 있다. 추가적으로 또는 대안적으로, 평가 모듈(760)은 다음 레벨의 디텍터 모듈이 존재하지 않는 경우, 공격 탐지 정보를 백트래커 모듈(770)로 전송할 수 있다.
백트래커 모듈(770)은 하나 이상의 디텍터 모듈의 공격 탐지 정보를 이용하여, 비정상 데이터와 연관된 공격의 속성 및 공격의 절차를 결정할 수 있다. 일 실시예에 따르면, 백트래커 모듈(770)은 각각의 디텍터 모듈에 포함된 공격 탐지 모듈들에서 공격이 탐지될 때마다 기록된 탐지 정보와 이력을 분석하여 공격의 속성 및/또는 공격의 라이프사이클(lifecycle)을 분석할 수 있다. 예를 들어, 최종 공격 탐지에 대한 공격 속성은 탐지되었던 경고(alert)의 카테고리와 명칭일 수 있으며, 공격 절차는 활성화된 디텍터 모듈들의 공격 상태를 연결하여 구성될 수 있다. 여기서, 백트래커 모듈(770)은 공격 상태 전환 테이블(780)에서 이전의 공격 절차 상태 등에 대한 정보를 수신하고, 이전 공격 상태와 현재 공격 상태가 연결 가능한 경우 공격 절차(시퀀스)를 구성하거나, 연결 불가능한 경우 새로운 공격 절차를 구성할 수 있다. 이와 같이 탐지된 공격 탐지 정보, 공격의 속성, 절차 등은 경고 모듈(790)로 전송될 수 있으며, 경고 모듈(790)은 탐지된 정보를 경고 DB(170)에 저장할 수 있다.
도 7에서는 함수 생성 모듈(720)이 공격 탐지 함수 및 평가 함수를 생성하는 것으로 상술되었으나, 이에 한정되지 않으며, 공격 탐지 함수를 생성하는 모듈 및 평가 함수를 생성하는 모듈이 구분되어 존재할 수도 있다. 또한, 도 7에서는 디텍터 모듈(140)에 포함되거나 연결된 각각의 모듈이 구분되어 상술되었으나, 이는 발명의 이해를 돕기 위한 것일 뿐이며, 하나의 연산 장치에서 둘 이상의 기능을 수행할 수도 있다.
도 8은 본 발명의 일 실시예에 따른 디텍터 룰을 기초로 평가 함수(820)가 생성되는 예시를 나타내는 도면이다. 상술된 바와 같이, 디텍터 모듈(디텍터 모듈의 평가 함수 생성 모듈)은 디텍터 룰(디텍터 룰의 적어도 일부)을 이용하여 평가 함수(820)를 생성할 수 있다. 예를 들어, 디텍터 룰은 공격 탐지 정보의 처리 여부를 결정하기 위한 하나 이상의 디텍터 모듈 사이의 관련성 정보(810)를 포함할 수 있으며, 디텍터 모듈은 관련성 정보(810)와 연관된 논리 연산 및 인덴테이션 수준을 이용하여, 공격 탐지 정보의 처리 여부를 결정하기 위한 평가 함수(820)를 생성할 수 있다.
도시된 예에서, 입력(input)의 타입은 시그널(signal) 또는 디텍터(detectors)로 결정될 수 있다. 입력 타입이 시그널인 경우, 디텍터 모듈은 시그널 허브로부터 직접 결과 시그널을 수신하므로, 평가 함수(820)는 사용되지 않을 수 있다. 다시 말해, 평가 함수(820)는 디텍터 모듈로부터 공격 탐지 정보를 입력값으로 수신하는 경우에 사용될 수 있다. 디텍터 모듈은 bool 연산 및 인덴테이션 수준을 이용하여 관련성 정보(810)의 bool 관계를 정의할 수 있다. 예를 들어, "Detector A"구문(840)과 "Detector B"구문(850)은 or 연산(830)으로 연결될 수 있다. 즉, 디텍터 모듈은 관련성 정보(810)의 bool 관계를 트리 구조로 구축하여 평가 함수(820)를 생성할 수 있다. 이와 같이 생성된 평가 함수(820)는 평가 모듈로 전송될 수 있다.
평가 모듈은 평가 함수(820)를 이용하여 다음 레벨의 디텍터 모듈이 존재하는지 여부를 검사할 수 있다. 다음 레벨의 디텍터 모듈이 존재하는 경우, 평가 모듈은 이전 레벨의 디텍터 모듈의 공격 탐지 정보를 다음 레벨의 디텍터 모듈로 전송할 수 있다. 다음 레벨의 디텍터 모듈이 존재하지 않는 경우, 평가 모듈은 공격 탐지 정보를 백트래커 모듈로 전송하여 공격의 특성, 절차 등을 분석할 수 있다. 예를 들어, 구문이 and 연산으로 연결된 경우, 평가 모듈은 해당 디텍터 모듈들로부터 모두 공격이 탐지된 경우, 상술된 처리를 수행할 수 있다. 또한, 구문이 or 연산으로 연결된 경우, 평가 모듈은 하나 이상의 디텍터 모듈로부터 공격이 탐지된 경우 곧바로 처리를 수행할 수 있다.
도시된 예에서, 평가 모듈은 Detector A 또는 Detector B 중 어느 하나에서 탐지 이력 등을 포함하는 공격 탐지 정보를 수신하는 경우, 다음 레벨의 디텍터 모듈이 있는지 여부를 검사하고, 이에 대한 처리를 수행할 수 있다. 이와 같은 구성에 의해, 평가 모듈은 트리 구조의 평가 함수(820)를 이용하여 디텍터 모듈 각각에 대응하는 레벨 및 연결 관계를 결정하고, 목적하는 디텍터 모듈 들을 이용하여 점점 더 정밀하게 공격 탐지를 수행할 수 있다.
도 9는 본 발명의 일 실시예에 따른 디텍터 룰을 기초로 공격 탐지 함수(920)가 생성되는 예시를 나타내는 도면이다. 상술된 바와 같이, 디텍터 모듈(또는 공격 탐지 함수 생성 모듈)은 디텍터 룰(디텍터 룰의 적어도 일부)을 이용하여 공격 탐지 함수(920)를 생성할 수 있다. 예를 들어, 디텍터 룰은 비정상 데이터와 연관된 공격 정보를 추출하기 위한 탐지 규칙에 대한 정보(910)를 포함할 수 있으며, 디텍터 모듈은 탐지 규칙에 대한 정보(910)와 연관된 논리 연산 및 인덴테이션 수준을 이용하여, 공격 정보를 추출하기 위한 공격 탐지 함수(920)를 생성할 수 있다.
도시된 예에서, 탐지 규칙에 대한 정보(910)는 발생할 경고의 카테고리(category), 발생할 경고의 명칭(alert), 경고가 발생할 수 있는 공격 절차 단계 등에 대한 정보를 포함할 수 있다. 디텍터 모듈은 bool 연산 및 인덴테이션 수준을 이용하여 탐지 규칙에 대한 정보(910)의 bool 관계를 정의할 수 있다. 예를 들어, "modbus.modbus_exception_code == 1" 구문(940)과 "modbus.modbus_exception_code == 3" 구문(950)은 or 연산(930)으로 연결될 수 있다. 즉, 디텍터 모듈은 탐지 규칙에 대한 정보(910)를 트리 구조로 구축하여 공격 탐지 함수(920)를 생성할 수 있다.
일 실시예에 따르면, 디텍터 모듈은 공격 탐지 함수(920)를 이용하여 결과 시그널 및/또는 이전 레벨의 공격 탐지 정보에 포함된 공격의 속성, 절차 등을 결정할 수 있다. 예를 들어, 입력 데이터가modbus.modbus_exception_code가 1 이거나 3인 경우, 디텍터 모듈은 해당 조건과 연관된 공격의 속성, 절차 등을 탐지할 수 있다. 예를 들어, 디텍터 모듈은 트리 형태의 공격 탐지 함수(920)를 후위 순회(postorder)를 기초로 탐지하여 공격의 속성, 절차 등을 탐지할 수 있으나, 이에 한정되지 않는다. 디텍터 모듈은 전위 순회(preorder), 중위 순회(inorder) 등을 이용하여 공격 탐지 함수(920)를 탐지할 수도 있다. 이와 같은 구성에 의해, 디텍터 모듈은 트리 구조의 공격 탐지 함수(920)를 이용하여 다양한 비정상 데이터 중 특정 탐지 규칙을 만족하는 비정상 데이터를 효과적으로 검출할 수 있다.
도 10은 본 발명의 일 실시예에 따른 비정상 데이터 탐지 방법(1000)의 예시를 나타내는 흐름도이다. 일 실시예에 따르면, 비정상 데이터 탐지 방법(1000)은 프로세서(예를 들어, 컴퓨팅 장치의 적어도 하나의 프로세서)에 의해 수행될 수 있다. 도시된 바와 같이, 비정상 데이터 탐지 방법(1000)은 프로세서가 입력 데이터를 수신하고, 트리거 룰을 기초로 수신된 입력 데이터 내에 비정상 데이터가 포함된 경우, 비정상 데이터를 나타내는 하나 이상의 초기 시그널을 생성함으로써 개시될 수 있다(S1010).
프로세서는 생성된 하나 이상의 초기 시그널을 수신하고, 피드 룰을 기초로 수신된 하나 이상의 초기 시그널에 대한 논리 연산을 수행하여 결과 시그널을 생성할 수 있다(S1020). 여기서, 결과 시그널은 논리 연산의 대상이 된 초기 시그널들과 연관된 데이터로서, 해당 초기 시그널들의 시간 범위를 모두 포함하는 데이터를 지칭할 수 있다.
프로세서는 생성된 결과 시그널을 수신하고, 디텍터 룰을 기초로, 수신된 결과 시그널로부터 비정상 데이터에 대응하는 공격 탐지 정보를 검출할 수 있다(S1030). 예를 들어, 공격 탐지 정보는 탐지를 수행한 디텍터 모듈의 명칭, 탐지 이력 등을 포함할 수 있다. 여기서, 하나 이상의 디텍터 모듈의 각각은 디텍터 모듈의 의존도를 기초로 복수의 레벨 중 하나의 레벨에 대응할 수 있다. 또한, 이전 레벨의 디텍터 모듈의 공격 탐지 정보는 다음 레벨의 디텍터 모듈에 의해 이용될 수 있다.
도 11은 본 발명의 일 실시예에 따른 초기 시그널 생성 방법(1100)의 예시를 나타내는 흐름도이다. 일 실시예에 따르면, 초기 시그널 생성 방법(1100)은 프로세서(예를 들어, 컴퓨팅 장치의 적어도 하나의 프로세서)에 의해 수행될 수 있다. 도시된 바와 같이, 초기 시그널 생성 방법(1100)은 프로세서가 조건 정보와 연관된 논리 연산 및 인덴테이션 수준을 이용하여, 비정상 데이터를 판정하기 위한 비정상 평가 함수를 생성함으로써 개시될 수 있다(S1110).
프로세서는 입력 데이터를 비정상 평가 함수에 입력하여 입력 데이터 내에 비정상 데이터가 포함되었는지 여부를 판정할 수 있다(S1120). 여기서, 비정상 평가 함수는 조건 정보와 연관된 논리 연산 및 인덴테이션 수준을 이용하여 생성될 수 있다. 또한, 프로세서는 비정상 데이터가 포함된 것으로 판정된 경우, 출력 정보를 기초로 결정된 타입의, 하나 이상의 초기 시그널을 생성할 수 있다(S1130). 여기서, 출력 정보는 생성되는 초기 시그널의 타입과 연관될 수 있다.
도 12는 본 발명의 일 실시예에 따른 결과 시그널 생성 방법(1200)의 예시를 나타내는 흐름도이다. 일 실시예에 따르면, 결과 시그널 생성 방법(1200)은 프로세서(예를 들어, 컴퓨팅 장치의 적어도 하나의 프로세서)에 의해 수행될 수 있다. 도시된 바와 같이, 결과 시그널 생성 방법(1200)은 프로세서가 관련성 정보와 연관된 논리 연산 및 인덴테이션 수준을 이용하여, 하나 이상의 초기 시그널을 기초로 결과 시그널을 생성하기 위한 시그널 연산 함수를 생성함으로써 개시될 수 있다(S1210). 여기서, 관련성 정보는 하나 이상의 트리거 모듈 사이의 논리 관계를 결정하기 위한 정보를 포함할 수 있다.
프로세서는 하나 이상의 초기 시그널을 시그널 연산 함수에 입력하여 결과 시그널을 생성할 수 있다(S1220). 또한, 프로세서는 디텍터 모듈에 대한 정보를 기초로 결정된 하나 이상의 디텍터 모듈로 생성된 결과 시그널을 전송할 수 있다(S1230). 여기서, 디텍터 모듈에 대한 정보는 생성된 결과 시그널을 전달받는 디텍터 모듈을 결정하기 위한 임의의 정보를 포함할 수 있다.
일 실시예에 따르면, 프로세서는 초기 시그널을 수신하고, 하나 이상의 초기 시그널 중 중복되는 초기 시그널을 제거할 수 있다. 예를 들어, 프로세서는 하나 이상의 트리거 모듈 중 동일한 트리거 모듈에서 생성된 초기 시그널들을 중복되는 초기 시그널로 판정하고 제거할 수 있다. 다른 예에서, 프로세서는 비정상 범위가 미리 정해진 비율 이상 중복되는 초기 시그널들을 중복되는 초기 시그널로 판정하고 제거할 수 있다.
도 13은 본 발명의 일 실시예에 따른 공격 탐지 방법(1300)의 예시를 나타내는 흐름도이다. 일 실시예에 따르면, 공격 탐지 방법(1300)은 프로세서(예를 들어, 컴퓨팅 장치의 적어도 하나의 프로세서)에 의해 수행될 수 있다. 도시된 바와 같이, 공격 탐지 방법(1300)은 프로세서가 탐지 규칙에 대한 정보와 연관된 논리 연산 및 인덴테이션 수준을 이용하여, 공격 정보를 추출하기 위한 공격 탐지 함수를 생성함으로써 개시될 수 있다(S1310).
프로세서는 입력 데이터를 공격 탐지 함수에 입력하여, 결과 시그널에 대한 공격 탐지를 수행할 수 있다(S1320). 다시 말해, 프로세서는 공격 탐지 함수를 이용하여 결과 시그널과 연관된 입력 데이터에 대한 공격 탐지 정보를 생성할 수 있다. 이와 같이 생성된 공격 탐지 정보는 공격의 속성 및/또는 절차를 판정하기 위해 사용되거나 추가적인 공격 탐지를 위해 사용될 수도 있다.
상술된 방법 및/또는 다양한 실시예들은, 디지털 전자 회로, 컴퓨터 하드웨어, 펌웨어, 소프트웨어 및/또는 이들의 조합으로 실현될 수 있다. 본 발명의 다양한 실시예들은 데이터 처리 장치, 예를 들어, 프로그래밍 가능한 하나 이상의 프로세서 및/또는 하나 이상의 컴퓨팅 장치에 의해 실행되거나, 컴퓨터 판독 가능한 기록 매체 및/또는 컴퓨터 판독 가능한 기록 매체에 저장된 컴퓨터 프로그램으로 구현될 수 있다. 상술된 컴퓨터 프로그램은 컴파일된 언어 또는 해석된 언어를 포함하여 임의의 형태의 프로그래밍 언어로 작성될 수 있으며, 독립 실행형 프로그램, 모듈, 서브 루틴 등의 임의의 형태로 배포될 수 있다. 컴퓨터 프로그램은 하나의 컴퓨팅 장치, 동일한 네트워크를 통해 연결된 복수의 컴퓨팅 장치 및/또는 복수의 상이한 네트워크를 통해 연결되도록 분산된 복수의 컴퓨팅 장치를 통해 배포될 수 있다.
상술된 방법 및/또는 다양한 실시예들은, 입력 데이터를 기초로 동작하거나 출력 데이터를 생성함으로써, 임의의 기능, 함수 등을 처리, 저장 및/또는 관리하는 하나 이상의 컴퓨터 프로그램을 실행하도록 구성된 하나 이상의 프로세서에 의해 수행될 수 있다. 예를 들어, 본 발명의 방법 및/또는 다양한 실시예는 FPGA(Field Programmable Gate Array) 또는 ASIC(Application Specific Integrated Circuit)과 같은 특수 목적 논리 회로에 의해 수행될 수 있으며, 본 발명의 방법 및/또는 실시예들을 수행하기 위한 장치 및/또는 시스템은 FPGA 또는 ASIC와 같은 특수 목적 논리 회로로서 구현될 수 있다.
컴퓨터 프로그램을 실행하는 하나 이상의 프로세서는, 범용 목적 또는 특수 목적의 마이크로 프로세서 및/또는 임의의 종류의 디지털 컴퓨팅 장치의 하나 이상의 프로세서를 포함할 수 있다. 프로세서는 읽기 전용 메모리, 랜덤 액세스 메모리의 각각으로부터 명령 및/또는 데이터를 수신하거나, 읽기 전용 메모리와 랜덤 액세스 메모리로부터 명령 및/또는 데이터를 수신할 수 있다. 본 발명에서, 방법 및/또는 실시예들을 수행하는 컴퓨팅 장치의 구성 요소들은 명령어들을 실행하기 위한 하나 이상의 프로세서, 명령어들 및/또는 데이터를 저장하기 위한 하나 이상의 메모리 디바이스를 포함할 수 있다.
일 실시예에 따르면, 컴퓨팅 장치는 데이터를 저장하기 위한 하나 이상의 대용량 저장 장치와 데이터를 주고받을 수 있다. 예를 들어, 컴퓨팅 장치는 자기 디스크(magnetic disc) 또는 광 디스크(optical disc)로부터 데이터를 수신하거나/수신하고, 자기 디스크 또는 광 디스크로 데이터를 전송할 수 있다. 컴퓨터 프로그램과 연관된 명령어들 및/또는 데이터를 저장하기에 적합한 컴퓨터 판독 가능한 저장 매체(기록 매체)는, EPROM(Erasable Programmable Read-Only Memory), EEPROM(Electrically Erasable PROM), 플래시 메모리 장치 등의 반도체 메모리 장치를 포함하는 임의의 형태의 비 휘발성 메모리를 포함할 수 있으나, 이에 한정되지 않는다. 예를 들어, 컴퓨터 판독 가능한 저장 매체는 내부 하드 디스크 또는 이동식 디스크와 같은 자기 디스크, 광 자기 디스크, CD-ROM 및 DVD-ROM 디스크를 포함할 수 있다.
사용자와의 상호 작용을 제공하기 위해, 컴퓨팅 장치는 정보를 사용자에게 제공하거나 디스플레이하기 위한 디스플레이 장치(예를 들어, CRT (Cathode Ray Tube), LCD(Liquid Crystal Display) 등) 및 사용자가 컴퓨팅 장치 상에 입력 및/또는 명령 등을 제공할 수 있는 포인팅 장치(예를 들어, 키보드, 마우스, 트랙볼 등)를 포함할 수 있으나, 이에 한정되지 않는다. 즉, 컴퓨팅 장치는 사용자와의 상호 작용을 제공하기 위한 임의의 다른 종류의 장치들을 더 포함할 수 있다. 예를 들어, 컴퓨팅 장치는 사용자와의 상호 작용을 위해, 시각적 피드백, 청각 피드백 및/또는 촉각 피드백 등을 포함하는 임의의 형태의 감각 피트백을 사용자에게 제공할 수 있다. 이에 대해, 사용자는 시각, 음성, 동작 등의 다양한 제스처를 통해 컴퓨팅 장치로 입력을 제공할 수 있다.
본 발명에서, 다양한 실시예들은 백엔드 구성 요소(예: 데이터 서버), 미들웨어 구성 요소(예: 애플리케이션 서버) 및/또는 프론트 엔드 구성 요소를 포함하는 컴퓨팅 장치에서 구현될 수 있다. 이 경우, 구성 요소들은 통신 네트워크와 같은 디지털 데이터 통신의 임의의 형태 또는 매체에 의해 상호 연결될 수 있다. 예를 들어, 통신 네트워크는 LAN(Local Area Network), WAN(Wide Area Network) 등을 포함할 수 있다.
본 명세서에서 기술된 예시적인 실시예들에 기반한 컴퓨팅 장치는, 사용자 디바이스, 사용자 인터페이스(UI) 디바이스, 사용자 단말 또는 클라이언트 디바이스를 포함하여 사용자와 상호 작용하도록 구성된 하드웨어 및/또는 소프트웨어를 사용하여 구현될 수 있다. 예를 들어, 컴퓨팅 장치는 랩톱(laptop) 컴퓨터와 같은 휴대용 컴퓨팅 장치를 포함할 수 있다. 추가적으로 또는 대안적으로, 컴퓨팅 장치는, PDA(Personal Digital Assistants), 태블릿 PC, 게임 콘솔(game console), 웨어러블 디바이스(wearable device), IoT(internet of things) 디바이스, VR(virtual reality) 디바이스, AR(augmented reality) 디바이스 등을 포함할 수 있으나, 이에 한정되지 않는다. 컴퓨팅 장치는 사용자와 상호 작용하도록 구성된 다른 유형의 장치를 더 포함할 수 있다. 또한, 컴퓨팅 장치는 이동 통신 네트워크 등의 네트워크를 통한 무선 통신에 적합한 휴대용 통신 디바이스(예를 들어, 이동 전화, 스마트 전화, 무선 셀룰러 전화 등) 등을 포함할 수 있다. 컴퓨팅 장치는, 무선 주파수(RF; Radio Frequency), 마이크로파 주파수(MWF; Microwave Frequency) 및/또는 적외선 주파수(IRF; Infrared Ray Frequency)와 같은 무선 통신 기술들 및/또는 프로토콜들을 사용하여 네트워크 서버와 무선으로 통신하도록 구성될 수 있다.
본 발명에서, 달리 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함하여 본 명세서에서 사용되는 모든 용어는 이러한 개념이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 갖는다. 또한, 사전에 정의된 용어와 같이 일반적으로 사용되는 용어들은 관련 기술의 맥락에서의 의미와 일치하는 의미를 갖는 것으로 해석되어야 한다.
본 명세서에서는 본 발명이 일부 실시예들과 관련하여 설명되었지만, 본 발명의 발명이 속하는 기술분야의 통상의 기술자가 이해할 수 있는 본 발명의 범위를 벗어나지 않는 범위에서 다양한 변형 및 변경이 이루어질 수 있다. 또한, 그러한 변형 및 변경은 본 명세서에 첨부된 특허청구의 범위 내에 속하는 것으로 생각되어야 한다.

Claims (20)

  1. 비정상 데이터 탐지 시스템으로서,
    입력 데이터를 수신하고, 트리거 룰(trigger rule)을 기초로 상기 수신된 입력 데이터 내에 비정상 데이터가 포함된 경우, 상기 비정상 데이터를 나타내는 하나 이상의 초기 시그널(signal)을 생성하는 하나 이상의 트리거 모듈;
    상기 하나 이상의 트리거 모듈로부터 상기 생성된 하나 이상의 초기 시그널을 수신하고, 피드 룰(feed rule)을 기초로 상기 수신된 하나 이상의 초기 시그널에 대한 논리 연산을 수행하여 결과 시그널을 생성하는 시그널 허브(signal hub); 및
    상기 시그널 허브로부터 상기 생성된 결과 시그널을 수신하고, 디텍터(detector) 룰을 기초로, 상기 수신된 결과 시그널로부터 상기 비정상 데이터에 대응하는 공격 탐지 정보를 검출하는 하나 이상의 디텍터 모듈
    을 포함하는, 비정상 데이터 탐지 시스템.
  2. 제1항에 있어서,
    상기 트리거 룰은, 특정 데이터를 비정상 데이터로 결정하기 위한 조건(condition) 정보를 포함하고,
    상기 하나 이상의 트리거 모듈은,
    상기 조건 정보와 연관된 논리 연산 및 인덴테이션(indentation) 수준을 이용하여, 비정상 데이터를 판정하기 위한 비정상 평가 함수를 생성하는 비정상 평가 함수 생성 모듈을 포함하는, 비정상 데이터 탐지 시스템.
  3. 제2항에 있어서,
    상기 하나 이상의 트리거 모듈은,
    상기 비정상 평가 함수 생성 모듈로부터 상기 생성된 비정상 평가 함수를 수신하고, 상기 입력 데이터를 상기 비정상 평가 함수에 입력하여 상기 입력 데이터 내에 비정상 데이터가 포함된 경우, 초기 시그널 생성 요청을 전송하는 비정상 체커(checker) 모듈을 더 포함하는, 비정상 데이터 탐지 시스템.
  4. 제3항에 있어서,
    상기 트리거 룰은, 생성되는 초기 시그널의 타입(type)과 연관된 출력 정보를 더 포함하고,
    상기 하나 이상의 트리거 모듈은,
    상기 비정상 체커 모듈로부터 상기 초기 시그널 생성 요청을 수신하는 경우, 상기 출력 정보를 기초로 결정된 타입의, 하나 이상의 초기 시그널을 생성하는 시그널 생성 모듈을 더 포함하는, 비정상 데이터 탐지 시스템.
  5. 제1항에 있어서,
    상기 트리거 룰은, 상기 입력 데이터의 특성과 연관된 입력 정보를 포함하고,
    상기 하나 이상의 트리거 모듈은,
    상기 입력 정보를 기초로 결정된 데이터베이스의 특정 위치로부터, 대상 프로토콜을 이용하여 상기 입력 데이터를 수신하는 데이터 수신 모듈을 포함하는, 비정상 데이터 탐지 시스템.
  6. 제1항에 있어서,
    상기 피드 룰은, 상기 하나 이상의 트리거 모듈 사이의 논리 관계를 결정하기 위한 관련성(relevance) 정보를 포함하고,
    상기 시그널 허브는,
    상기 관련성 정보와 연관된 논리 연산 및 인덴테이션 수준을 이용하여, 상기 하나 이상의 초기 시그널을 기초로 상기 결과 시그널을 생성하기 위한 시그널 연산 함수를 생성하는 시그널 연산 함수 생성 모듈을 포함하는, 비정상 데이터 탐지 시스템.
  7. 제6항에 있어서,
    상기 시그널 허브는,
    상기 시그널 연산 함수 생성 모듈로부터 상기 생성된 시그널 연산 함수를 수신하고, 상기 하나 이상의 초기 시그널을 상기 시그널 연산 함수에 입력하여 상기 결과 시그널을 생성하는 시그널 연산 모듈을 더 포함하는, 비정상 데이터 탐지 시스템.
  8. 제1항에 있어서,
    상기 시그널 허브는,
    상기 하나 이상의 초기 시그널 중 중복되는 초기 시그널을 제거하기 위한 시그널 리듀서(reducer)를 포함하는, 비정상 데이터 탐지 시스템.
  9. 제7항에 있어서,
    상기 시그널 리듀서는, 상기 하나 이상의 트리거 모듈 중 동일한 트리거 모듈에서 생성된 초기 시그널들을 중복되는 초기 시그널로 판정하는, 비정상 데이터 탐지 시스템.
  10. 제7항에 있어서,
    상기 시그널 리듀서는, 비정상 범위가 미리 정해진 비율 이상 중복되는 초기 시그널들을 중복되는 초기 시그널로 판정하는, 비정상 데이터 탐지 시스템.
  11. 제1항에 있어서,
    상기 피드 룰은, 상기 생성된 결과 시그널을 전달받는 디텍터 모듈을 결정하기 위한 디텍터 모듈에 대한 정보를 포함하고,
    상기 시그널 허브는,
    상기 디텍터 모듈에 대한 정보를 기초로 결정된 상기 하나 이상의 디텍터 모듈로 상기 생성된 결과 시그널을 전송하는 시그널 전송 모듈을 포함하는, 비정상 데이터 탐지 시스템.
  12. 제1항에 있어서,
    상기 디텍터 룰은, 상기 비정상 데이터와 연관된 공격 정보를 추출하기 위한 탐지 규칙에 대한 정보를 포함하고,
    상기 하나 이상의 디텍터 모듈은,
    상기 탐지 규칙에 대한 정보와 연관된 논리 연산 및 인덴테이션 수준을 이용하여, 공격 정보를 추출하기 위한 공격 탐지 함수를 생성하는 공격 탐지 함수 생성 모듈을 포함하는, 비정상 데이터 탐지 시스템.
  13. 제12항에 있어서,
    상기 하나 이상의 디텍터 모듈은,
    상기 공격 탐지 함수 생성 모듈로부터 상기 생성된 공격 탐지 함수를 수신하고, 상기 결과 시그널과 연관된 입력 데이터를 상기 공격 탐지 함수에 입력하여, 상기 결과 시그널에 대한 공격 탐지를 수행하는 공격 탐지 모듈을 더 포함하는, 비정상 데이터 탐지 시스템.
  14. 제1항에 있어서,
    상기 디텍터 룰은, 상기 공격 탐지 정보의 처리 여부를 결정하기 위한 상기 하나 이상의 디텍터 모듈 사이의 관련성 정보를 포함하고,
    상기 하나 이상의 디텍터 모듈은,
    상기 관련성 정보와 연관된 논리 연산 및 인덴테이션 수준을 이용하여, 상기 공격 탐지 정보의 처리 여부를 결정하기 위한 평가 함수를 생성하는 평가 함수 생성 모듈을 포함하는, 비정상 데이터 탐지 시스템.
  15. 제14항에 있어서,
    상기 하나 이상의 디텍터 모듈의 각각은 디텍터 모듈의 의존도를 기초로 복수의 레벨(level) 중 하나의 레벨에 대응하고,
    이전 레벨의 디텍터 모듈의 공격 탐지 정보는 다음 레벨의 디텍터 모듈에 의해 이용되고,
    상기 생성된 평가 함수 생성 모듈로부터 상기 생성된 평가 함수를 수신하고, 상기 수신된 평가 함수를 기초로 상기 공격 탐지 정보를 다음 레벨의 디텍터 모듈 또는 백트래커(backtracker) 모듈로 전송하는 평가 모듈을 더 포함하는, 비정상 데이터 탐지 시스템.
  16. 제15항에 있어서,
    상기 평가 모듈은,
    상기 다음 레벨의 디텍터 모듈이 존재하는 경우, 상기 평가 함수를 기초로 상기 공격 탐지 정보를 상기 다음 레벨의 디텍터 모듈로 전송하는, 비정상 데이터 탐지 시스템.
  17. 제15항에 있어서,
    상기 평가 모듈은,
    상기 다음 레벨의 디텍터 모듈이 존재하지 않는 경우, 상기 공격 탐지 정보를 상기 백트래커 모듈로 전송하는, 비정상 데이터 탐지 시스템.
  18. 제1항에 있어서,
    상기 비정상 데이터 탐지 시스템은,
    상기 하나 이상의 디텍터 모듈의 공격 탐지 정보를 이용하여, 상기 비정상 데이터와 연관된 공격의 속성 및 공격의 절차를 결정하는 백트래커 모듈을 더 포함하는, 비정상 데이터 탐지 시스템.
  19. 적어도 하나의 프로세서에 의해 수행되는 비정상 데이터 탐지 방법으로서,
    입력 데이터를 수신하고, 트리거 룰을 기초로 상기 수신된 입력 데이터 내에 비정상 데이터가 포함된 경우, 상기 비정상 데이터를 나타내는 하나 이상의 초기 시그널을 생성하는 단계;
    상기 생성된 하나 이상의 초기 시그널을 수신하고, 피드 룰을 기초로 상기 수신된 하나 이상의 초기 시그널에 대한 논리 연산을 수행하여 결과 시그널을 생성하는 단계; 및
    상기 생성된 결과 시그널을 수신하고, 디텍터 룰을 기초로, 상기 수신된 결과 시그널로부터 상기 비정상 데이터에 대응하는 공격 탐지 정보를 검출하는 단계
    를 포함하는, 비정상 데이터 탐지 방법.
  20. 제19항에 따른 비정상 데이터 탐지 방법을 컴퓨터에서 실행하기 위해 컴퓨터 판독 가능한 기록 매체에 저장된 컴퓨터 프로그램.
PCT/KR2021/010353 2021-07-19 2021-08-05 비정상 데이터 탐지 시스템 및 방법 WO2023003067A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020210094505A KR102386282B1 (ko) 2021-07-19 2021-07-19 비정상 데이터 탐지 시스템 및 방법
KR10-2021-0094505 2021-07-19

Publications (1)

Publication Number Publication Date
WO2023003067A1 true WO2023003067A1 (ko) 2023-01-26

Family

ID=81428787

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2021/010353 WO2023003067A1 (ko) 2021-07-19 2021-08-05 비정상 데이터 탐지 시스템 및 방법

Country Status (2)

Country Link
KR (7) KR102386282B1 (ko)
WO (1) WO2023003067A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102583052B1 (ko) * 2023-06-28 2023-09-26 주식회사 이글루코퍼레이션 대용량 데이터 실시간 필터링을 위한 과부하 방지 자가보호 방법 및 이를 위한 장치
CN118018264B (zh) * 2024-01-29 2024-06-21 广州松杨云创科技有限公司 网络恶意攻击的检测阻断方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101094057B1 (ko) * 2005-08-12 2011-12-19 삼성전자주식회사 이동 통신시스템의 초기 시그널링 메시지 처리 방법 및장치
US20180019931A1 (en) * 2016-07-15 2018-01-18 A10 Networks, Inc. Automatic Capture of Network Data for a Detected Anomaly
US10764312B2 (en) * 2017-12-28 2020-09-01 Microsoft Technology Licensing, Llc Enhanced data aggregation techniques for anomaly detection and analysis
KR20210065493A (ko) * 2019-11-27 2021-06-04 주식회사 티맥스티베로 네트워크 어노말리 탐지 방법
KR20210086220A (ko) * 2019-12-31 2021-07-08 아주대학교산학협력단 비정상 트래픽 패턴의 탐지 방법 및 장치

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130085570A (ko) * 2011-12-22 2013-07-30 한국전자통신연구원 단말 중심 사이버 공격 방지 방법 및 그에 따른 단말 장치
KR101639869B1 (ko) 2014-08-04 2016-07-14 (주)엔토빌소프트 악성코드 유포 네트워크 탐지 프로그램
KR102282843B1 (ko) * 2019-05-31 2021-07-27 주식회사 포스코아이씨티 스위칭 장치를 이용하는 비정상 제어데이터 탐지시스템

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101094057B1 (ko) * 2005-08-12 2011-12-19 삼성전자주식회사 이동 통신시스템의 초기 시그널링 메시지 처리 방법 및장치
US20180019931A1 (en) * 2016-07-15 2018-01-18 A10 Networks, Inc. Automatic Capture of Network Data for a Detected Anomaly
US10764312B2 (en) * 2017-12-28 2020-09-01 Microsoft Technology Licensing, Llc Enhanced data aggregation techniques for anomaly detection and analysis
KR20210065493A (ko) * 2019-11-27 2021-06-04 주식회사 티맥스티베로 네트워크 어노말리 탐지 방법
KR20210086220A (ko) * 2019-12-31 2021-07-08 아주대학교산학협력단 비정상 트래픽 패턴의 탐지 방법 및 장치

Also Published As

Publication number Publication date
KR102386284B1 (ko) 2022-04-29
KR102386289B1 (ko) 2022-04-29
KR102386287B1 (ko) 2022-04-29
KR102386294B1 (ko) 2022-04-29
KR102386282B1 (ko) 2022-05-10
KR102386297B1 (ko) 2022-04-29
KR102386290B1 (ko) 2022-04-29

Similar Documents

Publication Publication Date Title
US9514246B2 (en) Anchored patterns
WO2023003067A1 (ko) 비정상 데이터 탐지 시스템 및 방법
US9858051B2 (en) Regex compiler
US9990583B2 (en) Match engine for detection of multi-pattern rules
US20220368706A1 (en) Attack Behavior Detection Method and Apparatus, and Attack Detection Device
TW201830942A (zh) 從半結構化資料偵測異常超文字傳輸協定(http)事件
Le et al. A proactive method of the webshell detection and prevention based on deep traffic analysis
KR20110028106A (ko) 접속 이력 기반 분산 서비스 공격 트래픽 제어 장치 및 그 방법
CN116827655A (zh) 流量检测加速方法和系统、电子设备及存储介质
KR100687736B1 (ko) 네트워크 상에서 이상 유해 트래픽 감지 장치 및 그 방법
Gao et al. An effective defense method based on hash authentication against mode-switching attack of Ormon PLC
WO2024172266A1 (ko) 특화된 데이터베이스 구축을 통한 기업 자산관리 시스템
CN108540322A (zh) 一种攻击图可视化效果的优化方法
WO2024106860A1 (ko) 링크 특성 분석 기반의 비정상 웹 컨텐츠 탐지 방법 및 시스템
WO2023202354A1 (zh) 进程内隔离方法、装置、存储介质及计算机程序产品
WO2022149637A1 (ko) 사용자 단말 이벤트 연동 악성파일 판단방법 및 이를 이용한 시스템
Mohammed et al. Secure SDN Traffic based on Machine Learning Classifier
Cullen et al. FPGA-based satisfiability filters for deep packet inspection
CN118200017A (zh) 基于流量行为标签化的深度报文检测方法、装置及介质
CHAND et al. Efficient Way of Detecting an Intrusion using Snort Rule Based Technique
UA141569U (uk) Пристрій захисту
CN118432940A (zh) 网络安全检测方法、装置、电子设备及计算机可读介质
CN115632834A (zh) 一种敏感数据拦截系统及方法
KR20230160647A (ko) 지능형 화이트리스트를 이용한 이상행위 탐지 방법 및 장치
MANIT Efficient String Matching Using Deterministic Finite Automation Hardware: Speed vs Area Tradeoff

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21951015

Country of ref document: EP

Kind code of ref document: A1