コンテンツにスキップするには Enter キーを押してください

GitHub: コードの出所がサプライチェーン攻撃を防ぐ方法

ソフトウェア開発コードの画面

出典: ronstik via Alamy Stock Photo

GARTNER セキュリティ & リスク管理サミット  ワシントンD.C. — GitHubのプロダクトマネジメントディレクターであるJennifer Schelkopfによれば、使用するコードの出所とその認識を持つことは、サプライチェーン攻撃を防ぐための恩恵となり得ます。

ソフトウェアが侵害され、そのユーザーに影響を与えるサプライチェーン攻撃は重大な問題です。この問題は、JavaのログフレームワークLog4jのような広く使われているオープンソースコードを標的にする脅威アクターによって悪化しています。Schelkopfが昨日のGartnerセキュリティ & リスク管理サミットでのプレゼンテーションで説明したように、今年末までに45%の組織がサプライチェーン攻撃を経験することになります。

サプライチェーン攻撃の悪意あるコードの具体例として、Schelkopfは2020年に発見されたSolarWindsに対する攻撃、Log4Shell、2022年にPyTorchのPyPlリポジトリにアップロードされた悪意あるパッケージ、および広く使われているLinuxライブラリXL Utilsに挿入されたバックドア昨年を挙げました。

彼女の講演中、Schelkopfは、アーティファクトの出所を知ることが、将来的に同様のコードインジェクション攻撃から守るために役立つという考えを強調しました。

SLSAの力

関連記事:ユーティリティに偽装した毒入りnpmパッケージがシステム全滅を狙う

Schelkopfは、標準的な開発ワークフローでは、開発者がコードを書き、CI/CDを起動し、アーティファクトがレジストリにプッシュされ、出所を確認せずに本番環境に投入されると述べました。これは暗黙の信頼であり、SchelkopfがDark Readingとのインタビューで述べたように、道端で見つけたハンバーガーをかじるのと同等です。

暗黙の信頼に対する主な解決策の一つは、ソフトウェアアーティファクトのサプライチェーンレベル、またはSLSAフレームワークにあります。業界の協力の一環として作成されたSLSAフレームワークは、ソフトウェア開発の整合性のためのベストプラクティスを確立します。

そのウェブサイトによれば、SLSAは「改ざんを防ぎ、整合性を向上させ、パッケージとインフラを保護するための基準と管理のチェックリスト」です。このフレームワークは、複数のセキュリティ要件レベルを含み、アーティファクトの生産、アーティファクトの出所の確立、アーティファクトの検証などをカバーしています。

出所はアーティファクトの証明によって確立され、どのアーティファクトが構築されたか、どこから来たのか、どのように生産されたのか、いつ作成されたのか、誰が承認したのかを含みますとSchelkopfは述べました。

防御者のためのSLSA

防御者が証明を通じてより安全なコードを実装する方法については、Sigstoreは開発コンポーネントの署名、チェック、検証のプロセスを自動化するオープンソースプロジェクトです。Sigstoreを利用するために必須ではありませんが、Google CloudとGitHubのワークフロー自動化ツールであるGitHub Actionsは、Sigstoreの実装をサポートしており、SLSA 3セキュリティをサポートしています。 

関連記事:Gartner: セキュリティチームが誇大広告を機会に変える方法

もう一つのオープンソースツールはOPA Gatekeeperで、Kubernetesのためのオープンソースライブラリであり、デプロイメント時にポリシー決定を行い、問題のあるデプロイメントを拒否することができます。

自動化された証明と検証により、アーティファクトはパイプラインを通過する際や本番環境に移行する前にチェックされ、悪意あるコードは出所に対してチェックされ、防御者にフラグが立てられます。Schelkopfは、証明が改ざん検出、ポリシー要件を満たさないアーティファクトの自動拒否、デジタルの証跡を可能にすると指摘しました。

彼女のプレゼンテーションによれば、証明はSolarWindsのサプライチェーン攻撃につながった悪意あるコードインジェクションによって作成された無効なビルド署名を検出したでしょう。適切な証明があれば、過去のサプライチェーン事件は異なる結果をもたらしたかもしれないとSchelkopfは述べました。

防御者にとって、Schelkopfは、証明は組織が本番環境に投入するコードを人間的に可能な限り信頼できると感じるために存在すると述べています。

関連記事:次世代の開発者はサイバーセキュリティの火薬庫

“依存関係やビルドに問題がないと仮定することから、すべてが問題ないと知ることへ移行したいのです”とSchelkopfは言います。”暗黙の信頼から明示的な信頼への移行が求められており、SLSAフレームワークは本当に良い出発点です。”

翻訳元: https://www.darkreading.com/application-security/github-code-provenance-supply-chain-attacks

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です