我之前弄乱了我的系统,在启动 Ubuntu 时,我看到了黑屏。当我启动笔记本电脑时,我从 grub 菜单中选择了恢复选项,然后选择了 fallback at根终端。我看到我能够使用添加用户命令,有了它,我可能就可以在我的计算机上创建一个特权用户。
这不是一个安全问题吗?
有人可能偷了我的笔记本电脑,然后在启动时选择恢复并添加另一个用户,然后我就被蒙骗了。包括我的数据。
仔细想想,即使你以某种方式删除了该条目,也可以从实时 CD 启动,启动chroot
并运行,然后添加另一个用户,并具有允许其查看我的所有数据的正确权限。
如果我将 BIOS 设置为仅在我的 HD 上启动,没有 USB、CD/DVD、网络启动,并设置 BIOS 密码,这仍然无关紧要,因为您仍然有该 grub 恢复启动项。
我相当确定来自中国、俄罗斯的人无法从网络攻击我的 Ubuntu Trusty Tahr,因为它就是这么安全。但是,如果有人可以物理访问我的(你的)机器,那么,好吧,这就是我问这个问题的原因。我如何保护我的机器,使通过物理访问进行攻击成为不可能?
错误报告:
答案1
我猜只有使用强算法和最重要的好密码的全盘加密才能保护您本地存储的数据。这可能为您提供 99.99% 的安全性。请参阅众多指南之一了解如何执行此操作。
除此之外,不可能保护您的机器免遭具有物理访问权限的经验丰富的黑客的攻击。
用户/账户密码:
如果您启动到恢复模式,那么创建新的管理员用户很容易,正如您自己所述,因为这样您无需输入密码即可获得 root shell。
这可能看起来像是一个意外的安全问题,但它适用于(谁会想到呢?)恢复情况,例如您丢失了管理员密码或弄乱了命令sudo
或其他重要内容。根密码:
Ubuntu 默认没有设置任何 root 用户密码。但是,你可以设置一个,如果你在恢复模式下启动,系统会要求你输入密码。这似乎很安全,但仍然不是最安全的解决方案。你仍然可以在启动single init=/bin/bash
Ubuntu 之前通过 GRUB 添加内核参数,以在单用户模式下启动它 - 这实际上也是一个没有密码的 root shell。使用密码保护 GRUB 菜单:
您可以保护 GRUB 菜单项,使其仅在身份验证后才可访问,即您可以拒绝在没有密码的情况下启动恢复模式。这还可以防止操纵内核参数。有关更多信息,请参阅help.ubuntu.com 上的 Grub2/Passwords 站点。只有从外部介质启动或将 HDD 直接连接到另一台机器时才能绕过此问题。在 BIOS 中禁用从外部媒体启动:
您可以设置启动顺序,并且通常可以在许多当前 BIOS/UEFI 版本中将设备排除在启动之外。但是这些设置并不安全,因为每个人都可以进入设置菜单。您也必须在此处设置密码,但是...BIOS 密码:
您通常也可以绕过 BIOS 密码。有几种方法:- 通过打开计算机机箱并物理移除 CMOS 电池或临时设置“清除 CMOS”跳线来重置 CMOS 内存(存储 BIOS 设置的位置)。
- 使用服务组合键重置 BIOS 设置。大多数主板制造商在其服务手册中描述了将混乱的 BIOS 设置重置为默认值(包括密码)的组合键。一个例子是ScreenUp打开电源时按住 ,如果我没记错的话,在我弄乱超频设置后,这曾为我解锁过带有 AMI BIOS 的宏碁主板。
- 最后但并非最不重要的是,有一组默认的 BIOS 密码似乎总是有效的,与实际设置的密码无关。我没有测试过,但是本网站提供了按制造商分类的列表。
感谢 Rinzwind 提供此信息和链接!
锁定计算机机箱/拒绝对主板和硬盘进行物理访问:
即使所有其他方法都失败了,数据窃贼仍然可以打开您的笔记本电脑/计算机,取出硬盘并将其连接到自己的计算机。从此以后,安装它并访问所有未加密的文件就变得轻而易举了。您必须将其放入一个安全锁定的机箱中,确保没有人能够打开计算机。然而,这对于笔记本电脑来说是不可能的,对于台式机来说则很难。也许您可以考虑拥有一个像动作片一样的自毁装置,如果有人试图打开它,里面的炸药就会爆炸?;-) 但请确保您永远不必亲自打开它进行维护!全盘加密:
我知道我建议这种方法是安全的,但如果您在开机时丢失了笔记本电脑,这种方法也不是 100% 安全的。有一种所谓的“冷启动攻击”,允许攻击者在重置正在运行的机器后从您的 RAM 中读取加密密钥。这会卸载系统,但不会在断电时间足够短的情况下刷新 RAM 内容。
感谢 kos 对这次攻击的评论!
我还要在这里引用他的第二条评论:这是一个旧视频,但很好地解释了这个概念:YouTube 上的“勿忘我:针对加密密钥的冷启动攻击”;如果你设置了 BIOS 密码,攻击者仍然可以在笔记本电脑仍处于开启状态时移除 CMOS 电池,以使定制驱动器启动而不会浪费任何关键时间;由于 SSD 的出现,这种情况现在变得更加可怕,因为考虑到写入速度约为 150MB/s,定制的 SSD 可能能够在不到 1 分钟的时间内转储 8GB
关于如何防止冷启动攻击的相关但仍未解答的问题:如何让 Ubuntu(使用全盘加密)在睡眠/挂起到 RAM 之前调用 LUKSsupend?
总结:目前,没有什么可以真正保护您的笔记本电脑不被有物理访问权和恶意的人使用。只有当您足够谨慎,敢于冒着因忘记密码或崩溃而丢失所有数据的风险时,您才能完全加密所有数据。因此,加密使备份比以前更加重要。但是,它们也应该加密并放在非常安全的地方。
或者只是不要把笔记本电脑送给别人,并希望你永远不会丢失它。;-)
如果您不太关心数据而更关心硬件,您可能需要购买并安装 GPS 发送器到您的机箱中,但这只适用于真正偏执的人或联邦特工。
答案2
最安全的笔记本电脑是没有任何数据的笔记本电脑。您可以设置自己的私有云环境,然后不要在本地存储任何重要信息。
或者取出硬盘,用铝热剂熔化。虽然这在技术上回答了这个问题,但这可能不是最实用的,因为你将无法再使用你的笔记本电脑。但那些一向模糊的黑客也不会。
除了这些选项外,还要对硬盘进行双重加密,并要求插入 USB 拇指驱动器才能解密。USB 拇指驱动器包含一组解密密钥,BIOS 包含另一组解密密钥 - 当然受密码保护。如果在启动/从挂起恢复期间未插入 USB 拇指驱动器,则将其与自动数据自毁程序相结合。随身携带 USB 拇指驱动器。这种组合也恰好可以处理XKCD #538。
答案3
加密您的磁盘。这样,即使您的笔记本电脑被盗,您的系统和数据也将是安全的。否则:
- BIOS 密码无济于事:小偷可以轻松地从您的计算机中提取磁盘并将其放在另一台电脑上进行启动。
- 您的用户/根密码也无济于事:小偷可以轻松地按照上述说明安装磁盘并访问您的所有数据。
我建议你有一个 LUKS 分区,你可以在其中设置 LVM。你可以将启动分区保持未加密状态,这样你只需要输入一次密码。这意味着你的系统如果被篡改(被盗并在你没有注意到的情况下归还给你)可能会更容易受到攻击,但这种情况非常罕见,除非你认为你被 NSA、政府或某种黑手党跟踪,否则你不必担心这一点。
您的 Ubuntu 安装程序应该会为您提供使用 LUKS+LVM 进行安装的选项,这种方式非常简单且自动化。我不会在这里重新发布详细信息,因为互联网上已经有大量文档了。:-)
答案4
除了加密磁盘之外(您无法绕过它):- SELinux 和 TRESOR。两者都强化了 Linux 内核,并试图使攻击者难以从内存中读取内容。
顺便说一下:我们现在不仅担心邪恶的随机分子想要你的借记卡信息(他们不会这样做),而且经常担心情报机构。在这种情况下,你想做更多:
- 尝试从 PC 中清除所有闭源内容(包括固件)。这包括 UEFI/BIOS!
- 使用 tianocore/coreboot 作为新的 UEFI/BIOS
- 使用您自己的密钥进行安全启动。
有充足你可以做其他的事情,但这些应该能给他们提供合理数量的东西来满足他们的需要。
并且不要忘记: 韓國;-)