イリノイ大学アーバナシャンペーン校、ワシントン大学、テルアビブ大学の研究者が、Auguryと呼ばれる攻撃について説明した。これはA14ファミリーとM1ファミリーを含む、Appleの最近のプロセッサで保存されているデータを漏洩させるものである。
Auguryは、新しい種類の攻撃として初のものかもしれない。これは、メモリ内に保存されるデータを、つまり、プロセッサコアに到達する前に漏洩させるものである。これにより、サイドチャネルの脆弱性で想定されるシナリオとはまったく異なるシナリオが現れることになる。これにより、使用中のデータが漏洩する可能性がある。つまり、安全でない操作によってデータにアクセスされたり、送信されたりする。
研究者によると、保存データの漏洩は、特別なマイクロアーキテクチャの最適化によって引き起こされる可能性がある。例えば、サイレントストア、キャッシュ圧縮、データメモリ依存プリフェッチャー(DMP)などである。ただし、これまでのところ、保存データ(data-at-rest)攻撃は理論上の可能性にすぎないと彼らは言っている。Auguryは、この種の脆弱性が実際に、特にDMPを使って悪用される可能性があることを初めて示したようである。
実際に、AppleプロセッサのApple M1、M1 Max、M1 Pro、A14プロセッサのすべてで、ポインタ配列プリフェッチャが提供されている。このプリフェッチャは、実際の使用時に事前にこれらのポインタを逆参照した結果をプリフェッチするために使われる。このメカニズムは、配列の境界を超えたメモリ位置を逆参照することができる。
範囲外のポインタを逆参照するこの動作(実際にはポインタでない可能性もある!)により、メモリサイドチャネルが作成されます。攻撃者はこれをポインタを把握するために使います。
理論的には、DMPがセキュリティに壊滅的な影響を与える可能性があることが示されている一方で、これはAppleのCPUには起こらないように思われる。まず、Apple M1 AoPに関するドキュメントがないことを考えると、攻撃者がアクティベーションパターンを見つけるのは簡単ではない。Auguryを発見した研究者の1人であるDavid Kohlbrenner氏が説明するところ、Apple CPUによって利用できるDMPの種類は「おそらく最も脆弱なDMPで、攻撃者は次のことができる」。
コンテンツが有効な仮想アドレスである場合にのみプリフェッチします。また、いくつか奇妙な制限があります。私たちは、この制限を使ってポインタを漏洩し、ASLRを破ることができることを示しています。さらに優れた攻撃ができると思っています。
さらに、この研究者はサンドボックス化がよく知られた手法であることを述べている。これは、攻撃者が仮想アドレス空間のどのような値も漏洩する可能性があることを想定してのものである。このため、サンドボックス化されたシステムはM1 DMPに対して安全のように思われる。これは、攻撃を受けてアドレス空間のデータが漏洩する可能性がある対象が既存のサンドボックス化されていないプログラムやカーネルだからと言って、攻撃を真剣に受け止める必要がないという訳ではない。
Auguryが挙げたシナリオは、攻撃者と防御者の両方にとってまったく新しいものである。DMPの脆弱性は比較的新しいため、どのように悪用される可能性があるかを把握するための情報がほとんどない。それでも、新しい攻撃シナリオを考える新たな取り組みのきっかけになると研究者は述べている。防御側にとっては、DMPが存在する限りは、操作されていないデータを保護するための新たなアプローチが必要となる。