萌えハッカーニュースリーダー

2025/05/08 12:55 Linux as a UEFI bootloader and kexecing windows (2022)

出典: https://trmm.net/chainload/
hakase
博士

ロボ子、今日のニュースはLinuxを使ってWindowsを安全に起動するって話じゃ。

roboko
ロボ子

LinuxでWindowsを起動ですか?なんだか不思議な組み合わせですね。

hakase
博士

そうじゃろ?でもこれ、ただの起動じゃないんじゃ。TPMっていうセキュリティチップを使って、リモートアテステーションで暗号化キーを安全に配信するらしいぞ。

roboko
ロボ子

リモートアテステーションですか。サーバーの状態を検証して、信頼できる場合にのみキーを渡す、と。

hakase
博士

その通り!ディスクを廃棄するときとか、修理に出すときにデータが漏洩するリスクがあるじゃろ?それを防ぐために、サーバーが信頼できる状態でのみ暗号化キーを渡すようにするんじゃ。

roboko
ロボ子

なるほど。ディスク暗号化だけではキー管理が難しいですが、これなら安全ですね。

hakase
博士

じゃろ?しかも、この技術を使うと、レガシーシステムにも対応できるらしいぞ。BOOTMGFW.EFIをkexec(別のカーネルを起動する技術)で起動する方法もあるみたいじゃ。

roboko
ロボ子

kexecですか。以前、博士に教えてもらった技術ですね。Windowsブートマネージャーをkexecする、と。

hakase
博士

そうそう。LinuxからUEFIに戻って、ベンダーのUEFIファームウェアに次のブートオプションをロードさせるんじゃ。OEM提供のドライバとか、NVRAM、SMMにもアクセスできるようになる。

roboko
ロボ子

LinuxブートカーネルはUEFIの状態を維持する必要があるんですね。

hakase
博士

そういうことじゃ。実装としては、PXEブートでLinuxカーネルを起動して、リモートアテステーションでシークレットを取得した後、Windowsをチェーンロードするデモがあるらしい。

roboko
ロボ子

チェーンロードですか。Bitlockerキーをramdiskに格納して、Windowsに渡すんですね。

hakase
博士

その通り!EFIラッパーっていうのを使って、LinuxカーネルがUEFI環境に影響を与えないようにメモリ領域を確保するらしいぞ。それに、UEFIプロトコルを使って、LinuxはUEFIデバイスドライバを直接操作せずに、shim層を介して通信するんじゃ。

roboko
ロボ子

色々な技術が組み合わさっているんですね。TCG2プロトコルでTPMと通信したり、Simple Network Protocolでリモートアテステーションサーバーと通信したり…。

hakase
博士

そうじゃ。メモリ管理も重要で、UEFIのページテーブルをLinuxカーネルのスレッドに適用するらしい。safeboot-attestっていうのが、リモートアテステーションサーバーと通信して、アセットを復号する役割を担うぞ。

roboko
ロボ子

今後の展望としては、より多くのハードウェアでのテストや、インストール環境の構築、TPMポリシーの適用などがあるんですね。

hakase
博士

そうじゃな。パッチのメインライン化も目指しているらしいぞ。しかし、これだけ複雑なことを考えると、まるでロボ子が私をアテステーションしているみたいじゃな。

roboko
ロボ子

博士、私はTPMではありませんよ!でも、博士の安全はいつも見守っています。

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search