当前位置: 首页>>技术教程>>正文


如何保护我的笔记本电脑,以便通过物理访问进行黑客攻击是不可能的?

, , , ,

问题描述

我之前搞砸了我的系统,在引导到Ubuntu时,我遇到了黑屏。当我启动笔记本电脑时,我从grub菜单中选择了恢复选项,并在根端选择了回退选项。我看到我能够使用add user命令,并且可以使用它在我的机器上创建特权用户。

这不是一个安全问题吗?

一个人可能会偷走我的笔记本电脑,并在启动时选择恢复并添加另一个用户,那么我就被骗了。包括我的数据。

想想看,即使您以某种方式删除了该条目,也可以从live-CD启动,启动并运行chroot,然后添加另一个用户,并拥有正确的权限,以便查看我的所有数据。

如果我将BIOS设置为仅以我的HD启动,没有USB,CD /DVD,网络启动,并设置BIOS密码,它仍然无关紧要,因为您仍然拥有该grub恢复启动项。

我相当确定,来自中国的人,俄罗斯人不能从我的网络上攻击我的Ubuntu Trusty Tahr,因为它是安全的。但是,如果有人能够物理访问我的机器,那么,这就是我问这个问题的原因。我怎样才能保护我的机器,防止通过物理访问进行黑客攻击?


错误报告:

最佳解决办法

我的猜测是,只有使用强大算法的全盘加密,最重要的是,密码才是唯一可以保护您本地存储的数据的密码。这给你99.99%的安全性。请参阅有关如何执行此操作的许多指南之一。


除此之外,不可能通过物理访问来保护您的机器免遭有经验的黑客攻击。

  • 用户/账户密码:如果您启动进入恢复模式,则很容易创建新的管理员用户,就像您自己描述的一样,因为您获得的是root shell而不需要以此方式询问密码。这可能看起来像是一个意外的安全问题,但是适用于(谁会想到?)恢复案例,例如,丢失了你的管理员密码或者搞乱了sudo命令或其他重要的东西。

  • root密码:Ubuntu默认没有设置任何root用户密码。但是,您可以设置一个,如果以恢复模式启动,系统会询问它。这似乎很安全,但仍然没有最终的安全解决方案。在启动Ubuntu之前,您仍然可以通过GRUB添加内核参数single init=/bin/bash,以单用户模式启动它 – 实际上它也是一个没有密码的root shell。

  • 使用密码保护GRUB菜单:您可以确保GRUB菜单条目仅在身份验证后可访问,即您可以拒绝在没有密码的情况下引导恢复模式。这也可以防止操纵内核参数。有关更多信息,请参阅Grub2/Passwords site on help.ubuntu.com。如果您从外部媒体启动或直接将HDD连接到另一台计算机,只能绕过此选项。

  • 在BIOS中禁用从外部媒体引导:您可以设置引导顺序,并且通常排除许多当前BIOS /UEFI版本中的设备引导。这些设置并不安全,因为每个人都可以进入设置菜单。你也必须在这里设置密码,但是…

  • BIOS密码:您通常也可以绕过BIOS密码。有几种方法:

    • 通过打开电脑机箱并物理卸下CMOS电池或临时设置”Clear CMOS”跳线来重置CMOS内存(其中存储BIOS设置)。

    • 使用服务组合键重置BIOS设置。大多数主板制造商在其服务手册中描述了组合键,以将错误的BIOS设置重置为默认值,包括密码。一个例子就是在打开电源的同时按住ScreenUp,如果我没有记错的话,在我搞乱了我的超频设置后,用AMI BIOS解锁了acer主板一次。

    • 最后但并非最不重要的一点是,有一组默认的BIOS密码似乎总能正常工作,与真实密码无关。我没有测试它,但this site提供了它们的列表,按制造商分类。感谢Rinzwind提供此信息和链接!

  • 锁定计算机机箱/拒绝物理访问主板和硬盘:即使其他一切都失败了,数据窃贼仍然可以打开笔记本电脑/计算机,拿出硬盘并将其连接到他自己的计算机。安装它并访问所有未加密的文件是一块蛋糕。您必须将其放入安全锁定的情况下,以确保没有人能够打开计算机。然而,这对笔记本电脑来说是不可能的,而且对台式机来说也很困难也许你可以考虑拥有一部动作片如self-destructing装置,如果有人试图打开它,炸弹里面就会爆炸一些炸药。 ;-)但是确保你永远不必为了维护而自己打开它!

  • 全盘加密:我知道我建议这种方法是安全的,但是如果在打开笔记本电脑时丢失笔记本电脑,它也不是100%安全的。有一个so-called“冷启动攻击”,允许攻击者在重置正在运行的机器后从RAM读取加密密钥。这卸载了系统,但没有冲洗没有电力的时间RAM内容足够短。感谢kos对他的攻击发表评论!我还要在这里引用他的第二个评论:这是一个旧视频,但很好地解释了这个概念:“Lest We Remember: Cold Boot Attacks on Encryption Keys” on YouTube;如果您设置了BIOS密码,攻击者仍然可以在笔记本仍处于开启状态时移除CMOS电池,以使定制驱动器启动而不会丢失任何关键的第二个;由于固态硬盘的缘故,这在今天更加可怕,因为定制固态硬盘可能在不到1分钟的时间内转储8GB,考虑到写入速度约为150MB /s相关,但如何防止冷启动攻击仍然没有答案: How do I enable Ubuntu (using full disk encryption) to call LUKSsupend before sleeping/suspending to RAM?


总而言之:目前没有任何东西能真正保护您的笔记本电脑免遭有实际使用权限和恶意的人使用。如果您的偏执足够偏执,忘记密码或崩溃可能会失去一切,您只能完全加密所有数据。所以加密使得备份比以前更重要。然而,他们也应该被加密,并且位于一个非常安全的地方。或者只是不要放弃你的笔记本电脑,并希望你永远不会失去它。 😉

如果您不太关心数据,但更多关注硬件,您可能想要购买并安装GPS发件人,但这只适用于真正的偏执狂人士或联邦特工。

次佳解决办法

加密你的磁盘。这样,您的系统和您的数据将是安全的,以防您的笔记本电脑被盗。除此以外:

  • BIOS密码不会帮助:小偷可以轻松地从您的计算机中提取磁盘,并将其放到另一台PC上以从中启动。

  • 您的用户/root密码也不会帮助:小偷可以轻松地按上面所述安装磁盘并访问您的所有数据。

我建议你有一个LUKS分区,你可以在其中建立一个LVM。您可以不加密启动分区,以便只需输入一次密码。这意味着如果您的系统被篡改(被盗并在没有您注意的情况下还给您),您的系统可能会更容易受到损害,但这是非常罕见的情况,除非您认为您得到NSA,政府或某种黑手党,你不应该为此担心。

你的Ubuntu安装程序应该给你选择使用LUKS + LVM以非常简单和自动化的方式进行安装。我不是re-posting这里的细节,因为在互联网上已经有大量的文档。 🙂

第三种解决办法

最安全的笔记本电脑是没有任何数据的笔记本电脑。您可以设置您自己的私有云环境,然后不要在本地存储任何重要的东西。

或者拿出硬盘并用铝热剂将其融化。虽然这在技术上回答了这个问题,但它可能不是最实用的,因为您将无法使用笔记本电脑了。但这些ever-nebulous黑客也不会。

除了这些选项,dual-encrypt硬盘驱动器,并需要插入一个USB拇指驱动器来解密它。 USB拇指驱动器包含一组解密密钥,当然,BIOS包含另一组密码保护。如果在启动/暂停期间USB拇指驱动器未插入,则将其与自动数据self-destruct例程结合使用。随身携带USB拇指驱动器。这种组合也适用于处理XKCD #538

14.04,grub2,security,encryption,ubuntu

第四种办法

有几个硬件解决方案值得注意。

首先,一些笔记本电脑(例如一些联想商用笔记本电脑)配备了一个篡改检测开关,用于检测机箱何时打开。在联想上,此功能需要在BIOS中激活,并且需要设置管理员密码。如果检测到篡改,笔记本​​电脑会(我相信)会立即关闭,启动时它会显示警告,并要求管理员密码和适当的AC适配器继续。一些篡改检测器还会发出声音警报,并可配置为发送e-mail。

防篡改检测并不能真正防止篡改(但它可能会使从内存中窃取数据变得更加困难 – 而篡改检测可能会在设备检测到某些真正不妥协的事情时尝试移除CMOS电池)。主要优点是,有人不会在您不知道的情况下偷偷篡改硬件 – 如果您已经设置了强大的软件安全性,例如全盘加密,那么秘密篡改硬件肯定是剩余的攻击媒介之一。

另一种物理安全性是某些笔记本电脑可以锁定在码头上。如果底座安装在桌子上(通过笔记本电脑下的螺丝钉),笔记本电脑在不用时锁在底座上,这样可以提供额外的物理保护层。当然,这不会阻止一个确定的盗贼,但它绝对会让你更难从家里或企业窃取笔记本电脑,并且锁定它仍然完全可用(并且你可以将外设,以太网等插入坞站)。

当然,这些物理特征对于保护没有它们的笔记本电脑是没有用的。但是,如果你对安全有意识,在购买笔记本电脑时考虑它们可能是值得的。

第五种办法

除了加密你的磁盘(你不会解决这个问题): – SELinux和TRESOR。两者都加强了Linux内核,并试图让攻击者难以从内存中读取内容。

当你处于这种状态时:我们现在进入的领域不仅仅是害怕随意的人想要你的借记卡信息(他们不这样做),但往往足够的情报机构。在这种情况下,你想要做更多的事情:

  • 尝试清除PC上的evget closed-source(也是固件)。这包括UEFI /BIOS!

  • 使用tianocore /coreboot作为新的UEFI /BIOS

  • 用你自己的密钥使用SecureBoot。

还有很多其他的事情你可以做,但是这些应该给他们合理的数量,他们需要痒痒的。

别忘了:xkcd 😉

第六种办法

因为你稍微改变了这个问题,下面是我对变化部分的回答:

How can I secure my machine so that hacking through physical access is not possible?

答:你不能

有很多先进的硬件和软件系统,如篡改检测,加密等,但都涉及到这一点:

您可以保护您的数据,但一旦有人访问您的硬件,您将无法保护您的硬件。如果您在其他人访问后继续使用任何硬件,则会危及您的数据安全!

使用具有篡改检测功能的安全笔记本,当有人试图打开它时,清除RAM,使用full-disk加密,存储在不同位置加密的数据的备份。然后尽可能让硬件物理访问硬件。但是,如果您认为有人可以访问您的硬件,请将其擦除并丢弃。

下一个问题you should ask是:我如何获得未被篡改的新硬件。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/1019.html,未经允许,请勿转载。