将嵌入式安全列入设计清单中

Lars Møller avatar

WIBU

2023-03-17

随着物联网随着工业4.0的迅速兴起而扩展到工业领域,嵌入式系统越来越多地通过公共网络进行互联和通信。这些新的物联网和IIoT设备和系统的核心是嵌入式软件,因此必须加以保护,不仅要防止知识产权的损失,还要防止通过恶意代码篡改引入恶意软件,换句话说,确保系统的完整性。

我最近读了一篇关于 "物联网管理员必须知道的5个嵌入式系统术语 "的文章。这篇文章的核心是让物联网设备工程师熟悉设计阶段可能涉及的各种软件、硬件和信号处理组件。除了定义嵌入式系统本身和各种类型,如移动嵌入式系统、网络嵌入式系统、独立嵌入式系统和实时嵌入式系统之外,文章还继续阐述了嵌入式系统的其他四个要素。片上系统(SoC)、特定应用集成电路、实时操作系统(RTOS)和数字信号处理。
​我认为物联网管理员开始他们的物联网设计之旅,也许是第一次,会很好地听取作者的建议。然而,我发现清单上有一个关键的遗漏,那就是嵌入式安全,或者更具体地说,是嵌入式系统的完整性保护。为什么在设计过程中考虑完整性保护很重要?让我解释一下。随着物联网随着工业4.0的迅速兴起而扩展到工业领域,嵌入式系统越来越多地通过公共网络进行互联和通信。这极大地扩大了网络犯罪分子的攻击面,他们试图利用许多可以利用的漏洞,最近世界各地报道的许多针对关键基础设施的攻击就证明了这一点。这些新的物联网和IIoT设备和系统的核心是嵌入式软件,因此必须加以保护,不仅要防止知识产权的损失,还要防止通过恶意代码篡改引入恶意软件,换句话说,确保系统的完整性。完整性保护包括保障系统资源、程序和数据不被非法操纵的安全措施。一般来说,有两个主要挑战点。
​​首先,嵌入式系统可以直接从互联网上受到攻击。在代码更新期间,执行代码可以被恶意代码取代或修改。代码本身的弱点也可以被利用。其次,黑客可以获得与开发人员相同的开放源代码信息。有了对执行代码二进制结构的了解,黑客可以使用强大的开发/分析工具,在静态攻击中直接修改代码。
此外,通过对内存和进程结构的了解,黑客可以通过在启动过程中插入恶意代码发起动态攻击。一个关键的安全挑战是保证数据的完整性,使系统进入安全模式,并在检测到攻击后立即停止执行所有功能。有几种方法可以用来钝化潜在的攻击。嵌入式系统的完整性可以通过加密运行代码本身和依靠安全的硬件设备进行密钥管理和状态存储来保证。通过这种方式,加密密钥被安全地存储在加密狗或软件中,然后激活密钥并将其与特定的设备或控制系统联系起来。另一个有效的方法是防止操作系统的加载器启动任何未经授权的代码。这也包括保护开放系统平台本身,防止黑客安装他们自己的加载器。最后,嵌入式系统的BIOS应该防止任何未经授权的操作系统的加载。
免费试用
0