18lickc新利
的意见

硬件与横切CWE的安全优化

翻译硬件连续波为回归运行安全规则。

受欢迎程度

不管你是刚刚开始建立硬件安全计划在您的组织,或你想优化现有硬件安全流程,斜方共同弱点枚举(CWE)数据库是一个很好的资源来保持你的工具箱。

CWE是什么?

CWE是一种漏洞或缺陷,在设计嵌入式系统的硬件或软件。个人漏洞被称为常见漏洞和风险敞口(CVE)和CWE数据库提供的手段日益增长的cf列表进行分类。CWE数据库是一个由社区开发的列表,但它是管理和维护的斜方公司。

我以前写过的关于信息流动的过程检查的过程,它是自动跟踪的信息安全资产通过逻辑和顺序转换的硬件设计。确定安全需求和翻译的过程中他们可以利用可验证规则CWE数据库。它是一种验证你没有弱点CWE数据库中列出您的设计。

对于这个博客的目的,让我们来详细看看四种不同硬件cw和如何将其安全规则,可以包括在你的模拟或仿真回归运行在您的硬件安全计划。

cwe - 1277:固件没有可更新

cwe - 1277当产品的固件不能更新或修补。这使系统容易受到攻击,因为潜在的弱点的固件无法修复,可以利用糟糕的演员。

根据实际设计实现可能有几个漏洞相关CWE来验证。如果设计没有补丁ROM代码的能力,这可能只是一个实现监督,也可能是故意的。

安全验证不会找到这种类型的漏洞如果失踪,只存在于文档。然而,它会发现情况有安全违规造成的错误或设计实现。

让我们考虑的情况下实现更新机制可以绕过。这种情况下可以建模为一个信息流验证问题。

对于这个示例,考虑一个假设的SoC,说明如下:

受信任的微控制器单元(tmcu)在硬件的信任根(HRoT)加载固件HRoT从罗。罗是程序在生产,不能改变。提供一个方法来更新固件,新固件可以写入信任非易失性存储器(tnvm)和设置在tmcu会指导阅读固件在tnvm而不是预先确定的地址。

威胁模型

攻击者可以读取修改固件,后来回信tnvm恶意代码。攻击者也可以明确控制钻头tnvm所以设备落回到执行旧固件可能已知的安全漏洞,从而使进一步的攻击。

安全性要求

tmcu寄存器控制固件位置不得HRoT以外的可写的。更新的固件不能从外部读取或写入HRoT tmcu时被使用。

现在,让我们看看龟岛逻辑的基数技术可以检测和防止漏洞造成的弱点中描述cwe - 1277,执行这些安全要求。

安全规则

需求可以表示为信息流验证问题,例如:

  • HRoT以外的信息(例如,写数据)不能流向另一种引导注册
  • 信息(例如,读取数据)从tnvm HRoT外不能流

使用基数无龟岛逻辑操作符“= / = >”我们可以编写以下安全规则。

验证的安全要求

使用上面的安全规则,龟岛基数工具将建立一个安全监控,当模拟与设计将国旗的任何违反规则。

cwe - 1351:硬件处理不当行为异常寒冷的环境

cwe - 1351当硬件设备或设备的固件上运行,有错误或丢失的保护功能,保持安全的目标原语当设备冷却站操作温度低于吗

检测安全违规造成的弱点中描述这个CWE假定设计温度依赖的逻辑,例如,一个随机数生成器。随机数发生器的熵(RNG)测试启动和引导将被禁用,如果测试失败。在这里,我们考虑的情况下可以使用熵源即使失败一个熵测试。这种情况下可以建模为一个信息流验证问题。

对于这个示例,让我们考虑以下假设的SoC:

RNG使用AES加密模块使用的输出一个身体Unclonable函数(PUF)作为其熵来源。基于SRAM的PUF需要在一定的温度下操作,确保足够的熵。PUF的芯片上的温度传感器测量温度,如果太低,它不会允许使用的PUF和SoC不会启动。

威胁模型

攻击者可能试图写温度传感器控制寄存器和更低的阈值温度允许它在寒冷的环境中工作,使PUF输出取决于先前的数据而不是制造矛盾。攻击者也可以尝试引导SoC即使PUF熵测试是失败的。

安全性要求

温度传感器控制寄存器不应该可以由任何代理在硬件的信任根(HRoT)模块。PUF输出不应使用AES除非温度高于阈值和熵测试PUF的传递。

安全规则

需求可以表示为信息流验证问题,例如:

  • 信息从hrot_iface不能流向temp_limit登记
  • 信息从PUF不能流向AES除非温度高于阈值和熵测试通过

使用相同的基数无运营商在我们之前的例子,”= / = >”我们可以编写以下安全规则。

使用这些规则,基数将构建一个安全监控,当模拟与设计将国旗的任何违反规则。

cwe - 441:意想不到的代理或中介

cwe - 441,也被称为“副混淆,”发生在产品接收请求,信息,或指令从上游组件,但不充分保留原始请求的请求转发给外部演员之前产品的控制范围之外。这将导致出现产品请求的来源,主要充当代理或其他上游组件和外部演员之间的媒介。

对于我们的目的,让我们考虑的情况下安全数据达到一个不安全的目的地通过使用一个代理与更高的访问权限。这种情况下可以建模为一个信息流验证问题。

让我们来看看一个假设的SoC,说明如下:

Core0处理器运行软件在最低特权级别和互连的安全访问策略阻止它读或写任何数据在HRoT SRAM内存。访问政策允许DMA HRoT存储器中读写数据的记忆。所有的核心{低氮}处理器可能程序做IO DMA或内存数据转移只要DMA的访问政策允许它。

威胁模型

一个不可信的代理上运行代码Core0处理器可以访问数据的硬件信任的根(HRoT) SRAM编程DMA传输数据到一个位置可以访问,因此看来DMA事务的来源。

安全性要求

不可信的处理器必须不能访问数据在HRoT SRAM无论它是直接或通过另一个代理(副)混淆。

安全规则

要求可以表示为信息流即验证问题:

  • 信息从Core0不能流动的SRAM HW根的信任
  • 信息从SRAM的HRoT不能流向Core0处理器

与基数无操作符“= / = >”我们可以编写以下安全规则。没有必要包括直接存储器存取信号路径信息的规则可能是未知的。规则将识别违反数据流经一个中间存储位置或如果它包括交易发起另一个代理。

与这些安全规则,龟岛逻辑基数工具是能够建立一个安全监控,当模拟的设计将国旗任何违反规则。

cwe - 1263:不适当的物理访问控制

我们将讨论最后CWE CWE - 1263:不适当的物理访问控制。这发生在产品设计时访问仅限于某些信息,但这并不足够防止未经授权的访问这些地区演员的能力。

部分产品旨在限制访问可能无意或故意渲染时访问物理实现的保护是不充分的。周围的具体要求有健壮的身体保护机制的设计需要取决于产品的类型被保护。选择正确的物理保护机制,妥善执行通过实现和制造业的整体物理安全是至关重要的产品。

在这里,我们考虑的情况一个物理探测攻击被发现,我们想确保移植是有效的。这种情况下可以建模为一个信息流验证问题。

在这个例子中,假设SoC如下:

SoC的反篡改检测电路检测设备是否de-capped。如果设备是de-capped,那么记忆将填零所以没有信息会泄露给攻击者。处理器也将停止,避免泄漏关于运行程序的任何信息。

威胁模型

攻击者可能和探测器内部信号取出器件访问敏感数据在记忆或寄存器或观察程序运行在嵌入式处理器。

安全性要求

当检测到物理篡改如有人de-capping设备,处理器应该停止和记忆应该清除即填零,以避免敏感数据泄漏。

安全规则

需求可以表示为信息流即验证问题:

  • 信息(现有数据篡改之前)在SRAM不能流回SRAM篡改检测。
  • 信息从内存不能流处理器如果篡改检测

使用龟岛的逻辑基数无操作符“= / = >”我们可以翻译以下安全规则的要求。重要的是要注意,规则也需要验证每个处理器停止。

验证的安全要求

与上述安全规则定义,龟岛基数工具将建立一个安全监控当模拟的设计将国旗任何违反规定的行为。

使健壮的安全程序

为了提供真正的安全部署的设备,安全程序,它植根于硬件是必要的。我们的基数技术来检测和防止安全漏洞在现有功能验证环境。利用斜方CWE数据库,它提供了一个路线图系统中可能存在的漏洞,使开发团队能够识别和隔离这些缺陷和解决这些问题之前,设备制造。

如果你想看到深入研究硬件基数提供连续波的报道,包括硬件连续波中没有讨论这个博客,今天下载我们的更新报道指南



留下一个回复


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

Baidu