セキュリティ研究者は、分散AIやハイパフォーマンスコンピューティングに広く使われているオープンソースフレームワーク、Rayの既知の欠陥を悪用する、急速に拡大する世界規模のキャンペーンを特定した。
Oligoのセキュリティ研究者は、2025年11月初旬にこの活動を初めて検知した。攻撃者がGitLabのリポジトリを通じて地域ごとに異なるマルウェアを配布していることを発見したためだ。
この新たな攻撃の波は、脅威アクターの高度化と運用面での俊敏性が増していることを示しており、初めて観測された当初のShadowRayの活動から大きく進化している。最初に観測されたのは2024年3月だった。
攻撃の規模
研究者は、影響範囲の大きさも指摘している。「現在、インターネットに公開されたRayサーバーは23万台を超えている。ShadowRayを初めて発見した当時に確認した数千台とは対照的だ」という。
今回の攻撃「ShadowRay 2.0」は、脆弱性CVE-2023-48022を悪用して大規模なAIクラスターを侵害し、密かに暗号資産マイニング用のインフラへと転用する。
このキャンペーンの背後にいる脅威グループは、IronErn440という名称で活動しており、Rayの正規のオーケストレーション機能を、大規模かつ自己拡散型の攻撃に利用する仕組みへと変貌させた。
GitLabが11月5日に悪意あるリポジトリを削除すると、攻撃者はすぐに活動をGitHubへ移行し、キャンペーンを中断することなく継続した。
ShadowRay 2.0攻撃の仕組み
このキャンペーンは、偵察から始まる複数の連携した段階を経て進行する。
脅威アクターはinteract.shという帯域外インタラクションプラットフォームを使い、侵入検知システムを作動させかねない目立つスキャンを行わずに、脆弱なRayインスタンスを特定する。
次に攻撃者は、Rayの認証不要のJobs APIを標的にする。これにより、公開されたRayダッシュボードからコールバックを発生させ、どのサーバーを侵害できるか確認する。
脆弱なサーバーが特定されると、Rayのオーケストレーション機構を通じて直接送信された悪意あるタスクを受け取る。
これらのタスクには、クラスターのリソースを列挙し、悪意あるワークロードに計算能力を割り当て、正規のシステムプロセスに紛れ込むよう設計された暗号資産マイナーを展開するPythonスクリプトが含まれる。
特筆すべきは、マイナーが通常、利用可能なCPUおよびGPUリソースの約60%を使用する点だ。これは、マイニング効率を最大化しながら、リソース急増を監視する管理者に検知されるリスクを下げるために意図的に設定された閾値である。
攻撃者はRayのNodeAffinitySchedulingStrategyを使い、クラスター全体にマルウェアを拡散させる。
研究者が確認したペイロードの一例では、インストールスクリプトをダウンロードして実行し、稼働中のノードを列挙したうえで、各システムに追加の悪意あるコンポーネントを展開する。
永続化は、cronジョブ、systemdサービスの乗っ取り、そして特権アカウントへのSSH鍵の注入によって実現される。
キャンペーンにおけるステルス技術
ShadowRay 2.0は、高度な回避技術を用いている。悪意あるプロセスの名前を、[kworker/0:0] のような正規のカーネルワーカーやDNS関連サービスに似せ、存在を隠している。
攻撃者はクリプトジャッキングをめぐる攻防も仕掛けており、同じホスト上にいる他のマイナーを検出して終了させるスクリプトをインストールする。
さらに、ホストファイルを変更し、競合相手が侵害されたインフラを取り戻せないようiptablesルールを適用することで、競合するマイニングプールを遮断する。
この作戦には、地域に応じたカスタマイズも含まれる。
中国の被害者には、現地のネットワーク制御を回避するよう調整されたプロキシ機構を通じてペイロードが届けられる。
また、ip-api[.]comなどのサービスを介した位置情報の確認により、攻撃者は侵害されたサーバーの所在地に応じて感染スクリプトを調整できる。
この適応レベルは、Infrastructure as Code(IaC)の原則に影響を受けた成熟した運用戦略を示唆している。そこでは、被害者のマシンに再デプロイするのではなく、GitLabへの段階的なコミットを通じてペイロードの更新を管理する。
ShadowRay型の脅威を阻止する主な対策
ShadowRay 2.0や同様の攻撃から防御するには、組織はAIインフラの保護に向けて、多層的かつプロアクティブなアプローチを取る必要がある。
Rayクラスターは広範な権限と高い計算能力を備えて運用されることが多いため、設定ミス1つでも脅威アクターにとって大きな侵入口になり得る。
- Rayのデプロイメントにパッチを適用するには、修正版へ更新し、ダッシュボードとAPIの認証を有効にし、使用していないコンポーネントを無効化する。
- Rayエンドポイントの公開範囲を制限するには、ファイアウォールまたはゼロトラストのアクセス制御の背後に配置し、可能な限りパブリックインターネットからのアクセスを排除する。
- CI/CDと計算ノードを強化するには、最小権限の権限、RBAC、コンテナ分離を適用し、横方向の移動と権限の悪用を抑える。
- クラスターの挙動を継続的に監視する。CPU/GPUの異常、疑わしいサブプロセスの実行、承認されていないcron/systemdの変更、予期しないSSH鍵の追加などを対象とする。
- ネットワークの外向き通信を制限することで、RayノードやCI環境からのマイナー接続、コマンドアンドコントロール通信、データの持ち出しを遮断する。
- 開発およびリポジトリのワークフローを保護するため、署名付きコミットやブランチ保護を導入し、サプライチェーンポイズニングを防ぐ対策を講じる。
- 一時的かつレジリエントなインフラ運用を採用する。例えば、計算ノードを自動的に再イメージ化し、認証情報を定期的にローテーションすることで、攻撃者が永続化できる期間を短縮する。
オーケストレーションツール、開発ワークフロー、計算インフラの周囲に防御の層を構築すれば、1つの設定ミスがシステム全体の障害点になるのを防げる。
AIインフラで高まるセキュリティリスク
ShadowRay 2.0は、AIインフラとサイバー犯罪の融合が進んでいることを示している。
攻撃者は1つの欠陥を悪用するだけで、強力な分散コンピューティングクラスターを掌握し、大規模に不正な活動へ転用できる。
AIワークロードの複雑さとリソース消費が増し続ける中、Rayのようなオーケストレーションツールを保護することは、広範な悪用を防ぎ、より広いエコシステムを守るうえで不可欠だ。
こうした課題を受け、組織はゼロトラストを導入し、AI環境全体における暗黙の信頼を減らそうとしている。

