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

69

我早些时候弄乱了我的系统,当我启动进入Ubuntu时,我遇到了黑屏。当我启动笔记本电脑时,我从grub菜单中选择了恢复选项,并选择了 root 终端的后备。我看到我能够使用add user命令,我可能会用它在我的机器上创建一个特权用户。

这不是安全问题吗?

有人可能偷了我的笔记本电脑,在启动时选择了恢复并添加了另一个用户,我当时就捏造了。包括我的数据。

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

如果我将BIOS设置为仅启动我的HD,没有USB,CD / DVD,网络启动和设置BIOS密码,它仍然没关系,因为你仍然有grub恢复启动条目。

我相当肯定来自中国,俄罗斯的人不能从网络上攻击我的Ubuntu Trusty Tahr,因为它是安全的。但是,如果一个人可以物理访问我的 - 你的 - 机器,那么,那就是我问这个问题的原因。如何保护我的机器,以便无法通过物理访问进行黑客攻击?

错误报告:

blade19899 21.09.2015 - 09:51

7 答案

83

我的猜测是,只有使用强大算法的完整磁盘加密,最重要的是,良好的密码才能保护您本地存储的数据。这为您提供了99.99%的安全性。请参阅许多指南之一,了解如何执行此操作。

除此之外,不可能可以保护您的计算机免受有经验的黑客访问。

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

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

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

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

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

    • 通过打开计算机机箱并物理移除CMOS电池或临时设置"清除CMOS"跳线来重置CMOS内存(存储BIOS设置)。
    • 使用服务组合键重置BIOS设置。大多数主板制造商在其服务手册中描述了关键组合,以将混乱的BIOS设置重置为默认值,包括密码。一个例子就是在打开电源的同时按住 ScreenUp ,如果我没记错的话,在搞砸了我的超频设置后,为我解锁一个带AMI BIOS的Acer主板。
    • 最后但并非最不重要的是,有一组默认的BIOS密码似乎始终有效,与实际设置的密码无关。我没有测试它,但是这个网站提供了一个列表,按制造商分类。
      感谢Rinzwind提供此信息和链接!
  • 锁定计算机机箱/拒绝对主板和硬盘的物理访问:
    即使其他一切都失败了,数据小偷仍然可以打开你的笔记本电脑/电脑,把硬盘取出并连接到他自己的电脑上。安装它并访问所有未加密的文件是其中的一块蛋糕。你必须将它放入一个安全锁定的盒子里,你可以确定没有人能够打开电脑。然而,对于笔记本电脑而言,这是不可能的也许你可以想到拥有一部像自毁设备这样的动作电影,如果有人试图打开它,它会炸毁一些炸药? ;-)但是请确保你永远不必自己打开它进行维护!

  • 全盘加密:
    我知道我建议这种方法是安全的,但是如果你的笔记本电脑在打开时丢失它也不是100%安全的。有一种所谓的"冷启动攻击",允许攻击者在重置正在运行的计算机后从RAM中读取加密密钥。这会卸载系统,但是如果没有足够短的时间,就不会刷新RAM的内容。
    感谢kos对这次攻击的评论!
    我也将在这里引用他的第二条评论:

      

    这是一段旧视频,但很好地解释了这个概念:"以免我们记得:YouTube上的加密密钥上的冷启动攻击";如果您设置了BIOS密码,攻击者仍然可以在笔记本电脑仍然打开时移除CMOS电池以启用自定义精心设计的驱动器启动而不会失去任何关键的第二;由于固态硬盘现在更加可怕,因为定制的SSD可能会在不到1分钟的时间内转储8GB,考虑到写入速度约为150MB / s

    关于如何防止冷启动攻击的相关但尚未解决的问题:如何在睡眠/暂停到RAM之前启用Ubuntu(使用全磁盘加密)来调用LUKSsupend?

总结:目前没有什么能真正保护您的笔记本电脑不被具有物理访问和恶意意图的人使用。如果你的偏执足以冒失去密码或崩溃的风险,你只能完全加密你的所有数据。因此,加密使备份比现在更重要。但是,它们也应该加密并位于非常安全的地方。
或者只是不要让你的笔记本电脑离开,希望你永远不会失去它。 ; - )

如果您不太关心您的数据,但更多关心您的硬件,您可能希望购买并安装GPS发送器,但这只适用于真正偏执的人或联邦代理商。

    
给出答案 Byte Commander 21.09.2015 - 10:15
10

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

  • BIOS密码无济于事:小偷可以轻松地从您的计算机中提取磁盘并将其放在另一台PC上进行启动。
  • 您的用户/ root密码也无济于事:窃贼可以轻松安装磁盘,如上所述并访问您的所有数据。

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

您的Ubuntu安装程序应该为您提供以非常简单和自动的方式安装LUKS + LVM的选项。我不会在这里重新发布详细信息,因为互联网上已有大量文档。 : - )

    
给出答案 Peque 21.09.2015 - 09:53
10

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

或取出硬盘并用铝热炉将其熔化。虽然这在技术上回答了这个问题,但它可能不是最实用的,因为你将无法再使用你的笔记本电脑了。但那些那些模糊不清的黑客也不会。

除了这些选项,双重加密硬盘驱动器并需要插入USB拇指驱动器来解密它。 USB拇指驱动器包含一组解密密钥,BIOS包含另一组 - 密码保护,当然。如果在启动/从暂停恢复期间未插入USB拇指驱动器,则将其与自动数据自毁例程相结合。随时携带USB拇指驱动器。这种组合也适用于 XKCD#538

    
给出答案 E. Diaz 21.09.2015 - 22:20
5

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

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

篡改检测并不能真正防止篡改(但它可能会使从RAM中窃取数据变得更加困难 - 如果设备检测到像试图移除CMOS电池那样非常狡猾的话,则篡改检测可能会"堵塞"设备)。主要的优点是,如果你不知道的话,有人不能隐蔽地篡改硬件 - 如果你已经设置了强大的软件安全性,例如全盘加密,那么隐蔽篡改硬件肯定是剩下的攻击媒介之一。

另一个物理安全性是某些笔记本电脑可以锁定到底座。如果底座牢固地安装在桌子上(通过笔记本电脑下面的螺钉)并且笔记本电脑在不使用时保持锁定在底座上,那么它提供了额外的物理保护层。当然,这不会阻止一个坚定的小偷,但它肯定会使你从家里或企业窃取笔记本电脑变得更加困难,并且锁定它仍然完全可用(并且你可以插入外围设备,以太网等等到底座)。

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

    
给出答案 Blake Walsh 21.09.2015 - 15:34
2

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

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

  • 尝试从PC清除evrything闭源(也是固件)。这包括UEFI / BIOS!
  • 使用tianocore / coreboot作为新的UEFI / BIOS
  • 将SecureBoot与您自己的密钥一起使用。

你可以做其他事情的很多但是那些应该提供他们需要的合理数量的东西。

不要忘记: xkcd ; - )

    
给出答案 larkey 21.09.2015 - 12:56
2

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

  

如何保护我的机器,以便无法通过物理访问进行黑客攻击?

答案:你不能

有许多先进的硬件和软件系统,如篡改检测,加密等,但这一切都来自于:

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

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

下一个问题你应该问是:我如何获得未被篡改的新硬件。

    
给出答案 Josef 24.09.2015 - 11:35
1

为您的HDD / SSD使用 ATA密码

这将阻止在没有密码的情况下使用磁盘。这意味着您没有密码无法启动,因为您无法使用密码访问 MBR ESP 。如果磁盘在另一台机器内部使用,则仍需要密码。

因此,您可以为您的HDD / SSD使用所谓的用户ATA密码。这通常设置在BIOS内(但这不是BIOS密码)。

为了提高安全性,您也可以在磁盘上设置主ATA密码。禁用制造商密码。

您也可以使用 hdparm 在cli上执行此操作。

额外注意应该采取措施,因为如果您丢失密码,您可能会丢失所有数据。

链接

注意:这里也存在一些缺点,因为有些软件声称可以恢复ATA密码,甚至声称要删除它。所以它也不是100%安全。

注意:ATA密码不一定附带FED(全盘加密)

    
给出答案 solsTiCe 16.10.2016 - 23:08

阅读有关标签的其他问题