保护嵌入式设备的安全正在成为一个热门话题,尤其是当这些设备开始连接到互联网时。黑客对连接的设备进行逆向工程是一个真正的威胁,这种攻击很容易做到。嵌入式开发人员可以做些什么来提高他们设备的安全性? 以下是开发人员需要注意的七个关键要点。
要点 1 – 开发成功率很高
嵌入式系统的安全漏洞有多普遍,安全性真的是需要担心的事情。95% 的系统都存在允许设备被征用的缺陷,95% 的成功率不仅表明大多数嵌入式系统都存在安全漏洞,而且嵌入式系统开发人员需要开始考虑他们所做工作的安全隐患。
要点2——不是RTOS,而是用户代码
安全缺陷通常出现在用户开发的代码中,而不是RTOS本身。其中一个原因是,RTOS 往往是一组操纵低级硬件的小功能,相反,黑客更喜欢首先查看任何基于网络的管理代码,这些代码可能为他们提供对设备的管理权限。
要点3——分析工具便宜
有人可能会认为,下载、分析和发现安全漏洞所需的工具相对昂贵,对于许多潜在的黑客来说遥不可及。不幸的是,这与事实相去甚远。完成这些壮举所需的工具大部分都是免费的。对于黑客来说,仅仅1000美元和一两周的工作可能引发的潜在破坏无疑是非常值得的。
要点4–禁用广域网接入还不够
嵌入式开发人员似乎认为他们的嵌入式设备在本地网络上,其对广域网的访问是禁用的,所以为什么要担心可能的安全缺陷呢?如果设备看不到互联网,那么黑客就无法访问设备,对吗?不对。有一项有趣的技术,该技术使用标准HTML,允许潜在黑客使用一个只有图像标签的网页来实现嵌入式设备中的广域网访问,这使得黑客可以访问设备和网络的其他部分。
要点5——注意文本字符串
文本字符串的一个问题是,它是文本。任何有兴趣阅读的人都可以很容易地阅读和理解文本。这些信息有助于网络专家破译设备的工作原理。这个故事的寓意是要非常小心你的设计中存储的未加密的信息和数据。
要点6——保护你的固件
保护你的嵌入式软件免受外部查看者的攻击。黑客需要能够看到代码并对其进行逆向工程,以便轻松找到漏洞。阻止黑客获取任何格式的代码都会让他们的工作变得更加困难。例如,不要提供可以下载并闪存到设备的完整二进制固件更新映像。黑客也可以下载图像,然后对其行为进行逆向工程。
有时,当更新图像不可用时,黑客会购买设备并从硬件上下载代码。防止黑客这样做的最好方法是保护嵌入式闪存。许多微控制器和微处理器都有保护flash不被读取的方法。采用这两种方法不会使设备绝对安全,但它们会使设备更难被利用。
结论
嵌入式软件工程师需要关注安全性。推向市场、添加产品特性和创建健壮产品的压力经常让开发人员争先恐后地推出产品。但是一旦这种产品进入世界,没有人知道它会存在多久,也不知道它会如何被用于邪恶的目的。因此,忽视哪怕是最简单的联网设备的安全隐患,都可能导致为黑客提供他们真正制造麻烦所需的计算能力。安全性可能不是嵌入式开发人员的最高优先级,但现在至少应该把它放在优先级列表上。
发表评论 取消回复