GitHub Attack Vector Cracks Open Google, Microsoft, AWS Projects
2024/08/14 DarkReading — Google/Microsoft/Amazon Web Services などが所有する、GitHub オープンソース・プロジェクトに影響を与える攻撃ベクターが、Palo Alto Networks の Unit 42 により発見された。Unit 42 の主任研究者である Yaron Avital は、グローバル企業が所有する知名度の高いオープンソース・プロジェクトに対しても、この攻撃は有効であると言う。それらのプロジェクトが侵害されると、何百万もの消費者に影響を及ぶ可能性があると、 8月13日に発表されたブログで、彼は述べている。

この攻撃ベクターは、GitHub Actions のアーティファクトを悪用するものであり、Canonical (Ubuntu)/OWASP Foundation/Red Hat などのプロジェクトも影響を受けるという。Avital によると、この攻撃ベクターは、GitHub のトークンだけではなく、サードパーティのクラウド・サービス・トークンも流出させるようだ。リポジトリの読み取りアクセスを持つ者であれば、誰もが、それらのトークンを利用できるようになるという。
さらに Avital は「それらのアーティファクトにアクセスできる脅威アクターは、流出した機密情報を悪用し、アクセス可能なサービスを侵害する可能性を手にする。この活動で発見されたトークンのうち、GitHub トークンの漏洩が大部分を占めていた。、攻撃者は、これらの GitHub トークンにより、トリガーとなる GitHub リポジトリに対する攻撃が可能になる」と詳述する。
最終的に、攻撃者は、CI/CD (continuous integration and continuous delivery/deployment) パイプラインを通じて、悪意のコードを本番環境にプッシュすろことが可能になる。また、GitHub リポジトリや組織内に保存されている秘密に、アクセスすることも可能になるという。
Unit 42 は、影響を受けたプロジェクトの、すべての企業やメンテナと協力して対処した。 その結果として、すべてのチームがサポートを受け、すべての問題が迅速かつ効率的に緩和されたと、Avital は述べている。しかし、未知の民間プロジェクトや公共プロジェクトも、攻撃の対象になる可能性がある。
開発サイクルの汚染
CI/CD 環境/プロセス/システムは、現代のソフトウェア開発において重要な役割を担っており、コードの構築/テストの後に、本番環境に提供するという流れを作り出している。したがって CI/CD 環境は、きわめて機密性の高い認証情報を用いて、各種のサービスの認証を得るため、脅威アクターたちに対して、絶好の攻撃機会を提供するものにもなり得る。
新たに発見された攻撃ベクターの中心となる GitHub Actions は、ワークフロー構築のためのアーティファクトであり、同じワークフロー内のジョブ間でデータを永続的に共有するための機能を、開発者に提供している。Avital は、「これらのアーティファクトは、コンパイルされたコード/テスト・レポート/デプロイ・パッケージなどの、ビルド・プロセス中に生成されるあらゆるファイルになり得る」と説明する。
このアーティファクトにより、ワークフロー終了後においても、重要なデータが失われることはなく、後の分析やデプロイメントのためにアクセスできるようになる。Avital によると、依存するジョブ間でのテスト結果や、デプロイ・パッケージを共有する際に、この機能は便利なものになるという。
GitHub Actions のワークフローは、さまざまなクラウドサービスや GitHub 自身とのインタラクションにおいて、それらの機密情報を頻繁に使用する。この情報には、リポジトリに対してアクションを実行するために使われる、自動生成の GitHub トークンも含まれている。
Avital は、「Actions ビルド・アーティファクトは、ワークフローの実行により生成されるアウトプットであり、一度作成されると最大で 90日間保存される。オープンソースのプロジェクトでは、これらのアーティファクトは誰でも利用できるように公開されている」と説明する。
この攻撃フローでは、公開されているアーティファクトをダウンロードしてトークンを抽出した脅威アクターが、オープンソース・プロジェクトのリポジトリに悪意のコードをプッシュしている。その後に、汚染されたコードはプロジェクトの一部となり、エンドユーザーが最終的にアクセスするソフトウェアやサービスの一部として、実行される可能性を得ている。
Unit 42 のブログには、この攻撃ベクターの影響を受けたことが確認されている、 GitHub のオープンソース・プロジェクトのリストが含まれている。
包括的な防御アプローチが求められる
GitHub が、脅威アクターたちにとって格好の標的となっているのは、そのリポジトリ内の僅か数行のコードに手を加えることで、無数のソフトウェアやサービスにアクセスできるようになるためである。
Avital は、「新たな攻撃ベクターは、GitHub におけるアーティファクト・スキャンに関する、現在のセキュリティの論点にギャップがあることを示している。このアーティファクト・メカニズムを使用している組織は、その使用方法を再評価する必要がある」と指摘する。
さらに彼は、「防衛側はソフトウェア開発に対して、包括的なアプローチを採用すべきであり、開発から本番にいたるまでの全てのステップで、潜在的な脆弱性の精査が推奨される。ビルドの成果物のような、見過ごされてしまった要素が、しばしば攻撃者の格好の標的になり得る」と述べている。
その一方でユーザー組織は、開発プロジェクトのセキュリティ体制を強化するための積極的かつ警戒的なアプローチの一環として、ランナー・トークンのワークフロー権限を、最小権限に従って削減すべきである。また、CI/CD パイプラインにおける成果物の作成も見直すべきだ。
オープンソースのためのリポジトリである GitHub ですが、その GitHub Actions を悪用する攻撃ベクターにより、さまざまなプロジェクトが危険な状態に置かれているようです。新しい試みが普及し、多くの組織に利用され、そこから新たな攻撃ベクターが時生じていくのは、仕方のないことだとも思えます。一つ一つ、セキュリティ・ホールを潰していく他に、手はなさそうです。よろしければ、GitHub で検索も、ご利用ください。
You must be logged in to post a comment.