计算机病毒、网络钓鱼攻击和其他基于网络的滋扰会在网上造成严重破坏。更微妙的是——也许不太为人所知的是——我们经常被互联的嵌入式设备所包围,而这些设备在短短几年前还被认为是科幻小说。支持无线技术的微型芯片非常便宜,通常用于灯泡等微不足道的物理设备中。
在这个无处不在的物物相连的网络中,需要考虑恶意份子如何利用一组(可能不安全的)设备达到邪恶目的,可能是为了控制您的网络,或者形成僵尸网络的一部分。虽然人们希望最终用户安全地设置他们的设备,但工程师和系统设计师不应该假设情况会是这样。
因此,设备安全性必须从一开始就集成到设备中。在黑客可以接触到人工智能和其他先进工具的世界里,这一点尤其重要,有可能创造出新的攻击载体或加强现有技术。
在本文中,我们将研究五个关键概念,以帮助实现 OEM 设备安全性。
#1 安全性是跨越整个产品生命周期的持续旅程
当连接的设备运送到客户手中时,工程师们大概已经进行适当的尽职调查,以确保其安全性。虽然个别工程团队可能专注于安全,但下一个团队呢?一个庞大复杂的组织如何确保不同的或跨职能的团队统一采用和实施安全实践呢?如果在产品生命周期的后期出现需要解决的其他安全威胁时,该怎么办?
这是一项艰巨的任务,在 Microsoft Security Development Lifecycle 指南中有所阐述。Microsoft 概述了五项安全原则,这些原则对于确保公司范围内的最佳设计实践至关重要。这些优势包括:
- 需求 – 定义手头的任务和固有的安全需求
- 设计 – 设计软件/固件以满足上述安全要求
- 实施 – 根据设计规范编写代码
- 验证 – 分析代码中的错误和安全缺陷
- 发布 – 逐步发布更新,以便任何直接的缺陷都可以快速纠正
虽然 Microsoft 凭借其软件和云产品及服务而闻名,但在我们这个日益智能的互联设备时代,同样的概念也可以应用和适应于 OEM 安全性。
补充这些核心原则的是持续的培训(确保人力资本也保持最新)和应对措施,即实施先前确定的对策。
最后,虽然制造商可能不直接参与产品生命周期结束时的硬件处置,但应考虑 OEM 设备退役后的情况。指示最终用户适当销毁敏感数据的文档是不错的做法,但这可能会,也可能不会销毁。更好的做法是,当多余的信息不再是流程中的关键信息时,建立相应的机制将其删除。
#2 双向安全认证
在完美的物联网世界中,不需要安全性,数据可以简单地从一台设备传输到另一台设备。不幸的是,情况并非如此。恶意份子寻找各种方法来破坏大大小小的网络。安全漏洞有多种形式和规模,但缺乏双向安全身份认证(无论是在嵌入式设备层面、个人计算机甚至是云端)都是安全漏洞的主要原因。
SSL(安全套接字层)或 TLS(传输安全层)等技术使用公钥和私钥来确保传输的信息得到适当保护。任何被截获的加密数据都只是一堆乱码,没有密钥的任何人都无法识别。
发送方和接收方都必须采取此类预防措施,确保敏感信息在没有加密的情况下不会被发送或接收。如果处理不当,攻击者成功地模仿了一个可信的设备,那么很容易看出这会导致安全漏洞。
在整体安全性和身份认证方面,嵌入式设备经常被忽视。应对这一威胁的最佳方式之一是 OEM 厂商直接在设备上构建安全认证功能。领先芯片提供商的安全元件有助于安全集成设计。Arrow 提供多种安全入门套件 (SSK),包括网关和边缘计算解决方案以及无线终端节点解决方案,可用作参考设计,帮助您立即入门。
#3 安全启动有什么作用?
黑客试图攻击物联网和其他部署设备的一种方式是通过固件攻击。安全启动在现场部署的设备上运行固件之前,确保固件合法且来自制造商。这个过程是使用私钥和公钥的组合来完成的。
在制造商处,处理器是使用哈希根密钥刻录的,这些密钥是在一次性编程过程中从证书中生成的。私钥由制造商安全保管。公钥一旦完成初始编程就不能改变,这意味着它不能被恶意代码修改。因为公钥与私钥在数学上是成对的,所以可以安全地存在于部署的设备上。在启动时,操作系统检查签名和密钥,以验证代码没有被篡改。
为了增加额外的安全性,安全启动代码存储在设备上,通常位于锁定的一次性可编程位置 (OTP),因此不能被更改。
虽然安全启动可以增强安全性,但也有一些注意事项。首先,虽然操作系统可能来自已知来源,但这并不意味着系统上运行的其他软件/固件是安全的或没有漏洞。也完全有可能最终在经过验证的操作系统本身中发现漏洞。这可能需要实地更新。其次,如果私钥丢失,则不能再向现场的设备发送固件更新来保持设备最新状态。如果私钥被破解,设备的安全链也会被破解。
#4 安全 OTA:为什么拥有这一功能很重要?
OTA(空中下载更新)用于保持无线设备的最新状态。这些设备的复杂性各不相同,从连接的灯泡到汽车、医疗设备到 HVAC(供暖、通风、空调)系统,甚至是城市的关键基础设施。
OTA 安全性至关重要。考虑连接的灯泡:局部缺乏照明(或无意中存在照明)可能不是直接的安全威胁。但是,如果其中一个灯泡被入侵,就有可能提升这个“简单”设备的权限,最终危及整个网络。在更大的范围内,如果汽车上安装了错误的固件,就会对乘客造成明显而直接的危险。就像连接的灯泡一样,问题完全有可能传播到其他系统。
尤其是考虑到汽车等对安全至关重要的东西时,问题变成“这种产品应该具备 OTA 功能吗?”。在一个完美的世界中,软件、固件甚至机械系统在装配线上都是安全可靠的,因此这是仅进行物理更新的好理由。然而,在当今安全关键系统和新生的自动驾驶世界中,更新是必要的复杂因素。更不用说,消费者和专业人士希望获得 OTA 更新的便利性和实时性。
不幸的是,现场设备实际上可能会受到黑客攻击,并且存在需要修复的严重缺陷。固件更新是必要的,以保持设备在整个生命周期内的安全和完整功能。随着所有产品越来越依赖软件,OTA 更新将需要可用、可靠且安全。使用适当的加密技术,一旦固件安装到设备上,安全启动程序可以在启动期间验证固件更新,以确认它是合法的。
#5 设备级安全性与云端级安全性
虽然世界上许多计算功能已经转移到基于云的基础设施,但我们仍然需要具有存储和计算能力的实体设备。这可能采用智能手机或工业控制系统的形式,工程师甚至可能不会将其视为合法目标。保护实体设备及其包含的数据和 IP 需要一定的努力。虽然将计算资源推到云端可消除一些令人头痛的问题,但在保护您的数据以及您的客户在传输和静止中的数据方面,压力大大增加。
采用众所周知的程序,如使用强密码、不使用时锁定设备,以及不要将设备放在无人监控的地方,以免被盗,都是显而易见的安全策略。对于部署在边缘或及其所连接的网关的设备,个人信息数据、公司数据和其他 IP 应该通过适当的加密来保护。
保护内存安全也很重要。在某些情况下,应在嵌入式系统的芯片设备中使用安全区域或信任区。关键是提供芯片的供应商在设计零部件时将安全性放在心上。如果设计人员选择具有安全功能的电子设备,如基于硬件的加密加速器和安全算法中使用的随机数发生器,边缘设备将更加高效、安全和稳定。
此外,确保正确的配置、适当的存储实践,甚至丢弃不需要保留的数据,都有助于降低风险。借助工业控制系统,用户甚至可以在接口元件之间创建安全链接,并制定政策,确保基础设施的详细信息不会与外部团队或内部不需要访问的团队共享。
在云安全中,人们可能会认为保障系统安全是云提供商的责任。虽然云提供商应该提高强大的安全保障,但泄露事件仍有可能发生。根据 IBM 的数据,2019 年错误配置的资产占泄露记录的 86%。用户必须确保他们的云配置是安全的,因为与本地资产不同,云资产本质上需要能够从互联网访问。
考虑哪些数据存储在本地,哪些需要存储在云端,以及哪些需要加密或删除。必须清点云资产,以确保此存储不会成为不断扩大的未使用和潜在敏感数据的存储库。与需要物理基础设施来运行的本地存储不同,更多的云存储和计算能力是一个付费问题。
无论数据是在本地还是在云中,您最终都要对自己和客户的信息负责。利用您的云提供商的安全功能。这些功能旨在保护您的设备群,并在发生泄露时迅速采取行动,使您能够关闭边缘设备或受损网关,或者发布新的 OTA 更新以进行大规模部署。定期检查您的云提供商的安全实践、他们为您存储的内容以及配置方式有助于降低风险。
OEM 安全性至关重要
作为原始设备制造商,您的客户需要确保您已经尽最大努力来防止安全漏洞,且如果确实发生漏洞,您能够快速响应,并将损失降到最低。通过遵守本文的实践和想法,以及其他适合您所在行业的实践和想法,来帮助您建立这种信任。最后,通过持续努力,使您的安全程序保持最新状态,以领先于潜在的攻击者。
要了解有关安全解决方案的更多信息,立即下载 Arrow 嵌入式安全解决方案电子书。