Linuxディストリビューションで広く採用されているブートローダ「GRUB 2」に、バックスペースキーを28回連続で押すだけでパスワード保護を無効化できる脆弱性が発見された。脆弱性を悪用されると、システム上のデータを窃取または破壊されるだけでなく、システムをマルウェアの拡散に悪用される恐れがある。
PC Worldで報じられているように、GRUB 2は多くのLinuxディストリビューションで採用されるブートローダであり、システム起動直後に動作し、OSを起動する。起動エントリをユーザー名とパスワードで保護し、不正操作を防止する役割も担っている。また、これにより、システムの起動時に光学ドライブやUSBポートを無効化する機能も備えている。
GRUB 2の脆弱性は、スペインにあるバレンシア工科大学サイバーセキュリティグループの研究者であるHector Marco氏とIsmael Ripoll氏によって発見された。影響を受けるGRUB 2のバージョンは、2009年から現在までにリリースされている1.98から2.02。Linuxディストリビューションの大半がGRUB 2を利用している事実を鑑みると、現在世界中で稼働している無数のLinuxシステムが脆弱性の影響を受ける可能性があると、両氏はセキュリティアドバイザリに記している。
自分のシステムが脆弱性の影響を受けるかどうか確認するのは簡単である。GRUB 2からユーザー名の入力を求められた段階で、バックスペースキーを28回連続で押すだけでよい。これでシステムが再起動するか、GRUB 2のレスキューシェルが起動すれば、そのシステムは脆弱である。
このレスキューシェルでは、カスタマイズしたカーネルやOSの起動、Rootkitのインストール、ディスク上の全データのダウンロードや消去などを実行できる。これにより、たとえば攻撃者はUSBメモリから別のカーネルを読み込ませて起動し、ハードディスク上の全データにアクセスできるようになる。
前述の研究者達が公開したアドバイザリによると、脆弱性は2つの関数「grub_password_get()」と「andgrub_password_get()」で整数アンダーフローが発生する問題に起因しているという。
脆弱性の存在は主要ディストリビューションのベンダーに通知されたほか、GitHubには緊急パッチが公開されている。ただし不幸中の幸いとして、攻撃者が脆弱性を悪用するためには、システムへの物理的なアクセスが必要である。
この記事は海外CBS Interactive発の記事を朝日インタラクティブが日本向けに編集したものです。