Latest evidence-based health information
Airpods

Apple Silicon Macの修正不可能なセキュリティ欠陥により暗号化が破られるc

Apple Silicon Macの修正不可能なセキュリティ欠陥により暗号化が破られるc
Apple Silicon Macの修正不可能なセキュリティ欠陥により暗号化が破られるc
Apple Silicon Macにパッチ適用不可能なセキュリティ欠陥 | カラフルな壁紙が混沌としたMacBook

大学の研究者らは、Apple Silicon Mac に修正不可能なセキュリティ上の欠陥を発見した。この欠陥により、攻撃者は暗号化を破り、暗号鍵にアクセスできるようになる。

この欠陥は M1、M2、M3 チップに存在し、チップのアーキテクチャの一部に欠陥があるため、Apple が現在のデバイスでこれを修正する方法はありません...

この欠陥はDMPと呼ばれるプロセスにある。

この欠陥について説明する前に、今日の最先端のチップで使用されている「データメモリ依存型プリフェッチャー(DMP)」と呼ばれるプロセスを理解する必要があります。ArsTechnicaこの概念を以下のように説明しています。

脅威は、チップのデータメモリ依存型プリフェッチャーに存在します。これは、実行中のコードが近い将来にアクセスする可能性のあるデータのメモリアドレスを予測するハードウェア最適化機能です。DMP(略称)は、実際に必要になる前にCPUキャッシュに内容をロードすることで、現代のコンピューティングにおける一般的なボトルネックであるメインメモリとCPU間のレイテンシを削減します。DMPは、MシリーズチップとIntelの第13世代Raptor Lakeマイクロアーキテクチャにのみ見られる比較的新しい現象ですが、従来のプリフェッチャーは長年にわたり一般的に使用されています。

この問題は DMP のバグにより発生します。

修正不可能なセキュリティ欠陥

6つの異なる大学の7人の研究者が協力して脆弱性を特定し、それを悪用できるアプリ「GoFetch」を作成した。

詳細はかなり技術的な話になりますが、簡単に言うと、チップに保存されたデータがメモリアドレスと誤認され、キャッシュされてしまうことがあります。悪意のあるアプリがこのエラーを繰り返し発生させると、時間の経過とともに鍵を解読できるようになります。

研究者たちはこれを次のように詳しく説明しています。

プリフェッチャーは通常、アクセスされたデータのアドレス(アクセスされたデータの値は無視)を参照し、将来的に有用となる可能性のあるアドレスを推測しようとします。この点でDMPは異なり、アドレスに加えてデータ値も用いて予測を行います(プリフェッチするアドレスを予測し、プリフェッチします)。特に、データ値がポインタのように見える場合、それは「アドレス」として扱われ(実際にはそうではありませんが)、この「アドレス」からデータがキャッシュに取り込まれます。このアドレスがキャッシュに到着したことは、キャッシュサイドチャネルを介してリークされるため、可視化されます。

私たちの攻撃はこの事実を悪用します。暗号鍵を直接漏洩することはできませんが、選択入力攻撃を用いて暗号化アルゴリズム内部の中間データを操作し、ポインターに見せかけることは可能です。するとDMPは、データ値がアドレスに「似ている」ことを認識し、この「アドレス」からデータをキャッシュに取り込みます。これにより「アドレス」が漏洩します。データ値がプリフェッチされること自体は問題ではありませんが、中間データがアドレスのように見えるという事実はキャッシュチャネルを介して可視化され、時間の経過とともに秘密鍵を漏洩させるのに十分です。

Apple SiliconでDMPの脆弱性が発見されたのは今回が初めてではありません。2022年には、別の研究チームが「Augury」と名付けた脆弱性を発見しました。

回避策は可能だが、パフォーマンスに影響が出る

研究者らは、この問題は修正できないため、Apple ができる最善のことは回避策を実装することだが、それによってパフォーマンスが大きく損なわれるだろうと述べている。

最も効果的な緩和策の一つである暗号文ブラインド化は好例です。ブラインド化は、機密性の高い値をメモリに格納/読み込みする前/後にマスクを追加/削除することで機能します。これにより、暗号アルゴリズムの内部状態が実質的にランダム化され、攻撃者による制御が阻止され、GoFetch攻撃が無効化されます。しかしながら、研究者らによると、この防御策はアルゴリズムに依存しており、コストがかかる場合が多く、Diffie-Hellman鍵交換など、場合によっては必要な計算リソースが2倍になる可能性もあります。

もう一つの防御策は、前述の効率コア(Icestormコアとも呼ばれる)で暗号プロセスを実行することです。これらのコアにはDMPは搭載されていません。一つの方法としては、すべての暗号コードをこれらのコアで実行することです。しかし、この防御策も理想的とは言えません。予告なしの変更によって効率コアにDMP機能が追加される可能性があるだけでなく、ここで暗号プロセスを実行すると、操作完了に必要な時間が大幅に増加する可能性があります。 

しかし、現実世界でのリスクは低い

この脆弱性を悪用するには、攻撃者はユーザーを騙して悪意のあるアプリをインストールさせる必要があり、署名されていない Mac アプリはデフォルトでブロックされます。

さらに、攻撃の実行にかかる時間は非常に長く、研究者が実施したテストでは 54 分から 10 時間の範囲に及ぶため、アプリを相当の時間実行する必要があることになります。

AppleはこれまでAugury DMPエクスプロイトに対する保護策を実装していない。これは、現実世界での攻撃の確率が非常に低いため、パフォーマンスへの影響が正当化されないためだと考えられる。研究者らは12月にAppleに調査結果を共有したが、おそらく同じ理由から、今のところ回避策は実装されていない。Appleは公式にコメントしていない。

長期的な解決策としては、Apple が将来のチップの設計において DMP 実装の脆弱性に対処することになるだろう。

Unsplash の Ali Mahmoudi による写真

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

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

Slanear

Health writer and researcher with expertise in evidence-based medicine and healthcare information.