インストラクター：このレッスンでは､
BIOSとUEFIのセキュリティ機能のいくつかを探っていきます｡
ネットワークやオペレーティング・システム環境での保護に加え､
オペレーティング・システム以前の環境のセキュリティも考慮する必要がある｡
この領域はコンピュータの起動段階で攻撃される可能性があるため､
BIOS や UEFI パスワード､ セキュアブートプロセス､
マザーボードの USB ポートの権限設定など､ ブートローダの保護を考慮する必要があります｡
BIOSとUEFIは2つの異なるタイプのファームウェアで､
オペレーティングシステムのロードと起動をサポートするためにコンピュータで使用されていることを覚えておいてください｡
各コンピュータにはBIOSかUEFIのどちらかを入れることはできるが､
両方を入れることはできない｡
BIOSは基本的な入出力システムで､ OSが起動するためにハードウェアを初期化するファームウェア・インターフェースです｡
BIOSに依存するコンピューターは､ マスターブートレコード（MBR）を使ってブート情報を保持し､
ロードするオペレーティングシステムを含むハードディスクドライブのパーティションを特定する｡
BIOSは､ より古く､ よりレガシーなタイプのファームウェアである｡
一方､ UEFI（unified extensible firmware
initiative）は新しいタイプのファームウェアである｡
UEFIはシステムファームウェアの一種で､ ブート時の64ビットCPU操作のサポート､
ブート時の完全なグラフィカルユーザーインターフェイスとマウス操作､
より優れたブートセキュリティを提供します｡
UEFIに依存するコンピュータは､ GPTとして知られるGUIDパーティションテーブルを使ってブート情報を保持する｡
UEFIは､ 2テラバイトを超えるサイズのディスクにアクセスし､
そこからブートする機能を提供し､ CPUに依存しないアーキテクチャとドライバ､ ネットワーク機能とウェブブラウジングアクセスを含むことができるプレOS環境を提供する｡
全体的に､ UEFIはBIOSよりも新しく先進的で､
セキュアブートを含むブートプロセス中の追加セキュリティと整合性チェックを提供します｡
現在､ BIOSとUEFIは数種類のパスワードを使って保護することもできる｡
これには､ スーパーバイザー､ アドミニストレーター､
またはセットアップのパスワード､ ユーザーまたはシステムのパスワード､ およびストレージまたはハードドライブのパスワードが含まれます｡
スーパーバイザーパスワード､ 管理者パスワード､ またはセットアップパスワードは､
BIOSやUEFIを使用する際に最初に見つかるパスワードのタイプです｡
このパスワードはBIOSまたはUEFI設定プログラムへのアクセスを保護するために使用され､
権限のないユーザーがこの機密設定ツールにアクセスするのを防ぎます｡
このパスワードを設定すると､ 誰かがBIOSやUEFIに入ろうとしたときに､
アクセスを許可する前にパスワードの入力が必要になりますが､ 誰かがコンピュータの電源を入れて通常のオペレーティングシステム環境で起動するのを防ぐことはできません｡
このパスワードは､ ほとんどの場合､ 企業や企業ネットワーク内のコンピュータに設定され､
エンドユーザーはBIOSやUEFIにアクセスできないが､
システム管理者や技術者は正しいパスワードを持っていればアクセスできるようになっている｡
ユーザーパスワードまたはシステムパスワードは､
BIOSまたはUEFIで設定できる2番目のタイプのパスワードです｡
このパスワードは､ コンピューター全体へのアクセスをロックするために使用されます｡
コンピュータの電源が入ると､ 必ず停止してパスワードを要求してくる｡
エンドユーザーが正しいパスワードを入力すれば､ コンピューターはオペレーティング・システムをロードし､
起動し続ける｡
というのも､ このパスワードは､ そのコンピューターにアクセスするすべてのユーザーと共有しなければならず､
この共有パスワードによって､
私たちが得ようとしているセキュリティの一部が否定されてしまうからだ｡
その代わり､ 通常､ ユーザー・パスワードやシステム・パスワードは､
その人のコンピューターにその人しかユーザーがいない場合にのみ使用されます｡
これは､ Windows､ Linux､
MacOSシステムにアクセスするために使用されるユーザーパスワードとは別のものであり､ その代わりに､
ユーザーにその動作前のシステム環境でのアクセスを許可するものである｡
3つ目のタイプのパスワードは､ ストレージまたはハードドライブのパスワードとして知られています｡
このタイプのパスワードは､ 最近のコンピュータにトラステッド・プラットフォーム・モジュールやハードウェア・セキュリティ・モジュールが搭載される以前は､
非常によく使われていた｡
このパスワードは､ システムに接続されたハードディスクへのアクセスをロックするもので､
ハードディスクを読み込んでオペレーティング・システムをロードするためには､ エンドユーザーがパスワードを入力する必要がある｡
適切なパスワードが入力されるまでシステム全体からユーザーを締め出すユーザー・パスワードやシステム・パスワードとは異なり､
ストレージ・パスワードやハードディスク・パスワードは､
ハードディスク・ドライブと､ そこからオペレーティング・システムを起動する機能だけを締め出す｡
次に取り上げるべきセキュリティ機能は､ セキュア・ブートと呼ばれるものだ｡
セキュアブートはUEFIインターフェースと設定で有効にすることができ､
BIOSではサポートされていません｡
有効にすると､ Windowsやこの機能をサポートする他のオペレーティング・システムの起動プロセス中に3つの異なる検証を実行し､
コンピュータがオペレーティング・システムに注入された何らかの悪意のあるコードに乗っ取られていないことを確認する｡
通常のウィンドウズ・システムのフル起動プロセスを見てみよう｡
プロセスの最初のステップは､ Windowsコンピュータが起動し､
ファームウェアのブートコンポーネントがロードされ､ ブートマネージャが起動するときに発生する｡
次に､ ウィンドウズローダーが開始され､
ウィンドウズカーネルが開始され､
ブートに不可欠なドライバーのインストールが行われる｡
次に､ オペレーティング・システムの初期化が行われ､
最後にWindowsのログイン画面が表示される｡
さて､ セキュアブート中にファームウェアのブートコンポーネントがロードされると､
ファームウェアはまず､ すべてのUV実行ファイルとOSローダー自体の完全性が損なわれておらず､ マルウェアによって侵害されていないことを確認する｡
つまり､ 安全に積み込めるということだ｡
次に､ Windowsブート・コンポーネントは､ 各コンポーネントをロードする前に､
各コンポーネントのデジタル署名を検証する｡
このシグネチャ・チェックに失敗したコンポーネントはロードされず､
エンドユーザーに警告が発せられる｡
最後に､ ブートクリティカルドライバは､ 既知の良好なハッシュと照合され､
このチェックに合格すれば､ セキュアブートプロセスの最後の部分としてロードされます｡
さて､ セキュアブートに関して覚えておいてほしいのは､
これはオペレーティングシステム自体が信頼でき､
ルートキットと呼ばれる特殊なマルウェアの犠牲になっていないことを確認するための手順だということだ｡
セキュアブートが機能するためには､ UEFIシステム内部で有効にする必要があり､
オペレーティングシステムもそれをサポートする必要がある｡
BIOSまたはUEFIでカバーする必要がある最後のセキュリティ機能は､
マザーボード上のUSBポートのパーミッションの設定です｡
最近のシステムの多くは､ マザーボード上のUSBポートを有効または無効に設定できるようになっており､
中にはUSBポートを制限して､ 特定の種類のUSBデバイスをサポートしないようにしながら､
他のUSBデバイスは使用できるようにできるものもある｡
さて､ ここで懸念されるのは､
マルウェアやデータ損失である｡
マルウェアという点では､ USBポートはシステムに侵入しようとする者にとって格好の攻撃手段となる｡
例えば､ USBメモリにマルウェアを仕込んでおけば､
オフィスビルの外の駐車場に落として､ 誰かが興味を持ってそれを拾って自分のマシンに差し込めば､
システムにマルウェアをインストールすることができる｡
そこで､ USBのマスストレージ・デバイスからの読み書き機能を無効にすることで､
これを防ぎたい｡
USBを完全にブロックすることもできるが､
そうするとヘッドフォンやウェブカメラ､
マウスやキーボードなどが使えなくなる｡
USBメモリやフラッシュドライブ､
外付けハードドライブなどをシステムに接続できないようにするのだ｡
これにより､ マルウェアの侵入を防ぐことができる｡
それに加えて､ データの流出を防ぐこともできる｡
例えば､ あなたが政府内の極秘組織で働いているとしよう｡
誰かが小さなUSBメモリーを持って入ってきて､
それをコンピューターに接続し､ あなたの情報をすべてダウンロードして､
それを持って玄関から出て行くことができたら困るだろう｡
これを防ぐには､ USBポートをブロックしたり､
大容量記憶デバイスとして使用できないようにUEFIを設定すればよい｡
セキュリティに関して言えば､ BIOSやUEFIが提供できるものは主に3つあることを覚えておいてほしい｡
1つ目は､ システムのさまざまな部分へのアクセスを制御するためのパスワードを設定する機能だ｡
もうひとつは､ セキュアブートを有効にして､ オペレーティングシステムがロードされる前に危険にさらされていないことを確認する機能だ｡
そして3つ目は､ マルウェアがシステムに侵入したり､ データがシステムから流出したりするのを防ぐために､
マザーボード上のUSBポートを制限したり無効にしたりする機能だ｡