セキュリティ

Linuxで広く使われるブートローダー「GRUB2」にセキュアブートを回避できる脆弱性「BootHole」が見つかる


主にLinuxで常用されるブートローダー「GRUB2」に、OSが起動する前の段階における不正なプログラム実行を防ぐ「セキュアブート」を回避できる脆弱性が報告されました。「BootHole」と名付けられたこの脆弱性により、攻撃者は対象のデバイスを無制限にコントロールすることができるとされています。

There’s a Hole in the Boot - Eclypsium
https://eclypsium.com/2020/07/29/theres-a-hole-in-the-boot/

ADV200011 | Microsoft Guidance for Addressing Security Feature Bypass in GRUB
https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/ADV200011


Debian -- GRUB2 UEFI SecureBoot vulnerability - 'BootHole'
https://www.debian.org/security/2020-GRUB-UEFI-SecureBoot/

PCに搭載されているファームウェア「UEFI」には「セキュアブート」と呼ばれる仕組みが実装されています。セキュアブートはOSが起動する前の段階において実行されるプログラムの署名を確認し、有効な署名が行われているプログラムのみ実行することでデバイスを保護します。しかし、セキュリティ企業のEclypsiumによって報告された「BootHole」により、セキュアブートを回避して不正なプログラムを実行可能であることが判明しました。

BootHoleは主にLinuxのブートローダーとして使用されている「GRUB2」に関する脆弱性。GRUB2はUEFI利用時、EFIパーティション内の設定ファイル「grub.cfg」をパースして実行可能なドメイン固有言語に置き換えますが、このパースに問題があり、サイズが大きなパラメーターを適切に処理できていなかったとのこと。その結果、攻撃者が故意にバッファオーバーフローを引き起こして、本来は書き換えることができないメモリ領域を書き換え、不正なコードを実行することが可能になっていました。


BootHoleを利用して悪意のあるコードをOS起動よりも先に実行することで、OSのロード方法を制御したり、OSに直接パッチを当てたり、ブートローダーから別のOSを起動したりすることが可能になるとのこと。これにより、攻撃者は対象のデバイスを実質的に無制限に制御することができます。BootHoleはLinuxに加え、Microsoft UEFI CAによるプログラムへの署名を利用したセキュアブートを行っているサーバーやデスクトップ、IoTデバイスなどに影響を与えると報告されています。

脆弱性の対策には、GRUB2そのものの更新に加え、脆弱性を持つバージョンのブートローダー実行を防ぐためにデバイスのUEFIファームウェアも更新する必要があります。しかし、ブートローダーを更新せずにファームウェアだけ対策済みのバージョンに更新してしまうと、ブートローダーを起動することができなくなるといった問題があり、対策が広く展開されるには非常に時間がかかる可能性があるとのこと。

BootHoleを利用するにはgrub.cfgの書き換えが必須であるため、OSを最新に保つなどのシステムレベルでの対策が重要です。すでにMicrosoftDebianRedHatといった主要ベンダーはBootHoleへの対応を発表しており、Eclypsiumはユーザーや管理者に対し、ハードウェアベンダーやオープンソースプロジェクトからの報告を注視するよう呼びかけています。

この記事のタイトルとURLをコピーする

・関連記事
数億台以上の電化製品にひそむ脆弱性「Ripple20」が発見される - GIGAZINE

数千万台のCisco機器にネットワーク侵入を許す脆弱性が判明、緊急パッチが配布される - GIGAZINE

Windowsに重大度「緊急」のゼロデイ脆弱性2件、すでに攻撃も行われている可能性 - GIGAZINE

悪意あるアプリがほぼすべてのアプリを乗っ取れるAndroidの脆弱性「StrandHogg 2.0」 - GIGAZINE

in セキュリティ, Posted by log1n_yi

You can read the machine translated English article here.