Arp欺骗攻击检测方法、装置、计算机设备和存储介质

文档序号:687797 发布日期:2021-04-30 浏览:1次 >En<

阅读说明:本技术 Arp欺骗攻击检测方法、装置、计算机设备和存储介质 (ARP spoofing attack detection method, device, computer equipment and storage medium ) 是由 王金贺 梁志宏 陈海光 彭伯庄 邱荣发 胡朝辉 赖宇阳 吴佩泽 张丽娟 邓建峰 于 2020-11-30 设计创作,主要内容包括:本申请涉及一种ARP欺骗检测方法、装置、计算机设备和存储介质。方法包括:获取待分析局域网中各主机的镜像流量;从所述镜像流量中提取ARP回复报文;根据所述ARP回复报文携带的MAC地址和IP地址,通过构建MAC地址和IP地址的映射表,对所述ARP回复报文进行初步检测;当所述初步检测的结果存在异常时,根据所述ARP回复报文信息,生成与主机对应的目标特征向量;基于预设的基准参考库,对所述目标特征向量进行二次检测,确定是否存在ARP欺骗攻击。采用本方法能够精准的捕获ARP欺骗攻击,达到了局域网内各主机的ARP欺骗检测,实现了精准全面的ARP欺骗检测。(The application relates to an ARP spoofing detection method, an ARP spoofing detection device, computer equipment and a storage medium. The method comprises the following steps: acquiring mirror image flow of each host in a local area network to be analyzed; extracting an ARP reply message from the mirror image flow; according to the MAC address and the IP address carried by the ARP reply message, constructing a mapping table of the MAC address and the IP address, and carrying out preliminary detection on the ARP reply message; when the result of the preliminary detection is abnormal, generating a target characteristic vector corresponding to the host according to the ARP reply message information; and carrying out secondary detection on the target characteristic vector based on a preset reference library to determine whether ARP spoofing attack exists or not. By adopting the method, the ARP spoofing attack can be accurately captured, the ARP spoofing detection of each host in the local area network is achieved, and the accurate and comprehensive ARP spoofing detection is realized.)

ARP欺骗攻击检测方法、装置、计算机设备和存储介质

技术领域

本申请涉及电力监控技术领域,特别是涉及一种ARP欺骗攻击检测方法、装置、计算机设备和存储介质。

背景技术

在电力监控的工业控制系统中,局域网内各主机之间(或者是主机与网关间)需要通信时,会使用ARP(Address Resolution Protocol,ARP)协议获取目标IP地址对应的MAC地址,然而在通信的过程中会出现ARP spoof(ARP欺骗)攻击,ARP spoof攻击通过在局域网中向目标主机发送恶意的ARP reply(ARP回复)报文,造成ARP目标的ARP缓存表项被恶意替换,在工业控制系统的局域网中,ARP spoof攻击会造成工业控制系统设备间的通信异常,导致工业控制系统无法正常工作,发生严重的电力故障,为了解决此类问题,出现了ARPspoof检测技术。

现有的ARP spoof攻击检测方法及检测工具,通过读取本地主机ARP缓存表,得知当前局域网内IP(Internet Protocol Address,互联网协议)和MAC(Media AccessControl或者Medium Access Control,媒体访问控制)地址映射情况,并采用监听本地主机网卡流量,抓取ARP reply报文,一旦发现企图修改ARP缓存表的ARP reply报文,就判断发生了ARP spoof攻击,并形成告警。

然而,目前的检测方法和检测工具只能发现本地主机被ARP spoof攻击情况,无法发现局域网内其它主机间ARP spoof行为,检测方法和检测工具通常仅把ARP缓存表是否被修改作为唯一判断逻辑,缺少基准参考,误判多,并且,分析流量小,不支持一个系统对多个局域网进行检测和监视,无法统一分析监视,存在检测局限性的问题。

发明内容

基于此,有必要针对上述技术问题,提供一种能够精准全面的ARP欺骗检测方法、装置、计算机设备和存储介质。

一种ARP欺骗攻击检测方法,所述方法包括:

获取待分析局域网中各主机的镜像流量,像流量中提取ARP回复报文;

根据ARP回复报文携带的MAC地址和IP地址,通过构建MAC地址和IP地址的映射表,对ARP回复报文进行初步检测;

当初步检测的结果存在异常时,根据ARP回复报文信息,生成与主机对应的目标特征向量;

基于预设的基准参考库,对目标特征向量进行二次检测,确定是否存在ARP欺骗攻击。

在其中一个实施例中,基于预设的基准参考库,对目标特征向量进行二次检测,确定是否存在ARP欺骗攻击之前,还包括:

获取主机对应的历史网络流量数据;

根据历史网络流量数据进行数据建模,得到主机对应的特征向量;

对特征向量进行标准化处理,得到标准化特征向量;

对标准化特征向量进行聚类,根据聚类结果,构建基准参考库。

在其中一个实施例中,根据历史网络流量数据进行数据建模,得到主机对应的特征向量包括:

基于预设时间间隔,从历史网络流量数据中获取主机对应的属性信息;

根据属性信息,生成与主机对应的特征向量。

在其中一个实施例中,对标准化特征向量进行聚类,根据聚类结果,构建基准参考库包括:

对标准化特征向量进行聚类处理,得到聚类结果,聚类结果包括异常类和正常类;

当聚类结果不符合预设的聚类要求时,丢弃异常类对应的标准化特征向量,重新进行聚类处理,直至得到的聚类结果符合预设的聚类要求,其中,预设的聚类要求包括异常类和正常类的数量差值满足预设差值要求或异常类和正常类的类内距离与类间距离的比值大于预设定值。

在其中一个实施例中,根据ARP回复报文携带的MAC地址和IP地址,通过构建MAC地址和IP地址的映射表,对ARP回复报文进行初步检测包括:

根据待检测的ARP回复报文构成的报文序列,构建映射表,映射表中包括报文序列中第一个报文携带的MAC地址和IP地址;

当报文序列中的待检测报文携带的MAC地址存在于映射表时,从映射表中提取MAC地址的映射IP地址;

当映射IP地址与待检测报文携带的IP地址不一致时,判定ARP回复报文的初步检测结果存在异常。

在其中一个实施例中,根据待检测的ARP回复报文构成的报文序列,构建映射表之后,还包括:

当报文序列中的待检测报文携带的MAC地址未存在于映射表时,将待处理报文携带的MAC地址和IP地址更新至映射表。

在其中一个实施例中,基于预设的基准参考库,对目标特征向量进行二次检测,确定是否存在ARP欺骗攻击包括:

获取预设的基准参考库中正常类的中心点;

计算目标特征向量与中心点的距离;

当距离小于正常类的类内距离时,判定不存在ARP欺骗攻击;

当距离不小于正常类的类内距离时,判定存在ARP欺骗攻击。

一种ARP欺骗攻击检测装置,所述装置包括:

数据获取模块,用于获取待分析局域网中各主机的镜像流量,从镜像流量中提取ARP回复报文;

初步检测模块,用于根据ARP回复报文携带的MAC地址和IP地址,通过构建MAC地址和IP地址的映射表,对ARP回复报文进行初步检测;

向量生成模块,用于当初步检测的结果存在异常时,根据ARP回复报文信息,生成与主机对应的目标特征向量;

二次检测模块,用于基于预设的基准参考库,对目标特征向量进行二次检测,确定是否存在ARP欺骗攻击。

一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现以下步骤:

获取待分析局域网中各主机的镜像流量,镜像流量中提取ARP回复报文;

根据ARP回复报文携带的MAC地址和IP地址,通过构建MAC地址和IP地址的映射表,对ARP回复报文进行初步检测;

当初步检测的结果存在异常时,根据ARP回复报文信息,生成与主机对应的目标特征向量;

基于预设的基准参考库,对目标特征向量进行二次检测,确定是否存在ARP欺骗攻击。

一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:

获取待分析局域网中各主机的镜像流量,镜像流量中提取ARP回复报文;

根据ARP回复报文携带的MAC地址和IP地址,通过构建MAC地址和IP地址的映射表,对ARP回复报文进行初步检测;

当初步检测的结果存在异常时,根据ARP回复报文信息,生成与主机对应的目标特征向量;

基于预设的基准参考库,对目标特征向量进行二次检测,确定是否存在ARP欺骗攻击。

上述ARP欺骗检测方法、装置、计算机设备和存储介质,通过获取待分析局域网中各主机的镜像流量,从镜像流量中提取ARP回复报文;能够扩大检测的范围,实现了海量全局的检测,并从镜像流量中提取ARP回复报文,保证了获取ARP回复报文的准确性,根据ARP回复报文携带的MAC地址和IP地址,通过构建MAC地址和IP地址的映射表,对ARP回复报文进行初步检测;映射表中为MAC地址和IP地址的映射关系,能够有效捕捉ARP回复报文的异常情况,当初步检测的结果存在异常时,根据ARP回复报文信息,生成与主机对应的目标特征向量;基于预设的基准参考库,对目标特征向量进行二次检测,确定是否存在ARP欺骗攻击,以基准参考库为基准,通过对目标特征向量的检测,提高了检测的准确性,上述方法能够精准的捕获ARP欺骗攻击,达到了局域网内各主机的ARP欺骗检测,实现了精准全面的ARP欺骗检测。

附图说明

图1为一个实施例中ARP欺骗攻击检测方法的应用环境图;

图2为一个实施例中ARP欺骗攻击检测方法的流程示意图;

图3为一个实施例中ARP欺骗攻击检测方法中构建基准参考库步骤的流程示意图;

图4为另一个实施例中ARP欺骗攻击检测方法的构建基准参考库步骤的流程示意图;

图5为又一个实施例中ARP欺骗攻击检测方法的构建基准参考库步骤的流程示意图;

图6为另一个实施例中ARP欺骗攻击检测方法的流程示意图;

图7为又一个实施例中ARP欺骗攻击检测方法的流程示意图;

图8为再一个实施例中ARP欺骗攻击检测方法的流程示意图;

图9为还一个实施例中ARP欺骗攻击检测方法的流程示意图;

图10为一个实施例中ARP欺骗攻击检测方法的流程示意图;

图11为一个实施例中ARP欺骗攻击检测方法中构建基准参考库的构建过程步骤的流程示意图;

图12为一个实施例中ARP欺骗攻击检测方法中ARP spoof攻击检测过程步骤的流程示意图;

图13为一个实施例中ARP欺骗攻击检测装置的结构框图;

图14为一个实施例中计算机设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

本申请提供的ARP欺骗攻击检测方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。终端102从服务器中获取待分析局域网中各主机的镜像流量;并且从镜像流量中提取ARP回复报文;根据ARP回复报文携带的MAC地址和IP地址,终端102通过构建MAC地址和IP地址的映射表,对ARP回复报文进行初步检测;当初步检测的结果存在异常时,终端102根据ARP回复报文信息,生成与主机对应的目标特征向量;基于预设的基准参考库,终端102对目标特征向量进行二次检测,确定是否存在ARP欺骗攻击。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现,该方法可以应用于包括终端和服务器的系统,并通过终端和服务器的交互实现。

在一个实施例中,如图2所示,提供了一种ARP欺骗攻击检测方法,以该方法应用于图1中的终端为例进行说明,终端可以是本地主机,包括以下步骤:

步骤202,获取待分析局域网中各主机的镜像流量,从镜像流量中提取ARP回复报文。

其中,镜像流量是配置交换机后通过工具获取的,配置交换机可以使局域网内各主机的镜像流量接入本地主机的系统中,镜像流量是通过DPDK(Data Plane DevelopmentKit数据平面开发套件)工具在局域网内进行抓取的,镜像流量是通过镜像获取的局域网内各主机的网络流量数据。ARP回复报文是镜像流量解析后所携带的数据,ARP回复报文包括MAC地址和IP地址。

具体地,本地主机通过DPDK(Data Plane Development Kit数据平面开发套件)工具从服务器端获取待分析局域网中各主机的镜像流量,并将解析后的镜像流量存放于本机主机对应的服务器内存中,减少网卡I/O(INPUT/OUTPUT)对系统流量处理速率的影响,提升流量解析速度,本地主机从镜像流量中提取ARP回复报文以及ARP回复报文中相应的ARPreply信息。

步骤204,根据ARP回复报文携带的MAC地址和IP地址,通过构建MAC地址和IP地址的映射表,对ARP回复报文进行初步检测。

其中,ARP回复报文中携带有MAC地址和IP地址,MAC地址与IP地址对应,映射表即为构建MAC与IP地址的映射关系的表,映射表中有相应的MAC地址的数据记录。

具体地,本地主机根据ARP回复报文携带的MAC地址和IP地址,通过构建MAC地址和IP地址的映射表,在映射表中查找是否存在该ARP回复报文携带的MAC地址相应的数据记录,根据MAC地址的数据记录,判定映射表中是否存在相应的MAC地址,对ARP回复报文进行初步检测。

步骤206,当初步检测的结果存在异常时,根据ARP回复报文信息,生成与主机对应的目标特征向量。

其中,初步检测的结果存在异常的情况是指,在映射表中的MAC地址的数据记录中存在相应ARP回复报文携带的MAC地址,但映射表中MAC地址对应的IP地址与ARP回复报文携带的IP地址不一致。ARP回复报文信息是ARP reply报文携带的信息,目标特征向量是根据ARP回复报文信息中的属性值生成的,根据各属性值得到目标特征向量,目标特征向量包括目标Psrc(目标资产MAC为源地址的目标包数)、目标Pdst(目标资产MAC为目的地址的目标包数)、目标RRDup(前后两次检测的ARP reply一样的目标数量)、目标RRDiff(前后两次检测的ARP reply不一样的目标数量)、目标MI(目标资产MAC对应的目标IP信息数量)以及目标IM(目标IP信息对应的资产MAC的数量)。

具体地,当初步检测的结果存在异常时,基于预设时间间隔,本地主机从ARP回复报文信息提取资产MAC对应的属性信息,根据属性信息,生成与资产MAC对应的目标特征向量,对目标特征向量进行标准化处理,得到标准化目标特征向量,将标准化目标特征向量更新为目标特征向量。

步骤208,基于预设的基准参考库,对目标特征向量进行二次检测,确定是否存在ARP欺骗攻击。

其中,基准参考库是预先设置好的,基准参考库包含正常类的标准化资产向量集合,标准化资产向量是通过对特征向量标准化处理得到的,通过对标准化资产向量进行聚类处理可以得到正常类和异常类,聚类处理是基于聚类方法的处理,二次检测为检测目标特征向量是否为正常类的检测,通过二次检测可以检测得到是否存在ARP欺骗攻击,ARP欺骗攻击即为ARP spoof攻击,是通过在局域网中向目标主机发送恶意的ARP reply(ARP回复)报文,造成ARP目标的ARP缓存表项被恶意替换的一类攻击行为。

具体地,基于预设的基准参考库,本地主机对目标特征向量进行二次检测,计算当前的目标特征向量是否落入正常类中,若落入正常类中,则视为正常行为,若不在正常类中,则存在ARP欺骗攻击行为,将发送告警信息,显示在本地主机的系统上,其告警方法可以但不限于是液晶显示屏显示等任意一种提供告警信息的方法,例如,还可以是语音播报等声音告警方法或是警示灯提醒等显示方法等。

上述ARP欺骗攻击检测方法中,通过获取待分析局域网中各主机的镜像流量;从镜像流量中提取ARP回复报文;能够扩大检测的范围,达到了海量全局的检测范围,并一一对应获取数据,保证了获取信息的准确性,根据ARP回复报文携带的MAC地址和IP地址,通过构建MAC地址和IP地址的映射表,对ARP回复报文进行初步检测;映射表中的一一对应了MAC地址和IP地址的映射关系,能够有效捕捉异常情况,当初步检测的结果存在异常时,根据ARP回复报文信息,生成与主机对应的目标特征向量;基于预设的基准参考库,对目标特征向量进行二次检测,确定是否存在ARP欺骗攻击,以基准参考库为基准,通过对目标特征向量的检测,提高了检测的准确性,上述方法通过接入交换机镜像口流量,拓宽了系统分析异常的范围,打破仅仅检测本地主机的局限,实现发现局域网内其它资产的ARP spoof攻击行为。并且,将资产基准参考库作为ARP spoof攻击的判定条件,能够有效提升检测的准确率,减少运维值班人员每天处理的无效告警量。能够精准的捕获ARP欺骗攻击,达到了局域网内各主机的ARP欺骗检测,实现了精准全面的ARP欺骗检测。

在一个实施例中,如图3所示,基于预设的基准参考库,对目标特征向量进行二次检测,确定是否存在ARP欺骗攻击之前,即步骤208之前还包括:

步骤302,获取主机对应的历史网络流量数据。

历史网络流量数据是指历史的网络通信流量数据,主机是指局域网内所有的主机。本地主机获取局域网内各主机对应的历史网络流量数据,获取的为时间不少于一周的历史网络流量数据。

步骤304,根据历史网络流量数据进行数据建模,得到主机对应的特征向量。

从历史网络流量数据中提取得到每个资产对应的MAC地址,基于预设时间间隔,根据每个资产对应的MAC地址,提取相应的属性信息,属性信息中包含有属性值,并且将属性信息中的所有属性值作为该资产在改时间内对应的特征向量,其特征向量即为资产向量,其中,一个资产可以是一个主机。

步骤306,对特征向量进行标准化处理,得到标准化特征向量。

本地主机对特征向量进行标准化处理,对于每个属性值进行标准化处理,例如,设其中一个属性值集合A,去掉A的最大值和最小值,求得该属性的平均值,作为该属性的基准值BA,将资产向量中所有的属性值分别除以对应的属性值集合的基准值,得到标准化资产向量,即为标准化特征向量。

步骤308,对标准化特征向量进行聚类,根据聚类结果,构建基准参考库。

在其中一个实施例中,本地主机将上述的标准化特征向量构成一个标准化特征向量集合,通过聚类方法对标准化特征向量进行聚类处理,聚类处理的结果为将标准化特征向量集合分为正常类和异常类,并根据预设的聚类要求丢弃异常类对应的标准化特征向量,重新进行聚类处理,直至得到的聚类结果符合预设的聚类要求,得到最终的标准化特征向量,构建相应的基准参考库。

本实施例中,通过获取主机对应的历史网络流量数据,根据历史网络流量数据进行数据建模,得到主机对应的特征向量,一一对应获取数据,保证了获取信息的准确性,对特征向量进行标准化处理,得到标准化特征向量,对标准化特征向量进行聚类,根据聚类结果,构建基准参考库,通过根据特征向量构建的基准参考库作为后续ARP spoof攻击的判定条件,能够有效提升检测的准确率,减少运维值班人员每天处理的无效告警量。

在一个实施例中,如图4所示,根据历史网络流量数据进行数据建模,得到主机对应的特征向量,即步骤304包括:

步骤402,基于预设时间间隔,从历史网络流量数据中获取主机对应的属性信息。

在其中一个实施例中,时间间隔可以根据实际需要进行设定。以将时间间隔设置为5秒为例,本地主机每5秒从历史网络流量数据中获取每个资产对应的MAC地址,根据每个主机对应的MAC地址,提取相应的属性信息,属性信息包括Psrc(资产MAC为源地址的包数)、Pdst(资产MAC为目的地址的包数)、RRDup(前后两次检测的ARP reply一样的数量)、RRDiff(前后两次检测的ARP reply不一样的数量)、MI(资产MAC对应的IP信息数量)IM以及(IP信息对应的资产MAC的数量)的属性值集合。

步骤404,根据属性信息,生成与主机对应的特征向量。

在其中一个实施例中,根据属性信息,将属性信息中包含的Psrc、Pdst、RRDup、RRDiff、MI以及IM,中的所有属性值作为该资产在该时间内对应的特征向量,其中,特征向量集合可以表示为V=<Psrc,Pdst,RRDup,RRDiff,MI,IM>。

本实施例中,通过基于预设时间间隔,从历史网络流量数据中获取主机对应的属性信息,根据按时间间隔获取的多个属性信息,生成与主机对应的特征向量,保证了获取信息的准确性。

在一个实施例中,如图5所示,对标准化特征向量进行聚类,根据聚类结果,构建基准参考库,即步骤308包括:

步骤502,对标准化特征向量进行聚类处理,得到聚类结果,聚类结果包括异常类和正常类。

在其中一个实施例中,将上述的标准化特征向量构成一个标准化特征向量集合SV,本地主机通过聚类方法对SV进行聚类处理,聚类处理的结果为将SV分为一个正常类和一个异常类,其中,正常类是通过聚类处理得到的聚类较大的类,异常类是通过聚类处理得到的聚类较小的类。

步骤504,当聚类结果不符合预设的聚类要求时,丢弃异常类对应的标准化特征向量,重新进行聚类处理,直至得到的聚类结果符合预设的聚类要求,其中,预设的聚类要求包括异常类和正常类的数量差值满足预设差值要求或异常类和正常类的类内距离与类间距离的比值大于预设定值。

在其中一个实施例中,当聚类结果不符合预设的聚类要求时,丢弃异常类对应的标准化特征向量,重新进行聚类处理,直至得到的聚类结果符合预设的聚类要求,具体地,对正常类和异常类进行比对,符合预设的聚类要求包括以下两种情况,当异常类和正常类的数量差值满足预设差值要求时,第一种情况为当预设差值要求为大于零时,即当正常类的数量大于异常类的数量时,超过SV的比例大于50%时,此时,根据正常类的标准化特征向量构建相应的基准参考库。第二种情况为预设差值要求为正常类减去异常类等于零时,计算类内距离和类间距离的比值,以预设定值为25%为例,当正常类和异常类的类内距离与类间距离的比值大于25%时,根据正常类的标准化特征向量构建相应的基准参考库,其中,类间距离取两个类的中心距离。

本实施例中,通过对标准化特征向量进行聚类处理,得到聚类结果,聚类结果包括异常类和正常类,当聚类结果不符合预设的聚类要求时,丢弃异常类对应的标准化特征向量,重新进行聚类处理,直至得到的聚类结果符合预设的聚类要求,其中,预设的聚类要求包括异常类和正常类的数量差值满足预设差值要求或异常类和正常类的类内距离与类间距离的比值大于预设定值。通过将基准参考库作为ARP spoof攻击的判定条件,能够有效提升检测的准确率,减少运维值班人员每天处理的无效告警量。能够精准的捕获ARP欺骗攻击,达到了局域网内各主机的ARP欺骗检测,实现了精准全面的ARP欺骗检测。

在一个实施例中,如图6所示,根据ARP回复报文携带的MAC地址和IP地址,通过构建MAC地址和IP地址的映射表,对ARP回复报文进行初步检测,即步骤204包括:

步骤602,根据待检测的ARP回复报文构成的报文序列,构建映射表,映射表中包括报文序列中第一个报文携带的MAC地址和IP地址。

在其中一个实施例中,根据待检测的ARP回复报文构成的报文序列,从待检测的ARP reply报文中提取相应的ARP reply信息,并解析ARP reply信息中的MAC信息和IP信息,其中,MAC信息是指MAC地址,IP信息是指IP地址,即为ARP回复报文中携带有MAC地址和IP地址,MAC地址对应有IP地址,构建映射表TMI(Table of MAC to IP address),映射表中包括报文序列中第一个报文携带的MAC地址和IP地址。映射表即为构建MAC与IP地址的映射关系的表,映射表中有相应的MAC的数据记录,根据MAC地址的数据记录得到对应的映射IP地址。

步骤604,当报文序列中的待检测报文携带的MAC地址存在于映射表时,从映射表中提取MAC地址的映射IP地址。

在其中一个实施例中,当报文序列中的待检测ARP回复报文携带的MAC地址在映射表TMI中有相应的MAC记录时,根据MAC记录中MAC地址对应的映射IP地址,将映射IP地址与报文序列中的待检测ARP回复报文携带的IP地址进行比对处理,得到比对结果,其中,报文序列是根据待检测的ARP回复报文构成的,待检测报文是报文序列中的正在等待检测的一个待检测ARP回复报文,检测是对报文序列中的所有ARP回复报文一一进行检测的。

步骤606,当映射IP地址与待检测报文携带的IP地址不一致时,判定ARP回复报文的初步检测结果存在异常。

在其中一个实施例中,当比对结果为映射IP地址与待检测报文携带的IP地址不一致时,判定ARP回复报文的初步检测结果存在异常,其中,映射IP地址为映射表TMI中根据MAC地址的数据记录得到的对应的映射IP地址,初步检测结果即为基于映射表对ARP回复报文进行的检测处理,初步检测是对报文序列中的所有ARP回复报文一一进行检测的。

本实施例中,通过根据待检测的ARP回复报文构成的报文序列,构建映射表,映射表中包括报文序列中第一个报文携带的MAC地址和IP地址,当报文序列中的待检测报文携带的MAC地址存在于映射表时,从映射表中提取MAC地址的映射IP地址,映射IP地址与待检测报文携带的IP地址不一致时,判定ARP回复报文的初步检测结果存在异常,能够达到根据ARP回复报文携带的MAC地址和IP地址,通过构建MAC地址和IP地址的映射表,对ARP回复报文进行初步检测;映射表中的一一对应了MAC地址和IP地址的映射关系,能够有效捕捉ARP回复报文的异常情况,对ARP spoof攻击进行初步检测。

在一个实施例中,如图7所示,根据待检测的ARP回复报文构成的报文序列,构建映射表之后,即步骤602之后还包括:

步骤702,当报文序列中的待检测报文携带的MAC地址未存在于映射表时,将待处理报文携带的MAC地址和IP地址更新至映射表。

在其中一个实施例中,当报文序列中的待检测报文携带的MAC地址未存在于映射表TMI时,判定ARP回复报文的初步检测结果不存在异常,此时,在映射表TMI没有相应的MAC记录时,将待处理报文携带的MAC地址和IP地址更新至映射表TMI,作为新的MAC记录添加到映射表TMI中。

本实施例中,通过当报文序列中的待检测报文携带的MAC地址未存在于映射表时,将待处理报文携带的MAC地址和IP地址更新至映射表,能够达到对映射表TMI的实时更新,实时更新映射表TMI有效扩大了检测的范围,能够更有效地捕捉ARP回复报文的异常情况,对ARP spoof攻击进行初步检测。

在一个实施例中,如图8所示,基于预设的基准参考库,对目标特征向量进行二次检测,确定是否存在ARP欺骗攻击,即步骤208包括:

步骤802,获取预设的基准参考库中正常类的中心点。

在其中一个实施例中,本地主机获取预设的基准参考库中正常类的中心点,其中,预设的基准参考库是根据正常类标准化特征向量集合构建的,中心点是正常类中的标准化特征向量的中心点。

步骤804,计算目标特征向量与中心点的距离。

在其中一个实施例中,本地主机计算目标特征向量目标Psrc、目标Pdst、目标RRDup、目标RRDiff、目标MI以及目标IM与中心点的距离。

步骤806,当距离小于正常类的类内距离时,判定不存在ARP欺骗攻击。

在其中一个实施例中,当目标特征向量与中心点的距离小于正常类的类内距离时,即为目标特征向量落在正常类中,判定不存在ARP欺骗攻击。

步骤808,当距离不小于正常类的类内距离时,判定存在ARP欺骗攻击。

在其中一个实施例中,当目标特征向量与中心点的距离不小于正常类的类内距离时,即为目标特征向量没有正常类中,此时存在异常,判定存在ARP欺骗攻击。

本实施例中,通过获取预设的基准参考库中正常类的中心点,计算目标特征向量与中心点的距离,当距离小于正常类的类内距离时,判定不存在ARP欺骗攻击,距离不小于正常类的类内距离时,判定存在ARP欺骗攻击,通过二次检测,确定是否存在ARP欺骗攻击,以基准参考库为基准,通过对目标特征向量的检测,提高了检测的准确性。

在一个实施例中,如图9所示,提供了一种ARP欺骗攻击检测方法,包括以下步骤902至步骤932。

步骤902,获取待分析局域网中各主机的镜像流量,镜像流量中提取ARP回复报文。

步骤904,根据待检测的ARP回复报文构成的报文序列,构建映射表,映射表中包括报文序列中第一个报文携带的MAC地址和IP地址。

步骤906,当报文序列中的待检测报文携带的MAC地址未存在于映射表时,将待处理报文携带的MAC地址和IP地址更新至映射表。

步骤908,当报文序列中的待检测报文携带的MAC地址存在于映射表时,从映射表中提取MAC地址的映射IP地址。

步骤910,当映射IP地址与待检测报文携带的IP地址不一致时,判定ARP回复报文的初步检测结果存在异常。

步骤912,当初步检测的结果存在异常时,根据ARP回复报文信息,生成与主机对应的目标特征向量。

步骤914,获取主机对应的历史网络流量数据。

步骤916,基于预设时间间隔,从历史网络流量数据中获取主机对应的属性信息。

步骤918,根据属性信息,生成与主机对应的特征向量。

步骤920,对特征向量进行标准化处理,得到标准化特征向量。

步骤922,对标准化特征向量进行聚类处理,得到聚类结果,聚类结果包括异常类和正常类;

步骤924,当聚类结果不符合预设的聚类要求时,丢弃异常类对应的标准化特征向量,重新进行聚类处理,直至得到的聚类结果符合预设的聚类要求,根据符合预设的聚类要求的聚类结果构建基准参考库。

步骤926,获取预设的基准参考库中正常类的中心点。

步骤928,计算目标特征向量与中心点的距离。

步骤930,当距离小于正常类的类内距离时,判定不存在ARP欺骗攻击。

步骤932,当距离不小于正常类的类内距离时,判定存在ARP欺骗攻击。

在一个应用实例中,本申请还提供一种应用场景,该应用场景如图10所示,该应用场景应用上述的ARP欺骗攻击检测方法。具体地,该ARP欺骗攻击检测方法在该应用场景的应用如下:

在其中一个实施例中,读取历史流量,构建资产向量。其中,历史流量是指主机对应的历史网络流量数据,资产向量是用来描述资产某个时间状态的向量,资产向量即为特征向量,资产向量中的一个资产可以理解为一个主机。具体地,本地主机获取局域网内各主机对应的历史流量,获取的为时间不少于一周的历史流量,从历史流量中提取得到每个资产对应的MAC地址,MAC也可以称为资产,基于预设时间间隔,根据每个资产对应的MAC地址,提取相应的属性信息,属性信息中包含有属性值,并且将属性信息中的所有属性值作为该资产在改时间内对应的资产向量。

以时间间隔可以设置为5秒为例,本地主机每5秒从历史网络流量数据中获取每个资产对应的MAC地址,根据每个资产对应的MAC地址,提取相应的属性信息,属性信息包括Psrc(资产MAC为源地址的包数)、Pdst(资产MAC为目的地址的包数)、RRDup(前后两次检测的ARP reply一样的数量)、RRDiff(前后两次检测的ARP reply不一样的数量)、MI(资产MAC对应的IP信息数量)以及IM(IP信息对应的资产MAC的数量)的属性值集合,根据属性信息,将属性信息中包含的Psrc、Pdst、RRDup、RRDiff、MI以及IM,中的所有属性值作为该资产在该时间内对应的资产向量,其资产向量集合可以表示为V=<Psrc,Pdst,RRDup,RRDiff,MI,IM>。

在其中一个实施例中,对资产向量进行标准化处理,并通过聚类方法构建基准参考库。本地主机对特征向量进行标准化处理,对于每个属性值进行标准化处理,例如,设其中一个属性值集合A,去掉A的最大值和最小值,求得该属性的平均值,作为该属性的基准值BA,将资产向量中所有的属性值分别除以对应的属性值集合的基准值,得到标准化资产向量,例如,标准化资产向量可以表示为:

将上述所有标准化资产向量构成集合SV。本地主机通过聚类方法对SV进行聚类处理,聚类处理的结果为将SV分为一个正常类和一个异常类,其中,正常类是通过聚类处理得到的聚类较大的类,异常类是通过聚类处理得到的聚类较小的类。上述构建基准参考库的构建过程可参考图11。

在其中一个实施例中,采用DPDK抓取分析待分析局域网络的镜像口流量。其中,DPDK是指数据平面开发套件,是一种可以获取镜像流量的工具,镜像口流量即镜像流量,具体地,本地主机通过DPDK工具从服务器端获取待分析局域网中各主机的镜像流量,并将解析后的镜像流量存放于本机主机对应的服务器内存中,减少网卡I/O(INPUT/OUTPUT)对系统流量处理速率的影响,提升流量解析速度,本地主机从镜像流量中提取ARP回复报文以及ARP回复报文中相应的ARP reply信息。

在其中一个实施例中,提取ARP reply报文,构建并维护IP MAC映射表。其中,ARPreply报文即为ARP回复报文,IP MAC映射表是指映射MAC地址和IP地址的映射关系的表,具体地,根据待检测的ARP reply报文构成的报文序列,待检测的ARP reply报文中携带有MAC地址和IP地址,MAC地址对应有IP地址,构建映射表TMI,映射表TMI中包括报文序列中第一个报文携带的MAC地址和IP地址。映射表即为构建MAC与IP地址的映射关系的表,映射表中有相应的MAC地址的数据记录,根据MAC地址的数据记录可以得到对应的映射IP地址。

在其中一个实施例中,综合基准参考库和IP MAC映射表对当前ARP reply报文检测分析,判断是否为ARP spoof攻击。

首先,根据映射表TMI进行初步检测,当报文序列中的待检测ARP reply报文携带的MAC地址在映射表TMI中有相应的MAC地址的数据记录时,根据数据记录中MAC地址对应的映射IP地址,将映射IP地址与报文序列中的待检测ARP reply报文携带的IP地址进行比对处理,得到比对结果,其中,报文序列是根据待检测的ARP回复报文构成的,待检测报文是报文序列中的正在等待检测的一个待检测ARP回复报文,检测是对报文序列中的所有ARPreply报文一一进行检测的。当报文序列中的待检测报文携带的MAC地址未存在于映射表TMI时,判定ARP回复报文的初步检测结果不存在异常,此时,在映射表TMI没有相应的MAC记录时,将待处理报文携带的MAC地址和IP地址更新至映射表TMI,作为新的MAC记录添加到映射表TMI中。当比对结果为映射IP地址与待检测报文携带的IP地址不一致时,判定ARP回复报文的初步检测结果存在异常,其中,映射IP地址为映射表TMI中根据MAC记录得到的与MAC地址对应的映射IP地址,初步检测结果即为基于映射表对ARP reply报文进行的检测处理,初步检测是对报文序列中的所有ARP reply报文一一进行检测的。

然后,当初步检测的结果存在异常时,根据基准参考库进行二次检测,基于预设时间间隔,本地主机从ARP回复报文信息提取资产MAC对应的属性信息,根据属性信息,生成与资产MAC对应的目标特征向量,目标特征向量即为目标资产向量,目标资产向量包括目标Psrc(目标资产MAC为源地址的目标包数)、目标Pdst(目标资产MAC为目的地址的目标包数)、目标RRDup(前后两次检测的ARP reply一样的目标数量)、目标RRDiff(前后两次检测的ARPreply不一样的目标数量)、目标MI(目标资产MAC对应的目标IP信息数量)以及目标IM(目标IP信息对应的资产MAC的数量),对目标资产向量进行标准化处理,得到标准化目标资产向量,将标准化目标资产向量更新为目标特资产向量。本地主机获取预设的基准参考库中正常类的中心点,其中,预设的基准参考库是根据正常类标准化资产向量集合构建的,中心点是正常类中的标准化资产向量的中心点。本地主机计算目标资产向量目标Psrc、目标Pdst、目标RRDup、目标RRDiff、目标MI以及目标IM与中心点的距离。目标特征向量与中心点的距离小于正常类的类内距离时,即为目标资产向量落在正常类中,判定不存在ARP欺骗攻击。当目标资产向量与中心点的距离不小于正常类的类内距离时,即为目标资产向量没有正常类中,此时存在异常,判定存在ARP欺骗攻击。如果检测结果为ARP spoof攻击,则形成告警并在系统展示。上述ARP spoof攻击检测的构建过程可参考图12。

本实施例中,通过获取待分析局域网中各主机的镜像流量;从镜像流量中提取ARPreply报文;能够扩大检测的范围,达到了海量全局的检测范围,并一一对应获取数据,保证了获取信息的准确性,根据ARP reply报文携带的MAC地址和IP地址,通过构建MAC地址和IP地址的映射表,对ARP回复报文进行初步检测;映射表中的一一对应了MAC地址和IP地址的映射关系,能够有效捕捉ARP reply报文异常情况,当初步检测的结果存在异常时,根据ARP回复报文信息,生成与主机对应的目标特征向量;基于预设的基准参考库,对目标特征向量进行二次检测,确定是否存在ARP spoof攻击,以基准参考库为基准,通过对目标特征向量的检测,提高了检测的准确性,上述方法通过接入交换机镜像口流量,拓宽了系统分析异常的范围,打破仅仅检测本地主机的局限,实现发现局域网内其它资产的ARP spoof攻击行为。并且,将资产基准参考库作为ARP spoof攻击的判定条件,能够有效提升检测的准确率,减少运维值班人员每天处理的无效告警量。能够精准的捕获ARP spoof攻击,达到了局域网内各主机的ARP spoof检测,实现了精准全面的ARP spoof检测。

应该理解的是,虽然上述实施例中各流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,各流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。

在一个实施例中,如图13所示,提供了一种ARP欺骗攻击检测装置,包括:数据获取模块1302、初步检测模块1304、向量生成模块1306和二次检测模块1308,其中:

数据获取模块1302,用于获取待分析局域网中各主机的镜像流量,从镜像流量中提取ARP回复报文;

初步检测模块1304,用于根据ARP回复报文携带的MAC地址和IP地址,通过构建MAC地址和IP地址的映射表,对ARP回复报文进行初步检测;

向量生成模块1306,用于当初步检测的结果存在异常时,根据ARP回复报文信息,生成与主机对应的目标特征向量;

二次检测模块1308,用于基于预设的基准参考库,对目标特征向量进行二次检测,确定是否存在ARP欺骗攻击。

在其中一个实施例中,ARP欺骗攻击检测装置还包括基准参考库构建模块,基准参考库构建模块用于获取主机对应的历史网络流量数据;根据历史网络流量数据进行数据建模,得到主机对应的特征向量;对特征向量进行标准化处理,得到标准化特征向量;对标准化特征向量进行聚类,根据聚类结果,构建基准参考库。

在其中一个实施例中,基准参考库构建模块还用于基于预设时间间隔,从历史网络流量数据中获取主机对应的属性信息;根据属性信息,生成与主机对应的特征向量。

在其中一个实施例中,基准参考库构建模块还用于对标准化特征向量进行聚类处理,得到聚类结果,聚类结果包括异常类和正常类;当聚类结果不符合预设的聚类要求时,丢弃异常类对应的标准化特征向量,重新进行聚类处理,直至得到的聚类结果符合预设的聚类要求,其中,预设的聚类要求包括异常类和正常类的数量差值满足预设差值要求或异常类和正常类的类内距离与类间距离的比值大于预设定值。

在其中一个实施例中,初步检测模块还用于根据待检测的ARP回复报文构成的报文序列,构建映射表,映射表中包括报文序列中第一个报文携带的MAC地址和IP地址;当报文序列中的待检测报文携带的MAC地址存在于映射表时,从映射表中提取MAC地址的映射IP地址;当映射IP地址与待检测报文携带的IP地址不一致时,判定ARP回复报文的初步检测结果存在异常。

在其中一个实施例中,初步检测模块还用于当报文序列中的待检测报文携带的MAC地址未存在于映射表时,将待处理报文携带的MAC地址和IP地址更新至映射表。

在其中一个实施例中,二次检测模块,还用于获取预设的基准参考库中正常类的中心点;计算目标特征向量与中心点的距离;当距离小于正常类的类内距离时,判定不存在ARP欺骗攻击;当距离不小于正常类的类内距离时,判定存在ARP欺骗攻击。

关于ARP欺骗攻击检测装置的具体限定可以参见上文中对于ARP欺骗攻击检测方法的限定,在此不再赘述。上述ARP欺骗攻击检测装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图14。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境,该计算机设备的数据库用于存储网络流量数据。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种ARP欺骗攻击检测方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。

本领域技术人员可以理解,图14出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

28页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:设备信息的显示方法、装置、存储介质以及电子装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类