web-dev-qa-db-ja.com

8GBのターゲットマシンでメルトダウン攻撃が128ステップでKASLRをどのように破壊したかRAM 64ビットマシンで40ビットのランダム化を使用)

公開されたメルトダウンの公式論文では、著者は128ステップでKASLRをさらに悪化させました。どのようにしてその数に達したのか理解できません

参考用の紙

2
yolob 21

KASLR(カーネルアドレススペースレイアウトランダム化)は、攻撃者が発見した脆弱性を悪用することを困難にする手法です。カーネルデータ構造を予測可能な場所に配置するのではなく、ランダムに散らばるため、攻撃者はターゲットデータを探す前に、時間をかけてターゲットデータを探す必要があります。

64ビットコンピュータには264 可能なメモリアドレス。これは、現在誰もが使用できるスペースよりもはるかに大きいので、物事をシンプルに保つために、ごく少数のアドレスのみが使用可能になります-現在のCPUでは、通常240 アドレス。

ランダム化の「ビット」の数は、何かが最終的に発生する可能性のある場所の数の尺度です。40ビットのランダム化では、1,099,511,627,776の可能な場所になります。攻撃者が次のような小さなデータを探している場合rootパスワード。攻撃が停止する前に、パスワードを見つけることはおそらくないでしょう。

ただし、メルトダウンの場合、ターゲットは「物理RAMの完全なコピー」です。これは、それが配置される可能性のある多くの場所に重なる単一の連続ブロックを占有します。8GBのRAMの場合、33ビットに相当する場所に相当します。 40ビットの利用可能なアドレスにより、これは場所をランダム化するための7ビットのみを残します。せいぜい27 = 128プローブ、攻撃はそのターゲットを発見し、メモリの読み取りを開始できます。

3
Mark