本文来自微信公众号:量子位(ID:QbitAI),作者:晓查、萧箫,原文标题:《“熊孩子”乱敲键盘就攻破了Linux桌面,大神:17年前我就警告过你们》,题图来自:视觉中国

Linux系统,居然被两个不懂任何技术的小孩“攻破”了。

他们只是在键盘和屏幕上一通乱按,就轻松绕过密码,进入了被锁定的Linux系统桌面。

最近,一位程序员父亲就这样,眼睁睁地看着自己的电脑被孩子“玩坏”。

作为一名程序员,他首先想到的不是打骂孩子,而是——如何复现漏洞。

他发现这个漏洞确实是孩子乱按导致的,在某些特殊按键组合下,Linux的屏幕锁定进程会崩溃,从而绕过了密码。

也就是说,只要有人知道了这个漏洞,无需密码就可以偷偷打开别人已经锁定的Linux电脑。

他将情况反馈到官方GitHub上,最终这个奇怪的漏洞上周被正式修复了。

但这并不能让程序员们放心,这些年因Linux桌面进程崩溃导致的安全漏洞层出不穷,屡见不鲜,你永远不知道下一个bug会是什么。

一、孩子们“乱杀”的桌面系统漏洞

这两个小孩,是怎么“发现”这一漏洞的呢?

这位程序员父亲将自己的电脑锁定后,孩子们试图解锁它,就开始在电脑键盘上瞎打。

△ 大致是这个画风

突然,屏保界面消失,孩子们成功进入了Linux系统。

什么?连密码都没有输入?

他让他们再演示一次。这次,孩子们同样做到了,但依旧只是“乱敲”键盘而已。

太奇怪了。

他在两个小孩离开后,自己又悄悄地试了一下,没能成功。

不过他认为,这肯定是个漏洞,因为已经亲眼见过两次了。

这位程序员父亲所用的桌面系统是Cinnamon(Linux桌面环境之一),他推测,Cinnamon是不是有什么奇怪的bug,在不输入密码的情况下也能解锁桌面。

当天晚上10点半,他在Linux Mint的GitHub页面上反馈了这一bug,并描述了孩子们敲击键盘的场景:他们同时按下了物理键盘和屏幕虚拟键盘,而且,尽量多按一些虚拟键盘。

消息一出,马上就有网友表示,自己同样遇到了这种问题,而且用的桌面系统也是Cinnamon。

随后,Linux Mint程序员火速赶往现场。

检查后发现,这的确是一个bug,而且Cinnamon 4.2以上的桌面系统,都会受到影响,因为这一版开始支持屏幕虚拟键盘了。

导致这个bug的具体行为是:长按“e”键,并在虚拟键盘上选中“ē”。

现在,Linux Mint已经为这个漏洞推出了一个新补丁,不过需要自己手动安装。

人生苦短,不如用KDE(手动狗头)。

二、大神:17年前我就警告过他们

对于如此荒谬而简单的漏洞,自然引起各路程序员对Linux桌面的吐槽。

关于这个问题的GitHub issue页面都被程序员们玩坏了。

有人说:这个CVE应该归功于孩子们……

还有人在回帖中发个表情包:我想程序员们应该会这样复现bug。

但要论吐槽最狠的,还是著名程序员大神jwz。

今天凌晨,这位大神又双叒叕发了一篇文章来吐槽此事,标题是《我已经告诉过你们之2021版》。

因为早在17年前,他就警告过Cinnamon和GNOME官方:

“如果没有在Linux上运行XScreenSaver,那么可以说你的屏幕就相当于没有锁定。”

之后每隔几年,jwz都会出来把这段话再说一遍。

jwz还调侃说:“翻车”一次是偶然,两次是巧合,三次是敌人的破坏,四次是GNOME官方。

而这四次安全漏洞,jwz都有详细的记录:

CVE-2019-3010,从Oracle Solaris屏幕保护程序可以获得特殊权限升级;

CVE-2014-1949,MDVSA-2015:162:在Cinnamon屏幕保护程序中按菜单键,再按ESC键,就可以进入shell;

按住向下键,解锁Cinnamon屏幕保护程序;

按住回车键,解锁GNOME屏幕保护程序。

三、修bug引发的新漏洞

导致Linux Mint漏洞是由于3月前修复另一个bug引起的。

这个漏洞存在于Linux显示服务xorg-x11-server中,其最大威胁是对数据机密性和完整性以及系统可用性的威胁。

更让人哭笑不得的是,Ubuntu 20.04在向后移植xorg的时候,由于使用了没有该bug的1.20.9版,反而逃过一劫。

当Ubuntu的开发人员意识到没有打上CVE-2020-25712补丁后,他们又中了新的漏洞。

结果就是,xorg更新修复以后,任何人都可以让屏幕锁定程序崩溃,然后进入桌面。

无独有偶,这不禁让人想起GNOME两个月前的另一个“低级”漏洞。

一位程序员通过将账户服务陷入无限循环,使GNOME的账户守护程序崩溃。之后就能在锁定界面添加新的sudo用户,并获取root权限。

这个锅该让GNOME来背吗?jwz认为,归根结底是因为现在的Linux图形化界面根基X11存在着不可修复的严重问题:

1. 锁定和身份验证是操作系统级别的问题

尽管X11是Linux计算机操作系统的核心,但它的设计没有安全性可言,锁定程序必须以普通的、非特权的用户级应用程序一样运行。

2. X11体系结构的这一错误永远无法修复

X11太旧、太僵化,并且有太多利益相关者无法对它进行任何有意义的更改。这就是为什么人们不断尝试替换X11的原因并失败了,因为它根深蒂固。

虽然现在有Wayland作为X11的替代品,但仍有网友替换为Wayland后,Ubuntu桌面依然存在某些缺陷。

比如唤醒电脑后,会在原来的桌面停留10秒~20秒才能进入锁屏状态,这个过程中桌面的隐私会一览无余。

鉴于Linux桌面的安全性问题漏洞百出,为了防止未被发现漏洞遭利用,有用户建议先安装XSecureLock,多上一把锁。

“我热切期待着听到他们如何解决这个问题。”

jwz在自己的博客里如是说。

参考链接:

https://github.com/linuxmint/cinnamon-screensaver/issues/354

https://www.zdnet.com/article/linux-mint-fixes-screensaver-bypass-discovered-by-two-kids/

https://web.archive.org/web/20210116101222/

https://www.jwz.org/blog/2021/01/i-told-you-so-2021-edition/

本文来自微信公众号:量子位(ID:QbitAI),作者:晓查、萧箫

自驾游-周边游-旅游攻略_一起去远方,版权所有丨如未注明,均为原创丨本网站采用BY-NC-SA协议进行授权,转载请注明本文固定链接!

熊孩子乱敲键盘攻破linux桌面,“熊孩子”乱敲键盘攻破了Linux桌面,怎么做到的?...相关推荐

  1. “熊孩子”乱敲键盘就攻破了Linux桌面,其父亲发现linux漏洞,大神17年前就已经警告

    来源:量子位 Linux系统,居然被两个不懂任何技术的小孩"攻破"了. 他们只是在键盘和屏幕上一通乱按,就轻松绕过密码,进入了被锁定的Linux系统桌面. 最近,一位程序员父亲就这 ...

  2. 熊孩子乱敲键盘攻破linux桌面,“熊孩子”乱敲键盘就攻破了 Linux 桌面,大神:17 年前我就警告过你们...

    原标题:"熊孩子"乱敲键盘就攻破了 Linux 桌面,大神:17 年前我就警告过你们 转自:量子位(ID:QbitAI) Linux系统,居然被两个不懂任何技术的小孩"攻 ...

  3. 熊孩子乱敲键盘攻破linux桌面,“熊孩子”乱敲键盘就攻破了Linux桌面,大神:17年前我就警告过你们...

    原标题:"熊孩子"乱敲键盘就攻破了Linux桌面,大神:17年前我就警告过你们 晓查 萧箫 发自 凹非寺 量子位 报道 | 公众号 QbitAI Linux系统,居然被两个不懂任何 ...

  4. “熊孩子”乱敲键盘就攻破了Linux桌面,大神:17年前我就警告过你们

    本文转载自 量子位,作者 晓查 萧箫 Linux系统,居然被两个不懂任何技术的小孩"攻破"了. 他们只是在键盘和屏幕上一通乱按,就轻松绕过密码,进入了被锁定的Linux系统桌面. ...

  5. 熊孩子乱敲键盘攻破Linux,“熊孩子”乱敲键盘就攻破了Linux桌面,大神:17年前我就警告过你们...

    晓查 萧箫 发自 凹非寺 量子位 报道 | 公众号 QbitAI Linux系统,居然被两个不懂任何技术的小孩"攻破"了. 他们只是在键盘和屏幕上一通乱按,就轻松绕过密码,进入了被 ...

  6. 熊孩子乱敲键盘攻破linux桌面,“熊孩子”乱敲键盘攻破了Linux桌面 大神:17年前我就警告过...

    Linux 系统,居然被两个不懂任何技术的小孩"攻破"了. 他们只是在键盘和屏幕上一通乱按,就轻松绕过密码,进入了被锁定的 Linux 系统桌面. 最近,一位程序员父亲就这样,眼睁 ...

  7. 取消桌面上计算机控制板网络三个系统图标,大神处置win10系统桌面图标“计算机 控制面板 网络”怎么不见了的解决方的步骤...

    我们在操作win10系统电脑的时候,常常会遇到win10系统桌面图标"计算机 控制面板 网络"怎么不见了的情况,想必大家都遇到过win10系统桌面图标"计算机 控制面板 ...

  8. 龙芯linux x86 模拟器,关于linux for loongson和wine的一些疑问,请大神解答,谢谢。...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 我不是学计算机专业的,学过C语言,对计算机有一些疑问,可能问题比较幼稚,但也希望有大神能够向我解释一下,谢谢! 1.我们都知道,任何程序都是由高级语言转换 ...

  9. 磁盘一把锁一个感叹号_电脑C盘出现一把锁和黄色感叹号是什么原因,求大神赐教。...

    bitlocker功能要到控制面板bitlocker里面关闭www.mh456.com防采集. 1.打开2113控制面板--进入bitlocker磁盘加密.5261 Chkdsk 命令,是微软提供的在 ...

  10. java linux at_linux下运行java程序报错,求大神解答

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 Exception in thread "main" java.lang.UnsatisfiedLinkError: /usr/loc ...

最新文章

  1. 联通和阿里云合作 建互联网云化卡号管理系统
  2. 使用reactjs做一个CRUD功能
  3. Spring MVC 特性实现文件下载
  4. 洛谷3320 SDOI2015寻宝游戏(set+dfs序)(反向迭代器的注意事项!)
  5. 我的世界服务器怎么找到指定路径,[小白]MC服务端目录详解
  6. redirect路由配置 vue_Web前端:Vue路由进阶配置
  7. response 流和写能一起吗_余甘果蜂蜜能一起吃吗?余甘果泡蜂蜜有什么功效?
  8. 每个程序猿必读的10篇文章
  9. JVM第二节:JVM 中的对象
  10. 微信小程序商城API文档
  11. 物理单位与格子单位转换
  12. 问题 D: 寻找丢失的LZY
  13. 通过ping命令获取各大网站的IP地址
  14. 解决String cannot be cast to java.util.List报错
  15. 20个用户看了每天都想打开app的登录页面模板
  16. DB2如何修改某个字段由非空转变为可以为空
  17. c++ bitset 基本用法
  18. SpringBoot项目访问jsp页面500问题处理
  19. java线程知识总结
  20. 如何写一个拼写检查器-by Peter Norvig

热门文章

  1. 驾考记录之科目三(2021-06-16)(上海旗忠考场)
  2. python爬虫——智联招聘(上)
  3. Python常见数据处理技术——数据的概览与清洗、多表合并与连接、数据的汇总
  4. 什么时候用多线程什么时候用多进程呢?GUL
  5. 卷积法求解系统的零状态响应_利用卷积可以求解系统的零状态响应..ppt
  6. windows 子系统 linux (WLS):启用Win10的Linux子系统
  7. 在微信公众号中写html代码吗,微信公众号内容如何利用html编辑?
  8. Nodejs实现给手机发送短信验证码用于登录功能(免费短信)
  9. 服务器插在显示屏上不亮,主机正常运行,但显示屏不亮,我将教您如何自行解决!...
  10. 通达信主窗口显示股票所属板块及概念语句