AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 1062012
Accepted
denNorske
denNorske
Asked: 2018-08-04 04:06:52 +0800 CST2018-08-04 04:06:52 +0800 CST 2018-08-04 04:06:52 +0800 CST

为什么这个命令可以在没有密码的情况下解锁我的锁屏?(安全问题)

  • 772

我在一家 IT 公司工作,不久前开始在这里工作。我们中的许多人都在使用 linux,我发现 Ubuntu 存在问题或安全问题。就像现在一样,锁定屏幕是没有用的,以防用户启用的进程运行某个命令:gnome-screensaver-command --lock或者loginctl unlock-session

这些命令都不需要密码来重新激活我的桌面,老实说,我认为这非常不安全(或者至少消除了锁定屏幕的安全性)。我原以为它会在尝试重新进入桌面环境时询问密码。

我在开发自己的蓝牙锁定功能时注意到了这种行为,所以如果有人离开电脑,屏幕就会锁定。但没想到解锁这么容易。

之前有没有关于这个的讨论?我觉得很奇怪,它应该是这样的。

password login lock-screen 18.04
  • 6 6 个回答
  • 9440 Views

6 个回答

  • Voted
  1. Oli
    2018-08-04T04:24:59+08:002018-08-04T04:24:59+08:00

    在这两个用例中,这些似乎都是次要问题。

    如果有人可以远程gnome-screensaver-command运行或以您的身份运行,那么您的家、您的 $PATH,基本上是您的整个计算机(从您的安全和隐私的角度来看)都会受到损害。loginctl

    如果有人只是在你的计算机上晃来晃去,他们就不能只运行这些东西。

    • 44
  2. Best Answer
    Aaron
    2018-08-04T10:35:13+08:002018-08-04T10:35:13+08:00

    不,这不是锁屏安全方面的缺陷

    如果您出于正当理由自己做类似的事情,您期望会发生什么?比如说,您使用的是另一台计算机,然后通过 ssh 连接到您常用的计算机并远程运行命令?

    这是我们在我工作的地方实际做的事情,因为我们有奇怪的屏幕保护程序问题并且还没有弄清楚原因 - 我们的问题阻止了某人合法地解锁计算机,因此他们无法重新进入它。他们通常走到最近的计算机,通过 ssh 连接到被锁定的计算机,然后远程解锁,然后返回。所以你描述的事情实际上一直发生在我的工作地点。

    这不是一个安全漏洞,因为您的计算机应该按照您的指示去做,并且您的用户帐户就是您的计算机。

    因此,这可能是对安全性的限制,是安全措施未涵盖的情况,但不是现有安全性的缺陷。这就像说普通围栏有一个缺陷,因为它们不能阻止东西攀爬或飞过它们 - 不,这不是缺陷,只是对它们的安全性的限制,如果它是一个你可以实施其他措施的一个关心。

    现实世界的类比

    作为一个物理类比,你描述的犯罪行为是小偷在你不注意的时候偷走了你的房子钥匙,把它带到某个地方复制,然后在你注意到之前把原件放回去......你是在暗示这是一个可以通过禁止密钥复制服务解决的密钥安全漏洞。并不是说这会禁止密钥复制,因为它只会禁止公共服务......人们仍然会复制密钥,就像如果您离开时人们仍然会将恶意软件偷偷带入您的计算机一样。

    如何提高安全性

    你提到的蓝牙接近解锁听起来有点过分,但如果这对你来说确实是一个巨大的安全问题,那么这是更好的方法之一。你可能甚至不需要自己开发这个,因为可能有产品可以做到这一点。

    继续类比,蓝牙接近的事情就像如果你的房子钥匙离你太远就会触发警报。那将需要小偷在你附近做他们的工作。仍有可能,但更难。

    其他一些安全方法可能涉及培训人们在离开办公桌时始终锁定屏幕,或者甚至进一步制定一项政策,规定如果用户不在视线范围内,则必须锁定所有计算机。

    这实际上是我工作的政策。如果我在拐角处离开办公桌 60 秒去喝杯咖啡(这在我办公桌的耳边,我可以在拐角处偷看它),如果我在这样做时忘记锁定我的电脑我可能会惹上麻烦。这是我们安全政策的一部分,人们因此受到谴责。

    另一件事是减少自动锁定超时。如果它们现在是 10 分钟,请将它们放在 1 分钟或更短。阅读一页文本时,这可能会非常短,但如果它是一个足够大的安全问题,那么人们只需要处理它即可。

    如果有人在您走开几分钟后碰巧走过并看到您离开并且您的计算机已解锁,则减少自动锁定时间将阻止您所说的情况发生。该漏洞仅适用于那些积极跟踪您并准备好并在您离开后几秒钟内等待突袭您的用户帐户的人。

    带走

    100% 安全是不可能的

    无论您做什么,都不可能 100% 停止您所描述的。即使用户在场,也有人可以颠覆计算机。当您在办公桌前时,有人可能会停下来,据说只是为了和您交谈。

    嘿,那是你保存的 ABC 文件吗?你能向上滚动一下,这样我就可以向你指出一些事情。

    [盯着显示器的时候把U盘塞进电脑里]

    @Paŭlo Ebermann 评论说“你的攻击者甚至没有输入恶意软件的命令,他的 USB 设备也可以伪装成键盘。” 非常正确,感谢您提出更好的观点。删除了多余的不必要的步骤。

    这是假设你不能让别人自己运行你的恶意软件。“嗨,鲍勃,你能试试我最新版本的软件吗?我想我已经修复了这个错误。” (Bob 运行他正在与 Tim 一起开发的软件,但不知道 Tim 将恶意软件放入该特定版本中,然后 Tim 在 5 分钟内将其删除)

    仅此而已,那么您的计算机帐户已经 100% 受到威胁,即使在锁定时也是如此。

    1. 实际上不可能保护用户帐户免受该用户帐户所采取的行动,并且

    2. 实际上不可能保证该帐户所采取的行动都是该帐户的人类所有者所希望的。

    回到类比...

    由于您的特定锁屏案例,我使用了关键示例,其中锁屏是关键。但是,正如评论者@David Z 所指出的,问题实际上更糟。以此类推,钥匙被盗是一个小问题,因为您已经有人住在您的房子里,而您却不知道,即使您的门被锁着,他们也会在您离开时整天为所欲为。

    如果你幸运的话,他们会留下一团糟,你会回到一个看起来明显被洗劫一空的家。“什么???如果我幸运的话?” 是的,因为最坏的情况要糟糕得多。他们可以在你家住很多年,总是在自己身上捡拾东西,这样他们就可以在你不注意的情况下不断偷你的东西,在你家住很多年。甚至将您的家用作犯罪活动的中心,例如贩毒或典当被盗物品。

    这就像您办公室的计算机都拥有键盘记录器、远程控制软件,不断下载您公司的所有数据,甚至被用作僵尸网络的一部分,以至于这些计算机实际上每天都在从事非法活动,而您甚至都不知道. 就在门还锁着的时候。


    我刚刚偶然发现了这个很棒的 XKCD 笑话,它让我想起了这个答案,所以我添加了它。注意底部的第 5 个“安全漏洞”。

    CVE-2018-?????:事实证明,布鲁斯·施奈尔只是两个穿着风衣的淘气孩子。

    • 18
  3. timuzhti
    2018-08-04T07:09:50+08:002018-08-04T07:09:50+08:00

    我想起了这个关于 sudo 授予 root 访问权限的U&L 问题。是的,在您的用户帐户下运行的命令能够解锁您的计算机。这是因为,在 Linux 的安全模型下,在您的用户帐户下运行的任何命令都是您。

    您启动的程序发出的命令与您发出的命令(无论是通过 GUI 还是终端)实际上没有区别。如果您正在运行自动解锁屏幕的程序,则您的屏幕已解锁,因为您单击触发程序的按钮和以其他方式运行的程序之间没有区别。如果您运行由恶意攻击者编写的程序,那么您的用户帐户将完全且不可撤销地受到损害。该攻击者编写的服务可以解锁您的计算机,是的,但该服务还可以允许远程访问您的会话,或者执行攻击者想要的任何操作。

    所以是的,您可以将系统配置为仅允许提示您输入密码的程序来解锁您的系统。但是,如果您必须这样做,如果您试图阻止在您的用户帐户下运行的恶意程序损害您的用户帐户,那么您已经失败了。

    TL;DR:该程序可以这样做,因为它已经以您的身份登录。您可以这样做,因为这是您的帐户,就像您可以这样做一样rm -rf ~。传统上,类 UNIX 系统不会阻止您自爆。如果您无法控制在您的帐户下运行的内容,那么您已经失去了对帐户的控制权。

    • 15
  4. stefan
    2018-08-06T00:29:16+08:002018-08-06T00:29:16+08:00

    其他答案侧重于攻击者,这绝对不是安全漏洞,因为您需要已经有权运行此命令。

    然而,这里还有另一个问题。在公司中,IT 安全需要能够在用户无法更改安全设置的情况下保护计算机。在员工因锁屏而烦恼的情况下,员工可以安排定时作业定期解锁屏幕,有效地保持计算机完全解锁。这大大削弱了设备/帐户的安全性。所以,是的,这是一个问题。这样的系统在公司 IT 安全方面是不够的。

    • 1
  5. AMADANON Inc.
    2018-08-05T04:34:50+08:002018-08-05T04:34:50+08:00

    这不是安全风险。

    如果攻击者以您(或 root)的身份登录,并且能够运行此命令,那么他们不需要 - 他们以您的身份登录,因此他们已经可以以您的身份运行任何程序。

    • 0
  6. Carl Witthoft
    2018-08-04T06:41:41+08:002018-08-04T06:41:41+08:00

    免责声明:我不从事 IT 工作,但如果有机会,我会玩 BOFH。

    在这里,工作场所环境中的正确解决方案似乎是 IT 推出控制/工具/任何强制所有用户的机器运行密码锁定的屏幕锁的东西。禁用将其关闭的特定命令。请记住牢不可破的法则“只要你让系统万无一失,大自然就会发明一个更大的傻瓜”。

    • -2

相关问题

  • 在哪里可以更改自动锁定屏幕首选项?[关闭]

  • 通过 SSH 禁用密码访问?

  • 登录失败并显示低图形然后崩溃?[关闭]

  • 如何更改确定有效用户密码的规则?[关闭]

  • 用户如何避免在启动时输入密码?[关闭]

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve