物联网、工业物联网及网络物理系统领域蜜罐和蜜网相关研究综述(中)
日期:2022年06月01日 阅:2
Javier Franco,Ahmet Aris,Berk Canberk,A. Selcuk Uluagac
网络物理系统安全实验室,佛罗里达国际大学,佛罗里达,USA
计算机工程系,伊斯坦布尔技术大学,伊斯坦布尔,土耳其
邮箱:{jfran243, aaris, suluagac}@fiu.edu, [email protected]
【摘要】
物联网(IoT)、工业物联网(IIoT)和网络物理系统(CPS)是关乎国计民生不可或缺的基本生产要素,广泛应用于居家、建筑、城市、健康、交通、制造、基础设施以及农业等各种生活场景。因其固有局限性难以避免引发漏洞,这些系统已成为攻击者的重点关注目标。蜜罐和蜜网欺诈攻击者,伪装成真实的业务环境,能够精准捕获攻击数据,分析攻击行为,有效防御针对IoT、IIoT和CPS环境的攻击,是防火墙和入侵检测系统(IDS)等其他安全解决方案的有力补充。本文全面调研IoT、IIoT和CPS领域中蜜罐和蜜网的相关研究工作,深入分析已知的蜜罐和蜜网,提出一种分类方法,详细阐述最前沿工作的关键要素,明确指出亟待解决的热点问题。
关键字:蜜罐、蜜网、IoT、IIoT、CPS
本文为本文为《物联网、工业物联网及网络物理系统领域蜜罐和蜜网相关研究综述》中篇,欲阅读完整内容,请点击下方链接:
《物联网、工业物联网及网络物理系统领域蜜罐和蜜网相关研究综述》(上)
《物联网、工业物联网及网络物理系统领域蜜罐和蜜网相关研究综述》(下)
7. 工业物联网和CPS场景中的蜜罐和蜜网
表6. 通用型ICS蜜罐列表
本节,对工业物联网和CPS业务场景下的蜜罐和蜜网进行综述,并基于应用类型对这些工作进行分类,包括:ICS、智能电网、水治理系统、燃气管道、建筑自动化系统,以及工业物联网。
A. 工控系统蜜罐和蜜网研究
本小节,简要概述工控系统的蜜罐和蜜网相关研究。表6列出通用的工控蜜罐。
CISCO SCADA蜜网项目:2004年,Pothamsetty和Franz在Cisco的SCADA蜜网项目中提出第一个SCADA工控系统的专属蜜网。SCADA蜜网基于开源蜜罐Honeyd[50]实现,是一个低交互蜜网,支持仿真运行在可编程逻辑控制器(PLC)上的Modbus/TCP、FTP、Telnet以及HTTP服务。
Digital Bond SCADA 蜜网:2006年,Digtal Bond提出第二个SCADA工控系统蜜网,名为SCADA蜜网[105][106]。该蜜网包含两个虚拟机:其中一台仿真运行着Modbus/TCP、FTP、Telnet、HTTP以及SNMP服务的一个PLC控制器,另一台是一个第三代蜜墙。蜜墙是SCADA蜜网[104]的修改版,专门负责监控蜜罐的流量和攻击者之间的交互。
Wade[107]在其论文中基于Digital Bond的SCADA蜜网分析工控系统蜜罐的诱捕力。Wade提出的蜜罐仿真了一个运行着Modbus TCP、FTP、Telnet和SNMP服务的Schneider Modicon PLC。
Conpot和基于Conpot的工控蜜罐:Conpot[108]是研究人员使用最多的工控蜜罐。它是一个开源的低交互蜜罐,隶属于蜜网项目[109]开发实现,至今仍在维护中。Conpot支持各种工业协议,包括IEC 60870-5-104、建筑自动化和控制网络(BACnet)协议、EtherNet/IP、Guardian AST、Kamstrup、Modbus、S7comm以及其他协议,譬如:HTTP、FTP、SNMP、智能平台管理接口(IPMI)和TFTP。Conpot为西门子S7级PLCs、Guardian AST储罐监控系统和Kamstrup 382智能电表提供了模板。
Jicha等人[118]通过AWS云平台在全球6个不同的地点部署了Conpot蜜罐,每个地点配置并部署两个Conpot实例。其中,一个基于默认配置;另一个采用气罐液位SCADA Conpot。蜜罐运行了15天,研究人员分析了仿真协议与Nmap扫描工具交互的行为,以及Shodan查询引擎的扫描数据。分析结果显示,Shodan和Nmap识别的端口存在差异。
Zhao和Qin[110]提出一种增强型Conpot蜜罐,附加支持西门子S7comm协议的功能和子功能,以及一个动态人机接口(HMI)用于评估工控环境的威胁。研究者声明其研究工作增强了Conpot的交互级别,能够更好地支持西门子S7级PLCs。为期43天的观测实验中,收到来自34个不同国家的244个合法IP地址的流量。
Cao等人提出一种分布式工控蜜罐DiPot[111]。DiPot基于Conpot蜜罐框架实现,通过增加更高保真的工控协议仿真、数据捕获和基于K均值的聚类分析、可视化和统计支持能力,增强原有Conpot蜜罐的功能。作者指出,在世界范围的云主机中部署的DiPot蜜罐成功欺骗了Shodan搜索引擎,被识别为真实的工控设备。
Lu等人[119]在树莓派上部署Conpot仿真西门子S7系列PLCs。他们使用一个Arduino主板仿真PLC,使用另一个Arduino仿真传感器。然而,这项研究工作并没有描述基于Arduino仿真PLC的细节,也没有给出支持的工业协议。作者没有针对提出的蜜罐架构进行任何的部署和实验。
Ferretti等人[120]旨在分析互联网上针对工控系统的扫描流量。为了分析扫描器和它们的行为,作者部署了若干低交互的Conpot蜜罐。通过配置,每个Conpot蜜罐仿真一个采用特定通信协议(如:S7comm、Modbus/TCP、IEC-61850-104、EtherNet/IP、BACnet、HTTP、FTP和SSH)的特殊工控设备。经过四个月的运行,分析显示大部分扫描工具是合法的(如Shodan、Censys等)并显示出特定的扫描模式。作者指出,基于合法的扫描模式,可以为检测针对工控环境的恶意扫描和攻击行为提供线索。
CamouflageNet:Naruoka等人[121]提出一个工控环境的蜜罐系统CamouflageNet。CamouflageNet在工控网络中创建一组Honeyd蜜罐,这些蜜罐拥有相同的指纹(如:服务、端口、运营商)。当其中一个蜜罐捕获到一个入侵尝试,则动态改变网络中设备的IP地址。在工控协议和设备方面,CamouflageNet不仿真任何工控特殊的协议或模拟任何工控设备。
XPOT:Lau等人[112]为工控系统提出一个在研的中交互蜜罐,命名为XPOT。XPOT仿真西门子S7-300系列PLCs,允许攻击者编译、解释并加载PLC程序。蜜罐支持S7comm和SNMP协议。
HosTaGe:Vasilomanolakis等人[113]提出HosTaGe工控蜜罐,是他们早期移动蜜罐[122]的工控协议扩展版本。该蜜罐包括三部分:协议仿真、多阶段攻击检测和IDS指纹生成。协议仿真支持Modbus、S7comm、HTTP(S)、FTP、SIP、SSH、SNMP等多种协议。攻击检测模块基于扩展的有限状态机模型检测多阶段的攻击,这些攻击包括特定时间窗口内由同一个攻击源以串行方式实施的攻击。HosTaGe工控蜜罐可以产生开源入侵检测系统Bro使用的签名。此外,蜜罐系统将攻击注入的文件上传到VirusTotal来确定其是否为恶意。作者同时部署了HosTaGe和Conpot蜜罐。
S7CommTrace:S7CommTrace[114]是一个基于西门子S7comm协议的工控蜜罐,包括TCP通信、S7通信协议、用户模板以及数据存储模块。与Conpot相比,S7CommTrace支持更多S7comm功能和子功能。S7CommTrace和Conpot实例通过云平台部署在世界4个不同的地理位置,并持续分析60天。分析结果显示,S7CommTrace比Conpot接收更多连接请求,提供更多攻击数据。另外,所有Conpot实例均被Shodan采集到蜜罐指纹信息,而S7CommTrace实例无一例被识别出。
基于 Honeyd 的工控蜜罐:Disso等人[123]站在蜜罐视角研究SCADA系统的安全。他们创建了一个测试平台,包括一个真实PLC设备作为高交互蜜罐和一个基于Honeyd的低交互蜜罐。蜜罐前端部署蜜网项目的Roo蜜墙[124]。研究工作分析延迟、网络流量计数器和背景流量数据分析(即:反蜜罐技术),比较高交互蜜罐和低交互蜜罐。
Winn等人[115]提出Honeyd+,旨在使用基于单个物理PLC设备的代理技术构造若干高交互物联网蜜罐。Honeyd+基于带有工控PLCs仿真模板的Honeyd蜜罐实现。性能分析显示,Honeyd+能够使用一个基于树莓派主板的PLC设备仿真75个工控蜜罐,但当同时连接五个攻击者请求后,系统性能严重下降。
Gallenstein研究了工控PLC蜜罐的自动生成和配置,以使用最小的代价仿真不同供应商的PLCs。在其论文[116]中,作者将Honeyd和Warner[125]提出的ScriptGenE框架集成在一起。ScriptGenE是ScriptGen的扩展版本,是Leita等人[126]提出的自动协议重放框架。Gallenstein模拟了一个监狱工控环境,包括Allen-Bradley和西门子的三个PLCs,并利用Shodan Honeyscore、Nmap以及供应商工具(RSLinkx、STEP7等)测试了蜜罐的合理性。
Abe等人[117]提出一个工控蜜罐系统,采用Honeyd和Conpot框架,在此基础上增加追溯能力获取更多关于攻击者的信息。该蜜罐系统通过Conpot框架仿真工控协议和设备,通过Honeyd实现基本的蜜罐功能。作者在Honeyd中实现了Nmap,对攻击者进行反向扫描,获取与攻击有关的有效信息。
基于网络模拟器/仿真器的工控蜜罐:本类别中,本文简要概述基于网络模拟器/仿真器实现的工控蜜罐和蜜网。表7列出基于仿真器/模拟器实现的工控蜜罐。
表7. 基于网络仿真器/模拟器的ICS蜜罐列表
Haney和Mauricio提出一个基于IMUNES网络模拟器[44]的SCADA蜜网框架[127]。提出的蜜网利用蜜墙控制攻击者行为,基于IMUNES蜜罐模拟SCADA系统中的PLCs和RTUs。作者使用Java Modbus库(JAMOD)模拟Modbus/TCP,开发PLC状态变量、控制逻辑和仿真PLC控制过程的Java代码。他们还利用Honeyd为虚拟PLC提供Telnet、SSH和HTTP(S)服务。
Kuman等人[128]基于IMUNES网络仿真器利用Conpot蜜罐分析针对工控网络的攻击。他们修改IMUNES仿真的节点,使其能够安装Conpot实例,模拟西门子S7-300 PLCs;同时,部署了基于主机的IDS OSSEC来监控Conpot实例的行为。两周的实验观测显示,西门子S7-300 PLC蜜罐接收到针对Modbus和web服务器端口的扫描行为。
Ding等人[129]提出一个工控蜜罐,在IMUNES网络仿真器的基础上应用并修改了西门子S7comm协议。作者重点关注如何配置SNAP7工具,提供一个像真实西门子PLC设备的指纹,同时,添加了SNMP服务支持。IMUNES允许蜜罐使用轻量级的Docker容器技术实现快速启动。作者使用Nmap和PLC扫描工具验证蜜罐的指纹结果。
基于真实工控设备的蜜罐和蜜网:本类别中,概述基于真实ICS设备的蜜罐和蜜网。表8列出基于网络仿真器/模拟器的工控蜜罐。
表8. 使用真实设备的ICS蜜罐列表
Bodenheim在集成商网站中部署了4个高交互工控蜜罐[130],用来分析Shodan搜索引擎是否能够识别与互联网连接的工控设备,以及被Shodan索引是否会增加攻击的数量。该工作基于真实的Allen-Bradley PLCs实现,采用标准设置配置了两个蜜罐,一个蜜罐带有模糊的banner信息,另一个蜜罐的banner明确声明为Allen-Bradley PLC。长达55天的部署周期显示,Shodan检索不会增加攻击的数量。
Piggin和Buffey[39]提出一个工控生产环境中的高交互蜜罐,使用真实PLC硬件获取高保真数据,并防止自身被检测为蜜罐。同时,实现了一个PLC硬件的过程模拟。但是,他们并没有给出和使用的PLC、支持的协议和模拟过程有关的细节信息。研究工作实现了一个态势感知和取证平台,用来分析蜜罐流量。结果表明,大多数攻击是扫描行为。此外,他们发现了一些有针对性的攻击,包括:基于默认凭证的密码攻击、字典攻击、SSH暴力破解攻击、针对PLC工业协议的攻击,以及源自Tor网络的知识攻击。
Haney提出一个工控系统的混合高交互蜜网框架[131]。提出的蜜网包含一个蜜墙系统、一个运行在虚拟机中的SCADA HMI、物理PLC设备、仿真PLC设备和服务(如:HTTP、SNMP、SSH、Telnet)的虚拟节点,以及一个物理过程仿真。Haney不仅关注第三代蜜网的需求(如:数据控制、数据捕获和信息共享),也包括真实感、可扩展性以及抗检测性。
Hilt等人[40]构建了迄今为止最逼真的工控蜜罐。他们使用西门子S7-1200、Allen-Bradley、MicroLogix 1100和Omron CP1L 4个真实的PLC设备,建成了一个智能工厂蜜罐,每个PLC设备分配相应的角色实现,如:搅拌器、燃烧控制器、皮带控制器、码堆机。虚拟机中的每个PLC实现了HMIs。此外,实现了机器人和工程工作站,并部署了相应的软件。研究人员设置了一个文件服务器并在其上存放了虚假文件,同时将以太网分流器连接到树莓派上收集监控信息来监控蜜罐。蜜罐系统面向互联网打开了西门子S7comm、Omron FINS、EtherNet/IP以及VNC协议和服务的端口。为了欺骗攻击者不是蜜罐,研究者创建了一个有员工的虚假公司外壳,并基于人工智能生成了图片、用户资料、网站、邮箱地址以及手机号码;通过将信息发布到Pastebin上来吸引攻击者。经过七个月的部署观察分析显示,蜜罐接收到来自合法扫描器和未知来源的扫描攻击;三次勒索软件攻击;一次恶意加密操作以及一次机器人工作站信标尝试。但是,除扫描行为外,PLC蜜罐未受到任何有针对性的攻击。
其他工控蜜罐和蜜网:本类别中,简要概述其他工控蜜罐和蜜网。表9列出了其他工控蜜罐。
表9. 其他ICS蜜罐
Berman[132]在Gumstix主板上设计实现了一个可用作工控蜜罐的PLC仿真器。该仿真器基于Scapy库使用Python语言开发实现,看起来像是一个基于Modbus/TCP协议的Allen-Bradley PLC。Berman通过指纹和标准的流量响应测试评估仿真器的性能。
Jaromin提出一个仿真Koyo DirectLogic 405 PLC设备的工控蜜罐[133]。该蜜罐基于Berman的Modbus/TCP仿真器[132]实现,并添加了主机自动化产品(HAP)仿真和一个web服务器实现。此项研究工作开展了几项测试,来比较Gumstix部署、笔记本个人电脑(PC)部署和真实的Koyo DirectLogic PLC设备。
Holczer等人[134]提出一个面向工控系统的高交互PLC蜜罐,仿真西门子ET 200S PLCs的主要功能,支持西门子STEP7 PLC管理服务、HTTP(S)和SNMP服务。研究者在其高校校园网IP网段内部署蜜罐,实验显示,没有接收到多少攻击流量。
Serbanescu等人[135]提出一个工控场景的低交互蜜网架构。这项工作应用工控协议扩展了他们早期的蜜罐[139],创建了一个蜜网。蜜网部署在Amazon EC2平台上,包括6个蜜罐,兼容各种协议,如:分布式网络协议3(DNP3)、IEC-104、Modbus、ICCP、SNMP、TFTP、XMPP等。通过对为期28天蜜罐收集到的数据进行分析,结果显示,蜜罐只接受到侦测型扫描攻击。此外,研究人员发现,基于接收到的流量,工控协议最吸引攻击者关注的优先级为:Modbus、ICCP、DNP3和IEC-104。由此得出两项重要的推论:i) 攻击者基于Shodan扫描结果决定攻击哪些工控系统;ii) 攻击者向工控协议的标准端口发送特殊的非工控流量来实施攻击。
Simoes等人[136]为工控场景提出一个SCADA蜜罐架构,与他们早期提出的蜜罐架构非常相似[9]。架构仿真工控设备,既支持工控专门的协议,也包括其他通用型协议,如:SNMP、FTP。研究工作利用一个端口扫描模块检测侦察行为,一个防火墙来防止蜜罐成为攻击者利用的跳板,一个事件监控模块负责观测流量和攻击交互,以及一个管理和watchdog模块实现蜜罐配置。此外,作为概念验证(PoC),该工作在树莓派上实现了两个低交互的Modbus蜜罐,一个放在工控网络里,另一个放在数据中心。
Ahn等人[137]提出一个针对SCADA工控系统的安全架构,基于一个低交互蜜罐来检测可能的入侵,并实施ARP欺骗攻击,以便稍后破坏攻击者的ARP表。作者未提供任何实现细节,也没有给出任何性能评估结果。
Belqruch和Maach[138]实现了一个Kippo[52]蜜罐,专门针对SCADA工控系统的SSH暴力破解攻击。该项工作通过Kali Linux工具模拟攻击。
B. 智能电网领域的蜜罐和蜜网
本节,简要概述智能电网领域的蜜罐和蜜网。表10列出了智能电网蜜罐。
表10. 智能电网蜜罐和蜜网列表
CryPLH:Buza等人[140]提出CryPLH,一个低交互的虚拟智能电网工控蜜罐,仿真西门子Simatic 300 PLC设备。CryPLH应用NGINX和web服务器miniweb来仿真HTTP(S),一个Python脚本来模拟Step 7 ISO-TSAP协议和一个自定义的SNMP实现。作者在校园网IP网段中部署蜜罐,观察端口扫描、pinging以及SSH登录等入侵尝试。
SHaPe:Koltys和Gajewski为变电站场景提出一个低交互蜜罐SHaPe[141]。SHaPe能够仿真符合IEC 61850标准的变电站的任意IEDs,基于libiec 61850库扩展通用开源蜜罐Dionaea实现。
GridPot:Redwood等人[142]为SCADA系统提出一个象征性的蜜网框架SCyPH。该框架旨在将仿真的SCADA系统和物理模拟融合在一起,根据从物理模拟中获得的数据变化进行异常检测。在命名为GridPot的演示中,作者利用GridLab-D[45]模拟变电站和基于IEC 61850标准的通信,并为设备间的电压和电流实现了Newton-Raphson电流求解算法。研究工作利用Conpot仿真IEDs并同时为设备间交互实现了GOOSE/MMS和Modbus协议。
Kendrick和Rucker[146]部署GridPot蜜罐来仿真Modbus TCP、S7comm、HTTP和SNMP服务,以分析智能电网的安全威胁。尽管被Shodan Honeyscore识别出了蜜罐身份,为期19天的数据收集显示,GridPot接收到大量HTTP扫描行为,超过600个Modbus连接和102个S7comm连接。
Scott[8]实现了一个SCADA蜜罐,利用开源蜜罐Conpot仿真施耐德PowerLogic ION6200电表。作者在设备网络中其他SCADA组件的旁边部署蜜罐,根据攻击者交互行为的危险程度,通过配置蜜罐向一个日志服务器发送日志信息来告警网络管理员。该蜜罐支持Modbus、HTTP(for HMI)和SNMP。
Mashima等人[143]为智能电网场景的变电站提出一个可扩展的高仿真蜜网,其中包括一个支持标准智能电网通信协议IEC 60870-5-104和IEC 61850的虚拟变电站网关并打开了外部攻击者访问的入口点;虚拟IEDs由虚拟主机Mininet[48]和IED仿真器SoftGrid[46]表示;断路器、变压器等智能电网组件通过仿真器POWERWORLD[47]模拟实现。该蜜网是高可扩展的,能够抵抗针对Shodan和Nmap等攻击工具的指纹识别。
Hyun[147]基于Conpot蜜罐来研究工控环境下攻击的指标。作者配置Conpot仿真一个发电厂中的西门子S7-200 PLC设备。仿真实例支持HTTP、Modbus/TCP、S7comm、SNMP、BACnet、IMPI和EtherNet/IP服务。在校园网外部署4个月后,数据显示,主流的攻击尝试为HTTP、Modbus和S7comm服务。
Pliatsio等人[144]基于Conpot蜜罐框架提出一个智能电网蜜罐系统,包含真实的人机接口HMI和真实的远程终端单元RTU设备,以及两台虚拟机。其中,一台虚拟机运行虚拟的HMI;另一台运行基于Conpot的蜜罐,用来仿真一个RTU设备。Conpot蜜罐使用真实RTU设备产生的真实流量,以欺骗攻击者使其相信正在与真实工控设备交互。
Mashima等人[145]通过亚马逊云平台在5个地理区域部署了低交互的智能电网蜜罐,并分析蜜罐捕获的流量长达6个月。为了避免指纹攻击,研究工作没有选用开源的蜜罐框架,而是通过在多个工控协议的端口上设置TCP监听器来实现。实验表明,蜜罐实例捕获到针对IEC 61850和S7comm协议端口的SYN泛洪Dos攻击,以及针对DNP3和Modbus/TCP协议的扫描行为。分析显示,使用相同IP地址的同一组攻击者面向世界范围的智能电网蜜罐实例实施攻击,有时,针对某特定蜜罐实例的攻击,在接下来的一周会实施到另一个蜜罐实例上。
C. 供水系统蜜罐和蜜网
本小结分类概述供水系统的蜜罐和蜜网。表11列出了供水系统的蜜罐。
Wilhoit[148][153]通过部署高交互和低交互蜜罐来分析工控环境下攻击的来源和动机。该蜜罐系统模仿一个水压站。高交互蜜罐采用Nano-10 PLC和西门子Simatic PLC实现。低交互蜜罐通过创建一个看起来像是控制一个工控PLC的HMI实例来实现,并部署在全世界的亚马逊EC2云环境中。
表11. 供水系统的ICS 蜜罐列表
Antonioli等人[149]提出一个虚拟的高交互工控蜜罐,基于MiniCPS工控仿真框架[43]实现。该设计将蜜罐系统与真实的工控系统分离开来,部署虚拟VPN、Telnet和SSH服务器作为攻击者的蜜罐入口。网络、工控设备和物理过程仿真均基于MiniCPS框架实现。此外,研究人员在蜜罐中利用Tc程序管理仿真链接的带宽、延迟和丢包,并通过cpppo Python库实现EtherNet/IP通信。作者实现了一个水治理工控系统作为概念验证。
Murillo等人[150]提出一个虚拟的可部署工控蜜罐的实验平台。该平台使用MiniCPS[43]重点关注工控工厂的真实数学建模以及工控系统仿真设备的响应时间。作者基于MiniCPS添加一个非线性工厂模型来生成一个逼真的工控工厂,并部署了一个非线性控制系统的仿真网络,包括三个水罐、传感器、执行器以及PLC设备。此外,作者在控制系统之上模拟了偏倚注入攻击并提出缓解机制。
Petre和Korodi[151]提出一个解决方案,通过在对象链接和嵌入过程控制(OPC)统一架构(UA)封装结构中部署一个蜜罐来保护水泵厂免受威胁入侵。OPC UA[154]是一个中间件,为Modbus等标准工控协议定义接口,将其转化为面向服务的架构(SOA)系统和web服务。蜜罐使用Node-RED库来仿真一个包含两个水泵和两个水罐的系统,系统运行在OPC UA封装中。
Bernieri等人[152]提出一个基于模型的工控蜜罐,命名为MimePot,利用软件定义的网络SDN来进行流量重定向和真实设备的网络地址伪装。MimePot蜜罐仿真工控系统组件,并基于线性时间不变模型来控制例程。作者提出一个供水系统的分布式PoC实现,利用一个模拟的攻击者注入并修改蜜罐元素之间的通信。
D. 天然气管道的蜜罐和蜜网
Wilhoit和Hilt为气罐监控系统开发了一个低交互的虚拟蜜罐GasPot[155],仿真了一个虚拟的Guardian AST气罐监控系统。他们在全世界7个国家基于物理IP地址部署了实验观测环境,发现了侦察尝试和DDoS攻击。
Zamiri-Gourabi等人[35]提出GasPot工控蜜罐的增强版,通过对GasPot进行补丁升级使其无法被通过网络识别为蜜罐。作者修复了ATG协议的不完备命令支持,使得响应时间更逼真,并打补丁解决了使用静态库存目录值进行响应的问题和输出格式问题,这些问题协助攻击者识别GasPot为一个蜜罐。
E. 适用于建筑自动化的蜜罐和蜜网
Litchfield等人[41]指出,CPS业务场景中不适宜采用高交互蜜罐,因为高交互蜜罐存在安全风险,成本高昂,并且一旦蜜罐缺少CPS的物理组件仿真,将直接影响可用性。他们建议采用混合交互蜜罐的解决方案,其中,真实的CPS设备与CPS物理组件的仿真进行交互,并提出HoneyPhy。HoneyPhy包括三个组件:互联网接口、处理模型和设备模型。HoneyPhy的PoC实现了一个供暖、通风和空调(HVAC)蜜罐,通过一个物理SEL-751A继电器、一个物理继电器的黑盒模拟模型以及一个加热和冷却过程仿真模型构造而成。由于CPS应用需要相应的设备和过程模型,因此,提出的蜜罐框架对其他CPS应用而言作用是有限的。
F. IIoT的蜜罐和蜜网
Ammar和AlSharif[156]提出一个模型HoneyIo3,由三个蜜网组成,蜜网包括三个运行着Linux操作系统的树莓派设备和Honeeepi传感器,仿真IIoT/ICS服务。HoneyIo3模型支持的协议包括:IPMI、S7comm、HTTP、Kamstrup、SNMP和SSH。
Du和Wang[157]致力于研究工控物联网领域针对SDNs的DDoS攻击。作者指出一种新的攻击,能够识别出SDN网络中的蜜罐并屏蔽掉它。通过分析攻击者策略,他们提出一个仿冒蜜罐游戏策略来动态防护SDNs。通过在测试平台上应用服务器和混合蜜罐评估显示,该策略能够防护DDoS攻击。
8、IIoT和CPS领域的蜜罐和蜜网分类
表12列出 IIoT 和 CPS 领域的蜜罐和蜜网,表13 概述了这些蜜罐和蜜网的工具、实现和攻击类型等详细信息。本节,调研有关 IIoT 和 CPS 的所有文献,并分别从不同维度进行概述,包括:随着时间推移的研究进展、共同特征、可扩展性、仿真的服务、最常用工具、源代码的可用性以及最常见的攻击。
表12. IIoT和CPS蜜罐及蜜网的分类
表13. IIoT及CPS蜜罐和蜜网的工具、实现、攻击类型汇总表
A. 随着时间推移的研究进展
图 5 分析了这些研究并描绘了研究随时间的发展以及 IIoT 和 CPS 领域蜜罐和蜜网之间的继承关系。如图所示,IIoT和CPS的蜜罐和蜜网始于 2004年思科系统Pothamsetty和Franz提出的SCADA HoneyNet [104]项目。该项目之后是2006年Digital Bond的SCADA Honeynet[105]。根据文献,在IIoT和CPS系统的蜜罐和蜜网研究方面,2012年Berman的论文[132]是第一项研究工作。之后第二年,Jaromin[133]发表了另一篇论文。有趣的是,这两项研究都是美国空军理工学院开展的工作。这一时期,Stuxnet(2010)、DuQu(2011)等恶意软件、Night Dragon(2011)和Flame(2012)疯狂传播,攻击国家的关键基础设施环境,并迅速吸引到军事/国防组织的注意。同年,2013年,最主流的工控蜜罐——Conpot[108]项目启动,来自Trend Micro研究所的Wilhoit发布了他们的低交互工控蜜罐白皮书[148]。在这些工作之后,IIoT和CPS领域蜜罐和蜜网的研究实践大放异彩,取得显著突破。
如图5所示,超过三分之一的工作彼此之间存在一种继承关系的形式,其中一个蜜罐是基于另一个构建的。Conpot[108]是其中的卓越者,有6个蜜罐基于Conpot开发实现,这个数字不包括没有扩展Conpot功能只是单纯使用它的工作。潜在原因是多方面的。Conpot是一个开源项目,仍在积极维护中,支持多种工业和非工业的协议,隶属于蜜网项目[109]开发实现,其支撑蜜罐包括Honeyd、Honeywall CDROM、Dionaea和Kippo。
除了扩展已知蜜罐项目,研究⼈员还考虑使用模拟器、仿真器或框架作为他们研究的主要构建块。如图5所示,Mininet 和 IMUNES 仿真器、GridLab-D、SoftGrid和POWERWORLD仿真器以及MiniCPS框架应用在诸多蜜罐/蜜网研究工作中。
除了扩展蜜罐或使用模拟器、仿真器和框架,调研发现一半研究工作提出独立蜜罐。这可能是由于已知蜜罐在支撑CPS和IIoT业务场景需求时存在不足,或者站在攻击者的视角,这些蜜罐的指纹易于识别。
图5. IIoT及CPS蜜罐和蜜网继承关系图
B. 共同特征
IIoT和CPS场景中的蜜罐和蜜网存在几个共同特性。
就蜜罐的目的而言,表12和表13中列出研究的大部分蜜罐和蜜网。具有产品化目的研究工作包括:Antonioli等人[149]、Piggin等人[39]和Scott[8]提出的蜜罐/蜜网。由于IIoT和CPS业务场景独特的属性,蜜罐等安全工具很难以主动式部署在这样的区域中。SCADA场景中的设备持续运行,很难中断和宕机[8][9]。此外,基于承诺地响应时间[134],工业设备典型地拥有实时约束条件。由于上述原因,很难在工控产品环境中插入部署一个蜜罐,否则,容易影响工控系统通信,有被破坏的风险(若部署的是一个高交互蜜罐)。
对于蜜罐的角色,绝大多数研究成果都具有服务器角色。蜜罐和蜜网成果中包含客户端角色组件的有Haney等人[131]、Pliatsos等人[144]提出的蜜罐项目,以及MimePot[152]。
到目前为止,Linux是蜜罐和蜜网开发者选用的最普及的操作系统环境。除了Linux,只有Haney等人[127]使用FreeBSD。
就IIoT和CPS蜜罐和蜜网选用的编程语言而言,Python是最常用的。除Python、C/C++,也有研究选用了Java语言。显然,这与这些语言有对工控协议的支持库有关。研究工作中用到的这类库有:Modbus-tk、pymodbus和cpppo EtherNet/IP的Python库;libiec 61850和OpenDNP3 C/C++库以及JAMOD Modbus Java库。此外,IIoT和CPS领域中最主流的开源蜜罐Conpot也是基于Python语言开发实现。
C. 交互级别
IIoT 和 CPS场景蜜罐和蜜网研究工作囊括了所有可能的交互级别。如表12所示,一半工作允许低交互能力。另一方面,中、高和混合交互蜜罐的数量几乎相同。由于并非所有研究工作都明确声明了交互级别,因此,本文必须定义某些工作的交互级别。 IIoT 和 CPS 场景中的低交互蜜罐可以提供关于端口扫描、目标协议、攻击源和暴力破解尝试等多方面的有价值的信息。另一方面,只部署中交互和高交互蜜罐,可能观察到其他更加高级的攻击,以及工业协议和过程特殊的攻击。然而,部署高交互蜜罐需要异常小心,尤其是在IIoT和CPS场景中,因为高交互蜜罐可以成为攻击者的跳板机,利用蜜罐破坏系统并实施诸如下载恶意软件,尝试利用同网段内其他设备,代表攻击者实施攻击等恶意操作。
D. 资源水平
在IIoT和CPS蜜罐和蜜网资源水平方面,大多数欺骗系统使用虚拟资源。但是,也存在利用真实工业设备实现的蜜罐和蜜网,以及同时混合利用真实和虚拟设备实现的蜜罐和蜜网。研究人员提出虚拟蜜罐的最大驱动因素之一是真实工业设备的高成本。多位研究人员[115][116][143][158]指出,诸如PLCs的工业系统组件,成本高达数万美元。
E. 可扩展性
大部分IIoT和CPS蜜罐和蜜网实现了可扩展性设计,也与这些蜜罐底层采用虚拟资源有关。正如第四小节所述,物理蜜罐很难扩展,因为物理蜜罐需要更多硬件资源并且真正的工业环境中往往包含多个工业设备。譬如,Mashima等人[143]指出,香港电网中的变电站数量高达200个。蜜罐的可扩展性设计对于实现高保真非常重要。
F. 面向的IIoT和CPS业务应用
在已知蜜罐所仿真的目标业务应用方面,超过一半的研究工作针对的是工控场景。剩下的一小半仿真特殊的CPS和IIoT应用,如:智能电网、供水系统、天然气,以及建筑自动化系统。尽管大部分研究面向工控场景,本文也留意到一个现状:工控系统和智能基础设施(如:电网、供水、天然气)可以使用相似的工业设备(如:PLCs)。
G. 工业过程模拟
在工业过程模拟方面,只有五项研究工作采用了某种形式的仿真。譬如,在供水管理工控场景下,Antonioli等人[149]应用了水力学的连续性方程式和Bernoulli轨迹原则,Murillo等人[150]利用Luenberger观测到的非线性模型,Bernieri等人[152]利用线性时间不变模型实现工厂模拟。GridPot[142]利用Newton-Raphson电流求解器模拟电网处理过程。最近,针对建筑自动化场景,Litchfield等人[41]利用牛顿的冷却定律仿真建筑过程模型。
H. 仿真的服务
IIoT和CPS蜜罐和蜜网支持多种协议和服务,有些是工业场景特定的,有些不是。表12列出了蜜罐和蜜网支持的协议和服务,对应的协议端口在表13中列出。研究显示,Modbus、HTTP、SNMP和S7comm是最常用的协议。许多研究人员[3][127][135][144][151][159][160]证实了本文的研究发现,指出Modbus是应用最广泛的工业协议。工业协议的普及程度和支持他们的蜜罐数量可以表达为:Modbus(22)、S7comm(12)、EtherNet/IP(8)、IEC 60870-5-104(4)、BACnet(4)、Kamstrup(4)、DNP3(3)、Guardian AST(3)、IEC 51850(3)和ISOTSAP(2)。就非工业协议的流行程度而言,HTTP和SNMP的普及合情合理。HTTP常被用作工业系统的HMIs接口[8][149],同时,HTTP支撑诸如PLCs[113][134]等工业组件的远程配置。出于这些原因,研究表明HTTP成为恶意实体[146]扫描探测行为的目标。另一方面,在工业环境[115][134]中,SNMP用于监控和管理。
I. 开源蜜罐和蜜网解决方案的可用性
调研对象中,有8项蜜罐和蜜网研究公开了具体实现。CISCO SCADA蜜网[104]源码仍然可用。但是,最新的共享版本是在2015年。不幸的是,Digital Bond的SCADA Honeynet[105]源码目前已不可获取。Conpot开源项目仍然在积极运维中。其他的蜜罐和蜜网研究中,只有Zamiri等人[35]提出的蜜罐项目在维,但这项工作于2019年刚刚被提出,无法确认作者是否会持续积极维护。GridPot[142]和SHaPe[141]的实现仍然可用,但截止2015年已不再更新。GasPot[155]于2016年停止更新,Murillo等人[150]提出的蜜罐测试平台2018年后停止运维。
J. 最常用的工具
IIoT 和 CPS蜜罐和蜜网研究最常用的工具是Nmap,其次分别是Wireshark、Snort IDS、Shodan工具、Mininet、iptables、tshark、TCPDUMP和syslog。研究人员利用Nmap获取蜜罐指纹并识别对外接口。Wireshark用于流量抓捕和分析。Snort IDS用于在蜜网配置中控制攻击者的入侵尝试。Shodan工具用来发现Shodan索引的信息、Shodan识别过的指纹信息,以及Shodan能否检测出欺骗系统是一个蜜罐。
K. 最常见的攻击
IIoT和CPS蜜罐/蜜网中最常检测出的攻击是扫描攻击。大部分研究工作均检测出针对IIoT和CPS场景的扫描攻击。此外,调研的蜜罐和蜜网研究中,还检测出DoS/DDoS、SSH、暴力破解攻击和中间人攻击。更少被识别出的攻击还包括勒索软件、恶意加密货币挖矿、恶意软件,以及HAVEX RAT、PLC Blaster、罐溢出攻击等工控系统特殊的攻击。
本文为本文为《物联网、工业物联网及网络物理系统领域蜜罐和蜜网相关研究综述》中篇,欲阅读完整内容,请点击下方链接:
《物联网、工业物联网及网络物理系统领域蜜罐和蜜网相关研究综述》(上)
《物联网、工业物联网及网络物理系统领域蜜罐和蜜网相关研究综述》(下)