CyberGlossary

脆弱性

Meltdown

別称: Rogue Data Cache Load

定義

アウトオブオーダー実行と権限チェックの遅延を悪用し、非特権コードがカーネルメモリを読み出せるようにするマイクロアーキテクチャ脆弱性(CVE-2017-5754)。

Meltdown は 2018 年 1 月に Spectre と同時に公表され、多くの Intel CPU と一部の ARM CPU に影響しました。欠陥は、ページ権限を侵害する load 命令が例外発生前に値を後続の一過性命令へ伝播し、依存する load がキャッシュに痕跡を残して保護されたバイトを露呈する点にあります。ユーザーモードのプロセスがカーネル全空間を毎秒メガバイト単位で吸い出せました。主な緩和策は OS 側のカーネルページテーブル分離(KPTI/KAISER)で、加えてマイクロコード更新と後続 CPU でのシリコン再設計が行われました。現在は最新ハードウェアとパッチ済みカーネルでほぼ収束していますが、見えないアーキテクチャ前提が壊滅的なセキュリティ事故を生み得ることを示しました。

  • 脆弱な Intel CPU 上で非特権プロセスから /etc/shadow を出力する PoC。
  • 2018 年初頭にクラウドで実施された KPTI 展開によるテナント越境カーネル読み取りの抑止。

関連用語