US20200322362A1 - Deep-learning-based intrusion detection method, system and computer program for web applications - Google Patents

Deep-learning-based intrusion detection method, system and computer program for web applications Download PDF

Info

Publication number
US20200322362A1
US20200322362A1 US16/681,023 US201916681023A US2020322362A1 US 20200322362 A1 US20200322362 A1 US 20200322362A1 US 201916681023 A US201916681023 A US 201916681023A US 2020322362 A1 US2020322362 A1 US 2020322362A1
Authority
US
United States
Prior art keywords
intrusion detection
data
deep
learning
intrusion
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
US16/681,023
Other versions
US10778705B1 (en
Inventor
Sung Bum Park
Hyun Chul Chang
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Academic Cooperation Foundation of Hoseo University
Original Assignee
Academic Cooperation Foundation of Hoseo University
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 Academic Cooperation Foundation of Hoseo University filed Critical Academic Cooperation Foundation of Hoseo University
Assigned to HOSEO UNIVERSITY ACADEMIC COOPERATION FOUNDATION reassignment HOSEO UNIVERSITY ACADEMIC COOPERATION FOUNDATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: CHANG, HYUN CHUL, PARK, SUNG BUM
Application granted granted Critical
Publication of US10778705B1 publication Critical patent/US10778705B1/en
Publication of US20200322362A1 publication Critical patent/US20200322362A1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • G06F11/324Display of status information
    • G06F11/327Alarm or error message display
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06K9/6267
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • G06N3/0454
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Definitions

  • the present invention relates to a deep-learning-based intrusion detection method, system and computer program for web applications, and more particularly, to a method, a system and a computer program for detecting whether traffic is a hacker attack by inputting a network traffic flowing into a server farm to a deep neural network (DNN) model and outputting data from the model.
  • DNN deep neural network
  • a web application refers to a collection of software that uses the Web.
  • the web application includes not only a web browser or web server, but also third-party applications and data used for the applications that are used to provide a service together with the web server.
  • a web attack refers to a series of behaviors that interrupt a normal web service or leak, falsify, or misuse information by attacking the web application necessary for providing the web service.
  • the web service is a connectionless and open service, unlike a connection-oriented Internet service such as Telnet, Ftp and E-mail. Even web services that require user authentication through login allow any user to access a page for the login, and most web services usually have a separate service page for visitors other than members. In other words, an access management system, such as a firewall, is inadequate as a security system for protecting the web services.
  • the web service is configured to have a hierarchical structure and be connected as a complicated system. Due to the configurations, the web attacks are different from other attacks on Internet services, and it is difficult to completely defense against the web attacks.
  • the web application program is configured to be written in scripting languages such as PHP, ASP and JAVA embedded in HTML, be connected to a database, retrieve data thereof, and store the data in a website. In addition, all web contents are based on the retrieved data, and the database stores important user input data including personal information such as credit card numbers. Attackers look for a web service that does not have consideration on security according to various attack motivations, bypass an existing intrusion detection system by using the HTTP protocol of the web service, and attempt to manipulate, destroy or leak information in the database without access permission by using the web scripting language.
  • a signature-based analysis as one of intrusion detection techniques is a scheme of finding a specific pattern corresponding to a known attack threat, and regular expressions are used to analyze strings by comparing the strings with a signature list that is already stored. When the pattern defined by the signature is found in a payload of a packet, the strings are considered as an attack. An accurate and restrictive signature list may reduce false positives.
  • the signature-based analysis technique may be successful when up-to-date signature patterns are maintained. However, an unknown attack such as a zero-day attack (a security attack that exploits security vulnerability before existence of the vulnerability is widely known after the vulnerability is discovered) or a latest malware cannot be detected.
  • Patent Document 1 KR 10-1836214 B1
  • the present invention provides an effective intrusion detection system by utilizing deep neural networks in the form of complicated messages of the Web service protocol (hypertext transfer protocol (HTTP)), which is most general and representative for a company, among various application-layered services.
  • Web service protocol hypertext transfer protocol (HTTP)
  • HTTP hypertext transfer protocol
  • the present invention provides a web application threat detection method, a system and a computer program implementing the same that are configured to determine security threats by bypassing and intruding the detection scheme of the signature-based security system.
  • the deep-learning-based intrusion detection method for web applications includes: (a) inputting input data formed by preprocessing traffic data to a web server into a deep neural network model for intrusion detection (hereinafter referred to as “intrusion detection model”); (b) outputting, from the intrusion detection model, whether an intrusion is detected in the traffic data; and (c) generating an alarm when the intrusion is detected.
  • intrusion detection model a deep neural network model for intrusion detection
  • the input data generated in step (a) may be composed of a specific number of word embedding vectors.
  • the method may further include (a0) preprocessing data formed by classifying the traffic data based on an attribute (hereinafter referred to as ‘attribute classification data’).
  • Step (a0) may include (a01) merging at least one predetermined specific attribute into one field, from the attribute classification data; (a02) generating texts formed by removing special characters and stop characters to clarify word separation, from the merged data; and (a03) forming the input data by mapping (embedding) each word to a vector value, from the texts generated in step (a02).
  • the specific attribute may include information on method upon HTTP request, information on URI used in the request, and information on a browser of a client.
  • the vector value may be updated through weights upon learning to separate and correlate meanings between words.
  • the intrusion detection model may be trained by a layer arranged in the same manner as the intrusion detection model.
  • the intrusion detection model may include one of a convolutional neural network (CNN), a long short-term memory-recurrent neural network (LSTM-RNN), and a convolutional long short-term memory (C-LSTM).
  • CNN convolutional neural network
  • LSTM-RNN long short-term memory-recurrent neural network
  • C-LSTM convolutional long short-term memory
  • the deep-learning-based intrusion detection system for web applications may include: at least one processor; and at least one memory configured to store a computer executable instruction, wherein the computer executable instruction stored in the at least one memory, by the at least one processor, executes (a) inputting input data formed by preprocessing traffic data to a web server into a deep neural network model for intrusion detection (hereinafter referred to as “intrusion detection model”); (b) outputting, from the intrusion detection model, whether an intrusion is detected in the traffic data; and (c) generating an alarm when the intrusion is detected.
  • intrusion detection model a deep neural network model for intrusion detection
  • the computer executable instruction may further execute (a0) preprocessing data formed by classifying the traffic data based on an attribute (hereinafter referred to as ‘attribute classification data’).
  • the deep-learning-based intrusion detection computer program for web applications is stored in a non-transitory storage medium, and includes an instruction configured to execute, by the processor, (a) inputting input data formed by preprocessing traffic data to a web server into a deep neural network model for intrusion detection (hereinafter referred to as “intrusion detection model”); (b) outputting, from the intrusion detection model, whether an intrusion is detected in the traffic data; and (c) generating an alarm when the intrusion is detected.
  • intrusion detection model a deep neural network model for intrusion detection
  • an instruction configured to execute (a0) preprocessing data formed by classifying the traffic data based on an attribute (hereinafter referred to as ‘attribute classification data’) may be further included.
  • the deep-learning-based intrusion detection system for web applications includes an intrusion detector including a deep neural network model for intrusion detection (hereinafter referred to as “intrusion detection model”) to output whether an intrusion is detected based on the input data formed by preprocessing the traffic data to the web server; and an alarm unit configured to generate an alarm when an intrusion is detected by the intrusion detector.
  • intrusion detection model a deep neural network model for intrusion detection
  • the deep-learning-based intrusion detection system for web applications may further include a preprocessor configured to preprocess data formed by classifying traffic data according to an attribute (hereinafter referred to as ‘attribute classification data’) to form input data of the intrusion detection model.
  • attribute classification data an attribute
  • the present invention can provide an effective intrusion detection system by utilizing deep neural networks in the form of complicated messages of the Web service protocol (hypertext transfer protocol (HTTP)), which is most general and representative for a company, among various application-layered services.
  • Web service protocol hypertext transfer protocol (HTTP)
  • HTTP hypertext transfer protocol
  • the present invention can provide a web application threat detection method, a system and a computer program implementing the same that are configured to determine security threats intruding by bypassing the detection scheme of the signature-based security system.
  • FIG. 1 is a conceptual diagram illustrating a network for constructing a data set of a deep-learning-based intrusion detection model for web applications according to the present invention.
  • FIG. 2 is a flowchart to perform a deep-learning-based intrusion detection method for web applications according to the present invention.
  • FIGS. 3 a and 3 b are views illustrating one embodiment of data ( FIG. 3 a ) formed by classifying traffic data according to an attribute, and preprocessed learning data ( FIG. 3 b ).
  • FIG. 4 is a view illustrating a configuration of a deep-learning-based intrusion detection system for web applications according to the present invention.
  • FIG. 5 is a view illustrating a configuration of a convolutional neural network (CNN) as one embodiment of the deep-learning-based intrusion detection system for web applications according to the present invention.
  • CNN convolutional neural network
  • FIG. 6 is a view illustrating a configuration of a long short-term memory-recurrent neural network (LSTM-RNN) as another embodiment of the deep-learning-based intrusion detection system for web applications according to the present invention.
  • LSTM-RNN long short-term memory-recurrent neural network
  • FIG. 7 is a view illustrating a configuration of a convolutional long short-term memory (C-LSTM) as another embodiment of the deep-learning-based intrusion detection system for web applications according to the present invention.
  • C-LSTM convolutional long short-term memory
  • FIG. 8 is a view illustrating a result table of intrusion detection performance of the deep-learning-based intrusion detection model for web applications according to the present invention.
  • FIG. 9 is a view illustrating an ROC curve indicating an accuracy and a loss for each step with respect to each model.
  • FIG. 1 is a conceptual diagram showing a network for constructing a data set of a deep-learning-based intrusion detection model for web applications according to the present invention.
  • Intrusion analysis schemes may be mainly classified into a signature-based analysis, an abnormaly-based analysis, and a stateful protocol analysis.
  • the signature-based analysis may be a very simple detection scheme that finds a specific pattern corresponding to a known attack threat.
  • the above scheme analyzes strings by comparing the strings with a saved signature list by using regular expressions. When a pattern defined by the signature is confirmed in a payload of a packet, the strings are considered as an attack. An accurate and restrictive signature list may reduce false positives.
  • the signature-based analysis technique may be successful when up-to-date signature patterns are maintained. However, an unknown attack such as a zero-day attack or a latest malware cannot be detected.
  • the anomaly-based analysis is based on defining network behavior.
  • the network behavior is based on a predefined behavior and generates an event when an abnormality is detected.
  • An important factor in defining the network behavior is an engine performance of the intrusion detection system to handle the intrusion during all protocol levels.
  • the anomaly-based analysis technique although the computational cost increases upon analyzing the protocol, the false positives may be reduced by increasing a detection rule set.
  • the major disadvantage is a definition of the detection rule set.
  • the performance of the anomaly-based detection system depends on how successfully the system is executed and tested over all protocols.
  • the process of defining the rule is influenced by various protocols generated by various vendors. In addition, it is also difficult for a user to define the protocols.
  • the anomaly-based analysis has a major advantage in that an attack, which is not defined by the signature, also may be detected by analyzing a behavior deviated from normal traffic patterns. Accordingly, attack types such as new worms may be detected.
  • the stateful protocol analysis which is also called deep packet inspection (DPI) in networks, performs a process of comparing profiles that define generally normal protocol behaviors in each protocol state.
  • the stateful protocol analysis may identify an unexpected instruction system, such as entering the same instruction repeatedly, and track an action of an authority or record a suspicious behavior, through each session.
  • the above analysis technique is useful for investigating events. Whereas the anomaly-based analysis adopts a profile specified to a predefined network or host, the stateful protocol analysis analyzes a specific protocol through a vendor-developed profile.
  • FIG. 1 generalizes a security environment basically established in most companies or organizations.
  • the first stage is to pass a firewall 510 in order to use a homepage of the organization through the Internet.
  • the firewall serves as a basic access control for IP, which is a third layer of OSI 7 Layer, and a transfer protocol (such as TCP and UDP), which is a fourth layer, and also serves to partially defense against DDoS attacks causing excessive accesses to a homepage server.
  • a second sensor for the traffic having passed the firewall occurs in an intrusion prevention system (IPS) 520 .
  • the IPS 520 serves to detect and block intrusion threats, such as inflow of viruses or malicious codes, abnormal protocols, and DDoS attacks, based on predefined detection rules for the homepage of the organization.
  • the traffic having passing the IPS passes through a web firewall 530 dedicated to defend against threats on web services.
  • the web firewall 530 detects and blocks various homepage threats including threats defined by OWASP, for the web services operated by the organization.
  • the present invention is directed to effectively detect intrusion threats, which are not detected by various security systems that are used currently and generally, through deep neural network techniques
  • a method of performing the deep learning-based intrusion detection method of the present invention will be described with reference to FIG. 2 .
  • FIG. 2 is a flowchart to perform the deep-learning-based intrusion detection method for web applications.
  • FIGS. 3 a and 3 b are views showing one embodiment of data ( FIG. 3 a ) formed by classifying traffic data according to an attribute, and preprocessed learning data ( FIG. 3 b ).
  • traffic data flowing into a server farm 550 is collected (S 210 ).
  • it is required to collect all traffic flowing into the web server (home page server) through the security system.
  • all traffic flowing into the homepage server are collected by copying the traffic to a traffic classifying unit 110 (see FIGS. 1 and 4 ) for additionally collecting and analyzing the traffic by using a traffic mirroring technique at a network switch 540 (see FIG. 1 ) for the server farm 550 (see FIG. 1 ) composed of web servers.
  • Bro which is a unix-based network traffic monitoring open source
  • a license policy of Bro is more flexible and has no limitation compared to that of Snort which is an open source platform and traditionally used in security systems.
  • Snort which is an open source platform and traditionally used in security systems.
  • the signature-based snort discards a packet that does not correspond to a signature engine
  • Bro stores and analyzes all traffic, so Bro is superior to analysis on anomaly behaviors.
  • a separate programming language provided by Bro a delicate traffic classification may be easily performed as a developer intends.
  • the above feature is optimized for an artificial intelligence-based intrusion detection utilizing the deep neural network (DNN). Forty attributes of web service traffic indicated in Bro are shown in Table 1.
  • FIG. 3 a shows a partial excerpt of information on the web service traffic classified according to the attributes of Table 1 through Bro. All attributes related to the web service and including message contents of HTTP request and response packets sent through Bro are distinguished and additional information, such as uniqueness (session) between the web client and the server and time, is indicated.
  • Attributes 1 to 6 include connection information including a time stamp, a user connection identifier (uid), and IP address and TCP port of a source and a destination.
  • the uid which is one of the important attributes, may have a 4-tuple (origin_host, origin_port, response_host, and response_port) that is a connection information given during connection lifetime, and may be associated with other service traffic information (such as Telnet, Ftp, and E-mail) classified by Bro to identify an activity history.
  • service traffic information such as Telnet, Ftp, and E-mail
  • Web services use various scripting languages.
  • the scripting languages are connected with a database, and users may access the database and retrieve, store or modify information through the scripting languages.
  • Many web service hacking incidents are caused by vulnerabilities in the script configuration, because the script has an unstructured syntax structure that is hardly detected by the signature-based security system using the predefined rules.
  • request values (strings) transferred from the client (browser) to the server correspond mainly to attributes 8, 10 and 13.
  • the present invention focuses on a method of detecting intrusion threats for the above three attributes that are difficult to detect in the existing intrusion detection systems.
  • a first step of the data preprocessing is a data rearrangement step of reducing the number of unnecessary attributes out of the forty web service attributes classified by the traffic classifier to seventeen attributes.
  • Table 2 shows the primarily reduced seventeen attributes.
  • Attributes 14 to 17, which are additional attributes that provide status information such as a data size and a message during the transmission and reception between the client and the web server, may enable a detailed traffic analysis when needed although the attributes are not directly related to the intrusion detection.
  • Attributes 8, 10 and 13 have time series characteristics in an aspect of the HTTP protocol structure and have deep correlations between the attributes. Accordingly, the attributes separated in three fields are merged into one field to form a continuous sentence structure. Then, a label field is added to distinguish between normal and abnormal. As shown in FIG. 3 b , ‘0’ denotes a normal and ‘1’ denotes an attack in a label attribute.
  • a content property is the merging of the three attributes 8, 10 and 13 described above.
  • a second step in the data preprocessing is to clarify the classification of words by removing special characters and stop characters and then convert each word composed of texts into a numeric-format vector value by using an embedding technique so as to apply the words as an input to deep neural network models used for the analysis.
  • the word vector may be updated during training the model after the word vector is randomly initialized.
  • the data set is divided into a data set for model training and a data set for testing.
  • the training is performed by inputting the data set into the model (S 240 ).
  • One of a convolutional neural network (CNN), a long short-term memory-recurrent neural network (LSTM-RNN), and a convolutional long short-term memory (C-LSTM) may be used for a structure of the deep-learning-based intrusion detection model. Each structure will be briefly described later with reference to FIGS. 5 to 7 .
  • a test is performed by inputting the preprocessed data set to the model (S 250 ). After the model is confirmed through the testing the preprocessed actual traffic data set is inputted to the model to determine whether the traffic data is attacked (S 260 ).
  • FIG. 4 is a view showing a configuration of a deep-learning-based intrusion detection system 100 for web applications.
  • the deep-learning-based intrusion detection system 100 for web applications may be divided into a traffic classifier 110 , a preprocessor 120 , and an intrusion detector 130 .
  • the traffic classifier 110 uses an open source-based Bro platform developed for intrusion detection. Bro serves to collect all real-time traffic of a subject to be protected, remove unnecessary information, and classify the traffic according to each service protocol.
  • the preprocessor 120 processes the data resulted from the traffic classifier 110 by correcting, deleting, or adding the data, and then extracts security threat information and construct a data set to apply the data set as an artificial intelligence input.
  • the above preprocessing has been described in detail with reference to FIG. 2 .
  • the intrusion detector 130 trains the artificial intelligence using the artificial intelligence technique (such as machine learning or deep neural network) suitable for application characteristics to detect a data set defined according to each attack type, thereby serving to generate a security alarm when an intrusion attempt is detected.
  • the intrusion detection model as described above is mounted on the intrusion detector, and the deep-learning-based intrusion detection model may have one structure among a convolutional neural network (CNN), a long short-term memory-recurrent neural network (LSTM-RNN), and a convolutional long short-term memory (C-LSTM).
  • CNN convolutional neural network
  • LSTM-RNN long short-term memory-recurrent neural network
  • C-LSTM convolutional long short-term memory
  • FIG. 5 is a view showing a configuration of the convolutional neural network (CNN) as one embodiment of the deep-learning-based intrusion detection system for web applications according to the present invention.
  • FIG. 6 is a view showing a configuration of the long short-term memory-recurrent neural network (LSTM-RNN) as another embodiment of the deep-learning-based intrusion detection system for web applications according to the present invention.
  • FIG. 7 is a view showing a configuration of the convolutional long short-term memory (C-LSTM) as another embodiment of the deep-learning-based intrusion detection system for web applications according to the present invention.
  • CNN convolutional neural network
  • LSTM-RNN long short-term memory-recurrent neural network
  • C-LSTM convolutional long short-term memory
  • a lookup table is configured by extracting and indexing words from the content attribute of the data set through a word embedding.
  • the embedding refers to map a word to a vector value in a particular dimension, and the converted vector value is updated through weights (w) upon training to distinguish relations of meanings between words.
  • a convolution layer used in the CNN and the C-LSTM may use three filters having sizes of 3, 4 and 5, and the number of filters is 128.
  • the C-LSTM model omits the max-pooling process.
  • each feature map takes a maximum value and samples the input values so that the mapping may be performed as an output in fixed dimensions and the dimensions may be reduced.
  • the information extracted from the feature map is concatenated without fixing or reducing the dimensions, and then the output value is used as an input for a next LSTM.
  • An LSTM cell may include two LSTM cells and each of the LSTM cell has 128 hidden units. Finally, the value outputted from the LSTM may pass through a fully-connected layer and a score corresponding to each class (0 and 1) is calculated, so that the intrusion detection classification is performed. Then, an error reverse propagation of the result is performed to execute a general process of updating parameters such as weights. Table 3 summarizes hyper-parameters as one embodiment of the above-described intrusion detection model.
  • FIG. 8 is a view showing a result table of intrusion detection performance of the deep-learning-based intrusion detection model for web applications according to the present invention.
  • FIG. 9 is a view showing an ROC curve indicating an accuracy and a loss for each step with respect to each model.
  • the result may be binarily classified into a normal with ‘0’ and an attack with ‘1’. Accordingly, the classification of result into any one of ‘0’ or ‘1’ may be predicted based on a confusion matrix of Table 4.
  • the true positive (TP) denotes a measure value of the number of classification in which a plurality of attack events are classified as actual attacks
  • the false negative (FN) denotes a measure value of the number of classification in which a plurality of normal events are wrongly classified as attacks
  • the false positive (FP) denotes a measure value of the number of classification in which a plurality of attack events are classified as normal events
  • the true negative (TN) denotes a measure value of the number of classification in which a plurality of normal events are classified as actual normal events.
  • Table 5 shows a basic evaluation index for calculating the intrusion detection performance based on the confusion matrix.
  • the precision refers to the percentage of data that is actually an attack out of the number of attacks detected by an algorithm.
  • the recall signifies that how successfully data to be detected is found out, and the recall may also be called a sensitivity or a detection rate.
  • the very high probability of belonging to a corresponding class may be predicted to increase better precision, but the recall becomes low. This is because there are lots of data that actually belong to the class but are excluded due to the low probability.
  • F1 score considers both precision and recall.
  • the F1 score refers to a harmonic average between the precision and the recall and is useful for measuring machine learning-based intrusion detection performance.
  • the LSTM-RNN model has the recall of 0.966, the accuracy of 0.997, and the F1 score of 0.898, and indicates that overall performance is excellent compared to other models.
  • the CNN model has an excellent performance of 0.899.
  • the overall performance of the C-LSTM model is indicated as low in the recall, accuracy and precision compared to other models.
  • FIG. 9 is a view showing an ROC curve indicating an accuracy and a loss for each step with respect to each model.

Abstract

The present invention relates to a deep-learning-based intrusion detection method, a system and a computer program for web applications, and more particularly, to a method, a system and a computer program for detecting whether the traffic is a hacker attack, based on an output from a deep neural network (DNN) model after setting network traffic flowing into a server farm as an input of the model. The present invention provides an effective intrusion detection system by utilizing deep neural networks in the form of complicated messages of the Web service protocol (hypertext transfer protocol (HTTP)), which is most general and representative for a company, among various application-layered services. In particular, the present invention provides a web application threat detection method, a system and a computer program implementing the same that are configured to determine security threats bypassing and intruding the detection scheme of the signature-based security system.

Description

    BACKGROUND OF THE INVENTION 1. Field of the Invention
  • The present invention relates to a deep-learning-based intrusion detection method, system and computer program for web applications, and more particularly, to a method, a system and a computer program for detecting whether traffic is a hacker attack by inputting a network traffic flowing into a server farm to a deep neural network (DNN) model and outputting data from the model.
  • 2. Description of the Related Art
  • A web application refers to a collection of software that uses the Web. In other words, the web application includes not only a web browser or web server, but also third-party applications and data used for the applications that are used to provide a service together with the web server. A web attack refers to a series of behaviors that interrupt a normal web service or leak, falsify, or misuse information by attacking the web application necessary for providing the web service.
  • The web service is a connectionless and open service, unlike a connection-oriented Internet service such as Telnet, Ftp and E-mail. Even web services that require user authentication through login allow any user to access a page for the login, and most web services usually have a separate service page for visitors other than members. In other words, an access management system, such as a firewall, is inadequate as a security system for protecting the web services. In addition, the web service is configured to have a hierarchical structure and be connected as a complicated system. Due to the configurations, the web attacks are different from other attacks on Internet services, and it is difficult to completely defense against the web attacks.
  • Many web application programs used for e-commerce purposes at companies or organizations are required to fulfill major functions, such as integrity, confidentiality and availability, on a computer security. The web application program is configured to be written in scripting languages such as PHP, ASP and JAVA embedded in HTML, be connected to a database, retrieve data thereof, and store the data in a website. In addition, all web contents are based on the retrieved data, and the database stores important user input data including personal information such as credit card numbers. Attackers look for a web service that does not have consideration on security according to various attack motivations, bypass an existing intrusion detection system by using the HTTP protocol of the web service, and attempt to manipulate, destroy or leak information in the database without access permission by using the web scripting language.
  • Accordingly there are increasing needs for studies on providing web services more securely, detecting attacks, which exploit the web services, and defending against the attacks. There are needs for a specialized intrusion detection system for the web services to respond quickly to various web attacks and reduce false alarms.
  • A signature-based analysis as one of intrusion detection techniques is a scheme of finding a specific pattern corresponding to a known attack threat, and regular expressions are used to analyze strings by comparing the strings with a signature list that is already stored. When the pattern defined by the signature is found in a payload of a packet, the strings are considered as an attack. An accurate and restrictive signature list may reduce false positives. The signature-based analysis technique may be successful when up-to-date signature patterns are maintained. However, an unknown attack such as a zero-day attack (a security attack that exploits security vulnerability before existence of the vulnerability is widely known after the vulnerability is discovered) or a latest malware cannot be detected.
  • PRIOR TECHNICAL DOCUMENTS Patent Documents
  • (Patent Document 1) KR 10-1836214 B1
  • SUMMARY OF THE INVENTION
  • In order to solve the above conventional problems, the present invention provides an effective intrusion detection system by utilizing deep neural networks in the form of complicated messages of the Web service protocol (hypertext transfer protocol (HTTP)), which is most general and representative for a company, among various application-layered services. In particular, the present invention provides a web application threat detection method, a system and a computer program implementing the same that are configured to determine security threats by bypassing and intruding the detection scheme of the signature-based security system.
  • To achieve the above-mentioned objectives, the deep-learning-based intrusion detection method for web applications according to the present invention includes: (a) inputting input data formed by preprocessing traffic data to a web server into a deep neural network model for intrusion detection (hereinafter referred to as “intrusion detection model”); (b) outputting, from the intrusion detection model, whether an intrusion is detected in the traffic data; and (c) generating an alarm when the intrusion is detected.
  • The input data generated in step (a) may be composed of a specific number of word embedding vectors.
  • Before step (a), the method may further include (a0) preprocessing data formed by classifying the traffic data based on an attribute (hereinafter referred to as ‘attribute classification data’).
  • Step (a0) may include (a01) merging at least one predetermined specific attribute into one field, from the attribute classification data; (a02) generating texts formed by removing special characters and stop characters to clarify word separation, from the merged data; and (a03) forming the input data by mapping (embedding) each word to a vector value, from the texts generated in step (a02).
  • In step (a01), the specific attribute may include information on method upon HTTP request, information on URI used in the request, and information on a browser of a client.
  • The vector value may be updated through weights upon learning to separate and correlate meanings between words.
  • The intrusion detection model may be trained by a layer arranged in the same manner as the intrusion detection model.
  • The intrusion detection model may include one of a convolutional neural network (CNN), a long short-term memory-recurrent neural network (LSTM-RNN), and a convolutional long short-term memory (C-LSTM).
  • According to another aspect of the present invention, the deep-learning-based intrusion detection system for web applications may include: at least one processor; and at least one memory configured to store a computer executable instruction, wherein the computer executable instruction stored in the at least one memory, by the at least one processor, executes (a) inputting input data formed by preprocessing traffic data to a web server into a deep neural network model for intrusion detection (hereinafter referred to as “intrusion detection model”); (b) outputting, from the intrusion detection model, whether an intrusion is detected in the traffic data; and (c) generating an alarm when the intrusion is detected.
  • Before step (a), the computer executable instruction may further execute (a0) preprocessing data formed by classifying the traffic data based on an attribute (hereinafter referred to as ‘attribute classification data’).
  • According to still another aspect of the present invention, the deep-learning-based intrusion detection computer program for web applications is stored in a non-transitory storage medium, and includes an instruction configured to execute, by the processor, (a) inputting input data formed by preprocessing traffic data to a web server into a deep neural network model for intrusion detection (hereinafter referred to as “intrusion detection model”); (b) outputting, from the intrusion detection model, whether an intrusion is detected in the traffic data; and (c) generating an alarm when the intrusion is detected.
  • Before step (a), an instruction configured to execute (a0) preprocessing data formed by classifying the traffic data based on an attribute (hereinafter referred to as ‘attribute classification data’) may be further included.
  • According to still another aspect of the present invention, the deep-learning-based intrusion detection system for web applications includes an intrusion detector including a deep neural network model for intrusion detection (hereinafter referred to as “intrusion detection model”) to output whether an intrusion is detected based on the input data formed by preprocessing the traffic data to the web server; and an alarm unit configured to generate an alarm when an intrusion is detected by the intrusion detector.
  • The deep-learning-based intrusion detection system for web applications may further include a preprocessor configured to preprocess data formed by classifying traffic data according to an attribute (hereinafter referred to as ‘attribute classification data’) to form input data of the intrusion detection model.
  • The present invention can provide an effective intrusion detection system by utilizing deep neural networks in the form of complicated messages of the Web service protocol (hypertext transfer protocol (HTTP)), which is most general and representative for a company, among various application-layered services. In particular, the present invention can provide a web application threat detection method, a system and a computer program implementing the same that are configured to determine security threats intruding by bypassing the detection scheme of the signature-based security system.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • Hereinafter, exemplary embodiments of the present invention for achieving the effects will be described in detail with reference to the accompanying drawings.
  • FIG. 1 is a conceptual diagram illustrating a network for constructing a data set of a deep-learning-based intrusion detection model for web applications according to the present invention.
  • FIG. 2 is a flowchart to perform a deep-learning-based intrusion detection method for web applications according to the present invention.
  • FIGS. 3a and 3b are views illustrating one embodiment of data (FIG. 3a ) formed by classifying traffic data according to an attribute, and preprocessed learning data (FIG. 3b ).
  • FIG. 4 is a view illustrating a configuration of a deep-learning-based intrusion detection system for web applications according to the present invention.
  • FIG. 5 is a view illustrating a configuration of a convolutional neural network (CNN) as one embodiment of the deep-learning-based intrusion detection system for web applications according to the present invention.
  • FIG. 6 is a view illustrating a configuration of a long short-term memory-recurrent neural network (LSTM-RNN) as another embodiment of the deep-learning-based intrusion detection system for web applications according to the present invention.
  • FIG. 7 is a view illustrating a configuration of a convolutional long short-term memory (C-LSTM) as another embodiment of the deep-learning-based intrusion detection system for web applications according to the present invention.
  • FIG. 8 is a view illustrating a result table of intrusion detection performance of the deep-learning-based intrusion detection model for web applications according to the present invention.
  • FIG. 9 is a view illustrating an ROC curve indicating an accuracy and a loss for each step with respect to each model.
  • DETAILED DESCRIPTION OF THE INVENTION
  • Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. The terms and words used in the specification and claims of the present invention should not be construed as limited to a conventional or lexical meaning, and should be construed as the meanings and concepts consistent with the technical idea of the present invention, based on the principle that “an inventor may define the concept of the term properly in order to describe the invention in the best way”. Accordingly, the embodiments described herein and the configurations shown in the drawings are merely preferred embodiments according to the present invention, and do not represent all of the technical ideas of the present invention. Therefore, it should be understood that various equivalents and modifications may be substituted therefor at the time of filing of the present application.
  • FIG. 1 is a conceptual diagram showing a network for constructing a data set of a deep-learning-based intrusion detection model for web applications according to the present invention.
  • Intrusion analysis schemes may be mainly classified into a signature-based analysis, an abnormaly-based analysis, and a stateful protocol analysis.
  • Signature-Based Analysis
  • The signature-based analysis may be a very simple detection scheme that finds a specific pattern corresponding to a known attack threat. The above scheme analyzes strings by comparing the strings with a saved signature list by using regular expressions. When a pattern defined by the signature is confirmed in a payload of a packet, the strings are considered as an attack. An accurate and restrictive signature list may reduce false positives. The signature-based analysis technique may be successful when up-to-date signature patterns are maintained. However, an unknown attack such as a zero-day attack or a latest malware cannot be detected.
  • Anomaly-Based Analysis
  • The anomaly-based analysis is based on defining network behavior. The network behavior is based on a predefined behavior and generates an event when an abnormality is detected. An important factor in defining the network behavior is an engine performance of the intrusion detection system to handle the intrusion during all protocol levels. According to the anomaly-based analysis technique although the computational cost increases upon analyzing the protocol, the false positives may be reduced by increasing a detection rule set. The major disadvantage is a definition of the detection rule set. The performance of the anomaly-based detection system depends on how successfully the system is executed and tested over all protocols. The process of defining the rule is influenced by various protocols generated by various vendors. In addition, it is also difficult for a user to define the protocols. For a proper detection, it is necessary to develop the protocols by an administrator having detailed knowledge on network behaviors. Compared with the signature-based analysis, the anomaly-based analysis has a major advantage in that an attack, which is not defined by the signature, also may be detected by analyzing a behavior deviated from normal traffic patterns. Accordingly, attack types such as new worms may be detected.
  • Stateful Protocol Analysis
  • The stateful protocol analysis, which is also called deep packet inspection (DPI) in networks, performs a process of comparing profiles that define generally normal protocol behaviors in each protocol state. The stateful protocol analysis may identify an unexpected instruction system, such as entering the same instruction repeatedly, and track an action of an authority or record a suspicious behavior, through each session. The above analysis technique is useful for investigating events. Whereas the anomaly-based analysis adopts a profile specified to a predefined network or host, the stateful protocol analysis analyzes a specific protocol through a vendor-developed profile.
  • In order to understand the goal of the research for the present application, the network conceptual diagram of FIG. 1 generalizes a security environment basically established in most companies or organizations.
  • The first stage is to pass a firewall 510 in order to use a homepage of the organization through the Internet. The firewall serves as a basic access control for IP, which is a third layer of OSI 7 Layer, and a transfer protocol (such as TCP and UDP), which is a fourth layer, and also serves to partially defense against DDoS attacks causing excessive accesses to a homepage server. A second sensor for the traffic having passed the firewall occurs in an intrusion prevention system (IPS) 520. The IPS 520 serves to detect and block intrusion threats, such as inflow of viruses or malicious codes, abnormal protocols, and DDoS attacks, based on predefined detection rules for the homepage of the organization. The traffic having passing the IPS passes through a web firewall 530 dedicated to defend against threats on web services. The web firewall 530 detects and blocks various homepage threats including threats defined by OWASP, for the web services operated by the organization.
  • Although manufacturers may use some techniques for the security system, the typical signature-based intrusion detection policy is basically used.
  • The present invention is directed to effectively detect intrusion threats, which are not detected by various security systems that are used currently and generally, through deep neural network techniques Hereinafter, a method of performing the deep learning-based intrusion detection method of the present invention will be described with reference to FIG. 2.
  • FIG. 2 is a flowchart to perform the deep-learning-based intrusion detection method for web applications. FIGS. 3a and 3b are views showing one embodiment of data (FIG. 3a ) formed by classifying traffic data according to an attribute, and preprocessed learning data (FIG. 3b ).
  • First, traffic data flowing into a server farm 550 is collected (S210). In order to establish data for analysis, it is required to collect all traffic flowing into the web server (home page server) through the security system. Accordingly, for effective analysis, all traffic flowing into the homepage server are collected by copying the traffic to a traffic classifying unit 110 (see FIGS. 1 and 4) for additionally collecting and analyzing the traffic by using a traffic mirroring technique at a network switch 540 (see FIG. 1) for the server farm 550 (see FIG. 1) composed of web servers.
  • Then, the collected traffic data is analyzed and classified (S220). As one embodiment for the traffic analysis and classification for intrusion threat detection, ‘Bro’, which is a unix-based network traffic monitoring open source, may be used. A license policy of Bro is more flexible and has no limitation compared to that of Snort which is an open source platform and traditionally used in security systems. Whereas the signature-based snort discards a packet that does not correspond to a signature engine, Bro stores and analyzes all traffic, so Bro is superior to analysis on anomaly behaviors. In addition, when a separate programming language provided by Bro is used a delicate traffic classification may be easily performed as a developer intends. The above feature is optimized for an artificial intelligence-based intrusion detection utilizing the deep neural network (DNN). Forty attributes of web service traffic indicated in Bro are shown in Table 1.
  • TABLE 1
    No. attribute value meaning indicated value (example)
     1 ts request occurring point 1507257604.88963
    (time)
     2 uid connection eigenvalue (ID) CR4Kaj3HVuUOSPEN
     3 orig_h source IP address 192.168.0.30
     4 orig_p source tcp port address 48477
     5 rsp_h destination IP address 11.1.1.3
     6 resp_p destination tcp port 80
    address
     7 trans depth depth of connection integer (1, 3, 15, and so on)
    information upon
    request/response
    (indicated with a
    pipeline)
    Figure US20200322362A1-20201008-P00001
    Figure US20200322362A1-20201008-P00002
    Figure US20200322362A1-20201008-P00003
    Figure US20200322362A1-20201008-P00004
    Figure US20200322362A1-20201008-P00005
    Figure US20200322362A1-20201008-P00006
    Figure US20200322362A1-20201008-P00007
     9 Host URL information www.bro.org
    Figure US20200322362A1-20201008-P00008
    Figure US20200322362A1-20201008-P00009
    Figure US20200322362A1-20201008-P00010
    Figure US20200322362A1-20201008-P00011
    11 referrer reference header value www.naver.com
    12 version HTTP version information 1.1
    Figure US20200322362A1-20201008-P00012
    Figure US20200322362A1-20201008-P00013
    Figure US20200322362A1-20201008-P00014
    Figure US20200322362A1-20201008-P00015
    14 request_body len size of uncompressed data integer (default value = 0)
    transferred from client
    15 response_body len Size of uncompressed data integer (default value = 0)
    transferred from server
    16 status_code response value from server 200, 404, 300, etc
    17 status_msg type of message responded OK, Moved Temporary,
    by server no Content, etc
    18 info_code response codes of 100s 101
    responded by server
    19 info_msg response messages 101
    numbered of 100s and
    responded by server
    20 tags attribute index set Http::URI_SQLI
    related to specific
    request/response pair
    21 username user account information root
    on request
    22 password user password on request password
    23 capture_password to determine whether to
    capture password that
    appears on request
    24 proxied all header information
    indicating whether the
    request is proxied
    25 range_request to indicate whether the default = F
    request can take 206
    content in response
    26 orig_fuids all header information
    indicating whether the
    request is proxied
    27 orig_file names sequencing vector of file
    names of clients
    28 orig_mime_types sequencing vector of mime
    types
    29 resp_fuids sorted vector of unique
    IDs of files
    30 resp_file names sequencing vector of file
    names of server
    31 resp_mime_types sequencing vector of mime
    types
    32 current _entity current entity
    33 orig_mime_depth the number of current
    MIME entities in body of
    HTTP request message
    34 resp_mime_depth the number of current
    MIME entities in body of
    HTTP response message
    35 client_header_names vector of HTTP header
    name sent by client
    36 server_header_names vector of HTTP header
    name sent by server
    37 omniture whether server serves as
    an advertisement server
    38 flash_version unanalyzed flash version
    39 cookie_vars all variable names
    extracted from all cookie
    values
    40 uri_vars various variables
    indicated in URI
  • FIG. 3a shows a partial excerpt of information on the web service traffic classified according to the attributes of Table 1 through Bro. All attributes related to the web service and including message contents of HTTP request and response packets sent through Bro are distinguished and additional information, such as uniqueness (session) between the web client and the server and time, is indicated.
  • Attributes 1 to 6 include connection information including a time stamp, a user connection identifier (uid), and IP address and TCP port of a source and a destination. The uid, which is one of the important attributes, may have a 4-tuple (origin_host, origin_port, response_host, and response_port) that is a connection information given during connection lifetime, and may be associated with other service traffic information (such as Telnet, Ftp, and E-mail) classified by Bro to identify an activity history. In other words, the activity history that occurs based on the uid is shown in detail from attribute 7.
  • Web services use various scripting languages. In addition, the scripting languages are connected with a database, and users may access the database and retrieve, store or modify information through the scripting languages. Many web service hacking incidents are caused by vulnerabilities in the script configuration, because the script has an unstructured syntax structure that is hardly detected by the signature-based security system using the predefined rules. In general, when the web service is used, request values (strings) transferred from the client (browser) to the server correspond mainly to attributes 8, 10 and 13. The present invention focuses on a method of detecting intrusion threats for the above three attributes that are difficult to detect in the existing intrusion detection systems.
  • After the traffic data is classified, the classified traffic data is preprocessed (S230). A first step of the data preprocessing is a data rearrangement step of reducing the number of unnecessary attributes out of the forty web service attributes classified by the traffic classifier to seventeen attributes. Table 2 shows the primarily reduced seventeen attributes. Attributes 14 to 17, which are additional attributes that provide status information such as a data size and a message during the transmission and reception between the client and the web server, may enable a detailed traffic analysis when needed although the attributes are not directly related to the intrusion detection.
  • TABLE 2
    No. attribute value meaning indicated value (example)
     1 ts request occurring point 1507257604.88963
    (time)
     2 uid connection eigenvalue CR4Kaj3HVuUOSPEN
    (ID)
     3 orig_h source IP address 192.168.0.30
     4 orig_p source tcp port address 48477
     5 rsp_h destination IP address 11.1.1.3
     6 resp_p destination tcp port address 80
     7 trans_depth depth of connection integer (1, 3, 15, and so on)
    information upon
    request/response
    (indicated with a pipeline)
    Figure US20200322362A1-20201008-P00016
    Figure US20200322362A1-20201008-P00017
    Figure US20200322362A1-20201008-P00018
    Figure US20200322362A1-20201008-P00019
    Figure US20200322362A1-20201008-P00020
    Figure US20200322362A1-20201008-P00021
     9 host URL information www.bro.org
    Figure US20200322362A1-20201008-P00022
    Figure US20200322362A1-20201008-P00023
    Figure US20200322362A1-20201008-P00024
    Figure US20200322362A1-20201008-P00025
    11 referrer reference header value www.naver.com
    12 version HTTP version information 1.1
    Figure US20200322362A1-20201008-P00026
    Figure US20200322362A1-20201008-P00027
    Figure US20200322362A1-20201008-P00028
    Figure US20200322362A1-20201008-P00029
    Figure US20200322362A1-20201008-P00030
    14 request_body_len size of uncompressed data integer (default value = 0)
    transferred from client
    15 response_body_len Size of uncompressed data integer (default value = 0)
    transferred from server
    16 status_code response value from server 200, 404, 300, etc
    17 status_msg type of message responded OK, Moved Temporary,
    by server no Content, etc
  • However, since the present invention is provided to improve intrusion detection performance in HTTP raw log, only attributes 8, 10 and 13 that contain important information are used instead of using all seventeen attributes in Table 2.
  • Attributes 8, 10 and 13 have time series characteristics in an aspect of the HTTP protocol structure and have deep correlations between the attributes. Accordingly, the attributes separated in three fields are merged into one field to form a continuous sentence structure. Then, a label field is added to distinguish between normal and abnormal. As shown in FIG. 3b , ‘0’ denotes a normal and ‘1’ denotes an attack in a label attribute. A content property is the merging of the three attributes 8, 10 and 13 described above.
  • A second step in the data preprocessing is to clarify the classification of words by removing special characters and stop characters and then convert each word composed of texts into a numeric-format vector value by using an embedding technique so as to apply the words as an input to deep neural network models used for the analysis. In order to embed the words as the vector value, the word vector may be updated during training the model after the word vector is randomly initialized.
  • In other words, after some of the raw data flowing into the homepage server farm are randomly selected to construct a data set, the data set is divided into a data set for model training and a data set for testing. First, in order to train the deep-learning-based intrusion detection model, the training is performed by inputting the data set into the model (S240). One of a convolutional neural network (CNN), a long short-term memory-recurrent neural network (LSTM-RNN), and a convolutional long short-term memory (C-LSTM) may be used for a structure of the deep-learning-based intrusion detection model. Each structure will be briefly described later with reference to FIGS. 5 to 7.
  • After the model is formed, for the testing, a test is performed by inputting the preprocessed data set to the model (S250). After the model is confirmed through the testing the preprocessed actual traffic data set is inputted to the model to determine whether the traffic data is attacked (S260).
  • FIG. 4 is a view showing a configuration of a deep-learning-based intrusion detection system 100 for web applications.
  • The deep-learning-based intrusion detection system 100 for web applications according to the present invention may be divided into a traffic classifier 110, a preprocessor 120, and an intrusion detector 130.
  • The traffic classifier 110 uses an open source-based Bro platform developed for intrusion detection. Bro serves to collect all real-time traffic of a subject to be protected, remove unnecessary information, and classify the traffic according to each service protocol.
  • The preprocessor 120 processes the data resulted from the traffic classifier 110 by correcting, deleting, or adding the data, and then extracts security threat information and construct a data set to apply the data set as an artificial intelligence input. The above preprocessing has been described in detail with reference to FIG. 2.
  • The intrusion detector 130 trains the artificial intelligence using the artificial intelligence technique (such as machine learning or deep neural network) suitable for application characteristics to detect a data set defined according to each attack type, thereby serving to generate a security alarm when an intrusion attempt is detected. In other words, the intrusion detection model as described above is mounted on the intrusion detector, and the deep-learning-based intrusion detection model may have one structure among a convolutional neural network (CNN), a long short-term memory-recurrent neural network (LSTM-RNN), and a convolutional long short-term memory (C-LSTM). Hereinafter, the structure will be described with reference to FIGS. 5 to 7.
  • FIG. 5 is a view showing a configuration of the convolutional neural network (CNN) as one embodiment of the deep-learning-based intrusion detection system for web applications according to the present invention. FIG. 6 is a view showing a configuration of the long short-term memory-recurrent neural network (LSTM-RNN) as another embodiment of the deep-learning-based intrusion detection system for web applications according to the present invention. FIG. 7 is a view showing a configuration of the convolutional long short-term memory (C-LSTM) as another embodiment of the deep-learning-based intrusion detection system for web applications according to the present invention.
  • First, in each structure, a lookup table is configured by extracting and indexing words from the content attribute of the data set through a word embedding. The embedding refers to map a word to a vector value in a particular dimension, and the converted vector value is updated through weights (w) upon training to distinguish relations of meanings between words.
  • In one embodiment, a convolution layer used in the CNN and the C-LSTM may use three filters having sizes of 3, 4 and 5, and the number of filters is 128. The filter may extract local information as the filter slides by one space (stride=1), and feature maps at the number of the filters may be generated by filtering features at the same number of the filters.
  • Whereas the CNN model performs a max-pooling process after generating the feature maps, the C-LSTM model omits the max-pooling process. When the max-pooling process is performed, each feature map takes a maximum value and samples the input values so that the mapping may be performed as an output in fixed dimensions and the dimensions may be reduced. However, in the C-LSTM, the information extracted from the feature map is concatenated without fixing or reducing the dimensions, and then the output value is used as an input for a next LSTM.
  • An LSTM cell may include two LSTM cells and each of the LSTM cell has 128 hidden units. Finally, the value outputted from the LSTM may pass through a fully-connected layer and a score corresponding to each class (0 and 1) is calculated, so that the intrusion detection classification is performed. Then, an error reverse propagation of the result is performed to execute a general process of updating parameters such as weights. Table 3 summarizes hyper-parameters as one embodiment of the above-described intrusion detection model.
  • TABLE 3
    Embedding Size of The number Conv. LSTM Hidden Drop Learning Active
    Model size filter of filters layer Cell unit out rate function
    CNN 256 3, 4, 128 1 50% 0.001 ReLU,
    5 Softmax
    LSTM- 256 2 128 50% 0.001 Tanh,
    RNN sigmoid
    Softmax
    C- 256 3, 4, 128 1 2 128 50% 0.001 ReLU
    LSTM 5 sigmoid
    Softmax
  • FIG. 8 is a view showing a result table of intrusion detection performance of the deep-learning-based intrusion detection model for web applications according to the present invention. FIG. 9 is a view showing an ROC curve indicating an accuracy and a loss for each step with respect to each model.
  • According to the present invention, the result may be binarily classified into a normal with ‘0’ and an attack with ‘1’. Accordingly, the classification of result into any one of ‘0’ or ‘1’ may be predicted based on a confusion matrix of Table 4.
  • TABLE 4
    Predicted
    Negative Class Positive Class
    Item (normal) (attack)
    Observed Negative Class TN FP
    (normal) (True Negative) (False Positive)
    Positive Class FN TP
    (attack) (False Negative) (True Positive)
  • In Table 4, the true positive (TP) denotes a measure value of the number of classification in which a plurality of attack events are classified as actual attacks, the false negative (FN) denotes a measure value of the number of classification in which a plurality of normal events are wrongly classified as attacks, the false positive (FP) denotes a measure value of the number of classification in which a plurality of attack events are classified as normal events, and the true negative (TN) denotes a measure value of the number of classification in which a plurality of normal events are classified as actual normal events.
  • TABLE 5
    Metric formula
    Precision TP/(TP + FP)
    Recall, Detection Rate TP/(TP + FN)
    Accuracy (TP + TN)/(TN + TP + FN + FP)
    F1 score (2 * Precision * Recall)/(precision + recall)
  • Table 5 shows a basic evaluation index for calculating the intrusion detection performance based on the confusion matrix.
  • The precision refers to the percentage of data that is actually an attack out of the number of attacks detected by an algorithm. Whereas, the recall signifies that how successfully data to be detected is found out, and the recall may also be called a sensitivity or a detection rate. The very high probability of belonging to a corresponding class may be predicted to increase better precision, but the recall becomes low. This is because there are lots of data that actually belong to the class but are excluded due to the low probability. F1 score considers both precision and recall. The F1 score refers to a harmonic average between the precision and the recall and is useful for measuring machine learning-based intrusion detection performance.
  • FIG. 8 shows the analysis result value obtained by setting 256 input records as to be learned at a time (batch size=256) for total data records of 14,215. The above process is repeated 20 times (epoch=20) and the result value for each step is averaged (the total number of steps=989).
  • As shown in the results, the LSTM-RNN model has the recall of 0.966, the accuracy of 0.997, and the F1 score of 0.898, and indicates that overall performance is excellent compared to other models. In an aspect of precision, the CNN model has an excellent performance of 0.899. Whereas, the overall performance of the C-LSTM model is indicated as low in the recall, accuracy and precision compared to other models. As described above, FIG. 9 is a view showing an ROC curve indicating an accuracy and a loss for each step with respect to each model.

Claims (14)

1. A deep-learning-based intrusion detection method for web applications, the deep-learning-based intrusion detection method comprising:
(a0) preprocessing data formed by classifying traffic data based on an attribute (hereinafter referred to as ‘attribute classification data’);
(a) inputting input data formed by preprocessing the traffic data to a web server into a deep neural network model for intrusion detection (hereinafter referred to as “intrusion detection model”);
(b) outputting, from the intrusion detection model, whether an intrusion is detected in the traffic data; and
(c) generating an alarm when the intrusion is detected,
wherein the input data generated in step (a) is composed of a specific number of word embedding vectors,
wherein step (a0) includes:
(a01) merging at least one predetermined specific attribute into one field, from the attribute classification data;
(a011) after the step (a01), adding a label field to distinguish between normal and abnormal;
(a02) generating texts formed by removing special characters and stop characters to clarify word separation, from the merged data; and
(a03) forming the input data by mapping (embedding) each word to a vector value, from the texts generated in step (a02),
wherein the specific attributes, which have time series characteristics in an aspect of the HTTP protocol structure and have deep correlations therebetween, in step (a01) exclusively include information on method upon HTTP request, information on URI used in the request, and information on a browser of a client,
wherein, in the step (a03), word vector is updated during training the model after the word vector is randomly initialized in order to embed the words as the vector value,
wherein the vector value is updated through weights upon learning so as to separate and correlate meanings between words,
wherein the intrusion detection model is trained by a layer arranged equal to the intrusion detection model, and,
wherein the intrusion detection model includes one of a convolutional neural network (CNN), a long short-term memory-recurrent neural network (LSTM-RNN), and a convolutional long short-term memory (C-LSTM).
2. (canceled)
3. (canceled)
4. (canceled)
5. (canceled)
6. (canceled)
7. (canceled)
8. (canceled)
9. A deep-learning-based intrusion detection system for web applications, the deep-learning-based intrusion detection system comprising:
at least one processor; and
at least one memory configured to store a computer executable instruction, wherein
the computer executable instruction stored in the at least one memory executes:
(a0) preprocessing data formed by classifying traffic data based on an attribute (hereinafter referred to as ‘attribute classification data’);
(a) inputting input data formed by preprocessing the traffic data to a web server into a deep neural network model for intrusion detection (hereinafter referred to as “intrusion detection model”);
(b) outputting, from the intrusion detection model, whether an intrusion is detected in the traffic data; and
(c) generating an alarm when the intrusion is detected, by the at least one processor,
wherein the input data generated in step (a) is composed of a specific number of word embedding vectors,
wherein step (a0) includes:
(a01) merging at least one predetermined specific attribute into one field, from the attribute classification data;
(a011) after the step (a01), adding a label field to distinguish between normal and abnormal;
(a02) generating texts formed by removing special characters and stop characters to clarify word separation, from the merged data; and
(a03) forming the input data by mapping (embedding) each word to a vector value, from the texts generated in step (a02),
wherein the specific attributes, which have time series characteristics in an aspect of the HTTP protocol structure and have deep correlations therebetween, in step (a01) exclusively include information on method upon HTTP request, information on URI used in the request, and information on a browser of a client,
wherein, in the step (a03), word vector is updated during training the model after the word vector is randomly initialized in order to embed the words as the vector value,
wherein the vector value is updated through weights upon learning so as to separate and correlate meanings between words,
wherein the intrusion detection model is trained by a layer arranged equal to the intrusion detection model, and,
wherein the intrusion detection model includes one of a convolutional neural network (CNN), a long short-term memory-recurrent neural network (LSTM-RNN), and a convolutional long short-term memory (C-LSTM).
10. (canceled)
11. A deep-learning-based intrusion detection computer program for web applications, wherein the computer program is stored in a non-transitory storage medium and comprises an instruction to execute, by the processor:
(a0) preprocessing data formed by classifying traffic data based on an attribute (hereinafter referred to as ‘attribute classification data’);
(a) inputting input data formed by preprocessing the traffic data to a web server into a deep neural network model for intrusion detection (hereinafter referred to as “intrusion detection model”);
(b) outputting, from the intrusion detection model, whether an intrusion is detected in the traffic data; and
(c) generating an alarm when the intrusion is detected,
wherein the input data generated in step (a) is composed of a specific number of word embedding vectors,
wherein step (a0) includes:
(a01) merging at least one predetermined specific attribute into one field, from the attribute classification data;
(a011) after the step (a01), adding a label field to distinguish between normal and abnormal;
(a02) generating texts formed by removing special characters and stop characters to clarify word separation, from the merged data; and
(a03) forming the input data by mapping (embedding) each word to a vector value, from the texts generated in step (a02),
wherein the specific attributes, which have time series characteristics in an aspect of the HTTP protocol structure and have deep correlations therebetween, in step (a01) exclusively include information on method upon HTTP request, information on URI used in the request, and information on a browser of a client,
wherein, in the step (a03), word vector is updated during training the model after the word vector is randomly initialized in order to embed the words as the vector value,
wherein the vector value is updated through weights upon learning so as to separate and correlate meanings between words,
wherein the intrusion detection model is trained by a layer arranged equal to the intrusion detection model,
and,
wherein the intrusion detection model includes one of a convolutional neural network (CNN), a long short-term memory-recurrent neural network (LSTM-RNN), and a convolutional long short-term memory (C-LSTM).
12. (canceled)
13. (canceled)
14. (canceled)
US16/681,023 2019-04-05 2019-11-12 Deep-learning-based intrusion detection method, system and computer program for web applications Active US10778705B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020190040188A KR102046789B1 (en) 2019-04-05 2019-04-05 Deep-learning-based intrusion detection method, system and computer program for web applications
KR10-2019-0040188 2019-04-05

Publications (2)

Publication Number Publication Date
US10778705B1 US10778705B1 (en) 2020-09-15
US20200322362A1 true US20200322362A1 (en) 2020-10-08

Family

ID=68729116

Family Applications (1)

Application Number Title Priority Date Filing Date
US16/681,023 Active US10778705B1 (en) 2019-04-05 2019-11-12 Deep-learning-based intrusion detection method, system and computer program for web applications

Country Status (2)

Country Link
US (1) US10778705B1 (en)
KR (1) KR102046789B1 (en)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111970309A (en) * 2020-10-20 2020-11-20 南京理工大学 Spark Internet of vehicles based combined deep learning intrusion detection method and system
CN112653675A (en) * 2020-12-12 2021-04-13 海南师范大学 Intelligent intrusion detection method and device based on deep learning
WO2022094926A1 (en) * 2020-11-06 2022-05-12 中国科学院深圳先进技术研究院 Encrypted traffic identification method, and system, terminal and storage medium
CN114567474A (en) * 2022-02-23 2022-05-31 西安烽火软件科技有限公司 Method and system for detecting unknown threats of HTTP data based on unsupervised deep self-coding network
US20220239677A1 (en) * 2020-05-15 2022-07-28 International Business Machines Corporation Protecting Computer Assets From Malicious Attacks
US20230029794A1 (en) * 2020-01-07 2023-02-02 Microsoft Technology Licensing, Llc Customized anomaly detection
US11588843B1 (en) * 2022-04-08 2023-02-21 Morgan Stanley Services Group Inc. Multi-level log analysis to detect software use anomalies
CN116112288A (en) * 2023-04-07 2023-05-12 天翼云科技有限公司 Network intrusion detection method, device, electronic equipment and readable storage medium
WO2023113750A1 (en) * 2021-12-15 2023-06-22 Gazi Universitesi Rektorlugu Explainable deep learning based web application firewall method and system thereof
US11853418B2 (en) 2021-09-01 2023-12-26 Rockwell Collins, Inc. System and method for neural network based detection of cyber intrusion via mode-specific system templates

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11163777B2 (en) * 2018-10-18 2021-11-02 Oracle International Corporation Smart content recommendations for content authors
US11170175B1 (en) * 2019-07-01 2021-11-09 Intuit, Inc. Generating replacement sentences for a particular sentiment
CN110896381B (en) * 2019-11-25 2021-10-29 中国科学院深圳先进技术研究院 Deep neural network-based traffic classification method and system and electronic equipment
CN111277603B (en) * 2020-02-03 2021-11-19 杭州迪普科技股份有限公司 Unsupervised anomaly detection system and method
KR102309669B1 (en) 2020-02-11 2021-10-07 충북대학교 산학협력단 System for protecting damage of Zero-day attack
CN111552609B (en) * 2020-04-12 2022-03-11 西安电子科技大学 Abnormal state detection method, system, storage medium, program and server
US20210329441A1 (en) * 2020-04-15 2021-10-21 Randy Alan Andrews Covert spying device detector
CN111865932B (en) * 2020-06-30 2022-04-12 哈尔滨工程大学 Intrusion detection method based on context correlation attention mechanism and simplified LSTM network
KR102353130B1 (en) 2020-07-21 2022-01-18 충북대학교 산학협력단 System and method for Defense of Zero-Day Attack about High-Volume based on NIDPS
KR102353131B1 (en) 2020-07-21 2022-01-18 충북대학교 산학협력단 System and method for defense of zero-day attack
CN112052853B (en) * 2020-09-09 2024-02-02 国家气象信息中心 Text positioning method of handwriting meteorological archive data based on deep learning
KR102427405B1 (en) 2020-09-29 2022-08-01 충북대학교 산학협력단 System and Protocol for highlighting zero-day attack packet
KR102427404B1 (en) 2020-09-29 2022-08-01 충북대학교 산학협력단 System and method for detecting zero-day attack packet be saved in flow-based PCA
CN112468439B (en) * 2020-10-28 2023-10-24 中国人民武装警察部队后勤学院 Deep learning method-based DDoS attack flow detection system for Internet of things
CN112367334A (en) * 2020-11-23 2021-02-12 中国科学院信息工程研究所 Network traffic identification method and device, electronic equipment and storage medium
CN112770291B (en) * 2021-01-14 2022-05-31 华东师范大学 Distributed intrusion detection method and system based on federal learning and trust evaluation
CN112583860B (en) * 2021-03-02 2021-05-18 北京智慧易科技有限公司 Method, device and equipment for detecting abnormal internet traffic
CN113328986A (en) * 2021-04-09 2021-08-31 国网浙江省电力有限公司金华供电公司 Network flow abnormity detection method based on combination of convolutional neural network and LSTM
CN113259332B (en) * 2021-04-29 2022-12-27 上海电力大学 Multi-type network flow abnormity detection method and system based on end-to-end
CN113141373B (en) * 2021-04-30 2023-02-07 平安普惠企业管理有限公司 Method, device, equipment and storage medium for detecting abnormal intrusion
CN112989256B (en) * 2021-05-08 2021-09-24 北京华云安信息技术有限公司 Method and device for identifying web fingerprint in response information
CN113542241B (en) * 2021-06-30 2023-05-09 杭州电子科技大学 Intrusion detection method and device based on CNN-BiGRU hybrid model
CN113572739B (en) * 2021-06-30 2023-02-24 中国人民解放军战略支援部队信息工程大学 Network organized attack intrusion detection method and device
CN113794699B (en) * 2021-08-30 2022-06-07 西安交通大学 Network analysis processing method
CN113949653B (en) * 2021-10-18 2023-07-07 中铁二院工程集团有限责任公司 Encryption protocol identification method and system based on deep learning
KR102651655B1 (en) * 2021-12-31 2024-03-29 (주)너울리 Apparatus, method and computer program for detecting attack on network
KR102618020B1 (en) * 2022-01-13 2023-12-27 성균관대학교산학협력단 Method of detecting intrusion for infotainment systems and apparatus thereof
CN115242458B (en) * 2022-06-28 2023-07-07 南京邮电大学 Interpretable method of SHAP-based 1D-CNN network traffic classification model
US20240061937A1 (en) * 2022-08-16 2024-02-22 Upsight Security Inc. Anti-malware behavioral graph engines, systems and methods
CN115221511A (en) * 2022-09-20 2022-10-21 国网江西省电力有限公司信息通信分公司 Power distribution Internet of things threat hunting method
CN115361242B (en) * 2022-10-24 2023-03-24 长沙市智为信息技术有限公司 Web attack detection method based on multidimensional feature network
CN116055150B (en) * 2022-12-22 2023-10-27 深圳信息职业技术学院 Internet of vehicles intrusion detection platform, method and related equipment
CN116015966B (en) * 2023-01-06 2023-11-10 江苏加数度科技有限公司 User information processing system based on block chain
CN116846688B (en) * 2023-08-30 2023-11-21 南京理工大学 Interpretable flow intrusion detection method based on CNN
CN117278322B (en) * 2023-11-13 2024-02-20 国家工业信息安全发展研究中心 Web intrusion detection method, device, terminal equipment and storage medium

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160119678A (en) * 2015-10-30 2016-10-14 엑스브레인 주식회사 Method and apparatus for detecting malicious web traffic using machine learning technology
US10200382B2 (en) * 2015-11-05 2019-02-05 Radware, Ltd. System and method for detecting abnormal traffic behavior using infinite decaying clusters
KR101836214B1 (en) 2016-05-25 2018-03-08 동서대학교 산학협력단 Adaptive Security Management for Software-Defined Network
US10630709B2 (en) * 2018-02-13 2020-04-21 Cisco Technology, Inc. Assessing detectability of malware related traffic
CN109462582B (en) * 2018-10-30 2020-11-20 腾讯科技(深圳)有限公司 Text recognition method, text recognition device, server and storage medium

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230029794A1 (en) * 2020-01-07 2023-02-02 Microsoft Technology Licensing, Llc Customized anomaly detection
US20220239677A1 (en) * 2020-05-15 2022-07-28 International Business Machines Corporation Protecting Computer Assets From Malicious Attacks
US11888872B2 (en) * 2020-05-15 2024-01-30 International Business Machines Corporation Protecting computer assets from malicious attacks
CN111970309A (en) * 2020-10-20 2020-11-20 南京理工大学 Spark Internet of vehicles based combined deep learning intrusion detection method and system
CN111970309B (en) * 2020-10-20 2021-02-02 南京理工大学 Spark Internet of vehicles based combined deep learning intrusion detection method and system
WO2022094926A1 (en) * 2020-11-06 2022-05-12 中国科学院深圳先进技术研究院 Encrypted traffic identification method, and system, terminal and storage medium
CN112653675A (en) * 2020-12-12 2021-04-13 海南师范大学 Intelligent intrusion detection method and device based on deep learning
US11853418B2 (en) 2021-09-01 2023-12-26 Rockwell Collins, Inc. System and method for neural network based detection of cyber intrusion via mode-specific system templates
WO2023113750A1 (en) * 2021-12-15 2023-06-22 Gazi Universitesi Rektorlugu Explainable deep learning based web application firewall method and system thereof
CN114567474A (en) * 2022-02-23 2022-05-31 西安烽火软件科技有限公司 Method and system for detecting unknown threats of HTTP data based on unsupervised deep self-coding network
US11588843B1 (en) * 2022-04-08 2023-02-21 Morgan Stanley Services Group Inc. Multi-level log analysis to detect software use anomalies
CN116112288A (en) * 2023-04-07 2023-05-12 天翼云科技有限公司 Network intrusion detection method, device, electronic equipment and readable storage medium

Also Published As

Publication number Publication date
KR102046789B1 (en) 2019-11-20
US10778705B1 (en) 2020-09-15

Similar Documents

Publication Publication Date Title
US10778705B1 (en) Deep-learning-based intrusion detection method, system and computer program for web applications
Kaur et al. Hybrid intrusion detection and signature generation using deep recurrent neural networks
Vinayakumar et al. Scalable framework for cyber threat situational awareness based on domain name systems data analysis
US11463457B2 (en) Artificial intelligence (AI) based cyber threat analyst to support a cyber security appliance
Ingham et al. Learning DFA representations of HTTP for protecting web applications
Davis et al. Data preprocessing for anomaly based network intrusion detection: A review
Boukhamla et al. CICIDS2017 dataset: performance improvements and validation as a robust intrusion detection system testbed
Catak et al. Distributed denial of service attack detection using autoencoder and deep neural networks
Hamed et al. A survey and taxonomy on data and pre-processing techniques of intrusion detection systems
Bherde et al. Recent attack prevention techniques in web service applications
Li et al. A method based on statistical characteristics for detection malware requests in network traffic
Sree et al. HADM: detection of HTTP GET flooding attacks by using Analytical hierarchical process and Dempster–Shafer theory with MapReduce
Davis Machine learning and feature engineering for computer network security
Lampesberger et al. An on-line learning statistical model to detect malicious web requests
KR101398740B1 (en) System, method and computer readable recording medium for detecting a malicious domain
Shaikh et al. Advanced signature-based intrusion detection system
Shittu Mining intrusion detection alert logs to minimise false positives & gain attack insight
Makiou et al. Hybrid approach to detect SQLi attacks and evasion techniques
Wangwang et al. Network traffic oriented malware detection in IoT (internet-of-things)
Urmila et al. Dynamic multi-layered intrusion identification and recognition using artificial intelligence framework
Chang et al. Developing the Security Threat Detection Model for Web Service Using Deep Neural Network
Cao et al. Statistical network behavior based threat detection
Khairkar Intrusion Detection System based on Ontology for Web Applications
Alyasiri Evolving rules for detecting cross-site scripting attacks using genetic programming
Udiyono et al. Botnet Detection Using DNS and HTTP Traffic Analysis

Legal Events

Date Code Title Description
FEPP Fee payment procedure

Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY

FEPP Fee payment procedure

Free format text: ENTITY STATUS SET TO SMALL (ORIGINAL EVENT CODE: SMAL); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY

AS Assignment

Owner name: HOSEO UNIVERSITY ACADEMIC COOPERATION FOUNDATION, KOREA, REPUBLIC OF

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:PARK, SUNG BUM;CHANG, HYUN CHUL;REEL/FRAME:051474/0400

Effective date: 20191122

STCF Information on status: patent grant

Free format text: PATENTED CASE

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YR, SMALL ENTITY (ORIGINAL EVENT CODE: M2551); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY

Year of fee payment: 4