PR

ShadowRay 2.0、RayのCVE-2023-48022悪用GPU採掘ボットネット

Security

Source:https://thehackernews.com/2025/11/shadowray-20-exploits-unpatched-ray.html

スポンサーリンク

🛡 概要

オープンソースの分散AI基盤Rayに存在する認証欠如の重大欠陥(CVE-2023-48022, CVSS 9.8)が、自己増殖型の暗号資産マイニング(XMRig)ボットネット「ShadowRay 2.0」に悪用されています。攻撃者はRay Dashboardが提供する未認証のJob Submission API経由で任意コマンドを投入し、NVIDIA GPUを備えたクラスタの計算資源を乗っ取って採掘やDDoSに転用。GitHub/GitLabを経由したペイロード配布、リバースシェルによる遠隔操作、cronによる再感染などで持続化・横展開します。Rayは隔離ネットワーク前提の設計ですが、インターネット越しに公開されたクラスタが攻撃面を広げています。

🔍 技術詳細

攻撃はRay Dashboard(既定でポート8265)上の未認証エンドポイントに対し、ジョブ投入API(例:/api/jobs/)へ不正リクエストを送ることで開始されます。投入されるジョブはBashやPythonを用い、外部リポジトリ(GitHub/GitLab)からスクリプトやバイナリを取得・実行。Rayの正規オーケストレーション機能を反転利用して、ワーカー全体へ並列展開し、インターネット非公開ノードにも横展開します。取得したペイロードは、(1)XMRigによるMonero採掘の開始、(2)ジョブ投入機能を悪用した「スプレー&プレイ」型拡散で他の公開Rayダッシュボードへ感染拡大、(3)15分間隔のcronジョブで最新版のマルウェアを取り直して再感染・持続化、(4)リバースシェルで攻撃基盤へ接続して遠隔操作、を実行します。さらに、地域判定に基づく中国向け変種の配布、既存のマイナーをプロセス走査で停止して独占する手口、プロセス名をLinuxカーネルワーカ風に偽装するマスカレード、CPU使用率を約60%に抑えるステルス化などの回避策が観測されています。攻撃者はリポジトリやアカウントのテイクダウンに追随して新規アカウントを作成し運用を継続。公開ホストの探索には一般公開の検出ツールを用いた可能性があり、公開Rayサーバが多数露出している状況が確認されています。活動開始は2024年9月頃とみられます。

⚠ 影響

・GPUリソースの不正占有による推論/学習ジョブの遅延・失敗、クラウド費用の急増。
・DDoS用ボット化(TCP状態枯渇攻撃ツールの投入など)により、第三者への攻撃踏み台化と法的・信用リスク。
・社内東西トラフィック経由での横展開により、他業務ノード・研究基盤への波及。

🛠 対策

・公開遮断と最小暴露:Ray Dashboard/ジョブAPIはインターネットに公開しない(VPN/ゼロトラスト経由、IP許可リスト、SG/Firewallで8265/TCPの外向き開放禁止)。
・強制認証・プロキシ:リバースプロキシで認証/認可・TLS終端(mTLSやIdP連携)を追加。不要ならダッシュボード/ジョブ投入機能を無効化。
・ネットワーク分離:管理プレーンとデータプレーンをセグメント化。東西間はL3/L7で明示許可制。
・出口制御:GitHub/GitLab等への任意ダウンロードを制限し、マイニングプール(例:3333/TCP等)への外向き通信をブロック。
・ワークロード保護:コンテナ/ノードに最小権限(no root, read-only FS)、脆弱イメージの更新、秘密情報のハードコード禁止。
・監視とインシデント対応:AnyscaleのOpen Ports Checker等で誤公開を定期点検。IOC/行動検知をSOCに取り込み、感染時はネットワーク隔離→証拠保全→根絶(cron/持続化削除)→再構築の手順を標準化。

📌 SOC視点

・ネットワーク/プロキシ:外部からRay DashboardへのPOST /api/jobs* への大量・異常な試行、User-Agent不審、連続な2xx応答。外向きにgithub.com/gitlab.comへの頻回GET/clone、未知ドメインへのリバースシェル接続、マイニングプール(特に3333/TCP周辺)への長時間セッション。
・エンドポイント/EDR:xmrigの生成・実行、未知バイナリのGPU利用、kworker等に類似する偽装名プロセス、cronエントリの新規作成/改変、Bash/Python子プロセスがRay関連プロセス配下に連鎖するプロセスツリー。
・GPU/リソース監視:nvidia-smi等で継続的な高負荷が正規ジョブスケジュールと無関係に発生。
・DDoS兆候:特定外部宛のSYN未完了接続が急増するTCP状態枯渇パターン。
・ログ源:Rayのアクセス/ジョブ実行ログ、リバースプロキシ/WAF、EDR/監査ログ、DNS/フロー、スケジューラ(cron)ログ。

📈 MITRE ATT&CK

・TA0001 初期アクセス / T1190 公開アプリケーション悪用:未認証のRay Job APIへ不正投入。
・TA0002 実行 / T1059.004 Unixシェル、T1059.006 Python:Bash/Pythonペイロード実行。
・TA0003 永続化 / T1053.003 Cron:15分間隔で再取得・再感染。
・TA0005 防御回避 / T1036 マスカレード:プロセス名を正規風に偽装、負荷制御で目立たせない。
・TA0008 偵察 / T1595 アクティブスキャン:公開Rayの探索にOSSツールを使用。
・TA0008 発見 / T1057 プロセス探索:競合マイナーの検出と停止。
・TA0008 発見 / T1614.001 位置情報発見:地域(中国)判定による分岐。
・TA0009 収集/資源悪用 / T1496 リソースの不正利用:GPU/CPUでの採掘。
・TA0007 横移動 / T1072 ソフトウェア展開ツールの悪用:Rayのオーケストレーションで内部ノードへ展開。
・TA0011 C2 / T1105 侵入経路でのツール転送:GitHub/GitLabからのペイロード取得。
・TA0040 影響 / T1498.001 ネットワークDoS(直接型):TCP状態枯渇による攻撃。

🏢 組織規模別助言

・小規模(〜50名):まず公開停止。管理用にVPNを用意し、Firewallで8265/TCPを遮断。EDRでxmrig・不審cron検知ルールを標準適用。クラウドはセキュリティグループで外部公開を台帳化し、週次で見直し。
・中規模(50〜500名):リバースプロキシに認証(SAML/OIDC)とWAFを前段配置。Egress制御でコードホスティングとマイニングプールを許可制に。SOCでUEBAとフロー監視を組み合わせ、GPU使用率異常をSIEMに連携。
・大規模(500名〜):ゼロトラスト分離(mTLS/IDベース)とマイクロセグメンテーション。IaCで「Rayは外部公開禁止」をポリシー化し、継続的外部アタックサーフェス管理(EASM)で露出検知。インシデント対応演習に「暗号資産採掘/ボット化」を追加。

🔎 類似事例

・Kinsing/8220/WatchDogなど、公開ミドルウェアの設定不備やRCEを足掛かりにXMRigを展開する暗号資産採掘キャンペーン。
・Log4Shell(CVE-2021-44228)悪用後のマイニングボットネット化事例。
・CI/CDやMLOps基盤(例:誤公開のダッシュボード/エージェント)を踏み台にした横展開とリソース独占。

🧭 次の一手

・運用中のRayクラスタの公開有無を即時点検(外部からの到達、8265/TCP、未認証APIの有無)。
・リバースプロキシ経由の強制認証とFirewall許可リストを実装。
・SIEMに「POST /api/jobs 監視」「xmrig/cron改変検知」「3333/TCP外向き遮断アラート」を追加。
・感染兆候がある場合は速やかに隔離し、持続化(cron等)除去とクリーンビルドを実施。
・開発/MLチームへ『Rayは隔離ネットワーク前提』の設計原則を再周知し、公開防止のチェックリストを標準プロセスに組み込む。

Security
スポンサーリンク