64
MITがApple M1の脆弱性を発見、PACMAN攻撃のデモを公開(更新)

りんご

(画像提供:Max Tech/YouTube)

AppleのM1は高速で電力効率が圧倒的に高いが、他のCPUと同様に、完璧ではない。MITコンピュータサイエンス&人工知能研究所(CSAIL)の科学者らは、新しいPACMAN技術を使用してデータを盗むことで、Apple M1シリーズチップのハードウェア脆弱性を悪用する新しい攻撃手法を発表した。研究チームは、この攻撃のデモチップとしてApple M1プロセッサを使用し、他のArmプロセッサでは再現しなかったと述べている。研究者らは、この攻撃は潜在的にコアオペレーティングシステムカーネルにアクセスできるため、攻撃者はソフトウェアとハ​​ードウェアの攻撃を組み合わせてシステムを完全に制御できると主張している。ただし、攻撃のソフトウェア部分は既存のメモリ破損バグを利用して動作するため、すべてのセキュリティを回避できる万能薬ではない。

注目すべきは、研究者らがTom's Hardwareに対し、このエクスプロイトはマシンへの物理的なアクセスを必要としないため、リモートから悪用可能であると述べている点だ。研究者らによると、M1のハードウェア脆弱性はソフトウェアで修正することはできず、MITチームは、この脆弱性が将来のアーキテクチャで緩和されなければ、将来のArmモバイルデバイス、さらには将来のArmデスクトップPCにも影響を与える可能性があると考えている。「投機的実行を用いてポインタ認証で署名されたポインタを評価・操作するチップ(そしてネストされた予測ミスを積極的に処理するチップ)は、PACMANの脆弱性を持つ可能性がある」と、MITチームの研究者であるジョセフ・ラヴィチャンドラン氏は述べている。つまり、QualcommやSamsungなど、ポインタ認証をサポートする他のArmベンダーのチップにも影響が及ぶ可能性があるが、これらのチップはまだテストされていない。 

この攻撃は、Armのポインタ認証機能を標的とし、チップの投機的実行エンジンに対するサイドチャネル攻撃を仕掛けるものです。ポインタ認証は通常、ポインタ認証コード(PAC)と呼ばれる暗号署名を用いてソフトウェアを検証し、ソフトウェアの脆弱性を介したメモリへの悪意ある攻撃を防ぐために用いられます。こうしたソフトウェア攻撃は通常、バッファオーバーフローなどのメモリ破損を悪用してプログラムを完全に制御する手法で構成されます。そのため、メモリの読み書きが可能な既存のソフトウェアバグが利用されます。  

M1

(画像提供:MIT CSAIL)

PACMANの手法は、SpectreやMeltdownで見られるような投機的実行攻撃を用いてPACの値を「推測」し、マイクロアーキテクチャのサイドチャネルを介してPACの検証結果を漏洩するというものです。念のため言っておきますが、サイドチャネル攻撃は、システムに対する操作の二次的な影響を観察または悪用することでデータ窃取を可能にします。これにより、研究者たちは正しいPAC値を見つけることができ、ソフトウェアの脆弱性に対する保護を回避できます。ただし、この手法が機能するには、ソフトウェアに既存のメモリ破損バグが存在する必要があります。「PACMANは、ポインタ認証によって保護されている既存のバグを攻撃に利用し、正しいPACを見つけることで、そのバグの真の潜在能力を解き放つことができるのです」と研究者は述べています。

研究者らは、PACMAN 攻撃は権限レベルを超えて機能し、「PA 対応のオペレーティング システム カーネルを攻撃する可能性があることを示唆している」と述べています。

データ窃取速度(つまり、データがどれだけ速く盗まれるか)について尋ねられたチームは、Tom's Hardwareに対し、「この攻撃によるデータ窃取は、使用されるガジェットの種類に大きく依存するため、一概には言えません。私たちの概念実証エクスプロイトでは、PAC推測1回あたり2.69ミリ秒(最悪の場合、ポインタ1つあたり2.94分)かかります。完全に統合されたエンドツーエンド攻撃では、これより長くなる可能性があります」と回答しました。

研究者らは、PACMAN攻撃に対する防御策として3つの方法を提案している。1つは、ハードウェアまたはソフトウェアを改変し、PAC検証結果が投機的実行プロセスで使用されないようにすることだ。しかし、研究者らはこのアプローチはパフォーマンスに重大なペナルティをもたらす可能性があると警告している。もう1つの提案は、既に開発されたSpectre対策技術をPACMANに適用することだ。最後に、メモリ破損の脆弱性にパッチを適用することでも、攻撃を阻止できる可能性がある。   

M1

(画像提供:MIT CSAIL)

このレポートには、チームによる Apple M1 プロセッサのメモリ階層のリバースエンジニアリングについても記載されており、これにより、チップのアーキテクチャに関するこれまで明らかにされていなかった多くの詳細が明らかになった。

MITチームは、全米科学財団(NSF)と空軍科学研究局(AFOSR)から一部資金提供を受けています。MIT CSAILチームは、6月18日に開催される国際コンピュータアーキテクチャシンポジウムにおいて、「PACMAN:投機的実行によるARMポインタ認証への攻撃」と題した論文を発表し、新たな攻撃手法の概要を説明します。

チームは数ヶ月前にAppleに脆弱性を開示しており、責任ある情報開示に努めています。ただし、CVE(Common Vulnerabilities and Exposures)番号はまだ申請していませんが、近日中に申請する予定です。

編集 — Appleの広報担当者がこの件に関して声明を発表しました。

この概念実証によってこれらの手法への理解が深まるため、研究者の皆様のご協力に感謝申し上げます。当社の分析と研究者の皆様から提供された詳細情報に基づき、この問題はユーザーの皆様に直ちにリスクをもたらすものではなく、オペレーティングシステムのセキュリティ保護を単独で回避するには不十分であると結論付けました。

Appleの声明では、この脆弱性は「それ自体」では脅威ではないと指摘されていますが、これが攻撃のハードウェアコンポーネントを指しているのか、ソフトウェアコンポーネントを指しているのかは不明です。この攻撃はハードウェアとソフトウェアの脆弱性の組み合わせを明確に利用しているため、声明の明確化を求めています。

2022 年 6 月 10 日午前 8 時 10 分 (太平洋時間) 更新: MIT チームからの追加の詳細が追加されました。この脆弱性が他の Arm チップに存在することは証明されていないとのことです。 

Tom's Hardware の最高のニュースと詳細なレビューをあなたの受信箱に直接お届けします。

ポール・アルコーンはTom's Hardware USの編集長です。CPU、ストレージ、エンタープライズハードウェアに関するニュースやレビューも執筆しています。