2023年3月29日に、Linuxで広く採用されている圧縮ツール「XZ Utils」にバックドアが仕込まれていることが発覚しました。このバックドアを仕込んだ「Jia Tan」と名乗る人物の正体について、プログラマーのエバン・ボエス氏がGitHubコミットなどを追いかけて分析した結果を公開しています。

Everything I know about the XZ backdoor

https://boehs.org/node/everything-i-know-about-the-xz-backdoor

XZ Utilsはオープンソースで開発されており、複数人から寄せられたコードをメンテナがマージする開発形態を取っていました。XZ Utilsのメンテナは長年ラッセ・コリン氏が務めていたのですが、2022年にJia Tanがコリン氏に代わってメンテナに就任。そして2024年2月23日にJia Tanがバックドアを含むコードをXZ Utilsにマージしました。Jia TanがXZ Utilsの開発に参加してからメンテナに就任して悪意あるコードをマージするまでの流れは、以下の記事に詳しくまとめています。

XZ Utilsにバックドア攻撃が行われるまでのタイムラインまとめ - GIGAZINE



◆GitHubに残るJia Tanの足跡

Jia Tanの足跡は、GitHubにわずかに残されています。Jia TanはGitHub上では「JiaT75」というユーザー名で活動していました。



Jia TanがGitHubアカウントを作成したのは2021年1月26日です。その後、2021年10月29日にはxz-develメーリングリストに最初の無害なパッチを送信しました。



Jia TanはXZ Utils以外のプロジェクトでも活動しており、2021年11月2日にはアーカイバライブラリ「libarchive」に「エラーテキストの追加」をうたうプルリクエストを送信。このプルリクエストは議論されることなく2021年11月16日にマージされましたが、XZ Utilsの問題発覚後に修正されています。



Jia Tanは、Googleが提供するソフトウェアテストプラットフォーム「OSS-Fuzz」にもプルリクエスト送信しており、2023年7月7日にマージされています。Jia TanがOSS-Fuzzに送信したコードについてはバックドアに直接関係するものではないことが確かめられているものの、コードの扱いについて議論が勃発しています。



◆IPアドレスに関する考察

Jia Tanが参加していたIRCチャンネル「#tukaani」には、以下のログが残っていました。

[libera] -!- jiatan [~jiatan@185.128.24.163]

[libera] -!- was : Jia Tan

[libera] -!- hostname : 185.128.24.163

[libera] -!- account : jiatan

[libera] -!- server : tungsten.libera.chat [Fri Mar 29 14:47:40 2024]

[libera] -!- End of WHOWAS


ログに含まれている「185.128.24.163」というIPアドレスの詳細をwhois情報検索サービスで検索すると、シンガポールで使われいてるIPアドレスであることが分かります。しかし、ボエス氏によると当該IPアドレスはVPNサービス「WiTopia」で使われているIPアドレスとのこと。このため、IPアドレスからJia Tanの居住地を特定することは困難です。



◆名前に関する考察

Gitのログを調査したところ、Jia Tanが「Jia Cheong Tan」という名前も使っていることが分かったとのこと。「Cheong」は広東語でよく使われる名前ですが、「Jia」は広東語ではめったに使われないそうです。このため、ボエス氏は「『Jia Cheong Tan』という名前は、中国風の名前をもっともらしく組み合わせただけではないか」と推測しています。

◆コミットの時間帯から居住地を推測

インターネット上には、Jia Tanのコミットログから活動時間を割り出し、Jia Tanが住んでいる地域のタイムゾーンを推測する試みも行われています。レア・カーティー氏とシモン・へニガー氏の分析によると、Jia Tanは「UTC+02」もしくは「UTC+03」の地域に住んでいる可能性が高いとのこと。「UTC+02」にはフィンランド、ロシア、ウクライナ、イスラエル、ギリシャなどの国が含まれます。



「UTC+03」にはロシア、シリア、トルコ、サウジアラビア、イラクなどの国が含まれます。



また、両氏によると、Jia Tanは中華圏の多くの人が休暇を取る旧正月の時期は通常どおりコミットしていたとのこと。一方でクリスマスから新年のホリデーシーズンにはコミットが減っていました。両氏の詳細な分析結果は以下のリンク先で確認できます。

XZ Backdoor: Times, damned times, and scams

https://rheaeve.substack.com/p/xz-backdoor-times-damned-times-and



◆疑惑のプルリクエスト

XZ Utilsのバックドアが発見される数日前の2024年3月23日に、1Passwordの従業員であるジャレッド・アラード氏がGo言語のXZ形式圧縮ライブラリに「XZ Utilsを最新版にアップデートするプルリクエスト」を送信しました。このことから「アラード氏がJia Tanの正体なのではないか」という臆測が広がっていたのですが、2024年3月30日にアラード氏は故意ではなかったという釈明を投稿しています。また、ボエス氏には1Passwordから「アラード氏がバックドアとは関係ないことを説明するメール」が届いたそうです。