工业控制系统漏洞扫描与挖掘技术研究

2018-03-02 03:10王捷喻潇徐江珮
中国设备工程 2018年3期
关键词:数据包漏洞计算机网络

王捷,喻潇,徐江珮

(国网湖北省电力有限公司电力科学研究院,湖北 武汉 430077)

为了使工业控制系统与传统计算机信息技术之间实现资源共享以及协调工作的目的,工业控制系统利用了传统计算机信息技术中的硬件系统、软件系统以及通信协议,随着不断改进,能够采取一定的方法直接连接到传统计算机网络中。这样虽然改变了工业控制系统之前封闭的工作模式,但随着也带来了很多的安全隐患,因为传统计算机网络里的信息经常受到病毒、黑客入侵以及木马等威胁。目前,工业控制系统越来越多的应用在我国各项重要的领域中,如核工业、水利、电力以及石油化工等。所以,工业控制系统的安全非常重要,关系到经济社会的发展和对社会的影响力。

1 工业控制系统漏洞的类别

工业控制系统漏洞从不同角度可以有不同的分类。从产生漏洞的原因来划分,可以分为提权、暴力破解、DLL 劫持、明文密码传输、代码注入、结构化查询语言注入、缓冲区溢出、包回放攻击、固件后门、安全绕过以及各种Web类安全漏洞等。从设备位置来划分,可以分为上位机漏洞和下位机漏洞,其中上位机漏洞包括应用软件漏洞和操作系统漏洞,下位机漏洞包括后门漏洞、协议漏洞和人机界面漏洞。从设备系统的种类来划分,可以分为路由器、交换机、防火墙等网络设备漏洞、软件漏洞,PLC 漏洞,远程终端单元漏洞以及其他设备系统漏洞。

2 工业控制系统漏洞扫描技术

工业控制系统是由计算机设备以及工业过程控制组件构成的自动化远程控制系统。随着工业控制系统的不断完善,在楼房建筑、交通运输、水利、电力、石油化工以及制造业等多个领域都有应用。在工业控制系统的安全检测过程中,主要包括3种技术,即漏洞扫描技术、入侵检测技术以及防火墙。漏洞扫描技术属于主动的防御办法,入侵检测技术以及防火墙属于被动的防御办法。在安全检测过程中,把这些技术有效的结合起来,可以很好的确保计算机网络的安全。工业控制系统中的漏洞扫描技术主要是指在检测网络或者目标主机的安全级别时,通过采用扫描等方式,及时发现能够利用的漏洞的一种技术。采用漏洞扫描技术能够让网络管理员准确掌握当前运行网络中的安全设置情况以及网络服务的应用情况,这样一旦网络系统中出现安全问题,就可以及时被发现,从而改进和完善网络安全系统里的相关设置项,及时修复并解除安全问题,防止网络系统受到黑客的攻击破坏。在对网络系统进行风险评估时,经常把采用漏洞扫描技术检测出的安全问题作为主要依据。漏洞扫描技术主要包括2类,分别是基于网络的漏洞扫描和基于主机的漏洞扫描。

基于网络的漏洞扫描主要通过非破坏性的,并且主动的方法来检测系统。基于网络的漏洞扫描方法经常用在安全审记以及穿透实验方面,能够针对性地检测己知的网络漏洞,还能够根据特定的脚本实施模拟攻击网络系统,通过对攻击结果进行全面分析,判断网络系统是不是会发生崩溃现象。

基于主机的漏洞扫描主要通过非破坏性的,并且被动的方法来检测系统。基于主机的漏洞扫描方法涉及到很多方面的问题,包括解密口令,能够除掉部分简单的口令,还包括操作系统的补丁、文件的属性以及系统的内核等。通过采用基于主机的漏洞扫描方法,能够精确找到出现问题的系统位置,从而及时发现系统存在的漏洞。

3 分析工业控制系统探测

工业控制系统和传统计算机网络在安全机制以及突出特点方面存在很大的差别,利用传统的计算机网络无法探测出连接到网络中的工业控制设备。基于层次探测的工控系统漏洞扫描模型如图1所示。

图1 工控系统漏洞扫描模型

3.1 工业控制系统探测

工业控制系统探测的作用主要是在网络中探测工业控制设备及其具体的数据信息。工业控制系统探测包括网络探测以及系统探测。

网络探测作为工业控制系统探测的基础,是指从网络信息方面进行探测,主要根据工业控制交换机本身具有普通交换机周期性传送广播包的特征,通过捕获数据包以及解析数据包,来探测工业控制交换机的物理地址、站名称,以及工业控制系统的广播地址等有关基本信息。工业控制交换机在工业控制系统与传统计算机网络之间起着桥梁的作用。

系统探测是指从系统信息方面进行探测,根据工业控制系统的网络探测中获得的广播地址等一些基本信息,因为部分工业控制设备只能等收到请求的时候才可以做出相应响应,所以,必须通过构造并且广播发送请求数据包,以及捕获并且解析响应数据包来探测到工业控制系统里的工业控制设备以及其站名称、站种类、设备标志、制造商标志、设备角色、物理地址等相关具体信息。通过PROFINET 实时通信里的DCP协议帧结构,建立实时的PROFINET数据包,并且在连接工业控制设备的网络内,通过广播的形式进行发送,来要求工业控制设备进行回复,然后经过解析回复的数据包,对要探测的工业控制设备进行提取,从而得到工业控制设备需要的具体信息。

3.2 数据比对

数据比对的作用主要是利用工业控制系统探测方式中探测得到的工业控制设备的站名称、站种类、设备标志、制造商标志以及设备角色等具体信息和工业控制系统的漏洞库,进行数据比对,找到设备具有的漏洞。

4 工业控制系统漏洞的挖掘技术

4.1 动态测试技术

工业控制系统中的动态测试技术是指在运行情况下,工业控制系统利用模糊测试、双向测试和风暴测试等挖掘漏洞的办法。

模糊测试技术主要是指针对工业控制协议的模糊测试技术,通过改变通信协议或者对协议特征进行分析,从而建立特定的数据包,再传送给上位机或着下位机服务器,从而对被测目标的响应进行监控,根据异常响应来挖掘漏洞。模糊测试在执行的过程中,大致经历5个基本阶段,如图2所示。

图2 模糊测试的基本过程

双向测试技术是在原有的数据样本中修改或者插入一些变异字节,从而使正常工业控制系统中的目标设备以及上位机之间的交互数据发生变化,在此过程中,监控目标设备以及上位机的情况。

风暴测试技术是指在短期内向目标设备传送非常多的并且全部一样的数据包的一种压力测试,在传送过程中,速度要从慢到快不断增加,直到找到目标设备抗压的最大值。因为随着速度的变化,目标设备的处理能力也会变化,如果目标设备比较弱,在风暴测试中会出现故障。

4.2 静态分析技术

工业控制系统中的静态分析技术,是指在非运行情况下,工业控制系统挖掘漏洞的技术。主要有静态代码审计、二进制补丁比对和逆向分析等挖掘漏洞的办法。

静态代码审计是指在对系统源代码和软件进行分析时,通过选择人工代码审计工具和静态代码审计工具相互结合,从而找到系统和软件存在漏洞的办法。这种办法仅适合检测提供源码的工业控制系统。

二进制补丁比对是指将原程序和补丁进行比对,发现其中的不同点,从而找到原程序存在的漏洞。这种办法适合工业控制系统的厂家知道有漏洞,而且给了修复漏洞的补丁,可是没有说明该漏洞的具体位置,此时就可以用这种办法进行比对。

逆向分析是指利用固件分析工具来解压固件,对二进制代码进行逆向汇编,研究二进制代码函数和它的逻辑,采用综合方式来挖掘固件以及二进制可执行程序中存在安全漏洞的办法。

5 结语

随着我国科学技术的不断进步,工业控制系统和传统计算机网络技术的结合,带来了很大的便利,但是随之而来的安全隐患也增多。工业控制系统中,网络经常受到各方面的攻击,给社会和人民的工作、生活带来很大的不良影响,因此,必须采用有效措施准确的扫描出工业控制系统存在的安全漏洞,从而及时进行修复、完善。通过对工业控制系统的漏洞扫描与挖掘技术进行研究,可以不断的改进扫描技术,更好的确保工业控制系统的安全。

[1]蔡金,吕鑫.局域网安防探析[J].信息系统工程,2016,11:72.

[2]张凤臣.工业控制设备漏洞检测系统浅析[J].科技与创新,2016,24:106-107.

[3]陶志坚,姚日煌.工业控制系统信息安全风险评估研究[J].电子产品可靠性与环境试验,2016,3406:15-21.

[4]卢凯,赵云飞,柯皓仁.工业控制系统信息安全等级保护测评方案研究[J].信息网络安全,2016,S1:107-111.

[5]邹春明.工业控制系统信息安全产品标准及测评方法[J].自动化博览,2016,04:62-65.

猜你喜欢
数据包漏洞计算机网络
漏洞
二维隐蔽时间信道构建的研究*
民用飞机飞行模拟机数据包试飞任务优化结合方法研究
基于模式匹配的计算机网络入侵防御系统
C#串口高效可靠的接收方案设计
关于计算机网络存储技术分析
计算机网络环境下混合式教学模式实践与探索
计算机网络信息安全及防护策略
三明:“两票制”堵住加价漏洞
漏洞在哪儿