你好,我是坚持分享干货的 EarlGrey,翻译出版过《Python编程无师自通》、《Python并行计算手册》等技术书籍。
如果我的分享对你有帮助,请关注我,一起向上进击。
分享一篇阮一峰在周刊里对xz后门事件的分析。
作者:阮一峰
互联网行业最近的重大事件,莫过于 xz 软件的后门[7]。
xz 是一种压缩软件,大量用于 Linux 系统,比如系统管理器 systemD 就用它压缩日志。它是 Linux 的基本组件之一,每台服务器几乎都有它。
今年3月底,有人发现它的新版本有点奇怪,让 SSH 的启动时间慢了500毫秒。进一步调查发现,里面竟然有一个后门。
这件事震惊了业界,因为新版本即将纳入主要的 Linux 发行版(比如 Debian 和 Fedora),只差几天而已。到了那时,服务器带有后门,后果不堪设想。
而且,整个事件经过精心策划,过程长达数年,每一步都毫无破绽,心思之缜密,耐心之好,能力之强,令人后怕。
这个事件开始于2021年4月,一个网名叫做 Jia Tan 的人,第一次向 xz 软件包提交了一个正常的补丁,被顺利合并。
2021年11月和2022年4月,他又提交了两个正常的补丁,也被合并。
然后,突然冒出了几个网友,在邮件列表上向管理员建议,xz 项目缺乏人手,响应迟缓,应该给予 Jia Tan 管理员权限。这个建议被采纳了。但是,人们现在发现,这几个网友都是陌生的邮件地址和名字,根本找不到其他的活动痕迹。
就这样,Jia Tan 成为了管理员,拥有独立发布新版本的权限,先后发了几个版本。虽然他的这些代码可能是无害的,但是扩展了功能,为后面要做的坏事打下了基础。
2024年2月,他添加了后门。代码做了混淆,而且后门不在源代码里面,要在构建阶段才会生成,很难发现。他发了这个版本以后,就开始发信,催促几个大型发行版,尽快收入这个版本。
后门曝光后,Jia Tan 就彻底消失了,没有任何身份信息,也没有其他痕迹,谁也不知道他到底是谁。人们开始搜集线索,试图找出这个人。
他的网名是汉语拼音,邮件全名是 Jia Cheong Tan,中间的 Cheong 似乎是粤语。他的 GitHub 提交时间采用东八时区。他的 IP 地址是新加坡。
一切都在指向,他是一个在新加坡的华人。真的是这样吗?
网名显然是假的,代码提交时间可以更改,至于 IP 地址,已经查明是 VPN 地址。
有没有一种可能,他伪装成华人,栽赃给中国?
有人分析了[8],他在 GitHub 的所有提交。虽然提交时间可以更改,但也不能改得太过分,毕竟要保持提交顺序和及时性,所以还是能看出一点东西。
他的提交,绝大部分采用东八时区的时间,但是有一些是东二时区和东三时区。
研究者相信,他很可能是一个东二时区的欧洲人,伪装成东八时区的中国人。他更改了计算机的时区,但是偶尔有几次忘记了更改。
东二时区的国家(上图的绿色部分),主要是东欧国家,以及一部分北欧国家(芬兰和瑞典)和中东国家(以色列和埃及)。
他来自东二时区,主要理由有三点。
(1)他在东二时区的提交日期是冬季,而东三时区的提交日期是夏季。这正好符合欧洲国家和以色列的夏令时切换。
(2)他明显在手动切换时区。举例来说,2022年10月6日,他先在东八时区的17:00:38进行了一次提交,然后又在东三时区的21:53:09再次提交。两次相差不到十个小时,很难相信这一点时间,他已经从中国来到欧洲写代码。
(3)他在中国的农历假日(中秋节、清明节、春节)都有提交,尤其是2023年春节假期(1月21日到1月27日),他有五天提交记录(分别是22日、23日、24日、26日、27日),这说明他不过春节。相反地,他在欧洲人很重视的假期(圣诞节和新年)却没有提交记录。
综上所述,这个 Jia Tan 很可能来自东二时区。不过,这个人(或者组织)非常小心,而且是技术高手,也许永远也发现不了真实身份。
这件事情提醒我们,开源社区的参与者形形色色,不全是好人,有些人非常阴险,不仅干坏事,还伪装身份,栽赃给他人。因此,我们对他人保持善意的同时,也不能丢失警惕。已经有人提议,重要的开源项目不能接受匿名身份的代码提交者。
- EOF -
文章已经看到这了,别忘了在右下角点个“赞”和“在看”鼓励哦~
点击标题可跳转回复关键词「 pybook03」,领取进击的Grey与小伙伴一起翻译的《Think Python 2e》电子版回复关键词「书单02」,领取进击的Grey整理的 10 本 Python 入门书的电子版告诉你更多细节干货
欢迎围观我的朋友圈
👆每天更新所想所悟