x86 CPUにハードウェアバックドアが発覚
原題: Hardware backdoors in some x86 CPUs
なぜ重要か
ユーザーランドからカーネルデータへの直接アクセスを可能にするCPUレベルの脆弱性は、OSやソフトウェアによる対策が困難であり、広範なシステムへの影響が懸念される。
セキュリティ研究者のdomas氏は、一部のデスクトップ・ノートPC・組み込み向けx86プロセッサにハードウェアバックドアが存在することを公表した。このバックドアは「rosenbridge」と命名され、ユーザーランド(ring 3)のコードがカーネル(ring 0)のデータを保護機構を迂回して読み書きできる状態を引き起こす。一部のシステムではデフォルトで有効になっていることも確認された。
セキュリティ研究者のdomas氏(X: @xoreaxeaxeax)は、GitHubにて「project:rosenbridge」を公開し、一部のx86 CPUに組み込まれたハードウェアバックドアの存在を明らかにした。
研究によると、このバックドアはx86メインコアに並列して搭載された小型の非x86コアとして実装されている。このコアはModel-Specific Register(MSR)のコントロールビットで有効化され、専用の「ラウンチ命令」によって切り替えが行われる。コアへの命令は特殊なフォーマットのx86命令としてラップされて送られ、「deeply embedded instruction set」と呼ばれる独自命令セットが、メモリ保護や権限チェックを一切バイパスして実行される。
通常、このバックドアを有効化するにはカーネルレベル(ring 0)のアクセスが必要とされる。しかし、研究チームは一部のシステムではデフォルトで有効化された状態であることを確認しており、ring 3(ユーザーランド)のコードがカーネルデータを自由に読み書きできる状態になっていることが判明した。これはOSが提供するメモリ保護の根幹を無効化するものであり、深刻なセキュリティリスクとなり得る。
リポジトリには、自分のプロセッサが影響を受けるかどうかを確認するユーティリティ、バックドアが存在する場合にそれを無効化するツール、および発見・解析に用いた研究資料とツール一式が公開されている。GitHubで公開されたこのリポジトリは2,500以上のスターを獲得している。