网关安全管理方法和设备与流程

文档序号:11524154阅读:285来源:国知局
网关安全管理方法和设备与流程

本发明涉及通信技术/计算机技术,具体涉及网关安全管理方法和设备。



背景技术:

目前普遍采用的网络安全产品,如ids、ips、防火墙、防病毒系统、自防御网络等都采用了各种不同的网络安全状态感知技术,其主要思想都是对已知的网络不安全因素进行检测,并作报警、阻止或其它相应的处理。虽然在一定程度上控制了网络安全事件的发生,但是新的蠕虫、病毒、网络攻击,甚至是p2p应用给网络带宽的正常使用带来的威胁却与日俱增,但现有技术中网络感知技术,未能够解决有效地感知未知的网络攻击行为的问题。



技术实现要素:

鉴于上述问题,本发明提出了克服上述问题或者至少部分地解决上述问题的网关安全管理方法和设备。

为此目的,第一方面,本发明提出一种网关安全管理方法包括:

抓取经过网关的数据包;

解析数据包,获得数据包的基本特征值;

根据所述基本特征值,获取该数据包的至少一个行为模式;

依据预设条件,分析预设时间段内所有数据包的行为模式中的具有相同基本特征值所属的行为模式;

若分析确定基本特征值为x的行为模式y异常,则根据基本特征x和该行为模式y触发安全控制操作。

可选的,基本特征值至少包括以下的三种:协议类型,源ip,源端口,目的ip,目的端口。

可选的,数据包的行为模式包括:行为模式1:使用同一协议从同一源ip地址发出的数据包;

行为模式2:使用同一协议从同一的源地址和同一源端口发出的数据包;

行为模式3:使用同一协议从同一的源ip地址发送到同一目的ip地址的数据包;

行为模式4:使用同一协议从同一的源ip地址发送到同一目的端口的数据包;

行为模式5:使用同一协议发送到同一源端口的数据包;

行为模式6:使用同一协议发送到同一的源端口和同一目的ip地址的数据包;

行为模式7:使用同一协议从同一的源端口发送到同一的目的端口的数据包;

行为模式8:使用同一协议发送到同一目的ip地址的数据包;

行为模式9:使用同一协议发送到同一目的ip地址和同一目的端口的数据包;

行为模式10:使用同一协议发往同一目的端口的数据包。

可选的,所述步骤若分析确定基本特征值为x的行为模式y异常,则根据基本特征x和该行为模式y触发安全控制操作,包括:

分析获得预设时间内基本特征值为x的行为模式y的实例xi的以下至少一个常用特征:

总包数、平均包大小、总字节数、平均负载大小、发起者向被发起者发包的个数、发起者向被发起者发包的总大小,发起者向被发起者发包的负载的总大小、被发起者向发起者发包的个数、被发起者向发起者发包的负载的总大小、被发起者向发起者发包的头部的总大小、流的目的端口号、流的持续时间、流中包的平均到达时间;

若判断实例xi的常用特征z超过预设阈值,则根据基本特征值x和行为模式y触发安全控制操作。

可选的,在步骤生成对应的描述数据之后,在步骤分析预设时间内具有相同基本特征的相同的行为模式之前,还包括:

将描述数据作为消息放入kafka消息队列中;

所述步骤根据描述数据,分析预设时间内具有相同基本特征值的相同的行为模式,包括:使用spark消费kafka消息队列中的消息,以分析预设时间内具有相同基本特征值的相同的行为模式;

可选的,还包括步骤:将对应于描述原始数据包的行为模式、网关设备基本信息、网关日志存储在cassandra数据库中。

可选的,所述根据基本特征x和该行为模式y触发安全控制操作包括下述至少一种操作:根据基本特征x和该行为模式y添加相应的控制策略,限制具有基本特征x且行为模式为y的数据包的带宽;

或根据基本特征x和该行为模式y添加相应控制策略,限制具有基本特征x且行为模式为y的数据包的转发。

在第二方便,本文提供一种智能网关设备,包括解析模块、分析判断模块、安全控制模块;

所述解析模块用于抓取经过网关的数据包;解析数据包,获得数据包的基本特征值;根据数据包的基本特征值,用对应的行为模式描述该数据包,生成对应的描述数据;

所述分析判断模块用于根据所有的描述数据,分析预设时间段内具有相同基本特征值的相同的行为模式;若根据预设条件,分析确定基本特征值为x的行为模式y异常,则根据基本特征x和该行为模式y触发安全控制操作;

所述安全控制模块用于执行所述安全控制操作。

可选的,解析模块用于解析数据包,获得数据包的以下5个基本特征值:协议类型,源ip,源端口,目的ip,目的端口;

所述解析模块还用于根据数据包的五个基本特征值,用以下的一个或多个行为模式描述该数据包,生成描述数据:

行为模式1:使用同一协议从同一源ip地址发出的数据包;

行为模式2:使用同一协议从同一的源地址和同一源端口发出的数据包;

行为模式3:使用同一协议从同一的源ip地址发送到同一目的ip地址的数据包;

行为模式4:使用同一协议从同一的源ip地址发送到同一目的端口的数据包;

行为模式5:使用同一协议发送到同一源端口的数据包;

行为模式6:使用同一协议发送到同一的源端口和同一目的ip地址的数据包;

行为模式7:使用同一协议从同一的源端口发送到同一的目的端口的数据包;

行为模式8:使用同一协议发送到同一目的ip地址的数据包;

行为模式9:使用同一协议发送到同一目的ip地址和同一目的端口的数据包;

行为模式10:使用同一协议发往同一目的端口的数据包;

所述分析判断模块用于分析获得预设时间内基本特征值为x的行为模式y的实例xi的以下至少一个常用特征:

总包数、平均包大小、总字节数、平均负载大小、发起者向被发起者发包的个数、发起者向被发起者发包的总大小,发起者向被发起者发包的负载的总大小、被发起者向发起者发包的个数、被发起者向发起者发包的负载的总大小、被发起者向发起者发包的头部的总大小、流的目的端口号、流的持续时间、流中包的平均到达时间;

若判断实例xi的常用特征z超过预设阈值,则根据基本特征值x和行为模式y触发安全控制操作。

可选的,所述解析模块将描述数据作为消息放入kafka消息队列中;

所述分析判断模块用于使用spark消费kafka消息队列中的消息,以分析预设时间内具有相同基本特征值的相同的行为模式。

由上述技术方案可知,本发明的上述方法通过监控网关中的数据包,获得数据包的基础特征,根据数据包的基础特征对经过网关的数据流量进行特征分析,从而发现潜在的网络安全并进行报警。

前面是提供对本发明一些方面的理解的简要发明内容。这个部分既不是本发明及其各种实施例的详尽表述也不是穷举的表述。它既不用于识别本发明的重要或关键特征也不限定本发明的范围,而是以一种简化形式给出本发明的所选原理,作为对下面给出的更具体的描述的简介。应当理解,单独地或者组合地利用上面阐述或下面具体描述的一个或多个特征,本发明的其它实施例也是可能的。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明的一个具体实施例中的网关安全管理方法流程示意图;

图2为本发明的一个实施例中的智能网关设备的模块示意图;

图3为本发明的一个实施例中智能网关的数据流图。

具体实施方式

下面将结合示例性的通信系统描述本发明。

kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网络中的所有动作流数据。kafka的目的是通过hadoop的并行加载机制来统一线上和离线的消息处理,也是为了通过集群来提供实时的消费。

flume:一个高可用、高可靠,分布式海量数据采集、聚合和传输框架。

cassandra:分布式key-value存储系统。用于储存海量的数据。

sparkstreaming是大规模流式数据处理,批处理引擎是spark。

图1所述为本发明的一个具体实施例中的网关安全管理方法流程示意图,包括:

s101抓取经过网关的数据包;

s102解析数据包,获得数据包的基本特征值;

s103根据数据包的基本特征值,获取该数据包的至少一个行为模式;s104依据预设条件,分析预设时间段内所有数据包的行为模式中的具有相同基本特征值所属的行为模式;

s105若根据预设条件,分析得出确定基本特征值为x的行为模式y异常,则根据基本特征x和该行为模式y触发安全控制操作。

在步骤s101中可以选择现有的第三方抓包工具,例如wireshark;也可以是用户根据产品需求开发的抓包工具,或在本申请的申请日之后公开的抓包工具。数据包的获取方式可以说通过抓取经过网关的数据包、也可以是通过网关提供sdk数据接入接口来收集数据。步骤s102中的基本特征为下述基本特征中的至少3个,也可以是包含所有的五个;步骤s105中,行为模式y为预设的行为模式中的一种,基本特征x的行为模式y是行为模式y的一种具体实施例,例如下述行为模式abd的具体实例xi,具体实例xi为(tcp,192.168.1.1,*,172.21.1.10,*),它的基本特征为协议类型为tcp,源ip为192.168.1.1,目标ip为172.21.1.10,它的行为模式为abd(即使用同一协议从同一的源ip地址发送到同一目的ip地址的数据包)。

步骤s105中安全控制操作包括以下的一种或多种:

1)基本特征x和该行为模式y控制网关设备;

2)将基本特征x和该行为模式y可视化的显示在手机,网页上;

3)将结果保存,提供sdk输出接口供客户端调用和现实。

上述方法通过监控网关中的数据包,获得数据包的基础特征,根据数据包的基础特征对经过网关的数据流量进行特征分析,从而发现潜在的网络安全并进行报警。

步骤s102中的基本特征包括以下至少3种:协议类型,源ip,源端口,目的ip,目的端口。

本文中使用的“至少一个”、“一个或多个”以及“和/或”是开放式的表述,在使用时可以是联合的和分离的。术语“一个”实体是指一个或多个所述实体。由此术语“一个”、“一个或多个”和“至少一个”在本文中是可以互换使用的。

协议类型指的是数据包的协议,例如国际标准或公认标准协议如modbus、dnp3、iec104等;还包括私有公开的协议,即只有厂商自己设备支持并提供官方协议文档,如omronfins协议、三菱melsec协议等;还包括私有不公开的协议,即只有厂商自己设备支持且官方不提供协议文档,如s7、西门子ppi协议、gesrtp等。

在一些实施例中采用不超过3个基本特征的组合来对数据包进行分类,即根据数据包的五个基本特征,采用其中的三个或两个为一组描述该数据包的行为。也即根据数据的五个基本特征,将数据包描述为下述行为:使用某种协议,来自或是通向某个点(由原或是目的ip确定)的某种服务(通过端口来标识);

为了便于理解,5种基本特征分别用5个大写字母表示为,其对应关系如下:a:协议类型、b:源ip、c:源端口、d:目的ip、e:目的端口。

因此可以理解,可以将数据包描述为下述10中行为:

ab=(a,b,*,*,*)使用同一协议从同一源ip地址发出的流;

abc=(a,b,c,*,*)使用同一协议从同一的源地址和同一源端口发出的流;

abd=(a,b,*,d,*)使用同一协议从同一的源ip地址发送到同一目的ip地址的流;

abe=(a,b,*,*,e)使用同一协议从同一的源ip地址发送到同一目的端口的流;

ac=(a,*,c,*,*)使用同一协议发送到同一源端口的流;

acd=(a,*,c,d,*)使用同一协议发送到同一的源端口和同一目的ip地址的流;

ace=(a,*,c,*,e)使用同一协议从同一的源端口发送到同一的目的端口的流;

ad=(a,*,*,d,*)使用同一协议发送到同一目的ip地址的流;

ade=(a,*,*,d,e)使用同一协议发送到同一目的ip地址和同一目的端口的流;

ae=(a,*,*,*,e)使用同一协议发往同一目的端口的流;

如(tcp,192.168.1.1,*,172.21.1.10,*)和(udp,172.25.1.20,*,172.27.27.1,*)都是行为abd的实例,*代表通配符,意味着取值不确定。

应注意到术语“包括”、“包含”和“具有”也是可以互换使用的。

上述10种用于描述数据包的行为的名称即本发明的一个实施例中的行为模式,即在本发明的一个实施例中,根据数据包的五种基本特征,使用上述10中行为模式描述每个数据包的行为,一个数据包可能有多重行为模式可以描述。可以理解的是上述采用字母abcde代替行为模式的名称,只是为了将一种行为模式与另一种行为模式区别开,其可用中文,也可以用其他英文为行为模式命名。

根据每种行为模式x的每种实例xi计算其行为模式的特征分布,即分析预设时间内具有相同基本特征值的相同的行为模式的某些常用特征;在本实施例中行为模式x指的是上述10种行为模式之一;实例xi指行为模式x的实例,例如xi(tcp,192.168.1.1,*,172.21.1.10,*)为行为模式abd的一个实例。

计算实例xi其行为模式的特征分布,可以是包括计算实例xi的下述特征分布:xi所承载的字节总数、xi所传输的数据包总数占整个样本承载的数据包总数的比例(该值体现了带宽占有率)、预设时间内实例xi的数目(该值体现了数据包的分布)。

通过对xi的特征分布的计算,可以挖掘出当前网络中数据包样本中哪些数据包的行为模式和其实例在3种特征值上有突出的分布。换言之,通过上述的计算,获得在上述3种反映网络当前状态的特征值分布上。在特征分布中那些具有较高的取值的行为模式及其实例,是威胁网络可用性的主要来源。

根据xi的特征分布,对于超过预设阈值的xi,进行安全控制;

可以理解的是安全控制可以是基于预设的控制方式,例如安全控制方式可以是提示、通知、警告等。也可以是根据实例xi对其带宽进行限制,例如对于实例xi(tcp,192.168.1.1,*,172.21.1.10,*)根据预设的规则预判为异常,则对网络中符合行为模式(tcp,192.168.1.1,*,172.21.1.10,*)的数据包进行流量控制。在另一实施例中,也可以是完全拒绝实例xi对应的的数据包通过网关。

在优选的实施例中,根据协议类型为每种行为模式x定义其分布门限值。在分布特征中超过门限值的数据流需要受到控制,优选的门限值设置为动态的。其也可以是静态的值,该值由网络管理员维护。

在优选的实施例中,针对行为模式的实例设计有易于实现的网络监控策略,用于预测异常流量。例如,网关设备通过netflow采样获取网络流量样本s,对于网络流量样本s中的每个数据包解析并获得其基本特征值(上述a-e);根据基本特征值,生成用于描述数据包行为的行为模式的数据,将行为模式的数据上传至对网关有访问控制能力的任何联网设备;在该设备中根据行为模式的实例对行为模式的数据进行挖掘和特征分析,行为模式实例xi在带宽占有率、数据包的分布、流数量的分布上述任一一项超过预设值,对后续经过网关的行为模式实例xi对应的数据流进行控制。

从而有效控制威胁网络可用性的网络流量,包括吞噬带宽的流量、发包频率和流的频率过高地网络流量。

在另一些实施例中,统计预设时间内实例xi以下的一种或多种常用特征:总包数、平均包大小、总字节数、平均负载大小、发起者向被发起者发包的个数、发起者向被发起者发包的总大小,发起者向被发起者发包的负载的总大小、被发起者向发起者发包的个数、被发起者向发起者发包的负载的总大小、被发起者向发起者发包的头部的总大小、流的目的端口号、流的持续时间、流中包的平均到达时间。

若判断实例xi的常用特征z超过预设阈值,则将根据基本特征值为x和的行为模式y触发安全控制操作。常用特征z为上述14种常用特征之一,或其组合。即在一些实施例中,若判断实例xi(tcp,192.168.1.1,*,172.21.1.10,*)的平均包大小超过预设值则触发预警;在另一些实施例中也可以是当实例xi(tcp,192.168.1.1,*,172.21.1.10,*)的总包数、流持续时间均超过预设值,则触发在网关中添加相应的控制策略,对后续经过网关的行为模式实例xi对应的数据流进行控制。

在本文的一个实施例中,网关中根据基本特征值,生成用于描述数据包行为的行为模式的数据,将行为模式的数据上传至对网关有访问控制能力的任何联网设备;在该设备中根据行为模式的实例对行为模式的数据进行挖掘和特征分析,消息放入kafka消息队列中,且采用flume自定义sink(接收点)、source(源)、eventserializer(事件序列)来解决复杂的消息格式类型,处理消息存储和分发/上传消息至上级网关或处理网关。使用spark消费kafka消息队列中的消息,以分析预设时间内具有相同基本特征值x的行为模式y的实例xi;将对应于描述原始数据包的行为模式、网关设备基本信息、网关日志存储在cassandra数据库中。

如图2所示,本文还提供一种智能网关设备的实施例,用于实现上述网关安全管理方法。其包括解析模块、分析判断模块、安全控制模块;

所述解析模块用于抓取经过网关的数据包;解析数据包,获得数据包的基本特征值;根据数据包的基本特征值,用对应的行为模式描述该数据包,生成对应的描述数据;

所述分析判断模块用于根据描述数据,分析预设时间内具有相同基本特征值的相同的行为模式;若根据预设条件,分析得出基本特征值为x的行为模式y异常,则根据基本特征x和该行为模式y触发安全控制操作;

所述安全控制模块用于执行所述安全控制操作。

优选的,解析模块用于解析数据包,获得数据包的以下5个基本特征值:协议类型,源ip,源端口,目的ip,目的端口;

所述解析模块还用于根据数据包的五个基本特征值,用以下的一个或多个行为模式描述该数据包,生成描述数据:

行为模式1:使用同一协议从同一源ip地址发出的数据包;

行为模式2:使用同一协议从同一的源地址和同一源端口发出的数据包;

行为模式3:使用同一协议从同一的源ip地址发送到同一目的ip地址的数据包;

行为模式4:使用同一协议从同一的源ip地址发送到同一目的端口的数据包;

行为模式5:使用同一协议发送到同一源端口的数据包;

行为模式6:使用同一协议发送到同一的源端口和同一目的ip地址的数据包;

行为模式7:使用同一协议从同一的源端口发送到同一的目的端口的数据包;

行为模式8:使用同一协议发送到同一目的ip地址的数据包;

行为模式9:使用同一协议发送到同一目的ip地址和同一目的端口的数据包;

行为模式10:使用同一协议发往同一目的端口的数据包;

所述分析判断模块用于分析获得预设时间内基本特征值为x的行为模式y的实例xi的以下至少一个常用特征:

总包数、平均包大小、总字节数、平均负载大小、发起者向被发起者发包的个数、发起者向被发起者发包的总大小,发起者向被发起者发包的负载的总大小、被发起者向发起者发包的个数、被发起者向发起者发包的负载的总大小、被发起者向发起者发包的头部的总大小、流的目的端口号、流的持续时间、流中包的平均到达时间;

若判断实例xi的常用特征z超过预设阈值,则根据基本特征值x和行为模式y触发安全控制操作。

优选的,所述解析模块将描述数据作为消息放入kafka消息队列中;所述分析判断模块用于使用spark消费kafka消息队列中的消息,以分析预设时间内具有相同基本特征值的相同的行为模式。

需要说明的是,在本文中,诸如行为模式y,并不是特指,而是为了将一个行为模式模式与另一行为模式区分开;同样可以理解实例xi,也不是特指,而是作为实例的代号,为了将一个实例与另一个实例区分开。同样基本特征x中的字母x也同上不是特指。

图3所述为本发明的一个具体实施例中本发明方法对应的数据流图;经过网关设备的数据均上传到消息队列kafks中,spark消费kafka消息队列中的消息,以分析预设时间内具有相同基本特征值x的行为模式y的实例xi;将对应于描述原始数据包的行为模式、网关设备基本信息、网关日志存储在cassandra数据库中。flume将消息对立kafks中的消息分发到上层网关或分析设备进行分析。

尽管已经对上述各实施例进行了描述,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改,所以以上所述仅为本发明的实施例,并非因此限制本发明的专利保护范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1