サイバー犯罪
パッケージへの不正注入事案が後を絶たない中、またも新たな脅威が広がりつつあります
Miasmaを巡る状況がただでさえ深刻なところに、この武器がさらに急速な勢いで拡散しています。Miasmaワームによるサプライチェーン攻撃のツールキット全体がオープンソース化されたのです。過去24時間で、侵害済みと見られる開発者アカウントを悪用し、この自己増殖型マルウェアのソースコードを含むGitHubリポジトリが次々と公開されました。
オープンソースのサプライチェーンセキュリティに特化し、Package Management Guard(PMG)を開発するSafeDepが、「Miasma-Open-Source-Release」と名付けられたこれらの悪意あるリポジトリを発見しました。同社によれば、リポジトリは月曜日から出現し始めたとのことです。GitHubが削除する前に、研究者チームがそのうちの1件を分析した結果、そのコードは単なるサプライチェーンワームの枠を超えるものであることが明らかになりました。
SafeDepチームは「これは完全なサプライチェーン攻撃ツールキットであり、PyPI・npm・RubyGemsなどの公開レジストリ、JFrog Artifactory、GitHubリポジトリ・GitHub Actions、AIコーディングツールの設定汚染、SSHを使った横展開など、さまざまな攻撃ベクターに対して、盗んだ認証情報を用いた攻撃を任意または特定のパッケージに対して実行できる」と報告しています。
今回のワームを公開した背後の人物は不明ですが、その手口は先月のTeamPCPの動きに酷似しています。TeamPCPはミニShai-Huludワームを開発した後、GitHubでオープンソース化し、BreachForumsでサプライチェーン攻撃コンテストを告知することで模倣犯によるパッケージ汚染を引き起こしていました。
その模倣ワームの一つがMiasmaです。まず100件を超えるRed HatおよびMicrosoftのオープンソースプロジェクトに侵入し、その後も被害が拡大しています。アプリケーションセキュリティ企業のSocketは、火曜日時点で473件の影響を受けたパッケージアーティファクトを追跡しています。
「Miasmaリポジトリはミニ Shai-Huludツールキットの発展版であり、6月8日に4件の侵害済みアカウントを通じてオープンソース化されました」と、WizのプリンシパルスレットリサーチャーであるRami McCarthy氏はThe Registerに語りました。「ペイロードはすでにリバースエンジニアリング済みであるため、この公開リリースは高度な防御側にとって特に有用な情報ではなく、現時点では便乗的な採用も確認されていません。」
同氏は、先月TeamPCPがミニShai-Huludをオープンソース化した際にも同様の状況が生じたと指摘しています。
「あのときも攻撃者による武器化は確認されませんでした。既製のツールキットを採用することが、攻撃者にとって独自にマルウェアをゼロから”バイブコーディング”するよりも有利かどうかは不明確です。帰属分析の混乱を招くという懸念はあるものの、攻撃者は通常、マルウェアの非公開フォークを独自に発展させ続けるため、ペイロードの進化を明確に追跡でき、オープンソース版を利用する者との差別化も可能です」とMcCarthy氏は述べています。
Miasmaを含む一連のワームや、AIバグハンターのAonan Guanが「Comment-and-Control」と命名したこの攻撃手法に共通する興味深い点があります。これらはすべてGitHub上で完結しており、独自のC2(コマンド&コントロール)インフラを必要としません。リモートコマンド実行、設定管理、データ窃取を含む攻撃の全段階で、コードホスティングプラットフォームをそのまま活用しているのです。
「これは重大な行動上の変化です。従来のネットワークベースの検知・防御ツールは、ベースライン確立と異常検知に依存しているからです」とSafeDepの研究者は指摘しています。「防御側は今後、ネットワーク上の異常ではなく、アプリケーションプロトコルレベルまで踏み込んで行動上の異常を識別することが求められます。」
MiasmaワームはC2として3つの独立したGitHubコミット検索チャネルを使用しており、それぞれ異なる検索文字列と目的を持っています。
その一つ「DontRevokeOrItGoesBoom」は、攻撃者が管理するパーソナルアクセストークン(PAT)を発見し、認証情報などの機密データを窃取します。これらのPATはコミットメッセージ内にAES-256-CBC方式で暗号化されています。
2つ目の「TheBeautifulSandsOfTime」は、即時コマンド実行用のJavaScriptを配信します。起動時に一度チェックされ、検証後にペイロードをeval()に渡してランタイム上で実行します。
そして「firedalazer」は、常駐モニター用Pythonスクリプトのダウンロードリンクを配信します。
3つすべてはデフォルトで認証なしに動作し、GitHubの公開コミット検索APIを利用しています。また、それぞれ異なる検証・復号キーを使用しているため、1つが侵害されても残りの2つが自動的に危険にさらされることはありません。®