Abstract:
The present invention includes creating a session in response to a session setup request for a general packet radio service (GPRS) application service, receiving GTP packet data using GPRS tunneling protocol (GTP) tunnel, performing decoding on the GTP packet data, determining whether there is an attack attributable to malicious behavior based on a predetermined management DB, identifying the type of the GTP packet data as the type of GTP packet for attacked GTP packet data and the type of GTP packet for non-attacked packet data based on a result of the determination, carrying out a predetermined policy for the identified type of GTP packet, performing the standardization of the packet data of each GTP version, determining whether the standardized packet data has been registered with a hash buffer in accordance with the type of pairing message for each command, and processing a session based on a result of the determination.

Description:
CROSS-REFERENCE TO RELATED APPLICATION 
       [0001]    This application claims the priority based on Korean Application No. 10-2014-0042256 filed Apr. 9, 2014, which is incorporated herein by reference. 
       BACKGROUND 
       [0002]    1. Technical Field 
         [0003]    The present invention relates to the management of a general packet radio service (GPRS) tunneling protocol (GTP) session in a network environment in which a GTP is used. 
         [0004]    2. Description of the Related Art 
         [0005]    User equipment (UE) is dynamically assigned IP addresses via a PDN gateway (P-GW), connects to an external Internet and then operates. In this case, IP packets are transmitted through a GTP tunnel. 
         [0006]    When UE initially accesses an LTE network, a GTP tunnel is set up for each EPS bearer through control signaling. After a session has been created, an existing system in transparent mode has a limitation on checking the target of a GTP attack and performing control with respect to the GTP attack because data and signaling information are transferred through the GTP tunnel based on only a unique TEID. 
         [0007]    Accordingly, there is a need for a system that is capable of flexibly processing traffic and supporting the management of a session in a single session management system. 
       SUMMARY 
       [0008]    At least one embodiment of the present invention is directed to managing a GTP session in a network environment in which a GTP is used and performing session-based control with respect to an IP attack in a GTP network section. 
         [0009]    In accordance with an aspect of the present invention, there is provided a method of managing a session based on a general packet radio service (GPRS) tunneling protocol (GTP) network, the method including monitoring a tunnel creation request message transmitted between a serving gateway (S-GW) and a PDN gateway (P-GW) in order to create a GTP tunnel; extracting information about user equipment (UE) for the registration of a session from the tunnel creation request packet, and registering the extracted information with a hash buffer; monitoring, by the P-GW, a tunnel creation response message transmitted to the S-GW in response to the received tunnel creation request message; creating the GTP tunnel based on the information about the UE in response to the tunnel creation response message received by the S-GW; and creating a session chain based on a GTP packet transmitted through the created GTP tunnel. 
         [0010]    In accordance with another aspect of the present invention, there is provided an apparatus for managing a session based on a general packet radio service (GPRS) tunneling protocol (GTP) network, the apparatus including a control unit configured to monitor a tunnel creation request message transmitted between a serving gateway (S-GW) and a PDN gateway (P-GW) in order to create a GTP tunnel, to extract information about user equipment (UE) for the registration of a session from the tunnel creation request packet, to register the extracted information with a hash buffer, and to create the GTP tunnel based on the information about the UE in response to a tunnel creation response message received by the S-GW when the tunnel creation response message is transmitted to the S-GW in response to the received tunnel creation request message; and a session management unit configured to form a session chain based on a GTP packet transmitted through the created GTP tunnel under a control of the control unit. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0011]    The above and other objects, features and advantages of the present invention will be more clearly understood from the following detailed description taken in conjunction with the accompanying drawings, in which: 
           [0012]      FIG. 1  is a diagram of the schematic configuration of an overall system to which a method of managing a session based on a GTP network according to an embodiment of the present invention has been applied; 
           [0013]      FIG. 2  is an overall flowchart illustrating a method of managing a session based on a GTP network according to an embodiment of the present invention; 
           [0014]      FIG. 3  is an exemplary diagram illustrating the flow of the management of an LTE network GTP session in the method of managing a session based on a GTP network according to an embodiment of the present invention; 
           [0015]      FIG. 4  is a schematic flowchart into which the flows of the operations illustrated in  FIGS. 1 to 3  according to an embodiment of the present invention have been integrated and incorporated; 
           [0016]      FIG. 5  is a detailed flowchart illustrating a method of managing a session based on a GTP network according to an embodiment of the present invention; and 
           [0017]      FIG. 6  is a detailed block diagram illustrating an apparatus for managing a session based on a GTP network according to an embodiment of the present invention. 
       
    
    
     DETAILED DESCRIPTION 
       [0018]    Embodiments of the present invention are described in detail with reference to the accompanying drawings below. Although specific details, such as specific components, are illustrated in the following description, they are provided merely to help a general understanding of the present invention. It will be apparent to those skilled in the art that various modifications and variations can be made within the scope of the present invention. 
         [0019]    At least one embodiment of the present invention relates to the management of a GTP session in a network environment in which a GTP is used. More particularly, at least one embodiment of the present invention provides a technology for managing a GTP session by managing the GTP session in a GTP network which provides packet data communication through a tunnel, analyzing whether packet data transferred through a created GTP tunnel has been attacked after a session for setting up a GTP data call transmitted between a Long Term Evolution (LTE) network S-GW and an LTE network P-GW in order to control an attack in a lower session of UE has been connected, and blocking an IP based on a result of the determination or generating extracted user equipment (UE)-related information for a session chain and managing the session chain as a single session. 
         [0020]    Furthermore, the UE according to an embodiment of the present invention may be a terminal capable of data communication with a server over a network. It will be apparent that the UE may be applied to all the information communication devices and multimedia devices, such as digital broadcast terminals, personal digital assistants (PDA), smart phones, 3G terminals, for example, International Mobile Telecommunication 2000 (IMT-2000) terminals, wideband code division multiple access (WCDMA) terminals, global systems for mobile communication packet radio service (GSM/GPRS) and universal mobile telecommunication service (UMTS) terminals, and the applications thereof. 
         [0021]    A method of managing a session based on a GTP network according to an embodiment of the present invention is described in detail with reference to  FIGS. 1 to 6  below. 
         [0022]    First,  FIG. 1  is a diagram of the schematic configuration of an overall system to which a method of managing a session based on a GTP network according to an embodiment of the present invention has been applied. 
         [0023]    Referring to  FIG. 1 , an LTE network system  100  to which the present embodiment has been applied includes UE  110  configured to be capable of data communication, an evolved node B (eNB)  112 , that is, an LTE base station, configured to enable wireless connection between the UE  110  and an LTE network, an S-GW  114  configured to perform a handover function, a P-GW  116  configured to connect the UE  110  to an external network, and an external service server  118  configured to provide packet filtering. 
         [0024]    In this case, the eNB  112  and the S-GW  114  operate in conjunction with each other over a network set by an operator, and the network is a network managed by the operator. 
         [0025]    In the method of managing a session based on a GTP network according to the present embodiment, the general system  100  of  FIG. 1  performs session-based control on traffic between the S-GW  114  and the P-GW  116 , monitored in transparent mode, with respect to an IP attack. The method is described in greater detail with reference to  FIG. 2 . 
         [0026]      FIG. 2  is an overall flowchart illustrating a method of managing a session based on a GTP network according to an embodiment of the present invention. 
         [0027]    Referring to  FIG. 2 , first, in operation  210 , a tunnel creation request message transmitted between the S-GW and the P-GW in transparent mode in order to create a GTP tunnel according to a GPRS application service is monitored. 
         [0028]    In operation  212 , information about UE for the registration of a session is extracted from the tunnel creation request packet. In operation  214 , the information about UE is registered with a hash buffer. 
         [0029]    The GTP is an application protocol that operates above a user datagram protocol (UDP). The GTP is a protocol that generates packet data including a GTP heater and performs the exchange of data between networks through a setup tunnel. The tunnel creation request message is used to set up a GTP data call transmitted between the S-GW and P-GW of the LTE network. Packets used to set up a data call for each network include a tunnel creation request message, a tunnel creation response message, a tunnel update request message, a tunnel update response message, a tunnel deletion request message, and a tunnel deletion response message. 
         [0030]    In operation  216 , the P-GW monitors a tunnel creation response message transmitted to the S-GW in response to the received tunnel creation request message. As a result of the monitoring, in operation  218 , a GTP tunnel based on the information about the UE is created in response to the tunnel creation response message received by the S-GW. 
         [0031]    Thereafter, in operation  220 , a session chain based on GTP packets that are transmitted through the created GTP tunnel is created. 
         [0032]    In this case, in order to create the GTP tunnel, a tunnel creation request message is transmitted between the S-GW and the P-GW. 
         [0033]    The tunnel creation request message includes a mobile subscriber ISDN number (MSISDN) and a sequence number that are required to create the GTP tunnel. In this case, the MSISDN is the telephone number of the UE, and the sequence number is a number used for matching between the request message and the response message. 
         [0034]    When the tunnel creation response message is transmitted from the P-GW to the S-GW, the GTP tunnel is created based on the information about the UE. The tunnel creation response message is transmitted to the S-GW. The tunnel creation response message includes an IP address and a TEID (i.e., an identifier that is used by the UE when the UE sends packet data) that will be used by the UE. 
         [0035]    When the tunnel creation response message is transmitted from the S-GW to the P-GW, the GTP tunnel is created based on the UE information, an environment is configured so that packet data is transmitted and received through the GTP tunnel. The packet data may be transmitted between the UE and an external network through the created GTP tunnel. 
         [0036]    Furthermore, in order to update the GTP tunnel through which the packet data is transmitted and received, a tunnel update request message is transmitted from the S-GW to the P-GW. When the tunnel update request message is received from the S-GW, the P-GW sends a tunnel update response message to the S-GW. When the GTP tunnel is updated, the TEID that is used by the UE when the UE sends packet data is changed. 
         [0037]    Thereafter, when the S-GW receives a tunnel deletion request message from the P-GW in order to delete the GTP tunnel after the transmission of the packet data has been terminated, the S-GW sends a tunnel deletion response message, and then the GTP tunnel is deleted. 
         [0038]    In  FIG. 3 , a GTP-C request packet and a GTP-C response packet that pass through a GTP network between an S-GW  314  and a P-GW  316  in an LTE network may create or control a session chain  312  through a hash buffer  310 . 
         [0039]    In this case, the session chain is linked to an IP address at which uplink/downlink information is assigned to corresponding UE. The IP address is linked to information about the UE. The UE is linked to the uplink/downlink information and the IP address. 
         [0040]    Furthermore, a tunnel modification or deletion request for the update or deletion of a session through a created GTP tunnel is stored in the hash buffer. If a response to the tunnel modification or deletion request is generated, an IP address is searched for by using the TEID information of a GTP heater, and UE is searched for based on a retrieved IP address. 
         [0041]    When a command for the tunnel modification request is executed, the type of GTP packet received through the GTP tunnel is recognized. The IP address is searched for by using the TEID information included in uplink control (UC) or downlink control (DC) information in accordance with a policy predetermined in the recognized GTP-C packet. Information about a session chain linked to corresponding UE is modified. 
         [0042]    When a command for the tunnel deletion request is performed, the type of GTP packet received through the GTP tunnel is recognized. The IP address is searched for by using the TEID information included in UC or DC information in accordance with a policy predetermined in a recognized GTP-C packet. The setup of a session chain linked to corresponding UE is released, and memory is reorganized. 
         [0043]    Meanwhile, when a GTP-U packet is received, the P-GW inserts a GTP-U header having a TEID into the GTP-U packet and sends the GTP-U packet through the GTP tunnel. 
         [0044]    The TEID is identified as a downlink TEID for the case where an inbound GTP packet is transmitted from the P-GW to the S-GW or an uplink TEID for the case where an outbound GTP packet is transmitted from the S-GW to the P-GW. 
         [0045]      FIG. 4  is a schematic flowchart into which the flows of the operations illustrated in  FIGS. 1 to 3  according to an embodiment of the present invention have been integrated and incorporated. Referring to  FIG. 4 , first, an S-GW  410  attaches a GTP heater to a packet transmitted from UE so that the packet is transmitted to a GTP network, and transfers a packet, transferred through a GTP tunnel, to the UE. 
         [0046]    A detection unit  414  monitors, detects, and analyzes traffic in transparent mode in a GTP network section. 
         [0047]    A GTP-C packet that belongs to packets that are not attack packets and that is related to the setup and control of a session is transferred to a session management unit  418 . 
         [0048]    If a received packet corresponds to a request, the session management unit  418  registers the received packet with a hash buffer  422 . If the received packet corresponds to a response, the session management unit  418  searches the hash buffer  422  for a request. If GTP-C request/response conditions are satisfied, the session management unit  418  performs a corresponding command on a session chain  420 . 
         [0049]    In the case of a request packet, the session management unit  418  stores information, included in the request packet, in the hash buffer  422 . In the case of a response packet, the session management unit  418  first checks whether a request is present in the hash buffer  422 . If the request is found to be present, the session management unit  418  performs a GTP-C command on the session chain  420 . 
         [0050]    A timer  424  is set before the information included in the request packet is stored in the hash buffer  422 . If a response is not received within a specific time, the content of a request stored in the hash buffer  422  are deleted. In the case of an arrived response, the timer  424  is checked. If a response time has been exceeded, a subsequent task is invalidated. 
         [0051]    Information about UE, GTP information, and a command are received from the session management unit  418 . A creation command carries the information about the UE. A session chain is created in the session chain  420  based on the information about the UE. In the case of a command for modification or deletion, UE within the session chain  420  is searched for based on a TEID included in the GTP information, and modification or deletion is performed. 
         [0052]    The detection unit  414  may obtain information about UE by searching the session chain  420  for a corresponding session chain based on the GTP information of detected GTP data. The obtained information about the UE is transferred for session control, and is then used to pass or drop a packet destined for the corresponding UE. 
         [0053]    Like the S-GW  410 , a P-GW  412  attaches a GTP heater to a packet transmitted from UE so that the packet is transmitted to a GTP network and transfers a packed, transferred through a GTP tunnel, to the UE. 
         [0054]    A schematic flowchart according to an embodiment of the present invention is described in greater detail with reference to  FIG. 5 . 
         [0055]      FIG. 5  is a detailed flowchart illustrating a method of managing a session based on a GTP network according to an embodiment of the present invention. Referring to  FIG. 5 , first, at step ( 1 ), a packet is read from a network interface card (NIC), and is then decoded for each GTP heater that includes a TEID assigned when a call is set up. 
         [0056]    At step ( 2 ), a dissection engine analyzes whether the decoded packet has been attacked. 
         [0057]    More specifically, the dissection engine determines whether GTP packet data received through the GTP tunnel has been attacked by malicious behavior by decoding the GTP packet data based on a predetermined management DB. Based on a result of the determination, an attacked GTP-C packet is blocked based on corresponding IP information. In the case of a GTP-U packet, information about UE is obtained by searching a registered session chain for the information about the UE based on GTP packet information. 
         [0058]    The GTP-U packet that has not been attacked is controlled in accordance with information about the policy of a GTP network. Predetermined information is extracted from the attacked GTP-C packet, and is then generated as a subsequent session chain. 
         [0059]    The policy of the GTP network refers to a policy that permits traffic without separate control if the traffic is normal traffic that has not been attacked. 
         [0060]    Next, at step ( 3 ), whether the packet, for which whether an attack has been made has been detected, has a GTP-C or GTP-U format is determined. At step ( 3 - 1 ), the GTP-C packet is blocked based on corresponding IP information. At step ( 3 - 2 ), UE is searched for in the case of the GTP-U packet. 
         [0061]    At step ( 3 - 3 ), information about the UE is obtained by searching a session chain, registered when a session is created, for the UE based on information about the GTP of the GTP-U packet. 
         [0062]    Meanwhile, whether a packet, for which an attack has not been detected as a result of the analysis of whether the decoded packet has been attacked at step ( 2 ), has a GTP-C or GTP-U format is determined at step ( 4 ). At step ( 4 - 1 ), the GTP-U packet is not used in a session management system. At step ( 4 - 2 ), the GTP-C packet is used in a session management system. 
         [0063]    At steps ( 5 ) and ( 6 ), whether a packet corresponds to a request or a response is determined. When a request packet is received at step ( 6 - 1 ), a current time and a maximum response standby time are set at step ( 6 - 2 ). Information about the request packet is registered with the hash buffer at step ( 6 - 3 ). 
         [0064]    In this case, the information registered with the hash buffer may include a GTP version, a message type, GTP information (i.e., a TEID), a P-GW IP, an S-GW IP, and an assigned IP (i.e., an end-user IP). 
         [0065]    If a packet is determined to be a response, first, whether a request has been registered with the hash buffer is determined at step ( 7 - 1 ). At step ( 7 - 2 ), the request is searched for based on a GTP version, a message type, a TEID, and gateway IP information. 
         [0066]    If a request has not been registered with the hash buffer, the management of a session is terminated at step ( 7 - 3 ). If a request is determined to have been registered with the hash buffer, a response time set in the timer is checked at step ( 7 - 4 ). If the response time is determined to have been exceeded, the management of the session is terminated at step ( 7 - 5 ). 
         [0067]    If the response is determined to have arrived within the response time, a command may be executed at step ( 7 - 6 ). 
         [0068]    At step ( 8 ), the determination and execution of a GTP-C command are performed. At step ( 8 - 1 ), a session chain is created based on information about UE, given in response to the request, in response to a creation command. 
         [0069]    At step ( 8 - 2 ), the session chain includes UE, an IP (i.e., an end-user IP), uplink control (UC), downlink control (DC), uplink data (UD), and downlink data (DD). The UC, DC, UD, and DD may have end-user IP information via a TEID and gateway IP information. The information about the UE connected to the IP address may be searched for. 
         [0070]    At step ( 9 ), the information about the UE is searched for in order to execute a GTP-C command for modification or deletion. The information about the UE is required because the modification and deletion are tasks for updating and deleting an existing session for the UE. At step ( 9 - 1 ), the session chain is searched for IP information assigned to the UE based on information about the TEID of a GTP. 
         [0071]    At step ( 9 - 2 ), the information about the UE is obtained by searching the session chain based on the IP information. At step ( 9 - 3 ), a session chain update (or modification) command is performed on the UE. The UE updates related information connected by a chain. 
         [0072]    At step ( 10 ), the GTP-C command for deletion is executed. At step ( 10 - 1 ), a link connected to each data is removed from the session chain. At step ( 10 - 2 ), a memory space to which the session chain has been assigned is released. 
         [0073]    The method of managing a session based on a GTP network according to the embodiment of the present invention has been described above. 
         [0074]    An apparatus for managing a session based on a GTP network according to an embodiment of the present invention is described below. 
         [0075]      FIG. 6  is a detailed block diagram illustrating the apparatus for managing a session based on a GTP network according to the present embodiment. 
         [0076]    Referring to  FIG. 6 , the apparatus for managing a session based on a GTP network to which the present embodiment has been applied includes a predetermined management database (DB)  612 , a detection unit  610 , a control unit  614 , a hash buffer  618 , and a session management unit  616 . 
         [0077]    The detection unit  610  performs decoding on GTP packet data received through a GTP tunnel, and determines whether an attack attributable to malicious behavior has been made on the GTP packet data based on the predetermined management DB  612 . The detection unit  610  determines the types of GTP packets with respect to GTP packet data on which an attack has been made and GTP packet data on which an attack has not been made based on a result of the determination. A predetermined policy for the determined type of GTP packet is carried out. 
         [0078]    The control unit  614  sets up a session in response to a session setup request for a GPRS application service. Once the session has been created, the control unit  614  processes GTP packet data between the S-GW and the P-GW using a GTP tunnel created by monitoring the traffic of a tunnel creation request message. 
         [0079]    The session management unit  616  creates a session chain based on a tunnel creation request packet and a tunnel creation response packet under the control of the control unit  614 . 
         [0080]    When the traffic of the tunnel creation request message transmitted from the S-GW to the P-GW is monitored in order to create the GTP tunnel, the control unit  614  extracts information about UE for the registration of a session from the tunnel creation request packet, and registers the extracted information with the hash buffer  618 . When the tunnel creation response message is transmitted from the P-GW to the S-GW in response to the received tunnel creation request message, the GTP tunnel based on the information about the UE is created in response to the tunnel creation response message received from the S-GW. 
         [0081]    Furthermore, the control unit  614  determines the message of a GTP-C packet received through the GTP tunnel. If the message is determined to be a tunnel modification or deletion message, the control unit  614  searches a session chain, corresponding to information about the TEID of the GTP-C packet, for an IP address assigned to the UE. 
         [0082]    Furthermore, the control unit  614  performs control so that the session chain modification or deletion command corresponding to the information about the UE obtained from the session chain through the IP address is executed, and updates related information, connected to the information about the UE by a chain, in response to the executed session chain modification or deletion command. 
         [0083]    In this case, in the session chain, uplink/downlink information is linked to the IP address assigned to the UE. The IP address is linked to the information about the UE. The UE is linked to the uplink/downlink information and the IP address. 
         [0084]    Furthermore, the session chain is configured to include the value of the unique international mobile subscriber identity (IMSI) of the UE extracted from packet data, an IP assigned through a UE access procedure defined in a network from the P-GW, and the TEID assigned when the GTP tunnel is created. The session chain is created based on the information about the UE that is included in a packet for setting up a data call between the S-GW and the P-GW and that is given by the tunnel creation request message. 
         [0085]    The session chain further includes an IP (i.e., an end-user IP), UC, DC, UD, and DD. 
         [0086]    In this case, the UC, DC, UD, and DD obtains information about the end-user IP based on the TEID and information about a gateway IP. The UE corresponding to the end-user IP obtained when the session chain is searched for the information about the UE is searched for. 
         [0087]    The control unit  614  recognizes the type of GTP packet received through the GTP tunnel, searches for the IP address using the TEID information included in the UC or DC information in accordance with a policy predetermined in the recognized GTP-C packet, and performs control so that information about the session chain linked to the UE. 
         [0088]    Furthermore, the session management unit  616  determines the command of the message of a GTP-C packet received through the GTP tunnel. If the message of the GTP-C packet is a tunnel modification or deletion message, the session management unit  616  searches a session chain, corresponding to information about the TEID of the GTP-C packet, for IP information assigned to the UE, executes a session chain modification or deletion command corresponding to the information about the UE obtained from the session chain based on the IP information, and updates related information connected to the information about the UE by a chain in response to the executed session chain modification or deletion command. 
         [0089]    Meanwhile, if the command of the message of the GTP-C packet is determined to be the tunnel deletion message, the session management unit  616  removes a link connected to each data of the session chain corresponding to the TEID information of the GTP-C packet, and releases an assigned memory space. 
         [0090]    As described above, the present invention is advantageous in that a GTP session can be managed in a GTP network environment in the form of a single session. 
         [0091]    As described above, the operations regarding the method and apparatus for managing a session based on a GTP network according to the embodiments of the present invention can be performed. Meanwhile, although the specific embodiments of the present invention have been disclosed for illustrative purposes, various modifications and variations can be made without departing from the scope and spirit of the invention. Accordingly, the scope of the present invention should be determined based on the claims and equivalents to the claims, rather than the above-described embodiments.