我可以想象,在几年内,密码锁可能会变得如此先进,以至于它们不仅可以加密当前操作系统分区上的某些文件,还可以触及主驱动器上的所有其他分区(比如说在笔记本电脑中)。
完整的硬盘驱动器加密不能解决这个问题,因为密码锁只能添加一层加密。
我们有什么合理的方法来分离系统吗?UEFI 提供什么吗?
我可以想象,在几年内,密码锁可能会变得如此先进,以至于它们不仅可以加密当前操作系统分区上的某些文件,还可以触及主驱动器上的所有其他分区(比如说在笔记本电脑中)。
完整的硬盘驱动器加密不能解决这个问题,因为密码锁只能添加一层加密。
我们有什么合理的方法来分离系统吗?UEFI 提供什么吗?
除非虚拟化在物理上阻止操作系统看到设备本身(例如,“磁盘”实际上是 VHDX 或类似的),否则答案是“是的,当然”。没有什么特别需要的,一旦恶意软件获得管理员权限,您也无法阻止它发生。
我不知道如何在 Windows 下打开设备(类似\device\harddisk1或类似的东西?),但果然我已经不止一次地覆盖了 Linux 下的原始设备。假设您以. cat /dev/random > /dev/sda_ 这是穷人在缺乏更好的东西时的安全擦除。root
安装引导加载程序(这是勒索软件的第 1 部分)只不过是这样做而已,仅使用不那么随机的数据。用你的二进制文件覆盖引导加载程序,显示“付钱给我,傻瓜”文本。
请注意,此引导加载程序(也不是加密/解密部分,如果有解密部分)需要能够以有意义的方式访问分区或文件系统。
加密(或乱码,用户无法真正区分)是第二部分,这同样容易。如果您可以编写引导加载程序,则可以编写扇区。因此,不是文件,而是加密原始设备上的扇区。当您可以使它们无法使用时,谁会关心这些扇区内部的逻辑结构?不同的分区类型,不同的文件系统?你不能不在乎。想要使用它们的人需要知道,您不需要知道。
这是恶意软件可以在几秒钟内完成的事情,甚至不需要保密或超级聪明。您无需保持低调以避免被发现。当用户甚至注意到计算机上疯狂闪烁的灯并想知道可能发生了什么时,恶意软件已经覆盖了数百兆字节(数十千兆字节)的数据。如果恶意软件编写者只有最低限度的智能,这足以覆盖每个分区上的文件系统元数据,包括各自众所周知的偏移量的备份元数据,以及几百兆字节的实际文件内容。
当然,仅覆盖元数据,原则上仍然可以恢复尚未覆盖的文件的内容,但这是一件非常昂贵的事情,并且远远超出了普通用户的能力(并且可能是不可能的)某些文件系统上的小文件)。
您甚至不需要正确加密,您也可以用垃圾数据覆盖扇区。用户无法分辨,他们只有在付了钱后才意识到,如果他们愚蠢到付钱给罪犯,希望罪犯会信守诺言。
所以......是的,从技术上讲,这绝对没有问题(对于大多数人拥有的大多数计算机)。
简短版本: 可能不是,假设病毒能够自行挂载分区。
长版:在您有单独分区的给定计算机上,Windows 和 Linux 都没有真正“意识到”另一个分区包含不同的操作系统。他们可能会理解,但如果您愿意,您可以像其他任何分区一样挂载分区并修改文件系统。
如果您可以自己执行此操作,则无法阻止病毒执行此操作,前提是它能够检查要安装的未安装分区。您唯一真正的赌注是希望它不能这样做,或者将您的操作系统放在单独的磁盘上,当您打开 Windows 时,您必须将其删除。
如果运气好的话,Windows 10 的新系统可以防止这种攻击,但还不能确定。
是的。
执行此操作所需的技术部件今天可用(并且已经存在了几年)。事实上,grub(Linux 上最流行的引导加载程序之一)在一小段代码中就提供了对许多文件系统的支持。对于能够在没有盲复制粘贴的情况下编写密码锁(将其用作通用术语)的人来说,这没什么大不了的。
如果他们还没有这样做,只要有人认为它有用,就会完成(进入预测领域,抱歉)。FWIW,恶意软件作者需要保持他们的代码尽可能紧凑(在大小和行为上)以逃避检测 - 所以这可能是反对它的一个可能因素。
多个操作系统共存于同一台计算机的场景是虚拟化和多重引导。
在类型 1 虚拟化的情况下(没有主机,也就是裸机虚拟化),系统通过虚拟化系统相互隔离。
在类型 2 虚拟化(A 主机和虚拟化来宾机器)的情况下,来宾机器无法直接访问主机中的文件。另一方面,宿主机可以加密整个客户机文件系统。无论如何,由于客户机文件系统本身就是主机中的一个文件,因此它与实际的密码锁恶意软件没有什么不同。
最后,对于多引导方案。恶意软件能够以与用户相同的方式挂载其他系统分区并加密文件(甚至整个分区都无需挂载!)。但是对这种情况的保护要实现起来要困难得多。
每个操作系统都处理自己授予的权限,也就是说,如果用户启动 Linux 系统并挂载 Windows 分区,则不会保留来自 Windows 系统的权限,反之亦然。
如果限制是在操作系统层实现的,它可以被具有足够权限的用户或进程绕过或删除。因此,它应该由操作系统控制之外的某些元素控制。
AFAIK,UEFI 不为您描述的场景提供保护,但它了解可用的分区并作为抽象层与硬件通信。所以我认为权限可以在那里实现,但可能需要架构更改。
话虽如此,IMO 多引导系统是有限数量的最终用户拥有的东西,而不是大多数计算机拥有的东西(大多数最终用户和企业环境)。对于这么小的目标,具有您提到的功能的恶意软件看起来太复杂了。