轻量级漏洞扫描技术在工控网络的应用

2019-12-18 07:35王朝栋张雪帆栾少群
网络安全与数据管理 2019年12期
关键词:工控轻量化漏洞

王朝栋,张雪帆,栾少群

(工业互联网创新中心(上海)有限公司,上海 200032)

0 引言

随着工控网络从相对封闭转变为开放的工业互联网,网络安全防护工作也面临更多挑战。很多关乎国计民生的行业如电力、石油、石化、军工等正遭受严峻的网络安全威胁。2017年肆虐全球的蠕虫勒索病毒“WannaCry”利用NSA泄露的“External Blue”漏洞进行传播,波及180多个国家的能源行业。此外,“震网”、“Duqu”等针对工业控制网络的病毒也利用漏洞进行传播与攻击,使各类工业系统损失惨重。因此,加强对漏洞的挖掘与扫描,从源头遏制网络安全事件的发生显得尤为重要。

工控网络不同于传统网络,因此传统的漏洞扫描器并不适用于工控网络。随着工业控制网络安全事故数量逐年大幅上升,加强改进对工控网络的漏洞扫描技术刻不容缓。针对工控网络的漏洞扫描系统除了需具有完备高效的扫描功能,还需考虑到工控设备对连续性要求高、无法承受传统漏洞扫描器频繁扫描带来的负担[1]等问题。当前工控网络使用的漏洞扫描系统亟待改进为兼具扫描功能和轻量化特点的平台。

本文设计了一套针对工控网络的漏洞扫描系统,提出了轻量化的扫描策略来改进传统的漏洞扫描器,可避免业务中断对工控系统造成的损失。

1 传统漏洞扫描技术

漏洞扫描技术是针对计算机网络安全的一种重要防护手段,常与防火墙和入侵检测系统共用于提高网络的安全性[2]。传统漏洞扫描方式包括“基于网络式”与“基于主机式”两种。

基于网络的漏洞扫描技术采用主动方法,通过对系统进行模拟攻击,并分析其结果,与漏洞库里的已知漏洞进行比对确定漏洞是否存在[3]。这种技术除了可以用于发现一系列平台的漏洞外,还可被用来进行穿透实验和安全审计[4]。

基于主机的漏洞扫描技术采用被动方法,通过使用root身份登录目标网络上的主机,记录系统配置等各项主要参数,再将其与安全配置库进行匹配以确定是否存在漏洞[5]。

基于传统网络的主动扫描系统应用范围为Internet及局域网,通常采用客户/服务器模式,通过Sockets进行通信[6]。

2 轻量化漏洞扫描原理

2.1 工控网络漏洞扫描要求

在设计工控漏洞扫描系统时需针对工控设备的特性考虑以下方面:

(1)工控网络漏洞类型不同于传统IT

典型工控设备及工控协议普遍关注系统的功能、稳定性及可靠性,较少考虑工控系统的信息与网络安全。例如,由于缺少对用户身份的认证,且普遍采用明文方式传输[7],工控协议漏洞明显区别于传统IT漏洞而存在。工业现场常见的Modbus协议,就存在缺乏认证、授权、加密[8]等安全漏洞,攻击者可无需经过认证就建立一个非法的Modbus通信会话,从而攻击整个工业控制系统[9]。漏洞扫描系统应接入CVND工控系统行业漏洞库,支持丰富的漏洞特征比对与更新。进行扫描后,根据被测设备的型号、固件、通信协议等指纹信息进行匹配,从而检测是否存在已知漏洞[10]。

(2)传统漏洞扫描器不适用于工控环境

不同于传统网络,工控系统不能承受有破坏性的脆弱性探测,一旦扫描行为触发漏洞将影响到业务进行,造成的后果极其严重。不同厂家、功能的工控设备在接入网络时使用不同接口及工控协议,因此工控漏洞扫描系统应支持多种接口及主流工控协议,以减少额外的数据转换工作。

(3)工控系统对业务连续性要求高

工控系统用户为保证业务连续性通常舍弃对设备运行造成负担的安全防御手段,在某工业应用场景中,疏于网络安全策略导致的直接经济损失竟然没有停机停产造成的间接经济损失大。在保障业务正常基础上兼顾安全是设计工控漏洞扫描系统的重中之重。

2.2 轻量化工控漏洞扫描原理

工控网络传输层常采用TCP协议进行会话,工控网络TCP数据包可分为包头部分和数据部分,包头部分由20 B的源端口、目的端口及序列号等信息组成,数据部分包含要传输的信息。

轻量化漏洞扫描技术采用“扫描融入业务”的思路,通过发送与业务一致的数据包来进行扫描。扫描时发送的数据包,其包头部分符合TCP协议,数据部分满足工控协议。

图1所示为扫描过程中发送的TCP数据包,其中16位的目的端口通常为工控协议常用端口,漏洞扫描行为包含在数据部分。

这种扫描技术通过对已支持工控协议的常用端口尝试性链路连接,使得扫描行为融入到正常业务中,既完成了漏洞扫描功能,又不会触发工控设备的漏洞,从而避免非正常的操作造成对系统的影响。由于其扫描过程相对业务运行来说是静态的,因此不会对数据的保密性、完整性和可用性造成任何形式的损坏。

3 工控漏洞扫描平台设计

3.1 工控漏洞扫描平台架构图

结合传统漏洞扫描器的工作原理和扫描技术,本文针对工业互联网设计了一个轻量级工控漏洞扫描平台。整体架构及功能交互关系如图2所示。

采用开放式架构及模块化设计的轻量级工控漏洞扫描软件,使用中间层理念以减少平台对硬件的依赖。其中,操作系统模块提供基础的操作系统;已知漏洞扫描模块提供对操作系统工控网络中已知漏洞的轻量级检测;未知漏洞扫描模块提供对上位机和PLC进行未知漏洞扫描功能;日志、报表模块对漏洞扫描过程进行监控,展示扫描结果;管理系统模块提供对扫描任务及系统配置的扫描功能;用户管理模块提供可视化用户配置界面用于配置漏洞扫描任务及系统管理任务;升级系统模块提供对扫描系统、漏洞库、漏洞引擎的升级功能。

图2 工业漏洞扫描平台工作原理示意图

3.2 工控漏洞扫描平台功能介绍

扫描引擎是漏洞检测平台的核心,包含了传统主机完整扫描过程的一系列核心功能,如存活判断、端口扫描、服务识别、OS判断、口令猜测等;具备PLC设备的识别功能以及DCS、PCS、SCADA系统识别功能。此外,扫描引擎还负责控制和管理整个轻量级扫描流程:首先,用户下达关键指令给决策引擎;扫描引擎启动相应的子功能模块来扫描目标工控设备,建立连接以及之后的发包过程均采用上文提到的轻量化技术;监控引擎接受工控系统的回复信息,通过决策引擎与存储在当前活动的扫描知识库中的结果做比对并生成扫描报告;最后,在HMI中展示扫描结果。

4 轻量级扫描平台应用

漏洞检测平台使用专用硬件平台,提供可靠稳定的硬件环境,辅助以系统运行的必需软件。平台部署可采用远程访问的方式,网络可达;也可旁路连接现有的网络,不对其做任何修改。

如图3所示,漏洞检测平台在典型中小型网络中单机旁路部署,可以从运营管理层、生产管理层、监督管理层与现场控制层4个方面对工业场景进行全方位覆盖。此外,在隔离网络中可采用级联部署,需要深入检查安全域内的安全风险时可采用分布式部署。

图3 工业漏洞检测平台典型部署方式

一次轻量级的漏洞扫描分为三个阶段:

(1)发现目标网络;

(2)进一步搜集目标信息,如连接的主机信息、路由设备,并自动生成该网络的拓扑结构;

(3)根据搜集到的信息判断或者进一步测试系统是否存在安全漏洞,并给出扫描结果。

图4为实验网络中扫描到的测试结果,包括SQL注入、XSS漏洞及上传漏洞等50个Web漏洞。根据漏洞类型结合主机的拓扑位置给出风险值评估,如图5所示。

图4 漏洞扫描结果示例

图5 漏洞扫描结果风险值详情

本文提出的工业漏洞扫描平台已运用于电力、能源、制造及运输业等多个工业场景中,仅在某港口的吊机控制网络中就成功发现十余种未知的工控漏洞,并加入已知漏洞库以便后续预警工作使用。

5 结论

基于轻量级漏洞扫描策略设计的工控网络漏洞扫描平台,可应用于广泛的工业控制领域如运输、电力、交通及高端制造业等,并可辅助管理人员对工控系统进行更加全面的风险评估,能够很好地帮助把成熟的IT风险评估技术成功移植到全新的工业互联网系统环境中,提高工业互联网安全的同时更对相关的平台建设有着指导意义。

猜你喜欢
工控轻量化漏洞
漏洞
工控编程编译工具应用现状分析及展望
基于ABAQUS的某轻卡车蓄电池支架轻量化
工控系统脆弱性分析研究
基于蜜罐的工控网络安全防护技术研究进展
智能矿井工控网络安全防护系统研究与实践
基于selenium的SQL注入漏洞检测方法
一种轻量化自卸半挂车结构设计
一种轻量化自卸半挂车结构设计
漏洞在哪儿