素材来源 | apriorit
以前的嵌入式系统对安全问题相对不那么重视,但随着时间的推移,你会发现很多嵌入式设备都在做各种“保护措施”,你平时在产品开发和设计时,有注意安全问题吗?
嵌入式系统12种常见攻击
基于软件的攻击
基于网络的攻击
旁道攻击
让我们找出针对这些类型攻击的关键特征,常见示例以及可能的对策。
第一类:基于软件的攻击
基于软件的攻击针对系统的大脑-管理设备的应用程序。对软件的成功攻击使黑客能够访问数据或获得对嵌入式系统的控制。
搜索软件设计和代码中的漏洞是最常见的攻击手段,因为可以远程进行此类攻击。而且,基于软件的攻击不需要黑客的专业知识,因为他们可以使用典型的攻击,例如部署恶意软件和暴力破解。
最普遍的基于软件的攻击包括:
· 恶意软件
· 暴力访问
· 内存缓冲区溢出
· 利用web服务
对嵌入式系统的恶意软件攻击与任何其他系统的工作方式相同:黑客部署了一段恶意代码,这些代码试图拦截存储在系统内部的数据,控制受害系统或对其进行破坏。通常,黑客会伪造固件更新,驱动程序或安全补丁来分发恶意软件。
为了防止此类攻击,可以实施以下保护措施:
应用黑名单方法,即开发人员为系统检测到的任何新恶意软件创建签名,并将这些签名添加到嵌入式系统固件中。当系统检测到具有已知签名的软件时,它将不会运行它。
使用白名单保护,为所有受信任的软件源创建特定的签名。这允许系统只运行具有正确签名的软件。
简单地说,强制访问凭证就是猜测凭证的过程。大多数嵌入式系统提供对图形用户界面(GUI)的远程访问,黑客可以利用该界面进行攻击。你可以通过使用强密码和限制登录尝试次数来防止暴力强制攻击。
内存缓冲区溢出是一种攻击,当黑客手动溢出分配给包含在嵌入式系统中移动的数据的内存缓冲区时。黑客部署的漏洞攻击使内存缓冲区充满了过多的数据。在这种情况下,嵌入式操作系统将把其中的一些数据记录到缓冲区旁边的内存段中。记录的数据可能包含外壳代码或其他漏洞,帮助黑客获取凭据并提升其访问权限。
通过创建一个沙箱将溢出的数据与系统隔离,可以解决此问题。请记住,你的沙箱必须非常复杂,因为许多现代漏洞利用了躲避沙箱的技术。
第2类:基于网络的攻击
这种攻击利用网络基础设施漏洞,也可以远程执行。利用这些漏洞,黑客可以侦听、拦截和修改嵌入式系统传输的流量。
让我们看一下最常见的基于网络的攻击:
· 中间人(MITM)
· 域名系统(DNS)中毒
· 分布式拒绝服务(DDoS)
· 会话劫持
· 信号干扰
MITM攻击用于拦截或更改嵌入式系统传输的数据。为了执行它,黑客改变两个设备的连接参数,以便在它们之间放置第三个设备。如果黑客可以获得或更改这两个设备使用的加密密钥,他们就可以以一种很难检测到的方式进行窃听,因为这不会对网络造成干扰。
通过加密传输的数据并使用Internet协议安全(IPsec)安全地传输密钥和数据,可以防止或阻止MITM攻击。
DNS中毒会迫使本地DNS服务器根据黑客的需求修改其记录。DNS服务器将可记忆的域名和主机名转换为相应的IP地址。通过使用DNS服务器的漏洞并毒害其缓存,黑客可以将流量从目标网站重新路由到任何其他地址。
域名系统安全扩展(DNS-SEC)协议通过对DNS发布或传输的任何数据进行数字签名来防止DNS服务器中毒。
DDoS是一种众所周知的攻击,它通过来自不同来源的请求使系统溢出从而使系统不可用。这种攻击很难阻止,因为请求量巨大。没有针对DDoS攻击的通用保护。但是,在你的嵌入式软件中添加防火墙以及流量分析和过滤算法将大大提高防止DDoS攻击或及时检测它们的机会。
会话劫持类似于MITM攻击,但目标不同:黑客侦听嵌入式系统流量以获取身份验证凭据。执行劫持的方法有多种:固定用户会话标识符,窃取会话缓存,跨站点脚本等等。
防范此类攻击的方法很经典:对凭据和可能包含凭据的任何数据进行加密,定期更改凭据,以及在会话结束时处置与会话相关的任何数据。
信号干扰在无线网络中很常见。借助这种技术,黑客会在网络中造成干扰,从而干扰或扭曲来自设备的通信。根据干扰器的类型,它可能会阻塞信道上的任何通信,在目标设备传输数据时开始工作,或者在检测到特定数据包时被激活。这样的攻击会使嵌入式系统不可用。
要停止信号干扰,请部署适合你软件的抗干扰机制 [PDF]。请记住,此保护措施还将保护你的嵌入式系统免受其他设备造成的意外干扰。
第3类:旁道攻击
旁道攻击是利用嵌入式系统中的硬件安全缺陷来攻击它们。旁道攻击是最困难和最昂贵的攻击类型,因为它需要精确了解目标系统的硬件设计和物理可用性。为了进行侧信道攻击,黑客收集系统功耗、电磁泄漏、操作时间等信息。
因此,他们可以计算出系统和连接设备的内部操作,窃取密码密钥,甚至获得对系统的控制权。
以下是最常见的旁道攻击列表:
· 功率分析
· 定时攻击
· 电磁分析
功耗分析攻击需要对嵌入式系统进行物理访问,以便探测其连接并检测功耗的变化。这些变化取决于系统处理的数据,因此黑客可以检测到系统何时处理特定类型的信息并截获它。要防止此攻击,请使用数据屏蔽技术修改敏感内容,使其看起来像不重要的数据。
定时攻击是基于嵌入式系统操作的时间。它们用于获取信息,如应用的加密算法、指令时间和代码分支中的数据依赖差异、缓存访问时间等等。这种类型的攻击还需要对设备进行物理访问和对嵌入式系统架构的深入了解。
由于定时攻击强烈依赖于线性和可预测的软件操作,你可以通过使用随机数对空闲周期中的活动进行重新安排来防止此类攻击。基于此对嵌入式系统的时序分析将具有极大的挑战性。
电磁分析为黑客提供了另一种无需黑客攻击就能查看嵌入式软件的方法。黑客可以使用电磁分析来记录和分析设备的发射,找出其加密操作,甚至提取秘密
密钥。这是最耗时且成本最高的攻击类型,因为它需要:
· 物理上接近嵌入式系统
· 有关系统嵌入到的设备的布局的信息
· 与其他设备隔离以保护系统免受电磁干扰
硬件设计师可以通过降低信号强度或增加物理保护(例如使用某些类型的胶水或电路和电线屏蔽)来使收集电磁信号变得困难。随机性和加密过程的中断也是对抗电磁分析的有效措施。
我们上面讨论的嵌入式系统的网络安全措施可以帮助你预防或阻止特定类型的攻击。在下一部分中,我们提供了11条建议来有效保护嵌入式硬件和软件。
保护嵌入式系统的11个最佳实践
最后
参考来源:
https://www.apriorit.com/dev-blog/690-embedded-systems-attacks
版权声明:本文来源网络,免费传达知识,版权归原作者所有。如涉及作品版权问题,请联系我进行删除。
‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧ END ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧
关注我的微信公众号,回复“加群”按规则加入技术交流群。
点击“阅读原文”查看更多分享,欢迎点分享、收藏、点赞、在看。