XZ裏口事件の首謀者「ジア・タン」の謎

XZ裏口事件の首謀者「ジア・タン」の謎

ソフトウェアサプライチェーン攻撃(広く使用されている正規プログラムに悪意のあるコードを潜ませる、ますます蔓延しているハッキング手法)の脅威は、様々な形で現れます。ハッカーはアップデートサーバーに侵入してマルウェアを仕込んだり、ソフトウェアが開発されたネットワークに侵入してソフトウェアを根底から破壊したりします。また、Jia Tanとして知られる、特に狡猾なソフトウェアサプライチェーン攻撃者の場合、礼儀正しくも熱意を持って2年間もボランティア活動を続けることもあります。

Padlock with computer motherboard architecture inside

週末、サイバーセキュリティとオープンソースソフトウェアのコミュニティは、多くの人気Linuxディストリビューションに統合されている圧縮ユーティリティXZ Utilsの比較的新しい実験版にバックドアが含まれていたというニュースに衝撃を受けた。このバックドアは、特定の秘密鍵を持つハッカーがバックドアを仕掛けられたシステムに接続し、管理者として任意のコマンドを実行できるというものだった。このスパイ行為は、MicrosoftのエンジニアであるAndres Freund氏による偶然の調査によってのみ発見された。彼は、LinuxバリアントDebianのバージョンでリモート接続プロトコルSSHの動作に異常な遅延があることに気づいたのだ。このスパイ行為は、世界中の何百万台ものシステムに蔓延する前に発見された。

XZ Utilsのバックドアは、XZ Utilsのオープンソース担当リーダーであるJia Tanという名の開発者によって仕掛けられたことが明らかになりました。バックドアの発見を受けて、テクノロジー界には謎が残っています。Jia Tanとは一体誰なのか、そして彼、あるいは彼女、あるいはおそらく彼らは、一体誰のために働いていたのか?

Jia Tanは、オープンソースソフトウェアのクラウドソーシングによるコーディング手法を巧みに活用しました。GitHubなどのコードリポジトリでは、誰でもプログラムの変更を提案でき、変更はソフトウェアに統合される前に他のコーダーによってレビューされます。オープンソースプログラミングの世界におけるJia Tanの経歴を紐解くと、2021年11月にGitHubユーザー名JiaT75で初めて登場し、その後1年以上にわたりJia Tan、あるいはJia Cheong Tanという名前で他のオープンソースプロジェクトに貢献した後、XZ Utilsに変更を提出し始めたことがわかります。

2023年1月までに、Jia TanのコードはXZ Utilsに統合されつつありました。その後1年間で、彼らは元のメンテナーであるLasse Collinからプロジェクトの管理権をほぼ掌握することになりました。これは、アップデートの遅さを訴える少数のユーザーからCollinに送られたしつこいメールが一因でした。(これらのユーザーが無意識のうちに共犯者だったのか、それともJia Tanと共謀してCollinに管理権を手放すよう説得していたのかは不明です。WIREDはどのユーザーからもコメントを得られませんでした。)そして最終的に、Jia Tanは今年2月、XZ Utilsのバージョンにステルス性の高いバックドアを追加しました。

非人間的なまでに忍耐強いアプローチと、バックドア自体の技術的特徴と洗練さから、サイバーセキュリティ業界の多くの人々は、Jia Tanは実際には国家支援を受けたハッカー、それも非常に優秀なハッカーによって操作されているハンドルネームに違いないと考えるに至った。「この数年にわたる作戦は非常に狡猾で、埋め込まれたバックドアは信じられないほど欺瞞的です」と、昨年までロシアのサイバーセキュリティ企業カスペルスキーで最上級研究者兼グローバル調査分析チームの責任者を務めていたコスティン・ライウ氏は語る。「これは国家支援を受けたグループであり、長期的な目標を念頭に置いており、オープンソースプロジェクトへの数年にわたる侵入に投資する余裕があると言えるでしょう。」

どの国が攻撃対象なのかという質問に対し、ライウ氏はいつもの容疑者、つまり中国、ロシア、そして北朝鮮の名前を挙げた。真犯人を特定するにはまだ時期尚早だとライウ氏は言う。「一つ確かなことは、これは私がこれまで目にしてきたどのソフトウェアサプライチェーン攻撃よりも巧妙だったということです」と彼は付け加えた。

非常にプライベートで、非常に忙しいプログラマー

先週金曜日にXZ Utilsバックドアが発覚して以来、Jia Tan氏に対する監視が強化される中、研究者たちは同氏が驚くほど堅牢な運用セキュリティを備えていると指摘しています。独立系セキュリティレポーターのブライアン・クレブス氏は、侵害されたデータベースを徹底的に調査した後でも、Jia Tan氏が他のオープンソース貢献者に送ったメッセージ以外では、同氏のメールアドレスの痕跡は「全く」見つからなかったと述べています。また、Jia Tan氏はすべての通信をシンガポールのIPアドレスを持つVPN経由でルーティングしていたようです。

サイバーセキュリティ研修会社SANS Instituteの講師、ウィル・トーマス氏は、Jia Tan氏に関連する他のオンライン上の存在が存在しないことから、このアカウントは「単一目的のために作られた架空の人物」であり、バックドアの開発にどれほどの洗練度、忍耐、そして思考が注がれたかを示していると述べている。バックドアが発見されて以来、Jia Tan氏の人物像は姿を消し、WIREDがGmailアドレスにリンクされたメールを送ったが、返信はなかった。同社の広報担当者はWIREDに対し、Jia Tan氏のGitHubアカウントは停止されたと伝えた。

実際、Jia Tanが残したと思われる唯一の真の足跡は、彼らが多作な貢献者であったオープンソース開発コミュニティへの貢献でした。しかし、Jia Tanの最初のコード変更は、非常に広く使用されているオープンソースコンポーネントである「libarchive」圧縮ライブラリに対するものでした。開発者のEvan Boehs氏は、Jia Tanの詳細なタイムラインの中で、この最初の変更によってある関数が安全性の低い代替関数に置き換えられ、別の悪意のあるコード変更が試みられた可能性があると指摘しています。ただし、この問題はその後修正されています。

サイバーセキュリティ企業NetRiseの共同創業者で、以前は米サイバー軍傘下の海兵隊サイバー戦争グループに勤務していたマイケル・スコットによると、ジア・タンは2021年から2024年2月の間に、少なくとも7つのプロジェクトに合計6,000件のコード変更を加えたという。スコットによると、これらの変更による分岐効果をすべて特定するのはほぼ不可能だという。「コミット」と呼ばれるこれらの変更は、「スカッシングコミット」と呼ばれるプロセスでまとめてコレクションにまとめられることが多いため、ジア・タンによって正確にどの変更が行われたかが必ずしも明らかではない。また、libarchiveのようなライブラリの多数のバージョンのうち、どのバージョンがどのソフトウェアに最終的に追加されたかを追跡するのは難しいため、難読化がさらに一層深まる。「このスレッドを引っ張って、これらすべてがどこに行き着いたのかを把握しようとすると、少し混乱するでしょう」とスコットは言う。

スコット氏によると、この間ずっと、ジア・タン氏は他の貢献者ともメールのやり取りをしており、その口調は「非常に簡潔で、非常にドライ」だが決して不親切ではないものだったという。スコット氏はこれをChatGPTのアウトプットと比較している。「お二人とも、この機能をここまで仕上げていただき、素晴らしい仕事をしましたね」とジア・タン氏はある時点で書いていた。また別の時には、「機会があれば、これらのパッチについてのご意見をお聞かせください :)」と書いていた。XZ Utilsに貢献し、ジア・タン氏から「フィードバック」をメールで送った開発者のジョルディ・マス氏は、振り返ってみると、アカウントはペルソナへの信頼を築くために、並外れた努力をしたと述べている。

スコットは最終的に、この3年間のコード変更と丁寧なメールのやり取りは、複数のソフトウェアプロジェクトを妨害するためではなく、XZ Utils、そして将来的には他のプロジェクトへの妨害に備えて、信頼の実績を築くために費やされたと主張している。「幸運にも彼の資料を見つけたおかげで、彼はその段階までたどり着けなかったのです」とスコットは言う。「だから、今やその資料は燃え尽き、彼は振り出しに戻らなければならないのです。」

技術的なティックとタイムゾーン

ジア・タンは個人として知られているが、何年もかけて準備を重ねてきたことは、国家が支援する組織化されたハッカー集団の特徴だと、カスペルスキーの元主任研究員ライウ氏は主張する。ジア・タンが追加した悪意あるコード「XZ Utils」の技術的な特徴も同様だ。ライウ氏は、一見するとそのコードはまさに圧縮ツールのように見えると指摘する。「非常に破壊的な方法で書かれている」と彼は言う。また、これは「パッシブ」なバックドアであるため、バックドアの運営者の特定に役立つ可能性のあるコマンドアンドコントロールサーバーにアクセスすることはないとライウ氏は言う。その代わりに、運営者がSSH経由で標的のマシンに接続し、ED448と呼ばれる非常に強力な暗号化機能で生成された秘密鍵で認証するのを待つ。

ライウ氏は、バックドアの綿密な設計は米国のハッカーによるものかもしれないと指摘するが、米国は通常オープンソースプロジェクトを妨害することはないため、その可能性は低いと指摘する。仮に妨害するとしても、国家安全保障局(NSA)はおそらく量子耐性を持つ暗号関数を使用するだろうが、ED448はそうではない。つまり、中国のAPT41、北朝鮮のLazarus Group、ロシアのAPT29など、米国以外のハッカー集団もサプライチェーン攻撃の実績を持っているとライウ氏は示唆する。

一見すると、Jia Tanは確かに東アジア系の人物に見える――いや、そう意図されていると言えるだろう。Jia TanのコミットのタイムゾーンはUTC+8だ。これは中国のタイムゾーンで、北朝鮮のタイムゾーンとはわずか1時間しかずれていない。しかし、Rhea Karty氏とSimon Henniger氏の2人の研究者による分析によると、Jia Tanはコミット前にコンピュータのタイムゾーンをUTC+8に変更しただけかもしれないという。実際、いくつかのコミットは東ヨーロッパや中東のタイムゾーンに設定されていたが、これはJia Tanが変更を忘れた可能性もある。

「彼らが中国出身ではないことを示すもう一つの証拠は、中国の祝日に作業していたという事実です」と、ダートマス大学とミュンヘン工科大学の学生であるカーティ氏とヘニガー氏は述べている。彼らは、ジア・タン氏がクリスマスや新年にも新しいコードを提出していなかったことにも言及している。開発者のボース氏は、作業の多くは東ヨーロッパや中東の時間帯では午前9時に始まり午後5時に終わると付け加えた。「コミットの時間帯から判断すると、これは彼らが仕事以外で行ったプロジェクトではなかったことが分かります」とボース氏は言う。

イランやイスラエルといった国も可能性として残るものの、手がかりの大部分はロシア、特にロシアのハッキンググループAPT29に繋がると、元NSAハッカーでサイバーセキュリティ企業Immunityの創設者であるデイブ・アイテル氏は主張する。アイテル氏は、ロシアの対外情報機関(SVR)に所属していると広く信じられているAPT29は、他のハッカーグループには見られないような技術的配慮で定評があると指摘する。APT29は、おそらく史上最も巧妙に組織化され、効果的なソフトウェアサプライチェーン攻撃と言えるSolar Windsへの侵入も実行した。この攻撃は、APT41やLazarusといった粗雑なサプライチェーン攻撃よりも、XZ Utilsバックドアのスタイルによく似ている。

「他の誰かによるものかもしれません」とアイテル氏は言う。「しかし、地球上で最も高度なサプライチェーン攻撃を探しているなら、それはSVRの親愛なる友人たちでしょう。」

セキュリティ研究者たちは、少なくともJia Tanが実在の人物である可能性は低く、ましてや単独で活動している可能性さえ低いという点で一致しています。むしろ、このペルソナは、組織化されたグループによる新たな戦術をオンラインで具現化したものであり、その戦術はほぼ成功に近づきました。つまり、Jia Tanが別の名前で活動するようになることを期待すべきです。オープンソースプロジェクトへの一見礼儀正しく熱心な貢献者でありながら、コードコミットに政府の秘密の意図を隠蔽する人物として。

イスラエルまたはイランの関与の可能性を指摘するため、2024 年 4 月 3 日午後 12 時 30 分 (東部標準時) に更新されました。