PaPoo
cover
technews
Author
technews
世界の技術ニュースをリアルタイムでキャッチし、日本語でわかりやすく発信。AI・半導体・スタートアップから規制動向まで、グローバルテックシーンの「今」をお届けします。

Apple M5で「公開初」のmacOS kernel exploitが出た話:MIE時代でも突破は可能だった

キーポイント

まず何が起きたのか

今回の話をひとことで言うと、​​「Appleが何年もかけて強化してきた防御を、実機M5上で突破するmacOS kernel exploitが公開された」​というニュースです。

元記事の著者Califによれば、Apple ParkでAppleに対して脆弱性報告を行い、その内容はM5シリコン上でMIEを生き残る、初のpublic macOS kernel memory corruption exploitだったとのこと。
しかも、見つかったバグを起点に数日で動くexploitを作ったとされています。ここ、かなりインパクトがあります。セキュリティの世界では「防御が強いほど攻撃側が大変になる」のが普通ですが、そこを短期間で抜けた、という話だからです。

そもそも memory corruption って何?

専門用語をやさしく言うと、​メモリの扱いを間違えて、プログラムが本来触ってはいけない場所を書き換えたり読んだりしてしまうバグです。

たとえば:

こうした事故は、普通は「ただ落ちる」だけで済むこともあります。
でも悪用されると、​権限昇格任意コード実行につながることがあります。だから昔から、memory corruption は攻撃者にとって非常に重要なバグの種類です。

AppleのMIEはそんなに強いのか

記事で何度も出てくる MIE (Memory Integrity Enforcement) は、AppleがM5とA19向けに打ち出した、​ハードウェア支援のメモリ安全機構です。土台にあるのは ARM MTE (Memory Tagging Extension) で、ざっくり言うと、​メモリに「タグ」を付けて、間違った場所を触ると検出しやすくする仕組みです。

かなり乱暴にたとえるなら、
「各メモリ領域に見えない住所ラベルを貼っておいて、違うラベルの場所を触ると弾く」
みたいなものです。

Appleはこれを大々的なセキュリティ機能として売り出していて、記事では

と説明されています。

個人的には、ここが一番おもしろいです。
Appleはソフトウェアだけじゃなくハードウェアまで巻き込んで防御を設計しているので、普通の脆弱性対策よりずっと厄介です。だからこそ、そこを実際に突破したという事実は、攻撃と防御のいたちごっこがまた一段階進んだ感じがあります。

今回のexploitは何をしたのか

元記事によると、このexploitは data-only kernel local privilege escalation chain です。

これを簡単に言うと、

という意味です。

さらに、攻撃は

とされています。
つまり、特殊な裏口や謎の非公開機能に頼るのではなく、​普通の使い方に見える操作から攻撃が成立したということです。これは地味に怖いです。防御側からすると、監視や検知が難しくなるからです。

どれくらい新しい話なのか

Califは、この件を​「To the best of our knowledge, first public macOS kernel exploit on MIE hardware」​だとしています。
つまり、少なくとも彼らの認識では、​MIE有効なM5ハードウェア上で公開された初のmacOS kernel exploitです。

もちろん、ここは「publicなもの」という条件が大事です。
世の中には非公開の研究や、どこかの組織が持っている技術があるかもしれません。なので「絶対に世界初」とまでは言い切れませんが、​公開された情報としてはかなり歴史的だと思ってよさそうです。

どうしてそんなに早く作れたのか

記事では、攻撃チェーンの構築に

と書かれています。

そして重要なのが、​Mythos Preview の協力です。記事の説明によると、Mythos Preview は「あるクラスの問題の攻撃方法を学ぶと、そのクラスのほとんどの問題に一般化できる」ような強力なモデルだとされています。
ただし、MIEのような新しい強力な mitigation を自動的に突破するのは難しく、そこは人間の専門知識が必要だった、と説明しています。

image_0002.jpeg

このあたり、かなり示唆的です。
私の感想としては、​AIだけで全部できるわけではないが、AIと熟練者を組み合わせると速度が一気に上がる、という現実を見せつけた話に見えます。セキュリティ研究の生産性が、完全に別物になりつつあるのかもしれません。

Appleの防御は無意味だったのか?

そこは、そう単純ではないと思います。

記事自身も、​MIEは「hacker-proof」ではないと明言しています。
つまり、MIEは「絶対に破れない城」ではなく、​攻撃コストを大幅に上げる装置です。

これはセキュリティの基本でもあります。
現実には「完全な防御」は難しいので、次のような方向で守ります。

Appleはそのために、ハードウェアとソフトウェアを一体で設計してきたわけです。
それでも突破された。ここはAppleの敗北というより、​​「防御の限界を現実に示した研究」​と見るのがフェアだと思います。

でも、なぜこの話が重要なのか

理由は大きく3つあります。

1. 高性能な防御でも、バグがあれば突破されうる

どんなに強い防御でも、脆弱性があれば終わりではありません。
しかも今回は、​kernel という最重要部分です。OSの心臓部がやられると、影響は非常に大きいです。

2. AI時代の脆弱性発見と攻撃開発が速すぎる

記事は、AIが脆弱性探索やexploit開発に役立つことを強く示しています。
ここは少しゾッとするポイントでもあります。攻撃者側にAIが入ると、これまで人手と時間が必要だった工程が短縮される可能性があるからです。

3. 「少人数でも大企業級のことができる」時代感

記事のエピローグでは、Appleが何十億ドルもかけた“office”を見て、こちらはもっと少ない予算だと語っています。
この対比、かなり象徴的です。

要するに、​大きな会社だけが強い時代ではなくなりつつある、というメッセージです。
「小さくても武器があれば戦える」という感覚は、セキュリティ研究だけでなく、AIがもたらす産業構造の変化としても興味深いです。個人的には、かなり時代の空気を感じる部分でした。

とはいえ、まだ謎は多い

元記事は、​Appleが修正したあとに55ページの技術レポートを公開するとしています。
なので現時点では、

といった核心は伏せられています。

これは健全な姿勢だと思います。
攻撃手法を先に公開しすぎると、悪用側にもヒントを与えてしまうので、​修正が入るまで待つのは妥当です。

まとめると

今回の記事は、単なる「Macに脆弱性があった」という話ではありません。
むしろ本質は、

この4点にあります。

技術的にはかなり重い話ですが、読み物としても面白いです。
「防御は進化した。でも攻撃も進化している」
その現実を、かなり生々しく見せるニュースだったと思います。


参考: First public macOS kernel memory corruption exploit on Apple M5

同じ著者の記事