网络审计和入侵检测方法及系统的制作方法

文档序号:7744738阅读:141来源:国知局
专利名称:网络审计和入侵检测方法及系统的制作方法
技术领域
本发明涉及网络安全领域,尤其涉及用于移动核心网的网络审计和入侵检测方法及系统。
背景技术
移动通信网络中,用户进行互联网访问,需要通过移动运营商的核心网络进行鉴权和计费后,由核心设备分配IP地址,才可以接入互联网。核心网络中采用移动通信体系特有的协议和网络设备,这些协议和设备与互联网上使用的协议和设备类型有很大的差异。一次典型的移动设备进行互联网访问将通过GPRS支持节点(GSN)设备进行鉴权, 分配IP地址,计费,封装数据等操作。其中,移动设备的国际移动用户识别码(IMSI)和接入号码作为终端的身份识别依据以及计费依据都包含在发起的请求当中。之后这些身份信息、计费信息,还包括分配的IP地址等信息都以计费细节记录(CDR)话单的方式发送到计费系统进行计费处理。入侵检测技术是主动保护自己免受攻击的一种网络安全技术。作为防火墙的合理补充,入侵检测技术能够帮助系统对付网络攻击,扩展了系统管理员的安全管理能力(包括安全审计、监视、攻击识别和响应),提高了信息安全基础结构的完整性。它从计算机网络系统中的若干关键点收集信息,并分析这些信息,从中发现网络或系统中是否有违反安全策略的行为和被攻击的迹象。一个合格的入侵检测系统能大大简化管理员的工作,保证网络安全地运行。具体说来,入侵检测系统的主要功能有a.监测并分析用户和系统的活动;b.核查系统配置和漏洞;c.评估系统关键资源和数据文件的完整性;d.识别已知的攻击行为;e.统计分析异常行为;f.操作系统日志管理,并识别违反安全策略的用户活动。随着3G业务的开展,使用手机或上网卡进行网上冲浪的用户越来越多,以前在固网中存在的安全问题和安全威胁也逐渐出现在此类的接入环境中。而传统的部署在固网中的网络审计和入侵检测技术,只能定位到IP地址层面,即发现是哪些IP的行为。但是在3G 的接入环境下,IP地址是动态分配的,可能被多个人使用,这样无法准确的定位到真实的使用信息,这给安全事件的处理和定位带来了很大的麻烦。现有的移动核心网设备,只提供接入和网络通信功能,无法对流经的上层协议进行分析,无法发现承载协议的安全隐患和安全事件。现有的入侵检测技术只针对TCP/IP协议族,提供对流量内容的安全检查,其只能在传统的互联网线路中应用,不具备在移动核心网中的分析能力。这导致了所有安全事件的起源和目标的追踪都只能停留在IP地址这个层面上,而无法获取到真实身份信息,如手机号码,IMSI等。

发明内容
本发明的目的是提供一种网络审计和入侵检测方法及系统,通过该方法及系统可以追踪到引起安全事件的用户的真实身份信息。为了实现该目的,根据本发明的一方面,提供一种网络审计和入侵检测方法。该方法包括以下步骤获取数据包;对所获取的数据包进行解析以获取包括用户信息的所需信息;进行入侵检测并产生安全事件;将安全事件与用户信息一同输出,其中,用户信息包括国际移动用户识别码(IMSI),手机号,接入点等。在上述获取数据包之后并且在对所获取的数据包进行解析之前还包括判断所述数据包的类型。该数据包的类型包括通用分组无线业务隧道协议(GTP)控制面协议的数据包,即GTP-C包,以及GTP用户面协议的数据包,即GTP-U包。如果所获取的数据包是GTP-C包,解析该GTP-C包的包头,若该GTP-C包所携带的消息类型是分组数据协议(PDP)上下文请求时,提取其中的用户信息和数据(I)TEID,其中 TEID是GTP隧道端点标示符。提取用户信息和数据(I)TEID之后,创建列表MAPI并在MAPI中建立新的条目,以及将所提取用户信息和数据(I) TEID保存到该条目中,其中MAPI的数据组织例如可以采用哈希或者平衡二叉树算法等来创建,更新,删除以及查找。如果所获取的数据包是GTP-U包,解析该GTP-U包的包头,获取头中的数据(I) TEID并利用该数据(I)TEID查询MAPI,定位MAPI中的相应条目;其中GTP-U头中的数据 (I)TEID和GTP-C协议协商出的数据(I)TEID,BP MAPI的相应条目中的SGSN数据(I)TEID 相对应。在入侵检测步骤之前优选地包括将GTP-U数据还原成TCP/IP数据。然后,优选地,采用入侵检测引擎对还原的TCP/IP数据进行检测,若判断为入侵行为,则产生安全事件,其中入侵检测可以使用异常检测和误用检测等检测手段中的至少一种来进行。最后,将安全事件与所获取的信息中的用户信息一同输出,优选地,与安全事件一同输出的用户信息是所定位的MAPI条目中的用户信息。根据本发明的另一方面,提供一种网络审计和入侵检测系统,包括数据接收模块,用于获取流经的数据包;数据分析模块,用于对来自数据接收模块的数据包进行解析, 获取其中包含的用户信息,该用户信息可以包括国际移动用户识别码(IMSI),手机号,接入点等,以及对来自数据接收模块的数据包进行处理,将其还原成上层协议的数据包;以及入侵检测模块,用于对通过数据分析模块处理后的数据包进行检测,判断是否存在入侵行为, 以及将安全事件与用户信息一同输出。本发明的网络审计和入侵检测方法可以提供现有技术无法支持的功能1、在线实时地发现和定位攻击事件,采用在线的方式,对核心网的隧道协议进行监控,可以在第一时间提供发现和提供证据;2、手机号码的匹配表在内存中实现,进行快速排序,快速计算,快速分配,快速释放,提高整体检测性能;3、支持复杂的网络环境,可以对多条隧道线路进行统一集中监控,并可以通过扩展形成集群方式;4、提供了终端的身份信息——接入号码,将其和入侵事件进行关联,协助安全事件的定位;5、支持与其他的系统的接口,如短信网关,对终端是攻击发起人的安全事件,可以采用发送短信提醒的方式,通知机主处理;6、提供长期历史记录的本地存储和网络存储,具备历史记录的回溯功能。


下面结合附图对本发明的具体实施方式
做进一步详细的说明。其中图1是根据本发明的实施例的网络审计和入侵检测方法的应用环境示意图;图2是根据本发明的实施例的网络审计和入侵检测方法的流程图;图3是示出了 GTP头格式的示意图;图4是示出了 GTP-C头格式的示意图;图5是示出了根据本发明实施例的MAPI中的一个示例性条目的图;图6是示出了根据本发明实施例的网络审计和入侵检测系统的结构图。
具体实施例方式为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式
对本发明进行更加详细地说明。图1是根据本发明的实施例的网络审计和入侵检测方法的应用环境示意图。用户使用手机或上网卡进行hternet访问的时候,该用户的手机号码作为用户鉴权和计费的依据,可以从流量中提取,这样就将用户的具体行为和其身份证明关联起来。 但是这些信息只存在于移动运营商自身的核心网络中。如图1所示,用户的身份信息仅存在于服务GPRS支持节点(SGSN)和网关GPRS支持节点(GGSN)之间,一旦越过核心网的边界,身份信息也将不存在。移动设备在上网之前,将自身的信息如国际移动用户识别码(IMSI),手机号码,接入点信息发送给SGSN设备进行请求,SGSN设备将这些信息封装在 GTP-C数据包中向GGSN设备进行请求。本实施例意在对移动运营商核心网中SGSN和GGSN 之间的接口进行数据监控,实现对用户行为的审计和入侵检测。接口处的协议是通用分组无线业务(GPRS)隧道协议(GTP),用于为移动设备的上网提供传输隧道,是移动通信核心网中SGSN和GGSN设备之间的隧道协议。GTP协议分为 GTP控制面协议(GTP-C)和GTP用户面协议(GTP-U),分别承载控制信息和内容信息。移动设备上网,需要建立一个GTP隧道对所有的流量进行封装传输。GTP-C协议用来对隧道进行管理,例如负责这个隧道的创建,状态维护,删除等操作;而GTP-U协议用来对隧道的上层协议进行承载,负责承载移动终端的数据传输。本发明实施例的方法在接口处对GTP数据包进行解析,即对GTP数据包进行拆解和关联,提取其中的用户信息如手机号,国际移动用户识别码(IMSI)等身份信息,之后与实际的用户行为进行关联,如攻击事件,未授权的访问等,最终获取手机号与安全事件和网络行为的日志信息。图2是根据本发明的实施例的网络审计和入侵检测方法的流程图。如图2所示,根据本发明实施例的网络审计和入侵检测方法包括以下步骤步骤201,获取数据包并判断其类型。在步骤201中,获取流经的数据包(例如在接口)并判断该包所属的GTP类型。 通过UDP端口号来判断该数据包是否属于GTP-C或GTP-U协议。GTP头中的版本号(如图3 所述)指示GTP协议的版本,针对不同的版本所使用的端口号也不同。例如最常用的GTP vl版本,GTP-C使用的UDP端口号是2123,而GTP-U使用的UDP端口号是2152。步骤202,若步骤201中的判断结果指示获取的是GTP-C包,解析该GTP-C包的包头,提取用户信息。如图4所示,GTP-C包的包头格式与GTP头略有不同,除包括图3中所示的GTP头的内容之外,还包括信息元素(IE)部分。GTP-C头中的消息类型(参见图3)这个字段指出GTP消息的类型。有效的GTP-C消息类型值包括创建分组数据协议(PDP)上下文请求、 创建PDP上下文响应、删除PDP上下文请求、删除PDP上下文响应等,根据该字段判断GTP-C 消息的类型。再从IE中获取该类消息的具体信息。PDP上下文请求表示移动终端正在申请网络接入,此类报文中包含了大部分的用户信息,如国际移动用户识别码(IMSI),手机号,接入点等。PDP创建响应表示移动终端成功地申请了网络接入,同时GTP-U隧道被创建。此类报文中包含了移动终端被分配的IP地址信息,之后与外界进行的网络通信都将使用本IP 地址。PDP删除请求表示移动终端请求结束网络接入,该报文表示GTP-U隧道将结束,用户网络行为将结束。PDP删除响应表示GGSN设备同意了 PDP删除请求,该报文表示此移动终端的 GTP-C和GTP-U隧道都已经被删除。在步骤202中,在判断出获取的GTP-C包所携带的消息类型是PDP上下文请求时, 提取IE中的用户信息和从SGSN到GGSN的数据(I)TEID。步骤203,创建列表MAPI的条目,维护GTP隧道的连接。由于同时会有大量的移动设备具有上网需求,GTP隧道的建立和施放也是动态的, 所以需要一张表动态的记录所有的GTP隧道的状态变化。根据网络中的创建和删除报文, 动态地进行表内的各隧道的状态迁移,此表称为MAPI。MAPI中包含大量类似的条目,整个 MAPI的数据组织可以采用哈希或者平衡二叉树算法达到快速创建,更新,删除以及查找。 MAPI中一个条目的结构如图5所示。MAPI中的一个条目对应一个移动终端,如图5所示,每个条目中记录的信息包括 请求时间、终端国际移动用户识别码(IMSI)、终端手机号、控制TEID、数据(I)TEID等,其中 TEID是GTP隧道端点标示符,标识了对端的GTP-U或GTP-C协议实体中的隧道端点,其作为将控制隧道和数据隧道进行关联和匹配的依据。在本步骤中,在MAPI中创建了一个新的条目,将在步骤202中提取的用户信息和数据(I)TEID保存到该条目中。步骤204,若步骤201中的判断结果指示获取的是GTP-U包,解析该GTP-U包的包头,获取头中的数据(I)TEID,并利用该数据(I) TEID查询MAPI,定位MAPI中相应条目。
GTP-U协议负责承载移动终端的数据传输,在GTP-C协议成功协商之后,GTP-U隧道被创建,负责所有移动终端和外部网络的数据传输。GTP-U的头与GTP-C的头结构略有不同,不包括GTP-C头的IE部分,只包含GTP头(如图3所示)。GTP-U头中的数据(I)TEID 和GTP-C协议协商出的数据⑴TEID,即MAPI的相应条目中的“SGSN数据⑴TEID”相对应。在步骤204中,首先分析GTP-U的头部,获取GTP-U头中的上行数据(I)TEID,在 MAPI中找到相应的SGSN数据(I)TEID,定位到该SGSN数据(I)TEID所在的条目。同时还获取GTP-U的负载数据(未示出),缓存备用。步骤205,将GTP-U数据还原成TCP/IP数据。GTP-U协议用于在GSN对间传输T-PDU,T-PDU即原始数据,如来自MS或外部分组数据网络节点的IP报文。T-PDU是GTP隧道的净荷,其被封装在G-PDU(GTP分组数据单元) 中传输。G-PDU由GTP-U头和T-PDU构成。在步骤205中,将G-PDU数据偏移GTP头的长度之后,即得到GTP-U承载的T-PDU, T-PDU就是用户终端对外界通信的TCP/IP协议的数据。步骤206,采用入侵检测引擎对还原的TCP/IP数据进行检测,判断出入侵行为,产
生安全事件。入侵检测引擎对从GTP隧道中还原的TCP/IP数据进行检测,即经过对TCP/IP数据包进行分片包重组、状态表维护等步骤,对每一条TCP/UDP/ICMP的连接进行检测操作, 并发现其中的安全事件。检测的手段例如可以包括异常检测和误用检测。-异常检测(AnomalyDetection)基于统计分析原理。首先总结正常行为应该具有的特征(用户概况),用定量的方式加以描述,当用户活动与正常行为有重大偏离时即被认为是入侵。入侵是异常活动的子集。判断是否为入侵行为所使用的指标可以包括总体流量、总体包速率、任意源/目的地址流量、传输协议分布比例和TCP syn数量等。上述用户概况通常定义为各种行为参数及其阈值的集合,用于描述正常行为范围。异常检测的特点为其效率取决于用户概况的完备性和监控的频率;不需要对每种入侵行为进行定义,因此能有效检测未知的入侵;系统能针对用户行为的改变进行自我调整和优化,但随着检测模型的逐步精确,异常检测会消耗更多的系统资源。-误用检测(MisuseDetection)基于特征匹配原理。收集非正常操作的行为特征,建立相关的特征库,当监测的用户或系统行为与库中的记录相匹配时,就认为这种行为是入侵。误用检测的特点是采用模式匹配,误用模式能明显降低误报率,但漏报率随之增加。攻击特征的细微变化,会使得误用检测无能为力。根据本发明的实施例,可以独立使用上述两种检测手段中的一种,也可以结合这两种检测手段来进行入侵检测,以提高检测结果的准确性。步骤207,将安全事件与所定位的MAPI条目中的用户信息一同输出。在步骤207中,将在步骤206中产生的安全事件(包括开始时间,结束时间,源IP/ 端口,目的IP/端口,事件类型,事件描述等信息)和在步骤204中定位的MAPI条目中的用户信息如终端IMSI、终端手机号等信息一同输出。由此,上述方法可以容易地将网络攻击事件与攻击行为发起者的真实身份结合起来,便于对安全事件的定位和处理,大大简化了管理员的工作,保证了网络安全的运行。
针对以上方法,本发明还提供一种网络审计和入侵检测系统。该系统主要包括以下三个模块数据接收模块61、数据分析模块62和入侵检测模块63。其中,数据接收模块 61用于获取例如流经接口的数据包,并将获取的数据包传送给数据分析模块62 ;数据分析模块62用于对来自数据接收模块61的数据包进行解析,获取其中包含的用户信息如国际移动用户识别码(IMSI),手机号,接入点等,对接收的数据包进行处理并将处理后的数据包传送给入侵检测模块63 ;入侵检测模块63对通过数据分析模块62处理后的数据包进行检测,判断是否存在入侵行为,并产生安全事件,以及输出带有用户信息的安全事件。上述三部分模块从硬件形态上,可以根据实际性能的需要而彼此分离,每部分都作为单独的硬件存在;而在一些对性能要求不高的情况下,也可以部分集成在一个硬件中, 或三部分完全集成在一个统一的硬件平台之上。本发明在此对具体的实现形态不做限定。下面将以其中的一种实现形态为例进行详细说明。参考图6,在本实施例中,数据接收模块61由数据包接收单元611组成,该数据包接收单元611例如可以是网卡,其例如通过对流经的数据包进行复制等操作来获取数据包,由于该系统可以设置在移动核心网的接口,因此所接收的数据包可以是GTP数据包。数据分析模块62从功能上可以包括GTP判断单元621和GTP分析单元622。GTP 判断单元621用于对获得的数据包进行判断,通过数据包中携带的UDP端口号来确定该包是GTP-C包还是GTP-U包,然后将判断结果通知GTP分析单元622。GTP分析单元622进一步包括GTP-U分析单元6221和GTP-C分析单元6222。若 GTP分析单元622获得的判断结果是GTP-C包,则由GTP-C分析单元6222解析该GTP-C包的包头,提取用户信息如国际移动用户识别码(IMSI),手机号,接入点等。若所获得的判断结果是GTP-U包,则由GTP-U分析单元6221解析该GTP-U包的包头,获取头中的数据(I) TEID以及负载数据(缓存备用),并利用该数据(I) TEID查询MAPI (稍后详细描述),定位 MAPI中相应条目。GTP-U分析单元6221还负责对GTP-U数据进行处理,即,将GTP-U数据还原成TCP/IP数据,以便于入侵检测模块63 (稍后描述)对其进行入侵检测。另外,数据分析模块62还包括信息记录单元623,该信息记录单元623可以通过 RAM等存储介质来实现,其包括列表MAPI,用于保存GTP分析单元622获取的信息。MAPI 中包含大量类似的条目,一个条目对应一个移动终端,每个条目中记录的信息包括请求时间、终端国际移动用户识别码(IMSI)、终端手机号、控制TEID、数据(I)TEID等(如图5所示)°入侵检测模块63从功能上进一步包括入侵检测单元631和事件输出单元632。入侵检测单元631可以通过入侵检测引擎来实现,入侵检测引擎可以利用异常检测和误用检测等检测方式中的至少一种来对从GTP隧道中还原的TCP/IP数据进行检测,例如,可以采用特征匹配的方式,匹配数据包中存在的特定比特流来发现一次攻击行为。事件输出单元632用于根据入侵检测单元631的检测结果来产生安全事件,所产生的安全事件包括开始时间、结束时间、源IP/端口、目的IP/端口、事件类型和事件描述等信息。事件输出单元632还用于将上述攻击行为与MAPI中的对应条目相关联,并将安全事件与MAPI对应条目中的用户信息一同输出。以上对本发明所提供的一种网络审计和入侵检测方法及系统进行了详细描述,本文中应用了具体实例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式
及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
权利要求
1.一种网络审计和入侵检测方法,其特征在于,包括以下步骤获取数据包;对所获取的数据包进行解析以获取包括用户信息的所需信息;进行入侵检测并产生安全事件;将安全事件与用户信息一同输出。
2.根据权利要求1所述的网络审计和入侵检测方法,其特征在于,所述用户信息包括 国际移动用户识别码(IMSI),手机号,接入点等。
3.根据权利要求2所述的网络审计和入侵检测方法,其特征在于,在获取数据包之后并且在对所获取的数据包进行解析之前还包括判断所述数据包的类型,其中数据包的类型包括通用分组无线业务隧道协议(GTP)控制面协议的数据包,即GTP-C包,以及通用分组无线业务隧道协议(GTP)用户面协议的数据包,即GTP-U包。
4.根据权利要求3所述的网络审计和入侵检测方法,其特征在于,对所获取的数据包进行解析以获取包括用户信息的所需信息的步骤包括如果所述获取的数据包是GTP-C 包,解析该GTP-C包的包头,若该GTP-C包所携带的消息类型是分组数据协议(PDP)上下文请求时,获取用户信息和数据(I)TEID,其中TEID是GTP隧道端点标示符。
5.根据权利要求4所述的网络审计和入侵检测方法,其特征在于,还包括创建列表 MAPI并在MAPI中建立新的条目,将所述用户信息和数据(I) TEID保存到该条目中,其中 MAPI的数据组织可以采用哈希或者平衡二叉树算法来创建,更新,删除以及查找。
6.根据权利要求5所述的网络审计和入侵检测方法,其特征在于,对所获取的数据包进行解析以获取包括用户信息的所需信息的步骤还包括如果所述获取的数据包是GTP-U 包,解析该GTP-U包的包头,获取头中的数据(I)TEID并利用该数据(I)TEID查询MAPI,定位MAPI中的相应条目;其中GTP-U头中的数据(I) TEID和GTP-C协议协商出的数据⑴ TEID,BP MAPI的相应条目中的SGSN数据(I) TEID相对应。
7.根据权利要求3所述的网络审计和入侵检测方法,其特征在于,进行入侵检测之前还包括将GTP-U数据还原成TCP/IP数据;以及进行入侵检测并产生安全事件的步骤具体包括采用入侵检测引擎对还原的TCP/IP 数据进行检测,若检测结果为入侵行为,则产生安全事件。
8.根据权利要求6所述的网络审计和入侵检测方法,其特征在于,在将安全事件与用户信息一同输出的步骤中,所述用户信息是所定位的MAPI条目中的用户信息。
9.一种网络审计和入侵检测系统,其特征在于,包括数据接收模块,用于获取流经的数据包;数据分析模块,用于对来自数据接收模块的数据包进行解析,获取其中包含的用户信息,以及对来自数据接收模块的数据包进行处理,将其还原成上层协议的数据包;入侵检测模块,用于对通过数据分析模块处理后的数据包进行检测,判断是否存在入侵行为,以及将安全事件与用户信息一同输出。
10.根据权利要求9所述的网络审计和入侵检测系统,其特征在于,所述用户信息包括国际移动用户识别码(IMSI),手机号,接入点等。
11.根据权利要求10所述的网络审计和入侵检测系统,其特征在于,所述数据分析模块包括GTP判断单元,用于对获得的数据包进行判断,通过数据包中携带的UDP端口号来确定该包是通用分组无线业务隧道协议(GTP)控制面协议的数据包,即GTP-C包,还是通用分组无线业务隧道协议(GTP)用户面协议的数据包,即GTP-U包,并将判断结果通知GTP分析单元;GTP分析单元,包括GTP-U分析单元和GTP-C分析单元,其中,GTP-C分析单元用于对 GTP-C包的包头进行解析,并提取用户信息;GTP-U分析单元用于对GTP-U包的包头进行解析,利用头中的数据(I) TEID定位列表MAPI中相应条目,以及将GTP-U数据还原成TCP/IP 数据;信息记录单元,包括由多个条目构成的列表MAPI,用于保存GTP分析单元获取的信息。
12.根据权利要求11所述的网络审计和入侵检测系统,其特征在于,所述入侵检测模块包括入侵检测单元,用于利用入侵检测引擎来对还原的TCP/IP数据进行检测,并判断入侵行为;事件输出单元,用于根据入侵检测单元的检测结果来产生安全事件,并将安全事件与 MAPI对应条目中的用户信息一同输出。
全文摘要
本发明提供一种网络审计和入侵检测方法,包括以下步骤获取数据包;对所获取的数据包进行解析以获取包括用户信息的所需信息;进行入侵检测并产生安全事件;将安全事件与用户信息一同输出。该方法可以追踪到引起安全事件的用户的真实身份信息。本发明还提供一种针对上述方法的网络审计和入侵检测系统。
文档编号H04L29/06GK102196440SQ20101013473
公开日2011年9月21日 申请日期2010年3月1日 优先权日2010年3月1日
发明者李青山 申请人:李青山
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1