分析發現xz後門駭客可能生活在東歐但試圖冒充中國用戶發動攻擊
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 就是想要規避追踪,不過打工人偶爾偷懶也是正常的,所以總有幾次提交洩漏了他所在的真實時區。