18lickc新利
的意见

没有一个幽灵在你的SoC崩溃

安全验证通过正式的分析应该为soc验证计划的一部分和IP块。

受欢迎程度

你可能会担心去年广泛发表幽灵和崩溃的漏洞影响大多数处理器。你的手机和电脑还好吗?或者更重要的是,如果您正在设计或验证系统芯片(SoC),你有一个幽灵在你设计吗?首先让我们看看这两个漏洞是什么,以及它们如何可能会影响您的系统。

硬件特性造成的漏洞都是旨在使程序运行得更快,如投机执行和缓存。如果一个程序有一个分支,例如,“如果是真的,计算函数X,计算函数Y”,处理器将计算并行功能和丢弃的结果不需要一旦知道是真的还是假的。这可以成为一个问题,因为受保护的内存和缓存。内存允许一个程序使其数据保护私人和它支持的操作系统,以防止一个程序看到数据属于另一个程序。程序访问任何数据之前,一种特权检查是为了确定过程允许读或写特定的数据。如果分支条件中遇到投机执行是一个特权检查,这个过程可能访问数据之前,它知道它是否被允许。如果权限检查失败,所有受保护的数据就会被丢弃。但是,受保护的数据是存储在缓存中,即使过程不允许访问数据的。攻击者可以使用这些信息。

在高级别上,危机和幽灵的区别是,危机可能允许用户程序访问内核空间和幽灵打破隔离保护程序之间,可能允许恶意程序哄骗另一个程序泄漏数据。

幽灵和危机可以说是最明显的硬件安全缺陷发现和一个教训是,你再也不能忽视安全,如果你设计一个SoC。即使你的设计是更复杂的比现代CPU和它将永远受到危机的影响或幽灵或任何其他黑客发表它仍然可以安全问题。很多黑客利用的软件缺陷,但这并不意味着硬件是安全或免疫安全了。

硬件设计时应首先要看建筑安全的SoC或系统。硬件通常被视为安全的软件。假设是计算加密和密钥存储硬件只能信任。然而,如果有错误或疏忽造成的体系结构,可以用于未经授权的访问,硬件与软件,你不能修补。你唯一的选择是re-spin并不解决所有的芯片和系统已经发货,还有缺陷。

如果你认为安全不是一个需求,它不会影响你的设计,再想想。如果你的SoC安全引导或处理财务数据,它最有可能包括一个加密块和秘密密钥,不应该被任何人访问。在这种情况下,这是很明显的,你需要考虑验证安全方面的设计。如果设计是一个IP块不处理或存储秘密数据,这并不意味着你可以忽略安全。你不知道将使用IP如果是集成在一个系统,它可能提供一个无意的后门进入设备。

确保没有幽灵是隐藏在你的SoC需要验证。记住,“如果没有验证,它不工作。“硬件安全验证应该是“正式和正式的:“

  • 正式的计划
  • 形式验证

安全验证必须验证计划的一部分,它应该描述安全特性测试和保护和是谁和什么数据和模块不允许访问它。例如,确保访问控制在特定内存地址范围的工作目的,只有安全大师可以访问安全的内部总线上的奴隶。很多测试可以模拟但一类大型数据传播不能用仿真验证。你无法模拟不应该允许发生什么事。

完成硬件安全验证,正式的分析是必要的。只有正式的工具可以证明数据是安全的。例如,一个可以证明一个加密密钥不能达成任何芯片输出在任何情况下。另一个重要场景是确保注册和保护信号不能被无意中修改。如果寄存器访问保护配置在启动时,只有正式的能证明配置不能修改。

确认没有错误引起的硬件安全数据泄漏会帮助你避免崩溃。



留下一个回复


(注意:这个名字会显示公开)

Baidu