网络安全

如何在OT网络安全中保护嵌入式系统

了解嵌入式设备的网络安全问题是一个复杂的、持续的过程,但它非常值得去做……和做正确的。这里有几个步骤让你开始这段旅程。

罗恩的傲慢 2021年3月17日
图片提供:Brett Sayles

很多人都想知道如何保护嵌入式系统?以下两条信息可以帮助你理解嵌入式设备的网络安全问题和永无止境的知识获取过程:

  • 回想一下昨天、一周前和一个月前你学到了什么。首先,你需要给自己荣誉。第二,知道明天你可能会重新开始整个旅程,但今天,你显然比昨天知道得更多。
  • 让自己感到不舒服。这并不容易,特别是在嵌入式系统中,我们可以离线或使用砖块,但不要害怕学习,尝试更简单的“艺术”层次并建立信心。每个人都必须从某个地方开始。

考虑以下六个关于保护嵌入式系统的问题。

1.我们如何知道所使用固件中的漏洞?有我们可以订阅的通讯组列表吗?

不幸的是,在定义,报告和匹配产品到漏洞披露(例如,常见的漏洞和曝光或CVE)时,答案很复杂。学者试图将CVE解决CPE(产品)挑战,但对于最终用户来说,简单的简单答案是遵循Feeds:

  • 遵循CISA ICS证书咨询页面。
  • 关注你国家的咨询页面。
  • 遵循各种产品供应商安全门户网站页面。
  • 在可能的地方为您的各种产品供应商注册电子邮件分发列表。
  • 并通过社交媒体或服务订阅专家。

专家提示:将工业控制系统网络应急响应团队(ICS CERT)和其他类似团队设置为您浏览器的主页,以便在您重新启动所选浏览器(如Chrome或Firefox)时显示。

假设您有一个可供交叉引用的资产清单,或者一个平台有频繁的常见漏洞评分(CVS)更新,那么您应该看到与您所拥有的资产相匹配的新的漏洞或通知,以便按照您希望的方式进行跟踪。

2.组织如何识别ICS设备,并自动化ICS设备的“实时”库存以驱动漏洞管理?

如上所述,需要一个已部署和范围内的资产的全面列表。这可以通过多种方式实现,包括通过网络存在(即传输数据包)对设备进行被动检测,检查包含资产部署信息的专有原始设备制造商(OEM)文件,以及以安全、有效的方式轮询设备。

虽然在过去几年中,全行业都非常关注使用被动检测解决方案,但决策者需要了解被动检测的局限性,然后才能认为这些解决方案将带来有意义的风险降低。

因此,组织通过一个理想的现代化流程(并且只有基于IP的资产)来识别事故指挥系统(ICS)/IACS/作战技术(OT)设备。一种通常耗时且幼稚的方法是:

  • 收集并聚合对网络及其资产的理解(即使这是通过收集电子表格完成的)。
  • 与资产所有者和有限的测试一起修改(例如,离线数据,或“请使用单个ping”方法)。
  • 使用OEM工具,屏幕截图,刮擦和验证/交叉参考获得的信息。
  • 每当介绍/退休时,定期重复和更新,和/或执行它。

是痛苦的,对吧?它是。最后,要真正理解资产的属性,您需要的不仅仅是媒体访问控制(MAC)地址、IP和供应商OU匹配。

了解嵌入式ICS资产所需的详细信息通常不会出现在大多数流量中,除非进行了特定的查询,并且可能在特定条件下传输(例如,启动)。在一个稳定状态的设备中,仅仅看数据包飞过将提供很少的洞察力,并且充满了误报(或者隐藏在传输控制协议/串行网关后面的丢失的资产)。

这能便宜地完成吗?是的,但这很难,因为你需要知道:

  • 精确地描述每个ICS设备如何通信。
  • 检索相关数据的确切命令/请求。
  • 如何将结果解析/转换为可用的内容。
  • 如何以编程方式将结果传递给使用者。

对于非商品系统,甚至是与之配套的系统,它都不是微不足道的开源工具. 不要陷入“哦,但是Modbus是公开可用的,或者以太网/IP(也称为CIP)”的陷阱。当然,规范被广泛发布,但仅仅因为您知道规范并不意味着您知道如何解释当地的“方言”和设备特性。

边缘案例将打破你,当你与非标准协议结束时,您可能希望您可以通过与花费时间理解设备或具有知识/体验的公司一起工作来拯救自己的复杂性。

3.安全发现的方法和缓解遗留设备漏洞的常用方法是什么?

显然,这是一个加载的两部分问题,但发现漏洞有几条路径:

  • 利用您的安全性提要,构建您自己对所考虑的特定系统的理解(ISA-62443语言的SUC)。这是一个很好的机会,您可以从同一供应商或其他供应商的同类产品获得相关信息,这将允许您开始形成假设。
  • 使用离线系统或在非关键过程/功能中被很好理解的系统进行智能观察。这意味着通过Telnet与它对话,查看SD卡上的文件,等等。这是一项艰巨的工作,也是一段以知识为基础的旅程。然而,它只有一英里宽,一英寸深。要理解特定于该产品、嵌入式硬件、操作系统(及其工作方式)等的各种问题,需要真正的知识。
  • 请阅读产品文档,了解不是专门用安全语言编写的提示。例如,如果有人这样做,这个产品就会崩溃,或者我们必须使用凭证来停止X或禁用Y功能。
  • 使用被动方法查找漏洞。例如,当使用OEM工具与设备通信时,您可以使用Wireshark看到什么?
  • 测试您是否有适当的设置和组织承诺来处理您可能在过程中破坏的设备。常用的测试方法是使用协议模糊器和自动化但高度监控的、一步一步的测试堆栈,或者应用部落知识和其他技术技能。

如果您发现了一个问题,它是可重复的,并且看起来它不是通过公开的公共CVE或供应商应用程序说明来解决的,恭喜。你的下一步是向正确的渠道报告(参见CISA CVD工艺).

减轻和处理几个遗留设备的风险可能是一个复杂的过程。从资产所有者的角度来看,您可能希望:

  • 在遗留设备周围有适当的政策和指导。
  • 确保您可以对它们进行从头到尾的全面恢复(包括将它们从实际库存中取出并编程)。
  • 通过明智地禁用功能来减少设备本身的攻击面。
  • 防止网络访问脆弱的设备或段(例如,区域和管道)。
  • 制定详细的资产管理策略,监控设备上的更改,而不是查看可能过时的带外项目文件。
  • 有一个计划和实践恢复最后已知的良好配置和编译逻辑的嵌入式系统。
  • 有一个漏洞管理程序,跟踪漏洞和潜在的固件升级到嵌入式系统。
  • 准备和测试事件响应程序。
  • 充分保护与脆弱设备或其网段交互的特权系统。攻击者可能会使用其中的一个来执行OEM功能,并影响您的流程,而不是直接针对设备。

无论如何,并非所有上述措施都特别适用于我们认为脆弱或不安全的嵌入式设备,但它们是补偿控制,旨在添加额外的保护层,以阻止或减轻风险到可容忍的水平。

4.在嵌入式系统中,是否有可以用于最低功能、最低权限、变更管理等的固件配置特性?

嵌入式设备通常不是开放的平台(尽管有些可能运行Linux),而且不同的供应商、甚至不同的产品都不同。但是,如果您带着MacGyver的帽子,您可能偶尔会在这些设备中应用功能来提供控件。例如,使用可编程逻辑控制器(PLC)编程的最佳做法,不允许Modbus写入它们,或更改默认密码和监控日志。

事实是,在许多情况下,这些设备以及那些更老的设备需要更高水平的注意力和一些创造力。对于变更管理,问题是如何从设备中收集信息并积极地监控它的变更?幸运的是,有解决方案,但它们可能不在设备本身。

另一方面,许多设备具有某种级别的基于角色的访问控制(RBAC),您可以设置用户名/密码。但是,您应该保护它们不受物理访问,将“运行密钥”设置为只读,并保护拥有OEM软件的特权工作站(它们通常可以随意与这些系统通信)。后一点强调了另一个方面——如果不使用默认凭证,您可能会为自己赢得宝贵的时间来检测异常活动,并使自动脚本或程序更难以意外地进入嵌入式系统。当然,假设您正在监视和警告/操作周围系统的日志。

在许多情况下,您可能拥有大量已部署的设备,仅更改凭据就需要关闭或定期维护窗口。在现有部署中使用RBAC功能可能需要一些思考。

另一种选择是使用在协议级别应用访问控制的工业防火墙,但这并不是对这个问题的具体答案。相反,适当的防火墙是一种额外的补偿控制(用于保护管道/区域),并要求进入您的资产管理系统。

5.我可以为OT / ICS设备(如RTU,IED和PLC)“修补”固件?

另一个问题是从典型的工程师回答开始的——这要视情况而定。不幸的是,与IT/OT同类产品相比,嵌入式系统在升级/热修复方面存在挑战(请参阅OT中的嵌入式设备和固件白皮书).但即使存在解决方案,您需要了解一些操作问题:

  • 更新中有什么内容?地址是什么?修复是否提高了稳定性?解决关键缺陷?添加功能?
  • 有必要更新吗?需要延期吗?立即部署?没有应用?
  • 这个固件更新有失败的可能吗?如果有,我的回滚计划是什么?
  • 此固件更新是否需要定期停机和稳定电源?如果是这样,您需要确保它是计划好的,并且所有的变更管理过程都是遵循的。
  • 此固件更新是否需要根据OEM指导所需的特定进程?如果是这样,请确保遵循OEM和您的组织的程序陈述(SOP)。

如果您仍然认为设备的更新是相关的和必要的,根据您的组织的标准,那么是的,修补OT设备是可行的。但它不会像周界防火墙或普通Windows资产的补丁程序那样频繁活动。同样,这也是为什么一致且频繁地直接监视资产以确定组织已部署资产清单中的变更是至关重要的。

如果有符合组织标准的更新可用,那么在嵌入式系统上打补丁或执行固件更新是可能的和可行的。不应该像在It中那样单独依赖它,而应该用来确保它所支持的流程和通信的稳定性和安全性。

修补普通OT系统,如靠近外围的嵌入式路由器(如CISCO的),是一项不那么令人担忧的任务,考虑到您的组织对它们的安全依赖,它们应该被优先考虑。但是,您仍然必须遵守适当的风险和变更控制。不要忘记在资产清单中包括网络基础设施。

6.如何更改区域性以创建更好的补丁和更新节奏?

有几种方法可以积极影响变革,无论是在社区外部还是在组织内部。通常,最初是通过人与人之间的方式进行的。

要改善企业文化,首先要证明这是可能的,建立一个考虑周全、严格的、以工程为基础的组织,考虑所有方面,而不是全盘否定。一个潜在的想法是,在招聘过程的面试阶段就开始实施这种文化,这样你就可以尽早灌输期望的东西,而不是让员工被当前的价值观或态度“毒害”。通过这种方式,你可以培养一个积极向上的团队,但这也是积极参与安全文化变革的一步。

另一个建议是支持针对“容易摘到的果实”或低风险系统的补丁和更新。建立遵循流程的声誉,严格,注重细节,了解你的环境,接受来自当地网站所有者的见解,他们拥有大量的“部落知识”。围绕信任建立关系。如果你能够坚持下去,获得足够的支持,并且在每次取得胜利的同时不要仓促行事,你便能够改变许多系统的补丁文化和节奏。

另外:不要停止修补/维护/保护系统或其周围邻近的系统。随着时间的推移,安全性会降低,而且它需要不断的关注,否则它会腐烂。你仍然要更换汽车的机油,即使它有更新、更好的版本。否则,它将退化,然后灾难性地失败。

这个问题的另一个方面是,如何在着眼于未来的今天解决网络安全问题,同时也影响供应商创造更安全的产品。以下是一些想法:

  • 在安全方面进行投资,使其他技术、流程和资源的时间更加有效并成倍增长。
  • 投资使您的组织达到足够的网络安全成熟度,并通过始终如一地应用基础知识来维护它。它们已被证明对剩余风险有可衡量的影响,并经常提供合理程度的保护。
  • 在征求建议书(RFP)中添加安全语言,并在转移到安装之前验证供应商的任何声明。
  • 在产品中使用更安全的选项,并成为使用它们的群体中的一员。不要让设备被设置成原样然后离开。添加安全性的最佳时机是在部署系统/替换时的早期。当你使用不安全的选项或默认选项时(或当它们退役时),将系统转移到远离它们的地方。
  • 确保您的安全流程将网络安全作为工厂验收测试(FAT)和站点验收测试(SAT)的一部分,也称为组件首件测试(CFAT)和客户满意度测试(CSAT)。
  • 向供应商或证书报告问题。通用安全漏洞评分系统(CVSS)/ CVE系统有缺陷,但意识迫使企业修复问题,迫使你的组织来管理它们(尤其是如果你在一个合规为导向的环境,如一个需要由NERC CIP遵守).
  • 为整体网络安全治理创建端到端测试流程和充足的培训加上实时练习,以确保您的资源充分准备减少事件的最终性的中断和恢复资产。
  • 参与社区努力,向供应商和行业专家提出棘手的问题。试着成为改变的一部分,而不是被阻碍。还要考虑经验和其他行业的做法。很有可能,我们可以在ICS/OT世界中使用现有技术。

创造变革需要改变企业文化,改变与供应商的关系,让员工承担责任(而不是惩罚他们)。这显然是一个巨大的提升,它将是持续的,但这是一场马拉松,而不是短跑。所以不要把自己累坏了,试着做出有影响的明智选择。

-本文最初发表于Verve Industrial的网站.神韵工业是CFE Media的内容合作伙伴。CFE媒体与技术高级编辑/项目经理Gary Cohen编辑gcohen@cfemedia.com..


罗恩傲慢
作者生物:神韵工业