在过去几年中,国家支持的攻击者一直在提高攻击电网等关键基础设施以造成严重破坏的能力。
这个武器库的新成员是一个恶意软件工具包,它似乎是由一家俄罗斯网络安全公司为红队演习开发的。
该恶意软件被 Mandiant 的研究人员称为 COSMICENERGY,它可以与远程终端单元 (RTU) 和其他操作技术 (OT) 设备交互,这些设备通过专门的 IEC 60870-5-104 (IEC-104) 协议进行通信,通常用于电气工程和电力自动化。
研究人员在他们的报告中说:COSMICENERGY 是能够造成网络物理影响的专门 OT 恶意软件的最新例子,这种影响很少被发现或披露。
对恶意软件及其功能的分析表明,它的功能可与之前的事件和恶意软件中使用的功能相媲美,例如 INDUSTROYER 和 INDUSTROYER.V2,这两种恶意软件都是过去部署的恶意软件变体,通过 IEC-104 影响电力传输和分配”。
受过去攻击启发的红队框架
INDUSTROYER,也称为 Crashoverride,是一种恶意软件程序,于 2016 年用于攻击乌克兰电网,导致该国首都基辅五分之一的地区断电一小时。
恶意软件通过充当数据历史记录器的 MS-SQL 服务器到达 OT 网络上的 RTU,然后通过 IEC-104 发出开/关命令以影响电力线开关和断路器。
INDUSTROYER 的创建和使用归功于 Sandworm,这是一个 APT 组织,据信是俄罗斯军事情报部门 GRU 内的网络战单位。
2022 年,Sandworm 试图使用名为 INDUSTROYER.V2 的更新版恶意软件再次攻击乌克兰的电网。
2021 年 12 月,俄罗斯某人将 Mandiant 发现的新 COSMICENERGY 工具包上传到公共恶意软件扫描服务。
对该代码的分析表明,它是为一家名为 Rostelecom-Solar 的俄罗斯网络安全公司主持的红队演习而创建的,该公司与俄罗斯政府有联系。
虽然我们还没有找到足够的证据来确定 COSMICENERGY 的起源或目的,但我们认为该恶意软件可能是由 Rostelecom-Solar 或关联方开发的,目的是重现针对电网资产的真实攻击场景。
该恶意软件可能用于支持演习,例如 Rostelecom-Solar 在 2021 年与俄罗斯能源部合作举办的演习或在 2022 年为圣彼得堡国际经济论坛 (SPIEF) 举办的演习。
Rostelecom-Solar 已获得俄罗斯政府的资助,用于培训网络安全专家并开展电力中断和应急响应演习。
恶意软件工具包中的一个模块包含对 Solar Polygon 的引用,该术语的搜索者将其与 Rostelecom-Solar 联系起来。
根据Mandiant的说法,尽管它与红队演习有明显的联系,但这种恶意软件工具包有可能已经或可以重新用于现实世界的攻击,包括之前使用私人承包商开发工具的俄罗斯民族国家行为者。
手动部署的两部分恶意软件负载
COSMICENERGY 由两部分组成:一个用 Python 编写,一个用 C++ 编写。基于 Python 的组件被 Mandiant 称为 PIEHOP,旨在连接到 MS-SQL 服务器并上传文件或发出命令。
连接后,它会部署名为 LIGHTWORK 的第二个组件,该组件旨在通过 TCP 通过 IEC-104 向连接的 RTU 发出开和关命令。
它制作可配置的 IEC-104 应用服务数据单元 (ASDU) 消息,以将 RTU 信息对象地址 (IOA) 的状态更改为开或关。LIGHTWORK 利用目标设备、端口和 IEC-104 命令的位置命令行参数。
IOA 与 RTU 上的输入和输出相关联,这取决于配置和部署可以映射到连接的断路器或电源线开关。不同 RTU 制造商、单个设备甚至环境之间的 IOA 映射可能不同,这意味着攻击者需要拥有关于他们所针对的部署的预先存在的侦察信息。
分析的 LIGHTWORK 样本有八个硬编码 IOA,但在不知道确切的目标资产的情况下,很难确定攻击者在向它们发出命令时的意图。
此外,PIEHOP 组件和恶意软件本身没有任何内置的网络发现功能,这意味着攻击者需要已经拥有有关目标 MSSQL 服务器和 RTU 的信息,例如凭据和 IP 地址,才能成功部署组件。这使它成为入侵后工具包。
虽然 COSMICENERGY 不与以前的 OT 恶意软件工具共享任何代码,但它确实借鉴了其中几个工具的技术,除了 INDUSTROYER:IRONGATE 和 TRITON 也观察到使用 Python 进行 OT 恶意软件开发;使用实施专有 OT 协议并降低开发此类威胁的门槛的开源库;滥用 IEC-104 等设计不安全且缺乏身份验证或加密机制的协议。
如何缓解和检测 CONSMICENERGY
虽然没有证据表明 COSMICENERGY 已被用于野外攻击,但这种可能性不容忽视,至少它可以为其他 OT 恶意软件开发人员提供灵感,就像 INDUSTROYER 为其创建者提供灵感一样。
报告包含妥协指标和文件哈希值,该公司还建议组织进行主动威胁搜寻:
-
为皇冠上的明珠系统(例如人机界面 (HMI)、工程工作站 (EWS) 和环境中的 OPC 客户端服务器)建立基于主机的日志的收集和聚合,并查看日志以获取 Python 脚本或未经授权的代码执行的证据这些系统。
-
识别并调查在 OT 系统或有权访问 OT 资源的系统上创建、传输和/或执行未经授权的 Python 打包可执行文件(例如 PyInstaller 或 Py2Exe)。
-
监视有权访问 OT 资源的系统,以创建合法的临时文件夹、文件、工件和外部库,作为执行打包的 Python 脚本的证据,例如。创建临时“_MEIPASS”PyInstaller 文件夹。
-
监控可访问 OT 系统和网络的 MSSQL 服务器以获取以下证据:MSSQL 服务器和凭据的侦察和枚举活动、与 MSSQL 服务器的未授权网络连接 (TCP/1433) 以及不规则或未授权的身份验证、SQL 扩展存储过程的启用和使用Windows shell 命令执行以及 base64 编码可执行文件的传输、创建、暂存和解码。