一种基于DPI技术的网络数据安全性分析方法
技术领域
本发明属于网络信息安全技术领域,具体涉及一种基于DPI技术的网络数据安全性分析系统及方法。
背景技术
电力系统内网需要频繁的与互联网进行数据交互,接收大量的来自于互联网的数据。这些数据的安全性不得而知。然而,电力系统内网对数据的安全性有着极高的要求,不允许危险数据进入内网。为了保护内网的安全,必须在内网与外网之间设置安全网关,拦截危险数据。
传统的安全网关实现以上功能大多是直接对网络数据的内容进行分析,从而判断数据的行为。这种方法存在两个问题,一是来访的网络数据量庞大,一一进行解析效率低下;二是获得数据内容后,判断其行为比较困难。因为没有统一的标准,很容易出现误判。
发明内容
发明目的:针对现有技术存在的问题,本发明提供了一种基于DPI技术的网络数据安全性分析系统及方法。
发明内容:本发明提供了一种基于DPI技术(深度包检测技术,下文简称DPI技术)的网络数据安全性分析系统,包括设置在网关上的数据包采集模块,协议匹配模块,深度包检测模块和访问控制模块,其中,所述协议匹配模块用于将数据包采集模块抓取的申请访问电力系统内网的数据包进行解析,并将解析的协议特征与协议匹配模块中的协议特征库中的协议特征进行匹配,将匹配失败的数据包删除,将匹配成功的数据包传输至深度包检测模块;所述深度包检测模块采用深度包检测算法判断协议匹配模块传输来的数据包中的内容是否包含深度包检测模块的威胁特征库中的信息;并将检测结果和数据包发送给访问控制模块,在访问控制模块中将包含威胁信息的数据包删除,将不包含威胁信息的数据包传输至电力系统内网的服务端
本发明还提供了一种基于DPI技术的网络数据安全性分析方法,包括以下步骤:
步骤1:在网关上分别设定包含协议特征库的协议匹配模块和包含威胁特征库的深度包检测模块,以及数据包采集模块和访问控制模块;
步骤2:网关中的数据包采集模块采集申请访问电力系统内网的数据包;将采集到的数据包发送至协议匹配模块;
步骤3:协议匹配模块将接收到的数据包的数据包头进行解析,获取协议字段;将获取的协议字段与协议特征库中存储的协议字段进行比较;如果与协议特征库中存储的协议字段相同,则将相应的数据包发送至深度包检测模块;如果与协议特征库中存储的协议字段不相同,则丢弃相应的数据包;
步骤4:深度包检测模块将接收到的数据包进行深度包检测,获取数据包中的数据内容,利用正则表达式算法,将获取的数据内容与威胁特征库中的内容进行对比,将对比结果发送访问控制模块;访问控制模块丢弃含有威胁字段的数据包;如果不含有威胁特征库中的威胁字段,访问控制模块将相应的数据包发送至电力系统内网的服务端。
进一步,所述协议特征库中包含协议的名称,通信端口,协议的网络层次。
进一步,所述威胁特征库中包含威胁信息的名称、别名、威胁类型、描述。其中描述包括病毒的基本信息,发病形式等。
进一步,所述步骤4中采用确定型有限自动机表示一组正则表达式特征。这样能够实现一次内容扫描可匹配的多个特征。
进一步,在所述步骤4中将获取的数据包中的数据内容表达成一个个的文本模式,文本模式包括普通字符和特殊字符,每一个文本模式用正则表达式去进行描述,在处理正则表达式的时候,将正则表达式转化成DFA(有穷自动机,下文简称DFA)进行处理。其中普通字符比如a到z之间的字母;特殊字符为元字符。
工作原理:本发明提出的系统要对来访数据进行两层筛选。如图1所示,类似于过滤网,两层筛选也是一个从粗到细的过程。第一层筛选掉协议不符合要求的数据;第二层将对协议合法的数据进行细致筛选。检测数据的内容是否是安全的,不安全的过滤掉。经过这两层筛选能够保证进入内网数据的安全性。第一层筛选的主要任务是协议匹配。数据在互联网上传播都要遵循某种协议。电力系统有很多的业务,每种业务都要产生大量的数据,这些数据遵循着不同的协议在互联网上传播,每种业务数据都有与之相对应的协议。将来访的业务数据的协议与已经建立好的协议特征库进行匹配,如果业务数据使用的不是规定的协议,则认为该业务不是电力系统的业务。通过第一层筛选的数据,其协议都是合法的。但网关并不知道协议合法数据的内容是否安全。这些数据中可能存在威胁内网安全的成分。因此必须获得数据的全部内容,进行分析。考虑利用DPI技术获得数据的内容,再将内容与已经建立好的威胁特征库进行对比,如果发现危险的内容,则阻断该数据进入内网。
有益效果:与现有技术相比,本发明选择分层筛选更加高效,减轻了需要分析内容的数据量,大大提高了效率;建立协议特征库和威胁特征库,提高了数据安全性判断的准确性。威胁特征记录了访问电力系统内网的非法数据的特征,有针对性的预防了威胁数据。
附图说明
图1是本发明基于DPI技术的网络数据安全性分析方法的原理图;
图2是本发明基于DPI技术的网络数据安全性分析系统结构示意图;
图3是本发明基于DPI技术的网络数据安全性分析方法的数据交互图。
具体实施方式
下面结合附图,对本发明进行详细说明。具体过程如下:
如图2所示,电力系统外网用户或者设备将信息传送给电力系统内网,需要经过安全网关的筛选。在安全网关上设置数据包采集模块,协议匹配模块,深度包检测模块和访问控制模块,其中,所述协议匹配模块用于将网关上的数据包采集模块采集的申请访问电力系统内网的数据包进行解析,并将解析的协议特征,即解析的协议的端口号与协议匹配模块中的协议特征库中的协议特征,即协议特征库中的协议的端口号进行匹配,将匹配失败的数据包删除,将匹配成功的数据包传输至深度包检测模块;深度包检测模块采用深度包检测算法判断协议匹配模块传输来的数据包中的内容是否包含深度包检测模块的威胁特征库中的信息;并将检测结果和数据包发送给访问控制模块,在访问控制模块中将包含威胁信息的数据包删除,将不包含威胁信息的数据包传输至电力系统内网的客户端。
如图3所示,是本发明的数据交互图。具体过程如下:
步骤1:在网关上分别设定包含协议特征库的协议匹配模块和包含威胁特征库的筛选模块;其中,如表1所示,协议特征库中包含协议的名称,协议特征即端口号,协议的网络层次。
表1
如表2所示,威胁特征库中包含威胁信息的名称、别名、威胁类型、描述。
表2
步骤2:网关采集申请访问电力系统内网的数据包;将采集到的数据包发送至协议匹配模块。客户端发送数据到电力系统内网,需要经过安全网关,由安全网关中的数据包采集模块接受客户端传来的数据。数据包采集模块获取数据报文首部信息,提取端口号,并将数据和端口号发送给协议匹配模块。
步骤3:协议匹配模块将接收到的数据包的数据包头进行解析,获取协议字段;将获取的协议字段与协议特征库中存储的协议特征进行比较;如果与协议特征库中存储的协议特征相同,则将相应的数据包发送至深度包检测模块;如果与协议特征库中存储的协议特征不相同,则网关直接丢弃相应的数据包。协议匹配模块主要是端口信息与协议特征库中的端口号进行比较。
步骤4:深度包检测模块将接收到的数据包进行深度包检测,获取数据包中的数据内容,利用正则表达式算法,将获取的数据内容与威胁特征库中的内容进行对比,将对比结果发送访问控制模块;访问控制模块丢弃含有威胁字段的数据包;如果不含有威胁特征库中的威胁字段,访问控制模块将相应的数据包发送至电力系统内网的服务端。
协议匹配的核心是协议特征的比较,本方法所用到的协议特征是协议所对应的端口号。模拟实现。实验环境:CPU 3.6GHz,内存4GB,采用L7-filter软件,对网关数据包采集模块采集到的申请访问电力系统内网的数据包依次解封,直接提取应用层数据,将其中的端口信息与协议特征库中的端口号对比,从而识别协议类型。