前号: No 219 / 次号: No 221 / 一覧に戻る

メールマガジン「がんばりすぎないセキュリティ」No220 (21/08/09)

No220 無意味なBIOSパスワード


俗に「BIOSパスワード」というコトバがあるのをご存知でしょうか?

これはパソコン(PC)の電源を入れた時、Windowsが動作する前
に動くプログラムのことです。

一部の企業では今もセキュリティ対策としてBIOSパスワードの設定
を必須(もしくは推奨)としています。

ですが、BIOSパスワードは運用の面倒さの反面、得られるメリット
は非常に限定的で、あまり有効な対策とは言えません。

BIOSパスワードを推奨するようなブログの中には、そもそもBIOSを
正しく理解されていない記事も散見されますので、今回はBIOSに
ついての正しい解説をします。


1. BIOS(バイオス)ってナニよ?

BIOSはBasic Input-Output Systemを略したもので、現在のパソコン (PC)には必ずと言っていいほど搭載されています。 ところがこのBIOSというのが非常にわかりにくい(説明しづらい) ものなんです。 多少PCに明るい人でもBIOSについては誤解をされている方が結構 おられます。 これには理由があります。 BIOSは、ハードウェアと密接な関係があり、ハードウェアの領域に 興味や知識がないと、意味がわからない点が多いのです。 そのためでしょうか。BIOSの概要や画面の操作手順を書いたものは たくさんありますが、以下に書くようなBIOSの目的や動作手順に 言及したものは見たことがありません。

2. BIOSって何のためにあるの?

コンピュータの電源を入れてからWindowsが起動するまでには、実に たくさんの仕事をこなさなければなりません。 まず、コンピュータの電源を入れると、基本的なハードウェアの チェックを行います。例えば、そもそも電源回路が正常か、CPUや メモリが接続されているか、といったハードウェアレベルの不良が ないことをチェックします。 (ここでエラーが起きると画面には何も表示されずブザー音が  鳴ったりします) 余談  最近は「メモリ」が何を指すかがややこしくなっています。  もともとはCPUが直雪参照できる記憶装置のことを指しました。  これはRAM(ラム)やROM(ロム)と呼ばれるメモリです。  ところが、後にフラッシュメモリというものが登場してややこし  くなりました。  フラッシュメモリはUSBメモリやパソコン(PC)のSSD、スマホ  などに使われている記憶装置(ハードディスクなどと同等)で、  一般にCPUから直接参照することはできません。  このフラッシュメモリを「メモリ」と呼び始めたため、旧来の  メモリと意味の混乱が生じています。  この記事では、旧来のRAMやROMのことをメモリと呼びます。 次に、CPUを起動します。 CPUの最初の仕事はその機器にどんなハードウェアが接続されている かを確認することです。 メモリの動作、接続されているハードディスク・SSD・光学ドライブ、 そして、拡張スロット・音源・ネットワーク・USB・電源などのコン トローラ、その他PCで使える機能の有無やその動作状態などを チェックします。 全てのチェックが無事完了すると、次に指定された目的プログラム のロードを行い、そちらに制御を明け渡します。 チェックの途中でエラーが発生すると、画面上にエラー(黒い画面 に白い英文字で表示されるアレ)を表示したりします。 さて、CPUはWindowsを含む全てのプログラムを実行する機能を持ち ますが、逆にプログラムがないと何もできません。 しかもそのプログラムはメモリ(RAMかROM)になければ動かせま せん。 ところが、電源投入の直後は、Windowsのプログラムはハードディ スクの中にあり、メモリ上にはありません。 これでは、CPUがWindowsを実行できません。 誰かがお膳立てしてくれなければなりません。 その「誰か」はPCが起動した時点で既にメモリ上にいてくれる 必要があります。こういったメモリはROM(Read Only Memory:ロム) と言い、PCの中にチップとして(実際には他のチップと共存の 形ですが)存在しています。

3. え?それがBIOS?

既にお気付きと思いますが、その「誰か」がBIOSです。 こういったコンピュータを動かすための最初のプログラムのことは 一般的にはローダとかブートローダなどと呼びます。 ローダは、目的のプログラムをハードディスクなどからメモリ上に 持ってくる(ロードする)のを仕事とした、特殊なプログラムです。 全く裏方なので、ほとんどの場合は意識しませんが、パソコン(PC) の電源を入れた時には必ず密やかに実行されています。 ローダというのは本当にロードするだけの機能しかないのですが、 BIOSにはローダの他にもそのコンピュータの特定の機能(USBを 使うか、ネットワークを使うかなど)のON/OFF機能や、目的のプロ グラムがどの装置にあるかの指定、といったいろいろな機能が搭載 されています。 (こういった機能の解説は世の多くの記事で解説されていますので ここでは省略します) そのうちの一つがBIOSパスワードというものです。

4. BIOSパスワード

やっと、今回のキーワードが出てきました。 もともと、BIOSパスワードというのはBIOSでの機能設定をうかつ に変更できないように、システム管理者が設定するものでした。 BIOS画面でわけもわからず機能変更するとパソコン(PC)が 起動しなくなる可能性もあるからなんですね。 この時点では、BIOSの機能画面に遷移させないのが目的でしたから PCの起動時に必ず聞かれるものではなかったのです。 その後、PCの起動時にもパスワードを設定できるようになりました。 この時点で、PCの内部構造に明るくない各社の情報システム部門 が、のきなみ「BIOSパスワードを設定しましょう」と言い始めます。 (この最初の事例がどこか筆者は知らないのですが、ご存知の方が おられましたら是非教えてください) ですが、当時(2000年前後)でもPCの構造を知る人々からはBIOS パスワード設定は無駄な行為と指摘されていました。 というのは、BIOS情報はPC上のチップ上に保管されており、その データはボタン電池の電流によって保持されていました。 ボタン電池を外せばパスワードも消えてしまったのです。 PCのフタを開ければボタン電池は見えます。(当時はノートPC ではなくデスクトップPCが主流)それを外すのは誰でもできます。 つまり、盗難され、フタを開けられれば何の保護にもならなかった のです。 この事実から考えますと、メーカ側がBIOSパスワードをセキュリティ 向上策としては考えていなかったのではないかと思われます。 とはいえ、当時はWindowsへのログイン時にパスワードなしが標準 的でしたから、ほんの少しですがセキュリティ向上できたと、言え ないこともありませんでした。

5. 最近のBIOSパスワード

ですが、2010年頃からは状況が変わりました。 (規格ができたのは2005年ですが、一般化したのは2010年頃) BIOSに変わってUEFIというローダが主流となったのですが、 この時に、ボタン電池を外されてもパスワードが消えない方式に 改められました。 さらにパスワードを保持するチップの情報を不正に読み込むことが 極端に難しい(耐タンパ性)方式となりました。 今までであれば、パスワードを忘れてもボタン電池を外せばどうに でもなったのですが、この方式でパスワードを忘れると大変です。 そのため、各メーカでは救済策として、パスワードを間違うと、 (ランダムな)数ケタの文字を表示し、サポートセンターに連絡 すると、(そのランダムな数ケタの文字に対応した)解除コード を教えてもらえるという方式に変えました。 さて、これによってBIOSパスワードは有意義なセキュリティ対策 となったのでしょうか?

6. それでもBIOSパスワードは役に立たない

いえいえ、そんなに世の中甘くありません。 ここまで読まれた方ならおわかりでしょうが、BIOSパスワードは あくまでそのパソコン(PC)のチップ上に保管されています。 ですから、ハードディスクやSSDを抜き取って、他のPCに入れて しまえば、BIOSパスワードなんて関係ありません。 パソコン(PC)の分解などというと、よほどの技術が必要そうな 印象です。が、デスクトップPCはもちろんノートPCもドライバ 1本あればバラせるように作られています。特殊な工具なまず要り ません。 つまり、データを盗む目的での盗難に合った場合、BIOSパスワード は何の役にも立ちません。 一部のBIOS(UEFI)には、ハードディスクパスワードなるものが設定 できるものもありますが、これもBIOSパスワードと同様でチップ上 に保管されますから、ハードディスクを抜き取られればやっぱり 役立たずです。 さらに、上述のパスワード忘れの新しい救済策も頼りになりません。 既に、ランダム値に対応する解除コードを教えてくれるサイトが 存在しています。(危ないサイトではないと思いますが、クリック にはご注意を)  https://bios-pw.org/ このサイトはPCに表示されるランダムパスワードを入力すれば 対応する解除コードを表示してくれます。 そりゃそうです。 BIOSプログラムを解析すれば何を入力すれば解除できるかはわかる のですから、その逆算をすればいいだけです。 (カンタンそうに書いてますが、解析はホンマに大変な仕事ですよ。)

7. じゃあどうすればいいのよ

そもそも、BIOSパスワードは利用者が勝手に設定をいじれないよう に管理者向けに提供された機能です。(これ自体が過去の手法です) メーカがセキュリティ向上を目指して提供したものとは思えません。 それをセキュリティ対策として利用する時点で使い方を間違って いるのです。 使い方が間違っているのですから、あきらめるしかありません。 なお、盗難(置き忘れ)対策としては、ハードディスクの暗号化が 定番です。Windows自身、BitLockerというアプリを提供しています。 (Pro以上でないと使えない点は難点ですが) これを使うと(マシン性能が悪いと)かなり遅くなるという弊害は ありますが、ここは利便性とセキュリティ対策のどちらを取るかと いう話になります。 また、事務所に設置しているPCであれば、昔ながらのセキュリティ ケーブル(机などと繋ぐ金属製のケーブル)の極太のは今も有効です。 (細いのは割と簡単に切ることができます)

8. まとめ

BIOSパスワードというものがあります。 BIOSというのは、パソコンに最初から含まれている特殊なプロ グラムで、起動時のハードウェアチェックをしてから、Windows の最初の起動プログラムの実行までをやってくれるものです。 そのBIOSにはパスワードを設定することができるのですが、もともと BIOSパスワードはセキュリティ向上策ではないため、あまり頼りに なるものではありませんでした。 2010年頃から、パスワードの記憶方法を変えるなどの対策も取られ ていますが、それでもハードディスクを取り外されればそれまでで、 セキュリティ対策としては効果的とは言いがたいものです。 これはBIOSパスワードがその出自からしてセキュリティ対策では ないものですから、それをセキュリティ対策として活用することが 間違いであると言えます。 もし、盗難対策を考えるのであれば、ハードディスクの暗号化や セキュリティケーブルなどの設置の方が余程有用です。 今回はBIOSパスワードについて解説しました。 次回もお楽しみに。

前号: No 219 / 次号: No 221 / 一覧に戻る