大手テック企業にハッキングしまくり、合法的に13万ドルを稼いだ男

  • 10,658

大手テック企業にハッキングしまくり、合法的に13万ドルを稼いだ男

GitHub関連の問題は、日本だけじゃなかった ?

ルーマニアのサイバーセキュリティ研究者、Alex Birsan氏は、数々の大手IT企業のシステムにハッキングを行い、最近13万ドル (約1360万円) を稼ぎました。もちろん合法的にです。

彼は実に斬新なサプライチェーン・アタックを用いることで、TeslaNetflixMicrosoftApplePaypalUberYelp、などなど、名だたるIT企業30社以上のシステムに侵入したのです。その中で彼は各社のシステムの脆弱性を報告し、そういった企業が支払うバグバウンティーを受け取りました。これは、企業のオンラインセキュリティシステムの脆弱性を発見、報告した善良なハッカー、いわゆる「ホワイトハッカー」に支払われる賞金のようなものです。

依存関係を利用

彼の用いた手法は非常に興味深いもので、ざっくり説明すると、開発プロジェクトのコードの依存関係(プログラムを動作させるのに必要な外部のコード)を悪用して行います。Threatpostによると、企業の内部プロジェクトが依存しているツールは、主にGitHubなどの公開リポジトリから取得してインストールするため、アタックはそのツールに悪質なコードを仕込むことで成立します。そこからマルウェアはターゲットの企業の内部アプリケーションやシステムに広まっていくわけです。

210213_dependency_02
Screenshot: Lucas Ropek: Twitter

となると、まずは企業がどのツールを使っているのか知る必要がありますが、Birsan氏は、大手企業の内部で使われているコードパッケージが、意図せずGitHubのような公開リポジトリに投稿されていたのを発見したのです (しかも最初に発見したのは、よりによってお金を扱うPaypalのもの) 。その原因は「内部、またはクラウドベースのサーバの設定ミス」や「開発パイプライン上のシステム的な欠陥」など様々でした。また同氏は、企業が開発中に利用する、プロジェクトを自動でビルドする (書かれたプログラムを実行可能なファイルにする) ツールが、GitHubなどに公開されているコードと社内のコードのパッケージ名が同じだと、時に2つを混同してしまい、社内のコードをインストールしてほしくても、バージョンがより新しい方を勝手にインストールしてしまうことも発見しました。

同じ名前のコードをアップロードするだけ

BleepingComputerによると、この脆弱性の結果、アタッカーはオープンソースリポジトリにマルウェアをアップロードするだけで、企業のシステムに忍び込ませることができるのだそうです。そうすれば、「ニセのコードパッケージを通じて悪質なコードを実行させたり、ビルド過程でプロジェクトにバックドアを仕込むことができます」と、Birsan氏はYelpのハッキングに成功したプロセスで語っています

例えば、PaypalはBirsan氏の発見に関して以下の投稿をしています。

複数の開発プロジェクトが、内部のパッケージではなくパブリックのNPMレジストリにデフォルトしていたことが判明。パブリックレジストリにはパッケージが存在しないため、研究者が作成したところ、ダウンロードされたのを確認。これらのパッケージに悪質なコードが含まれていたら、内部プログラムに組み込まれていた可能性がある。開発パイプラインには更にチェック及び管理する機構があるが、それでも内部システムに大きな障害を起こしていたかもしれない。研究者の報告のおかげで、Paypalはパブリックレジストリの問題を解決し、発見以前に悪質な介入があった形跡は認められなかった。

依存性混乱

Birsan氏は最近のブログ投稿で、この脆弱性を『Dependency Confusion (依存性混乱) 』と名付け、「現在までに35以上の組織、テストされた3つのプログラミング言語全てでこの脆弱性が確認されました。脆弱性のある企業の殆どが千人以上の従業員を抱えるカテゴリに属しており、恐らく大きな組織ほど内部ライブラリを使う傾向にあることを示しています」と指摘しました。また、彼はBleepingComputerに対し、このアタックは「自動ビルドやインストールツールの脆弱性、またはデザイン欠陥を突くもので、パブリックな依存関係を、同じ名前の内部の依存関係と勘違いしてしまうようにさせる」と説明しています。

Birsan氏がこの手法を昨年から使い始めたところ、セキュリティ企業のSonatypeが彼の送信したパッケージをマルウェアとしてマークしていたと先日発表しました。しかし、Birsan氏はすぐに同社にコンタクトをとり、彼の研究に関して報告し、脆弱性の一般公開が2021年に行われる予定だと説明しました。

彼はこのハッキングで複数の大きなバグバウンティを獲得し、様々な大企業から感謝を送られています。

「一つハッキリと明言しておかなければならないのは、今回ターゲットにした企業は全て、バグバウンティや個人的な契約を通じて、自身のセキュリティシステムをテストすることを承諾しています。許可なくこういったテストを行うことは決してしないでください」と彼はブログでコメントしました。

Birsan氏は、過去にはBitdefenderでPythonエンジニアとして活躍し、ここ3年ほどは個人のITセキュリティコンサルタントとして活動しており、こういった脆弱性は将来的に非常に大きな問題になりうると警告しました。

「内部パッケージの名前を暴く新しい手法は、より多くの脆弱なシステムを危険にさらし、他のプログラミング言語やリポジトリをターゲットにすることで、依存性混乱バグを引き起こす新たな方法が発見されるでしょう」と同氏は警鐘を鳴らしています。

    あわせて読みたい