著者: Juhee Kim Jinbum Park Sihyeon Roh Jaeyoung Chung Youngjoo Lee Taesoo Kim Byoungyoung Lee Authors: ジョージキム ジンバムパーク シヒョン・ロウ ヤング・チューン ヤングジョー・リー キム・キム Byoungyoung リー Table Of Links 左のテーブル 抽象 1. Introduction 1.導入 2. Background 2.背景 メモリタグ拡張 投機執行攻撃 3. Threat Model 3.脅威モデル 4. Finding Tag Leakage Gadgets タグ Leakage Gadgets タグ: Leakage Template タグ: Leakage Fuzzing 5. TIKTAG Gadgets 第5話 ギャグ TIKTAG-v1: Speculation Shrinkage を活用する TIKTAG-v2: Store-to-Load Forwarding を活用する 6. Real-World Attacks リアルワールド攻撃 6.1 Chrome 攻撃 7. Evaluation 7.評価 8. Related work 8.関連事業 9. Conclusion And References 9. 結論と参照 Abstract 抽象 ARM Memory Tagging Extension (MTE) は、ARMv8.5-A アーキテクチャに導入された新しいハードウェア機能で、メモリ腐敗の脆弱性を検出することを目的としています。MTE の低レベルは、現代のソフトウェアシステムにおけるメモリ腐敗の攻撃を軽減するための魅力的なソリューションであり、C/C++ ソフトウェアのセキュリティを改善するための最も有望な道として見なされています。 具体的には、この論文では、仮想実行を通じて任意のメモリアドレスからMTEタグを漏らすことができる新しいTIKTAGガジェットを特定しています。TIKTAGガジェットを使用すると、攻撃者はMTEの確率防衛を回避し、攻撃の成功率を100%に近づけることができます。 実験結果によると、TIKTAG ガジェットは、TIKTAG ガジェットによって生じるセキュリティリスクを軽減するために、新たな防御メカニズムを提案する。 導入 メモリ腐敗の脆弱性は、コンピュータシステムに重大なセキュリティ脅威をもたらします。メモリ腐敗の脆弱性を利用することで、攻撃者はメモリに保存されているデータを破壊し、コントロールフローをハイジャックしたり、被害者のデータを製造したりします。 これらの脅威に対応するために、ARM Memory Tagging Extension (MTE) は最近、ARMv8.5 以降、新しいハードウェア拡張機能として、メモリ破壊攻撃を軽減するように提案されています。技術的には、MTE は (i) タグと (ii) タグチェックの 2 つのハードウェア原始操作を提供しています。 メモリにアクセスするときにタグチェック操作を実行し、タグを2つ比較し、タグを1つはメモリにアクセスするためにポインタに組み込まれており、もう1つはアクセスするメモリの場所に関連付けられています。 MTE を使用すると、どのタグが割り当てられているか、またはどのメモリ リージョンがタグされているかに応じて、さまざまな軽減技術が開発できます。例えば、Android Scudo [3] および Chrome PartitionAlloc [2] などの MTE 対応メモリ割り当ては、すべてのダイナミックに割り当てられたメモリにランダムタグを割り当てます。 次に、この割り当てられたメモリへのポインターがタグを埋め込み、ポインターが拡散するにつれて、タグはそれに応じて一緒に拡散されます。 動的に割り当てられたメモリがアクセスされると、タグチェック操作が実施されます。 タグがランダムに割り当てられているので、攻撃者がタグを正しく推測するのは困難です。 したがって、タグチェック操作は統計的にメモリ損傷を検出します。 MTE は、メモリ腐敗の脆弱性を悪用する攻撃者に大きな課題を提示しているため、MTE ベースのソリューションは、空間的および時間的なメモリ腐敗の根本原因に近い侵害行動を検出するためです。 特に、MTE は、ポインタとメモリの位置の関係が腐敗しないことを保証するため、腐敗を迅速に検出します。 これは、メモリ損傷を検出しないが、コントロールフローのハイジャック行動(すなわち、取行動)を検出するCFI(6、52、62)などの一般的な緩和技術に比べ、特にMTEに強力なセキュリティ上の利点を提供する。 この論文では、MTEが約束されたようにセキュリティ保証を提供するかどうかを研究しました。特に、投機執行攻撃がMTEを破壊するためのセキュリティ脅威であるかどうかを分析しました。私たちの結果をまとめると、MTEに対して投機執行攻撃が確かに可能であることが判明し、MTEのセキュリティ保証を深刻に損なうことができました。任意のメモリアドレスのMTEタグを漏らすことができるTIKTAG-v1とTIKTAG-v2という2つの新しいガジェットを発見しました。 具体的には、TIKTAG-v1 は業界予測およびデータプレフェッチャーの投機縮小を活用し、TIKTAGv2 はストアからロードへの転送行動を活用します。 現実世界の MTE ベースの緩和の実用性を示すために、Google Chrome と Linux カーネルという独自の攻撃表面を持つ 2 つの現実世界の攻撃を開発しました。 私たちの評価結果は、TIKTAG ガジェットが 4 秒以内に 95% 以上の成功率で MTE タグを漏らすことができると示しています。 我々はさらに、TIKTAGガジェットの取を防止するための緩和策を提案し、MTEの利用の利点を維持する一方で、MTEサイドチャンネルに関する以前の作業(22,38)と比較して、我々は、この論文は次の理由からユニークな貢献をしていると考えている。第一に、Googleのプロジェクトゼロは、MTEメカニズムから投機的なタグ漏洩を見つけることができなかったことを報告した。 対照的に、タグチェックは確かに投機的な実行におけるキャッシュ状態の違いを生成することを発見しました。別の独立した仕事であるStickyTags(22)は、TIKTAG-v1の例の一つであるMTEタグ漏洩ギガジットを発見し、その根幹の原因が不正なタグチェックエラーのメモリ紛争にあると疑った。 この論文はまた、新しいMTEタグ漏洩ガジェット、特にTIKTAGv1ガジェットのバージョンと新しいTIKTAG-v2ガジェットの開発とともに、ChromeとLinuxカーネルに対する取を報告しています。さらに、この論文は、ハードウェアおよびソフトウェアレベルでのMTEタグ漏洩を防止するための新しい防御メカニズムを提案しています。 強力なセキュリティ上の利点を考慮すると、MTEベースの緩和策(例えば、敏感なデータ保護(29, 31)およびデータフローの完全性(13, 40, 60))が近い将来MTEをサポートするデバイス(例えば、Android携帯電話)に展開されることが予想されます。 したがって、この論文の結果、特にTIKTAG ガジェットがどのように構築され、MTE タグがどのように漏洩されるかについては、MTE ベースのソリューションがどのように設計されるべきか、またはCPU がどのようにマイクロアーキテクチャレートレベルで実装されるべきかを明らかにします。 我々は2023年11月にMTEタグの漏洩ガジェットをARMに報告した。ARMは2023年12月にこの問題を認め、公表した [34].別の研究グループはARMと同様の問題を報告し、調査結果を公表した [22]。 責任ある開示 2023年12月にGoogle Chrome V8の脆弱性をChromeのセキュリティチームに報告しましたが、V8のサンドボックスはメモリデータとMTEタグの機密性を保証するものではありませんので、脆弱性を修正しないことを決定しました。 しかし、我々は、MTEベースの防衛が我々が提案する対処措置と共に展開されれば、ブラウザのセキュリティが向上できると考えている(6.1.4 条)。我々はまた、Pixel 8デバイスのMTEオラクルを2024年4月にAndroidセキュリティチームに報告した。 この資料は、CC 4.0 ライセンスの下で archiv で提供されています。 この紙は CC 4.0 ライセンス available on arx iv iv