ラスベガス — 一部のx86 CPUには、メインCPUを管理する文書化されていないRISCコアにコマンドを送信することでルート権限を奪取できる隠れたバックドアがあると、セキュリティ研究者のクリストファー・ドーマス氏が木曜日(8月9日)に当地で開催されたブラックハットカンファレンスで語った。
Linuxの「.byte 0x0f, 0x3f」というコマンドは「存在するはずがなく、名前もなく、すぐにルート権限を与えてくれる」とDomas氏は語り、同氏はこれを「God Mode」と呼んでいると付け加えた。
このバックドアは、OSカーネルがリング0、デバイスドライバがリング1と2、ユーザーアプリケーションとインターフェース(「ユーザーランド」)がカーネルから最も遠く、権限が最も少ないリング3で実行されるという、オペレーティングシステムセキュリティの保護リングモデルを完全に破壊します。簡単に言えば、DomasのGod Modeは、4バイトで最外リングから最内リングまでを移動します。
「リング3からリング0へのハードウェア権限の直接昇格は可能です」とドマス氏は述べた。「これはこれまで一度も実施されたことがありません。」
これは、隠された RISC チップのためです。このチップはベアメタルの非常に深いところに配置されており、ハイパーバイザとチップ管理システムはリング -1 またはリング -2 と見なせるという理論に従えば、このチップは新しい、より深い特権リングとして考えるべきだろうと Domas 氏は半ば冗談めかして言いました。
「これはまさにリング-4です」と彼は言った。「x86チップと並んで埋め込まれた、秘密のコアです。x86チップに無制限にアクセスできます。」
幸いなことに、Domas氏の知る限り、このバックドアは2003年に製造され、組み込みシステムやシンクライアントで使用されているVIA C3 Nehemiahチップにのみ存在します。残念なことに、このような隠れたバックドアは他の多くのチップセットにも存在する可能性があります。
Tom's Hardware の最高のニュースと詳細なレビューをあなたの受信箱に直接お届けします。
「我々が信頼しているブラックボックスは、我々には調べる術がないものだ」と彼は言った。「こうしたバックドアは、おそらくどこか別の場所に存在するだろう」
ドーマス氏は、出願済み特許を精査することで、2003年に製造されたVIA C3 Nehemiahチップに存在するバックドアを発見した。彼は、リング3からリング0へのジャンプと、モデル固有レジスタ(MSR)の脆弱性攻撃からマシンを保護する方法について言及している特許(US8341419)を発見した。MSRはメーカーが作成したコマンドで、特定のチップセットに限定されることが多い。
ドーマス氏は、彼の言葉を借りれば「パンくずの道」を辿りながら、特許を一つ一つ辿り、特定のVIAチップセットが特許の対象となっていることを突き止めました。その後、彼は多くの古いVIA C3マシンを集め、数週間かけてコードのファジングを行いました。
彼は、Nehemiahベースのシンクライアント7台を電源リレーに接続したテスト装置を構築し、数分ごとにマシンの電源を入れ直すようにした。ファジングを試みるとシステムがクラッシュしてしまうことが多々あったからだ。3週間後、彼は15GBのログデータと、隠されたRISCチップのバックドアを作動させるための命令を手に入れた。
「幸いなことに、起動プロセスを開始するにはリング0へのアクセスが必要ですよね?」とDomasは尋ねた。「いいえ。VIA C3 x86プロセッサの一部では、デフォルトでGod Modeが有効になっています。ユーザーランドからアクセスできます。ウイルス対策ソフトウェア、ASLR、その他のセキュリティ対策は役に立ちません。」
Domas 氏は、自身の研究結果のすべてと、VIA C3 CPU に文書化されていないコプロセッサが搭載されているかどうかを確認するツール、およびコプロセッサをデフォルトで無効にするツールを、自身の GitHub ページ (https://github.com/xoreaxeaxeax/rosenbridge) に公開しました。