Appleは、自社デバイスのほとんどに独自開発のAppleシリコンを搭載しているが、このAppleシリコンに関して、米国の研究グループが脆弱性を発見したとのことだ。
Augury : 公式サイト
- Appleシリコンに影響を与える脆弱性「Augury」が発見された
- この脆弱性は、Appleシリコンに実装されている「DMP」という機能を悪用したものだ
- ただし、現時点でAuguryにより漏洩するデータは、メモリのポインタのみであり、深刻度は低いと考えられている
イリノイ大学アーバナ・シャンペーン校のJose Rodrigo Sanchez Vicarte氏とワシントン大学のMichael Flanders氏が率いる研究グループが、この新たな脆弱性について説明している。「Augury」と名付けられたこの脆弱性は、M1チップ及びA14チップに影響があるとのことだ。
Appleシリコン脆弱性「Augury」の仕組み
Augury脆弱性の具体的な仕組みはこうだ。
Appleシリコンには、データメモリ依存プリフェッチャー(Data-Memory Dependent Prefetcher:DMP)が実装されているが、Auguryはこれを悪用する。
DMPは、メモリの内容全体を認識することでシステムパフォーマンスを向上させることを目的としている。これにより、必要になる前にデータをプリフェッチ(CPUがデータをあらかじめ高速なキャッシュメモリに読み出しておく機能)することでシステムパフォーマンスを向上させることができる。通常、メモリアクセスは制限され、システムセキュリティを強化するために読み取れる範囲がそれぞれに分かれて制限されているが、AppleのDMPはメモリポインタのセットを飛び越して、無関係のメモリアドレスにアクセスしてプリフェッチを試みることができるのだ。
この仕組みをご覧になって、何かに似ているなと思われたとしたら、それは恐らく悪名高いSpectreやMeltdownではないだろうか。Spectre等の脆弱性も、マイクロプロセッサの投機的実行という、どのデータがシステムに要求されるかを事前に推測しながら最適化を図る機能を悪用している。しかし、SpectreやMeltdown脆弱性は、使用中のデータしか漏洩することがないのに対し、AppleのDMPを悪用したAuguryは、たとえアクティブなアクセスがなくても、メモリの内容全体をリークできる可能性があるとのことだ。
今回の研究では、具体的には、Apple社のM1、M1 Max、A14をテストしたところ、array-of-pointers dereferencingパターンでプリフェッチすることが判明したという。研究者は、このプロセスによって、「いかなる指示によっても読み取られないはずのデータ」が漏洩することを発見した。また、今回テストはされていないが、M1 Proや、おそらく古いAシリーズのチップにも同じ欠陥があると考えられている。
ただし、今回発見された脆弱性について、ワシントン大学の助教授で研究チームの主任研究員であるDavid Kohlbrenner氏は、この脆弱性に関するDMPは「攻撃者が手に入れられる最も弱いDMPに等しい」と指摘している。
研究者は、この脆弱性は今のところ「それほど悪いものではない」とし、「現時点ではAuguryの技術を使ったエンドツーエンドのエクスプロイトを実証していない」と報告している。現在、流出する可能性があるのはポインタだけとのことだ。
論文はPDFで公開されている。
TEXALの見解
今回の発表は、Appleシリコンの先進的な機能を悪用する可能性と言うことで、とても興味深いない様だが、幸いなことに、「攻撃者が手に入れられる最も弱いDMP」と見られているため、それほど心配することはなさそうだ。既にこのことはAppleと共有されており、今後Appleの製品開発において、悪意のある攻撃者からの攻撃を防ぐために役立てられることだろう。
Appleシリコンの普及と共に、それを標的とした攻撃が増える事は想像に難くない。Appleシリコンに関して、今後はセキュリティ関連の話題からも目が離せなくなりそうだ。
コメントを残す