XZ后门是一场长达两年行动的最后部分。这些行动主要以人力情报(HUMINT)的特工行动方式进行。在Jia Tan这个身份被赋予受信任角色之前,攻击者花了数月时间进行接触和布局。
触发这次"争当维护者"行动的是一个非常长的补丁,正是维护者无法很好处理的那种。新出现的人物开始在这个问题上施压。Jigar Kumar是这次行动的先锋。
JK这个身份在多个话题中追问维护者Lasse长达数月。幸运的是,Lasse的新朋友、明星开发者JT就在那里,更幸运的是,JT有时间帮助处理维护任务。真是天大的运气!
这正是情报机构安插卧底的典型方式。他们会安排一个人,然后为目标制造一个危机,而卧底恰好能解决这个危机。
世界上每个情报机构都有能力策划和执行这样的行动。除了展现出高超的人力情报手段,他们还体现出了严谨的技术能力,Jia Tan这个身份必须能够胜任工作并侃侃而谈。但这场行动的核心还是人力情报。
GitHub仓库中的PR评论才是真正的宝藏。那里记录了特工互动的手法。从PR话题和xz邮件列表中可以看出这个组织使用的特工手法,包括一些暴露他们身份掩护的致命错误。
Xz行动是耐心的,但并不缓慢。Jia Tan在2022年3月左右介绍自己,到2023年1月就发布了xz新版本。2023年3月,他接管了发布包的签名。
从无到有成为维护者只用了12个月。这一点也不慢,而是快得要命。
2023年下半年,将ifunc钩子添加到xz的行动持续了大半年时间。直到2023年10月才合并。这段时间里还发生了一些掩护行动,包括一场旨在增加ifunc补丁可信度的行动。
对一个情报机构来说,整个行动的节奏非常合理。他们接近目标,安插卧底,布局谋篇,然后扣动扳机。每个阶段都进行得很顺利,而且都有足够的行动掩护。
行动在审查下崩溃是意料之中的事。他们设计的行动是为了避免调查,而不是抵抗调查。他们非常成功,整个行动过程中没有引起任何怀疑。只是运气不好才被发现。
最后,我想简单谈一下责任归属的问题。很简单——幕后黑手。Xz的维护者Lasse是一场耐心情报行动的目标,攻击者投入了比任何支持者都多的资源来颠覆他。
参考资料:
https://twitter.com/thegrugq