kexecは現在起動中のカーネル上で新しいカーネルのライブブートを可能にする、Linuxカーネルのメカニズムである。"kexec" という名前はkernel executionの略称と、UNIX/Linuxカーネル呼び出しのexecに由来する。kexecは実質的に、システムファームウェア(BIOSやUEFI)が実行するブートローダのステップとハードウェアの初期化フェイズをスキップし、メインメモリに直接新しいカーネルをロードしてすぐにその実行を開始する。これにより完全なブートと関連する長時間処理を避けられるためダウンタイム(英語版)を最小化することができ、システムの高可用性を満たせるようになる[1][2][3]。

kexecのようなメカニズムを実装することはできるが、その場合に以下の2つの大きな問題が発生する:

kexecでブート可能なカーネルを、署名されたカーネルのみとする機能のサポートは、2014年10月5日にリリースされたLinuxカーネルメインラインのバージョン3.17にマージされた[4]。これにより、ルートユーザーがkexecで任意のコードのロードや実行を行うことが不可能となった。これは、UEFIセキュアブートと、署名されたLinuxカーネルモジュールのみが起動中カーネルへ挿入可能であることを保障するカーネル内セキュリティメカニズムを補完する[5][6][7]。

関連項目

脚注

  1. ↑ Hariprasad Nellitheertha (5月4日2004年). “Reboot Linux faster using kexec”. IBM. 1月21日2013年時点のオリジナルよりアーカイブ。12月5日2013年閲覧。
  2. ↑ Hariprasad Nellitheertha (2004年5月4日). “Kexecを使ってLinuxの起動を早める”. IBM. 2018年9月22日閲覧。
  3. ↑ David Pendell (8月16日2008年). “Reboot like a racecar with kexec”. linux.com. 12月5日2013年閲覧。
  4. ↑ “Linux kernel 3.17, Section 1.10. Signed kexec kernels”. kernelnewbies.org (10月5日2014年). 11月3日2014年閲覧。
  5. ↑ Jake Edge (6月25日2014年). “Reworking kexec for signatures”. LWN.net. 8月9日2014年閲覧。
  6. ↑ Matthew Garrett (12月3日2013年). “Subverting security with kexec”. dreamwidth.org. 12月5日2013年閲覧。
  7. ↑ Kees Cook (12月10日2013年). “Live patching the kernel”. outflux.net. 12月12日2013年閲覧。

外部リンク

⌬ Phoenix Mesh CID: 未登録 IPFS未登録 📡 0ピア N=1 CRITICAL PQS C45
📋 変更履歴