Google と GitHub が協力:ソフトウェアの真正性確保によりサプライチェーン攻撃に対抗

Google Teams Up With GitHub for Supply Chain Security

2022/04/07 SecurityWeek — Google と GitHub が協力して、SolarWinds や Codecov に影響を与えたような、ソフトウェア・サプライチェーン攻撃に対抗するための、防御ソリューションを提供している。Google の Open Source Security Team の説明によると、SolarWinds の攻撃では、ハッカーがビルド・サーバーを制御し、ビルド・プラットフォームに悪意のアーティファクトを注入している。また、Codecov の攻撃では、脅威者は信頼できるビルド・サーバを迂回して、悪意のアーティファクトをアップロードしていた。

Google は、「これらの攻撃は、配信された悪意のアーティファクトが、異なるソフトウェア起源を持つことを検出する方法があれば、防ぐことができたはずだ。しかし、これまでは、ソフトウェアの成果物が、いつ/どこで/どのように作られたのかを記述する、検証可能な情報 (出所を示す情報) を生成することが困難だった。この情報により、ユーザーはアーティファクトの起源を追跡し、消費するものに対してリスク・ベースのポリシー策定が可能となる」と述べている。

今回、Google と GitHub は、”non-forgeable provenance “と彼らが表現するものを生成するための、新しい方法を提案している。この方法は、GitHub Actions のワークフローを用いて分離した、Sigstore という署名ツールで真正性を確保するものだ。

その目的は、GitHub runners achieve 上で構築されたプロジェクトが、高い SLSA レベルを達成できるようにすることである。それにより消費者は、対象となるアーティファクトが信頼できるものであり、また、本物であると安心できるようになる。

SLSA (Supply-chain Levels for Software Artifacts) とは、ソフトウェアを最終バージョンからソースコードに遡って、ユーザーが追跡できるようにすることで、プロジェクトの完全性を向上させるために設計されたフレームワークである。今回は、SLSA level 4 のうちの、SLSA level 3 の達成が目標となる。

Google は木曜日に、Build Provenance を説明するブログ記事を公開した。この記事では、リリース・プロセスの実行主体や、ビルド・アーティファクトを悪意の改変から保護する方式などに着目している。また、このブログでは、ソースコードの保護に焦点を当てた 1Source Provenance についても、近日中に公開される予定だという。

GitHub も木曜日に、独自のブログ記事を公開した。ビルドの出所について、両社は2つのプロトタイプ・ツールを作成している。1つは偽造できないビルドの出所を生成するためのもだ。もう1つはアーティファクトおよび、その署名された出所を検証するためのものだ。現時点では、プログラミング言語 Go で作成されたアプリケーションのみがサポートされるが、今後は、他の言語にも拡張していく予定とのことだ。

また、このプロセスに関する、ステップ・バイ・ステップの説明も提供されているGoogle は、「SLSAフレームワークの活用は、ソフトウェアのサプライチェーンの整合性を大規模に確保するための実証済みの方法だ」と述べている。

具体的には、「このプロトタイプは、一般的な CI/CD システムとオープンソース・ツールの最新機能により、高い SLSA レベルが容易に達成できることを示している。Tamper-Safe (SLSA 3+) なビルド・サービスの採用が増えれば、オープンソースのエコシステムの強化に貢献し、現在のサプライチェーンで簡単に悪用されてしまう、ギャップの1つを埋めるのに役立つ」としている。

このプロジェクトの最初のバージョンは、数週間後の提供が予定されている。それまでの間、関係者に対しては、テストの実施とフィードバックの共有が推奨されている。

サプライチェーン攻撃に対抗するためには、ソフトウェアの真正性を確保する他にないという、Google と Git Hub のタッグが誕生しました。文中で紹介されている SLSA (Supply-chain Levels for Software Artifacts) ですが、2021年6月の「Google が立ち上げる SLSA はサプライチェーンの完全性を護る新たなフレームワークだ」でも紹介されていました。また、2022年4月4日には「GitHub にトークン保護機能が追加:リポジトリ・プッシュの前に自動判定」という、GitHub 独自の試みも発表されています。頑張って欲しいです。

%d bloggers like this: