中文 英语
18lickc新利
的意见

安全始于威胁评估

设备可能面临的不同类型的攻击。

受欢迎程度

为电子设备开发安全架构首先要建立一个威胁模型,其中我们提出以下问题:

  • 设备需要在什么样的运行环境中工作?
  • 可以识别哪些类型的攻击?
  • 潜在攻击者对设备的访问权限级别是什么?
  • 攻击者可以利用哪些可能的攻击路径?
  • 考虑到风险资产的价值,潜在的攻击者愿意花费哪些资源(金钱、时间)、专业知识和专门的设备?
  • 如果攻击者成功获得了设备或其数据的控制权,会造成什么损害?

基于威胁评估,安全架构师可以为他们的设备定义正确的安全级别,以及如何实现和维护。在这篇博客中,让我们来回答第二个问题,并考虑我们可能预料到的攻击类型。

首先,让我们考虑远程攻击。这些攻击不需要攻击者和被攻击设备的“物理接近”。通过网络接口针对设备处理器上流氓软件执行的攻击(例如缓冲区溢出攻击)可能使攻击者能够:

  • 通过执行不受信任或第三方代码进行利用
  • 窃取正在发送到或从设备发送的数据
  • 试图破坏或重放传输中的数据

远程攻击的执行成本往往很低,而且扩展性非常好,可以对其他相同的设备进行攻击。

通常,为了识别可利用的漏洞,攻击者可能会购买多台设备,并试图以更有力的方式反向工程或提取设备上运行的软件,从而发现远程可利用的漏洞,这可能会破坏或摧毁一些设备。此外,如果用于驱动网络堆栈的软件是众所周知的(例如Linux),那么攻击者可能已经通过其他手段识别出了漏洞。

如果攻击者能够获得对设备的物理访问权,这就为利用开辟了新的途径。这些“本地访问”攻击通常分为三种粗略的类型,攻击的复杂性和成本都在增加:

  • 董事会层面的攻击。这些攻击可以使用简单的工具安装,如螺丝刀、烙铁或基于jtag的调试工具,更换组件或连接到电路板或芯片调试基础设施。实例:Flash芯片更换;调试接口访问;扫描链/测试逻辑访问;芯片间总线监控。
  • 芯片级非侵入性攻击。这种类型的攻击目标是芯片本身,而不损坏芯片。这种类型的攻击通常需要将芯片连接到示波器和/或专用硬件,用于测量、捕获和分析芯片的电气行为。侧信道攻击,如差分功率分析,是众所周知的非侵入性攻击,可以成功地揭示未受保护的实现中使用的关键材料。
  • 芯片级入侵攻击。这类攻击实际上是通过移除芯片的封装来“打开”芯片,暴露芯片,从而允许直接访问芯片内的布线和内存结构。要实施这样的攻击,需要使用专业或定制的设备,这些设备昂贵且操作复杂。这种设备有时可以从专门从事芯片逆向工程的大学或公司租用,但尽管如此,攻击者需要更大的投资才能获得所需的信息。

第三类主要的攻击,我们可以称之为“逻辑攻击”,是那些利用弱安全实现的攻击。大多数应用程序使用加密算法来保护有价值的数据资产。反过来,由加密算法提供的安全性依赖于应用程序保持所需密钥材料安全和攻击者无法预测的能力。不幸的是,由于加密操作或协议以不安全的方式实现,加密保护的应用程序经常受到威胁。这往往是“国产”安全解决方案的一个弱点。

上面的一个例子就是随机性来源的弱实现。密码操作和协议需要一个高质量的随机数生成器来确保真正的随机数据。除此之外,随机数据用于密钥生成,并在签名操作中提供不可预测的组件(nonce)以保护私有密钥。低质量或实现不佳的随机数生成器将导致生成攻击者可预测的数据。其他弱实现的例子包括使用过时的密码算法、密钥强度不足和密钥使用不当。不恰当的密钥使用包括:直接使用不可变密钥,而不是以安全的方式使用从不可变密钥派生的密钥;将密钥存储在不安全的位置,比如以不加密的形式存储在芯片外存储器中;或者将钥匙存储在芯片上的位置,软件可以访问,导致钥匙滥用或泄露。

除了对设备的直接攻击类别之外,还必须考虑对其支持基础设施的攻击。在设备的生命周期中,它可能:

  • 要求软件或固件更新
  • 接收关键材料(新的或更新的)或其他安全敏感资产
  • 需要其他类型的维护访问

提供这些更新的基础设施的安全性对于生态系统中所有设备的安全性至关重要。

攻击者不是直接攻击设备,而是试图在创建和分发这些更新的基础设施中找到漏洞。

结果是,对可能的威胁进行分析,并将其纳入威胁模型的开发中,这本身就是一项非常艰巨的任务。在下面找到更多的资源。

额外的资源:



留下回复


(注:此名称将公开显示)

Baidu