第3世代インテル® Core&trade i7 プロセッサー

5人1組のチーム制、合計30人がレビュー!

zigsowでは、インテル® vPro™ テクノロジーによる5つの機能を「5つの謎」に置き換えて、5人1組のチーム制で解き進む「冒険レビュー」を実施。「解読のストーリー」は、レビューアーに選出された30名をランダムに組み合わせて5人1組全6チームに編成し、テーマとして伝達された「謎=機能」を制限時間内で実験・検証を行うレビューです。各チームが行う実験・検証のプロセスを記したレビュー(冒険記)は自由に閲覧することができるので、インテル® vPro™ テクノロジーに対応したプロセッサーを最大限有効に使いたい時には最適です。

5人1組チームレビューの詳しい企画内容はコチラ!
インテル® vPro™ テクノロジー  第二の謎

「インテル® トラステッド・エグゼキューション・テクノロジー」とは!?

「インテル® トラステッド・エグゼキューション・テクノロジー」とは!?

ハードウェアレベルから信頼できる実行環境を確保するテクノロジー

0.はじめに  

 インターネットが発明されて以来、外部からの攻撃、データ流出のニュースはあとを絶ちません。さらに近年普及している仮想化環境・クラウドコンピューティングではネットワーク接続における安全性がますます増加しています。  

 これまでのセキュリティのやり方はウィルス対策ソフトやファイアウォールなどソフトウェアによる方法がほとんどでした。一方で、攻撃の方法は多様化、高度化しており、BIOSに対して直接攻撃をかけるもの、VT-x技術を利用して利用中OSを仮想マシンにしてしまうrootkit hypervisorなどOS上のソフトウェアによる対策では防げない脅威が増加しています。  

 脅威を最小限にするため、スタンドアローン、外部と遮断することで安全性を保つのも一つの考え方です。しかしながら、仮想化やクラウドコンピューティングの生産性は非常に高いものであり、このような考え方が非効率的であることは明白です。

  このような現状に対して、インテル トラステッド・エグゼキューション・テクノロジー(Trusted Execution Technology TXT)はOSより下位、ハードウェアレベルまで踏み込むことで信頼できる実行環境を確保するテクノロジーです。

 

1.トラステッド・エグゼキューション・テクノロジー(TXT)とは  

 

1.1 目的

 英語のWikipediaでわかりやすくまとめられていたので、以下の文章はそれを参考にしています。

 

 

  Intel TXTの目的は下記の三点です。

 a)Attestation(証明) - ハードウェアプラットフォームとOSの信頼性を証明する。

   b)信頼できるOSが信頼できる環境で起動することを確認することで、信用できる(Trusted)OSであるとみなす。

   c)未検証のOSでは得られないセキュリティ機能を信用できるOSに付加する。

 Intel TXTは TrustedPlatform Module(TPM)と暗号化技術を使ってソフトウェアとプラットフォームの検証を行い、ローカルまたはリモートでの管理ソフトが信頼性の判断にその検証結果を使うことができる。この技術はより安全なコンピューティングを促進するためにTrusted Computing Group(TCG)により定められた業界イニシアチブに基づいている。TXTはソフトウェアによって行われるシステムやBIOSコードの破壊やプラットフォームの設定改変によって情報が奪われることを防いでいる。

 

 

 つまり、TXTとはTPMという信頼できるハードウェア環境において実行されるシステム保護機能で、管理ソフトはTXTの検証結果を信頼性の検証に利用できる、といったところでしょうか。

 

1.2 Trusted Platform Module(TPM)

 TXTの具体的な機能の前に、TXTに必要なTrustedPlatformModuleがなんなのかを見てみます。

 

 

 コンピュータのマザーボードなどに装着される、セキュリティ関連の処理機能を実 装したLSIチップ。業界団体のTrusted Computing Group(TCG)が標準仕様を策定しており、パソコンの企業向けモデルなどに搭載されている。

 RSA暗号の符号化・復号や、公開鍵と暗号鍵のペアの生成、SHA-1のハッシュ値の計算、デジタル署名の生成・検証などを行なうことができ、また、内蔵した不揮発メモリに生成した値などを保存しておくことができる。これらの機能により、ソフトウェアの改ざん検出、なりすましが困難な個体識別や端末認証、ハードディスクなどのストレージの安全な暗号化などを実装することができる。(IT用語辞典 e-Wordsより)

 

 セキュリティ用の専用LSIチップということです。暗号化などを独立して行うことができるために信頼性が高いというところでしょうか。TXTはこのチップを利用するのだと考えられます。

 

1.3 TXTにより行われるMeasured Launch

ここではインテルのプレゼン資料を参考にTPMとTXTが行うことの概要を紹介します。 

 

TPM、TXTは起動時に以下の順序でシステムの信頼性を検証して行きます。

各所に出てくる検証するという所での検証結果はPCRというマザーボード上にあるレジスタに保存されます。

 

0.PCRを全部クリアする。

1.Core Root of Trust(CRTM)と呼ばれるコードが自分自身の信頼性とBIOSの信頼性を検証する。

2.BIOSが起動する。(1によりBIOSは信頼できる)

3.BIOSが実行され、起動時にハードディスク上で最初に読み込まれるMaster Boot Record(MBR)が検証される。

4.MBRが実行される。(3によりMBRは信頼できる)

5.MBRがブートローダー(OSをディスクから読み込んで起動するプログラム)を検証する。

6.ブートローダーが起動する。(5によりブートローダーは信頼できる)

7a.ブートローダーがシステムソフトウェア(仮想マシンモニタなど)の信頼性を検証する。7b.TXTが実行されていると、SINIT AMモジュールがブートローダーとシステムソフトウェアを検証する。その値はPCRの17番、18番に保存される。

次にSINIT ACモジュールというソフトウェアにより、これまでの検証で保存されたPCR

の値をLaunch Control Policy(LCP)と比較する。LCPは既知の安全な起動順序を示すもので、ここまでの検証結果がLCPと合致すれば環境の信頼性は保証されることになる

PCR値がLCPにおいて定義される値と合致しない場合、システムの改ざんを含めた環境の変化を示すため、エラーを報告し、修復のためにリセットを行う。

8.システムソフトウェアが起動する。

9.システムソフトウェアはアプリケーションの信頼性を検証する。

10.アプリケーションが起動する。

 

 1から7a番まではマシンの起動時のみに行われStatic Chain of Trustと呼ばれ、BIOSの命令で行われるSRTM(Static Root of Trust Measurement)により実現されます。SRTMはTXTなしでもTPMとマザーボードで実現しています。

 TXTが実現するのは8b以降のシステム起動後における信頼性を検証するDynamic Chain of Trustと呼ばれるもので、この部分はCPUの命令により行われるDRTM(Dynamic RTM)により実現します。

 

 この考え方にもとづくと、最初に検証を行うCRTMが改ざんされていた場合、以降のプロセスの信頼性はなくなり、検証の意味がなくなります。そのため、CRTMは改ざんできないように物理的な書き込み保護機能で守られているそうです。

1.4 TXTのその他の機能

 1.3では安全な環境で起動されていることを確認するMeasured Launchという機能を説明しました。TXTはMeasured Launchだけでなく、”動作している仮想マシンの挙動を別の監視用仮想マシンを使ってチェックすることで、異なるOSの脆弱性の影響を排除した「プロテクテッド・エグゼキューション」、メモリ内で不正な動きをするデータを発見したら、そのエリアを強制的にクリアする「TXT SCLEAN」など”(IT Media PC Usersより)があります。

 プロテクテッドエグゼキューションは仮想マシンの対応が必要と考えられ、ハードウェアだけでなく、ソフトウェアによる安全環境確保にもTXTは使われているということがわかります。

 

2.まとめ

・intel TXTは既知の信頼でき環境を定義するLCPとTPMによる起動環境検証結果を比較することで、信頼できる環境においてシステムが起動していることを確認するMeasured Launchをシステム起動時に行う。

・Measured Launchに加え、「プロテクテッド・エグゼキューション」や「TXT SCLEAN」によって、システム実行中の安全を確保している。

・TXTによる保護は、マザーボードの対応、CPUの対応、ソフトウェアの対応を組み合わせることによって実現している。

インテル® vPro™ テクノロジー 実施・検証レビュー

Measured Launchの検証

1.はじめに

解答編で調べた結果、TXTにはMeasured Launchをはじめとした複数のハードウェア、ソフトウェア的に利用可能な機能があることがわかりました。

VTの検証から、手元にはWindows Server2012とXen Client XTの仮想マシンモニタ環境があります。TXTの検証でもこれらを使って行きたいと思います。

2.WS2012とXenClientXTのTXT対応

 インテルにより提供されているTXT対応製品リストを見ると、Windows系OSは一つもありません。Windows8やWindows Server2012にはセキュアブートと呼ばれる機能がりますが、これが同チームのpobiさんの検証結果からTXTオフでも利用できるとのことなので、MeasuredLaunchに相当するものかは不明です。

 

 一方でXenClientXTはvPro対応に関する説明文書の中に、TXTによって起動するたびに、仮想マシンモニタと仮想マシンの改ざんを検知すると書いてあります。つまり、解答編で調べたMeasuredLaunchを実現していると思われます。

 

 プロテクテッドエグゼキューションなどほかの機能については、環境を含めて具体的な検証方法を見つけられなかったため、本レビューはXenClientXTとIntel TXTを利用したMeasured Launchを紹介します。

3.手順

 XenClientXTのマニュアルに手順が載っていました。

ちなみに、VT検証のときは設定を一切行っていなかったので、起動するたびに以下の警告が出ていました。

 

手順は以下のとおりです。

 

  1. BIOSを最新版にアップデート(省略してしまいました)

  2. BIOS設定に入る

  3. シリアル・パラレルポートを無効にする。可能な限り使わないデバイスは無効にする

  4. 再起動後、BIOS設定に入る。

  5. Intel TXTを無効にする

  6. 再起動後、BIOS設定に入る。

  7. TPMをクリアする。

  8. 再起動後、BIOS設定に入る。

  9. TPMを有効にする。

  10. 設定を適用後電源を切る。

  11. マシンを起動してTXTを有効にする。

  12. 設定を適用後電源を切る。

  13. マシンを起動してXenClientXT上のコマンドプロントを開く。

  14.管理者権限でログイン、tpm-setupとコマンド入力する。

  15. コマンドプロンプトを閉じる。

  16. マシンを再起動する。

  17. tpm-setup実行後の最初の起動ではコントロール領域のファイルシステムが検査され、結果がTPMに保存される。起動後は再起動する。

以上となります。

4.BIOS側の設定

上の手順1から12はBIOS側でのTXT、TPMの設定です。

手順3シリアル・パラレルポートに関しては、無効にするとUSBマウスなどが使えなくなる現象になったので、無効にできるものだけやりました。

手順5のTXTのオフはVT同様、Seculityのタブから行います。

 

手順7のTPMクリアはDQ77MKではマザーボード上のジャンパピンを差し換えないと設定ないと付属の説明書に書いてあったので、差し換えて設定します。

手順8は手順5と同様です。

 

5.XenClientXT側の設定

仮想マシンモニタXenClientXT側ではコマンドプロンプトで管理者権限ログイン後、一行のコマンドを実行するだけです。

TPM is not ownedとあるので、もしTPMを使うソフトウェアがあったら無理なのだと推測されます。TPMに現在の環境をXenClientXTが保存するのでしょうか?

 

ひとまずこれで終了です。

 

6.結果の確認

TXT、TPMをオンにした状態で以上の状態から再起動すると、以下のように画面右下にMeasured Launchが成功したとのことが出ます。

TXTをオフにするとMeasuredLaunchが行われていない旨が表示されます。

MeasuredLaunchを設定したXenClientXTはTPMなどからTXTの状態を確認できるのでしょうか。よくわかりません。

TXTがMeasured Launchの失敗を検知するところを確認しないと不十分かもしれませんが、どうやればよいかわからないので、これで今回は終了です。。

 

7.まとめ

今回はXenClientXTを利用してTXTの機能の一つである、仮想マシンモニタのMeasuredLaunchを設定しました。設定は簡単な方だと思われますが、BIOS側でTPM設定をする必要があり、Measured Launchが TPMに基づく機能であることが確認できました。

調べる中で、TXTはVTと比較して実例が極めて少なく感じました。検証例は少なく、今回の企画自体がかなり重要な知見ではないかと思います。Measured Launch以外のテクノロジーも同様に実例がないため、どうやれば良いか分からず検証まで至りませんでした。

以上となりますが、個人向けPCではWindowsが主流の現状、Microsoftが対応しないと個人利用では使う機会はないかと思います。セキュリティ上は非常に魅力的な機能だと思うので、ぜひ対応を進めてほしいと考えます。

TEAM REVIEW
5人1組のチームで計30人がレビュー