如何保护我的笔记本电脑,以防止通过物理访问进行黑客入侵?


73

我早些时候搞砸了我的系统,当启动Ubuntu时,我受到了黑屏的欢迎。启动笔记本电脑时,我从grub菜单中选择了恢复选项,然后在终端选择了后备。我看到我可以使用添加用户命令,并且可以用它在计算机上创建特权用户。

这不是安全问题吗?

一个人可能已经偷了我的笔记本电脑,在启动时选择了恢复并添加了另一个用户,于是我忽悠了。包括我的数据。

试想一下,即使您以某种方式删除了该条目,也可以从实时CD启动,chroot启动并运行,然后添加另一个用户,并具有正确的特权,使其可以查看我的所有数据。

如果我将BIOS设置为仅以HD启动,没有USB,CD / DVD,网络启动,并且设置BIOS密码也没有关系,因为您仍然具有该grub恢复启动项。

我相当确定,来自中国(俄罗斯)的人无法从网络上入侵我的Ubuntu Trusty Tahr,因为那样安全。但是,如果可以物理访问我的-您的-机器,那么,这就是为什么我要问这个问题。我如何保护我的机器,以便无法通过物理访问进行黑客攻击?


错误报告:


35
全盘加密和闪亮的指甲油。如今谁不这样做?
mondjunge

2
@ByteCommander可以添加root用户。只需将另一个用户的uid 0添加到/ etc / password。我刚刚添加了fred fred:x:0:0:fred,,,:/home/fred:/bin/bash,现在,如果我以fred身份登录并运行whoami,我会得到root
Josef 2015年

3
@ByteCommander 应该是。诸如此类的帐户管理工具adduser通常不会让您这样做,而只能进行编辑/etc/passwd。成为一名黑客意味着无视您该做什么;)
Josef 2015年

3
@ blade19899您的新错误一定会被拒绝。比较一下这个现有的:bugs.launchpad.net/ubuntu/+bug/283662
字节指挥官

4
@ blade19899我的更广泛的观点是,您需要考虑风险和权衡因素,而不是绝对因素。我不知道你是谁或住在哪里,而是一场抢劫案,导致有人有效地使用您的数据(而不是仅仅试图减轻硬件负担),窗台听起来有些牵强,而且可能比时间要少,缺少有效的恢复选项可能会导致金钱甚至数据丢失。这就是为什么拥有后备根终端是一件好事的原因。显然,这并不是说您不应该研究全盘加密。
2015年

Answers:


86

我的猜测是,只有使用强大算法以及最重要的是,好的密码进行的全盘加密才可以保护本地存储的数据。这可能为您提供99.99%的安全性。请参考许多指南之一。


除此之外,无法通过物理访问来保护您的计算机免受经验丰富的黑客的攻击。

  • 用户/帐户密码:
    如您所描述的那样,如果您进入恢复模式就很容易创建新的管理员用户,因为您将获得root shell,而无需这样输入密码。
    这可能看起来像是一个偶然的安全问题,但是是针对(谁会想到的)恢复案例的,例如您丢失了管理员密码或弄乱了sudo命令或其他重要内容。

  • root密码:
    默认情况下,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为acer主板解锁。
    • 最后但并非最不重要的一点是,有一组默认的BIOS密码似乎始终有效,与实际设置的密码无关。我没有对其进行测试,但是此站点提供了它们的列表,按制造商分类。
      感谢Rinzwind提供此信息和链接!
  • 锁定计算机机箱/拒绝物理访问主板和硬盘:
    即使其他所有操作失败,数据窃贼也仍然可以打开笔记本电脑/计算机,取出HDD并将其连接到自己的计算机上。挂载它并访问所有未加密的文件是小菜一碟。您必须将其放入安全锁定的外壳中,以确保没有人可以打开计算机。但是,这对于笔记本电脑是不可能的,而对于台式机则很难。也许您可以考虑拥有一部类似自毁装置的动作片,如果有人试图打开它,它会炸掉里面的炸药?;-)但是请确保您再也不必为维护而自行打开它!

  • 全盘加密:
    我知道我建议这种方法安全,但如果笔记本计算机在打开状态下丢失,也不是100%安全。有一种所谓的“冷启动攻击”,它使攻击者在重置运行的计算机之后即可从您的RAM中读取加密密钥。这样就卸载了系统,但是在没有足够短的时间的情况下不会刷新RAM内容。
    感谢kos对这次攻击的评论!
    我还要在这里引用他的第二条评论:

    这是一个古老的视频,但是很好地解释了这个概念:YouTube上的“请记住:冷启动攻击加密密钥”;如果您设置了BIOS密码,则攻击者仍然可以在笔记本电脑打开时卸下CMOS电池,以使定制的驱动器能够启动而不会损失任何关键时间;由于SSD的存在,如今这种情况更加可怕,因为考虑到写入速度约为150MB / s,定制的SSD可能会在不到1分钟的时间内甚至转储8GB。

    有关如何防止冷启动攻击的相关问题,但仍未得到解答:我如何使Ubuntu(使用全盘加密)在睡眠/暂停进入RAM之前调用LUKSsupend?


得出的结论是:当前,没有任何东西真正保护您的笔记本电脑免遭具有物理访问和恶意意图的人使用。如果您非常疑惑,可能会忘记密码或崩溃而丢失所有内容,则只能完全加密所有数据。因此,加密使备份比现在更加重要。但是,它们也应该被加密并放置在非常安全的地方。
或者只是不要把笔记本电脑丢掉,希望您永远不会丢失它。;-)

如果您不在乎数据,而在乎硬件,那么您可能想购买并安装GPS发送器,但这仅适用于真正的偏执狂人或联邦探员。


7
而且,如果您的笔记本电脑在开机时被盗,全盘加密仍无法使您免受冷启动攻击!
kos 2015年

14
同样,在您的笔记本电脑超出您控制范围的任何时间后,就不能再指望它安全了。例如,它现在可以记录您的启动前密码。
2015年

1
加密数据不应增加丢失数据的风险,因为您确实有备份,对吗?仅存储一次的数据不会比不存在的数据好很多。SSD特别容易突然失效,而没有机会从中取出任何东西。
约瑟夫(Josef)2015年

3
这是一段旧视频,但是很好地解释了这个概念:youtube.com/watch?v=JDaicPIgn9U ; 如果您设置了BIOS密码,则攻击者仍然可以在笔记本电脑打开时卸下CMOS电池,以使定制的驱动器能够启动而不会损失任何关键时间;由于SSD的存在,如今这种情况更加可怕,因为考虑到〜150MB / s的写入速度,定制的SSD可能会在不到1分钟的时间内甚至转储8GB
kos 2015年

2
@ByteCommander,但您的SSD可能会同样失败,并且所有数据都会丢失。当然,如果您倾向于忘记密码(好吧,写下来然后放到安全的地方),那么通过加密会丢失所有数据的可能性可能会增加,但这并不意味着您的数据是超级安全的,除非您敢于对其进行加密。 。您不会“因忘记密码或当机而冒一切风险”,而无需备份就可以做到这一点。
2015年

11

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

或取出硬盘驱动器并用铝热剂将其融化。虽然这从技术上回答了问题,但由于您将无法再使用笔记本电脑,因此它可能不是最实用的。但是那些晦涩难懂的黑客也不会。

除上述选项外,对硬盘驱动器进行双重加密,并且需要插入USB拇指驱动器才能对其进行解密。USB拇指驱动器包含一组解密密钥,而BIOS包含另一组-密码保护。如果在挂起启动/恢复期间未插入USB拇指驱动器,则将其与自动数据自毁例程结合使用。始终随身携带USB拇指驱动器。这种组合也恰好可以处理XKCD#538

XKCD#538


7
一旦您的USB拇指驱动器在接触垫上积累了一些灰尘,自动自我毁灭例程肯定会令人惊喜。
德米特里·格里戈里耶夫

10

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

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

我建议您有一个LUKS分区,您可以在其中设置LVM。您可以使启动分区保持未加密状态,因此只需要输入一次密码即可。这意味着,如果系统被篡改(被盗并在没有通知的情况下还给您,则很容易遭到破坏),但这是一种非常罕见的情况,除非您认为您受到了国家安全局,政府或某些机构的追捧。黑手党,您不必为此担心。

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


如果可能,您能否提供更详细的答案。如您所知,我不是安全爱好者。
Blade19899 2015年

支持要点,但请注意,全盘加密不是唯一的方法,如果将敏感文件限制在一定范围内,也没有必要/home/yourName-应当这样做!-然后将此文件夹与文件级加密驱动程序堆叠在一起(例如我在OP上提到的那种,不会再发送垃圾邮件),这是一种非常可行的选择。我不担心人们会看到所有的无聊的东西在/usr
underscore_d

1
@underscore_d:我确实担心其他东西/home(包括其他分区中的个人和专业数据),因此对我来说加密所有内容都比较容易,但是我想每个用户都有自己的需求:-)。但是,使用ecryptfs不是最佳的性能决定。您可以在此处找到一些基准。请务必阅读2-5文章中的页面以获得实际结果(页面1只是介绍)。
Peque 2015年

非常正确,感谢您提供的链接/基准。我还没有遇到任何性能障碍,但也许以后会。另外,我意识到我可能必须开始考虑对诸如(/var/log/var/www(source),&)之类的东西进行加密/tmp,因此全盘加密似乎开始变得更加明智了!
underscore_d

@underscore_d:是的,然后您开始考虑/etc其他顶级目录...最后,全磁盘加密是一种简单快速的解决方案,可让您每晚睡个婴儿。^^
Peque

5

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

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

篡改检测并不能真正防止篡改(但是,它可能会使从RAM窃取数据更加困难-如果篡改检测到检测到像试图卸下CMOS电池之类的不可靠行为,则可能使设备“砖化”)。主要优势在于,有人会在您不知情的情况下秘密地篡改硬件-如果您设置了强大的软件安全性(例如全盘加密),那么秘密地篡改硬件无疑是剩余的攻击手段之一。

另一个物理安全性是某些笔记本电脑可以锁定在扩展坞上。如果扩展坞牢固地安装在桌子上(通过笔记本电脑下面的螺钉固定),并且在不使用笔记本电脑时将其锁定在扩展坞上,则它将提供额外的物理保护。当然,这不会阻止坚定的小偷,但是绝对会使从家里或公司偷笔记本电脑变得更加困难,并且在锁定状态下仍然可以完美使用(您可以将外围设备,以太网等插入坞站)。

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


2

除了加密磁盘(您将无法解决):-SELinux和TRESOR。两者都强化了Linux内核,并试图使攻击者难以从内存中读取内容。

当您在这里时:我们现在进入的领域不仅是担心邪恶的随机家伙想要您的借记卡信息(他们不这样做),而且通常是足够的情报机构。在这种情况下,您想做更多的事情:

  • 尝试从PC中清除所有封闭源代码(也包括固件)。这包括UEFI / BIOS!
  • 使用tianocore / coreboot作为新的UEFI / BIOS
  • 通过自己的密钥使用SecureBoot。

还有很多其他事情可以做,但那些应该给的,他们需要与痒痒的东西的合理费用。

而且不要忘记: xkcd ;-)


这些建议没有帮助。SELinux和TRESOR都不会阻止具有物理访问权限的人员。它们不是针对此威胁模型而设计的。它们将提供错误的安全感。PS清除封闭源代码与为物理访问者提供安全性完全无关。
DW

1
@DW“ TRESOR(“ TRESOR在RAM外部安全地运行加密”的递归首字母缩写)是一个Linux内核补丁,它提供了仅基于CPU的加密以防御冷启动攻击”-因此TRESOR在这种情况下肯定会提供帮助。但这只是一个侧面。我写了“ Additionally”,因为如果您不加密磁盘(在物理访问情况下),那么这些事情实际上不会做任何事情。但是,当您提高物理安全性时,您不应忘记攻击者仍然可以启动并进行数字攻击(即利用漏洞)。
larkey

@DW如果您的PC进行了很好的加密,但很容易发生特权升级,那是很糟糕的。这就是为什么-如果要从物理方面保护系统-还应该在软件方面进行一些强化。我明确指出,他们强化了Linux内核,因此应该另外做。开源软件也是如此。您的磁盘可能已经很好地加密了,但是如果UEFI中有后门按键记录程序,它将无法帮助您对抗情报机构。
larkey

如果您使用全盘加密并且不让计算机无人看管运行,则特权升级攻击是无关紧要的,因为攻击者将不知道解密密码。(正确使用全盘加密要求您在无人看管时关闭/休眠。)如果您使用全盘加密并且确实使计算机处于无人看管状态,则可以通过多种方法绕过全盘加密-例如,连接USB加密狗-即使您使用TRESOR,SELinux等。同样,这些不是针对此威胁模型设计的。这个答案似乎并不反映出仔细的安全性分析。
DW

1
使用狡猾的措辞“尝试”,一切都符合条件-rot13加密可以尝试确保漏洞无法接管系统。它不会成功,但我可以形容它是尝试。我的观点是,您要选择的防御措施无法有效阻止此类攻击。SELinux / TRESOR不要停止冷启动。要分析安全性,您必须从威胁模型开始,然后分析针对该特定威胁模型的防御措施。安全并不是一个无休止的附加限制列表,听起来似乎不错。有一些科学。
DW

2

因为您稍微更改了问题,所以这是我对更改部分的回答:

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

答:你不能

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

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

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

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


1

为您的HDD / SSD 使用ATA密码

这将阻止使用没有密码的磁盘。这意味着没有密码就无法启动,因为没有密码就无法访问MBRESP。而且,如果该磁盘在另一个机器中使用,则仍然需要密码。

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

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

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

格外小心,因为如果您丢失密码,则可能会丢失所有数据。

http://www.admin-magazine.com/Archive/2014/19/Using-the-ATA-security-features-of-modern-hard-disks-and-SSDs

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

注意:ATA密码不一定与FED(全盘加密)一起提供

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.