「これまでで最も洗練された」iPhone攻撃チェーンは、4つのゼロデイ脆弱性を利用してゼロクリックエクスプロイトを作成c

「これまでで最も洗練された」iPhone攻撃チェーンは、4つのゼロデイ脆弱性を利用してゼロクリックエクスプロイトを作成c
「これまでで最も洗練された」iPhone攻撃チェーンは、4つのゼロデイ脆弱性を利用してゼロクリックエクスプロイトを作成c
Apple ゼロデイ脆弱性攻撃 スパイウェア セキュリティ iOS macOS パッチ 修正

2019年から2022年12月にかけて、iMessageの極めて高度な脆弱性が蔓延していました。この脆弱性を発見したKasperksyのセキュリティ研究者は、最終的にこの脆弱性を「Operation Triangulation(トライアンギュレーション作戦)」と名付けました。そして今、彼らは「これまで見た中で最も洗練された攻撃チェーン」について、これまでにわかっていることすべてを公開しました。

本日、カオス・コミュニケーション・コングレスにおいて、カスペルスキーのセキュリティ研究者であるボリス・ラリン氏、レオニード・ベズベルシェンコ氏、そしてゲオルギー・クチェリン氏が「オペレーション・トライアンギュレーション」に関するプレゼンテーションを行いました。これは、3人が高度なiMessage攻撃で「使用されたすべてのエクスプロイトと脆弱性の詳細を公開した」初めてのケースとなりました。

研究者らは本日、Kaspersky SecureList ブログでもその研究成果をすべて公開しました。

Pegasusの0クリックiMessageエクスプロイトは、「技術的に最も高度なエクスプロイトの一つ」と呼ばれています。そして、オペレーション・トライアンギュレーションも同様に恐ろしいレベルに達しているようです。ラリン氏、ベズバーシェンコ氏、そしてクチェリン氏は、「これは間違いなく、これまで目にした中で最も高度な攻撃チェーンだ」と述べています。

ゼロクリック iMessage エクスプロイトへのゼロデイ攻撃チェーン

この脆弱性は、2022年12月にiOS 16.2がリリースされるまで存在していました。

カスペルスキーのボリス・ラリン、レオニード・ベズヴェルシェンコ、ゲオルギー・クチェリン経由

被害者のデバイスのルート権限を取得するために使用される 4 つの 0-day 攻撃を含む、複雑な攻撃チェーンの全体を以下に示します。

  • 攻撃者は悪意のある iMessage 添付ファイルを送信しますが、アプリケーションはユーザーに何の兆候も示さずにそれを処理します。
  • この添付ファイルは、Apple独自の未公開TrueTypeフォント命令「ADJUST」に存在するリモートコード実行脆弱性(CVE-2023-41990)を悪用します。この命令は1990年代初頭から存在していましたが、パッチによって削除されました。
  • これは、リターン/ジャンプ指向プログラミングと NSExpression/NSPredicate クエリ言語で記述された複数のステージを使用し、JavaScriptCore ライブラリ環境にパッチを適用して、JavaScript で記述された権限昇格エクスプロイトを実行します。
  • このJavaScriptエクスプロイトは、完全に判読不能にし、サイズを最小限に抑えるために難読化されています。それでも約11,000行のコードで構成されており、主にJavaScriptCoreとカーネルメモリの解析と操作に使用されています。
  • これは、JavaScriptCore のデバッグ機能 DollarVM ($vm) を悪用して、スクリプトから JavaScriptCore のメモリを操作し、ネイティブ API 関数を実行する機能を獲得します。
  • これは、古い iPhone と新しい iPhone の両方をサポートするように設計されており、最近のモデルを悪用するためのポインタ認証コード (PAC) バイパスが含まれていました。
  • これは、XNU のメモリ マッピング システム コール (mach_make_memory_entry および vm_map) の整数オーバーフロー脆弱性 CVE-2023-32434 を悪用し、ユーザー レベルでデバイスの物理メモリ全体への読み取り/書き込みアクセスを取得します。
  • この脆弱性は、ハードウェアのメモリマップドI/O(MMIO)レジスタを使用してページ保護層(PPL)をバイパスします。この問題はCVE-2023-38606として軽減されました。
  • すべての脆弱性を悪用した後、JavaScript エクスプロイトは、スパイウェアの実行を含め、デバイスに対してあらゆる操作を実行できますが、攻撃者は次のことを選択しました。(a) IMAgent プロセスを起動し、デバイスからエクスプロイトの痕跡を消去するペイロードを挿入する。(b) Safari プロセスを非表示モードで実行し、次の段階の Web ページに転送する。
  • この Web ページには、被害者を検証するスクリプトが含まれており、チェックに合格すると、次の段階である Safari エクスプロイトを受け取ります。
  • Safari エクスプロイトは CVE-2023-32435 を使用してシェルコードを実行します。
  • このシェルコードは、Machオブジェクトファイル形式の別のカーネルエクスプロイトを実行します。これは、CVE-2023-32434およびCVE-2023-38606という同じ脆弱性を悪用します。このシェルコードもサイズと機能の面で巨大ですが、JavaScriptで記述されたカーネルエクスプロイトとは全く異なります。両者に共通するのは、前述の脆弱性の悪用に関連する特定の部分のみです。しかし、そのコードの大部分はカーネルメモリの解析と操作にも使用されています。また、エクスプロイト実行後の様々なユーティリティが含まれていますが、ほとんど使用されていません。
  • このエクスプロイトはルート権限を取得し、スパイウェアをロードする他の段階へと進みます。これらの段階については、以前の投稿で説明しました。

研究者らは、「この攻撃チェーンのあらゆる側面」をほぼリバースエンジニアリングしたと強調しており、2024年には各脆弱性とその悪用方法についてさらに詳しく説明した記事を公開する予定だ。

しかし興味深いことに、Larin 氏、Bezvershenko 氏、および Kucherin 氏は、CVE-2023-38606 に関してはまだ謎が残っており、その解決に協力してほしいと指摘しています。

具体的には、攻撃者が隠されたハードウェア機能についてどのようにして知ったのかは明らかではありません。

私たちが技術的な詳細を公開するのは、他の iOS セキュリティ研究者が私たちの調査結果を確認し、攻撃者がどのようにしてこのハードウェア機能を知ったのかという説明を導き出せるようにするためです。

結論として、Larin、Bezvershenko、および Kucherin は、「『秘匿によるセキュリティ』に依存するシステムは、真に安全になることは決してない」と述べています。

プロジェクトに貢献したい場合は、Kaspersky の投稿で技術的な詳細を確認できます。

havebin.com を Google ニュース フィードに追加します。 

FTC: 収益を生み出す自動アフィリエイトリンクを使用しています。詳細はこちら。