工业控制系统由各种自动化控制组件和一系列负责实时数据采集、监测的过程控制组件共同组成,目前被广泛应用于电力、冶金、水利、安防、化工、军工以及其他与国计民生紧密相关的重要领域。随着智能制造、工业一体化的不断提高,以及物联网、5G通讯等高新技术的不断推广,越来越多的网络安全攻击的矛头都指向了工控系统,关键基础设施被蓄意攻击的事件层出不穷。
其中,最常见的攻击方式就是利用工控系统的漏洞,PLC(Programmable Logic Controller,可编程逻辑控制器)、DCS(Distributed Control System,分布式控制系统)、SCADA(Supervisory Control And Data Acquisition,数据采集与监视控制系统) 乃至应用软件均被发现存在大量信息安全漏洞,如西门子(SIEMENS)、Parallels、研华科技(Advantech)、罗克韦尔(Rockwell)、ABB 及施耐德电(Schneider Electric)等工控系统厂商产品均被发现包含各种信息安全漏洞。
目前,超过80%的涉及国计民生的关键基础设施依靠工业控制系统来实现自动化作业。工业控制系统已经成为国家关键基础设施的重要组成部分,其安全更是关系到国家的战略安全。因此,研究工控安全漏洞,对发现的漏洞进行标准化管理,对于提高工控系统安全性,帮助企业远离威胁有着重要意义。
1. 工控网络安全漏洞分类
与传统信息系统相比,工业控制系统采用了很多专有的工控设备、工控网络协议、操作系统和应用软件,工业控制系统的安全漏洞也具有工控系统所独有的特性。
根据漏洞出现在的工控系统组件的不同,工控安全漏洞可划分为:
(1)工控设备漏洞
(2)工控网络协议漏洞
(3)工控软件系统漏洞
(4)工控安全防护设备漏洞
根据是否可能带来直接隐患,工控安全漏洞也可划分为:
(1)SCADA系统软件漏洞
(2)操作系统安全漏洞
(3)网络通信协议安全漏洞
(4)安全策略和管理流程漏洞
2.工控网络安全漏洞标准化管理
目前,国外已经形成了比较完整的工控系统安全管理体制、技术体系以及标准法规。二十世纪九十年代美国国家标准协会开展了操作系统安全研究项目,相关研究机构对大型系统漏洞进行收集,并根据漏洞发现时间、漏洞产生的原因和漏洞所处的位置进行了简单的分类。由MITRE公司负责维护的通用漏洞列表(Common Vulnerabilities and Exposures,CVE)已经成为全球公认的安全漏洞索引标准,该项目将已暴露并引起广泛认同的安全漏洞进行编号,定期对漏洞列表进行发布,方便漏洞信息的共享。
我国正处于计算机技术与工业自动化技术相互融合的重要阶段,工业控制系统的安全问题格外重要。基于工控系统安全状况的脆弱性以及攻击威胁的严重性,我国相关部门和广大企事业单位也正在积极地开展工控系统安全工作,制定出一系列体制文件,研制出了一大批工控信息安全产品。
2009年,我国漏洞库建设工作有了突破性进展, 先后推出了国家信息安全漏洞库(CNNVD)国家信息安全漏洞共享平台(CNVD)等颇具规模的漏洞库。
2019年10月国家工业信息安全漏洞库(CICSVD)建立,由国家工业信息安全发展研究中心组织发起,国内从事工业信息安全相关产业、教育、科研、应用的机构、企业及个人自愿参与建设的全国性、行业性、非营利性的漏洞收集、分析、处置、披露的平台。
2020年11月国家标准化管理委员会发布了《信息安全技术网络安全漏洞管理规范》,该标准给出了漏洞生命周期管理流程,如下图
但是目前,国内漏洞管理主要体现在漏洞信息发布和安全预警上,而基于漏洞库的扫描挖掘、安全审计、风险评估、软件安全性评测等有价值的应用并不多,因此,开展面向工控系统信息安全的漏洞发现和分析等相关研究具有重要意义。
3. 木链科技工控网络安全检测系统
木链科技基于CVE漏洞库中的工控行业漏洞信息,结合已有的模糊测试和open VAS相关技术,设计研发了工控网络安全检测系统,系统主要包括了设备识别、协议识别、已知漏洞扫描、未知漏洞挖掘等模块。以下将针对这几个模块的设计思路进行简单介绍。
(1)设备识别
设备识别主要是对工控网络内的设备进行探测识别和管理,该模块是通过深入研究和分析开源工具NMAP的扫描原理和运行流程的基础上实现的,通过对其扫描流程进行优化,最终实现了更贴合工控网络环境下的系统所需功能要求,其中包括主机操作系统版本、IP、MAC、端口、厂商、型号等基础硬件信息,此外还将提供设备的漏洞数量、通信过程中所产生告警的数量等信息。
(2)协议识别
工业控制系统通信协议不同于一般的网络通信协议,其往往是专用、私有控制协议。
协议识别模块将充分利用木链星期五实验室的协议逆向分析能力,获取未知协议的协议规范,包括协议语法、语义以及同步信息。通过对工控网络通信数据包进行协议解析,可以还原出通信设备信息和通信内容。可以用于生产状态监控、资产识别、设备行为判断、异常行为或对病毒、蠕虫、木马、DDoS、扫描、SQL注入、XSS、缓冲区溢出、欺骗劫持等含有恶意代码的攻击行为进行安全检测。
(3)漏洞扫描
已知漏洞扫描模块融合了开源工具openVAS的实现思路,首先将网络扫描与主机扫描相结合,利用网络扫描从外部查询网络服务端口获取有关反馈信息,利用主机扫描从内部收集软件安装与配置信息;其次将收集到信息和已公开漏洞进行匹配比对,找到可能存在的安全隐患。
(4)漏洞挖掘
未知漏洞挖掘模块应用到的是模糊测试技术,也是目前在工业安全领域普遍采用的漏洞挖掘方法之一,模糊测试的实现方式是:通过构造能够使软件或被测设备崩溃的畸形输入来发现系统或被测设备中存在的漏洞安全问题。漏洞挖掘模块将利用人工智能的方式,从流量的角度对未知协议进行结构解析和状态解析,生成针对性模糊测试方案对测试目标进行模糊测试。
总结
目前,全球范围内已知的工控系统漏洞数量只有一千多种,绝大部分工控系统漏洞作为黑客手中的“核武器”非法存在。如何在黑客成功攻击工业控制系统之前帮助工业控制系统应用企业发现漏洞,进而促使其完善系统,成为保障工业控制系统安全运行、增强企业安全健壮性的必要手段。由于漏洞种类繁多,漏洞产生原理、触发条件彼此不一致,目前还无法对安全漏洞进行统一有效的挖掘。
因此,木链科技加大对漏洞发现于分析的研究力度,对各类漏洞采取更为主动合理的处理方式。同时将人工智能技术应用于漏洞的研究中,提高现有漏洞挖掘模型的准确度,有效解决漏洞定位、漏报误报等问题,实现智能化、自动化工控漏洞检测和研究。