本发明涉及网络安全技术领域,尤其涉及一种异常网络连接的检测方法及系统。
背景技术:
当前,高级复杂攻击已成为高安全信息系统的重要威胁之一,攻击者通过它可以实现对信息系统的数据窃取、篡改和破坏等目的。高级复杂攻击一般是指那些无法通过传统方法检测出来的网络攻击,它具有变化快、无明显攻击特征等特点。
当前,一类检测高级复杂攻击的方法是围绕木马植入阶段,即通过检测木马的网络传播过程来发现高级复杂攻击,典型例子有国外的FireEYE高级攻击检测系统,以及国内360公司的天眼检测系统。但很多高级复杂攻击都是通过社会工程等方法进行木马植入,可能并不通过网络传播木马,因此可能会导致漏报。
另一类检测高级复杂攻击的方法是分析现有高级复杂攻击的网络流量,提取出各种网络流量的攻击特征,并基于攻击特征来检测高级复杂攻击,该方法的优点是准确率高,但无法检测到变形和未知的高级复杂攻击。
技术实现要素:
鉴于上述的分析,本发明旨在提供一种异常网络连接的检测方法及系统,用以解决现有方法存在漏报或无法检测变形和未知的高级复杂攻击的问题。
本发明的目的主要是通过以下技术方案实现的:
一种异常网络连接的检测方法,其特征在于,如图1所示,包括以下步骤:
步骤S1、基于信息系统网络连接样本建立信息系统业务访问模型;所述信息系统业务访问模型包括客户端正常行为模型、服务器正常行为模型和客户端业务访问模式模型;
步骤S2、基于所述信息系统业务访问模型识别异常网络连接。
所述步骤S1进一步包括:
步骤S1.1基于网络连接样本基本信息对信息系统中各客户端的网络配置信息进行建模,建立所述客户端正常行为模型;
步骤S1.2基于网络连接样本基本信息对信息系统中各服务器的网络配置信息进行建模,建立服务器的网络配置信息模型;基于已标识网络连接类别的网络连接样本,确定用来实现网络连接类型分类的分类特征,建立服务器所支撑业务的网络连接类型分类模型;所述服务器的网络配置信息模型与服务器所支撑业务的网络连接类型分类模型共同构成所述服务器正常行为模型;
步骤S1.3基于信息系统中所有客户端访问业务时所表现出来的固定网络访问模式进行建模,建立客户端业务访问模式模型。
所述步骤S1.3进一步包括以下步骤:
步骤S1.3.1提取指定客户端的每个网络连接样本中指定客户端所连接的服务器端IP地址信息,构造指定客户端的完整网络连接有向图;其中,所述完整网络连接有向图由所有表示从客户端到服务器端的对应网络连接的有向边构成,有向边的起始节点表示客户端,有向边的终止节点表示服务器;
步骤1.3.2获取每条有向边所指向的服务器,并获取该服务器所支撑业务的网络连接类型分类模型,对有向边所代表的网络连接类型进行预测,并在有向边上标识出所预测出的网络连接类型;
步骤1.3.3按照时间片划分方法对标识了网络连接类型的的完整网络连接有向图进行拆分;
步骤1.3.4对拆分得到的时间片网络连接有向图进行简化,得到指定客户端的简化后的时间片网络连接有向图;
步骤1.3.5通过对指定客户端的简化后的时间片网络连接有向图进行聚类,识别出该客户端在不同时间片表现出来的各种业务访问固定模式,建立客户端业务访问模式模型。
所述步骤S2进一步包括以下步骤:
步骤S2.1根据客户端正常行为模型对网络连接进行检测,正常则进入步骤S2.2;
步骤S2.2根据服务器正常行为模型对网络连接进行检测,正常则进入步骤S2.3;
步骤S2.3根据客户端业务访问模式模型对网络连接进行检测,正常则判断其属于正常网络连接。
所述步骤S2.3进一步包括:
步骤S2.3.1基于时间片和客户端IP地址信息检查是否存在所述客户端在所述时间片的时间片网络连接有向图;存在则进入步骤S2.3.2;
步骤S2.3.2检查所述客户端在所述时间片的时间片网络连接有向图,是否存在与该网络连接样本对应的有向边;存在则进入步骤S2.3.3;
步骤S2.3.3检查所预测出的网络连接类型是否与对应有向边上所标识的网络连接类型相符,相符则判断其属于正常网络连接。
一种异常网络连接的检测系统,其特征在于,包括
业务访问模型建立模块,用于基于信息系统网络连接样本建立信息系统业务访问模型;所述信息系统业务访问模型包括客户端正常行为模型、服务器正常行为模型和客户端业务访问模式模型;
异常网络连接识别模块,用于基于所述信息系统业务访问模型识别异常网络连接。
所述业务访问模型建立模块进一步包括:
客户端正常行为模型建立子模块,用于基于网络连接样本基本信息对信息系统中各客户端的网络配置信息进行建模,建立所述客户端正常行为模型;
服务器正常行为模型建立子模块,用于基于网络连接样本基本信息对信息系统中各服务器的网络配置信息进行建模,建立服务器的网络配置信息模型;基于已标识网络连接类别的网络连接样本,确定用来实现网络连接类型分类的分类特征,建立服务器所支撑业务的网络连接类型分类模型;所述服务器的网络配置信息模型与服务器所支撑业务的网络连接类型分类模型共同构成所述服务器正常行为模型;
客户端业务访问模式模型建立子模块,用于基于信息系统中所有客户端访问业务时所表现出来的固定网络访问模式进行建模,建立客户端业务访问模式模型。
所述客户端业务访问模式模型建立子模块具体用于:
提取指定客户端的每个网络连接样本中指定客户端所连接的服务器端IP地址信息,构造指定客户端的完整网络连接有向图;其中,所述完整网络连接有向图由所有表示从客户端到服务器端的对应网络连接的有向边构成,有向边的起始节点表示客户端,有向边的终止节点表示服务器;
获取每条有向边所指向的服务器,并获取该服务器所支撑业务的网络连接类型分类模型,对有向边所代表的网络连接类型进行预测,并在有向边上标识出所预测出的网络连接类型;
按照时间片划分方法对标识了网络连接类型的的完整网络连接有向图进行拆分;
对拆分得到的时间片网络连接有向图进行简化,得到指定客户端的简化后的时间片网络连接有向图;
通过对指定客户端的简化后的时间片网络连接有向图进行聚类,识别出该客户端在不同时间片表现出来的各种业务访问固定模式,建立客户端业务访问模式模型。
所述异常网络连接识别模块进一步包括:
客户端正常行为检测子模块,用于根据客户端正常行为模型对网络连接进行检测;
服务器正常行为检测子模块,用于根据服务器正常行为模型对网络连接进行检测;
客户端业务访问模式检测子模块,用于根据客户端业务访问模式模型对网络连接进行检测。
所述客户端业务访问模式检测子模块具体用于:
基于时间片和客户端IP地址信息检查是否存在所述客户端在所述时间片的时间片网络连接有向图;
检查所述客户端在所述时间片的时间片网络连接有向图,是否存在与该网络连接样本对应的有向边;
检查所预测出的网络连接类型是否与对应有向边上所标识的网络连接类型相符。
本发明有益效果如下:
本发明所述方法及系统充分利用了任何高级复杂攻击在攻击过程中都将表现为各种类型异常网络连接的特征以及异常检测方法的优点,使得可以不依赖于传统高级攻击检测中的网络流量攻击特征和恶意代码分析等技术,通过检测出各种异常网络连接,并以异常网络流量为突破点,通过与其它网络安全情报信息进行关联分析,从而可能检测出各种已知和未知的高级复杂攻击。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分的从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
附图仅用于示出具体实施例的目的,而并不认为是对本发明的限制,在整个附图中,相同的参考符号表示相同的部件。
图1为具体实施例中所述异常网络连接的检测方法的流程图;
图2为具体实施例中所述建立客户端业务访问模式模型的流程图;
图3为具体实施例中所述根据客户端业务访问模式模型对网络连接进行检测的流程图;
图4为具体实施例中客户端C1和C2的完整网络连接有向图;
图5为具体实施例中客户端C1的完整网络连接有向图对应的前三个时间片网络连接有向图;
图6为具体实施例中对时间片网络连接有向图进行聚类得到的客户端C1的业务访问固定模式示意图。
具体实施方式
下面结合附图来具体描述本发明的优选实施例,其中,附图构成本申请一部分,并与本发明的实施例一起用于阐释本发明的原理。
根据本发明的一个具体实施例,提供了一种异常网络连接的检测方法,主要包括以下步骤:
步骤S1、信息系统业务访问模型建模步骤,即在网络层面基于网络连接样本建立一个包括网络结构和客户端业务访问模式的信息系统业务访问模型;
步骤S2、异常网络连接检测步骤,基于所述信息系统业务访问模型识别异常网络连接。
在很多业务应用场景下,信息系统的网络结构和业务访问模式基本固定。这主要表现在:
1)从网络结构看,信息系统中的网络拓扑(包括客户端、服务器和网络连接关系)相对固定,客户端所在网络位置和软硬件配置基本固定,服务器软硬件配置和所承载的业务基本固定;
2)从业务访问模式看,信息系统中的客户端访问服务器上业务所形成的网络访问连接模式基本固定。
从异常检测角度来看,信息系统所体现出来的这种固定网络结构和固定网络访问连接模式就是信息系统的正常行为模型。在实际的网络入侵检测场景中,一旦检测出偏离这种正常行为模型的网络连接,则可能意味着是一种异常或网络攻击,通过与来自其它源的信息进行关联和深入分析,就有可能检测出各种高级的复杂网络攻击事件。
本实施例中,通过部署在信息系统中的网络流量采集设备对信息系统中的原始网络报文进行采集得到的信息系统的网络连接样本或实例。所述网络流量采集设备连接到物理的或虚拟的路由器和交换机上,配置镜像端口,实现原始网络报文的采集。并且,为了确保在为信息系统进行建模时所得到的正常行为模型的完备性,以及在进行异常网络连接检测时不存在没有捕获到的网络连接实例,信息系统中部署了一个以上的网络流量采集设备,使得整个信息系统中不存在流量盲区。网络流量采集设备将采集到的网络连接样本或实例汇集到运行了本实施例所述异常网络连接的检测方法的系统上。
一个网络连接样本或实例是指从网络连接创建阶段到终止阶段的属于该网络连接的双向的所有网络报文集合。比如,对于一个TCP类型网络连接,该网络连接样本或实例则包括了从TCP三次握手报文到TCP FIN报文的所有属于该TCP连接的双向的网络报文集合。对于UDP类型的网络连接样本或实例,则是指所有以<源IP地址、目的IP地址,源端口、目的端口,UDP协议>五元组为流标识的所有的双向报文,对于UDP类型网络连接样本或实例,由于其没有网络连接创建和结束阶段,因此,本发明方法以两个连续UDP报文之间时间间隔超过指定阈值作为UDP网络连接的起始和结束标识。网络连接样本基本信息包括源IP地址、目的IP地址,源端口、目的端口等信息。
步骤S1中所述信息系统业务访问模型包括网络结构模型和客户端业务访问模式模型,所述网络结构模型包括客户端正常行为模型、服务器正常行为模型,即所述信息系统业务访问模型包括客户端正常行为模型、服务器正常行为模型和客户端业务访问模式模型;
即步骤S1进一步包括:
步骤S1.1对信息系统内的所有客户端进行建模,基于网络连接样本基本信息对信息系统中各客户端的网络配置信息进行建模,本实施例基于网络连接样本为各客户端建模,即从网络连接样本基本信息中提取发起该网络连接的客户端的IP地址,作为所述客户端正常行为模型。
步骤S1.2对信息系统内的所有服务器建模,包括两部分:
为服务器网络配置信息建模,基于网络连接样本基本信息对信息系统中各服务器的网络配置信息进行建模,即从网络连接样本基本信息中提取服务端的IP地址作为所述服务器的网络配置信息模型;
为服务器上所承载业务建模,即为服务器所承载网络业务相关的各种网络连接类型进行建模,建立服务器所支撑业务的网络连接类型分类模型。
上述服务器的网络配置信息模型和服务器所支撑业务的网络连接类型分类模型共同构成所述服务器正常行为模型。
所述客户端正常行为模型和所述服务器正常行为模型共同构成所述网络结构模型。
在传统业务环境下,服务器所提供的某个网络业务往往可以由服务器IP和某个固定服务端口来识别,例如,服务器通过25号服务端口对外提供SMTP类型的邮件发送服务。
通过对现有业务进行分析,基于端口识别服务端所承载的网络业务存在以下特性和挑战:1)当前很多业务存在动态端口现象,即某些服务端口并不是固定长期开放的,而是根据双方协商的结果由服务器端或客户端动态临时开放的,动态端口使用之后会被关闭;2)很多服务器承载不止一种类型的业务,当这些业务都涉及到动态端口时,就无法区分某个动态端口网络连接到底属于哪种类型业务;3)很多业务还涉及到多台服务器的参与,即客户端可能需要根据业务的需要访问多台服务器,进行服务端口重载。所有这些特性和挑战都增加了服务器的正常行为建模难度。
通过对各种常见网络业务的网络连接流量进行深入分析,不管该网络连接使用的是动态端口还是静态端口,同一业务类型中的同种网络连接(比如FTP业务中的数据传输连接)在网络层面具有一定的统计特征相似性,为各种类型网络连接选择合适的分类特征和分类算法,可以依据网络连接分类特征准确识别该网络连接所属的类别,不再依赖网络端口值识别网络连接类型,有效解决现有网络业务应用中的动态服务端口和服务端口重载问题。
本实施例中,基于已标识网络连接类别的网络连接样本,采用支持向量机分类方法为服务端所承载网络业务相关的各种网络连接类型进行建模,具体步骤如下:
1)确定用来实现网络连接类型分类的分类特征,所述分类特征可以是但不限于网络报文大小统计特征、网络流时间分布统计特征和网络流内容等分布统计特征;本实施例中,优选以下网络连接类型分类特征:网络报文大小统计特征:报文平均大小、报文大小方差;网络流时间分布统计特征:平均报文时间间隔、报文间隔方差;网络流内容分布统计特征:网络载荷熵值、网络载荷文本字符比例、网络载荷控制字符比例。这些网络连接类型分类特征组成网络连接样本的一个分类特征向量,用于支持向量机分类模型训练和检测异常网络连接时预测网络连接实例的网络连接类型。当然,在实施本发明所述方法时,也可以选择其它和网络连接相关的统计特征作为网络连接分类特征。它同样也在本发明所述方法的保护范围之内。
2)从每个网络连接样本中提取指定的各个网络连接分类特征,组成一个分类特征向量,按本发明方法实施时约定的公知向量标准化方法对分类特征向量进行标准化,并标识每个网络连接样本的网络连接类型;所有标识了网络连接类型的分类特征向量集组成网络连接类型分类训练样本;
具体操作中,所述分类特征一般数量不会太大,最多10维,因此,不需要降维;但考虑到不同维度的数量值大小差别很大,需要进行标准化,即对每个维度标准化为不大于1的数值。
3)基于上述已标识网络连接类别的网络连接分类训练样本,对各网络连接类型的支持向量机分类模型进行训练,得到各网络连接类别的支持向量机分类模型;
4)确定各服务端所承载网络业务相关的网络连接类型,并为所确定的各个网络连接类型设置对应的支持向量机分类模型,从而得到所述服务器所支撑业务的网络连接类型分类模型。
除了采用支持向量机实现网络连接类型分类外,也可以采用其它合理的分类方法,例如分类树、K近邻和粗糙集等。
通过上述步骤步骤主要对信息系统内的所有客户端和服务器进行建模建立网络结构模型之后,执行步骤S1.3建立客户端业务访问模式模型,对信息系统中所有客户端访问业务时所表现出来的固定网络访问模式进行建模,具体表现为对信息系统中各客户端在特定时间片的业务访问固定模式进行建模,如图2所示,进一步包括以下步骤:
步骤S1.3.1对于指定客户端的每个网络连接样本,提取出该网络连接样本中指定客户端所连接的服务器端IP地址信息,构造表示客户端和服务器之间网络连接关系的网络连接有向图,其中,所述网络连接有向图由有向边构成,有向边的起始节点表示客户端,有向边的终止节点表示服务器,有向边则表示从客户端到服务器端的对应网络连接;有向边上标识了两个元素:时间戳、网络流标识,其中,时间戳表示该次网络通信连接的建立时间,网络流标识表示该网络连接样本的具体唯一编号;当所有与该指定客户端相关的网络连接样本处理完毕,得到指定客户端的完整网络连接有向图;
步骤S1.3.2对于指定客户端的完整网络连接有向图中的每条有向边,获取有向边所指向的服务器,并获取该服务器网络业务模型中设置的所有网络连接类型分类模型,基于这些网络连接类型分类模型对有向边所代表的网络连接类型进行预测,并在有向边上标识出所预测出的网络连接类型;对于不能识别出网络连接类型的有向边则从有向图中删除;当所有有向边的网络连接类型处理完毕,得到指定客户端的标识了网络连接类型的完整网络连接有向图;
步骤S1.3.3对于指定客户端的标识了网络连接类型的完整网络连接有向图,按照预先规划的时间片划分方法对所述的完整网络连接有向图进行拆分,得到指定客户端的时间片网络连接有向图;
在建立客户端业务访问模式模型的过程中,选择一个时间片划分方法对指定客户端的所有网络连接进行分组,从而可以提取不同时间段的客户端访问固定模式。这种按不同时间段建立的网络连接有向图称之为指定客户端的时间片网络连接有向图。本实施例中,时间片划分方法的选择是由该信息系统中员工的值班规律来决定的,可选择的时间片划分方法包括但不限于:
1)工作日和周末的时间片划分划分方法(即周一到周五为工作日,周六和周日为周末)
2)基于单天的时间片划分方法(0-24点);
3)基于半天的时间片划分方法(即白天和晚上);
4)基于8小时的时间片划分方法,比如0-7点为第一个时间片,8点到16点为第二个时间片,17点到23为第三个时间片)。
步骤S1.3.4对指定客户端的时间片网络连接有向图进行简化,删除掉有向边上的时间戳和网络流标识,只剩下网络连接类型,并将有向图中各{客户端,服务端}节点对之间具有相同网络连接类型的有向边合并为一条有向边;得到指定客户端的简化后的时间片网络连接有向图;
步骤S1.3.5对于指定客户端的简化后的时间片网络连接有向图,通过选定的聚类方法,识别出该客户端在不同时间片表现出来的各种业务访问固定模式,建立客户端业务访问模式模型。
一旦针对某个信息系统的业务访问模型建立完毕,则可以基于所述的信息系统业务访问模型进行异常流量检测,即执行步骤S2、异常网络连接检测步骤,即基于信息系统业务访问模型对网络连接进行检测,识别出所有不符合信息系统业务访问模型的异常网络连接。
在一个优选实施例中,针对某个信息系统的业务访问模型建立完毕之后,可以由网络管理人员对所述业务访问模型进行人工修改,删除不合理的特征,以避免信息系统本身已存在高级复杂攻击,导致网络连接样本有误,进而建立了存在网络复杂攻击特征的模型的问题;也可添加特征,以避免网络样本覆盖不全面所带来的问题。
具体地,对于接收到的每个网络连接实例,具体的检测异常网络连接的步骤如下:
步骤S2.1根据客户端正常行为模型对网络连接进行检测,具体地,
从网络连接实例中提取客户端IP,基于客户端IP地址检查是否存在所述IP地址对应的客户端正常行为模型;如果存在则继续执行步骤2.2,否则提示检测到一个来自未知客户端的异常网络连接,并结束执行;
步骤S2.2根据服务器正常行为模型对网络连接进行检测,具体地,
步骤S2.2.1首先从网络连接实例中提取服务端IP地址,基于服务器IP地址检查是否存在对应的网络配置信息模型;如果存在,则继续执行步骤S2.2.2;否则提示检测到一个访问未知服务器的异常网络连接,并结束执行;
步骤S2.2.2从服务器所支撑业务的网络连接类型分类模型中提取出所有的支持向量机网络连接分类模型,并从网络连接实例中提取出分类特征向量,并按照本发明实施时约定的公知向量标准化方法对分类特征向量进行标准化,然后调用所有的支持向量机网络连接类模型对网络连接实例的网络连接类型进行预测;如果预测成功,则表示该网络连接实例符合所述服务器所支撑网络业务的网络连接类型,继续执行步骤S2.3;否则提示检测出一个未知网络连接类型的异常网络连接,并结束执行;其中,预测成功是指预测出网络连接类型且为所述服务器所支撑网络业务的网络连接类型。
步骤S2.3根据客户端业务访问模式模型对网络连接进行检测,如图3所示;
步骤S2.3.1确定所述网络连接实例所属的时间片,基于时间片和客户端IP地址信息检查是否存在所述客户端在所述时间片的时间片网络连接有向图;如果存在,继续执行步骤S2.3.2;否则提示检测到一个不属于任何客户端网络连接访问固定模式的异常网络连接,并结束执行;
步骤S2.3.2检查所述客户端在所述时间片的时间片网络连接有向图,是否存在与该网络连接样本对应的有向边;如果存在,继续执行步骤S2.3.3;否则提示检测到了一个违反客户端业务访问固定模式的异常网络连接,并结束执行;
步骤S2.3.3检查该网络连接实例所预测出的网络连接类型是否与对应有向边上所标识的网络连接类型相符:如果相符,则表示该网络连接属于正常网络连接;否则提示检测到了一个符合所述客户端业务访问固定模式但网络连接类型异常的异常网络连接。
在基于客户端业务访问模式模型检测异常网络连接时,同样需要建模时所确定的时间片划分方法来检索指定客户端的时间片网络连接有向图,从而识别出各种不符合时间片网络连接有向图的异常网络连接。
本实施例中,识别异常网络连接即发现了异常网络连接后,对其进行标识和记录,等待进一步处理,如人工处理。当某个异常网络连接经人工确认是信息系统中的一个正常网络连接,则将该网络连接的信息同步到业务访问模型中去。
为了更清楚的说明本实施例所述方法,以一个信息系统实例作为信息系统业务访问模式建模和异常网络连接检测的对象。在该信息系统实例中存在3台服务器,在第一台服务器上部署了FTP服务,在第二台服务器上部署了SMTP服务器,在第三台服务器上部署了基于Web的OA系统;同时,在该信息系统中还有2台客户端,分别由2位员工操作,这些员工每天上班时以一种固定模式访问3台服务器上的业务。本发明方法选择该信息系统10天的网络流量来进行信息系统业务访问模型建模,对后续5天的网络流量进行异常网络连接检测。
附图4左图以信息系统10天的网络流量构造出了该信息系统的网络连接有向图,其中正方形节点表示客户端,圆形节点表示服务端,从正方形节点到圆形节点的一条有向边标识了从客户端到服务器端的一次网络连接,每条有向边上标识Tx为该网络连接的创建时间,FIDx为该网络连接的唯一流标识。为了保持有向图可读性,附图4左图只画出了包含前面4条网络连接有向边的网络连接有向图,其余有向边省略。
然后,我们基于已标识网络流量类型的网络连接样本训练各网络连接类型的支持向量机分类模型,并根据各服务端所支撑业务类型设置各服务端的网络业务正常行为模型。
在本实施例中,存在三种类型的网络服务:FTP、SMTP和WebOA。其中,FTP存在FTP命令连接和FTP数据连接两种网络连接类型,WebOA和SMTP则只存在一种网络连接类型。我们可以对这几种类型的网络连接样本进行类型标识,然后按照上面的网络连接分类特征提取方法提取出分类特征向量,然后对每个支持向量机网络连接分类模型进行训练,得到这四种网络连接类型的支持向量机分类模型,最后,为上述三种网络服务设置相关的网络连接类型分类模型。
然后,对有向边所指服务器正常行为模型中的支持向量机分类模型,对网络连接有向图中各有向边的网络连接类型进行预测,并在各有向边上标识出网络连接类型(FCx),得到附图4右图所示的标识了网络连接类型的完整网络连接有向图。
本实施例以1天为一个时间片,对附图4右图中的客户端完整网络连接有向图进行拆分,得到10个时间片网络连接有向图。附图5中给出了三个时间片网络连接有向图。其中,第一个时间片网络连接有向图的时间段为2016-5.12-0:0:0-2016-5.12-23:59:59,在该时间段,客户端C1与服务端S1有类型分别为FC1和FC3的网络连接类型的访问,与服务端S2有类型为FC4的网络连接访问;第二个时间片网络连接有向图的时间片为2016-5.15-0:0:0-2016-5.15-23:59:59,在该时间段,客户端C1与服务端S3有网络连接类型为FC2的网络连接访问;第三个时间片网络连接有向图的时间段为2016-5.14-4:0:0-2016-5.14-23:59:59,在该时间段,客户端C1与服务端S3有网络连接类型为FC2的网络连接访问。
然后对时间片网络连接有向图进行简化,删除掉有向边上的时间戳和网络流标识,并将同一对节点间具有相同网络流量类型(FCx)的有向边合并。
最后,对简化后的时间片网络连接有向图序列进行聚类分析,识别出该客户端在不同时间片表现出来的两种固定业务访问连接模式,如附图6所示。
在完成了信息系统业务访问行为模型建模之后,就可以依据本发明所述方法中的异常网络连接检测步骤,对剩余5天的网络连接实例进行异常网络连接检测。检测结果是,发现了3次来自未知客户端的异常网络连接,5次去往未知服务端的异常网络连接,以及10次不符合网络连接类型的异常网络连接。从事后的检测分析结果来看,本发明所述的异常网络连接检测方法可以有效发现各种异常网络连接,为深入检测各种高级复杂攻击提供了一个良好的突破口。
根据本发明的另一个具体实施例,提供了一种异常网络连接的检测系统,主要包括:
业务访问模型建立模块,用于基于信息系统网络连接样本建立信息系统业务访问模型;所述信息系统业务访问模型包括客户端正常行为模型、服务器正常行为模型和客户端业务访问模式模型;
异常网络连接识别模块,用于基于所述信息系统业务访问模型识别异常网络连接。
本实施例中,所述异常网络连接的检测系统还包括部署在信息系统中的网络流量采集设备,用于对信息系统中的原始网络报文进行采集得到信息系统的网络连接样本或实例。所述网络流量采集设备连接到物理的或虚拟的路由器和交换机上,配置镜像端口,实现原始网络报文的采集。并且,为了确保在为信息系统进行建模时所得到的正常行为模型的完备性,以及在进行异常网络连接检测时不存在没有捕获到的网络连接实例,信息系统中部署了一个以上的网络流量采集设备,使得整个信息系统中不存在流量盲区。网络流量采集设备将采集到的网络连接样本或实例汇集到所述异常网络连接的检测系统的业务访问模型建立模块和异常网络连接识别模块。网络连接样本基本信息包括源IP地址、目的IP地址,源端口、目的端口等信息。
所述业务访问模型包括网络结构模型和客户端业务访问模式模型,所述网络结构模型包括客户端正常行为模型、服务器正常行为模型,即所述信息系统业务访问模型包括客户端正常行为模型、服务器正常行为模型和客户端业务访问模式模型;
即所述业务模型建立模块进一步包括:客户端正常行为模块建立子模块,服务器正常行为模型建立子模块和客户端业务访问模式模型建立子模块。
客户端正常行为模块建立子模块,用于对信息系统内的所有客户端进行建模,基于网络连接样本基本信息对信息系统中各客户端的网络配置信息进行建模,本实施例基于网络连接样本为各客户端建模,即从网络连接样本基本信息中提取发起该网络连接的客户端的IP地址,作为所述客户端正常行为模型。
服务器正常行为模型建立子模块,用于对信息系统内的所有服务器建模,具体的,用于为服务器网络配置信息建模,基于网络连接样本基本信息对信息系统中各服务器的网络配置信息进行建模,即从网络连接样本基本信息中提取服务端的IP地址作为所述服务器的网络配置信息模型;为服务器上所承载业务建模,即为服务器所承载网络业务相关的各种网络连接类型进行建模,建立服务器所支撑业务的网络连接类型分类模型。上述服务器的网络配置信息模型和服务器所支撑业务的网络连接类型分类模型共同构成所述服务器正常行为模型。
本实施例中,所述服务器正常行为模型建立子模块基于已标识网络连接类别的网络连接样本,采用支持向量机分类方法为服务端所承载网络业务相关的各种网络连接类型进行建模,具体地:
1)确定用来实现网络连接类型分类的分类特征,所述分类特征可以是但不限于网络报文大小统计特征、网络流时间分布统计特征和网络流内容等分布统计特征;本实施例中,优选以下网络连接类型分类特征:网络报文大小统计特征:报文平均大小、报文大小方差;网络流时间分布统计特征:平均报文时间间隔、报文间隔方差;网络流内容分布统计特征:网络载荷熵值、网络载荷文本字符比例、网络载荷控制字符比例。这些网络连接类型分类特征组成网络连接样本的一个分类特征向量,用于支持向量机分类模型训练和检测异常网络连接时预测网络连接实例的网络连接类型。当然,在实施本发明所述方法时,也可以选择其它和网络连接相关的统计特征作为网络连接分类特征。它同样也在本发明所述方法的保护范围之内。
2)从每个网络连接样本中提取指定的各个网络连接分类特征,组成一个分类特征向量,按本发明方法实施时约定的公知向量标准化方法对分类特征向量进行标准化,并标识每个网络连接样本的网络连接类型;所有标识了网络连接类型的分类特征向量集组成网络连接类型分类训练样本;
具体操作中,所述分类特征一般数量不会太大,最多10维,因此,不需要降维;但考虑到不同维度的数量值大小差别很大,需要进行标准化,即对每个维度标准化为不大于1的数值。
3)基于上述已标识网络连接类别的网络连接分类训练样本,对各网络连接类型的支持向量机分类模型进行训练,得到各网络连接类别的支持向量机分类模型;
4)确定各服务端所承载网络业务相关的网络连接类型,并为所确定的各个网络连接类型设置对应的支持向量机分类模型,从而得到所述服务器所支撑业务的网络连接类型分类模型。
除了采用支持向量机实现网络连接类型分类外,也可以采用其它合理的分类方法,例如分类树、K近邻和粗糙集等。
客户端业务访问模式模型建立子模块,用于对信息系统中所有客户端访问业务时所表现出来的固定网络访问模式进行建模,具体表现为对信息系统中各客户端在特定时间片的业务访问固定模式进行建模:
对于指定客户端的每个网络连接样本,提取出该网络连接样本中指定客户端所连接的服务器端IP地址信息,构造表示客户端和服务器之间网络连接关系的网络连接有向图,其中,所述网络连接有向图由有向边构成,有向边的起始节点表示客户端,有向边的终止节点表示服务器,有向边则表示从客户端到服务器端的对应网络连接;有向边上标识了两个元素:时间戳、网络流标识,其中,时间戳表示该次网络通信连接的建立时间,网络流标识表示该网络连接样本的具体唯一编号;当所有与该指定客户端相关的网络连接样本处理完毕,得到指定客户端的完整网络连接有向图;
对于指定客户端的完整网络连接有向图中的每条有向边,获取有向边所指向的服务器,并获取该服务器网络业务模型中设置的所有网络连接类型分类模型,基于这些网络连接类型分类模型对有向边所代表的网络连接类型进行预测,并在有向边上标识出所预测出的网络连接类型;对于不能识别出网络连接类型的有向边则从有向图中删除;当所有有向边的网络连接类型处理完毕,得到指定客户端的标识了网络连接类型的完整网络连接有向图;
对于指定客户端的标识了网络连接类型的完整网络连接有向图,按照预先规划的时间片划分方法对所述的完整网络连接有向图进行拆分,得到指定客户端的时间片网络连接有向图;
在建立客户端业务访问模式模型的过程中,选择一个时间片划分方法对指定客户端的所有网络连接进行分组,从而可以提取不同时间段的客户端访问固定模式。这种按不同时间段建立的网络连接有向图称之为指定客户端的时间片网络连接有向图。本实施例中,时间片划分方法的选择是由该信息系统中员工的值班规律来决定的,可选择的时间片划分方法包括但不限于:
1)工作日和周末的时间片划分划分方法(即周一到周五为工作日,周六和周日为周末)
2)基于单天的时间片划分方法(0-24点);
3)基于半天的时间片划分方法(即白天和晚上);
4)基于8小时的时间片划分方法,比如0-7点为第一个时间片,8点到16点为第二个时间片,17点到23为第三个时间片)。
对指定客户端的时间片网络连接有向图进行简化,删除掉有向边上的时间戳和网络流标识,只剩下网络连接类型,并将有向图中各{客户端,服务端}节点对之间具有相同网络连接类型的有向边合并为一条有向边;得到指定客户端的简化后的时间片网络连接有向图;
对于指定客户端的简化后的时间片网络连接有向图,通过选定的聚类方法,识别出该客户端在不同时间片表现出来的各种业务访问固定模式,建立客户端业务访问模式模型。
一旦业务访问模型建立模块针对某个信息系统的业务访问模型建立完毕,则可以由异常网络连接识别模块基于信息系统业务访问模型对其他网络连接进行检测,识别出所有不符合信息系统业务访问模型的异常网络连接。
在一个优选实施例中,针对某个信息系统的业务访问模型建立完毕之后,可以由网络管理人员对所述业务访问模型进行人工修改,删除不合理的特征,以避免信息系统本身已存在高级复杂攻击,导致网络连接样本有误,进而建立了存在网络复杂攻击特征的模型的问题;也可添加特征,以避免网络样本覆盖不全面所带来的问题。
所述异常网络连接识别模块包括客户端正常行为检测子模块,服务器正常行为检测子模块和客户端业务访问模式检测子模块。
客户端正常行为检测子模块用于根据客户端正常行为模型对网络连接进行检测,从网络连接实例中提取客户端IP,基于IP地址检查是否存在所述IP地址对应的客户端正常行为模型;如果存在则转由服务器正常行为检测子模块进行进一步检测,否则提示检测到一个来自未知客户端的异常网络连接;
服务器正常行为检测子模块用于根据服务器正常行为模型对网络连接进行检测,具体地,首先从网络连接实例中提取服务端IP地址,基于服务端IP地址检查是否存在对应的网络配置信息模型;如果存在,则继续检测该网络连接实例符合所述服务器所支撑网络业务的网络连接类型;否则提示检测到一个访问未知服务器的异常网络连接;
从服务器所支撑业务的网络连接类型分类模型中提取出所有的支持向量机网络连接分类模型,并从网络连接实例中提取出分类特征向量,并按照本发明实施时约定的公知向量标准化方法对分类特征向量进行标准化,然后调用所有的支持向量机网络连接类模型对网络连接实例的网络连接类型进行预测;如果预测成功,则表示该网络连接实例符合所述服务器所支撑网络业务的网络连接类型,则转由客户端业务访问模式检测子模块进行进一步检测;否则提示检测出一个未知网络连接类型的异常网络连接,并结束执行;其中,预测成功是指预测出网络连接类型且为所述服务器所支撑网络业务的网络连接类型。
客户端业务访问模式检测子模块,用于根据客户端业务访问模式模型对网络连接进行检测;具体地,
确定所述网络连接实例所属的时间片,基于时间片和客户端IP地址信息检查是否存在所述客户端在所述时间片的时间片网络连接有向图;如果存在,继续检测;否则表示检测到一个不属于任何客户端网络连接访问固定模式的异常网络连接,并结束执行;
检查所述客户端在所述时间片的时间片网络连接有向图,是否存在与该网络连接样本对应的有向边;如果存在,继续检测;否则提示检测到了一个违反客户端业务访问固定模式的异常网络连接,并结束执行;
检查该网络连接实例所预测出的网络连接类型是否与对应有向边上所标识的网络连接类型相符:如果相符,则表示该网络连接属于正常网络连接;否则提示检测到了一个符合所述客户端业务访问固定模式但网络连接类型异常的异常网络连接。
在基于客户端业务访问模式模型检测异常网络连接时,同样需要建模时所确定的时间片划分方法来检索指定客户端的时间片网络连接有向图,从而识别出各种不符合时间片网络连接有向图的异常网络连接。
本实施例中,异常网络连接识别模块发现了异常网络连接后,对其进行标识和记录,等待进一步处理,如等待人工处理模块进行人工确认。当某个异常网络连接经人工确认是信息系统中的一个正常网络连接,则将该网络连接的信息同步到业务访问模型中去。
综上所述,本发明实施例提供了一种异常网络连接的检测方法及系统,充分利用了任何高级复杂攻击在攻击过程中都将表现为各种类型异常网络连接的特征以及异常检测方法的优点,可以不依赖于传统高级攻击检测中的网络流量攻击特征和恶意代码分析等技术,通过检测出各种异常网络连接,并以异常网络连接为突破点,通过与其它网络安全情报信息进行关联分析,从而可能检测出各种已知和未知的高级复杂攻击。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如磁盘、光盘、只读存储记忆体或随机存储记忆体等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。