博客专栏

EEPW首页 > 博客 > 工程师应该知道的硬件安全漏洞

工程师应该知道的硬件安全漏洞

发布人:电子资料库 时间:2022-09-11 来源:工程师 发布文章
image.png


工程师为什么要关心硬件安全?因为它们可以通过设计帮助防止漏洞!

工程师为什么要关心硬件安全?因为它们可以通过设计帮助防止漏洞!

工程师通常不太喜欢谈论安全问题。然而,这并不能否定工程师了解密码学的重要性,这样他们才能在未来的设计中解决它。

到目前为止,我们已经讨论了一位工程师对密码学的(简要)介绍、Diffie-Hellman 交换以及ECC(椭圆曲线密码学)的工作原理。

现在是学习黑客如何破解密码学的时候了,这样您就可以开始漫长的旅程来保护您的设计免受常见攻击。

为什么电气工程师应该关心安全性
image.png


如果您负责为企业级或安全关键设计提供安全设备,您应该在设计过程的每个阶段与您的芯片供应商和/或安全研究人员讨论您的设计。Microchip、SiLabs、WolfSSL 等公司都有工程师,可以帮助您进行设计并教育您了解安全性。

毕竟,可以说没有 100% 安全的系统。

“从来没有一匹马是不能骑的。从来没有一个骑手不能被扔掉。”

安全研究人员与黑客进行了终生的猫捉老鼠游戏。一次又一次,“牢不可破”的加密被打破了。您的消息是否保持加密取决于部件选择、电路设计的好坏、代码实现的好坏,以及攻击者是否有足够的动机和装备来击败您的设计。作为工程师,您的工作是尽一切可能保护您的私钥。

您可能已经意识到,您几乎无法采取任何措施来保护您的私钥免受民族国家的侵害。各种政府机构可以用来对付电子和人类目标的资源是巨大的和压倒性的。即使间谍无法从设备上取回私钥,他们也总能破解对设备进行编程的计算机,潜入制造 IC 的工厂,危害员工……

幸运的是,您不必担心民族国家会入侵您的设备。 不幸的是,这通常比我们想相信的要简单得多。一个拥有价值约 250 美元硬件并可以访问 YouTube 培训视频的青少年可以在一个下午从微控制器中取出私钥。恶意程序员可以在几分钟内窃取数据。

为了为安全设计做好准备,了解手头的威胁非常重要。以下是一些众所周知的基于硬件的安全漏洞的高级视图,以及您可以采取哪些措施来缓解这些漏洞。

嵌入式系统安全问题示例

让我们看一些主要的硬件漏洞示例,并讨论一些更安全设计的技巧。

电磁侧信道攻击
image.png


几十年来,研究人员已经了解电磁侧信道攻击。每当机械开关或晶体管改变状态时,电磁波就会沿着导体向外传播。如果该电磁波被黑客****,他们通常可以重建用于创建电磁波的数据。请参阅Van Eck Phreaking、Tempest或下面的视频了解更多信息。

减轻电磁侧信道攻击

在设计和布局 PCB 时使用行业最佳实践。

  1. 将去耦电容尽可能靠近电源引脚放置。

  2. 在您的 IC 下方使用坚固的接地层。

  3. 在您的 IC 上使用EMI 屏蔽。

它不会阻止可以物理访问您设备的人,但会使他们的工作变得更加艰难。

差分功率分析攻击
image.png


要破解大多数微控制器上的加密,您只需要一个 0.005 美元的电阻器、一个模数转换器以及对 Python 编程语言的初步了解。

当微控制器中的数字门切换时,它们会干扰通向微控制器的电源轨。黑客已经学会在电源轨上放置一个 50 Ω 电阻器和一个模数转换器,以记录微控制器运行期间电流的微小变化。

微控制器通过 SPI 编程/调试接口进行询问,同时记录差分功率测量数据。随后,对数据进行分析,并使用峰值和脉冲来关联和识别各个微控制器的动作。

通过仔细分析,黑客可以从微控制器中提取他们想要的几乎任何信息。

减轻差分功率分析攻击

这种黑客攻击很容易使用基于软件的加密代码完成,因此请尽可能使用实施 DPA 对策的加密硬件加速器。和以前一样,在设计和布局中使用行业最佳实践。选择 BGA 封装并在 PCB 的中间层中运行您的电源轨,如果您确实有理由担心,请将您的 IC 嵌入 PCB 的中间层,上下都有铜平面,并在四周通过缝合使用。毕竟,如果坏人无法到达电源轨,他们就无法轻松进行差分电源分析。

或者,使用基于硬件的安全核心,因为它们不太容易受到这种黑客攻击(它们仍然可以被黑客攻击)。工程师了解此漏洞并以多种方式对其进行设计。例如,Silicon Labs Wireless Gecko 系列 2具有集成的安全内核,Microchip 生产一系列安全 IC,包括您可以在设计中使用的加密模块。

中间人攻击
image.png


有几种中间人攻击。 本文 演示了“无效曲线攻击”。以下更简单的假设示例只是一种可能的攻击向量。

当您通过名为“MyTunes”的蓝牙扬声器播放计算机中的音乐时,数据会直接从计算机传输到扬声器。但是,当您将计算机连接到名为“AllAboutCircuits.com”的外部网站时,您可能会或可能不会意识到您的计算机并未立即直接连接到另一台名为“AllAboutCircuits”的计算机。

发生的第一件事是您的计算机联系您的路由器,您的路由器联系域名服务器 (DNS),该服务器将名称 AllAboutCircuits.com 转换为 IPV4 或 IPV6 地址 (104.20.234.39)。这通常发生得很快,并且数据存储在本地以加快未来的浏览速度。

image.png


Windows 10 PC 上的 DNS 条目。

然后数据从计算机反弹到路由器,再到网关,再到交换机等……到 IP 地址与 104.20.234.39 匹配的计算机。跳数因网站和位置而异。在每个位置,如果计算机不安全,则数据可能会被截获、流量重定向或完全其他方式。

image.png


此路由跟踪显示从我的笔记本电脑到 AllAboutCircuits.com 网站的所有“跃点”

中间人攻击的设置

中间人攻击可能会以多种方式发生。只考虑这一种攻击。

image.png

来自ThisPersonDoesNotExist.com的“Bob”图片

鲍勃买了一个花哨的新无线路由器。他把他的玩具带回家并将其连接到他的家庭网络。为了确定他没有在新玩具上花太多钱,他在电脑上查看了他的****账户余额。

image.png

来自ThisPersonDoesNotExist.com的“Mallory”图片

马洛里是一名黑客。她使用网站shodan.io (或类似网站)来识别互联网上的路由器、网络摄像头、Raspberry Pi 或物联网设备,看到 Bob 的新路由器,咧嘴笑着,威胁地搓着手,因为她现在也有了一个新玩具。

Mallory 使用所有设备附带的默认用户名/密码(admin/default、admin/admin、admin/password 等)。大多数制造商对所有设备都使用相同的用户名/密码,而且大多数人不会费心去更改它们,因此她不会花费太多时间来找到一个或多个入口点。Mallory 只需登录设备,用她自己的固件刷新它,然后将 DNS 服务器更改为她选择的 DNS 服务器。

她可以这样做是因为:

  • 制造商懒惰地在其所有设备上使用相同的用户名/密码。

  • 绝大多数最终用户不会更改他们的默认密码。

  • 设备制造商要么不需要签名的固件,要么他们的私钥被泄露并且在野外。

现在,马洛里可以访问专用网络。她不再是网络上的黑客,她现在在 Bob 的个人家庭网络中,并且可以观察数据来回移动。数据是加密的,所以她不一定能看到它是什么——但她可以看到 Bob 非常频繁地访问和登录 ThisBankDoesNotExist.com (123.123.123.123),所以她开始着手设置服务器和网页Bob 这是 ThisBankDoesNotExist.com 登录页面的像素完美副本。

然后,Mallory 将 Bob 的 ThisBankDoesNotExist.com 的 DNS 条目更改为 (123.45.67.89)

攻击

Bob 导航到 ThisBankDoesNotExist.com。他不会费心在域名前输入 https://,并且通过 Mallory 的黑客攻击,他没有连接到正确的计算机,他在
http://ThisBankDoesNotExist.com - 所以没有证书警告弹出。

鲍勃对此一无所知。他看到了像素完美的副本,并在 Mallory 的计算机中输入了他的用户名/密码,正如他所期望的那样,帐户信息出现了。

除了现在,Mallory 可以看到一切——每笔交易、每个授权账户持有人,甚至 Bob 用来保护账户信息的超级复杂的用户名/密码 (bob/letmein)。


黑客攻击的后果

几乎所有网站都使用端到端加密。这意味着数据只能在 Bob 的计算机和****计算机上解密。Mallory 引入了一个新的端点。Bob 的流量在他的计算机上编码并在 Mallory 的计算机上解码。然后数据在马洛里的计算机上重新编码,并在****的计算机上解码。对于 Bob 和****来说,这仍然显示为端到端加密。

但是有一个中间端点——马洛里的电脑。Mallory 可以使用相同的技巧来查找 Bob 的医院记录、电子邮件等。

如何保护嵌入式系统
image.png


保证您的设备安全的最简单方法是让您的产品难以被黑客入侵。

如果他们遇到阻力,黑客就有机会继续攻击下一个目标。另一方面,个人或小公司很难阻止民族国家的黑客攻击。幸运的是,许多“黑客”只是“脚本小子”,缺乏开发新攻击和解决问题的专业知识。如果您的设备没有 YouTube 视频和 GitHub,他们将不知道该做什么,他们会继续前进。

此外,请与您的微芯片供应商联系,了解有关保护您设备的更多信息。Microchip 和 Silicon Labs 都在本系列文章中占据重要位置,因为两家公司都为这些文章提供了工程师的采访机会。

如果您设计物联网设备,您可以采取多种措施来降低您的客户因疏忽的工程和编程实践而失去挽救生命的可能性。

除了上面提到的想法,考虑这些额外的步骤:

  1. 使用支持固件身份验证(AKA 安全启动)的微控制器和工具链进行设计。 只有正确签名的数字固件才能在微控制器上运行,并且只有您知道私钥。Silicon Labs和Microchip (以及其他供应商)都有支持安全启动的微控制器。

  2. 尽可能使用具有安全调试功能的微控制器。 其中一些黑客攻击是可能的,因为黑客可以从主机微控制器注入和检索数据,并使用它来确定微控制器封装内发生了什么。如果数据出现混乱或根本没有,他们会感到沮丧并继续前进。同样,Silicon Labs 和 Microchip(以及其他供应商)也具备这种能力。

  3. 阅读安全性,向专家提问,并将您的设计发送给设备制造商的应用工程师,以接收有关您提出的安全方案、电路板布局等的反馈。

  4. 如果设备被篡改,请使用防篡改技术从内存中擦除您的私钥。TE Connectivity 制造的压电薄膜片可以完全包裹在您的 PCB 周围。如果板材被切割、干扰、熔化等,它将产生电压以指示篡改情况。使用电容或电感传感器(例如来自 TI 的传感器)来检测项目外壳何时打开,或使用霍尔效应传感器来检测外壳螺钉何时旋转。

  5. 假设当您的设备到达第一个客户手中时,它已经被盗用了。 创建一个项目安全蓝图,允许一个或多个单独的设备受到攻击,而不会影响您的整个项目。

本系列文章只是对安全性的介绍。作为工程师,您有责任确保物联网对每个人都安全。


*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。



关键词: 工程师 漏洞

相关推荐

技术专区

关闭