首页> 中国专利> 一种用于嵌入式的主动网络防御系统及其防御方法

一种用于嵌入式的主动网络防御系统及其防御方法

摘要

本发明公开了一种用于嵌入式的主动网络防御系统,包括网络协议栈模块和主动式网络防御模块,主动式网络防御模块分为防火墙上层模块和防火墙底层模块,所述防火墙上层包括报文检测模块和异常处理模块;该系统防御方法包括1、安装主动网络防御系统;2、报文检测模块对接收到的网络报文进行分析判断报文是否存在问题,如果没有直接传入协议栈,如果有进入下一步;3、异常处理单元对异常报文能否确认其是攻击报文,如果确认,则进入下一步,如果不确认,则发送请求报文询问网络的真实环境,返回步骤2;4、丢弃当前报文,设置白/黑名单,打开底层过滤器。本发明具有主动式识别和防御特点,能够防御嵌入式设备遭受到的常见嵌入式网络攻击,从而起到保护嵌入式设备网络安全的作用。

著录项

  • 公开/公告号CN107360182A

    专利类型发明专利

  • 公开/公告日2017-11-17

    原文格式PDF

  • 申请/专利权人 南京翼辉信息技术有限公司;

    申请/专利号CN201710659375.2

  • 发明设计人 李孝成;

    申请日2017-08-04

  • 分类号

  • 代理机构南京苏高专利商标事务所(普通合伙);

  • 代理人梁耀文

  • 地址 210012 江苏省南京市雨花台区软件大道180号07栋-6F

  • 入库时间 2023-06-19 03:48:30

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-05-01

    授权

    授权

  • 2017-12-12

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

    实质审查的生效

  • 2017-11-17

    公开

    公开

说明书

技术领域

本发明属于嵌入式领域,特别涉及一种用于嵌入式的主动网络防御系统及其防御方法。

背景技术

随着嵌入式设备的迅速发展,越来越多的嵌入式设备在其应用场合正在与网络相连,如汽车电子设备、医疗设备和电力设备等。当这些设备能够接入到网络时,如果没有考虑足够的安全问题,那么这他们将很容易遭受到网络攻击。如果没有一些相应的安全措施,这些攻击可能会使设备的功能、系统以及设备内部的信息遭受破坏。

现如今,市面上网络防火墙很多,但这类防火墙大多用于服务器、企业和个人PC领域。用于嵌入式设备的网络防火墙则相对较少。

现有的嵌入式网络防火墙目前存在下述一些缺陷:

1、防火墙易用性差:在嵌入式领域,对于运行操作系统的嵌入式设备来说,防火墙的启动大多随系统一起开启,同时其内部的一些功能模块和防御参数也是需要开发人员一开始配置好。系统启动后,这类参数很难再根据实际网络情况做对应调整。

2、防火墙容错性不高:嵌入式网络中,会根据嵌入式设备应用的场景,出现一些专用的网络报文,同时,也会有嵌入式设备网络配置参数变化导致网络报文内容变化的情况。对与此类情况,现在的嵌入式网络防火墙并不能很好的判断出是正常操作还是网络异常,这就会导致防火墙会对此类的报文做出误操作的现象。

3、防火墙处理异常方式简单:现在的一些嵌入式网络防火墙对于检测到网络上出现异常情况时的处理方法过于单一,其在发现异常情况下为了保护自己设备不受网络影响,会直接关闭网络,拒收报文。这种的确可以让系统等不受攻击影响,但也会影响其自身的网络通信。

4、防火墙本身占资源过大:现在的嵌入式网络防火墙大多以单独的个体存在操作系统中,其检测与过滤均在由防火墙内部自己实现。这对于性能不是很高的嵌入式设备来说,在其遭受网络攻击时,防火墙会占用大量CPU资源,从而影响到系统其他需要CPU资源运行的任务。

发明内容

发明目的:针对现有技术中存在的问题,本发明提供一种不仅能检测嵌入式设备收到的网络报文,而且可以针对可疑报文,主动发出请求报文并判断是否为可疑操作,还可以在系统遭受到网络攻击时,占用系统较少的资源,不影响系统其他任务正常运行的用于嵌入式的主动网络防御系统及其防御方法。

技术方案:为解决上述技术问题,本发明提供一种用于嵌入式的主动网络防御系统,包括网络协议栈模块和主动式网络防御模块,主动式网络防御模块分为防火墙上层模块和防火墙底层模块,所述防火墙底层模块位于网卡驱动中,所述防火墙上层包括报文检测模块和异常处理模块;

报文检测模块,用于对接收到的网络报文进行分析处理;其中网络报文包括嵌入式设备正常通信的网络报文、防火墙主动发出的请求报文后其他设备的应答报文;

异常处理模块,用于在报文检测发现问题后进行异常处理,其中异常处理的方法分为两种:第一种针对已经可以明确判断产生问题的网络报文,如SYN泛洪、网络风暴、分布式拒绝服务攻击等,异常处理模块通知驱动层的防火墙过滤器,开始对嵌入式设备收到的网络报文进行对应的过滤操作;第二种针对不能准确判断出问题的网络报文,如ARP欺骗、重放攻击等,异常处理模块主动发出请求报文,询问与其通信的设备,确定是否发生问题。

一种如上所述的用于嵌入式的主动网络防御系统的防御方法,包括如下步骤:

1)在嵌入式设备系统中安装主动网络防御系统;

2)报文检测模块对接收到的网络报文进行分析,并判断报文是否存在问题,如果没有问题则判断报文通过直接传入到协议栈,如果有问题则判断报文不能通过则进入下一步;

3)异常处理单元对异常报文能否确认其是攻击报文,如果确认,则进入下一步,如果不确认,则发送请求报文询问网络的真实环境,返回步骤2;

4)丢弃当前报文并设置白/黑名单打开底层过滤器。

进一步的,所述步骤2中的网络报文包括嵌入式设备正常通信的网络报文、防火墙主动发出的请求报文后其他设备的应答报文。

进一步的,所述步骤3中异常处理单元对接收到的问题报文进行分析时分为两种情况:

3.1)第一种情况:能够根据网络报文确定真实网络情况;

3.2)第二种情况:无法根据网络报文确定真实网络情况,当前设备可能受到攻击也可能是网络环境变化。

进一步的,所述步骤3中第一种情况,能够根据网络报文确定真实网络情况时,异常处理模块设置白/黑名单,同时主动打开防火墙底层过滤器对接下来的报文进行过滤操作,丢弃当前处理的报文。

进一步的,所述步骤3中第二种情况,异常处理模块通过发送请求报文的形式,确认网络真实状况,首先处理的报文也会被系统保存,不会传到协议栈,然后请求报文发送后,报文检测模块收到对应的应答,如果正确则之前的报文传到协议栈,否则丢弃之前的报文。

进一步的,所述步骤4中防火墙底层过滤器打开后,在参考白/黑名单对报文过滤时,同时分析网络流量,如果网络流量低于用户设置的值,系统主动关闭过滤器,如果关闭后,报文检测模块检测出问题则过滤器再次打开。

与现有技术相比,本发明的优点在于:

1、使用便捷灵活:整个系统是在SylixOS大型实时操作系统中实现及测试的。最终是以内核模块的形式展现。当用户的嵌入式设备中需要网络防火墙时,只需动态加载,就可以将整个系统添加到系统中去。同时,防火墙内部的各个功能模块及其配置参数也可以根据用户的需求,通过shell命令动态添加删除设置。

2、对报文识别检测的准确性高:不同于以往的嵌入式网络防火墙,在发现可疑报文时,直接过滤,本发明在发现可疑报文时,会主动发出请求报文,去判断当前的嵌入式设备是否的确遭受到网络攻击。这样会大大减少防火墙对正确报文的误操作情况。

3、系统对异常报文拦截率高:整个系统使用的是一上一下的框架,底层的驱动过滤器也是由防火墙主动打开,之后这两层过滤机制,可以准确的拦截可以报文,保证嵌入式设备的安全。

4、系统资源占用率低:一上一下的框架下,当嵌入式设备处于安全的网络环境,只有上层在工作。当发现问题时,才会主动打开底层过滤。此时,对于高带宽的网络攻击,如SYN泛洪等,在底层驱动就会将其过滤,并不会占用大量的系统资源,保证了其他系统任务的正常工作。

5、异常情况下,可以保证正常的网络通信不受影响:主动式网络防御系统过滤采用的是白名单加黑名单的方式,可以有效的保证在异常网络环境中,正常的通信报文可以通过过滤器,传到协议栈中。

对于常见的嵌入式网络攻击,本发明主要有以下优点:

对于ARP欺骗:不需要手动进行MAC与IP的绑定,本发明内部自己维护一个ARP信息表,当添加新设备时,可以自动在ARP信息表中添加表项。能够识别当前是ARP欺骗还是其他设备的MAC或IP地址确实发生了变化等异常情况,并能对这两种情况做对应的操作。

对于网络风暴:能够自动识别出产生风暴的设备和风暴类型;产生风暴时,嵌入式设备不会因为性能低而影响到自身的通信、系统运行等功能,同时还能对风暴报文进行过滤操作。

对于重放攻击:不需要修改应用程序本身的通信报文或逻辑,即不用在应用程序代码中添加额外代码。因此也不会影响网络利用率。

对于TCP SYN等泛洪攻击:能够检测并控制每秒内接收的SYN报文个数。当SYN泛洪攻击流量很大时,嵌入式设备不会因为自身性能而影响到其通信、系统运行等功能,同时还能保证与之前已经成功建立过连接的设备继续通信。

附图说明

图1为本发明的结构示意图;

图2为本发明的总体流程图;

图3为实施例一的流程图;

图4为实施例二的流程图。

具体实施方式

下面结合附图和具体实施方式,进一步阐明本发明。

一种用于嵌入式的主动网络防御系统,包括网络协议栈模块和主动式网络防御模块,主动式网络防御模块分为防火墙上层模块和防火墙底层模块,所述防火墙底层模块位于网卡驱动内,所述防火墙上层包括报文检测模块和异常处理模块;

报文检测模块,用于对接收到的网络报文进行分析处理;其中网络报文包括嵌入式设备正常通信的网络报文、防火墙主动发出的请求报文后其他设备的应答报文;

异常处理模块,用于在报文检测发现问题后进行异常处理,其中异常处理的方法分为两种:第一种针对已经可以明确判断产生问题的网络报文,如SYN泛洪、网络风暴、分布式拒绝服务攻击等,异常处理模块通知驱动层的防火墙过滤器,开始对嵌入式设备收到的网络报文进行对应的过滤操作;第二种针对不能准确判断出问题的网络报文,如ARP欺骗、重放攻击等,异常处理模块主动发出请求报文,询问与其通信的设备,确定是否发生问题。

目前嵌入式网络攻击中常见的几种攻击方式有:ARP欺骗、网络风暴、TCP泛洪、重放攻击和拒绝服务式攻击等。

本发明通过一上一下双层次的整体框架,防火墙上层模块可以主动控制底层驱动过滤器的打开与关闭。

实施例一:如图3所示,针对ARP欺骗,本发明的主动网络防御系统的防御方法,具体步骤如下:

1、系统内部会维护一个ARP信息表,当收到ARP应答报文时,会先去检测当前表内是否有相关表项,如果没有,则在其中添加,并让报文通过检测,传到协议栈。

2、如果有表项,则会判断当前收到报文内容与表项描述是否一致。如果一致,则进入步骤3,判断当前表项是否处于异常状态。如果不一致,则会设置当前的表项标志位,说明其产生异常并同样进入步骤3。

3、检测表项异常状态时,如果标志位显示不是异常状态,则直接让报文通过,传到协议栈。否则,会根据表项尝试能否判断嵌入式设备是遭受攻击,还是确实网络环境发生了变化。

4、如果不能确认嵌入式设备是否受到攻击,则会发送ARP请求报文。

5、如果可以确认,则会判断异常原因是否是ARP欺骗,如果是,则设置白/黑名单,并开启防火墙过滤,否则进入步骤6。

6、如果异常原因是因为通信设备MAC或IP发生变化等真实情况,则防火墙会重新设置表项,然后认为此报文是真实正确的报文,并将其传到协议栈。

如上表述结合图3防御ARP欺骗最主要的部分就是对当前网络环境的判断,本发明采用的是差值比较的方法进行判断的。

具体过程如下:

首先,防火墙内部会维护一个ARP信息表,信息表中每个成员的主要功能分别是:

原MAC地址:用于保存当前正确的MAC地址。

原MAC地址计数器:用于记录产生MAC冲突时,收到APP应答报文中指向原MAC的报文数。

新MAC地址:用于保存产生冲突的MAC地址。

新MAC地址计数器:用于记录产生MAC冲突时,收到APP应答报文中指向新MAC的报文数。

状态标志位:表明当前ARP条目的状态。

过滤时间:用于记录引起MAC冲突的ARP报文被过滤的时间。

当嵌入式设备收到第一个ARP应答时,会创建一个表项,并记录下当前的MAC与IP地址。在后续通信过程中,若本设备收到一个包含新的MAC地址的ARP应答报文,则会将新的MAC地址记录在表项中新MAC的字段上,并设置标志位为发生MAC冲突标志。与此同时,本发明系统会发送一个ARP广播请求报文,去询问当前IP的MAC地址。

此后,如果是发生ARP欺骗的情况,则不管是真正的主机,还是欺骗的主机,都会返回一个对应其自身MAC的ARP应答报文。当系统在表项异常状态下收到这两个应答时,都会将对应的计数器做累加,并再次发送ARP广播请求,以此不断循环。直到两个累计值均大于一个界限后,防火墙会认为当前网络环境是存在ARP欺骗攻击的,此时,防火墙会将ARP表项中,新MAC对应的设备拉黑,并设置拉黑时间。

如果当前的实际情况确实是网络上有设备的MAC地址发生了变化,那么此时收到的ARP报文只会包含新MAC地址,ARP表项内也只有新MAC的累加器计数。当两个MAC累加器的差值超过一个用户设置的界限时,防火墙会认为通信设备的MAC地址确实发生了变化,此时会更新表项,并把新的ARP应答传到协议栈。

实施例二:如图4所示,针对网络风暴,SYN泛洪攻击,本发明的主动网络防御系统的防御方法,具体步骤如下:

1、首先接收到网络报文并判断是否为广播包,如果是广播包则进入下一步,如果不是广播包则进一步判断是否有IP报文头,如果有IP报文头则进入下一步如果没有IP报文头则判断当前报文允许通过;

2、根据报文类型设置检测标志位,并判断设备信息表中是否有此设备信息,如果没有则新建设备条目信息然后进入下一步,如果有则直接进入下一步;

3、根据标志位做对应累加计数判断,并判断一秒内收到报文个数是否大于设置阈值,如果大于则进入下一步,如果不大于则判断当前报文允许通过;

4、丢弃当前报文,将此设备拉入黑名单,开启驱动过滤操作。

其中系统加载后,用户需要风暴防御时,需要手动设置或者使用默认的风暴检测的4个配置参数,这四个参数如下:

1、广播包个数阈值:每秒钟最多允许接收的广播报文的个数。

2、IP类型报文个数阈值:除TCP、UDP报文类型外,每秒钟最多允许接收的包含IP报文头的报文个数。

3、TCP报文个数阈值:每秒最多允许接收的TCP报文个数。这里的TCP报文指的是收到的TCP报文头部的目标端口在当前设备里并没有开启的TCP报文。

4、UDP报文个数阈值:每秒最多允许接收的UDP报文个数。同样的,这里的UDP报文也是指的收到本地没有开启对应端口的UDP报文。

当用户设置好这4个配置参数后,接下来设备收到的所有网络报文在从驱动层往协议栈传输时都会先经过网络风暴的检测机制,风暴检测机制会从收到报文的报文中获取发送端设备信息,存入自己的通信设备信息表中。同时,对收到的报文根据协议类型做对应的计数判断操作。若一秒内收到的某一设备的报文数大于之前设置好的阈值时,则该发送设备的信息就会被存入到黑名单中,同时,驱动过滤机制也会被打开。

在这之后,驱动收到报文时,会用收到报文的源MAC地址与黑名单中的信息进行比较。若收到报文源MAC地址存在于黑名单中,则驱动层就会将此报文过滤。

本发明对于一些可疑报文,会主动发出网络报文去检测当前真正网络环境的处理方式;本发明采用白名单和黑名单结合的过滤处理方式,保证过滤问题报文的同时,正确报文也能通信;本发明将过滤操作主体放在网络驱动中,保证高带宽的网络攻击可以极小程度的影响嵌入式设备的其他任务。

本发明对于常见的嵌入式网络攻击的特殊处理方式,主要有:

ARP欺骗:主动式网络防火墙自主发送ARP请求,来判断当前网络环境是ARP欺骗还是嵌入式设备的MAC地址的确发生了变化等情况。

网络风暴:防火墙有一套检测机制,来对当前的网络流量进行分析,并根据用户配置信息判断是否发生网络风暴以及对风暴类型做出检测。对于处于网络风暴中的嵌入式设备,防火墙有一套过滤机制,可以防止因为嵌入式设备性能而影响到自身的通信、系统运行等功能。

TCP SYN泛洪攻击:防火墙内部维护了一个SYN报文信息表和一个白名单。针对大流量的TCP SYN泛洪攻击,防火墙有一套过滤机制,可以防止因为嵌入式设备性能而影响到自身的通信、系统运行等功能。

重放攻击:防火墙使用了一套巧妙的方法,利用IP报文头的ID字段,来作为重放攻击检测的依据,同时利用防火墙主动式这一特点,可以能准确有效的判断接收到的报文是否是重放攻击报文,并对攻击报文做对应的防御。

分布式拒绝服务攻击:防火墙内部维护了一个保存TCP建立连接的信息表。防火墙可以随时修改端口限制连接数,可以随时查看当前端口连接状态。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号