Linux システムを特にターゲットにした最初の UEFI ブートキットが発見され、これまで Windows に焦点を当てていたステルスで削除が難しいブートキットの脅威に変化が生じました。
「Bootkitty」と名付けられたこの Linux マルウェアは、実際の攻撃で展開される本格的な脅威ではなく、一部の Ubuntu バージョンと構成でのみ動作する概念実証です。
ブートキットは、コンピューターのブート プロセスに感染するように設計されたマルウェアで、オペレーティング システムよりも前にロードされ、オペレーティング システムが非常に低いレベルでシステムを制御できるようになります。
この手法の利点は、ブートキットがオペレーティング システム レベルで実行されているセキュリティ ツールを回避し、検出される危険を冒さずにシステム コンポーネントを変更したり、悪意のあるコードを挿入したりできることです。
ESETの研究者は、 発見した Bootkitty は、現在の現実世界への影響にもかかわらず、その存在は UEFI ブートキットの脅威領域における重要な進化であると警告しています。
Linux ブートキットが開発中
ESETは、にアップロードされた不審なファイル(bootkit.efi)を検査した結果、Bootkittyを発見しました。 ウイルス合計 2024 年 11 月に。
ESETは分析の結果、これがLinux UEFIブートキットがカーネル署名検証をバイパスし、システム起動プロセス中に悪意のあるコンポーネントをプリロードする最初のケースであることを確認しました。
Bootkitty は自己署名証明書に依存しているため、セキュア ブートが有効になっているシステムでは実行されず、特定の Ubuntu ディストリビューションのみを対象とします。
さらに、ハードコードされたオフセットと単純なバイトパターン マッチングにより、特定の GRUB およびカーネル バージョンでのみ使用できるため、広範囲にわたる展開には適していません。
ESETはまた、このマルウェアには未使用の機能が多く含まれており、カーネルバージョンの互換性の処理が不十分であり、システムクラッシュを引き起こすことが多いと指摘しています。
このマルウェアにはバグが多く、ESET のテレメトリでは稼働中のシステム上に Bootkitty の兆候が見られないという事実から、研究者らはマルウェアが開発の初期段階にあると結論付けました。
ブートキティの機能
ブート中に、Bootkitty は UEFI セキュリティ認証プロトコル (EFI_SECURITY2_ARCH_PROTOCOL および EFI_SECURITY_ARCH_PROTOCOL) をフックして、セキュア ブートの整合性検証チェックをバイパスし、セキュリティ ポリシーに関係なくブートキットがロードされるようにします。
次に、「start_image」や「grub_verifiers_open」などのさまざまな GRUB 関数をフックして、Linux カーネルを含むバイナリに対するブートローダーの整合性チェックを操作し、署名検証をオフにします。
その後、Bootkitty は Linux カーネルの解凍プロセスをインターセプトし、「module_sig_check」関数をフックします。これにより、カーネル モジュール チェック中に常に成功を返すように強制され、マルウェアが悪意のあるモジュールをロードできるようになります。
また、最初の環境変数を「LD_PRELOAD=/opt/injector.so」に置き換えて、システム起動時に悪意のあるライブラリがプロセスに挿入されるようにします。
このプロセス全体で、意図したものとそうでないものを含むいくつかの成果物が残されると ESET は説明しており、これも Bootkitty の洗練度の欠如を示しています。
研究者らはまた、Bootkitty を VT にアップロードした同じユーザーが「BCDropper」という名前の未署名のカーネル モジュールもアップロードしたが、入手可能な証拠ではこの 2 つの関係が弱いことにも注目しました。
BCDropper は、「BCObserver」という名前の ELF ファイルをドロップします。これは、感染したシステム上でファイルを隠し、処理し、ポートを開くルートキット機能を備えたカーネル モジュールです。
このタイプのマルウェアの発見は、企業の Linux 採用が進むにつれて、これまで Windows に隔離されていた Linux マルウェアを攻撃者がどのように開発しているかを示しています。
Bootkitty に関連する侵害の痕跡 (IoC) は、このサイトで共有されています GitHubリポジトリ。