检测DHCP恶意事件方法及装置与流程

文档序号:17548829发布日期:2019-04-30 18:05阅读:180来源:国知局
检测DHCP恶意事件方法及装置与流程

本申请涉及通信技术领域,具体而言,涉及一种检测dhcp恶意事件的方法及装置。



背景技术:

在tcp/ip(transmissioncontrolprotocol/internetprotocol,传输控制协议/因特网互联协议)网络中,每台终端设备要与其他终端设备进行通信,都必须进行网络配置(比如,配置ip地址、子网掩码、缺省网关及dns(domainnamesystem,域名系统)等)。

对于小型网络(比如,家庭网络)而言,采用人工方式为每台终端设备进行网络配置是可以接受的。但随着网络应用的发展,特别是电子商务、电子政务、办公自动化等新的网络应用的出现,网络规模也越来越大。采用人工方式对一个网络中成百上千个终端设备进行网络配置的工作量是相当巨大的,而且人工配置方式也不便于后续维护。

为了便于统一规划和管理网络中的ip地址,dhcp(dynamichostconfigurationprotocol,动态主机配置协议)服务应运而生,这种服务有利于网络中的客户端自动进行网络配置,而不需要人工手动配置。然而,采用dhcp服务进行网络配置却存在dhcp恶意事件的技术问题。



技术实现要素:

本申请的实施例描述一种检测dhcp恶意事件的方法及装置。

第一方面,本申请实施例提供一种检测dhcp恶意事件的方法,应用于检测服务器,所述检测服务器与dhcp系统的三层网关设备通信连接,在所述dhcp系统中,dhcp客户端通过所述三层网关设备与dhcp服务器通信,所述方法包括:

接收所述三层网关设备通过dhcprelay技术转发的dhcp客户端与dhcp服务器之间的交互报文;

对接收到的各交互报文进行解析,确定所述各交互报文中的dhcp-request报文;

根据所述dhcp-request报文,检测dhcp客户端选用的dhcp服务器是否为非法的dhcp服务器。

可选地,在本申请实施例中,所述根据所述dhcp-request报文,检测dhcp客户端选用的dhcp服务器是否为非法的dhcp服务器,包括:

针对接收到的每一dhcp-request报文分别执行以下操作:获取一个dhcp-request报文的第一报文字段,其中,所述第一报文字段包括第一dhcp客户端选用的第一dhcp服务器的ip地址;确定预先存储的dhcp服务器的ip地址白名单中是否存在所述第一dhcp服务器的ip地址,若存在,则判定所述第一dhcp服务器为正常状态,所述第一dhcp服务器不是由dhcp客户端伪造的dhcp服务器;否则,判定所述第一dhcp服务器为异常状态,所述第一dhcp服务器是由dhcp客户端伪造的dhcp服务器。

可选地,在本申请实施例中,在检测dhcp客户端选用的dhcp服务器是否为非法的dhcp服务器的步骤之后,所述方法还包括:

将获取到的各第一报文字段及其对应的dhcp服务器的状态存储到存储系统中。

可选地,在本申请实施例中,在所述第一dhcp服务器是由dhcp客户端伪造的dhcp服务器时,所述方法还包括:

从所述存储系统中读取第一预设时间间隔内,所述第一dhcp服务器在异常状态时对应的第一报文字段;

根据第一预设时间间隔内所述第一dhcp服务器在异常状态时对应的第一报文字段,生成所述第一dhcp服务器发起恶意事件的历史信息;根据第一dhcp服务器的ip地址从所述检测服务器中获得对应的dhcp客户端的mac地址,并根据所述dhcp客户端的mac地址从认证系统中获得对应的用户账号信息;其中,所述检测服务器中存储有从dhcp-request报文中获取的dhcp客户端的mac地址及dhcp客户端申请的ip地址,所述认证系统存储有dhcp客户端在申请ip地址过程中保存的dhcp客户端的mac地址及用户账号信息;

将所述第一dhcp服务器发起恶意事件的历史信息及所述第一dhcp服务器的用户账号信息进行显示。

可选地,在本申请实施例中,所述存储系统还存有从各交互报文中的dhcp-discover报文中获取的第二报文字段,所述方法还包括:

从所述存储系统中读取各交互报文中的第一报文字段和第二报文字段,其中,所述第一报文字段和第二报文字段均包括报文事务id;

检测各交互报文中是否存在报文事务id与第二报文字段的报文事务id相同的第一报文字段;

若不存在,判定与第一dhcp客户端通信的dhcp服务器在该交互报文中没有反馈dhcp-offer报文;通过运行在dhcp服务器上的监控程序获取dhcp服务器的运行状态,并获取第二预设时间间隔内dhcp服务器没有反馈dhcp-offer报文的事件次数;

并将dhcp服务器的运行状态及dhcp服务器没有反馈dhcp-offer报文的事件次数进行显示。

第二方面,本申请实施例还提供一种检测dhcp恶意事件的装置,应用于服务器,所述服务器与dhcp系统的三层网关设备通信连接,在所述dhcp系统中,dhcp客户端通过所述三层网关设备与dhcp服务器通信,所述装置包括:

接收模块,用于接收所述三层网关设备通过dhcprelay技术转发的dhcp客户端与dhcp服务器之间的交互报文;

解析模块,用于对接收到的各交互报文进行解析,确定所述各交互报文中的dhcp-request报文;

检测模块,用于根据所述dhcp-request报文,检测dhcp客户端选用的dhcp服务器是否为非法的dhcp服务器。

第三方面,本申请实施例还提供一种服务器,所述服务器包括处理器及存储有若干计算机指令的非易失性存储器,所述计算机指令被所述处理器执行时,所述服务器执行第一方面所述的检测dhcp恶意事件的方法。

第四方面,本申请还提供一种可读存储介质,所述可读存储介质包括计算机程序,所述计算机程序运行时控制所述可读存储介质所在服务器执行第一方面所述的检测dhcp恶意事件的方法。

相对于现有技术而言,本申请具有以下有益效果:

本申请实施例提供的检测dhcp恶意事件的方法及装置,采用与dhcp系统的三层网关设备通信连接的检测服务器获取交互报文,并通过对交互报文进行检测确定是否存在非法的dhcp服务器。与现有技术采用dhcp系统中的网络设备检测确定dhcp服务器是否非法的方式相比,不需考虑因网络设备或dhcp服务器分散部署带来的管理维护难及成本增加的技术问题,只需对检测服务器进行管理和维护,管理更加容易,成本也更低。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1示出dhcp客户端获取ip地址的过程示意图;

图2示出现有一种检测dhcp恶意事件的dhcp系统结构图;

图3示出现有另一种检测dhcp恶意事件的dhcp系统结构图;

图4为本申请实施例提供的检测dhcp恶意事件的dhcp系统结构图;

图5为图4中服务器的结构框架图;

图6为本申请实施例提供的检测dhcp恶意事件的方法流程示意图;

图7为图6中步骤s630的子步骤流程示意图;

图8为本申请实施例提供的一种检测dhcp恶意事件的装置的功能模块框图;

图9为本申请实施例提供的另一种检测dhcp恶意事件的装置的功能模块框图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。

因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制本申请要求保护的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

应当理解,尽管在本申请实施例可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

在介绍本申请之前,对dhcp客户端获取ip地址的过程进行介绍。

请参照图1,dhcp客户端获取ip地址的过程包括以下几个阶段:

1.发现阶段,即dhcp客户端寻找dhcp服务器的阶段。

dhcp客户端以广播方式发送dhcp-discover报文。

2.提供阶段,即dhcp服务器提供ip地址的阶段。

dhcp服务器在接收到dhcp客户端的dhcp-discover报文后,根据ip地址分配的优先次序选出一个ip地址,通过dhcp-offer报文发送给客户端(一般是广播报文,也可以是单播报文)。

3.选择阶段,即dhcp客户端选择ip地址的阶段。

如果有多台dhcp服务器向该dhcp客户端发来dhcp-offer报文,dhcp客户端只接收第一个收到的dhcp-offer报文,然后以广播方式发送dhcp-request报文,该报文中包含dhcp服务器在dhcp-offer报文中分配的ip地址。其中,dhcp-request报文采用广播的方式,是为通知未选中的dhcp服务器不再响应该dhcp客户端的请求。

4.确认阶段,即dhcp服务器确认ip地址的阶段。

dhcp服务器收到dhcp客户端发来的dhcp-request报文后,只有dhcp客户端选择的服务器会进行如下操作:如果确认将地址分配给该客户端,则返回dhcp-ack报文;否则返回dhcp-nak报文,表明地址不能分配给该客户端(dhcp-ack报文可以广播,也可以单播)。

在上述dhcp客户端获取ip地址的过程,往往存在恶意dhcp服务器的恶意攻击,具体如下:

在dhcp客户端获取ip地址的第一个阶段,由于dhcp客户端以广播方式发送dhcp-discover请求包,真实dhcp服务器和恶意dhcp服务器都会接收到此请求包,此时真实dhcp服务器和恶意dhcp服务器都会以自己dhcp服务器的身份给dhcp客户端提供一个ip地址。如果此时dhcp客户端刚好接收到恶意dhcp服务器提供的ip地址,那么此时dhcp客户端将忽略掉真实dhcp服务器提供的ip地址。这会导致dhcp客户端将恶意服务器认为是真实的dhcp服务器,并把恶意服务器提供的ip地址加入到dhcp客户端的系统中使用,此时dhcp客户端会使用虚假的网关,及虚假的dns服务器地址。在dhcp客户端访问网站时,就会被虚假的dns服务器引导到错误网站中,由此可能遭受到攻击。

为了解决上述在dhcp客户端获取ip地址的过程中,存在恶意dhcp服务器的技术问题,现有技术给出以下两种解决方案:

第一种解决方案,请参照图2,对dhcp客户端申请ip地址路径上的各节点设备进行检测,这种检测方式可以检测恶意dhcp服务器,还可以通过直接控制路径的方式隔离恶意dhcp服务器。

第二种解决方案,请参照图3,在网络的关键路径上镜像dhcp交互流量,对流量中的dhcp数据进行恶意dhcp服务器分析,其中,如图3,镜像dhcp交互流量可以是所有dhcp服务器的流量。

经申请人研究,上述两种解决方案存在以下缺陷:

二层接入网络设备和三层网关设备在采用网络设备实现时,在规模较大(比如超过100个dhcp客户端)网络中,在二层接入网络设备和三层网关设备中部署dhcpsnooping(dhcp安全特性)绑定表和dhcprelay(dhcp中继代理)存在部署和维护上的困难;在dhcp服务器上部署检测功能虽然较好,但对于包括较多dhcp服务器的网络而言,也存在部署和维护管理上分散的问题,而且部分dhcp服务器若是由网络设备承担,也会存在网路设备负担较大的问题。采用关键路径镜像的方式,同样存在dhcp服务器部署和维护管理上分散的问题,分析设备不仅用于dhcp检测,还用于对流量分析,在大量使用分析设备时,也存在成本高的问题,同时镜像还需要关键路径上节点设备的硬件支持。

为了克服上述相关技术中存在的至少部分缺陷,申请人经过研究给出了如下解决方案。

请参照图4,图4为本申请实施例提供的dhcp系统的架构示意图。所述dhcp系统1包括dhcp客户端10、三层网关设备20、dhcp服务器30及检测服务器40。

dhcp客户端10包括,但不限于,智能手机、个人电脑(personalcomputer,pc)、平板电脑、个人数字助理(personaldigitalassistant,pda)、移动上网设备(mobileinternetdevice,mid)等具有通信功能的通信设备,dhcp客户端10通过三层网关设备20与dhcp服务器30通信连接。

检测服务器40与三层网关设备20通信连接,三层网关设备20将dhcp客户端10与dhcp服务器30之间的交互报文传送给检测服务器40。

请参照图5,图5为本申请实施例提供的检测服务器40的结构示意图。检测服务器40可以包括检测dhcp恶意事件的装置410、存储器41、处理器42、通信单元43及显示单元44。

所述存储器41、处理器42、通信单元43及显示单元44的各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。

其中,所述存储器41可以是,但不限于,随机存取存储器(randomaccessmemory,ram),只读存储器(readonlymemory,rom),可编程只读存储器(programmableread-onlymemory,prom),可擦除只读存储器(erasableprogrammableread-onlymemory,eprom),电可擦除只读存储器(electricerasableprogrammableread-onlymemory,eeprom)等。其中,存储器41用于存储程序,所述处理器42在接收到执行指令后,执行所述程序。所述通信单元43用于通过网络建立所述检测服务器40与其它设备(比如三层网关设备20)之间的通信连接,并可以通过网络获取信息,比如,通过网络获取dhcp客户端10与dhcp服务器30之间的交互报文。所述显示单元44可以用于显示检测服务器40根据dhcp客户端10与dhcp服务器30之间的交互报文检测到的dhcp恶意事件。

检测dhcp恶意事件的装置410包括至少一个可以软件或固件(firmware)的形式存储于所述存储器41中或固化在检测服务器40的操作系统(英文:operatingsystem,os)中的软件功能模块。所述处理器42用于执行所述存储器41中存储的可执行模块,例如检测dhcp恶意事件的装置410所包括的软件功能模块及计算机程序等。

在本申请实施例提供的检测服务器40中,检测服务器40中还可以运行其它功能软件模块,比如,用于获取并分析dhcp客户端10与dhcp服务器30之间的交互报文的探针软件,用于对dhcp客户端10进行网络认证的认证系统,及用于缓存数据的存储系统(比如,订阅消息系统,kafka)。

应当理解的是,图5所示的结构仅为示意,检测服务器40还可以包括比图5中所示更多或者更少的组件,或者具有与图5所示不同的配置。图5中所示的各组件可以采用硬件、软件或其组合实现。

请参照图6,图6示出了本申请实施例提供的应用于图5中检测服务器40的检测dhcp恶意事件的方法的流程示意图。

步骤s610,接收三层网关设备通过dhcprelay技术转发的dhcp客户端与dhcp服务器之间的交互报文。

在本申请实施例中,三层网关设备采用dhcprelay技术,将接收到的交互报文(广播报文)转变成目的ip地址为检测服务器40的ip地址的单播报文,并将该单播报文发送给检测服务器40。

步骤s620,对接收到的各交互报文进行解析,得到各交互报文中的dhcp-request报文。

运行在检测服务器40上的探针软件对各交互报文进行解析,具体地,可以通过解析各交互报文中的type字段内容,确定报文类型,具体地,检测服务器40可以在检测到报文的type字段内容为messagetype:bootrequest(1)时,确定接收到的报文为dhcp-request报文。

步骤s630,根据dhcp-request报文,检测dhcp客户端选用的dhcp服务器是否为非法的dhcp服务器。

请参照图7,图7示出了本申请实施例提供的步骤s630的子步骤流程示意图,具体地,步骤s630可以包括以下子步骤:

子步骤s631,获取一个dhcp-request报文的第一报文字段。

在本申请实施例中,探针软件解析dhcp-request报文,从dhcp-request报文中解析出第一报文字段。其中,第一报文字段可以包括报文时间(timestamp)、报文事务id(transactionid)、dhcp客户端10的mac地址(client_mac)、dhcp客户端申请的ip地址(client_ip)及dhcp服务器的ip地址(server_ip)。

子步骤s632,确定预先存储的dhcp服务器的ip地址白名单中是否存在第一dhcp服务器的ip地址。

在本申请实施例中,检测服务器40中预先存储有dhcp服务器的ip地址白名单,在该ip地址白名单中存储有合法dhcp服务器的ip地址。

检测服务器40在接收到dhcp客户端10向dhcp服务器30广播dhcp-request报文时,可以解析得到被选用的第一dhcp服务器的ip地址(比如,dhcpserveridentifier:192.168.0.1(192.168.0.1))。查找第一dhcp服务器的ip地址是否存在于dhcp服务器的ip地址白名单中。若存在,进入子步骤s633;若不存在,进入子步骤s634。

子步骤s633,判定第一dhcp服务器为正常状态,第一dhcp服务器不是由dhcp客户端伪造的dhcp服务器。

子步骤s634,判定第一dhcp服务器为异常状态,第一dhcp服务器是由dhcp客户端伪造的dhcp服务器。

在本申请实施例中,能够接入网络的dhcp客户端均是经过认证系统认证的网络设备,若第一dhcp服务器的ip地址不存在于ip地址白名单中,则表明,该第一dhcp服务器是由能够接入网络的dhcp客户端私自搭建的,属于dhcp客户端伪造的dhcp服务器。

也就是说,任一dhcp客户端在首次接入组网时,首先需要通过认证系统的认证,以确定该任一dhcp客户端是否为合法客户端,只有在通过认证系统的认证之后,才能发起申请ip地址的dhcpdiscover请求。在进行客户端认证时,该任一dhcp客户端可以向认证服务器(如,3a服务器)发送认证请求,如,可以通过用户名和密码的方式进行用户身份的认证,在认证通过后,认证服务器可以在本地存储该任一dhcp客户端的认证信息(如,mac地址和用户信息等)。

本申请实施例提供的检测dhcp恶意事件的方法,通过采用与dhcp系统的三层网关设备通信连接的服务器获取交互报文,并通过对交互报文进行检测确定是否存在非法的dhcp服务器。与现有技术采用dhcp系统中的网络设备检测确定非法的dhcp服务器的方式相比,只需对检测服务器40进行管理和维护,不需要考虑因网络设备或dhcp服务器30分散部署带来的管理维护难及成本增加的技术问题,更容易管理和控制成本。

申请人研究发现,现有的检测方式只能检测出非法的dhcp服务器30,无法给出更多的信息,比如非法的dhcp服务器30之前还发起过什么恶意事件,为了解决上述技术问题,本申请实施例进一步提供如下解决方案。

在本申请实施例中,在步骤s630之后,所述方法还包括:

将获取到的各第一报文字段及其对应的dhcp服务器的状态存储到存储系统中。

存储系统可以运行在检测服务器40上;也可以运行在与检测服务器40通信连接的其他设备上,以便检测服务器40通过与其他设备的数据通信将第一dhcp服务器的状态存储到存储系统中,在本申请实施例中,存储系统可以是订阅消息系统(kafka)。

在本申请实施例中,存储系统还存储从各交互报文的dhcp-discover报文中获取第二报文字段,其中,第二报文字段可以包括:报文时间(timestamp)、报文事务id(transactionid)、dhcp客户端的mac地址(client_mac)。

将第一报文字段、第一dhcp服务器的状态及第二报文字段进行存储,以便后续进行数据分析。

进一步地,在本申请实施例中,在第一dhcp服务器是由dhcp客户端10伪造的dhcp服务器时,检测dhcp恶意事件的方法还包括:

首先,从存储系统中读取第一预设时间间隔内,第一dhcp服务器在异常状态时对应的第一报文字段;

然后,根据第一预设时间间隔内第一dhcp服务器在异常状态时对应的第一报文字段,生成第一dhcp服务器发起恶意事件的历史信息;

接着,根据第一dhcp服务器的ip地址从检测服务器40中获得对应的dhcp客户端10的mac地址,并根据dhcp客户端10的mac地址从认证系统中获得对应的用户账号信息;

最后,将第一dhcp服务器发起恶意事件的历史信息及第一dhcp服务器的用户账号信息进行显示。

在本申请实施例中,检测服务器40中存储有从dhcp-request报文中获取的dhcp客户端的mac地址及dhcp客户端申请的ip地址;认证系统存储有dhcp客户端在申请ip地址过程中保存的dhcp客户端的mac地址及用户账号信息。第一预设时间间隔可以根据用户需求进行设定,比如,设定第一预设时间间隔为一个月。

读取第一预设时间间隔内第一dhcp服务器的状态为恶意状态的第一报文字段,并可以将读取的第一报文字段记录在一记录表中,方便进行报文字段信息的查找。认证系统可以通过认证系统日志或api(applicationprogramminginterface,应用程序编程接口)获取dhcp客户端的认证信息(比如,设备的mac地址、用户账号信息等)。

检测服务器40可以根据恶意状态的第一dhcp服务器的ip地址从记录表中,获得第一dhcp服务器在第一预设时间间隔中发起恶意事件的历史信息。并通过第一dhcp服务器的ip地址查找到该第一dhcp服务器对应的mac地址,并根据mac地址获得第一dhcp服务器的用户账号信息,比如,伪造第一dhcp服务器的dhcp客户端所属的用户账号信息(比如,用户名:张三)。

在本申请的其他实施例中,认证系统可以将dhcp客户端在申请ip地址过程中保存的dhcp客户端的mac地址及用户账号信息实时同步给检测服务器40。如此,检测服务器40就可以根据第一dhcp服务器的ip地址从检测服务器40中获得对应的dhcp客户端的mac地址,并根据mac地址获得第一dhcp服务器的用户账号信息,不再需要根据mac地址从认证系统中获得第一dhcp服务器的用户账号信息。

在本申请实施例中,可以将获得的第一dhcp服务器发起恶意事件的历史信息及第一dhcp服务器的用户帐号信息进行显示,以便用户了解,发起恶意事件的第一dhcp服务器的用户帐号信息,便于用户进行决策;也可以将获得的第一dhcp服务器发起恶意事件的历史信息及第一dhcp服务器的用户帐号信息进行存储,方便后续调用,如此就不需要每次都进行上述分析过程,在该第一dhcp服务器再次发起恶意事件时,直接调用存储的相关信息即可。

进一步地,在本申请实施例中,检测dhcp恶意事件的方法还可以包括:

首先,从存储系统中读取各交互报文中的第一报文字段和第二报文字段,其中,第一报文字段和第二报文字段中均包括报文事务id(transactionid);

接着,检测各交互报文中是否存在报文事务id与第二报文字段的报文事务id相同的第一报文字段;

再接着,若不存在,判定与第一dhcp客户端通信的dhcp服务器在该交互报文中没有反馈dhcp-offer报文;通过运行在dhcp服务器上的监控程序获取dhcp服务器的运行状态,并获取第二预设时间间隔内dhcp服务器没有反馈dhcp-offer报文的事件次数;

最后,并将dhcp服务器的运行状态及dhcp服务器没有反馈dhcp-offer报文的事件次数进行显示。

在本申请实施例中,第一预设时间间隔、第二预设时间间隔可以相同也可以不同。

在上述过程中可以通过比对第一报文字段中的报文事务id和第二报文字段中的报文事务id确定是否存在报文事务id与第二报文字段的报文事务id相同的第一报文字段;若不存在,则判定与第一dhcp客户端通信的dhcp服务器在该次报文交互的过程中未响应第一dhcp客户端发送的dhcp-discover报文,即dhcp服务器未根据dhcp-discover报文向dhcp客户端反馈dhcp-offer报文。

在存在未反馈dhcp-offer报文的情形时,通过运行在dhcp服务器上的监控程序获取dhcp服务器的运行状态。dhcp服务器的运行状态包括dhcp服务器的容量、已分配的ip地址或剩余可分配的ip地址数目等。并获取第二预设时间间隔内没有反馈dhcp-offer报文事件的次数。

在本申请实施例中,检测服务器40可以将dhcp服务器的运行状态及发生未响应dhcp-offer报文事件的次数进行显示;检测服务器40也可以将dhcp服务器的运行状态及发生未响应dhcp-offer报文事件的次数进行存储。

在上述实施例中,通过将第一报文字段及第一dhcp服务器的状态存储到存储系统,在发生dhcp恶意事件时,通过从存储系统获取与该次dhcp服务器恶意事件的相关的数据信息,并通对获取的数据信息进行数据分析确定发起恶意事件的dhcp服务器,并通过获取dhcp服务器发起恶意事件的历史信息,便于用户了解更多与本次恶意事件相关的内容,提升用户体验。

请参照图8,本申请实施例还提供应用于检测服务器40的检测dhcp恶意事件的装置410,可以理解的是,接下来要描述的检测dhcp恶意事件的装置410中具体各个功能模块的功能可参照上面的实施例描述,下面对检测dhcp恶意事件的装置410中各个功能模块进行简要说明。

在本申请实施例中,检测dhcp恶意事件的装置410可以包括接收模块411、解析模块412及检测模块413。

接收模块411,用于接收三层网关设备通过dhcprelay技术转发的dhcp客户端与dhcp服务器之间的交互报文。

解析模块412,用于对接收到的各交互报文进行解析,确定各交互报文中的dhcp-request报文。

检测模块413,用于根据所述dhcp-request报文,检测dhcp客户端选用的dhcp服务器是否为非法的dhcp服务器。

在本申请实施例中,检测模块413具体用于:

针对接收到的每一dhcp-request报文分别执行以下操作:获取一个dhcp-request报文的第一报文字段,其中,第一报文字段包括第一dhcp客户端选用的第一dhcp服务器的ip地址;确定预先存储的dhcp服务器的ip地址白名单中是否存在所述第一dhcp服务器的ip地址,若存在,则判定第一dhcp服务器为正常状态,第一dhcp服务器不是由dhcp客户端伪造的dhcp服务器;否则,判定第一dhcp服务器为异常状态,第一dhcp服务器是由dhcp客户端伪造的dhcp服务器。

请参照图9,在本申请实施例中,检测dhcp恶意事件的装置410还可以包括存储模块414。

存储模块414可以用于将获取到的各第一报文字段及其对应的dhcp服务器的状态存储到存储系统中。

请再次参照图9,在本申请实施例中,检测dhcp恶意事件的装置410还可以包括读取模块415、生成模块416、获取模块417及显示模块418。

在本申请实施例的一种实施方式中,在判定第一dhcp客户端为异常状态,是发起恶意事件的目标dhcp客户端时。

读取模块415可以用于从所述存储系统中读取第一预设时间间隔内,所述第一dhcp服务器在异常状态时对应的第一报文字段;

生成模块416可以用于根据第一预设时间间隔内第一dhcp服务器在异常状态时对应的第一报文字段,生成第一dhcp服务器发起恶意事件的历史信息;

获取模块417可以用于根据第一dhcp服务器的ip地址从检测服务器中获得对应的dhcp客户端的mac地址,并根据dhcp客户端的mac地址从认证系统中获得对应的用户账号信息;其中,检测服务器中存储有从dhcp-request报文中获取的dhcp客户端的mac地址及dhcp客户端申请的ip地址,认证系统存储有dhcp客户端在申请ip地址过程中保存的dhcp客户端的mac地址及用户账号信息;

显示模块418,可以用于将第一dhcp服务器发起恶意事件的历史信息及第一dhcp服务器的用户账号信息进行显示。

在本申请实施例中,存储系统还存有从各交互报文中的dhcp-discover报文中获取的第二报文字段;

读取模块415还可以用于从存储系统中读取各交互报文中的第一报文字段和第二报文字段,其中,第一报文字段和第二报文字段均包括报文事务id;

检测模块413还可以用于检测各交互报文中是否存在报文事务id与第二报文字段的报文事务id相同的第一报文字段;

获取模块417还可以用于若不存在,判定与第一dhcp客户端通信的dhcp服务器在该交互报文中没有反馈dhcp-offer报文;通过运行在dhcp服务器上的监控程序获取dhcp服务器的运行状态,并获取第二预设时间间隔内dhcp服务器没有反馈dhcp-offer报文的事件次数;

显示模块418还可以用于将dhcp服务器的运行状态及dhcp服务器没有反馈dhcp-offer报文的事件次数进行显示。

如果上述功能以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得指令所在设备执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

综上所述,本申请实施例提供的检测dhcp恶意事件的方法及装置,采用与dhcp系统的三层网关设备通信连接的服务器获取交互报文,并通过对交互报文进行检测确定dhcp服务器是否发起恶意事件。与现有技术采用dhcp系统中的网络设备检测确dhcp服务器是否发起恶意事件相比,不需要考虑因网络设备或dhcp服务器分散部署带来的管理维护难及成本增加的技术问题,更加容易管理和控制成本。同时,通过将第一报文字段、第一dhcp服务器的状态及第二报文字段存储到存储系统,在发生dhcp恶意事件时,通过从存储系统获取与该次dhcp服务器恶意事件的相关的数据信息,并通对获取的数据信息进行数据分析确定发起恶意事件的dhcp服务器,并通过获取dhcp服务器发起恶意事件的历史信息,便于用户了解更多与本次恶意事件相关的内容,提升用户体验。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。

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