cnBeta.COM - 中文业界资讯站 ( ) • 2024-04-02 14:55

xz 后门尽管没有引起严重的问题,不过这次安全危机也为 Linux 乃至整个开源社区敲响警钟,那就是想要发起供应链攻击其实也不是特别困难。在 xz 项目中原作者因为各种原因身心俱疲,当有个热心的贡献者前来帮忙时,原作者自然非常高兴并逐渐信任他,进而逐渐将整个项目交给他。

现在已经有不少开源社区成员在分析 xz 后门中的黑客 Jia Tan 的真实身份,尽管想要真正追查到他的真实身份很难,不过现在已经有推测表明 Jia Tan 可能是一个生活在东欧的黑客,并且他还故意冒充东八区的用户 (该时区包括中国全部地区、俄罗斯 / 马来西亚 / 新加坡 / 澳大利亚部分或全部区域)

开源社区成员 RHEA 对 Jia Tan 的 GitHub 提交记录进行分析,主要观察他是在哪些时间进行活动的,需要注意的是提交时间是可以修改的,前提是你每次操作时都修改时间,这是一个比较难坚持的事情,毕竟比较麻烦。

冒充东八区用户:

一般来说黑客的工作时间集中在下午或深夜比较合理,毕竟很少有人愿意早晨五点就起来干活 (尽管早睡早起也确实是个好习惯)。

Jia Tan 这名字听起来就像是东亚人,而他的 Github 大部分提交都带有 UTC+8 时间戳,也就是东八区用户,东八区用户配合亚洲名字,那么想要冒充谁其实已经很明显。

然而黑客显然不会使用自己的真实名字,所以这招祸水东引本身就存在漏洞,所以每次提交都修改时区为东八区似乎有助于提高可信度。

有几次忘记修改时区:

正如前面提到的每次修改系统时区其实是个很麻烦的事情,毕竟一年提交那么多次代码每次修改会让人无比烦躁。

因此分析就发现在 UTC+2 和 UTC+3 时区分别有过 3 次和 6 次调提交,这与 UTC+8 的 440 次提交来说显得很少,但却是个关键证据。

毕竟如果真是生活在东八区,那为什么有几次要修改成 UTC+2 或者 UTC+3 呢?要么他是去东欧旅游了,顺手在那里写的代码并提交。

那旅游这事河里嘛?也不河里,因为有两次提交时区发生变更,但中途有 11 个小时的时间差,也就是说他在 UTC+3 提交代码后立即飞往 UTC+8,但这两个时区之间的飞机通常要 10~12 个小时的飞行时长,这还是直达的情况下,如果考虑中转时间会更长,因此这看起来并不合理。

还有一次提交时 UTC+3 和 UTC+8 只差几分钟,马斯克的星舰也没这么快,所以必然有一个时区是造假的。

然而谁会在逢年过节还继续干活呢?

在分析中有个很有趣的现象引起 RHEA 的关注,那就是他对比了中国 2023 年的节假日,发现 Jia Tan 竟然在中国农历新年以及中秋节等假期提交代码。

倒不是说不能在法定节假日期间继续干活并提交代码,但 RHEA 发现这名黑客在东欧假期 (UTC+2 和 UTC+3 都包括部分东欧国家) 的时候却没有提交代码。

东欧假期与中国的法定节假日并不重叠,在中国节假日期间提交代码而在东欧节假日却没有提交代码,因此从代码提交时间来看,Jia Tan 的工作安排和假期更适合东欧人,而不是东亚或东南亚地区的人。

另一方面,Jia Tan 的主要工作时间是周二、周三、周四和周五,如果他是个业余爱好者那有自己的工作,不可能工作日还如此活跃的提交代码。

除非他是受雇于人,也就是这就是他的主要工作,所以周六、周日都是休息的,至于周一,想必全世界打工人都一样,刚刚过了周末周一脑袋不够清醒不是很想干活吧。

基于我们可以初步认为 Jia Tan 很有可能是生活在东欧的人,而发起攻击就是他的主要工作,使用东亚名称和修改 UTC+8 就是想要规避追踪,不过打工人偶尔偷懒也是正常的,所以总有几次提交泄露了他所在的真实时区。