紫队测试实战:避免OT与IoT测试导致工厂停产或钻井平台沉没的关键策略

本文详细探讨了在工业控制系统(OT)和物联网(IoT)环境中进行紫队测试时的关键注意事项,包括准备规划、业务分析、威胁建模、执行策略和漏洞管理等全流程最佳实践,帮助安全团队避免对关键基础设施造成破坏性影响。

紫队测试:在OT与IoT测试中应避免的事项,以防止工厂停产或钻井平台沉没

作者:Umair Ahmed

大家好,我是Umair Ahmed,目前担任HelloFresh的高级安全工程师。最近我在工业系统方面进行了相当多的紫队测试工作,想在这里分享我的经验。测试运营技术和物联网系统绝非易事,特别是在涉及工厂停产或钻井平台沉没等高风险场景时。我们每个开始测试OT/IoT系统旅程的人都对可能出现的意外情况感到紧张和谨慎。本文献给所有希望在这些情况下表现出色的同行们:

1. 准备、规划和范围界定

在开始之前,重点关注这些关键方面:网络服务、Web/API、CMS/应用、无线安全、社会工程、IaaS/PaaS/SaaS、物理安全和运营技术。将它们分解为可管理的类别有助于避免疏忽并改进规划。

关键步骤:

  • 了解环境格局:全面了解现有的技术、流程和人员
  • 提出问题:询问参与部署和维护的第三方公司、他们的角色、备份信息、灾难恢复计划、冗余配置等相关因素
  • 研究和准备:为社会工程、命令与控制(C2)工具(C2 Matrix)、协作工具(如Vectr)、VPN(如果需要)以及不同用户行为的访问系统设置基础设施

2. 关键业务运营分析

从CIA三要素(机密性、完整性、可用性)中识别和分析关键因素。

考虑因素:

  • 系统影响:了解系统离线对财务和运营的影响
  • 冗余性:评估系统受影响时的成本(业务、人力、财务)
  • 无线安全:评估其对IoT、OT和PLC通信的影响
  • 标准操作程序(SOP):审查物理安全和现场安全的标准程序
  • 环境特定的注意事项:确保合规性
  • 测试设备:验证硬件测试的可用性和成本

3. 威胁建模

在了解业务、设施、硬件和SOP的基础上,基于已知信息建模威胁。通过与关键人员访谈、审查相关文档(如操作手册和事件报告)以及进行现场观察来有效收集这些知识。

关键步骤:

  • APT研究:调查行业相关的APT及其TTPs(MITRE ATT&CK)
  • 风险登记册:使用风险登记册验证可行性
  • 威胁登记册:包括来自过去事件、威胁搜寻或预测的业务威胁
  • 检测团队输入:利用检测和响应团队的见解验证威胁
  • 业务洞察:纳入业务和供应链团队的输入
  • 杀伤链场景:使用洛克希德·马丁的杀伤链等框架和Vectr等工具创建详细场景

最后,尽可能彻底地了解投放器、shell、命令、战术、流程和工具。这将为相关利益相关者提供可见性,如果某些内容被认为危险,将在下一步中被根除。

4. 利益相关者协调

协调利益相关者以有效降低风险。

关键行动:

  • 定义目标:确保对目标、流程、时间表和行动有清晰理解
  • 讨论风险:识别并减轻最坏情况
  • 时机安排:在业务高峰时段之外安排测试
  • 批准:获得所有利益相关者的同意

5. 执行

在执行过程中,仔细执行扫描、枚举和利用。例如,在进行漏洞扫描时,使用低强度模式以避免压垮网络。同样,在利用过程中,在受控环境中模拟入侵场景,以评估影响而不中断运营。这些预防措施确保测试有效且干扰最小。

最佳实践:

  • 限制扫描强度:避免可用性问题
  • 假设已被入侵:如果利用可能破坏系统,计划冗余
  • API测试:从文档开始而不是直接扫描
  • 访问控制检查:在网络和应用层进行测试
  • 无线测试:从扩展范围测试以模拟入侵者场景
  • 社会工程:专注于证据收集而不部署恶意负载
  • 安全差距分析:审查人员、流程,并将结果编译到检查表中供将来参考
  • 物理安全:检查锁具,记录敏感信息,并演示身份克隆技术(如Flipper Zero)
  • OSINT和CTI:利用Shodan和Censys等工具获取设备足迹
  • 监控证据:记录检测和监控结果

6. 清理

确保参与后恢复原状。

步骤:

  • 硬件和软件:移除使用的任何工具
  • 恢复更改:将配置恢复到原始状态

7. 报告

为技术和非技术受众创建全面的报告。包括关键部分,如执行摘要、方法论、带有证据的详细发现、影响分析和可操作的建议。使用图表等可视化工具使复杂数据更易于理解。

要点:

  • 记录发现:提供证据和复现步骤
  • 总结结果:为技术和非技术受众(包括业务领导层)提供摘要,包含明确的结果和行动项(后续步骤)
  • 汇报:准备汇报演示文稿,并与所有利益相关者一起运行,以确定责任接受和相关团队将采取的后续步骤
  • 简化流程:使所有流程易于团队遵循,并就明确的SLA和例外情况(如果有)达成一致

始终记住这是最重要的步骤,因为除非结果得到适当交付、理解并采取缓解措施,否则参与将毫无用处。

8. 漏洞管理(跟进)

此阶段测试您确保后续跟进的能力。

提示:

  • 仪表板:使用上一步创建的仪表板来跟踪和监控行动项的进度
  • 提醒:定期与团队跟进

在这个过程结束时,花点时间呼吸,享受生活,因为直到这个阶段你可能会很痛苦。

欢迎就此话题发表评论,我很想听听您的想法! 如果您想联系:LinkedIn:https://linkedin.com/in/umairahmedofficial X(Twitter):https://twitter.com/u_ahmedofficial

干杯!

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计