サードパーティの CDN リソースがフロントエンドのサプライ チェーン ポイズニング攻撃になる

最近、Ledger フロントエンド ライブラリに関するセキュリティ問題が発見されました。ハッカーはライブラリの出版権を取得し、ledgerhq/connect-kit ライブラリに悪意のあるコードを埋め込み、その後新しいバージョンをリリースしました。通常、ライブラリのバージョンを更新し、新しいバージョンのコードを Web サイトに統合したユーザーのみが悪意のあるコードの影響を受けるため、これは直ちにセキュリティ上の懸念を引き起こすことはありません。

ただし、ここには特別なリスク点があります。 ledgerhq/connect-kit ライブラリのバージョン更新ポリシーにより、ledgerhq/connect-kit-loader ライブラリに依存し、loadConnectKit 関数を使用する Web サイトは、新しい 1.xx バージョンが表示されるたびに自動的に最新のコードを取得します。これは、多くの Web サイトが CDN アドレスの @1 タグを通じてこれらのライブラリを参照しているためです。このアプローチでは、デフォルトでバージョン 1.xx の最新コードがプルされます。これは、サードパーティ CDN フロントエンド リソースのバージョン管理の一般的な方法です。

ハッカーはこのメカニズムを悪用し、動的にロードされたコードを通じて不正なトランザクションを開始する可能性があります。サードパーティの CDN ソースに依存するこの種の npm パッケージは、新たなサプライ チェーン攻撃チャネルになります。さらに深刻なのは、攻撃者が新しいバージョンをリリースした後、ユーザーが積極的に更新せずに攻撃を受ける可能性があることです。

premint を例に挙げると、多くのフロントエンド Web サイトは、unpkg や cdnjs などの npm 上のパッケージを参照するために外部 CDN に依存しています。以下の図に示すように、premint は最新バージョンに直接依存します。これにはリスクが伴います。攻撃者はユーザーに更新を要求せずに新しいバージョンをリリースするだけでよく、ユーザーは攻撃に対して脆弱になる可能性があります。したがって、外部 CDN リソースを使用する場合は、セキュリティ リスクについて十分に注意する必要があります。この手法は、新たな形態の CDN ポイズニング攻撃となる可能性があります。

Previous:

Next:

コメントを残す

コメントするにはログインしてください