Cybersecurity Newsは2月12日(現地時間)、「macOS Security Breach: CVE-2024-54531 PoC Published, Attackers Can Bypass KASLR」において、macOSの脆弱性「CVE-2024-54531」の概念実証(PoC: Proof of Concept)コードが公開されたと伝えた。

これは高麗大学のHyerean Jang氏、Taehun Kim氏、Youngjoo Shin氏が共同執筆した論文「(PDF) SysBumps: Exploiting Speculative Execution in System Calls for Breaking KASLR in macOS for Apple Silicon」により明らかになった。論文では攻撃手法を「SysBumps」と名付け、macOSのセキュリティ機能「kASLR」を回避できると指摘している。

  • macOS Security Breach: CVE-2024-54531 PoC Published、Attackers Can Bypass KASLR

    macOS Security Breach: CVE-2024-54531 PoC Published, Attackers Can Bypass KASLR

KASLRの回避

macOSのセキュリティ機能「kASLR」は、カーネルアドレス空間のレイアウトをランダム化することで侵害を困難にする保護機能。しかしながら、今回公開された攻撃手法「SysBumps」を用いると、カーネルベースを決定する有効なカーネルアドレスを特定できるとされる。

SysBumpsの攻撃手順の概要は次のとおり。

  • 悪用可能なシステムコールを特定し、ユーザーアドレス空間を指定して複数回呼び出し学習させる
  • TLB(Translation Lookaside Buffer)にエビクションセットを構築する(キャッシュから不要なデータを排除する)。なお、TLBの観察にprime+probe手法を使用するため、TLBは事前に解析しておく必要がある
  • カーネルアドレス(推定)を指定してシステムコールを呼び出す
  • レイテシンが所定のしきい値を超えるか確認し、カーネルアドレス空間に含まれるか検証する
  • 上記を繰り返し、カーネルベースアドレスを推定する

影響と対策

SysBumpsはApple Mシリーズの投機的実行を悪用する。研究者の実験により、平均96.28%の精度かつ3秒以内にkASLRを突破できることが明らかになった。実験に使用された概念実証コードは「GitHub - koreacsl/SysBumps」にて公開されている。

この脆弱性は2024年12月11日に公開された「macOS Sequoia 15.2」にて修正された。Apple Mシリーズを搭載したmacOSを利用しているユーザーは、影響を回避するためアップデートすることが推奨されている。

なお、研究者はこの攻撃手法が他の環境でも通用するかについて検証。Intel CPUのmacOS、Intel CPUのUbuntu Linux、Intel CPUのWindowsにて検証したが、いずれも攻撃には失敗したという。