有没有一种安全的方式在 Internet 之外传输数据?

信息安全 隐私 硬件 数据泄露 系统妥协
2021-09-05 04:07:38

由于最近已经证明通过 USB 端口传输数据存在根本性缺陷,我想知道是否有 100% 安全的方式在不使用 Internet 的情况下传输数据。

假设 Alan 的计算机系统一直处于离线状态。Alan 想从 Bob 那里导入一些数据。Alan 可以做到这一点并保持与外界的联系吗?

我的想法是,要么 Alan 必须完全控制正在传输的数据(即 Alan 100% 知道他正在导入什么),要么 Alan 必须确切地知道(我的意思是)他的计算机系统如何处理数据。那是因为,Alan 可能已经在他的计算机系统上安装了恶意软件,并且该恶意软件可能会使用正在传输的数据中的数据片段,这些数据可能会在 Alan 的计算机系统和外部世界之间提供通信,而无需在此过程中实际安装任何恶意软件。转移。

编辑:

与其说“Alan 想要从 Bob 导入一些数据”,我应该写的是 Alan 和 Bob 想要双向通信,而他们在通信过程中都不会连接到 Internet。

当我写“安全”时,我的意思是确保艾伦不会泄露他打算发送的数据以外的任何数据。因此,即使数据在到达 Bob 时被修改,并且只要被修改的数据位不是从 Alan 的系统复制的,对于这种类型的安全性,它就有资格 100% 安全。此外,Bob 是 Internet 的终身用户,可能会在一段时间内离线(即在两者之间传输数据期间)。

当我写“艾伦必须完全控制正在传输的数据”时,我的意思是艾伦必须有一种方法可以一点一点地检查正在传输的信息,并以某种方式准确地理解它。

更明确地说,Bob 的计算机上也可能存在恶意软件。

4个回答

这实际上取决于您可能面临的具体威胁、数据传输的方向等。

USB 特定危险

你提到了USB的危险。主要的确实与它的固件打开了 BadUSB 类型攻击的可能性有关。当您需要双向传输数据时,您可能更喜欢使用对此类威胁不敏感的SD 卡(如果您使用外部 USB SD 卡读卡器,它应该是安全的,但专用于单台计算机,不要分享!)。

我在这里坚持我提到的 SD 卡只是针对 USB 固件攻击的可行解决方案。在此类攻击中,可能会损坏 USB 闪存驱动器固件以模拟流氓设备(假键盘、网卡等),而 SD 卡无法进行此类攻击。我想这就是为什么我们看到爱德华·斯诺登在劳拉·波伊特拉斯的《第四公民》电影中在他自己的电脑和记者的电脑之间交换文件时依赖 SD 卡的原因

SD 卡还配备了只读开关。虽然这样的开关对于防止卡内容的意外修改非常方便,但不能依靠它们来防止恶意修改,因为只读访问不是由卡本身强制执行的,而是委托给计算机的操作系统的。

强制进行单向通信

您谈到 Alan 计算机上的某些恶意软件可能会泄露信息,该计算机将数据存储在某个隐藏通道中。如果您的传输主要是在一个方向上,这是您的主要威胁,那么我建议您使用只读媒体,如 CD 或 DVD我不知道市场上是否还有 CD/DVD阅读器,这将是最好的,因为它会在物理上消除 Alan 的 PC 在其上存储任何数据的所有可能性,但即使没有它,也很难将任何数据离散地存储在此类磁盘上。

通过一些挖掘,您可能还会找到其他一些替代方案,例如在线程中如何保护我的 USB 记忆棒免受病毒侵害,您将看到有关包含写入阻止开关的 USB 记忆棒的讨论(它的工作方式比 SD 更安全) -Card 的等价物),使用通常为取证目的设计的设备的写入阻止程序等。

远距离通讯

按原样实施,上面提供的解决方案假设 Alan 和 Bob 直接接触,这可能并不总是正确的。然而,即使是在很远的距离上,任何计算机网络之外的数据传输仍然是可能的,主要是通过使用普通的邮政邮件,也就是蜗牛邮件

这种方法可能会被一些人错误地认为是不安全的,而如果使用得当,它实际上可以呈现出非常高的安全级别。当需要安全地移动大量数据时,行业会使用这种方法。亚马逊为这种操作提供了他的亚马逊滚雪球服务,维基百科关于sneakernet的页面还列出了一些其他现实生活中的使用示例,包括受愚人节RFC启发的有趣实验,使用信鸽携带存储介质。

在我们目前的情况下,艾伦和鲍勃需要采取一些预防措施来确保一切顺利:

  • Alice 和 Bob 需要交换他们的公钥。这听起来可能很简单,但在具体的世界中,Alan 和 Bob 可能连一次见面都没有,可能彼此不认识,并且可能没有共同的可信第三方来保证彼此的身份或提供托管服务。然而,这个系统的整个安全性依赖于这个操作必须成功完成的事实。幸运的是,非对称加密有很大帮助,因为这些密钥的泄漏不会产生深远的影响,但对于在这一步发生的假冒或篡改无济于事。

  • 选择的数据交换介质可能具有一定的重要性,因为每种介质都可能呈现不同的特征:

    • 基于固件的存储设备是当今最常见的,从数据量较大的硬盘到可以很容易隐藏的微型 SD 卡。人们可能更愿意从一些实体店购买它以避免任何初始篡改,但正如我们稍后将看到的那样,一旦第一次发货发生,该设备在任何情况下都将不再可信。

    • 基于非固件的设备显然不存在与固件相关的问题,但根据 Alan 和 Bob 的确切需求,它们可能会出现其他问题,尤其是与匿名有关的问题:例如,烧录的磁盘打印的纸可能包含唯一标识符,允许将它们链接到他们的作者(虽然这样的标识符不允许作者的位置,但是一旦他的设备被没收,它们就可以用来证明是这个设备生产的)。

  • 当然,数据在存储在媒体上之前需要经过适当的加密和签名。我倾向于使用比直接在介质上使用加密分区更容易操作的加密文件。

  • 我强烈建议在发送数据之前妥善备份数据。虽然这种传输是安全的,因为潜在对手即使设法拦截数据也无法访问或篡改数据,但数据仍然可能丢失或消失(这可能是自愿或非自愿行为:在没有大哥干预的情况下,包裹会丢失或被扣,墨菲也很擅长!)。

  • 混淆实际发送者和接收者的方法(从邮政信箱到更高级的东西)与隐藏存储设备相结合,有助于避免拦截。

  • 至少在接收方,我强烈建议不要将接收到的存储设备直接连接到主计算机,而是:

    1. 将接收到的媒体连接到经过特殊加固的最小系统(又名羊浸,主机本身可能没有硬盘并从 LiveCD 启动),您将能够快速检查媒体内容和加密文件(不要解密它在这个主机上!),

    2. 您可能希望将加密文件复制到更受信任的支持(这里使用加密文件而不是加密分区可能很有用)。如果使用基于固件的存储设备,将加密文件移动到另一个支持可能特别有用,因为一旦它通过邮政服务,您就无法再保证固件完整性(加密数据已签名时,没有您可以检查的签名对于存储设备的其余部分)。

    3. 然后,您可以将这个最值得信赖的支持连接到您的主要气隙计算机上,您将能够安全地对其进行解密,从而使这一步成为故事的结尾:)。

假设您从外部来源收到的数据(包括您的操作系统,顺便说一句)可以 100% 安全是不合理的。

最安全的传输方式和几乎保证没有副作用(例如,安装外部驱动器的操作系统)是手动输入所有数据,同时确保您完全理解。即使那样,您仍然无法保证。

从根本上说,实现完美安全的唯一方法是永远不要让您的计算机对任何事情做任何事情。

实现您的要求是不可能的。您已在标准中指定 Alan 的计算机可以预先感染任意和未知的恶意软件。换句话说,艾伦的电脑可以自由地做任何它喜欢的事情,使用它控制的任何硬件。您还指定了您想要一种“100%”安全的方法,并且您没有指定安全的含义。您是否担心数据破坏、盗窃、篡改或以上所有问题?您没有指定低于 100% 的某种安全级别作为选项,所以我的回答只会在 100% 安全的上下文中。

您试图通过断开系统与 Internet 的连接以及禁止 USB 驱动器来使系统更加安全。这将为您提供更高的安全性,以抵御某些依赖这些媒介以控制您的机器的攻击。但是您已经拥有任意恶意软件,因此要防范它已经为时已晚。

保护数据免受破坏也为时已晚。您的恶意软件可以随时决定销毁 Alan 的所有数据。

因此,您要保护的其余主要问题可能是数据泄漏。如何将数据输入Alan 的计算机并不重要。互联网、USB、带有手动数据输入的信鸽——艾伦的系统完全被攻破,因此它可以访问所有内容。

这样请假的数据就出去同样,你不能 100% 阻止计算机与外界通信,而不阻止它作为计算机运行。它可能有一些组合:风扇、电路、机械驱动器、扬声器、监视器、电源。其中一些是强制性的,并且都可以为您的恶意软件发出可控信号。

要解决您的两个具体问题:

要么 Alan 必须完全控制正在传输的数据(即 Alan 100% 知道他正在导入什么)

这有点不具体。你的意思是他100%信任消息来源?当数据流进入他的计算机时,他可以看到 100% 的数据流吗?他能 100%理解那个数据流中每一位的含义吗?

您可能能够实现前两个。第三个是不可能的。该恶意软件可能使用任何类型的任意编码来隐藏它的通信。

或者艾伦必须确切地知道(我的意思是)他的计算机系统是如何处理数据的。

由于恶意软件,根据您设置的标准,这是不可能的。

由于该问题未指定 Alan 拥有哪种计算机系统,因此出于此答案的目的,我将假设它不是典型的台式 PC,而是某种形式的嵌入式/项目计算机系统。

因此,Bob 将数据烧录到 ROM 芯片上,并通过“sneakernet”发送给 Alan。Alan 将 ROM 芯片插入他的计算机。因为它是一个 ROM,所以 Alan 的计算机上的任何内容,甚至是恶意软件,都无法修改它。

为防止可疑恶意软件将数据传输给其他人,请断开所有输出设备与 Alan 计算机的连接。没有以太网,没有 WiFi,没有串口或 USB。甚至不要连接显示器,因为恶意软件可能会将屏幕以二进制代码的形式闪烁给其他人。如果计算机板上有任何 LED,请剪掉它们以防万一。并且断开任何扬声器的连接,这样恶意软件就无法向附近的任何东西发出哨声。

当然,不利的一面是您不再有任何方法可以判断 Alan 的计算机在做什么,从而使其完全无用。但完全安全。