系统必须对物理访问不安全吗?如果是这样,为什么?

信息安全 验证 身体的 相信 物理访问 防篡改
2021-09-03 21:18:06

灵感来源:为什么操作系统不能防止不受信任的 USB 键盘?
相关:当黑客可以物理访问系统时,他能做什么?(我在下面讨论其主要答案的要点。)

似乎有一句古老的格言“如果坏人获得物理访问权限,则计算机不再属于您”。我的问题是,只是硬件制造商在安全方面很糟糕,还是有一个内在的原因是真实的。您能否创建对物理访问安全的系统?

现在,保持数据安全很容易:加密和/或散列。我所说的是保持设备安全,以便您仍然可以信任它。

真的,它与软件安全性似乎没有太大区别。你所要做的就是:

  • 要求任何硬件附加组件在被信任之前得到用户的批准:
    • 使用特权分离就像当你下载一个应用程序时,操作系统会告诉你它需要什么权限,你可以让电脑告诉你硬件需要什么权限。这样,如果您有一个需要键盘访问的拇指驱动器,您就会知道发生了什么事。
    • 在计算机和硬件之间建立公私钥加密。这将击败键盘记录器和其他安全威胁。
    • 就像我们拥有网站证书一样,您也可以拥有硬件证书(键盘和显示器)。
    • 作为一个额外的层,将所有端口放在前面,用户可以看到它们。
  • 使系统在物理上持久耐用,因此攻击者无法在系统内重新连接/插入恶意组件。
    • 如果它确实破裂,您也可以让它完全破碎或其他东西,所以很明显有些事情发生了。基本上,让它防篡改。
  • 将其粘贴/锁定在地面上,以便无法更换系统。
    • 就像一个额外的层,让计算机以某种方式向用户的手机证明自己。也许他们用户的手机和计算机设置了一个可以阻止中间人攻击的系统(例如,手机告诉用户密码,但用计算机的公钥对其进行签名)。

是否还有其他我遗漏的原因,特别是那些使物理安全完全不可能的原因,或者硬件制造商只是在安全方面很糟糕?(即使上述内容并非完全证明,但它们似乎是朝着正确方向迈出的一步。) - 为了防止间谍摄像头,请制作与计算机有加密连接的显示器 VR 护目镜(再次,抗人在中间)。(好吧,这有点奇怪,但间谍摄像头也是如此。) - 实际上,消除大量攻击向量的一种方法是使房间隔音和防 X 射线(如果您担心这些东西),然后只允许授权人员进入。您遇到与上述相同的所有问题,但知道它要简单得多,而且它是一个额外的层。- 即使只是在键盘上加个锁也可以防止物理键盘记录器。

我相信我的问题排除了保护计算机系统免受物理攻击的方法以及黑客可以物理访问系统时可以做什么?.

额外问题:是否有任何系统可以防止物理访问?

4个回答

根本的答案是,市场并不想为能够抵御物理攻击的通用计算机买单。您建议进行权衡,而这些权衡涉及只有少数买家关心的工程成本和运营成本。

一些计算机系统试图做出这些权衡(例如,Xbox),因为有市场原因(减少游戏盗版)。ATM 制造商和投票机制造商通常选择将他们的机器放在上锁的柜子中。

当然,大多数缓解威胁的方法都会受到进一步的攻击。锁可以被撬开,胶水可以被刮掉或溶解,因此攻击者甚至可以在所有这些工作完成后修改系统,这给经济带来了额外的压力。

另一种解决方案是使用防篡改证据而不是防篡改,这是信用卡终端制造商通常使用的方法。当然,在那里,篡改证据引出了一个问题:“对谁有证据,他们是如何训练的?” 篡改证据是经济领域的另一点。

我认为你提出的一些事情是可行的,但与预期的可用性、灵活性或使用自由相冲突。其他人从软件世界中汲取想法并尝试将其适应硬件,但未能解决我们在软件方面已经存在的问题。但其中一些想法已经在实践中使用。

仅举几个例子:

  • 密封硬件,将其粘在桌子上,当有人试图打开它时将其销毁......这样的自毁硬件存在,即您可以在智能卡中发现防篡改功能,也可能在用于特殊最高安全环境的计算机中发现。但是对于一般用途,它只会影响可用性,因为你怎么知道硬件真的被恶意篡改了,而不是不小心掉在地板上?在最后一种情况下,大多数用户希望他们仍然可以从损坏的系统中恢复数据,但如果系统检测到攻击并破坏数据,这将是不可能的。
  • 硬件组件与公钥-私钥、证书等之间的加密安全配对......看看我们在浏览器中与 100 家证书机构的混乱情况,以及受损的 CA 等。如果我们将其转移到硬件上,情况不会好转. 实际上,这种配对已经存在,但主要是为了强制执行数字限制 (DRM),例如 HDCP 等。

总而言之:你会得到一些东西,同时你也会失去一些东西。大多数情况下,如果不放弃部分可用性、灵活性或使用自由,您就无法获得更多的安全性。目的是在这些需求之间找到最佳平衡,但这当然很大程度上取决于用例。

这取决于您认为什么是“安全计算机”。安全性通常由CIA 三元组定义,即机密性、完整性和可用性。一旦您允许对设备进行物理访问,您将失去维持可用性的能力。当他们对它有物理控制时,要对一个有动力和有资金的对手制造坚不可摧的东西太难了。

但是我们可以考虑机密性和完整性。例如,具有强大的篡改检测和抵抗力的设备在检测到篡改时会破坏数据,即使在物理安全性丢失的情况下也可以说是安全的。这不仅是可以实现的,而且对于诸如FIPS 140-2 Level 3之类的产品有一些标准:

FIPS 140-2 第 3 级增加了对物理防篡改(使攻击者难以访问模块中包含的敏感信息)和基于身份的身份验证的要求,以及对“关键安全参数”进入和离开模块,以及它的其他接口。

但满足这样的标准是昂贵的。您可以找到符合 FIPS 140-2 3 级标准的存储介质和加密处理器,但不能找到整个计算系统。最终,将计算机锁在房间里、在其上设置警报并聘请安全人员比大规模生产可以抵御物理攻击的计算机更便宜。

存在三个问题。

  1. 根据定义,对系统进行物理访问的人已经破坏了安全性。
  2. 硬件兼容
  3. 硬件具有越来越严重的攻击向量

我的问题是,只是硬件制造商在安全方面很糟糕,还是有一个内在的原因是真实的。您能否创建对物理访问安全的系统?

由于物理访问的本质,物理访问不太可能意味着未经授权的主体共享对系统的访问。

因此,如果物理访问被定义为对系统具有独占控制权:信息安全的定义依赖于数据的机密性、完整性和可用性:

“保护信息的机密性、完整性和可用性。” (ISO/IEC 27000:2009)

如果数据存储在物理系统中,并且该系统被未经授权的人实际占有,则系统的可用性和安全性已经丧失。这是信息安全的实际定义。如果有人独占控制服务器,则信息不再安全。这只是一方面。

硬件制造商只是在安全方面很糟糕吗?

不,但他们中的大多数人优先考虑易用性和快速开发,而不是包含可能不会使组件本身变得更好的功能。

除了硬件被设计为兼容并使用开放协议这一事实之外,物理访问还允许更多的攻击向量,例如冷启动或管道输入(硬件键盘记录器)或输出(像 Van Eck 这样的旁道攻击)。虽然可以防御此类攻击,但努力与效果无关基于硬件的攻击不是计算机感染的常规方式,对于高安全区域,有涵盖物理访问的安全策略。

因此,即使完全不切实际,是否可以想象一个安全的物理系统?

是的,它会被专业化并受到其不兼容性的限制。它的所有硬件都必须由闭源协议驱动,并且数据必须在运行时加密,即使是物理上拥有系统的人也无法访问。此外,该系统不得具有 HCI,因为人类与之交互的每个界面本身都是不安全的。这是因为每个不受系统本身控制的输入在输入时都可能被截取,并且无法控制哪些受试者能够看到例如视觉输出。不用说,这个系统需要在内部完全不可访问,这意味着不可破坏,以防止它被拆卸和逆向工程。

也不会干扰 Kerckhoff 的原理,因为对于一个 100% 安全的物理系统,无论如何都必须不可能进行逆向工程,并且在这种约束下,Kerckhoff 的原理不适用。

最后,这将是一个真正的理论和有限的系统,可用性为零。