保护嵌入式设备正成为一个热门话题,尤其是当这些设备开始连接到Internet时。嵌入式软件设计人员可以做些什么来提高设备的安全性?以下是开发人员需要了解的七个关键要点。
1. 不是RTOS而是用户代码
有许多RTOS供应商非常担心这些嵌入式系统中的后门和缺陷通常存在于何处。安全漏洞通常出现在用户开发的代码中,而不是RTOS本身。其中一个原因是RTOS往往是一个小功能集合,它们操纵低级硬件并且不会出现任何“低悬的果实”。相反,黑客更愿意首先查看可能为其提供设备管理权限的任何基于Web的管理代码。
2. 当心第三方代码
据调查显示,许多安全漏洞是第三方代码的结导致果,这些代码包含在为每个OEM修改过的设备中。第三方代码应该针对任何潜在的缺陷进行审查和审查,而不仅仅是假设它是完美无缺的。
3. 分析工具很便宜
人们可能会认为下载,分析和发现安全漏洞所需的工具相对昂贵,而且对于许多潜在的黑客来说是遥不可及的。所以很多人会把这个过程去除。
4. 禁用WAN访问权限
嵌入式开发人员似乎认为他们的嵌入式设备位于本地网络上并且禁止访问WAN,那么为什么要关注可能存在的安全漏洞呢?如果设备无法访问互联网,那么黑客就无法访问该设备,但却不知道该技术允许潜在的黑客使用只有图像标签的网页来启用嵌入式设备中的WAN访问。然后,这允许黑客访问设备和网络的其余部分。
5. 注意文本字符串文本字符串的
任何有兴趣查看文本的人都可以轻松阅读和理解文本。所以开发人员要非常小心设计中存储的未加密的信息和数据。
6. 保护固件
黑客需要能够查看和反向工程代码才能轻松找到漏洞。防止黑客以任何格式访问代码会使他们的工作变得更加困难。例如,不要提供可以下载并闪存到设备的完整二进制固件更新映像。黑客也可以下载图像,然后对其行为进行反向工程。
有时候,当更新图像不可用时,黑客只会购买设备并从硬件下载代码。防止黑客这样做的最好方法是保护嵌入式闪存。许多微控制器和微处理器具有固定闪存的方法,使其无法读取。使用这两种方法不会使设备绝对安全,但它们将使其更难以利用。
嵌入式软件工程师需要关注安全性。进入市场,增加产品功能以及创建强大产品的压力经常让开发人员争先恐后地将产品推向市场。但是,一旦该产品进入这个世界,就不知道它将会存在多长时间,或者它如何被用于恶意目的。即使是最简单的连接设备,忽略安全隐患也可能导致黑客获得真正造成麻烦所需的计算能力。