スマートコントラクトをC2運用に利用するサプライチェーン攻撃

セキュリティ研究者らは、ブロックチェーン技術と従来の攻撃ベクトルを組み合わせた、史上初のオープンソース・サプライチェーン攻撃を発見したと主張している。

Checkmarxは、npm上で悪意のある「jest-fet-mock」パッケージを発見したと述べた。これは、正規で広く利用されている2つのJavaScriptテストユーティリティ「fetch-mock-jest」と「Jest-Fetch-Mock」を偽装するものだ。

「攻撃者は、主要な用語である『jest』と『mock』を維持したまま、『fetch』を『fet』と誤綴することで、典型的なタイポスクワッティング手法を用いた」と同社は記している。

「正規のパッケージは主に開発環境で使用され、開発者は通常、システム上で高い権限を持っており、またCI/CDパイプラインに統合されることも多いことから、この攻撃はテスト環境の侵害を通じて開発インフラを特に狙っていると考えられる。」

オープンソースの脅威について詳しく読む: フィッシングリンクの配布に利用されたNpmパッケージ

しかし、攻撃チェーンの本当に新しい点は、被害者が悪意のあるパッケージをダウンロードした後に現れる。

Checkmarxは、「実行されると、マルウェアはアドレス『0xa1b40044EBc2794f207D45143Bd82a1B86156c6b』のスマートコントラクトとやり取りする。具体的には、コントラクトの『getString』メソッドを呼び出し、パラメータとして『0x52221c293a21D8CA7AFD01Ac6bFAC7175D590A84』を渡して、[コマンド&コントロール] C2サーバーのアドレスを取得する」と説明した。

「このようにブロックチェーンを利用することで、攻撃者は2つの重要な利点を得る。ブロックチェーンの不変性によりインフラが事実上停止不能になること、そして分散型アーキテクチャによってこれらの通信をブロックするのが極めて困難になることだ。」

これにより、脅威アクターはより高い機動性を得る。マルウェアにC2サーバーのアドレスをハードコードするのではなく、必要に応じてスマートコントラクトを更新して新しいサーバーを指すようにするだけでよい。したがって、ネットワーク防御側が1つのC2サーバーをブロックしても、攻撃者はコントラクトを更新することで新しいサーバーへ簡単に切り替えられる。

Checkmarxは、「『jest-fet-mock』の発見は、脅威アクターがソフトウェア・サプライチェーンを侵害するためにさまざまな方法を見出していることを示している」と結論づけた。

「この事例は、開発チームがパッケージ管理に厳格なセキュリティ管理を実装し、特に高い権限を必要とするテストユーティリティについては真正性を慎重に検証する必要があることを示す重要な注意喚起となる。」

翻訳元: https://www.infosecurity-magazine.com/news/supply-chain-attack-smart/

ソース: infosecurity-magazine.com