Linuxシステムにおける未署名のinitramfsを悪用した物理攻撃が報告された。攻撃者はデバッグシェルを経由してinitramfsを改変し、再起動時にマルウェアを実行可能とする。攻撃の具体的な手順と即効性のある対策とは。
この記事は会員限定です。会員登録すると全てご覧いただけます。
ドイツのセキュリティ企業ERNWは2025年7月3日(現地時間)、「Linux」システムにおける初期RAMファイルシステム「initramfs」を悪用した物理的攻撃について公開した。
端末に物理的に短時間アクセスできる攻撃者が、暗号化されたルートパーティションにおいてパスワード入力を繰り返し失敗することで、デバッグシェルに入る機会を得てinitramfsを書き換え、次回の起動時にマルウェアを実行できる攻撃手法が解説されている。
この攻撃が成立する背景には、initramfsが署名されていないという構造的な問題がある。通常、Linuxディストリビューションにおいて、カーネルイメージやそのモジュールには署名が施されている。しかしinitramfs自体はユーザーのホスト上で動的に構築されるため、統一的な署名が困難となっている。その結果、攻撃者はinitramfsを展開し、マルウェアを組み込んだスクリプトを追加して再圧縮し、元のファイルに置き換えることが可能となる。これにより、従来のセキュリティ対策が効力を発揮しない状態が生まれてしまう。
攻撃の具体的な手順として、攻撃者が暗号化されている「Ubuntu 25.04」環境で意図的にパスワード入力を複数回失敗させることでデバッグシェルに移行し、そこにUSBドライブを接続してスクリプトを実行する方法が紹介されている。用意されているスクリプトにおいて、initramfsを展開し、起動時に実行されるフックを追加して再圧縮し復元することで、再起動後に任意の処理が実行可能となる。「Fedora Linux 42」や「Debian 12」など他のディストリビューションでも類似の挙動が確認されているが、「openSUSE Tumbleweed」についてはブートパーティションが暗号化されており、今回の攻撃が成立しないことも明らかにされている。
この問題に対し、比較的簡易かつ即効性のある対策が存在する。Ubuntuではカーネルパラメーターに「panic=0」を、Red Hat系では「rd.shell=0 rd.emergency=halt」を追加することで、異常時のシェル起動を抑止できる。起動自体にパスワードを要求するようブートローダーを設定することやブートパーティションそのものを「LUKS」で暗号化することも有効とされている。「Unified Kernel Image」(UKI)によってinitramfsをカーネルと一体化し、署名されている単一バイナリとして扱う取り組みも始まっている。
initramfsがシステム起動時に果たす役割もこの脆弱(ぜいじゃく)性の根幹に関係している。特にルートパーティションが暗号化されている環境において、カーネル単体では暗号解除ができず、initramfs内のツール群によって初期化処理が実施される。そのため、initramfsは読み取り可能な領域に存在する必要があり、ここに改変の余地が生まれる。動的なハードウェア構成やシステムの変更に柔軟に対応する必要性から、initramfsの静的署名が現実的でないという事情もある。
今回の調査によって、Linuxセキュリティにおいて物理アクセスを伴うシナリオへの対策が依然として不十分なことが示されている。initramfsの署名が困難な限り、セキュアブートやディスク暗号化といった従来の対策に加えて、初期化プロセス全体の防御設計が求められる。攻撃者の手法が巧妙化する中、システム防御側も既存の前提や構成を再検討する必要がある。
多要素認証突破も当たり前 今話題のリアルタイムフィッシングとは?
Chromeに深刻な脆弱性「CVE-2025-6554」 急ぎアップデートを
セキュリティ人材は“完全内製” 住友生命のTanium活用と本気の人材育成術
迫るWindows 10サポート終了 “すぐには移行しない勢”向けの手段とは?Copyright © ITmedia, Inc. All Rights Reserved.