原文标题:HoneyJudge: A PLC Honeypot Identiffcation Framework Based on Device Memory Testing

原文作者:Hengye Zhu,Mengxiang Liu,Binbin Chen,Xin Che,Peng Cheng,Ruilong Deng

原文链接:https://ieeexplore.ieee.org/abstract/document/10542162

发表期刊:IEEE T INF FOREN SEC

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

主编:黄诚@安全学术圈

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

1、引言

工业控制系统(ICS)在电网、水处理厂和智能制造等关键基础设施中发挥着核心作用。作为 ICS 的关键组件,可编程逻辑控制器(PLC)在网络与物理世界之间充当重要桥梁。然而,随着针对 PLC 的高级攻击日益频繁且复杂,高保真蜜罐误导攻击者与其进行交互,从而帮助防御者了解攻击策略和技术并制定防御策略。然而,现有的蜜罐识别方案准确度不高,本文因此提出了首个基于设备内存测试的 PLC 蜜罐识别框架 HoneyJudge。实验结果表明,HoneyJudge 优于几种 SOTA 蜜罐识别工具,显著提高了蜜罐识别的准确性。

2、背景介绍

如下图所示,PLC 存储器具有三个不同的功能划分:系统状态存储器(SSM)、控制相关存储器(CRM)以及输入输出存储器(IOM),分别管理系统级、用户级和物理级的数据。

系统状态存储器(SSM)。传统的 PLC 蜜罐扫描器在识别过程中存在忽略或仅访问一小部分 SSM 信息的局限性,因此蜜罐设计者仅需更改一小部分 SSM 内容就可以欺骗大多数识别器。因此,HoneyJudge 通过比较整个 SSM 结构和检查其内容中的语义冲突来解决这个问题。

内存结构:SSM 可以被描述为连续的抽象内存项,每一项都与一个特定的索引相关联。通过计算真实 PLC 和可疑 PLC 中重叠项目的字节级相似度,最终可以得到整个内存结构的相似性 λ₁。

语义冲突:SSM 项应该根据已建立的内存部件生成和更改。语义冲突的出现将触发识别规则,触发规则的数量被量化为 λ₂。HoneyJudge 将 SSM 内容字段分为三种不同的语义属性:

  • 可修改性:指客户端主动且正确地改变 SSM 语义字段的能力。

  • 一致性:指存储在 SSM 中不同项内的相同语义或内部语义相关性。

  • 动态性:指内容在特定类型和频率内自动刷新。

控制相关存储器(CRM)。CRM 的用户自定义性质使其内存数据具有不确定性,因此需要对 CRM 处理服务的两个方面,即 CRM 处理和 CRM 逻辑执行进行比较分析。

内存处理:由于用户操作会影响用户自定义的块内容和描述性信息,HoneyJudge 的目标是验证可疑蜜罐中 CRM 块上与操作相关的信息的正确性。用户的块操作包括建立、读取、覆写和删除,任何不完整的服务实现都会增加指标 λ₃,迅速表明嫌疑对象是一个蜜罐。

逻辑执行:为了监测控制逻辑执行后可疑对象内相关变量的修改,HoneyJudge 使用大预言模型生成符合标准的结构化文本测试逻辑,并通过工具化记录数据流。将其转换为 C 代码作为数字孪生在 PC 端运行,测试控制逻辑和数字孪生程序之间变量的任何差异都被量化为 λ₄。

输入输出存储器(IOM)。PLC 的 IOM 引入了与受控物理过程相关的功能,并且由于系统动力学和时变参数的复杂性,考虑从工业过程中提取两种经常被蜜罐系统忽略的指纹:传感器噪声分布和工业过程动态。

噪声分布:HoneyJudge 基于预定义的内存地址持续采样目标 IOM 的传感器数据,将其转换为可读测量值后构建拟合概率分布,同时从实际过程推导出另一分布,并通过计算两者之间的 Jensen-Shannon 散度 λ₅ 来量化其噪声分布的相似性差异。

过程动态:通过 PLC 控制信号与传感器测量值的非线性关系进行监测。HoneyJudge 从历史数据中随机提取短期动态特征作为参考点,当可疑目标的 IOM 达到相同参考点时,主动引入安全范围内的微小扰动以触发系统固有响应模式。最后对目标测量值与历史真实值进行比较,计算序列残差 λ₆。

下表对 HoneyJudge 从 SSM、CRM 和 IOM 中提取的六个内存特征进行总结:

3、研究方法

请求生成与记忆检索。工业通信协议(ICP)通过标准化的协议头和用户定义的数据字段控制客户端与 PLC 的测试消息交换,其特性体现在三个方面:

  • 执行相同工业服务的网络消息的结构是一致的,主要区别在于用户定义的数据段。

  • 用于网络流量控制的长度字段(LF)和序列号字段(SNF)的特定位置始终表现出固定的动态模式。

  • 消息未加密,以满足实时控制要求。

基于这些特性,HoneyJudge 包含一个自动生成有效的测试消息以转发到 PLC 的模块。首先,对网络流量进行连续微分,SNF 搜索算法识别以固定值持续递增的字节,LF 搜索算法系统地测试消息长度的所有字段更改,并进行交叉验证以确定其正确性。然后,针对给定的特定客户端事件,在网络流量中进行簇内分析,提取特定服务中重复出现的固定和动态数据字段。最后,给定需要检查的特征 λ 以生成有效请求,获取目标内存内容。HoneyJudge 根据每个 λ 确定了所有已填充有效 LF、SNF 和 内存内容的事件后,便可以从 PLC 内存中检索信息。

判决机制。HoneyJudge 采用两步判断机制:阈值化与投票。在阈值化阶段,连续性指标(基于相似性的 λ₁、λ₅、λ₆)通过多次采样真实 PLC 设备数据,计算均值和标准差,应用 3σ 规则设定动态阈值,布尔型指标(基于正确性的 λ₂、λ₃、λ₄):直接设定阈值为 0,赋予否决权,即任何错误或冲突立即判定为蜜罐;在投票阶段,综合六项指标进行综合考虑做出最终决定,若累积结果大于 0,表明不符合若干内存指标,将目标系统分类为蜜罐。

HoneyJudge 的工作流程分为三个阶段,如下图所示:

  • 从真实PLC收集先验知识,并从可疑对象获取内存特征。

  • 比较特征与预定义阈值评估偏差。

  • 通过投票机制聚合结果判定是否为蜜罐。

4、实验评估

研究者设计了一个实验平台,该平台包括一台运行 Ubuntu 20.04 的笔记本电脑,该电脑托管 4 个 VMware 虚拟机,这些虚拟机部署有最先进的 PLC 蜜罐框架 Conpot、HoneyPLC、ICSpot 和 ICSpotPlus(ICSpot + LSTM),一个真实的西门子 S7-300 PLC 设备也被集成到该网络中。

下表显示了 HoneyJudge 与 Nmap、PLCScan 和 TIA Portal PLC 成功识别蜜罐的概率:所有四个工具都可以 100% 检测到 Conpot,HoneyPLC、ICSpot 和 ICSpotPlus 能够通过高度仿真的 TCP/IP 协议栈模拟技术以及 PLC 配置还原,有效规逃避 Nmap 和 PLCScan 的检测。HoneyJudge 依靠其全面的内存分析,实现了对所有类型蜜罐的检测。

下表展示了使用 HoneyJudge 关注的六个欺骗性内存特征对总共 10 个蜜罐框架进行的评估结果,并根据 SSM、CRM 和 IOM 的构建进行了分类。

下面两张表展示了指标 λ1 到 λ6 在 SSM、CRM 和 IOM 在模拟中的有效性:λ4 是最精确的标识符,发现蜜罐按照 λ4 > λ3 ≈ λ2 > λ1 的顺序逃避这些指标。

HoneyJudge 通过全面评估 PLC 蜜罐的三种关键内存指标显著提高了蜜罐的对抗成本,蜜罐设计者如果知道使用的测试指标并相应地增强蜜罐,可能需要付出高昂的代价,提高内存欺骗性的成本如下表,其排序为 CRM > IOM > SSM。

5、总结

本文提出了一种名为 HoneyJudge 的创新且实用的 PLC 蜜罐识别框架,该框架基于设备内存测试,提取了六个内存特征,以反映 PLC 设备的系统级、用户级和物理级特性。HoneyJudge 可以自动生成请求模板以获取内存指标,并通过加权投票机制对其进行评估,显著提高蜜罐识别的准确性。

安全学术圈招募队友-ing

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

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