IntelプロセッサがASLR保護をバイパスしてエラーを検出しました





アドレス空間レイアウトのランダム化(略してASLR)は、一般的なオペレーティングシステムに組み込まれているセキュリティメカニズムです。 その本質は、さまざまなデータ構造の仮想メモリアドレスのランダム化に要約されます。ターゲット構造のメモリ内の場所を予測することは困難であるため、攻撃が成功する可能性は大幅に減少します。 ブログの前半で、Windows 8の例を使用してASLRデバイスについて説明しました。



2016年10月中旬、カリフォルニア(リバーサイド)およびニューヨーク(ビンハンプトン)大学のアメリカの情報セキュリティ研究者グループが、Intelプロセッサーを使用してASLRを回避する攻撃手法の説明を公開しました



研究者は、予測子と呼ばれるHaswellプロセッサの一部の動作のエラーを検出することができました。開発したアプリケーションを使用して、他のプログラムがデータをロードするメモリ内の場所を予測することができました。



予測変数には、ブランチのメモリ内の位置(いわゆるアドレス)を格納するテーブル「ブランチターゲットバッファ」が含まれています。 最新のプロセッサは、分岐予測子を使用してメモリ操作を高速化します。これは、すぐに実行される命令が実行されるアドレスをシステムが「予測」できるためです。 「予測」プロセスを容易にするために、以前に使用されたブランチのアドレスもバッファに保存されます。 攻撃手法では、ターゲットバッファテーブル内の衝突を使用します。これにより、特定のコードが配置されているメモリ領域を見つけることができます。



したがって、攻撃者がこのASLRバイパスメカニズムを使用する単純なアプリケーションを作成すると、オペレーティングシステム自体の脆弱性の悪用と連携して動作し、悪意のあるコードのリモート実行の可能性が開かれます。



研究者によると、彼らの方法は、Microsoft WindowsとAppleのOS Xの両方で実装されたASLRメカニズムを同様にうまくバイパスできます。 現時点では、新しいASLRバイパス手法が他のアーキテクチャのプロセッサで動作するかどうかを実験で確認し続けています。



研究者は、台湾の台北で開催されたIEEE / ACM国際マイクロアーキテクチャー会議でASLRバイパス技術を発表しました。最新バージョンのLinuxを実行するHaswellプロセッサを搭載したコンピューターで実証しました。



インテルの代表者は、 研究で提示された事実を研究していると言いました。



All Articles