本文是一篇计算机论文,本文基于传统虚拟蜜罐Honeyd提出一个高交互工业控制系统蜜罐框架。该框架基于Honeyd的网络拓扑虚拟功能来模拟一个真实的工控小场景,场景内对应的工控节点系统指纹与协议栈响应指纹采集于真实设备。
第一章绪论
1.1研究背景及意义
1.1.1研究背景
随着互联网的快速发展和近年来万物互联(Internet of Everything,IoE)的日益普及,为进一步推进我国产业转型升级,工业化和信息化深度融合推动工业控制系统(Industrial Control System,ICS,简称工控系统)由传统的封闭管理逐渐转为开放。工控设备开始通过网络与外界互联,并允许远程操控,增强了工控系统的功能,为操作人员和管理人员提供便利。工控系统是一个集合术语,用于描述不同类型的控制系统和仪器仪表,包括用于操作或工业自动化的设备、系统、网络等,常见于制造生产和运输、能源、水处理等关键基础设施场景。传统上,工业控制系统运行在物理隔离的网络中,其高可用性、高可靠性和低时延通信的特点决定了它不能在协议通信上采用复杂的方案,如常用工业通信协议明文传输、工控设备采用简单身份验证甚至缺乏认证即可操作设备[3]、要求7天*24小时不间断生产等。这些特殊性使得当前开放互联的工控系统非但没有解决安全问题,反而将安全缺陷暴露给攻击者,导致工控系统安全形势更加严峻。
如图1-1所示[4],工控漏洞数量在2006年—2020年期间,被披露的工控漏洞数量显著增长,这可以归因于逐渐成熟的互联网技术助力制造业转型升级,一定程度上破坏了传统工控系统的结构,遭受了更多来自互联网的恶意攻击,暴露了老旧工控设备原有的安全脆弱点,受到越来越多攻击者的关注。
1.2国内外研究现状
工控蜜罐,即工业控制系统蜜罐,是把20世纪90年代第一次在黑客小说《The Cukoos Egg》中提到的蜜罐概念应用到工控系统中。从安全专家Cohen开发的欺骗工具DTK和提出的欺骗模型至今,随着互联网的发展和人们网络安全意识逐渐增强,互联网蜜罐已经有长足的发展。并在2004年开始转向其他领域,如工业控制领域[13]。相比互联网蜜罐,工控蜜罐诱骗攻击者的方式不止于模拟通用通信协议的服务,如HTTP、SNMP、SMTP等,更需要对不同系统使用的私有专用协议进行模拟,这往往对研究人员的工业通信知识储备提出了更高的要求。历经了近二十年的发展,工控蜜罐的研究思路和实现方法也有了相对确定的趋势。如何根据工业控制系统的特点提出架构合理的工控蜜罐,国内外研究人员在传承的基础上不断推出各种新型工控蜜罐架构,原理虽有不同,但理念基本一致,即通过增加协议支持的广度和深度,或者基于模拟,或者基于实物工控设备,研究成果如下。
1.2.1基于虚拟仿真的工控蜜罐
2004年,思科公司在其监视控制与数据采集(Supervisor Control And Data Acquisition,SCADA)蜜网项目[14]中首次提出了以开源蜜罐框架Honeyd[15]为基础的工控蜜罐网络,它是第一个能支持工业通信协议Modbus/TCP的工控蜜罐。另外该蜜罐还支持Telnet、HTTP、FTP协议的服务模拟。但由于其对工业通信协议的支持仅限于Python脚本模拟,并不能支持与攻击者进行交互。
2006年,Digital Bond[16]也在其SCADA蜜网项目中提出一种工控蜜罐架构,其中使用一台虚拟机来模拟PLC,在Modbus/TCP、FTP、Telnet、HTTP和SNMP等协议提供服务模拟;另外使用一台虚拟机部署蜜网网关,用于控制和监视进出蜜罐的流量,特别是攻击者的交互行为,这是把工业服务模拟和数据监控系统分离的首次尝试。
第二章工控蜜罐相关基础
2.1引言
工业控制系统将信息技术和自动化控制技术结合,通过工业控制设备对工业传感器或现场设备所采集的信息进行分类、整理、分析、反馈,实现一体化的信息管理和自动控制,可看作是一种监视和控制工业过程和关键基础设施的计算机系统,也可看作是一个用于描述不同类型的控制系统和相关仪器设备的统称,包括用于操作和工业过程自动化的设备、系统、网络和控件,往往因行业不同而结构及功能各异,但都是为了以更高效的方式完成工业生产任务。
本章首先根据工业控制系统的普渡模型(Purdue Reference Architecture)的定义介绍典型工业控制系统的主要层次的功能及其依赖关系。然后重点分析了工业控制系统中潜在的网络威胁,揭露工控系统遭受网络攻击的一般过程。最后对蜜罐技术进行分析,总结近年来蜜罐技术在工控系统安全防护的研究和应用。
2.2工业控制系统安全架构
在工业控制领域中,为了指导企业构建工控自动化环境及利用信息技术(Information Technology,IT)形成智能化的生产制造系统及网络,在20世纪90年代,由Theodore J.Williams和普渡大学计算机继承制造联盟的成员提出了Purdue Enterprise Reference Architecture(PERA)模型[40],简称普渡模型,它勾画了一个制造企业的完整结构及对应的资产、数据流、安全风险等。该模型后被ISA99标准(现在的ISA/IEC 62443[41])及其他工业安全标准采纳,并作为工控系统网络分层分段的重要参考。
工控系统普渡模型把一个工业企业划分两个区域—信息技术域和运营操作域,并对这两个区域细分为六个层次,成了度量良好制造企业的可靠标准,其基本架构图如图2-1所示。
(1)Level4/5企业区域(Enterprise Zone)
普渡模型的第5和第4层构成经典的企业IT网络,集中了企业主要的业务功能[2],包括制造业务的协调、企业资源规划(Enterprise Resource Planning,ERP)、产品生命周期管理系统(Product Lifecycle Management,PLM)、供应链管理系统(Supply Chain Management,SCM)、客户关系管理系统(Customer Relation Management,CRM)等这两个层次一般不与工控系统直连,但需要得到OT网络和工控系统组件的准确、及时的信息支持。
(2)工控系统非军事化区(DMZ)
该区域既实现了IT网络和OT网络之间的信息共享,又通过部署防火墙、入侵检测、入侵防护和代理服务器等安全系统来防止IT和OT之间的威胁传播,在不将下层关键组件直接暴露在IT网络的情况下实现IT信息的安全交换。
第三章 高交互工业控制系统蜜罐架构设计 ....................... 21
3.1 引言 .................................... 21
3.2 基于虚拟仿真技术的高交互工控蜜罐架构设计 ........................ 21
3.3 基于中间缓存的工业通信响应 ..................... 27
第四章 高交互工控蜜罐的关键模块实现 ........................... 37
4.1 引言 ...................................... 37
4.2 中间缓存模块的具体实现 .............................. 37
4.3 基于 LightGBM 算法的现场数据预测模型实现 ...................... 39
第五章 蜜罐搭建和实验分析 ..................... 45
5.1 实验环境及条件 .................................... 45
5.2 虚拟工控网络部署 .............................. 45
5.3 中间缓存模块测试 ............................. 46
第五章蜜罐搭建和实验分析
5.1实验环境及条件
本论文的实验工作主要在笔记本电脑及相关虚拟系统上进行,具体配置如表5-1。
此外还应用了虚拟蜜罐Honeyd 1.6d版本、Python3.8、Snap7通信库、Modbus/Pull、ISF框架、wireshark、nmap7.0、zmap等软件。
第六章总结与展望
6.1总结
本文以“两化”深度融合推动工业控制系统从封闭走向开放为背景,总结了逐渐开放的工业控制系统暴露的漏洞趋势以及多年来蜜罐技术在工控安全研究的应用成果。针对现有以虚拟仿真技术为主的工控蜜罐交互能力受限的情况,本文基于传统虚拟蜜罐Honeyd提出一个高交互工业控制系统蜜罐框架。该框架基于Honeyd的网络拓扑虚拟功能来模拟一个真实的工控小场景,场景内对应的工控节点系统指纹与协议栈响应指纹采集于真实设备。另外针对现有工控蜜罐在工业业务仿真和协议扩展上的不足,本研究从中间缓存探索工控蜜罐的协议扩展性以及从物理过程参数仿真还原工业业务逻辑。
(1)基于中间缓存的思想解决工控蜜罐在协议支持广度和便捷性的不足
现有的工控蜜罐如Snap7、CryPLH、XPOT等交互程度较高的也只能支持特定的工控协议,而且每增加对一个私有协议的支持都要耗费大量的时间去分析协议数据包,通过逆向工程获取该协议的规约,最后通过编写服务端程序实现对协议的扩展。而本研究中借鉴了中间缓存思想,抓取待扩展协议正常控制逻辑的流量数据,提取出通信模板和动态格式字段。把以上提取的模板和字段作为缓存数据以应对工控蜜罐受到的外部扫描,根据模板匹配请求的响应。此方法不需要对请求-响应消息内容和格式的完整语义知识,节省了对协议的每个方面进行逆向的时间和精力。
(2)基于物理过程参数预测实现对原工控场景的工业业务仿真
现有大多数的工控蜜罐对工控场景的仿真都只是停留在协议层面,如所支持的功能码的多少。经典的工控蜜罐Conpot支持10多种工控协议,但其模拟具体工控设备时无法还原具有时序特性的物理过程参数变化。工控协议的控制逻辑具体表现在其控制设备的数据变化,如果能用机器学习算法把一个场景内生产设备的物理过程参数变化学习到,并训练成预测模型,那么在部署工控蜜罐时即可同步运行预测模型,这样模拟工控设备的蜜罐就具有了工业业务逻辑和数据的支持,从而增加工控蜜罐的迷惑性。
参考文献(略)