导读:随着工控系统和互联网的交叉融合与边界模糊,边界部署的安全设备无法进行有效防护。已有的安全检测平台和系统,对工控系统安全事件的理解和整合能力不足。在深入理解工控系统的工业属性以及安全需求的基础上,结合深度数据包检测、网络威胁情报感知、协议解析及数据挖掘等人工智能方法,设计工控网络安全监测分析及溯源系统,实现数据驱动的工业互联网态势感知、检测预警、攻击溯源及反制,有效提升工控系统的安全实时检测、感知预警与防护水平。
DOI:10.19358/j.issn.2096-5133.2019.01.003
文章来源:《信息技术与网络安全》2019年第38卷
第1期:14-19
工控系统安全监测及溯源系统的设计与实现
张玫1,曾彬2,朱成威3
(1.中南林业科技大学,湖南 长沙 410000;2.湖南友道信息技术有限公司,湖南 长沙 410000;3.中国科学院深海科学与工程研究所,海南 三亚 572000)
关键词:工业控制系统;安全监测;深度数据包检测;攻击溯源
中图分类号:TP393
文献标识码:A
引用格式:张玫,曾彬,朱成威.工控系统安全监测及溯源系统的设计与实现[J].信息技术与网络安全,2019,38(1):14-19.
引言
随着工业网络的融合发展,工业控制系统(Industrial Control System, ICS)面临的安全形式愈发严峻,用户遭受的网络攻击越来越复杂和隐蔽[1-2]。ICS逐步由物理隔离的封闭网络系统实现与IP/IT网络融合,在提升效率的同时,也会造成传统的IP/IT系统攻击行为渗透到工控网络中来,使得工业协议漏洞和工业系统威胁来源日益增加[3-4]。另一方面,由于ICS工业通信协议相对简单、操作系统和软件缺乏安全性,这些漏洞很容易受到攻击[5-6]。传统以“防护”为主的安全体系面临极大挑战:各种检测技术从不同的角度发现网络中可能存在的安全问题,但无法准确和有效地找出工控网络中存在的真实威胁,对工业生产系统的通信行为、工控协议漏洞、异常事件的捕捉、数据的真实性、完整性进行有效监控与溯源分析是非常必要的[7-9]。
1 相关工作
针对工控系统面临的网络安全风险与挑战,欧美等发达国家在技术标准、搭建攻防实验室等方面都加大了投入,比如在 2014年由美国能源部、美国爱荷达国家实验室和Nexdefense公司联合开发的工业异常检测系统(Sophia)正式被宣布为商业化产品[10]。在国家政策的扶持下,我国的工控安全厂商在工控安全领域也取得了不错的进展,但是就对工控网络的整体防护技术而言,和西方发达国家还有一定的差距。常见工控安全监测分析技术手段主要包括三种:
(1)基于特征库匹配,通过对工控网络中传输数据与所积累入侵模型进行对比,如具有一致性则判断为入侵行为从而产生报警;
(2)基于流量分析,通过采集分析工控网络中的原始通信报文,进行2~7层解码分析,对异常流量进行实时检测和流向跟踪;
(3)基于工控协议解析,针对OPC、S7、Modbus等主流工控协议进行深度解析还原,发现存在的安全漏洞[11-14]。
总体说来,已有的工控安全监测分析系统,对工业威胁情报的理解、分析和感知能力不足,具体表现为:对工控协议的支持不足;缺少工控安全事件的归一化能力;缺少机器学习等智能算法的理解、分析和关联能力,无法实现工控网络安全态势的多维感知和预测等。
2 系统设计
系统采用全新的分布式协同测量体系架构,支持虚拟化部署与分权分域部署。系统基于“分布式部署、集中化管理”的设计理念,安装部署简单,只在需要监控的网络链路中部署分布式智能探针,用于网络流量的采集和预处理,单台探针也能同时监测多条链路。
2.1 系统组成
系统采用前端分布式监测采集(智能采集探针)与后台集中式综合分析(数据分析中心)的系统结构,充分发挥网络监测探针强大的数据采集、存储与分析能力,提供数据平面与控制平面全面的监控指标与可视化分析。系统整体架构如图1所示。
智能采集探针工作在设备层、数据采集层;数据分析中心工作在分析调度层和交互层。设备层主要用来对链路进行监控,可监控链路层和网络层的流量、应用层协议和链路上的硬件设备;数据采集层采集链路设备上的数据,支持采集流量、设备、会话、业务、性能、安全等多元网络数据,将采集到的数据经过格式化处理后进行存储;分析调度层进行智能关联分析,包括多维度流量透视、协议健康度评价、攻击检测与分析、安全事件回溯、综合态势感知等;交互层提供可视化的管理功能,实现探针管理、策略管理和数据输入输出管理。
数据分析中心子系统统一管理与控制各分布式探针,以轮询方式或接收主动汇报方式采集探针的指标数据,采用B/S方式为用户提供操作界面,提供工控安全事件检测、安全态势感知、流量跟踪溯源、业务健康度分析、故障预警告警与趋势分析等功能,为工业网络运行维护、规划设计、业务部署、协议研究与设备研发提供网络运行实际数据。
2.2 智能采集探针设计
探针通过镜像或分光方式全量捕获流量,这种非侵入式被动监测方式不对工业生产造成影响。除了底层物理层协议的不同之外,上层从IP层开始,所有处理方式类似。不同接口采用不同监测分析板卡实现,如图2所示。将数据包采集、转发与深度分析相分离,专用板卡在收到数据包后立即转发以保证低延迟的同时,通过与主机CPU共享独占内存单元的方式依指定规则将不同组别的数据包HASH到不同的CPU上去。系统利用多核特性并行处理和分析每一个数据包、每一条流、每一次业务流程,可以广泛关联,使得充分的带宽关怀与净化策略扩展成为可能,从包、流、会话、文件、协议元数据、网络行为、文件行为等多个层次进行检测,获得威胁信誉、威胁名称、核心行为等多维度信息,包括指令级的工业控制协议通信记录。
探针系统采用深度包检测技术、Suricata+PF_RING技术,对大流量、高并发网络进行全流量采集和初步分析,如图3所示。PF_RING技术用于数据采集处理捕包过程中减少硬件和操作系统的中断次数和内存在内核空间与用户空间之间的拷贝次数,提升网络流量数据的采集性能,Suricata可以对捕获的数据包进行重组,过滤和初步分析,并将分析结果封装成消息数据后传输给数据分析处理模块。数据分析处理模块基于协议指纹特征进行流量样本库的建立,与系统累积的事件规则标识匹配。未标记的流量数据,运用改进的半监督聚类算法建立工控系统数据报文分析模型,在原有的事件规则匹配库的基础上制定实时检测规则。实时检测根据制定的检测分析规则对实时数据进行在线匹配,输出结果。
2.3 系统部署
系统提供工业以太网各种监测接口,探针可以部署于生产单位网络出入口、网络骨干、汇聚或接入层以及工控生产现场各层,接受数据分析中心的监控配置信息,采集实施数据,监测待测链路与设备的状态、安全事件、业务、性能与流量等。在工控网络环境中以SCADA(Supervisory Control And Data Acquisition) 网络为例,工控安全监测及溯源系统的典型部署如图4所示。首先,把“数据采集探针”部署在站控层的汇聚交换机旁,通过端口镜像方式复制该工业以太网中的通讯报文。“工控安全监测及溯源管理分析平台”部署在控制中心,以B/S方式实现对“数据采集探针”的远程集中管理和数据综合分析。
通过对站控层网络通信报文的全流量采集分析,实现对工控指令攻击、攻击参数篡改、误操作、违规行为、非法设备接入、工程师站组态变更、操作指令变更、PLC下装、负载变更等行为进行实时检测,对端口扫描、代码溢出、木马病毒、蠕虫、系统漏洞等攻击的检测和溯源。
3 关键技术
3.1 工控系统的协议深度解析分析
各种工控专用协议的精确深度解析非常具有挑战性,仅采用单一的协议解析方法具有诸多限制,很难保证工控网络中主流或私有协议的准确识别;而且现有的相当一部分流量识别方法仅仅是面向了离线识别的应用,而不能满足在线识别的要求。系统综合采用特征串匹配、协议特征分析、业务行为统计特征、流关联和机器学习等多种技术,针对Modbus TCP、DNP3、Profinet、OPC、S7、IEC等主流工控协议进行特征提取和过程还原。并且通过应用层业务识别描述语言解释器,既实现对典型应用层业务的识别,又可拥有对新出现和工控领域中专属业务识别的扩展能力。应用层业务识别描述语言采用类XML的形式,定义了一套灵活、方便的协议识别规则描述方法,可实现对2~7层各类协议的规范化描述。在识别模块中主要完成识别引擎(完成具体识别的过程)和识别规则管理两部分的功能。识别引擎如图5所示。
3.2 工控网络异构安全告警挖掘、关联引擎
在流量行为分析的基础上,结合持流量、性能、威胁情报、设备等结构化及非结构化数据的关联建模分析技术,实现网络安全态势可视化与有效防护。如图6所示,在kill chain等相关研究的基础上,把网络入侵的行为划分为3个步骤,7个阶段。并基于划分,对收到的海量告警信息进行拆分和关联,设计和开发了异构数据源的告警挖掘、关联分析引擎,支持对IDS、防火墙、漏扫业务产生的日志进行关联分析。采用关联分析、时序模式分析、聚类分析法等方法对告警数据进行关联处理。比如对网络的流量大小、业务分布、端口情况等进行建模,当发现网络中的流量分布和正常流量存在偏差时,通过异常流流量和kill chain确认阶段的告警信息,对模型的差异进行分析,可以确认设备已经感染木马或者蠕虫等恶意程序。
3.3 海量原始数据的存储回溯方案
系统支持200多类工控网络常用运维协议识别、深度解码分析与长时间存储,便于安全事件的调查取证。同时具备快速的数据检索回放能力,能够方便回查历史业务流量的原始数据。
数据来源包括网络流量、app数据、数据文件、网络日志、第三方数据、DDoS攻击、蠕虫、木马、海量安全事件日志、指纹终端、物联网终端、资产数据、其他数据等。
采集器实现全网实时流量数据捕获,采集数据的速度与数据处理速度不一定同步,因此添加Kafka作为数据缓存层。
离线批处理模块订阅Kafka中的流数据,使用SparkSQL、Spark MLlib、MapReduce对数据进行深度挖掘、数据聚合、攻击溯源、热点统计、用户统计、用户画像分析,对分析后的数据定期存入数据库。
实时在线处理模块SparkStreaming订阅Kafka中的流数据,结合预处理集群,对实时数据实现在线实时分析,多维度扩维、异常告警、异常行为等数据,分析到的实时流数据、热点数据、用户数等数据可缓存Redis,供界面展示或者第三方接口调用,同时可将扩维、异常等数据存放数据库。
MySQL存储基础数据,如汇聚后的汇总数据、基础配置数据等;Hbase存储海量实时数据、汇聚数据、溯源攻击数据;HDFS存储历史流量数据、原始数据包等;Redis存储热点数据、用户数等数据。
MQ+实时告警分析模块从实时在线处理模块获取实时流记录匹配告警规则产生实时告警数据推送至MQ供Web进行展示。根据不同客户对不同数据源的需要,可以在不同的节点提供接口分享数据。图7为大数据存储回溯解决方案。
4 系统实现与应用
以某厂实际部署的工控网络安全态监测分析及溯源系统为例,含工控探针2台,互联网探针1台,数据管理分析中心1台。在数据管理分析中心的展示界面,既可以分工控探针、互联网探针查看流量数据的安全及访问状态,也可以一起查看所有探针的数据。通过该系统的部署,从全网安全态势感知、工控安全检测、工控流量分析、关键事件检测、数据溯源分析、指纹识别和无损探测、威胁文件还原、工控安全反制、告警等方面实现对生产流程的全方位管控,保障单位生产的正常运行。
支持对OPC、Siemens S7、Modbus、IEC104、Omron FINS、DNP3等主流工控协的精准识别与流量成分及流向分析,展示各终端设备的网络通信轨迹与状态。
通过全流程检测,对工控指令攻击、攻击参数篡改、PLC下装、误操作、操作指令变更、违规行为、非法设备接入、工程师站组态变更、负载变更等行为进行记录和存储,用于后续工控操作行为与违规事件的事后分析。
可对异常工控协议报文进行匹配检测,并定位其中攻击行为,对安全隐患进行直观的分析,能够对网络安全告警流量从被攻击分析与攻击分析两个角度查看,支持任意维度(如告警类型、告警信息、目标国家、目标城市、协议、源地址、目的地址、嫌疑犯用户组、严重等级)多层次按顺序关联分析,同时可以其中任一个维度作为起点并在其中间任意游走,支持多维度的Drill-Down分析,并且可以查看告警事件趋势、事件数目、流量状态等详情。可以对告警来源、目的、安全网关、协议、类型以及告警级别内容进一步地分析、展示。同时,系统内置31 000+安全规则库,提供全局数据安全检测分析,包括对工控指令攻击、病毒、木马、攻击参数篡改等攻击行为。
保存所有终端设备的会话记录,支持原始数据报文保存,可对历史数据包回溯,可按照时间、IP、端口、协议等多条件查找历史会话和数据包,可查看每一条会话记录的原始数据包交互信息、各层协议解码信息。支持扩展对安全设备及网络设备日志进行采集和检索,便于日后对于各类安全、生产事件的回溯取证。
通过主动扫描探测与指纹特征提取技术,展示当前工控设备与资产的现状与存在的漏洞,如基础的DCS、PLC、SCADA设备等(首页展示,国际流量交互情况,识别本厂、本省网络工控设备)。主动探测扫描信息,包括IP、端口、区域位置、版本、协议名称、厂商、PLC名称、模块名称、模块序列号、模块类型名称等内容。
支持对文本、图片、音视频、可执行文件、压缩包等基于HTTP/FTP/邮件等协议传输的各类型文件进行还原,支持被还原文件下载查看,并且要支持对威胁文件(如exe、dll等文件类型)数据报文检测、捕获并还原威胁文件,如图8所示。
当系统通过检测分析手段发现工控网络存在异常风险时,支持对异常行为、攻击行为进行反制。具体手段包括防火墙实时策略、接入系统联动、流量反制、DoS反制。
5 结论
本文结合深度数据包检测、攻击特征匹配、协议识别、网络行为学等多种技术手段,实现在工控网络中的高性能数据包采集和智能分析。通过分布式部署在网络关键节点的探针,实时全量捕获数据包级工控网络通信流量,能提供最精确、最全面的网络流量、安全、性能、业务等统计数据,达到对工控系统任何时间任何地点的可视性监视,为故障快速排除、事故调查追责提供原始数据支撑与关键指标的深度挖掘。
参考文献
[1] 王小山,杨安,石志强,等.工业控制系统信息安全新趋势[J].信息网络安全,2015(1):6-11.
[2] Peng Yong,Jiang Changqing,Xie Feng,et al.Industrial control system cybersecurity research [J].Journal of Tsinghua University:Science and Technology,2012,52(10):1396-1408.
[3] 王玉敏.工业控制系统的常见攻击[J].中国仪器仪表,2012(3):49-54.
[4] 冯涛,鲁晔,方君丽.工业以太网协议脆弱性与安全防护技术综述[J].通信学报,2017,38(S2):185-196.
[5] CHAI T Y.Research status and development direction of industrial process control system[J].Scientia Sinica Information,2016,46(8):1003-1015.
[6] U S Department of Energy National SCADA Test Bed Program.Top 10 vulnerabilities of control systems and their associated mitigations[Z].North American Electric Reliability Council Control Systems Security Working Group,2016:1-8.
[7] 赖英旭,刘增辉,蔡晓田,等.工业控制系统入侵检测研究综述[J].通信学报,2017,38(2):143-156.
[8] 杨安,孙利民,王小山,等.工业控制系统入侵检测技术综述[J].计算机研究与发展,2016,53(9):2039-2054.
[9] 张帅.工业控制系统安全风险分析[J].信息安全与通信保密,2012(3):15-19.
[10] 王毅凡,宋志慧,周密.美国加强工业控制系统安全建设的主要举措探究[J].信息安全与通信保密,2014(6):48-53.
[11] 侯重远,江汉红,芮万智,等.工业网络流量异常检测的概率主成分分析法[J].西安交通大学学报,2012,46(2):70-75.
[12] GREEB B,PRINCE D,ROEDIG U,et al.Socio-technical security analysis of Industrial Control Systems (ICS)[C]. International Symposium for ICS & SCADA Cyber Security Research, 2014.
[13] 罗耀锋.面向工业控制系统的入侵检测方法的研究与设计[D].杭州:浙江大学,2013.
[14] 卢慧康.工业控制系统脆弱性测试与风险评估研究[D]. 上海:华东理工大学,2014.
(收稿日期:2018-12-10)
作者简介:
张玫(1981-),女,硕士,讲师,主要研究方向:网络性能管理和测试、网络安全。
曾彬(1979-),男,博士,高级工程师,主要研究方向:网络测试、网络安全、大数据分析。
朱成威(1980-),男,硕士,工程师,主要研究方向:计算机网络智能运维和网络安全。
声明:本文来自信息技术与网络安全,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。