概要
CorunaはCryptoWatersとも呼ばれる国家レベルの攻撃能力を備えたiOS脆弱性エクスプロイトツールキット。5つの完全なエクスプロイトチェーンと合計23のエクスプロイトを含み、iOS 13.0〜17.2.1の全iPhoneデバイスを攻撃対象とし、arm64・arm64eアーキテクチャに対応する。
当初は商用監視ベンダーの顧客による標的型攻撃に利用され、その後国家レベルの脅威組織による地政学的攻撃に転用され、最終的にはサイバー犯罪集団による大規模な暗号通貨窃取攻撃にまで拡散した。
拡散の時系列
2024年1月22日 — AppleがiOS 17.3でCVE-2024-23222を修正。野外悪用は当時未公表。
Appleは脆弱性修正時に "actively exploited in the wild" の文言を付記するかどうかを独自基準で判断しており、開示のタイミングを巡って研究者コミュニティから批判を受けることがある。CVE-2024-23222はWebKitの型混乱(Type Confusion)に起因するRCEで、修正から約1年後にCorunaの中核エクスプロイトとして使用されていたことが判明した。 - Apple Security Release Notes — iOS 17.3 - CVE-2024-23222 NVD詳細
2025年2月(第一段階:商業監視) — GTIGが商業監視企業クライアントのiOSエクスプロイトチェーン部分コードを初捕捉。独自難読化技術を持つJavaScriptフレームワークに統合されており、Corunaの最初の野外事例。同時期にiVerifyも同フレームワークを観測し「CryptoWaters」と命名。フィンガープリントモジュールにより標的特性に一致するデバイスにのみ投下、中核脆弱性はCVE-2024-23222、完全なPAC回避・権限昇格機能を伴う。
「商業監視ベンダーのクライアント」という表現はNSO Group(Pegasus)・Intellexa(Predator)・Candiru等のスパイウェア企業が政府機関・情報機関に販売した攻撃能力を指す。GTIGはこれらベンダーをCSV(Commercial Surveillance Vendor)と定義し継続的に追跡している。 - Google TAG: Commercial Surveillance Vendors - Citizen Lab: Commercial Spyware Overview
2025年夏(第二段階:国家的利用) — GTIGとCERT-UAの共同観測により、ロシア系スパイ組織UNC6353がウクライナユーザーへのウォータリングホール攻撃にCorunaを使用していることを確認。ウクライナ国内の産業・小売・ECサイトに侵入し、隠しiFrameで cdn.uacounter[.]com/stat[.]html をロード、国内の特定iPhoneユーザーにのみ投下。この段階でCVE-2022-48503・CVE-2023-43000が新たに追加された。
UNC(Uncategorized)はMandiant/GTIGの脅威アクター命名規則で、APTへの昇格前の観測段階のグループを指す。CERT-UAはロシアによるウクライナへのサイバー作戦を継続的に公開している機関で、同時期にGAMMALOAD・JAWSAP等の複数のロシア系キャンペーンも追跡している。ウォータリングホール攻撃(水飲み場攻撃)は標的が頻繁にアクセスする正規サイトを改ざんして待ち伏せする手法で、標的に直接マルウェアを送る必要がないため検知が困難。 - Mandiant: DebUNCing Attribution — How Mandiant Tracks Uncategorized Threat Actors - CERT-UA 公式アドバイザリ - MITRE ATT&CK: Watering Hole (T1189)
2025年末〜2026年初頭(第三段階:犯罪集団への拡散) — UNC6691主導のもと、偽の暗号通貨取引所・エアドロップページを装ったサイトでCorunaの大規模悪用が世界的に確認。地理的制限なしに脆弱なデバイスへ無差別投下。
エアドロップ詐欺(偽の無料トークン配布)はiOSユーザーを暗号通貨フィッシングサイトへ誘導する手法として2022年頃から急増している。「iOSデバイス専用」という表示でAndroidユーザーを除外し、攻撃効率を高めている点が特徴的。国家級ツールが経済犯罪に転用された事例としては、北朝鮮系Lazarus Groupによる暗号通貨窃取との類似性も指摘されている。 - Chainalysis: Crypto Crime Reports - FBI: IC3 Annual Reports
攻撃チェーン詳細
(一)初期アクセス:ウォータリングホールと悪意のあるページ
正規サイトへのiFrame埋め込みか偽フィッシングサイトの構築により初期アクセスを実現。HTMLローダーページ(/static/analytics.html、/group.html等)にSafariでアクセスすると後続フローが自動起動。標的制限なし、脆弱なデバイスであれば繰り返し感染可能。
(二)環境フィンガープリント検証
ロード後にJSフィンガープリントモジュールが実行され、以下の条件が全て一致する場合のみ攻撃を継続する:
- iOS + Safariであることを確認(
Navigator.platform・navigator.userAgent・WebSQL等) - ロックダウンモードまたはプライベートブラウズが有効なら即時退出
/usr/libexec/corelliumdの存在確認でCorellium仮想環境を検知・退出- iOSバージョン・チップアーキテクチャを収集し対応エクスプロイトチェーンとマッチング
iOS 16で導入されたロックダウンモードはJavaScriptのJITコンパイルを無効化しWebKitの攻撃面を大幅削減する。Corunaが明示的に検知・退出対象としていることはその防御効果を裏付けている。 - Apple: About Lockdown Mode
(三)WebKit RCE:初期突破
iOSバージョンに対応するWebKit RCEエクスプロイトを自動ロードし、Safari WebContentプロセス内で任意コード実行を実現。iOS 13〜17.2.1の全バージョンをカバーする専用エクスプロイトを搭載。
XOR難読化により静的検出を回避。例:
[16, 22, 0, 69, 22, 17, 23, 12, 6, 17].map(x => { return String.fromCharCode(x ^ 101); }).join("") // => "use strict" i.p1 = (1111970405 ^ 1111966034); // => 0x1337
エクスプロイト失敗時はクラッシュログを自動消去して攻撃痕跡を残さない。
(四)PACバイパス + サンドボックス脱出
WebKit RCE達成後、対応バージョンのPACバイパスモジュールを自動ロードしAppleのユーザーモードコード署名の緩和策を突破。6つの専用モジュールがiOS 13〜17.2.1に対応。続いてサンドボックス脱出脆弱性でWebContentプロセスのサンドボックス制限を突破し、システムレベルのアクセス権限を取得する。
PAC(Pointer Authentication Codes)はARMv8.3-Aのハードウェアレベルのポインタ整合性検証機能。Appleは独自のQARMAベース実装を採用。攻撃者はPACキー漏洩やJOP(Jump-Oriented Programming)で回避する。 - ARM: Pointer Authentication in AArch64 Linux
(五)LPE:Root権限取得
カーネルエクスプロイトをロードし一般ユーザー権限からRoot権限へ昇格。PPL(ページ保護レベル)バイパスモジュールでAppleのカーネルレベルメモリ保護機構を突破。com.apple.WebKit.WebContent・powerd・panic関連のクラッシュログを能動的にスキャン・消去して隠蔽性を確保。
PPL(Page Protection Layer)はiOS 13で導入されたApple独自のカーネルセキュリティ機構。ページテーブルエントリの書き込みを専用PPL実行コンテキストのみに制限し、カーネルR/Wプリミティブを持つ攻撃者がコード実行へ到達することを阻む。CorunaのSparrow(CVE-2024-23225)とRocket(CVE-2024-23296)はPPLを直接標的にした数少ない公開エクスプロイトの一つ。 - Project Zero: The iOS Kernel Security Model (2022)
(六)多段階インプラントのロード:持続化
3段階のインプラントを順次ロード。全プロセスはシステムネイティブプロセスへの注入で実行され、独立した悪意プロセスが存在しないため通常のプロセス検出を回避する。
- 第二段階 —
SamplePayload.dylibをpowerdへ注入。C2との初期通信・設定取得・第三段階ロードを担当 - 第三段階(PLASMAGRID) —
CorePayload.dylibをlocationdへ注入。C2通信・モジュール管理・データ窃取・ホットアップデートを統括 - 基本モジュール —
imagentへSMS通信モジュール(sms.js)、SpringBoardへデスクトップ操作モジュール(helion.js)を注入
C2通信:imagent が主チャネルを管理し定期ハートビート通信。SMS/iMessageをバックアップに確保。DGA(種:lazarus、15文字・.xyzサフィックス)でバックアップC2ドメインを生成、Google Public DNS(8.8.8.8)で検証。
(七)機能モジュールの動的ロード
CorePayloadがC2からコンフィグを取得し、インストール済みアプリをスキャンして対応する悪意モジュールを動的ロード。全モジュールは未署名dylib形式でプロセス注入により動作し、アプリ本体の改変は不要。
(八)データ窃取
- MetaMask・imToken・Trust Wallet・TokenPocket等20以上のウォレットのシードフレーズ・秘密鍵を窃取
- カメラロール全画像をアップロード、QRコードをデコードして暗号通貨アドレス・秘密鍵を抽出
- Appleメモ全内容をBIP39単語リスト・「バックアップフレーズ」・「銀行口座」等のキーワードでスキャン・抽出
BIP39はHDウォレットのシードフレーズを12〜24単語で表現する標準規格(2048語のリスト)。このリストをキーワード辞書として使用することでメモアプリやスクリーンショット内のシードフレーズを高精度で検出できる。 - BIP39 仕様
- WhatsApp等ソーシャルアプリの通信データをハイジャックしチャット履歴内の機密情報を窃取
- システムバージョン・アプリリスト・ネットワーク環境等をリアルタイム収集し定期的にC2へ送信
脆弱性利用マトリクス(23エクスプロイト)
| 脆弱性タイプ | 内部コード | 対象iOS範囲 | 修正バージョン | CVE |
|---|---|---|---|---|
| WebContent RCE | buffout | 13 → 15.1.1 | 15.2 | CVE-2021-30952 |
| WebContent RCE | jacurutu | 15.2 → 15.5 | 15.6 | CVE-2022-48503 |
| WebContent RCE | bluebird | 15.6 → 16.1.2 | 16.2 | なし |
| WebContent RCE | terrorbird | 16.2 → 16.5.1 | 16.6 | CVE-2023-43000 |
| WebContent RCE | cassowary | 16.6 → 17.2.1 | 16.7.5・17.3 | CVE-2024-23222 |
| WebContent PACバイパス | breezy | 13 → 14.x | — | なし |
| WebContent PACバイパス | breezy15 | 15 → 16.2 | — | なし |
| WebContent PACバイパス | seedbell | 16.3 → 16.5.1 | — | なし |
| WebContent PACバイパス | seedbell_16_6 | 16.6 → 16.7.12 | — | なし |
| WebContent PACバイパス | seedbell_17 | 17 → 17.2.1 | — | なし |
| サンドボックス脱出 | IronLoader | 16.0 → 16.3.1(≤A12) | 15.7.8・16.5 | CVE-2023-32409 |
| サンドボックス脱出 | NeuronLoader | 16.4.0 → 16.6.1(A13-A16) | 17.0 | なし |
| 権限昇格 | Neutron | 13.x | 14.2 | CVE-2020-27932 |
| 権限昇格(情報漏洩) | Dynamo | 13.x | 14.2 | CVE-2020-27950 |
| 権限昇格 | Pendulum | 14 → 14.4.x | 14.7 | なし |
| 権限昇格 | Photon | 14.5 → 15.7.6 | 15.7.7・16.5.1 | CVE-2023-32434 |
| 権限昇格 | Parallax | 16.4 → 16.7 | 17.0 | CVE-2023-41974 |
| 権限昇格 | Gruber | 15.2 → 17.2.1 | 16.7.6・17.3 | なし |
| PPLバイパス | Quark | 13.x | 14.5 | なし |
| PPLバイパス | Gallium | 14.x | 15.7.8・16.6 | CVE-2023-38606 |
| PPLバイパス | Carbone | 15.0 → 16.7.6 | 17.0 | なし |
| PPLバイパス | Sparrow | 17.0 → 17.3 | 16.7.6・17.4 | CVE-2024-23225 |
| PPLバイパス | Rocket | 17.1 → 17.4 | 16.7.8・17.5 | CVE-2024-23296 |
Photon(CVE-2023-32434)とGallium(CVE-2023-38606)はKasperskyが2023年に発見したOperation Triangulationでも使用された脆弱性と重複する。高度脅威組織間でのエクスプロイト技術の流通・再利用を示す証拠。 - Kaspersky: Operation Triangulation (2023)