0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

嵌入式应用中常见的安全威胁

麦克泰技术 来源:麦克泰技术 2025-04-28 14:45 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

越来越多的嵌入式设备存在互联需求,在安全应用开发中,除功能安全外,应用还需考虑信息安全。

功能安全软件需要很长时间来开发和验证,确保其稳健可靠,因此很少更新。相比之下,安全威胁在不断演变,随着黑客的学习和发展,攻击变得越来越复杂。

本文提供了一个简短的威胁示例列表,以帮助了解为什么信息安全对于嵌入式系统的开发非常重要。

伪造消息

可以访问通信通道(如以太网CAN、SPI、UART等)的攻击者伪造一个有效的消息。

例如:在带有指纹识别的电子门锁系统中,攻击者绕过指纹识别器直接向门锁发送“开门”信息。

可以通过对所有消息进行身份验证来防止这种攻击。例如,门锁检查电子签名或消息认证码,以确保接收到的消息来自指纹识别器。

重放攻击

攻击者在指纹认证期间记录有效的消息,并在稍后的时间点注入该消息开门。

可以尝试使用不断增加的简单消息计数器来防止这种攻击。如果收到一个与前一个消息相同或更低的计数值,门锁就会检测到伪造的信息。

如果攻击者能够阻止原始消息到达接收方,则计数器方法不再起作用。可以使用每次传输消息时包含时间戳的方法,并且所有系统都需要具有同步时钟。

通过除零错误拒绝服务

假设协议定义有一个整数字段,其值不包括零。攻击者在这样的协议消息中发送一个0值。如果不检查接收的值并将其用于除法运算,则会触发CPU异常。此时系统进入安全状态,停止响应。

缓冲区过读导致的信息丢失

2014年,Heartbleed心脏滴血漏洞(CVE‑2014‑0160)被发现。攻击者将长度字段设置为高于协议允许的数字,利用该漏洞获取信息。

在OpenSSL相应版本实现中缺少长度检查,导致从堆缓冲区中读取并向攻击者发送更多的字节数据,从而泄漏了内存中的敏感信息。

通过缓冲区溢出执行远程代码

CPU将函数调用的返回地址存储在堆栈上,并通过降序方式使用堆栈(如ARM或x86)。

假设调用了一个函数,并在堆栈上分配了一个固定大小的通信缓冲区,通信缓冲区的地址低于存储的函数返回地址。

有缺陷的协议实现将接收的消息复制到该缓冲区时,不验证消息的长度。因此,如果接收的消息长度大于分配的缓冲区,则函数返回地址将被消息内容覆盖。

在函数返回时,将被覆盖的返回地址从堆栈中加载执行。通过猜测或分析固件,攻击者使CPU执行其发送的指令。

针对RSA的定时攻击

一种容易理解的针对私钥操作(生成签名或解密消息)的不良实现的攻击。在算法实现中,有一个提升消息数据私钥的幂操作步骤:

f01dcb0e-2182-11f0-9310-92fbcf53809c.png

下面的算法有效地实现了这个幂运算:

f027a552-2182-11f0-9310-92fbcf53809c.png

此操作完成所需的时间与私钥中1的位数成正比。攻击者可以在搜索密钥时使用此时间信息。

故意关闭电源

不可靠的更新机制接收更新文件后,将更新文件保存在flash中,并验证其签名。如果签名无效,更新机制会重新擦除flash内存。

在更新机制擦除flash之前,攻击者可以在验证程序检查签名时切断电源。下次启动时,不安全的软件将被执行。

滥用非标准编码

在unicode中,正斜杠(/)的编码为U+002F。在UTF-8中,编码为0x2F。简单的UTF-8解码器也可能将两字节序列0xC0 0xAF解码为正斜杠。这被称为过长编码,根据RFC 3629(2003年发布,在RFC 2269中没有这样的要求),解码器不应该接受这样的字节序列。

假设有一个系统为文件系统中的一些文件提供服务,只能接收来自一个目录的文件,文件名使用UTF-8编码。为了减少计算时间和软件复杂性,它不会检查过长的编码。

为了强制要求所有请求的文件来自某个特定目录,通信端点拒绝文件名包含正斜杠的所有请求,通过扫描字节0x2F来实现,任何不包含此字节的请求都被接受。

由于通信端点和文件系统在API接口上没有精确地达成一致,攻击者可以使用字节序列‘0xC0 0xAF’将斜杠通过协议验证进入文件系统,并访问文件系统上的任何文件。

在Apache Tomcat中发现了一个类似的错误(CVE‑2008‑2938)。

如今,公司很少对嵌入式软件开发人员进行IT安全方面的培训,开发人员很难想象攻击者在为检测和利用系统中的弱点所做的常规工作。这种知识的缺失导致他们低估了即使是看似微不足道的错误也可能产生的影响。文中列举了嵌入式应用中常见的安全危险,通过这些例子提高人们的安全意识。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式
    +关注

    关注

    5186

    文章

    20151

    浏览量

    328873
  • 以太网
    +关注

    关注

    41

    文章

    5924

    浏览量

    179537
  • 信息安全
    +关注

    关注

    5

    文章

    693

    浏览量

    40494
  • 安全威胁
    +关注

    关注

    0

    文章

    12

    浏览量

    3140

原文标题:嵌入式应用中常见的安全威胁

文章出处:【微信号:麦克泰技术,微信公众号:麦克泰技术】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    嵌入式系统面临严重的安全威胁

    如果你是安全关键嵌入式系统的使用者,而且发现设计者在该装置的设计上并没有依循最佳的实作与安全性标准,你会有多担心?我知道我会非常不安,而且根据Barr Group最近做的年度嵌入式系统
    发表于 03-09 09:49 1685次阅读

    嵌入式设备安全的关键是什么

    嵌入式系统面临着前所未有的安全威胁,而这些威胁的危害性也越来越高。没有设备是百分百安全的,但是通过仔细分析危害,找出潜在的漏洞并清晰明细的记
    发表于 07-30 06:06

    嵌入式软件安全方案可以抵御什么攻击?

    近年来,从软件到软硬件联合攻击给嵌入式系统造成严峻的安全威胁安全性已成为嵌入式系统设计中必不可少的一部分,同时这又是一个折衷的过程,不能单
    发表于 09-23 07:07

    嵌入式系统有什么安全技巧?

    中间人攻击、黑客攻击、间谍和篡改、内存数据错误——嵌入式系统面临各种威胁。儒卓力GDPR专家团队主管兼嵌入式和无线部门营销总监Bertron Hantsche提供了六个安全技巧,以便增
    发表于 10-18 06:28

    嵌入式开发中常用的总线与接口汇总

    盘点嵌入式开发中常用的总线与接口
    发表于 02-01 07:25

    嵌入式测控系统中常见的数字滤波算法有哪些?

    嵌入式测控系统中常见的数字滤波算法有哪些?常见的数字滤波算法对比分析哪个好?
    发表于 04-12 06:39

    嵌入式C语言中常见不常用的语法有哪些

    嵌入式C语言中常见不常用的语法1. 不定参数需要包含头文件#include "stdarg.h"头文件里主要包括一个变量类型va_list,三个函数va_start,va_arg
    发表于 12-15 06:34

    总结嵌入式系统开发中常见的存储器及其特点

    总结嵌入式系统开发中常见的存储器及其特点
    发表于 12-17 06:11

    嵌入式安全及连接安全

    嵌入式安全及连接安全
    发表于 12-30 17:43 19次下载

    Synopsys已解决了嵌入式应用程序面临的安全威胁

    新思科技发布了新型DesignWare ARC Secure IP Subsystem。这款集成的、经过预验证的软硬件IP解决方案,主要应对重要嵌入式应用程序——如购入SIM卡 (eSIM)、智能计量嵌入式通用集成电路卡 (e
    发表于 11-15 11:42 1168次阅读

    嵌入式系统用什么语言_生活中常见嵌入式系统

     嵌入式系统是一种专用的计算机系统,作为装置或设备的一部分。通常,嵌入式系统是一个控制程序存储在ROM中的嵌入式处理器控制板。事实上,所有带有数字接口的设备,如手表、微波炉、录像机、汽车等,都使用
    发表于 08-13 15:02 1.4w次阅读

    防护嵌入式安全的方法有哪些

    的基础架构,联网嵌入式和物联网设备就可以利用在线服务确保长期安全地保护网络,即使个别节点在某一时刻遭受攻击。实现所需安全级别是一项极为复杂的工作,幸运的是,市场上涌现出多种有效解决方案,如:Microsoft的Azure Sph
    发表于 10-25 12:11 1919次阅读

    嵌入式常见英文缩写

    嵌入式常见英文缩写
    发表于 11-19 14:21 19次下载
    <b class='flag-5'>嵌入式</b><b class='flag-5'>常见</b>英文缩写

    嵌入式安全威胁就在眼前,对策你想好了吗?

    嵌入式系统正在为广泛的应用带来创新,比如物联网应用、自动驾驶、视觉技术、移动支付、人工智能等。我们看到,随着技术的进步,与之相关的威胁也在不断增加。最近,针对嵌入式设备的攻击事件层出不穷,从被黑客攻击的车辆防盗和控制系统,到
    发表于 02-08 15:30 1次下载
    <b class='flag-5'>嵌入式</b><b class='flag-5'>安全</b><b class='flag-5'>威胁</b>就在眼前,对策你想好了吗?

    盘点嵌入式中常见的一些GUI

    图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面。GUI一般需要MCU有一定的硬件资源和处理能力,现在MCU资源越来越多,同时市场需求也增多了,GUI功能也越来越丰富了。下面来盘点嵌入式中常见
    的头像 发表于 07-04 14:45 2540次阅读