gpt4 book ai didi

security - ARM TrustZone 安全操作系统的安全性如何?

转载 作者:行者123 更新时间:2023-12-01 07:52:56 31 4
gpt4 key购买 nike

我正在尝试阅读 TrustZone 白皮书,但很难理解一些基本内容。我对此有一些疑问。它们可能是简单的问题,但我是该领域的初学者:

  • 是什么让安全世界真正“安全”。我的意思是为什么正常世界可能会被篡改,而安全世界却不会?
  • 谁可以更改安全操作系统?我的意思是喜欢添加“服务”?例如,移动支付应用程序的应用程序开发人员可以在安全操作系统中添加一项服务以与他的应用程序一起使用吗?如果是,那么任何开发人员如何添加到安全操作系统并且它仍然是安全的?
  • 什么阻止恶意应用程序从正常操作系统引发 SMC 异常并转移到安全操作系统?,answered
  • 最佳答案

    安全世界的想法是让在那里执行的代码尽可能小和简单 - 履行其职责的最低限度(通常控制对某些资源的访问,如加密 key 或硬件或促进一些安全功能,如加密/解密) .

    由于安全世界中的代码量很少,因此可以轻松审核,并且减少了引入错误的表面积。然而,它意味着安全世界自动“安全”。如果安全世界代码中存在漏洞,则它可以像任何其他安全漏洞一样被利用。

    将此与在正常世界中执行的代码进行对比。例如,Linux 内核要复杂得多,也更难审计。有很多内核漏洞和漏洞利用的例子允许恶意代码接管内核。

    为了说明这一点,假设您有一个系统,用户可以在其中通过一些质询-响应交易系统付款。当他们想要进行交易时,设备必须等待用户按下物理按钮,然后才能使用加密 key 签署交易并授权付款。

    但是,如果某些恶意代码利用内核漏洞并能够在内核模式下运行任意代码呢?通常这意味着彻底失败。该恶意软件能够绕过所有控制机制并读出签名 key 。现在,恶意软件可以向任何它想要的人付款,甚至不需要用户按下按钮。

    如果有一种方法允许在 Linux 内核不知道实际 key 的情况下签署交易会怎样?进入安全的世界系统。

    我们可以拥有一个小型的安全世界操作系统,其唯一目的是签署交易并持有签名 key 。但是,除非用户按下特殊按钮,否则它将拒绝签署交易。这是一个非常小的操作系统(以千字节为单位),您已经聘请了人员对其进行审核。出于所有意图和目的,安全世界操作系统中没有错误或安全漏洞。

    当正常世界操作系统(例如 Linux)需要签署交易时,它会调用 SMC 调用将控制权转移到安全世界(注意,正常世界根本不允许修改/读取安全世界)与它的交易想签。安全世界操作系统将等待用户按下按钮,签署交易,然后将控制权转移回正常世界。

    现在,想象一下恶意软件接管 Linux 内核的相同情况。恶意软件现在无法读取签名 key ,因为它处于安全环境中。未经用户同意,恶意软件无法签署交易,因为安全世界操作系统将拒绝签署交易,除非用户按下按钮。

    这种用例是安全世界的设计目标。整个想法是安全和正常世界之间的硬件强制分离。从正常世界来看,没有办法直接篡改安全世界,因为硬件保证了这一点。

    我没有特别使用 TrustZone,但我想一旦安全世界操作系统启动,就无法直接修改它。我不认为应用程序开发人员应该能够向安全世界操作系统“添加”服务,因为这会破坏它的目的。我还没有看到任何供应商允许第三方向他们的安全世界操作系统添加代码。

    为了回答你的最后一个问题,我已经在 answer here 中回答了它。 . SMC 异常(exception)是您从安全世界操作系统请求服务的方式 - 它们基本上是系统调用,但适用于安全世界操作系统。通过将控制权转移到安全世界,恶意代码会获得什么?

  • 您无法从正常世界修改/读取安全世界
  • 当您将控制权转移到安全世界时,您将失去对正常世界的控制权
  • 关于security - ARM TrustZone 安全操作系统的安全性如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40561144/

    31 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com