基于工控协议的自适应漏洞挖掘框架的制作方法

文档序号:11147749阅读:1157来源:国知局
基于工控协议的自适应漏洞挖掘框架的制造方法与工艺

本发明涉及工控网络技术领域,具体涉及一种基于工控协议的自适应漏洞挖掘框架。



背景技术:

工业控制网络(以下简称“工控网络”)安全漏洞是在其生命周期的各个阶段(设计、实现、运维等过程)中引入的某类问题。近年来,工控系统强调开放性,在网络中大量引入通用的IT产品,如Windows操作系统、关系数据库等,并广泛使用以太网和TCP/IP协议,在降低成本和简化集成的同时将大量IT漏洞引入了工控网络。同时,大部分的工控网络应用层协议和现场总线协议,广泛使用MODBUS/TCP、CAN等明码传输协议,存在没有严格的身份识别,报文很容易被伪造等无法避免的脆弱性。因此,由相对封闭的专用计算机和网络体系发展而来的工控网络系统,安全的薄弱的环节几乎来自于各方各面,特别对于大型SCADA系统,设备分散安装,部分采用公网和无线网络,更容易受到利用漏洞的攻击,严重的攻击后果可以使系统网络完全瘫痪,造成工业过程失控或装置停机。

工控网络具有非常鲜明的特点,首先是封闭性,SCADA、DCS等控制系统和PLC等控制设备在设计之初就没有考虑完善的安全机制;其次是复杂性,工控网络常见的总线协议和应用层协议有几十种,不但每种通信协议的数据接口不完全相同,这些协议的规约实现也不相同;最后是不可改变性,工控网络很难进行改造和补丁升级。综合以上,传统信息安全的测试技术和设备不适合工控网络。具体来说,当前我国相关机构对工控网络安全漏洞进行检测的手段是比较局限的,具体体现在:

现有检测手段仅针对工控网络内的外围服务器和通用IT设备,无法触及亟待保护的核心工控设备;

现有的端口服务扫描、漏洞特征扫描等技术对漏洞库的依赖较大,但公开的工控网络安全漏洞库信息很少,导致无法实现深入、全面的检测;

基于公开漏洞的扫描技术和机制无法有效发现未知漏洞,同时在时间上永远滞后于攻击者利用的未知漏洞;

缺乏针对性检测工具,无法有效证明工控设备上的潜在漏洞是否存在。

由于缺乏针对工控网络安全漏洞进行检测和挖掘的工具,在定期的安全检查时无法及时发现工控设备和系统的隐患和漏洞,一旦发生工控网络安全事故,不但难以在第一时间内辨析是脆弱性问题还是设备故障,也无法对可疑设备做到物证俱全。



技术实现要素:

针对现有技术存在的不足和缺陷,本发明提供一种基于工控协议的自适应漏洞挖掘框架。

本发明实施例提出一种基于工控协议的自适应漏洞挖掘框架,包括:

接口层、核心功能层和协议层;其中,

所述接口层包括以太网口、串行接口、总线接口和定制接口,用于自适应连接被测对象;

所述协议层为所述核心功能层提供工控协议的测试用例库;

所述核心功能层包括漏洞扫描模块和漏洞挖掘模块,其中,所述漏洞扫描模块基于已知漏洞库对工控网络中的已知漏洞进行检测,所述漏洞挖掘模块基于所述测试用例库挖掘工控网络中的潜在漏洞。

本发明实施例提供的基于工控协议的自适应漏洞挖掘框架,依托已知漏洞库和工业控制协议测试用例库,能够检测出工控网络中存在的各类已知漏洞和缺陷,还能挖掘潜在的未知漏洞,实现了自下而上的工控自适应漏洞挖掘检测,底层硬件接口可以进行工控硬件接口自适应,集成了IT网络中无法适配的工控设备的串口、现场总线接口等接口,同时可以定制非标准的私有协议数据接口,可适应各种复杂的工控网络环境中各类接口的漏洞挖掘检测。

附图说明

图1为本发明基于工控协议的自适应漏洞挖掘框架一实施例的结构示意图;

图2为本发明工控设备漏洞挖掘检测直连示意图;

图3为本发明工控设备漏洞挖掘检测单向桥连(下位机)示意图;

图4为本发明工控设备漏洞挖掘检测单向桥连(上位机)示意图;

图5为本发明工控设备漏洞挖掘检测双向桥连示意图。

具体实施方式

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

参看图1,本实施例公开一种基于工控协议的自适应漏洞挖掘框架,包括:

接口层1、核心功能层2和协议层3;其中,

所述接口层1包括以太网口、串行接口、总线接口和定制接口,用于自适应连接被测对象;

所述协议层3为所述核心功能层提供工控协议的测试用例库;

所述核心功能层2包括漏洞扫描模块和漏洞挖掘模块,其中,所述漏洞扫描模块基于已知漏洞库对工控网络中的已知漏洞进行检测,所述漏洞挖掘模块基于所述测试用例库挖掘工控网络中的潜在漏洞。

具体地,所述漏洞扫描模块获取被测对象的特征,将所述特征与已知漏洞库中的漏洞特征进行匹配,若所述特征匹配上已知漏洞库中一已知漏洞特征,则确定被测对象存在该已知漏洞。其中,所述特征包括被测对象厂商信息、型号、版本信息和所使用的通信协议。所述漏洞挖掘模块,在强大自定义测试引擎的基础上,综合运用各种测试方法和脚本,向被测对象提供非预期的随机或用户自定义输入并监控输出中的异常来发现其潜在缺陷和故障。

该框架支持直连和桥接的测试连接方式,支持工控协议的定制升级以及自定义设备添加,通过协议开放API支持私有协议的自定义测试,并支持插件方式的产品功能扩充。

如图2所示,将使用该框架的测试平台通过工业以太网口,串口或其他总线接口与被测设备直接相连(点对点连接)。测试时由测试平台直接对被测设备发送数据包,同时通过客户端电脑作为监视器,来实现操作、监视和管理整个对被测设备进行已知漏洞检测和未知漏洞挖掘的过程。

直连方式下的已知漏洞检测方式主要通过漏洞库来实现,而未知漏洞挖掘则主要通过各类基于生成的模糊(fuzzing)测试用引擎,具体包括:

(1)基于工控漏洞库的已知漏洞检测

基于业界最专业完整的工控网络安全漏洞库,依靠高效漏洞扫描引擎、检测规则的自动匹配,扫描工控网络中的关键设备和软件,检测是否存在已知漏洞。

(2)针对通用漏洞进行针对性攻击测试

攻击测试用例来自于匡恩安全团队在实际挖掘漏洞中获得经验的积累和总结。同一厂商的产品往往形成漏洞的功能模块逻辑和配置方式是相似的,因此可以针对某一类型漏洞开发专门的攻击测试方式,在测试任务中运行攻击测试用例可以更快速的检测到该被测设备是否存在同类型的通用漏洞,例如检测设备是否存在某些配置错误,可以被利用形成未授权操作,中间人攻击等。

(3)基于工控协议的语法模糊测试

语法模糊测试基于工控协议实现(协议规范定义)的报文语法,在给定变量初始化文件的前提下,生成递归定义的测试用例语法描述,根据交互语义生成有序的一系列测试用例,有意将畸形的语法注入到测试报文,或者对合法的报文进行变异,从而试图触发协议实现中有缺陷的代码,导致协议规范中定义的正常操作流程遭到干扰或破坏。

(4)基于工控协议的智能模糊测试

创新的智能模糊测试引擎基于各类工控协议的规约来构建模型,在深入理解各个工控协议规约特征的基础上生成输入数据和测试用例去遍历协议实现的各个方面,包括在数据内容,结构,消息,序列中引入各种异常。同时,引入了大数据分析和人工智能算法,将初始的变形范围主要集中在该厂商设备最容易发生故障的范围内进行密集测试,测试中动态追踪被测设备的异常反应,智能选择更有效的输入属性构造新样本进行测试,在迭代测试中不断更新模型参数和优化样本构造,使得同一类设备将来进行测试时能够自动选择更有效的样本优先进行测试,这样可以大大减少测试数据生成的盲目性和测试用例的无效性,提升关键代码的覆盖率和设备的异常检测能力。

(5)用户自定义测试

根据不同的工控协议需求,或者出于未知协议细节保密等方面的考量,用户可以有多种自定义测试用例的方式。

(a)基于编辑已有测试用例的自定义测试

针对不同的工控协议,漏洞挖掘检测平台内置了大量的测试用例,覆盖了协议功能码、边界值等方面的测试。用户可以在已有测试用例的基础上重新设置目标端口,迭代次数,重复次数等关键参数。

(b)基于编辑新建测试用例的自定义测试

漏洞挖掘检测平台还提供了用户新建测试用例的功能,允许自定义全新测试用例的数据模型和状态模型。用户可以直接在平台上编辑测试用例,也可以上传已经编辑好的客户端XML文件,经过校验后就可以在平台上自动运行测试了。

需要说明的是,私有协议自定义测试首先要对被测应用进行研究,理解和解释协议规约或文件定义。然而这种方法并不基于协议规约或文件定义创建硬编码的测试用例,而是创建一个描述协议规约如何工作的文法(grammar)。采用这种方式,测试者可以识别出数据包或是文件中的静态部分和动态部分,动态部分就是可以被模糊化变量替代的部分。随后,模糊测试器动态分析包含了静态和动态部分的模板,生成模糊测试数据,将结果数据包或是文件发送给被测应用。这种测试方法对测试者有较高的要求,测试者需要能够指出规约中最容易导致目标应用在解析时发生故障的部分。

桥接测试也被称为内联测试,Inline测试,是一种基于突变的强制性模糊测试方法,这种方法通过在已有数据样本基础上插入或修改变异字节来改变正常上位机和被测设备间的交互数据,并同时监视上位机和被测设备的状态,是一种双向测试。

桥接测试首先采用智能推论算法,通过从网络流量中推导出协议的大概相似模型,然后通过启发式算法来估计边界值,最后使用变异算法来实现对数据包的突变。因此,桥接测试也可以在无需知道协议细节的情况下,用于对通过未知协议进行交互的设备进行漏洞测试和挖掘,具体包括如下测试方法:

(1)针对下位机(被测设备)的单向桥接测试

如图3所示,在测试环境部署时采用了中间人的方式,将漏洞挖掘检测平台部署在上位机和被测工控设备之间。桥接测试引擎对所有上位机发给被测设备的数据包进行截获和分析,估计协议帧的有效范围,并根据用户的设置参数进行变异,实时生成变异报文发送给被测设备,同时接收返回的应答结果,判断被测对象的状态,智能决定下一步变异策略。

(2)针对上位机(控制端)的单向桥接测试

如图4所示,在连接时将漏洞挖掘检测平台单向桥连上位机。桥接测试时,被测设备对上位机的应答数据包也可以进行变异。漏洞挖掘检测平台截获所有的被测设备应答数据包后,根据用户设置,实时生成变异报文发送给上位机,来观察上位机的状态。

(3)针对上位机和下位机的双向桥接测试

如图5所示,在连接时将漏洞挖掘检测平台双向桥连上位机和被测工控设备。测试中同时修改上位机的输入和下位机的输出,根据用户的设置双向变异发包,同时观察两个设备的状况。

本发明实施例提供的基于工控协议的自适应漏洞挖掘框架,依托已知漏洞库和工业控制协议测试用例库,能够检测出工控网络中存在的各类已知漏洞和缺陷,还能挖掘潜在的未知漏洞,实现了自下而上的工控自适应漏洞挖掘检测,底层硬件接口可以进行工控硬件接口自适应,集成了IT网络中无法适配的工控设备的串口、现场总线接口等接口,同时可以定制非标准的私有协议数据接口,可适应各种复杂的工控网络环境中各类接口的漏洞挖掘检测。

虽然结合附图描述了本发明的实施方式,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。

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