物理攻击规避(Physical Attack Mitigation)

这篇博客探讨了故障注入的概念,包括其物理干扰形式、影响类型和复杂性。它强调了软件对策在防止数据和控制流篡改中的重要性,提出了一系列防御技术,如大型汉明距离、双重检查和循环完整性检查。同时,指出了攻击与防护之间的不平衡,攻击工具的易获取性使得防护更具挑战性。文章还讨论了通用对策和当前缺乏实用的开源解决方案的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

快速链接:
.
👉👉👉 个人博客笔记导读目录(全部) 👈👈👈

在这里插入图片描述

1、故障注入的高级视图

(1)、故障是改变电路正确预期行为的物理干扰
(2)、它可以是电压或温度的变化,也可以是激光或电磁脉冲… 都有不同的效果
(3)、影响可能是永久性的(损害),也可能是短暂的
(4)、物理访问并不总是需要,如rowhammer 或 clkscrew
(5)、与可靠性密切相关

  • 可靠性与“随机”危险有关
  • 故障注入与主动引入危害的相对

(6)、这是一个复杂的领域

  • 故障没有被很好地理解
  • 这是一个活跃的研究领域

(7)、所有的错误模型–——但每个模型都解决了一些观察到的故障的特定方面,因此很有用

(8)、归根结底就是使用不同的模型来探索和推理未知/复杂环境

下图来自“对安全嵌入式软件的故障攻击"模型:
在这里插入图片描述

2、Software countermeasures(软件对策)

(1)、目标是防止数据和控制流篡改
(2)、有专用的硬件组件可以提供一定程度的保护,但软件对策提供了额外的防御级别——纵深防御方法
(3)、虽然硬件和软件都无法保证防御这些攻击,但应对措施越多,攻击就越难。
(4)、有一些实用的技术可以应用于编码并显着降低成功攻击的可能性

3、Generic countermeasures(通用对策)

针对物理攻击的软件抵御技术
(1)、复杂(large hamming distance) 常量:需要翻转更多位才能将一个有效值更改为另一个有效值
(2)、双重检查,switch/case 双重检查:通过两次检查相同的条件,使攻击分支条件变得更加困难。 如果存在不一致,可以主动检测篡改企图
(3)、循环完整性检查:确保重要的循环被执行,循环后检查预期的索引值。
(4)、默认失败:跳过指令或攻击PC可以绕过重要代码。 检查和分支的默认值是失败的情况
(5)、Flow Monitor:跟踪程序的状态,检查其期望值以确保程序不处于意外状态。

一些参考:
https://www.cl.cam.ac.uk/~rja14/Papers/whatyouc.pdf
https://www.riscure.com/uploads/2018/11/201708_Riscure_Whitepaper_Side_Channel_Patterns.pdf

4、Attack vs. Protection

(1)、How to perform an attack?

  • 虽然物理攻击看似很难,但是仍然有很多很多的攻击方法
  • 有商业工具可以破坏设备进行故障注入:Chip Whisperer
  • 兼容商用设备的软件框架降低攻击门槛
  • 攻击性设备成本也是比较低的

看起来attack比protect against容易得多

(2)、How to be protected?

  • 通用解决方案不存在
  • 许多研究论文,但没有多少实用信息。
  • 没有经过测试的开源解决方案,没有编译器支持
  • 认证产品通常包含专有和封闭源代码
  • 编译后的代码取决于实际的编译器、优化级别、架构等。
  • 编译后的代码必须经过验证。 在 C 级别上似乎安全,但二进制文件可能不…

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Arm精选

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值