インテル トラステッド・エグゼキューション・テクノロジーとは、
インテルが開発したハードウェアセキュリティーです。
※トラステッド・エグゼキューション・テクノロジー = Intel TXT(以下Intel TXTで統一)
★☆ そもそもどんな技術なの? ☆★
セキュリティを強固にするというのは、どういう事が思い浮かぶでしょうか?
・オペレーティングシステムのセキュリティパッチを適用する事。
・オペレーティングシステム上の不要(使用しない)サービスを停止しておく事。
・ウィルス対策ソフトをインストールして実行しておく事。
・信頼できないサイトにはアクセスしない事。
個人で守れる範囲は色々とありますが、悪意ある攻撃はより複雑化・高度化し、
個人では簡単に守れない範囲にまで手を伸ばしてきています。
ビジネスベースのシステムで考えられる、悪意ある攻撃とはどういう事が思い浮かぶでしょうか?
・Webサイトのシステム破壊や、データの不正取得
・システムへ高負荷を与えることによるサービス提供妨害
・ハードウェアの破壊につながる不正コードの実行
色々と手を変え、品を変え、あらゆる方面から脆弱性を利用して、
不正なアクセスを実行しようとする悪意あるユーザーが存在することは、
昨今のシステムを構築する前提条件として、必須条件として
考えておかなければいけない状況となってしまっています。
そして、ただ単に、ウィルス対策ソフトを実行していた“だけ”や、
ファイアウォールでアクセスポートを制限する“だけ”では
対策が終わらない状況となっているわけです。
世間一般的に、仮想化環境でのハードウェア統合を実施することにより
高効率なシステム運用を実施する事が声高に叫ばれる時代にあたり、
仮想化環境ならではのセキュリティの脆弱性として狙われるポイントが
出てきました。
それは、ずばり「仮想化環境そのもの」です。
何故、仮想化環境が狙われるのか?
簡単に説明しますと、たとえばVMware等で仮想環境を作成したとします。
システムが起動していく形を簡単に示しますと
「ハードウェア起動」→「VMware起動」→「仮想環境上のOSが起動」
となります。
では、仮想環境上のOSにインストールされたセキュリティソフトは、
どこまで不正な状況を検知できるでしょうか?
それは、「仮想環境上のOSが起動」した後の状況であり、
ハイパーバイザーであるVMwareに悪意ある不正な改変をされてしまった場合、
不正を検知することができないと言い換えることができます。
この不正が検知できないという事は、システム構築上の穴となるべき
ポイントであり、OS以下の層はOSからは防ぐ方法が無い為、
悪意あるユーザーが目的を達成する手段として狙ってくるのは
自明の理と言う事ができるでしょう。
その為、OS以下の層で意図しない行動をした時は検知したいという
ニーズを満たすために開発されたのがIntel TXTというわけです。
システムが提供されるうえで、Intel TXTが果たす役割とは、
以下のポイントに集約されます。
・『起動するハードウェアが既知の構成であると保障する』
言い換えますと、システムボードのBIOS等の各種ハードウェアの
制御モジュールにおける悪意ある不正“改変”された
ハードウェア環境を検知する。
・『起動されるソフトが既知の物であるものと保障する』
言い換えますと、仮想環境のハイパーバイザーにおいて、
悪意ある“改変”のなされたハイパーバイザーの実行を検知する。
この検知する事というのがIntel TXTの本質であり、
検知したことによって可否の判断を行えるので
結果的にセキュリティを高めることができるという事です。
★☆ 信頼の連鎖を作る構成要素とは? ☆★
Intel TXTを実行可能とするハードウェア条件としては、
Intel vProに準拠する下記の環境を必要とします。
・対応プロセッサ
・チップセット
・対応BIOS
・TPM 1.2チップ
・AC(Authenticated Code)モジュール
上記以外にも、Intel TXTに対応するOSが限られる
という点もありますので、案外個人で構築する環境としては、
選択肢が狭いと言えます。
TPMチップにて検証ができる環境が基本的にビジネスユースである事が
大きな要因だと思われますので、マザーボードなどの選択肢が
狭まるのは仕方のないことかもしれません。
今回は、レビューアイテムとして「Core i7-3770」「DQ77MK」を
使用させていただき、ハードウェア条件をクリアします。
実証実験として、Windows 8上からのセキュリティデバイスである
TPMの確認と、実際にハイパーバイザー上でのTrustedなチェックが
実行されたか確認を行ってみます。
TrustedBootが実行されるハイパーバイザーでの動作検証
★☆ BIOSでIntel TXTを有効化してみましょう!! ☆★
Intel TXTを有効化するには、マザーボードのBIOS設定で
以下の項目を有効にしなくてはいけません。
Configuration > Onboard Devices > Advanced > Peripherals Configuration
> Trusted Platform Module Presence : Enable (デフォルト値:Enable)
Configuration > Onboard Devices > Advanced > Peripherals Configuration
> Trusted Platform Module :Enable (デフォルト値:Disable)
Security > Intel@ Trusted Execution Technology : Enable (デフォルト値:Disable)
上記設定変更後、再起動すると、OSのデバイスマネージャ上にて
TPM(トラステッド・プラットフォーム・モジュール)が
認識できるようになっています。
これで、TPMモジュールを扱う事ができるようになりましたので、
次にTPMモジュールの初期化を行ってみます。
※※※ TPMモジュールってなんですか? ※※※
簡単に言いますと、セキュリティ用の外部チップです。
CPUではなく、このチップの中で乱数を計算したり、
MD5のハッシュ値を計算する機能を持つ専用チップと
することで、システムから独立した第三者の
監査官的な役割を果たします。
※※※※※※※※※※※※※※※※※※※※※※※
TPMモジュールの状態を確認する上で一番確実かつ簡単な方法が
実はWindows OS上のサービスとして実装されています。
「トラステッド プラットフォーム モジュール管理」という機能です。
起動方法:プログラムのファイルと検索において「tpm.msc」と入力し実行します。
※mmc.exeでコンソールを開いて、スナップインの追加と削除で「TPMの管理」を
追加する方法を一足飛びで実現するのが上記のmscです。
ネットワーク上の別PCを見るときには、コンソールからの起動でないと
他のPCを選択する入力が出てこないのでちょっと不親切かなとも思ったりしてます。
Windows 7 Ultimate、Windows 8 Proのどちらでも、まったく同じ画面が
立ち上がってきますので操作に違和感はありません。
OS毎にコマンド管理で設定されている許可されている内容が若干違ったりしますが、
OSの機能と標準セキュリティポリシーの差のため、気にする必要はありません。
なお、同じような機能を持つソフトウェアとして、
マイクロソフトのサイトでマザーボードで使えるアプリとして配布されている
EMBASSY* Security Centerというソフトがありますが、
こちらのソフトはWindows 8では下記の通りエラーが出て起動しないのが難点です。
Windows 8でも、「TPMの管理」コンソールからのTPMチップの操作はできるので、
このソフトのWindows 8対応が全くされていないという残念な事情が見えてきます。
起動さえできれば、下記の通りグラフィカルで
わかりやすいと思えるインターフェースのソフトなので
とっても残念ですね!
TPMモジュールを初期化して、任意のパスワードを設定するためには、
TPMをクリアしてしまうのが一番手っ取り早いですが、問題点もあります。
もし、TPMリセット前にセキュリティ設定としてWindowsのドライブ暗号化である
BitLockerをTPMチップを使う方式で暗号化していた場合、復号化ができなくなり
データが読めなくなってしまうので注意が必要です。
初期化してしまうと回復パスワード以外で復旧不可能なので要注意です!
(初期化する人はそんなもの控えてないというジレンマ!!)
といっても、基本的に、個人がつかうPCでBitLockerを設定していないと思うので
それほど気にする必要もないかもしれません。
★☆ TrustedBootを確認してみよう!! ☆★
さて、TPMチップを初期化&任意のパスワードを設定したところで、
さっそく実働のチェックをしてみましょう!!
といっても、Windows 8 Proにおいて、Intel TXTを有効化したところで
何かチェックができるというわけでもないので、別のソフトウェアで
確認をしてみたいと思います。
インテルの【海外の資料】を確認しますと・・・
Software and cloud services という項目にて、対応している
OSが記載されていますね!
フリーで確認できそうなソフトとしては、Fedoraがあるようですが、tbootを
組み込まないといけないようなので、Linux系OS初心者には厳しいところ・・・。
仮想化のハイパーバイザーにおけるIntel TXTの起動を確認したいので、
今回はVMware vSphere Hypervisor (無償版のESXi 5.1)で確認してみましょう。
VMware ESXi公式サイト
まず、ユーザー登録必須なので、さくっと登録したうえで、
ESXi 5.1 Update 1 ISO image (Includes VMware Tools) をダウンロードします。
ダウンロードしたISOファイルをディスクに書き込んだうえで、
ディスクから起動してさくっとインストールプロセス開始です。
ユーザーライセンス規約をよく読んだうえで(F11)
インストールするシステムドライブを選んで(Enter)
言語はちゃんと日本語があります!
rootアカウントのパスワードを設定
インストール完了するとディスクを抜いてリブートです!
起動後ログインするとこんな画面です。
あくまでハイパーバイザーの必要最低限の管理だけ
出来るというインターフェースですが、必要十分です。
取り急ぎ必ず設定しないといけないのが、ネットワークのIP設定です。
DHCPではどのIPに割り振られたかわからず、後々管理で困りますからね!
固定IPに設定してOKです。
では、さっそくTrustedBootがされているか確認してみたいと思います。
でも、どこを見たらいいんでしょう・・・というのが不明でしたので
システムログを端から見ていきますと・・・
あれ?!TrustedBoot関連のログを見つけることができましたが、予想外にFALESです!!
どういう事でしょうかという事で、BIOSを見直してみましたがTPM設定は問題ないですし、
再起動しても結果は変わらないです。
もう少し詳細にわからないかなと思い、VMware ESXiにて
SSHでの管理を受け付けるように設定を変更したうえで、
別のPCからログインし、確認してみます。
確認のコマンドを実行してみますと・・・
やはり、vmbTrustedBoot=falesとなっており、TrustedBootが
実行できていないことがわかりました。
原因を探るために、TrustedBootの情報を確認してみますと、
Tpm Present : true となっているのでチップは認識できているのですが、
肝心のDrtm Enabled : fales となっており、Drtmが失敗しているようです。
Drtmは、Dynamic RTMの略で、CPUが起点となる計測を実行し、
信頼されるChainを作成する処理です。
これが失敗しているといるという事は、OS起動のチェックにおいて
設定が間違っているか、そもそもちゃんと動いていないかです。
ただし、TPMのステータスが読みこめている事から、
少なくともVMware ESXiについては、OS自体にちゃんとドライバを
持っているという事でありますし、VMwareの説明でも、
ESXi 5.X系はTrustedBoot関連の設定はEnableがデフォルトです。
という事は、考えられる理由として、ちゃんと認証された
ハードウェアでない為、正常に動作していないという事が考えられます。
ハードウェア互換リスト
確認してみますと、今回テストに使用したマザーボードでは
認証済みのハードウェアとして登録されていませんでした。
やはり、こういう信頼性を確保した仮想環境の構築は、
各社のサーバー用途向けなアイテムばかりですので
民生用のハードウェアで何とか実現して使おうとするのは
ちょっと甘い考えだったという事でしょうね。
今のハードウェア構成でVMware ESXiのTrustedBootが使えるのであれば
良かったのですが、残念ながら使う事ができませんでした。
インテルとしても、今回チェックしたDQ77MKというマザーボードの
対応OSとして明記されていないので、動かなかったとしても仕方がありません。
デスクトップ・ボード 対応オペレーティング・システム
でも、よくよく見てみると、Windows Server系OSも対象外というのが結構つらいです。
個人で検証環境を作ったりするには向いていないとなってしまい、非常に残念です。
今回の動作検証で、仮想化という構築方法に興味が出てきたので、
安いサーバーでも購入して試してみるべきかとっても迷っています。
★☆ まとめ:TrustedBootが実現する安心感 ☆★
残念ながら、一連の動きとしてのTrustedBootが実現する
トラストチェーンな環境を実現する事はできませんでしたが、
仕様として、仮想環境の安全性を高める技術であることが良く分かりました。
この技術が利用されている仮想環境であれば、安心して使えるなと感じました。
個人的に今まで興味のなかった仮想化について、興味がわいてきたので、
継続して個人用として使えないか検討をしてみたいと思います。
ZIGSOWにログインするとコメントやこのアイテムを持っているユーザー全員に質問できます。