GitHubとPyPI、サプライチェーン攻撃対策として時間ベースの防御機構を導入

GitHubとPyPI(Python Package Index)は、サプライチェーン攻撃を防ぎ、その被害を抑えるため、依存関係管理ツールのDependabotに時間ベースの仕組みを導入しました。

具体的には、Dependabotにはデフォルトで3日間のクールダウン設定が導入され、PyPIは公開から14日以上経過したリリースへの新規ファイルのアップロードを拒否するようになります。

この対策は、両開発エコシステムがここ1年で相次いで大規模な攻撃に見舞われたことを受けたものです。代表的な例としては、「chalk」および「debug」への攻撃、「s1ngularity」作戦、Shai-Huludキャンペーン、そしてGhostActionサプライチェーン攻撃などが挙げられます。

GitHubは先月発表したサプライチェーン脅威対策の一環として、今回の新たな対策により対策強化を進めています。

GitHub、Dependabotにクールダウン機能を追加

Dependabotは、新しいパッケージバージョンに関する情報を含むファイルを読み取り、ソフトウェア開発者に通知するための更新プルリクエストを作成する、GitHubの依存関係更新サービスです。

このツールは現在、新しく公開された悪意あるパッケージが自動的に取り込まれるリスクを低減するため、パッケージ更新プロセスを72時間遅延させるようになりました。

最近の多くの事例では、悪意あるnpmパッケージは公開後わずか数分でセキュリティツールによって検出・報告されています。

しかし、迅速な検出だけでは脅威を排除できません。リポジトリの管理者やベンダーがパッケージを削除する対応を取るまでには時間がかかり、その間に開発者やプロジェクトが悪意あるコードをダウンロードして組み込んでしまう可能性が残るためです。

GitHubは、危険なリリースの取り込みを避けつつ最新の更新にも追随できるバランスの取れた期間として3日間を選んだと説明していますが、Dependabotの「クールダウン」設定オプションを通じて、ユーザーが遅延期間を短く、あるいは長く調整することも引き続き可能だとしています。

GitHubは、Dependabotのクールダウン機能が長期的な侵害に対しては限界があることを強調し、依存関係を固定するロックファイルの利用、権限を制限したトークンの使用、CIにおける不要なインストールスクリプトの無効化を推奨しています。

PyPI、14日間の期限でリリース汚染をブロック

PyPIは、パッケージのリリース公開から14日が経過すると、管理者がそのリリースに新規ファイルを追加できなくなる仕組みを導入したと発表しました

この対策は、公開用トークンやワークフローを侵害した攻撃者が、信頼された古いリリースを汚染することを防ぐことを目的としています。

同プラットフォームによると、リリース公開から2週間以上経過してから正規に新規ファイルをアップロードするプロジェクトはごく一部にとどまるとのことです。

なお、今回の新対策が阻止しようとしているこのリリース汚染の手法が、過去にPyPIに対する実際の攻撃で使われたことが確認された例はまだありません。しかし同プラットフォームは、この危険な可能性を未然に防ぐため、予防的な措置として今回の対応に踏み切っています。

攻撃者に先んじて、すべての防御層をテストする

セキュリティチームが記録できている攻撃の成功例はわずか54%、アラートが上がるのはたった14%にすぎません。残りは検知されないまま環境内を移動しています。

Picusのホワイトペーパーでは、侵害・攻撃シミュレーション(BAS)がSIEMやEDRのルールをどのようにテストし、脅威が検知をすり抜けるのを防ぐかを解説しています。

ホワイトペーパーを入手する

翻訳元: https://www.bleepingcomputer.com/news/security/github-pypi-add-time-absed-defenses-against-supply-chain-attacks/

ソース: bleepingcomputer.com