欢迎光临小豌豆知识网!
当前位置:首页 > 电学技术 > 电通讯技术> 网络入侵检测方法和装置独创技术26696字

网络入侵检测方法和装置

2021-04-08 11:22:44

网络入侵检测方法和装置

  技术领域

  本发明涉及网络安全技术领域,更具体地,涉及一种网络入侵检测方法和装置。

  背景技术

  随着工业信息化的发展,工控网络的安全性逐渐成为人们关注的问题,为了应对工控网络被攻击的事件,需要对网络流量数据进行实时监测,以确定工控网络的运行状态。

  为了监控工控网络中的网络流量数据,需要对数据包的主要特征进行提取、判断数据包是否应该发送到/来自正确的设备,因此需要对工控网络内的设备进行识别。目前往往借助IP(网络之间互连的协议)、MAC(物理地址)、端口号等特征用于设备识别,根据这些特征判断数据包的合法性。

  然而这些特征很容易被网络攻击者所伪造,因此识别网络攻击的准确率较低,安全性不高。

  发明内容

  本发明实施例提供一种克服上述问题或者至少部分地解决上述问题的网络入侵检测方法、装置、电子设备和可读存储介质。

  第一方面,本发明实施例提供一种网络入侵检测方法包括:获取待检测的数据包,所述待检测的数据包包括设备标识;基于所述设备标识,获取预存的设备参考信息,所述设备参考信息包括所述设备标识、预设参考周期和参考动态标识;基于数据包组,确定待检测动态标识,所述数据包组包括所述待检测的数据包,且所述数据包组中的每个数据包均包括所述设备标识;基于所述待检测动态标识和所述参考动态标识,确定所述待检测的数据包是否与所述设备标识对应的设备同源。

  在一些实施例中,所述基于数据包组,确定待检测动态标识,包括:提取所述数据包组的待检测负载向量和待检测响应时间向量,所述待检测负载向量用于表征所述数据包组的方向和负载长度,所述待检测响应时间向量用于表征设备响应时间以及服务器处理时间;基于所述待检测负载向量和所述待检测响应时间向量,确定待检测设备向量;基于所述待检测设备向量,确定所述待检测动态标识。

  在一些实施例中,所述基于所述待检测设备向量,确定所述待检测动态标识,包括:基于所述待检测设备向量,确定待检测响应时间统计特征,所述待检测响应时间统计特征用于表征预存的设备响应时间以及服务器处理时间;基于所述待检测设备向量和所述待检测响应时间统计特征,确定所述待检测动态标识。

  在一些实施例中,所述预存的设备参考信息的确定方法包括:获取参考数据包,所述参考数据包包括所述设备标识;提取所述参考数据包的参考负载向量和参考响应时间向量;基于所述参考负载向量和所述参考响应时间向量,确定参考设备向量;基于所述参考设备向量,确定所述设备参考信息。

  在一些实施例中,所述基于所述参考设备向量,确定所述设备参考信息,包括:以同源程度特征的最大值为目标,确定预设参考周期;基于所述预设参考周期,确定所述参考动态标识。

  在一些实施例中,所述以同源程度特征的最大值为目标,确定预设参考周期,包括:获取备选参考周期;遍历所有的备选参考周期,将所述同源程度特征的最大值对应的所述备选参考周期作为预设参考周期。

  在一些实施例中,所述基于所述待检测动态标识和所述参考动态标识,确定所述待检测的数据包是否与所述设备标识对应的设备同源,包括:确定所述待检测动态标识和所述参考动态标识的待检测距离;获取预设参考距离;当所述待检测距离小于所述预设参考距离时,所述待检测的数据包和所述设备标识对应的设备同源。

  第二方面,本发明实施例提供一种网络入侵检测装置,所述网络入侵检测装置包括:第一学习单元,用于获取待检测的数据包,所述待检测的数据包包括设备标识;第二学习单元,用于基于所述设备标识,获取预存的设备参考信息,所述设备参考信息包括所述设备标识、预设参考周期、参考动态标识;第一检测单元,用于基于数据包组,确定待检测动态标识,所述数据包组包括所述待检测的数据包,且所述数据包组中的每个数据包包括所述设备标识;第二检测单元,用于基于所述待检测动态标识和所述参考动态标识,确定所述待检测的数据包是否与所述设备标识对应的设备同源。

  第三方面,本发明实施例提供一种电子设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所提供的网络入侵检测方法的步骤。

  第四方面,本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面所提供的网络入侵检测方法的步骤。

  本发明实施例提供的网络入侵检测方法,通过从设备实时通信形成的数据包组中动态分割出待检测动态标识,与从历史正常通信记录中分割出的参考动态标识进行比对,确定待检测数据包是否与设备同源,能够提高识别网络攻击的准确率,提高网络系统的安全性能。

  附图说明

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

  图1为本发明实施例提供的网络入侵检测方法的流程图;

  图2为本发明实施例提供的网络入侵检测方法中确定设备参考信息的流程图;

  图3为本发明实施例提供的网络入侵检测方法中确定参考响应时间的原理图;

  图4为本发明实施例提供的以预设参考周期切片处理的原理图;

  图5为本发明实施例提供的网络入侵检测方法中确定预设参考周期的流程图;

  图6为本发明实施例提供的以不同预设参考周期进行实验的曲线图;

  图7为本发明实施例提供的网络入侵检测方法中确定待检测动态标识的流程图;

  图8为本发明实施例提供的网络入侵检测方法中判断待检测的数据包与设备是否同源的流程图;

  图9为本发明实施例提供的基于欧氏距离判断待检测的数据包与设备是否同源的流程图;

  图10为本发明实施例提供的网络入侵检测装置的结构示意图;

  图11为本发明实施例提供的电子设备的结构示意图。

  具体实施方式

  为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

  下面结合图1-图9描述本发明实施例提供的网络入侵检测方法。

  如图1所示,本发明实施例提供的网络入侵检测方法包括如下步骤S100-S400。

  步骤S100、获取待检测的数据包,待检测的数据包包括设备标识。

  可以理解的是,待检测的数据包为工控网络中服务器与设备进行通信交互的控制信号数据,在工控网络的实际运行过程中,可能会出现不法分子进行网络攻击,其主要手段就是伪造成与待检测的数据包类似的数据包,此处针对通信交互的控制信号数据进行检测来排查网络攻击行为,获取待检测的数据包,待检测的数据包包括所对应通信交互的设备标识,比如,这种设备标识可以是某个设备的IP或MAC。

  步骤S200、基于设备标识,获取预存的设备参考信息,设备参考信息包括设备标识、预设参考周期和参考动态标识。

  可以理解的是,对于工控网络中的设备,其在历史运行的过程中,形成了正常通信的历史记录,预存了正常通信状态下形成的设备参考信息,这种设备参考信息包括设备标识、预设参考周期K0和参考动态标识MSF0,其中,参考动态标识MSF0是以预设参考周期K0为单位提取相关参数得到的,值得一提的是,相关参数可以是参考负载向量和参考响应时间向量,本发明实施例不做具体限制,参考负载向量和参考响应时间向量在后文中进一步解释。步骤S300、基于数据包组,确定待检测动态标识,数据包组包括待检测的数据包,且数据包组中的每个数据包均包括设备标识。

  可以理解的是,数据包组为工控网络中某个设备持续通信形成的以时间为序列的数据片段,按照一定的周期,可以将数据包组分割为多个数据包,每个数据包都包含有这个设备的设备标识,待检测的数据包为数据包组中的某个子单元。

  步骤S400、基于待检测动态标识和参考动态标识,确定待检测的数据包是否与设备标识对应的设备同源。

  可以理解的是,将步骤S300中得到的待检测动态标识与步骤S200中得到的参考动态标识进行比对,根据比对结果来确定待检测的数据包是否与设备标识对应的设备同源,如果确定同源,则认为没有伪造数据的情况,排除受到攻击的情况。

  本发明实施例提供的网络入侵检测方法,通过从设备实时通信形成的数据包组中动态分割出待检测动态标识,与从历史正常通信记录中分割出的参考动态标识进行比对,确定待检测数据包是否与设备同源,能够提高识别网络攻击的准确率,提高网络系统的安全性能。

  如图2所示,在一些实施例中,上述步骤S200中的预存的设备参考信息的确定方法包括如下步骤S210-S240。

  步骤S210、获取参考数据包,参考数据包包括设备标识。

  需要说明的是,参考数据包为某一设备在正常通信的历史记录中提取到的控制信号数据,参考数据包具有这个设备对应的设备标识。

  步骤S220、提取参考数据包的参考负载向量和参考响应时间向量。

  需要说明的是,提取参考数据包的参考负载向量P0,参考负载向量P0包含有参考数据包的方向和负载长度,参考负载向量P0基于以下公式确定:

  P0=[P1,P2,P3,……Pm];

  上式中的每个元素基于以下公式确定:

  Pi={di·Li}i∈[1,m];

  其中,m为数据采集轮询周期,用于标识并区分不同设备的采集周期;i为一个轮询周期内数据包的序数;di为一个轮询周期内第i个数据包的方向,规定数据包从数据采集服务器发送到设备时di=+1,反之di=-1;Li为一个轮询周期内第i个数据包的TCP负载长度。

  提取参考数据包的参考响应时间向量ΔT0,参考响应时间向量ΔT0包含有设备响应时间和服务器处理时间,如图3所示,展现了设备响应时间和服务器处理时间的原理图,t2-t1为设备响应时间,t3-t2为服务器处理时间。参考响应时间向量ΔT0基于以下公式确定:

  ΔT0=[Δt1,Δt2,…Δtm];

  上式中的每个元素基于以下公式确定:

  

  其中,ti是核心交换机处抓取每个数据包的时间。

  步骤S230、基于参考负载向量和参考响应时间向量,确定参考设备向量。

  可以理解的是,为了兼顾轮询周期和响应时间两个类特征,基于参考负载向量P0和参考响应时间向量ΔT0,采用如下公式得到参考设备向量Mn:

  Mn=[Pn1,Δtn1,Pn2,Δtn2,…Pnm,Δtnm],n∈[1,N];

  其中,n表示采集周期的序数,即表示从每个采集周期里提取出的参考设备向量的序数,N表示现有的采集周期的数量,即每台设备的参考设备向量的个数。

  步骤S240、基于参考设备向量,确定设备参考信息。

  可以理解的是,设备参考信息包括参考动态标识MSF0,为了使参考动态标识MSF0反映出设备多个轮询周期的共性,如图4所示,提出了周期切片的方法,预设参考周期K0,将同一台机床的N个采集周期进行切片处理。以预设参考周期K0为单位,按以下公式计算设备参考动态标识MSF0:

  

  

  

  在参考动态标识MSF0确定后,就能够确定设备参考信息。

  通过以参考负载向量和参考响应时间向量得到参考设备向量,进而计算出参考动态标识MSF0,能够进一步提高识别网络攻击的准确率,从而使得网络系统的安全性能更高。

  如图5所示,在一些实施例中,基于参考设备向量,确定设备参考信息,包括:以同源程度特征的最大值为目标,确定预设参考周期;基于预设参考周期,确定参考动态标识。

  以同源程度特征的最大值为目标,确定预设参考周期,包括:获取备选参考周期;遍历所有的备选参考周期,将同源程度特征的最大值对应的备选参考周期作为预设参考周期。

  可以理解的是,获取备选参考周期k,计算出(N-(k-1))个MSF,利用设备标识为标签,对该备选参考周期k下的MSF进行分类实验,并计算出同源程度特征R,同源程度特征R表示该备选参考周期k对应的MSF的准确率。k的取值范围是[1,N],所以改变k,分别进行分类实验,共可得到N个同源程度特征R,取同源程度特征的最大值,即R=Rmax时的备选参考周期为K0,当k=K0时,计算(N-(K0-1))个MSF与均值MSF0的最大欧氏距离D0,D0表示备选参考周期k=K0时,(N-(K0-1))个MSF相对于MSF0的最大欧氏距离;k表示备选参考周期,取值范围[1,N];N表示已获取到的某台设备的数据采集周期数量;MSF0表示k=K0时,(N-(K0-1))个MSF的均值。

  值得一提的是,Rmax为不同备选参考周期k情况下最高的分类准确率。为说明分类效果的有效性与分类算法无关,分别采用了高斯-朴素贝叶斯分类、K-近邻分类、支持向量机三种基本分类算法。

  如图6所示,采用本发明实施例提供的网络入侵检测方法,对15台两种品牌6种型号的机床分别提取参考动态标识,依次取周期切片为k=1,2,5,10,20,50,80,100,150,200,250,300。采用高斯朴素贝叶斯、k近邻算法、支持向量机算法进行分类实验。结果表明,随着周期切片厚度的增加,分类准确率逐渐增加,当k=100时,准确率至少达到0.95以上,当k=300时,准确率接近1。从实验结果来看,虽然准确率可以达到1,但是周期切片厚度过大,需要同时提取的周期过多,对内存需求比较大,因此在准确率达到应用要求情况下,尽量减少周期切片厚度。

  本发明实施例通过遍历所有的备选参考周期,将同源程度特征最大值对应的备选参考周期作为预设参考周期,能够使得最终确定的参考动态标识更加准确,从而能够进一步提高识别网络攻击的准确率,使得网络系统的安全性能更高。

  如图7所示,在一些实施例中,步骤S300:基于数据包组,确定待检测动态标识,包括:

  步骤S310、提取数据包组的待检测负载向量和待检测响应时间向量,待检测负载向量用于表征数据包组的方向和负载长度,待检测响应时间向量用于表征设备响应时间以及服务器处理时间。

  可以理解的是,此处的数据包组与参考数据包相对应,与参考数据包一样,需要求出待检测负载向量和待检测响应时间向量,待检测负载向量与步骤S220中的参考负载向量的计算方法相同,待检测响应时间向量与步骤S220中的参考响应时间向量的计算方法相同,待检测负载向量用于表征数据包组的方向和负载长度,待检测响应时间向量用于表征设备响应时间以及服务器处理时间。

  步骤S320、基于待检测负载向量和待检测响应时间向量,确定待检测设备向量。

  可以理解的是,参考步骤S230:基于参考负载向量和参考响应时间向量,确定参考设备向量,采用相同的计算方法,通过待检测负载向量和待检测响应时间向量,确定待检测设备向量。

  步骤S330、基于待检测设备向量,确定待检测动态标识。

  基于待检测设备向量,确定待检测响应时间统计特征,待检测响应时间统计特征用于表征预存的设备响应时间以及服务器处理时间;基于待检测设备向量和待检测响应时间统计特征,确定待检测动态标识。

  可以理解的是,此处采用步骤S240中的周期切片方法,根据步骤S230中确定的待检测设备向量,通过步骤S240相同的公式计算出待检测响应时间统计特征,以及确定出待检测动态标识。需要说明的是,待检测响应时间统计特征用于表征预存的设备响应时间以及服务器处理时间。

  本发明实施例通过以待检测负载向量和待检测响应时间向量确定待检测设备向量,进而计算出确定待检测动态标识,能够进一步提高识别网络攻击的准确率,从而使得网络系统的安全性能更高。

  如图8所示,在一些实施例中,步骤S400、基于待检测动态标识和参考动态标识,确定待检测的数据包是否与设备标识对应的设备同源,包括:步骤S410-步骤S430。

  步骤S410、确定待检测动态标识和参考动态标识的待检测距离。

  可以理解的是,计算出待检测动态标识和参考动态标识的待检测距离,这个待检测距离可以是欧式距离。

  步骤S420、获取预设参考距离。

  可以理解的是,此处的预设参考距离可以是步骤S240中计算得到的D0,D0表示备选参考周期k=K0时,(N-(K0-1))个MSF相对于MSF0的最大欧氏距离。即R=Rmax时的备选参考周期为K0,当k=K0时,计算(N-(K0-1))个MSF与均值MSF0的最大欧氏距离D0,将这个最大欧式距离D0作为预设参考距离。

  步骤S430、当待检测距离小于预设参考距离时,待检测的数据包和设备标识对应的设备同源。

  可以理解的是,如图9所示,将步骤S410中得到的待检测距离d与步骤S420中获取的预设参考距离D0进行比较,当待检测距离d小于预设参考距离D0时,认为待检测的数据包和设备标识对应的设备同源,如果确定同源,则认为没有伪造数据的情况,排除受到攻击的情况。

  本发明实施例通过采用待检测距离与预设参考距离进行比较的方式,以数字的方式进行运算效率较高,且以定量的方式计算能够提高运算的准确率。

  下面对本发明实施例提供的网络入侵检测装置进行描述,下文描述的网络入侵检测装置与上文描述的网络入侵检测方法可相互对应参照。

  下面结合图10描述本发明实施例提供的网络入侵检测装置,该装置包括第一学习单元101、第二学习单元102、第一检测单元103以及第二检测单元104。

  第一学习单元101,用于获取待检测的数据包,待检测的数据包包括设备标识;

  第二学习单元102,用于基于设备标识,获取预存的设备参考信息,设备参考信息包括设备标识、预设参考周期、参考动态标识;

  第一检测单元103,用于基于数据包组,确定待检测动态标识,数据包组包括待检测的数据包,且数据包组中的每个数据包包括设备标识;

  第二检测单元104,用于基于待检测动态标识和参考动态标识,确定待检测的数据包是否与设备标识对应的设备同源。

  本发明实施例提供的网络入侵检测装置用于执行上述网络入侵检测方法,其具体的实施方式与方法的实施方式一致,此处不再赘述。

  图11示例了一种电子设备的实体结构示意图,如图11所示,该电子设备可以包括:处理器(processor)111、通信接口(Communications Interface)112、存储器(memory)113和通信总线114,其中,处理器111,通信接口112,存储器113通过通信总线114完成相互间的通信。处理器111可以调用存储器113中的逻辑指令,以执行网络入侵检测方法,该方法包括获取待检测的数据包,待检测的数据包包括设备标识;基于设备标识,获取预存的设备参考信息,设备参考信息包括设备标识、预设参考周期和参考动态标识;基于数据包组,确定待检测动态标识,数据包组包括待检测的数据包,且数据包组中的每个数据包均包括设备标识;基于待检测动态标识和参考动态标识,确定待检测的数据包是否与设备标识对应的设备同源。

  需要说明的是,本实施例中的电子设备在具体实现时可以为服务器,也可以为PC机,还可以为其他设备,只要其结构中包括如图11所示的处理器111、通信接口112、存储器113和通信总线114,其中处理器111,通信接口112,存储器113通过通信总线114完成相互间的通信,且处理器111可以调用存储器113中的逻辑指令以执行上述方法即可。本实施例不对电子设备的具体实现形式进行限定。

  此外,上述的存储器113中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

  进一步地,本发明实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的网络入侵检测方法,该方法包括获取待检测的数据包,待检测的数据包包括设备标识;基于设备标识,获取预存的设备参考信息,设备参考信息包括设备标识、预设参考周期和参考动态标识;基于数据包组,确定待检测动态标识,数据包组包括待检测的数据包,且数据包组中的每个数据包均包括设备标识;基于待检测动态标识和参考动态标识,确定待检测的数据包是否与设备标识对应的设备同源。

  另一方面,本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的网络入侵检测方法,该方法包括获取待检测的数据包,待检测的数据包包括设备标识;基于设备标识,获取预存的设备参考信息,设备参考信息包括设备标识、预设参考周期和参考动态标识;基于数据包组,确定待检测动态标识,数据包组包括待检测的数据包,且数据包组中的每个数据包均包括设备标识;基于待检测动态标识和参考动态标识,确定待检测的数据包是否与设备标识对应的设备同源。

  以上所描述的装置实施例仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

  通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

  最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

《网络入侵检测方法和装置.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)