こんにちは。からあげです。
ある日、BIOSに脆弱性があることに気がつく
つい先日、旧式のノートパソコンLenovo X250にLinux定番ディストリビューション「Ubuntu」を入れてみた。すると新品購入直後のように軽快に動作するようになったノートPC。おっさんはご機嫌で快適なモバイルライフを送っていた。
ところがそんなある日、ノートPCにインストールされているBIOSに脆弱性があることを知った。いくらセキュリティの高いLinuxでも、おおもとのBIOSに欠陥があっては危険だ。
BIOSの脆弱性(2016年7月28日更新)
System Management Mode(SMM)BIOSの脆弱性
潜在的影響:攻撃者がローカル管理者権限を持ち、SMMでコードを実行する可能性がある
重要度:高
管理者権限が奪われると、思いのままにPCを操られてしまう。直ちにアップデートしなければならない。
インストールされているBIOSのバージョン
PC起動時、Lenovoのロゴマークが表示されているときに、何かキーを押すとBIOSの設定画面が立ち上がる。この設定画面でBIOSのバージョンを確認できる。
または端末からのコマンド入力「sudo dmidecode -t bios」。
UEFI BIOS Version N10ET48W(1.27)
〃 Date 2017-09-12
Lenovo公式サイトではX250は「影響あり」となっているものの、バージョン「N10ET44W 」の時点ですでに修正済みとなっている。
それよりも新しいN10ET48W(1.27)は修正済みのバージョンで問題ないと思われる。
しかし最新版があるのに、バージョンアップしないのは勿体無い気がする。
BIOSのアップデートはリスクの高い作業。必要なければ極力しないほうがよい。
メーカーも警告しているが、やるなと言われると余計にやりたくなる私。危険を承知でBIOSのアップデートをやることにした。ああ、なんて面倒くさい質なんだ!
BIOSのアップデート作業
アップデート作業の流れ
起動CD用BIOSアップデートユーティリティの入手
↓
起動イメージの作成
↓
USBメモリに書き込み
↓
USBメモリから立ち上げてBIOSをアップデートする
本記事で紹介する方法はUbuntu最新版(20.04.2.0 LTS)を用いた方法。バージョンが古いと多少操作が異なるかもしれないので十分注意して作業していただきたい。
起動CD用BIOSアップデートユーティリティの入手
Windowsに一旦戻してからBIOSをアップデートし、再度Ubuntuをインストールし直すのは効率が悪すぎる。
注意点は拡張子.isoの起動CD用のイメージファイルをダウンロードすること。X250の場合、2021年3月時点で「n10ur27j.iso」が最新版となっている。
起動イメージの作成
Ubuntu最新版(20.04.2.0 LTS)には、すでにgenisoimageがインストール済み。
ホームのダウンロードフォルダからデスクトップにファイルをコピーする。
そして「geteltorito -o bios.img n10ur27j.iso」とコマンド入力して、「bios.img 」というファイル名で変換する。
USBメモリに書き込み
変換したファイルをUSBメモリに書き込むには、まずデバイス名を知る必要あり。Linuxは融通が全く効かないので、きちんと指定してやる必要あり。
USBポートに挿し込み認識されたあとで、「dmesg | tail」とコマンド入力する。
すると上のように表示される。
私の場合、USBメモリのデバイス名は「sdc」。
「sudo dd if=bios.img of=/dev/sdc bs=512K」とコマンド入力する。
USBメモリから立ち上げてBIOSをアップデートする
BIOS設定の変更
PCを再起動させて、Lenovoのロゴマークが表示されているときに、F1キーを連打する。
するとBIOS設定画面が立ち上がる。
SecurityタブーSevure Boot
Enabled→Disabledに変更する。
StartupタブーUEFI/Legacy Boot
UEFT Only→Bothに変更する。すると、自動的に「UEFI/Legacy Boot Priority:Legacy First」となる。
F10キーを押して設定変更を保存したのち再起動させる。
再起動の途中で、見慣れぬThinkPadのロゴマークが表示される。
この間に何かキーを押すとBoot Menuが立ち上がる。
USBメモリのデバイスを選択する。
Enterキーを押すと再起動し、USBメモリを読み込む。
BIOS更新のメインメニュー
初めて見るメインメニュー画面
数字キーの「2」を押して更新する。
すると警告画面が連続して表示される。
良ければYキーを押して進める。
警告!
このユーティリティーはシステム・プログラム(BIOS)を書き換えます。
オプションまたはこのユーティリティーのマニュアルをよくお読みになり、指示があった場合のみ先に進んでください。
インフォメーション
ACアダプターがシステム(PC)とコンセントに確実に接続されていることを確認してください。
重要!
更新中は電源を切らないでください。
更新中に切ると、システムが壊れる場合があります。
警告!
Microsoft(R)BitLocker(TM)
ドライブ暗号化が有効になっている状態でBIOSを更新すると、暗号化されたドライブからの起動ができなくなります。
BitLocker機能を使用されている場合はBIOS更新前にBitLockerを一時的に無効にしてください。
BIOSアップデートまとめ
UEFI BIOS Version N10ET61W(1.40)
〃 Date 2020-03-17
BIOSのバージョンを確認してみると、無事にアップデートされていた。
Ubuntuの動作はスムーズ。エラーが出ることはなし。
今回、初めてのBIOSのアップデートは成功した。
失敗するとプログラム(BIOS)が壊れて起動できなくなるので十分注意して作業して欲しい。
失敗を恐れずになんでもやると、自然と楽しくなってくるから不思議だ。
さて、次は何をやろうかな。