网站首页
IC库存
IC展台
电子资讯
技术资料
PDF文档
我的博客
IC72论坛
ic72 logo
资料首页最新产品 技术参数 电路图 设计应用 解决方案 代理商查询 IC替换 IC厂商 电子辞典
关键字: 技术文章 PDF资料 IC价格 电路图 代理商查询 IC替换 IC厂商 电子辞典

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

 越来越多的嵌入式设备存在互联需求,在安全应用开发中,除功能安全外,应用还需考虑信息安全。
功能安全软件需要很长时间来开发和验证,确保其稳健可靠,因此很少更新。相比之下,安全威胁在不断演变,随着黑客的学习和发展,攻击变得越来越复杂。
本文提供了一个简短的威胁示例列表,以帮助了解为什么信息安全对于嵌入式系统的开发非常重要。
伪造消息
可以访问通信通道(如以太网、CAN、SPI、UART等)的攻击者伪造一个有效的消息。
例如:在带有指纹识别的电子门锁系统中,攻击者绕过指纹识别器直接向门锁发送“开门”信息。
可以通过对所有消息进行身份验证来防止这种攻击。例如,门锁检查电子签名或消息认证码,以确保接收到的消息来自指纹识别器。
重放攻击
攻击者在指纹认证期间记录有效的消息,并在稍后的时间点注入该消息开门。
可以尝试使用不断增加的简单消息计数器来防止这种攻击。如果收到一个与前一个消息相同或更低的计数值,门锁就会检测到伪造的信息。
如果攻击者能够阻止原始消息到达接收方,则计数器方法不再起作用。可以使用每次传输消息时包含时间戳的方法,并且所有系统都需要具有同步时钟。
通过除零错误拒绝服务
假设协议定义有一个整数字段,其值不包括零。攻击者在这样的协议消息中发送一个0值。如果不检查接收的值并将其用于除法运算,则会触发CPU异常。此时系统进入安全状态,停止响应。
缓冲区过读导致的信息丢失
2014年,Heartbleed心脏滴血漏洞(CVE 2014 0160)被发现。攻击者将长度字段设置为高于协议允许的数字,利用该漏洞获取信息。
在OpenSSL相应版本实现中缺少长度检查,导致从堆缓冲区中读取并向攻击者发送更多的字节数据,从而泄漏了内存中的敏感信息。
通过缓冲区溢出执行远程代码
CPU将函数调用的返回地址存储在堆栈上,并通过降序方式使用堆栈(如ARM或x86)。
假设调用了一个函数,并在堆栈上分配了一个固定大小的通信缓冲区,通信缓冲区的地址低于存储的函数返回地址。
有缺陷的协议实现将接收的消息复制到该缓冲区时,不验证消息的长度。因此,如果接收的消息长度大于分配的缓冲区,则函数返回地址将被消息内容覆盖。
在函数返回时,将被覆盖的返回地址从堆栈中加载执行。通过猜测或分析固件,攻击者使CPU执行其发送的指令。
如今,公司很少对嵌入式软件开发人员进行IT安全方面的培训,开发人员很难想象攻击者在为检测和利用系统中的弱点所做的常规工作。这种知识的缺失导致他们低估了即使是看似微不足道的错误也可能产生的影响。文中列举了嵌入式应用中常见的安全危险,通过这些例子提高人们的安全意识。

热门搜索:SS240806 SBB1002-1 2320296 2986122 SBB830-QTY10 IS-1000 TLP712B TLP808NETG SUPER6OMNI B TLM825SA PSF3612 2320089 PS-415-HGULTRA BT151S-800R118 2856142 2838733 2838228 2838319 TLM615SA B10-8000-PCB TLP602 PS480806 SBBSM2106-1 ULTRABLOK SS361220
COPYRIGHT:(1998-2010) IC72 达普IC芯片交易网
客户服务:service@IC72.com 库存上载:IC72@IC72.com
(北京)联系方式: 在线QQ咨询:点击这里给我发消息 联系电话:010-82614113 传真:010-82614123
京ICP备06008810号-21 京公网安备 11010802032910 号 企业资质