首页> 中国专利> 一种基于流量分析的被动式异常端口实时检测方法及系统

一种基于流量分析的被动式异常端口实时检测方法及系统

摘要

本发明公开了一种基于流量分析的被动式异常端口实时检测方法及系统,包括:步骤1:实时采集网络出口的流量数据,并提取流量数据中的特征分析字段后生成日志数据;步骤2:按照预设分配函数将日志数据转换为消息对象并分发到特定日志缓存队列进行缓存;步骤3:从特定日志缓存队列提取消息对象,并将提取的消息对象转化为日志数据后获取步骤1所提取的特征分析字段;步骤4:调用预设的异常端口分析模型并根据步骤3获取的特征分析字段监测流量数据中对应的端口是否异常,本发明通过上述方法和系统通过分析流量数据实现了异常端口监测,提高系统的网络安全性。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-09-06

    授权

    授权

  • 2018-01-05

    实质审查的生效 IPC(主分类):H04L29/06 申请日:20170912

    实质审查的生效

  • 2017-12-12

    公开

    公开

说明书

技术领域

本发明涉及网络安全技术领域,尤其涉及一种基于流量分析的被动式异常端口实时检测方法及系统。

背景技术

由于黑客可通过后门端口和高危端口发起网络攻击,进而窃取篡改数据或实施破坏行为,严重威胁关键信息基础设施安全。如2017年5月发生的勒索者病毒就是通过信息系统开放的445高危端口发起攻击的,造成全球100多个国家信息系统数据遭到破坏。其中网络未备案端口、高危端口等异常网络端口问题具有检测难度大、威胁程度高的特点,已成为信息安全顽疾,因此发现和监测异常端口十分重要。

网络出口的流量数据中记录了信息系统的访问行为,包括访问的源地址、目的地址、源端口、目的端口及访问时间等。因此要掌握信息系统端口开放情况,及时发现异常端口,实时分析网络流量数据非常必要,对于规模庞大的企业或者数据中心,出口流量数据高达1000M/S,异常端口检测方法必须要支持海量的流量数据实时在线检测。因此,为了解决异常端口监测的问题,实有必要提供一种基于流量分析来监测端口的方法,同时还应支持海量的流量数据的分析。

发明内容

为了实现网络端口的安全检测,提高网络安全性,本发明提供一种基于流量分析的被动式异常端口实时检测方法及系统,可以通过检测流量数据来发现和监测异常端口,提高系统网络安全性,同时还能满足海量的流量数据的实时分析的功能。

本发明提供的一种基于流量分析的被动式异常端口实时检测方法,包括:

步骤1:实时采集网络出口的流量数据,并提取所述流量数据中的特征分析字段后生成至少包括一个流量包的特征分析字段的日志消息;

其中,所述特征分析字段包括:时间、源IP地址、目的IP地址、源端口、协议、返回状态码、应用层是否为http协议、TCP协议的syn值以及TCP协议的ack值;

根据一个流量包中流量数据的特征分析字段生成一个日志单元,将至少一个日志单元打包为一个所述日志消息;

步骤2:按照预设分配函数将日志数据转换为消息对象并分发到特定的日志缓存队列进行缓存;

步骤3:从所述特定的日志缓存队列提取消息对象,并将提取的消息对象转化为日志单元以获取所提取的单个流量包中的特征分析字段;

步骤4:调用预设的异常端口分析模型并根据步骤3获取的特征分析字段监测所述日志单元中对应的端口是否异常;

其中,所述异常端口分析模型是基于备案数据表、高危端口数据表以所述特征分析字段为判定依据构建的。

优选地,构建步骤4中的所述异常端口分析模型的过程包括如下步骤:

步骤21,获取备案数据表和高危端口数据表;

其中,所述备案数据表包括序号、备案IP地址、备案端口;所述高危端口数据表包括序号、端口号;

步骤22,判断源IP地址是否是企业内部地址、以及判断TCP协议的syn值和TCP协议的ack值是否均为1,若均是,执行步骤23和步骤24;

步骤23:判断源端口是否在所述高危端口数据表中,若在,则将所述源端口标记为高危端口;

步骤24:判断源IP地址是否是服务器地址,若是,执行步骤25,若不是,执行步骤27;

步骤25:判断源IP地址是否在备案数据表中的备案IP地址中,若在,执行步骤26,若不在,标记所述源IP地址为未备案IP;

步骤26:判断源端口是否在备案数据表中的备案端口中,若不在,标记所述源端口为未备案端口;

步骤27:判断应用层是否为http协议,若是,标记所述源IP地址为未备案IP。

融合信息系统的备案数据和网络流量数据,构建异常端口分析模型,实现网络未备案端口、高危端口等异常端口的实时检测。

优选地,步骤2将日志消息转换为消息对象并分发到特定的日志缓存队列进行缓存的过程如下:

首先,从TCP数据通信链路接收步骤1中的日志消息,并将所述日志消息转化为特定格式的消息对象;

所述特定格式为:<key,value>;

key为以系统时间字符串,value为网络行为日志消息;

其次,根据预设分配函数将所述消息对象分发至第i个日志缓存队列;

其中,分配函数的公式如下:

i=|H(key)|%n;

其中,H(key)为消息头字符串的哈希值,n为日志缓存队列的数量。

优选地,步骤3中从所述特定的日志缓存队列提取消息对象,并将提取的消息对象转化为日志单元以获取所提取的单个流量包中的特征分析字段的过程如下:

首先,第i个数据提取线程提取第i个日志缓存队列上的消息对象;

其次,将提取的消息对象转换为日志单元以获取单个流量包的流量数据的特征分析字段。

另一方面,本发明还提供了一种基于流量分析的被动式异常端口实时检测系统,包括:

流量数据采集探针、日志缓存集群和数据检测集群;

其中,所述流量数据采集探针和所述数据检测集群分别与所述日志缓存集群通讯;

所述流量数据采集探针用于实时采集网络出口的流量数据,并提取所述流量数据中的特征分析字段后生成至少包括一个流量包的特征分析字段的日志消息;

其中,所述特征分析字段包括:时间、源IP地址、目的IP地址、源端口、协议、返回状态码、应用层是否为http协议、TCP协议的syn值、TCP协议的ack值;

所述流量数据采集探针根据一个流量包中流量数据的特征分析字段生成一个日志单元,以及将至少一个日志单元打包为一个所述日志消息;

所述日志缓存集群包括至少两个日志数据缓存模块,所述日志数据缓存模块由日志分发线程和至少一个日志缓冲队列组成;

所述日志分发线程用于按照预设分配函数将日志消息转换为消息对象并分发到特定日志缓存队列进行缓存;

所述数据检测集群包括至少两个数据检测模块,所述数据检测模块包括:数据生产模块和数据处理模块;

所述数据生产模块用于从所述特定日志缓存队列提取消息对象,并将提取的消息对象转化为日志单元以获取所提取的单个流量包中的特征分析字段;

所述数据处理模块预存有异常端口分析模型,用于调用所述异常端口分析模型并根据所述数据生产模块获取的特征分析字段监测所述日志单元中对应的端口是否异常;

其中,所述异常端口分析模型是基于备案数据表、高危端口数据表以所述特征分析字段为判定依据构建的。

日志缓存集群和数据检测集群采用集群式处理架构,当一个节点出现故障或性能出现瓶颈时,能够动态调配负载,保障海量网络日志数据传输的可靠性。

优选地,所述流量数据采集探针包括流量数据采集模块、网络行为日志提取模块和socket通信模块,

其中,所述流量数据采集模块用于实时采集网络出口的流量数据;

所述网络行为日志提取模块用于提取单个流量包的流量数据中的特征分析字段并生成日志单元,以及还用于将至少一个日志单元打包为一个日志消息;

所述socket通信模块用于将所述日志消息发送给所述日志缓存集群。

将多个日志单元打包成日志消息可以提高数据传输速率,同时提高系统运行的流畅性。

优选地,所述日志分发线程用于从TCP数据通信链路接收日志消息,并将所述日志消息转化为特定格式的消息对象;

其中,所述特定格式为:<key,value>;

key为以系统时间字符串,value为网络行为日志消息;

所述日志分发线程,还用于根据预设分配函数将所述消息对象分发至第i个日志缓存队列;

其中,分配函数的公式如下:

i=|H(key)|%n;

其中,H(key)为消息头字符串的哈希值,n为日志缓存队列的数量。

优选地,所述数据生产模块包括至少一个处理单元和数据缓冲队列;

其中,所述处理单元由至少一个数据提取线程和主管线程组成,所述处理单元用于提取日志数据缓存模块中的日志单元;

所述主管线程用于根据日志缓存队列的数量,创建所述数据提取线程;

所述数据提取线程用于提取日志缓存队列中的消息对象;

其中,第i个数据提取线程提取第i个日志缓存队列上的消息对象;

所述数据缓冲队列用于缓冲所述处理单元提取的日志单元。

结合前述的缓冲机制,实现了双重缓冲机制,能够满足海量数据的实时检测功能。

优选地,所述数据处理模块还包括数据存储线程,所述数据存储线程用于将日志单元更新至数据库。

优选地,所述日志缓存队列的一个元素为一个消息对象,所述日志缓存队列的长度根据消息对象的规模进行设定;

所述数据缓冲队列的一个元素为一个日志单元,所述数据缓冲队列的长度根据日志单元的规模进行设定。

有益效果:

本发明提供了一种基于流量分析的被动式异常端口实时检测方法及系统,通过实时获取流量数据,再提取流量数据中的特征分析字段而生成日志消息,依据分配函数进入缓存机制中进行缓存,而后根据预设的异常端口分析模型得出流量数据中对应的端口是否异常的检测结果,实现了基于流量分析的异常端口的实时检测,其中的异常端口分析模型是利用系统备案数据和网络流量数据推导而来,本方案基于异常端口分析模型进行异常端口的检测是充分利用了流量数据的数据特征,提高了异常端口监测的可靠性;此外,通过本方案还实现了实时监测的功能,可以更加及时发现异常端口,防止因不能及时发现异常端口而造成极大损失的情况发生,利用缓冲功能满足对海量流量数据的实时分析出来。

此外,本发明在数据处理方法上,采用多级缓冲机制,整个数据处理流程有缓冲和检测,缓存模块中采用基于分配函数的多级缓冲机制来提高数据处理的实时性。

再有,本发明提供实时监测系统,采用集群式处理架构,当一个节点出现故障或性能出现瓶颈时,能够动态调配负载,保障海量网络日志数据传输的可靠性。

附图说明

图1是本发明实施例提供的一种基于流量分析的被动式异常端口实时检测系统的示意框图;

图2是本发明实施例提供的图1中的流量数据采集探针的示意框图;

图3是本发明实施例提供的图1中的日志数据缓存模块的示意框图;

图4是本发明实施例提供的图1中的数据检测模块的示意框图;

图5是本发明实施例提供的构建异常端口分析模型的示意流程图;

图6是本发明实施例提供的一种基于流量分析的被动式异常端口实时检测方法的示意流程图。

具体实施方式

下述将结合具体实施方式对本发明进一步说明。

本发明实施例提供一种基于流量分析的被动式异常端口实时检测方法,所述方法是基于集群式架构的系统进行,所述方法通过融合信息系统备案数据和网络流量数据,构建异常端口分析模型,实现网络未备案端口、高危端口等异常端口的实时检测。

如图1所示,本实施例中基于流量分析的被动式异常端口实时检测系统包括流量数据采集探针1、日志缓存集群2和数据检测集群3,其中,日志缓存集群2由k个日志数据缓存模块4组成,k>1,数据检测集群3由r个数据检测模块5组成,r>1。日志数据缓存模块4通过以太网与流量数据采集探针1、数据检测集群3通讯连接。

其中,流量数据采集探针1用于实时采集网络出口的流量数据,并提取流量数据中的特征分析字段后生成至少包括一个流量包的特征分析字段的日志消息。具体的,流量数据采集探针根据一个流量包中流量数据的特征分析字段生成一个日志单元,以及将至少一个日志单元打包为一个所述日志消息;

日志数据缓存模块4用于缓存日志消息;

数据检测模块5用于获取日志消息中单个流量包对应的日志单元并调用异常端口分析模型对日志单元进行分析实现实时监测流量数据中对应端口是否存在异常。

如图2所示,流量数据采集探针1包括流量数据采集模块11、网络行为日志提取模块12和socket通信模块13。

其中,特征分析字段包括:时间(asctime)、源IP地址(src_ip)、目的IP地址(dst_ip)、源端口(src_port)、协议(protocal)、返回状态码(protocol_num)、应用层是否为http协议(http_protocal)、TCP协议(Transmission Control Protocol,传输控制协议)的syn值(Synchronize,同步字符)、TCP协议的ack值(Acknowledgement,确认字符),其中syn值为TCP/IP建立连接时使用的握手信号;

本实施例中,日志单元和日志消息两类均是用于表示网络行为,日志单元是根据一个流量包的流量数据中特征分析字段转换而来的日志数据,日志消息是将s个日志单元打包后的日志数据,(s≥1)。

具体的,流量数据采集模块11用于实时采集网络出口的流量数据,本实施例中优选流量数据采集模块11采用一种开源的网络入侵检测软件,即snort软件来实时捕获网络出口流量镜像数据包。

网络行为日志提取模块12用于提取流量数据中的特征分析字段并生成日志单元,一个流量包对应一个日志单元,本实施例中流量包为流量镜像数据包;网络行为日志提取模块12还用于将s个日志单元打包为一个日志消息;

socket通信模块13用于将日志消息发送给所述日志缓存集群2。

如图3所示,日志数据缓存模块4由日志分发线程41和n个日志缓冲队列42组成,n≥1;日志分发线程41用于从TCP数据通信链路接收日志消息,并将日志消息转化为特定格式的消息对象;特定格式为:<key,value>,其中,key为以系统时间字符串,value为网络行为日志消息;日志分发线程41,还用于根据预设分配函数将所述消息对象分发至第i个日志缓存队列;其中,分配函数的公式如下:

i=|H(key)|%n;

其中,H(key)为消息头字符串的哈希值,n为日志缓存队列的数量。日志缓存队列的一个元素为一个消息对象,日志缓存队列的长度根据消息对象的规模进行设定;日志缓存队列长度要大于消息对象的数量。

如图4所示,本实施例中,数据检测模块5由数据生产模块51、j个数据处理模块52组成,j≥1。其中,数据生产模块51获取日志数据缓存模块4的日志缓存队列中的消息对象,并提取消息对象中的日志单元。

具体的,数据生产模块51包括m个处理单元53和数据缓冲队列54,m≥1;处理单元53由n个数据提取线程55和主管线程56组成,n≥1,数据提取线程55与日志数据缓存模块4的日志缓冲队列42为一一对应关系,即第i个数据提取线程55只能提取第i个日志缓冲队列42中的消息对象,数据提取线程55用于提取日志缓存队列中的消息对象;主管线程56用于根据日志缓存队列的数量,创建所述数据提取线程55,本实施例中优选在系统启动时创建数据提取线程55。数据缓冲队列54用于缓冲所述处理单元53提取的日志单元,数据缓冲队列54的一个元素为一个日志单元,数据缓冲队列54的长度根据网络行日志单元的规模进行配置。

数据处理模块52包括异常端口分析模型57和数据存储线程58,异常端口分析模型57检测日志单元中是否存在异常端口,数据存储线程58将日志单元更新至数据库中。异常端口分析模型57是基于备案数据表、高危端口数据表以所述特征分析字段为判定依据构建的。

通过融合信息系统备案数据和网络流量数据,构建异常端口分析模型57,请看图5,建异常端口分析模块的过程包括如下步骤:

步骤21,获取备案数据表和高危端口数据表;

其中,备案数据表包括序号、备案IP地址、备案端口;高危端口数据表包括序号、端口号;

步骤22,判断源IP地址(src_ip)是否是企业内部地址、以及判断TCP协议的syn值和TCP协议的ack值是否均为1,若均是,执行步骤23和步骤24;若存在不满足的,不进行处理;

步骤23:判断源端口(src_port)是否在高危端口数据表中,若在,则将源端口标记为高危端口;

步骤24:判断源IP地址(src_ip)是否是服务器地址,若是,执行步骤25,若不是,执行步骤27;

步骤25:判断源IP地址(src_ip)是否在备案数据表中备案IP地址中,若在,执行步骤26,若不在,标记该src_ip地址为未备案IP,并将日志单元更新至数据库;

其中,源IP地址(src_ip)在备案数据表中备案IP地址中,则表示允许提供网络服务。

步骤26:判断源端口(src_port)是否在备案数据表中的备案端口中,若不在,标记该源端口为未备案端口,并将日志单元更新至数据库;

其中,源端口(src_port)在备案数据表,则表示允许提供网络服务。

步骤27:判断http_protocal是否为1,即判断应用层是否为http协议,若是,标记所述源IP地址为未备案IP,并将日志单元更新至数据库。

将流量包对应的日志单元输入异常端口分析模型,经过分析日志单元中的特征分析字段,得出异常端口的信息,其中上述未备案IP、未备案端口和高危端口都属于异常端口的信息。

基于上述内容,如图6所示,本实施例中还提供了一种基于流量分析的被动式异常端口实时检测方法,包括步骤:

步骤1:实时采集网络出口的流量数据,并提取所述流量数据中的特征分析字段后生成日志单元,并将s个日志单元打包生成日志消息;

根据一个流量包中流量数据的特征分析字段生成一个日志单元,以及将至少一个日志单元打包为一个所述日志消息;步骤2:按照预设分配函数将日志消息转换为消息对象并分发到特定的日志缓存队列进行缓存。

具体的,首先,从TCP数据通信链路接收步骤1中的日志消息,并将所述日志消息转化为特定格式的消息对象,特定格式为:<key,value>,key为以系统时间字符串,value为网络行为日志消息;

其次,根据分配函数将所述消息对象分发至第i个日志缓存队列。

步骤3:从特定的日志缓存队列提取消息对象,并将提取的消息对象转化为日志单元以获取所提取单个流量包的特征分析字段;

具体的,首先,第i个数据提取线程提取第i个日志缓存队列上的消息对象;

其次,将提取的消息对象转换为日志数据中的日志单元以获取流量包的流量数据的特征分析字段。

其中,将消息对象转化为日志单元为逆转换过程,采用了常规的手段进行转换。

步骤4:调用预设的异常端口分析模型并根据步骤3获取的日志单元中特征分析字段监测所述日志单元中是否存在异常端口。

综上所述可知,由于网络出口的流量数据中记录了信息系统的访问行为,包括访问的源地址、目的地址、源端口及访问时间等,故要掌握信息系统端口开放情况,及时发现异常端口,实时分析网络流量数据非常必要,而本发明通过上述方法和系统,恰好是充分利用了网络出口的流量数据进行异常端口监测,更加及时地发现异常端口,提高系统的网络安全性。

以上所述仅为本发明的较佳实施例,对本发明而言仅仅是说明性的,而非限制性的。本专业技术人员理解,在本发明权利要求所限定的范围内可对其进行许多修改,但都将落入本发明的保护范围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号