baron · 3月30日 · 四川

物理攻击规避(Physical Attack Mitigation)

快速连接

👉👉👉【精选】ARMv8/ARMv9架构入门到精通-目录 👈👈👈


 title=

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/~rja...
https://www.riscure.com/uploa...

4、Attack vs. Protection

(1)、How to perform an attack?

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

看起来attack比protect against容易得多

(2)、How to be protected?

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

关注"Arm精选"公众号,备注进ARM交流讨论区。
图片1.png

推荐阅读
关注数
9466
内容数
212
以易懂、渐进、有序的方式,深入探讨ARMv8/ARMv9架构的核心概念。我们将从基础知识开始,逐步深入,覆盖最新的架构,不再纠缠于过时技术。本系列内容包含但不限于ARM基础、SOC芯片基础、Trustzone、gic、异常和中断、AMBA、Cache、MMU等内容,并将持续更新。
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息