原文标题:HoneyPLC: A Next-Generation Honeypot for Industrial Control Systems

原文作者:Efrén López Morales,Carlos Rubio-Medrano ,Adam Doupé,Yan Shoshitaishvili,Ruoyu Wang,Tifany Bao,Gail-Joon Ahn

原文链接:https://doi.org/10.1145/3372297.3423356

发表会议:CCS "20

笔记作者:李智宇@安全学术圈

主编:黄诚@安全学术圈

编辑:张贝宁@安全学术圈

1、引言

工业控制系统(ICS)为核能、电力、水务和交通运输网络等关键任务设施提供管理和控制能力,这些公用设施与人们的日常生活密不可分,任何破坏都可能造成重大损失。作为网络世界和物理世界之间的桥梁,可编程逻辑控制器 (PLC) 在 ICS 中发挥着关键作用。随着现代 ICS 日益互联互通,PLC 成为网络攻击的重要目标。由于目前针对 ICS 的蜜罐存在低交互性、低可扩展性等局限,本文因此提出了 HoneyPLC:一种高交互性、可扩展且可收集恶意软件的蜜罐。它能够模拟 PLC 中常见的网络协议、异构 PLC 以及其所具有的内部存储块,从而自动捕获和存储恶意梯形逻辑程序。

2、背景介绍

可编程逻辑控制器(PLC)是一种小型工业计算机,它根据电器硬件(如泵、继电器、机械定时器等)提供的输入来执行逻辑功能,具备控制复杂工业过程的能力。其内部存在用于存储指令的可编程存储块,可根据实际需求实现不同的功能。

蜜罐是一种故意暴露漏洞和服务的计算机系统,旨在诱使攻击者对其进行探测、分析和利用,从而实时监控和记录所有可能的交互行为,收集攻击数据用于后续分析。蜜罐可分为低交互蜜罐和高交互蜜罐,低交互蜜罐不是真实的系统,攻击者可能无法完成攻击步骤,甚至将其识破,而高交互蜜罐提供与真实系统相同级别的交互。

文献中现有的 ICS 蜜罐具有以下局限性:

  • 可扩展性有限。文献中的几种蜜罐可扩展能力有限,只支持一种或两种 PLC 型号,而本文提出的 HoneyPLC 目前提供对三个品牌的五个 PLC 的开箱即用支持。

  • 交互性有限。当前蜜罐在 TCP/IP 协议栈仿真以及原生 ICS 网络协议方面提供的功能大多有限,阻碍当前蜜罐从对抗性交互和恶意软件中提取价值。

  • 隐蔽性有限。攻击者一旦发现蜜罐的真实性质,就会停止暴露其攻击方法,因此蜜罐应该能够欺骗广泛使用的网络侦察工具。文献中的几种蜜罐无法欺骗 Nmap,而 HoneyPLC 提供了欺骗 Nmap 等侦察工具的模拟。

  • 无恶意软件收集。ICS 设备的高度专业化特性要求对恶意软件进行收集和深入分析,然而现有蜜罐缺乏这种功能。为此,HoneyPLC 创新性地提供了梯形图逻辑捕获功能。

下表对文献中的 ICS 蜜罐进行了总结:

3、研究方法

HoneyPLC 作为一个可扩展的、高交互性的、用于 ICS 的恶意软件收集蜜罐,提供先进的协议模拟,例如 TCP/IP、S7comm、HTTP 和 SNMP,实现了与真实 PLC 相当的交互水平。

下图展示了 HoneyPLC 的框架以及使用步骤:

  • 第一步。在部署之前,从存储库中选择一个 PLC 配置文件,该 PLC 将作为蜜罐暴露给攻击者。

  • 第二步。攻击者尝试使用侦察工具对已部署的 HoneyPLC 进行指纹识别。

  • 第三步。攻击者通过专用协议进行连接,例如 S7comm,连接请求交由个性化引擎处理。

  • 第四步。将连接交给 HoneyPLC 的网络服务模块处理,然后转发到专用的 S7comm 服务器。

  • 第五步。当攻击者识别出适合注入的 PLC 内存块,通过使用梯形逻辑代码覆盖预先存在的代码,引入一个定制的恶意负载。

  • 第六、七步。HoneyPLC 的 S7comm 服务器将注入代码写入由交互数据模块管理的存储库中。

3.1 支持 PLC 扩展性

PLC 配置文件库是 PLC 配置文件的集合,PLC 配置文件又是三个离散数据集 SNMP MIB、Nmap 指纹、管理网站的集合。其中,MIB 是 SNMP 代理使用的一种标准,HoneyPLC 需要一个自定义 MIB 才能提供真实的 SNMP 模拟;Nmap 指纹是一个纯文本文件,用于模拟特定 PLC 设备的 TCP/IP 协议栈;管理网站是由 PLC 设备提供的轻量级 Web 服务器,包含启动画面和一些配置选项。

HoneyPLC 的配置文件由 PLC 分析器工具自动创建,该分析器与三个不同的应用程序连接:Nmap、snmpwalk 和 wget。它只需要 PLC 设备的 IP 地址作为输入,便可以通过三个应用程序接口从目标 PLC 获取上述三个离散数据集。

3.2 支持行动隐蔽性

HoneyPLC 提供的协议模拟体现在以下四个方面:

  • TCP/IP 协议栈。HoneyPLC 在新建 PLC 时,首先使用 Nmap 生成 TCP/IP 协议栈指纹,然后将该指纹集成到指纹数据库中。运行时,当 Nmap 等工具对 HoneyPLC 主机进行指纹识别时,其个性化引擎会动态响应匹配的指纹信息。

  • S7comm 服务器。在 HoneyPLC 的网络服务模块中,S7comm 服务器提供了西门子专有协议的复杂模拟。HoneyPLC 的 S7comm 服务器应用程序基于 Snap7 框架编写,并拥有记录 S7comm 交互、梯形图逻辑捕获等附加功能。

  • SNMP 服务器。HoneyPLC 使用轻量级的 Python 应用程序 snmpsim 模拟 SNMP 协议,其根据实时或存档的 MIB 数据模拟 SNMP 代理。当 HoneyPLC 收到 SNMP 请求时,SNMP 代理会像真实的 PLC 一样回复一个对象 ID。

  • HTTP 服务器。HoneyPLC 通过一个轻量级的 Web 服务器 lighttpd 处理所有 HTTP 请求,当 HTTP 请求到达 HoneyPLC 时,请求会被转发到该服务器并使用配置文件的网站数据进行回复。

3.3 梯形图逻辑收集

HoneyPLC 的 S7comm 服务器具有新颖的梯形图逻辑捕获功能。当攻击者将梯形图逻辑程序上传到任何 S7comm 服务器内存块时,此功能会自动将其写入带有相应时间戳的 HoneyPLC 文件系统。

3.4 通过日志记录实现记录保存

HoneyPLC 收集的所有交互数据由交互数据组件维护,该组件直接与网络服务组件通信。它包含了 S7comm 服务器、SNMP 代理和 HTTP 服务器产生的所有日志,以及通过 S7comm 服务器注入的所有梯形逻辑程序。

4、实验评估

研究者使用了以下 PLC 模型:西门子S7-300、S7-1200、S7-1500、Allen-Bradley MicroLogix 1100和 ABB PM554-TP-ETH。针对现有蜜罐存在的局限性,所进行的一系列实验基于验证以下三个问题:

  • HoneyPLC 是否支持不同的真实 PLC ?

  • HoneyPLC 能否能欺骗广泛使用的侦察工具?

  • HoneyPLC 能否有效地捕获梯形图逻辑代码?

两组案例研究的结果表明,HoneyPLC 可以支持不同类型的 PLC。对于西门子 PLC(S7-300、S7-1200 和 S7-1500),HoneyPLC Profiler Tool 成功创建了所有三个 PLC 配置文件,并且只需要对一些 HTML 文件进行少量手动修改。对于非西门子生产的 PLC(Allen-Bradley MicroLogix 1100 和 ABB PM554-TP-ETH PLC),同样成功地为每个被分析的 PLC 生成了配置文件。不过,由于不同的生产商会在不同的端口上实现各种协议,可能需要对 HoneyPLC 进行额外的修改以提供对某些协议的支持。

下图展示了使用 Nmap 对三个真实西门子 PLC 模型及 其对应的 HoneyPLC 扫描 10 次的结果:对于所有三个 PLC 模型,真实的 PLC 获得了略微更高的置信度,并且 HoneyPLC 提供的配置文件非常接近,由此表明 HoneyPLC 能够提供有效的隐蔽性。

与上一个实验类似,研究者利用 Shodan 获得了每个 HoneyPLC 和真实 PLC 配置文件的 Honeyscores,结果如下图所示:Shodan 为 S7-300 配置文件分配的 Honeyscore 为 0.0,S7-1200 和 S7-1500 配置文件的为 0.3。此实验结果再次表明 HoneyPLC 能够有效地保持隐蔽性。

研究者最后利用 PLCinject 与 HoneyPLC 主机进行交互,通过命令行注入梯形逻辑程序,然后使用 Step7 Manager 编写并注入了一个梯形逻辑程序样本到 HoneyPLC 中。注入完成后,在蜜罐文件系统中找到了梯形逻辑文件及其对应的时间戳。并且还从 HoneyPLC 的 S7comm 服务器下载了上传的示例程序,并使用梯形图逻辑编辑器证实示例程序已保存在 HoneyPLC 的 S7comm 服务器中,该结果说明 HoneyPLC 能有效地捕获梯形图逻辑代码。

5、总结

本文提出了 HoneyPLC,一个高交互、可扩展且可收集恶意软件的蜜罐,其达到了与真实 PLC 设备相当的性能水平,显著推动了该领域的技术发展水平。此外,本文还提供了实验证据以表明 HoneyPLC 的性能优于文献中现有的蜜罐,为现有蜜罐存在的低交互性、低可扩展性和低隐蔽性等局限提供了解决方案。

安全学术圈招募队友-ing

有兴趣加入学术圈的请联系 secdr#qq.com

声明:本文来自安全学术圈,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。