保护嵌入式系统的7个技巧

就像质量和许多其他嵌入式系统属性一样,安全性必须在开发周期开始时加以考虑。开发人员可以 ’建立他们的系统,然后在最后增加安全性。随着越来越多的系统开始连接到Internet,开发人员应遵循十几种最佳实践来开始保护其系统。在这篇文章中,让’s探索任何一个团队都可以实施的方法。

技巧1 –开始使用ARM TrustZone

ARM TrustZone已经在应用处理器上使用了很长一段时间,并且已经宣布ARM TrustZone即将在新的微控制器上使用。尽管我们现在可能无法在微控制器环境中使用TrustZone,但是开发人员应该开始研究其含义以及如何使用它来编写更安全的软件。如果您拥有ARM应用处理器,那么现在是时候开始使用TrustZone了。

提示2 –遵循语言和行业最佳实践

嵌入式软件开发人员应使用几种编程语言和行业最佳实践标准。使用MISRA-C / C ++可以确保遵循使用所选语言子集的最佳实践。无论从安全角度还是开发人员都在使用C,都应使用MISRA,因此强烈建议您熟悉并遵循Cert-C中的最佳做法。 Cert-C旨在提供建议的编码实践,以防止软件中的安全漏洞。

提示3 –对固件更新进行数字签名和加密

连接到互联网的任何设备都需要功能更新和推送到其的错误修复。为了防止未经授权的固件更新,开发人员应考虑对其固件映像进行数字签名和加密。我遇到的许多系统只是接受它遇到的任何新软件。开发人员在触摸图像之前,应确保图像已通过身份验证。

提示4 –在启动时验证应用程序

黑客可能会在启动过程中尝试将新软件注入系统。使用引导加载程序来验证存储在ROM中的当前映像和RAM中运行的代码始终是个好主意。有很多方法可以做到这一点,但是一个非常简单的检查就是放置一个在启动时经过验证的CRC。总比没有好!

提示5 –监视堆栈和缓冲区是否溢出

堆栈或缓冲区溢出可能是开始将恶意代码注入系统的好方法。开发人员应监视其缓冲区和堆栈空间,以确保它们不会溢出。可以通过监视位置指针或创建警告即将溢出的防护区域来手动完成此操作。大多数RTOS还包括堆栈溢出监视器。确保不仅打开它,而且在发生此状态时,有用于处理系统的代码。

提示6 –锁定闪存空间

这当然不是防篡改的方法,但要锁定在黑客面前的另一个障碍是锁定Flash程序空间。将闪存锁定在行尾将有助于防止对设备具有物理访问权限的人能够读取应用程序代码并对其进行反向工程。如果有足够的时间,他们可以找到一种方法,但重点是他们将不得不更加努力地访问代码,这足以阻止他们这样做。

Tip #7 – Hire a 安全 expert

我不是安全专家(免责声明),但是我会提倡使用安全专家来帮助为设备或产品制定安全策略。系统已经变得如此复杂,以至于任何人都不可能在任何事情上都是专家,而且如果我们要构建健壮,安全的系统,则开发人员需要相互利用。对于小型企业而言,确保薪资安全可能没有意义,但在需要时使用顾问或外部公司提供指导是迈向拥有安全系统的重要一步。

结论

尽管大多数开发人员,管理人员和公司都希望忽略安全性,但这可能是嵌入式系统开发人员将面临的最大挑战之一。说实话。没有人愿意为此付出代价或认为他们需要担心安全性。我们认为我们不可能成为目标。我曾经不小心将一台未受保护的Linux计算机放置在防火墙之外,这样我就可以在周末访问它。在连接到互联网的数十亿台机器中,几天之内会发现这台机器的几率是多少?在24小时内,它被一些非常酷的中国恶意软件劫持。您认为嵌入式系统将持续多长时间?

4 thoughts 上 “保护嵌入式系统的7个技巧”

  1. 如果ARM提供提示,则提示1将有效’如果承诺像广告中那样制造用于微控制器的TrustZone,则在32位微处理器上呈现TrustZone会有些麻烦,人们通常会选择有意义的位,全面的实现需要大量的软件组件,而这并非易事并且必须安全完成,如果需要的话,它也可能会对实时产生不利影响。

    I can 上 ly agree with Tip#7. If not hiring a 安全 expert, then better conduct a proper 安全 requirements assessment, if you know how to do it, if not: back to the Tip#7!
    不要以为您从客户那里听到的是他们真正想要和/或需要的东西,每个人都认为他们知道“security”是在计算系统方面,但是实际上大多数人的观念都非常混乱。

    1. 感谢您的评论。 TrustZone将及时显示。它’制造它们并不是一件容易的事,而是他们的被许可人实际上生产了这些零件。手臂只创建IP’由Nuvoton,Texas Instruments,Renesas等供应商来生产零件。我绝对同意大多数嵌入式开发人员不会’真正了解安全性需要什么。

发表评论

您的电子邮件地址不会被公开。 必需的地方已做标记 *

该网站使用Akismet减少垃圾邮件。 了解如何处理您的评论数据.