工业互联网环境下的漏洞挖掘技术研究
2020-06-02赵振学石永杰于慧超
赵振学 石永杰 于慧超 张 畅
(1.武汉大学经济与管理学院;2.中国石油天然气股份有限公司西北销售公司;3.北京启明星辰信息安全技术有限公司)
我国关键基础设施的ICS 及其控制流程工艺基本上强依赖于欧美、 日本等工业发达国家,涉及SCADA、DCS、PCS、PLC 及FCS 等系统,“两化”融合使得这些ICS 更加互联开放,也导致ICS系统被病毒感染和网络攻击事件逐年增多。 漏洞、后门作为一种网络攻击资源,其挖掘与反利用已成为当前工业互联网安全领域的重要研究方向, 据工业互联网安全应急响应中心(ICSCERT)公布的工控漏洞信息显示,我国在石油能源、高端智能制造及航天航空工业等关键行业的ICS,每年发现的漏洞数量同比增加10%以上,中高危漏洞占比95%以上,还有被黑客和恐怖组织利用的一些未被公布的隐藏的漏洞和后门,在当前网络攻击风险不断增加的复杂网络空间形势下,利用漏洞、后门的攻击行为和窃密方式已成为“中国制造2025”的巨大威胁。
针对我国关键基础设施的核心工业互联网控制系统,通过融合多智能Fuzzing 测试技术、逆向工程技术等分析可能存在的后门和漏洞,研究切实可行有效的后门/漏洞防利用、网络与数据防窃取技术,阻止黑客、间谍等不法分子的网络入侵,防止通过WLAN、国外定位系统等非Internet方式潜入我国关键基础设施系统中窃取信息,提升工业互联网控制系统抵御网络安全风险的能力,已迫在眉睫。
1 工控漏洞挖掘的现状分析
面对工业互联网控制系统的漏洞挖掘,以美国、以色列为代表的技术最为先进,主要是漏洞挖掘的自动化水平高、规模化协同性强以及漏洞挖掘技术先进等。 具体表现为:美国、以色列主要研究多种漏洞挖掘技术相互融合的方法以此提高挖掘分析能力,自动发现二进制代码中的可利用漏洞,采用提高并发节点数,以“群智”方式,规模化协同来提升漏洞挖掘的效率,同时美国国家漏洞库(NVD)也是国际上漏洞发布量最多、最具权威性的漏洞库。
由于我国工业互联网控制系统特有的环境,相比美国、以色列等国家,我国漏洞挖掘技术相对滞后。 在研究国外漏洞挖掘技术的基础上,国内安全机构也陆续推出了能够支持多种典型控制协议的工控漏洞挖掘和扫描工具,但漏洞挖掘仅以开源代码分析、 逆向分析和人工分析为主,效率与准确度均较低,无法适应目前工业互联网漏洞威胁形势。 为此饶志宏提出了群智漏洞挖掘技术[1],付梦琳等提出了智能合约安全漏洞挖掘技术[2],意在利用协作、智能模式构建“群智”理念的漏洞挖掘平台和生态链,促进我国漏洞挖掘的协同水平,提升国家对漏洞战略资源的把控力。
近期频繁发生的工业互联网攻击事故,如委内瑞拉电力攻击事件,印证了“没有网络安全,就没有国家安全”这一网络安全理念,也说明网络空间安全是一场输不起的网络战争。 面对日益复杂的国际网络空间安全环境,研究高效化、规模化、“群智协同”的漏洞挖掘方法,提升国家对漏洞资源的掌控和管理能力,已成为维护国家安全的重要保障和迫切需求。
2 工业漏洞挖掘及其防利用技术研究
2.1 工业互联网漏洞挖掘方向
面对工业互联网的任何一种网络攻击事件,无一例外是利用网络及其设备的漏洞、 后门、错误设置等发起的。 我国工业互联网控制系统的漏洞,有别于通用的常规IT 系统漏洞,大部分控制系统来源于国外,尤其是美国、日本、德国及法国等,这些控制系统相对封闭,且控制通信协议相对私有,深度研究其通信协议和安全特性是极其困难的,漏洞涵盖网络安全中的安全计算环境漏洞、控制协议自身漏洞、应用系统漏洞及PLC 等控制器自身漏洞与后门等, 针对我国重点行业ICS 的漏洞挖掘研究对象主要有:
a. 软件漏洞。 包括西门子WinCC、Iconics GENESIS32、GE ProficyiFix 及亚控组态王等国内外主流的ICS 控制软件漏洞类型、机理和漏洞反利用方法。
b. 协议漏洞。 除了常规的Ethernet、ARP、IP、ICMP、IGMP、UDP 和TCP 外, 还有针对Modbus、S7Comm、Profinet、DNP3.0、V.net、OPC(AE/DA/UA)、IEC 60870-5、IEC 60870-6、IEC 61850、IEC 104、MMS 及DeltaV 等主流ICS 专用通信协议的漏洞类型、机理和漏洞反利用方法。
c. 设备漏洞。 包括我国占有率较高的控制设备和系统,例如S7-300/400、Quantum PLC、Rockwell ControlLogix、Centum-CS300 及 Honeywell PKS 等主流工业控制系统控制器的漏洞类型、机理和漏洞反利用方法。
正是由于我国工业互联网控制系统的多样性、复杂性以及独特的国际网络空间环境,所以需要多种组合且深度融合的漏洞挖掘技术,以确保我国工业互联网控制系统在采购、 上线部署、版本升级的全生命周期阶段能够进行快速、准确的漏洞威胁挖掘和漏洞风险管理,避免国家基础设施因各类工控设备的漏洞利用遭受攻击,从而造成重大社会影响。
工业互联网控制网络现有的控制协议、控制软件在设计之初主要是基于IT 和OT 相对隔离以及OT 环境相对独立而设计的, 但目前IT 和OT 的深度融合打破了传统安全可信的环境,网络攻击可能从IT 层渗透到OT 层,进而渗透到生产工厂。 因此,面对工业互联网的漏洞挖掘不能独立于传统IT 的漏洞挖掘, 应该是IT 和OT 融合环境下的漏洞挖掘思维; 同时,OT 环境运行时,控制系统有强实时性、可靠性和稳定性的严格要求, 不能有任何外部干涉干扰其工艺控制,所以面对工业互联网是无法在正在运行的控制系统中实施漏洞发现与挖掘工作的。 参比国外的工业互联网漏洞挖掘经验以及近期我国颁布的《网络安全漏洞管理规定(征求意见稿)》,针对我国不同行业的关键基础设施, 应根据其工艺、网络结构及控制系统等,搭建满足不同行业、不同控制工艺、不同生产过程要求的仿真环境,采用网络博弈攻击的思维作为漏洞触发的诱因,在攻击双方各自采用自有安全策略的情况下,利用组合的漏洞挖掘技术,发现控制系统的漏洞及其利用过程,并将此策略用于真实的工业互联网控制系统的安全防御之中,以此增强工控系统的安全防御能力。
2.2 工业漏洞挖掘技术研究
工业互联网控制系统承担着生产运营的重要任务,生产安全首要保证其可用性,我国大量控制系统均携带各种漏洞风险在线运行,一旦发生恶意攻击事件将导致生产系统瘫痪、 工艺破坏,导致生产安全等不可预估的问题。
针对工业互联网控制系统的漏洞挖掘,需要在对控制系统网络特性、生产过程控制及其控制协议进行分析的基础上,采用融合的有针对性的Fuzzing 测试技术, 针对控制协议可能的异变情况, 对控制协议的每一个字段进行正交变换,按照控制协议的定义规则构建不同工艺和控制状态条件下的畸形协议测试报文,动态分析工业互联网控制系统回馈信号的异常状态、 动态解析,还原可被利用的漏洞和后门的轨迹过程,进而进一步分析其运行状态的正确性和可靠性,以此达到深度挖掘工业互联网系统存在的各类未知漏洞的目的。
工业互联网系统的漏洞挖掘原理为:融合控制系统的控制协议深度解析(DPI)和深度流量分析(DFI)技术,针对不同行业控制系统的控制协议特点,构造特定的畸形测试报文,分析控制系统的各种异常响应情况,达到漏洞挖掘及其被利用分析的目的。 漏洞挖掘测试系统架构如图1 所示,其过程为向特定的控制系统发送特定的控制系统协议报文,对ICS 设备和计算系统进行智能Fuzzing 测试[3],监视工控设备的响应报文,并分析报文的错误信息, 进而发现ICS 的漏洞或后门。
图1 漏洞挖掘测试系统架构
如何针对特定的控制系统, 构建比较完整的、可扩展的漏洞挖掘测试报文是漏洞挖掘快速性、准确性的关键。 一般而言,正常的控制报文包括控制字段、协议类型、数据字段、校验和及长度等, 只有与正常生产的报文不一致 (畸形报文)时,才有可能导致控制系统的不正常应答,这就需要融合测试用例含有潜在漏洞的报文语句。 基于融合测试用例的生成技术流程如图2 所示。
图2 漏洞挖掘融合测试用例构造流程
当前针对工业互联网漏洞挖掘的另一关键问题是如何提高测试系统的利用效率和测试进度,这就要求漏洞挖掘系统需要包含不同行业的控制系统及其工艺控制应用软件,尤其是特殊行业的控制过程,例如石油石化行业的炼化工艺应用系统(如PCS、APC、SCADA)、不同系统的控制协 议 (如Modbus TCP、Profinet、OPC AE/DA/UA等) 以及国外核心交换机 (如CISCO、Rugged-COM、Siemens 等),以保证测试环境的真实性。 为了提高测试效率,除了提高测试系统的硬件配置外,还需要采用多线程的测试方法满足加速测试进度的目的。
在采用多线程技术的智能Fuzzing 测试过程中,对“疑似漏洞”进行漏洞标识、信息关联、高危识别与等级定义,尤其需要反复、多层次、不同测试环境下的分析测试,以此对定制报文回馈的数据包精确定位, 确定漏洞的真实性和可复现性,否则误报结果会对工业互联网的网络安全造成灾难性的影响。
2.3 工业互联网攻击靶场技术研究
工信部针对工业互联网安全的三年规划明确指出:在2020 年前实现“一网一库三平台”体系的建设,“三平台”中最重要的是建设工业互联网安全仿真测试平台, 以石油化工炼化生产、油气管道输送、水利水务调度及核心工业智能制造等真实工业控制场景为基础,模拟业务流程和真实生产现场,满足网络安全培训、测试、验证及试验等多元化需求,其意义在于通过在模拟仿真测试平台上研究漏洞、 后门被利用攻击行为的特征,为网络安全防御提供真实的防攻击实例。
在真实的工业互联网生产OT 环境中, 存在大量的Internet 对企业网的攻击、 企业网对生产控制OT 环境的攻击、OT 内部之间互相的攻击、非合规外联、非法热点及WiFi 使用、非法外部介质的滥用而导致的生产OT 环境遭勒索病毒感染等网络安全事件,工业互联网攻击靶场建设就是为了模拟这些网络安全事件的发生条件,从而研究漏洞触发的环境以及被利用的过程、病毒运行的轨迹等。
工业互联网漏洞挖掘的攻击靶场环境不同于一般的IT 仿真环境,必须以其真实的运行环境为基础,应满足如下几点要求:
a. 运行环境的真实性。攻击靶场需要覆盖工业互联网控制系统的生产工艺、加工工序、流程生产环节、系统组态监控及控制程序等,必须支持我国主流且在我国关键基础设施中占有率较高的行业工业互联网系统, 如Siemens PCS7、艾默生DeltaV、Honeywell PKS 及横河CS3000 等,且支持多种工控协议。
b. 攻防博弈的真实性。只有在真实的攻防博弈环境中,发送特定编排的畸形测试报文,才能有效地触发漏洞、后门被利用的条件,达到漏洞挖掘的目的。 因此,工业靶场除满足靶场功能业务要求外,还需要实现攻防演练、漏洞挖掘、风险验证、应急演练及培训教育等全生命周期的能力提升和技术保障服务。
c. 靶场的多功能性。 靶场平台需实现多子系统交互和调度的接口规约以及平台自身安全保障功能,支持不同的平台架构,且增加必要的网络安全主动防御措施,以此满足主动防御安全策略研究的需要。
工控靶场系统架构如图3 所示。
图3 工控靶场系统架构
在目前国际网络空间日益复杂的网络环境中,工业互联网未知漏洞会作为一种稀缺的战略资源,被一些恐怖分子利用,针对国家关键基础设施的网络攻击, 其网络攻击威力是巨大的,会给国家和民生造成不可估量的损失,造成社会危害,其中委内瑞拉电力系统被攻击便是印证。 任何一类工业控制系统均不可避免地存在一些威胁漏洞,任何一种漏洞被利用均需要一定的触发条件和环境,利用工控靶场的测试环境,在攻防双方“对决”的环境下,漏洞的触发条件更为真实,在大网络安全时代,在此高仿真环境下,运用智能Fuzzing 测试技术, 设计测试用例并构造变异报文,挖掘工控协议漏洞的效率与真实性更具有现实意义。
3 结束语
尽管大部分的工业互联网控制系统不可避免地携带某些高危病毒在运行,但这些高危病毒被利用是有边界条件的,如何避免这些边界条件的发生, 针对工业互联网控制系统进行漏洞挖掘, 研究它们被利用的过程和病毒运行轨迹,并有针对性地进行安全防御,是抑制漏洞、后门、病毒发作的有效方法。 近年来,利用漏洞发起的工业控制系统网络攻击的事件逐年增多,研究工业互联网漏洞挖掘技术的现实意义非凡,有效的漏洞挖掘除了采用融合的智能挖掘技术外,在攻防博弈的靶场环境中,研究漏洞挖掘及其被利用的轨迹同样重要。 工业靶场的搭建研制不仅能够实现攻防演练、漏洞挖掘、风险验证、应急演练及培训教育等全生命周期能力的提升和技术保障服务,还可以更好地为确保工业互联网控制系统的运行安全提供主动安全防御实例。