信用できるソフトウェアだけが実行できる"トラステッド"な環境とは ― インテルTXT(LaGrande)のデモを披露 ―

2007/6/13 - トピックメーカー/田中伸一

インテルは2007年6月7日、都内で『インテル プラットフォーム技術セミナー 2007』を開催した。同社のセキュリティー・アーキテクトを招き、PCの安全性を高めるためのプラットフォーム技術や業界団体TCG(Trusted Computing Group)の取り組みに関する講演のほか、2007年第3四半期の投入が見込まれている次世代インテルvProプロセッサー・テクノロジー(Weybridge)でサポート予定の"インテル トラステッド・エグゼキューション・テクノロジー(以下、インテルTXT)"のデモを披露した。


あいさつをするインテル株式会社
代表取締役共同社長 吉田 和正 氏
無線、有線を含め通信インフラにおける技術革新に伴い、ブロードバンドが世界的に普及している現在、セキュリティーの脅威に対する、より強固なソリューション、国境を越えたセキュアなデジタル通信を実現する手段が必要です。そのためには標準化をはじめ、業界全体がセキュリティー向上に向けて取り組んでいかなければなりません。」(吉田氏)

ソフトウェアだけで'悪循環'を断ち切るのは不可能

近年のセキュリティー攻撃は洗練された方法でシステムに侵入し、潜伏しながら密かに活動する傾向にある。それに対して、『ベンダーから提供されるセキュリティー・パッチの適用』といった基本的な対策すら実施していないPCユーザーが少なくない、という実態がセキュリティー情報サイト等で報告されている。
米Intel Corporationのセキュリティー・アーキテクト兼シニア・プリンシパル・エンジニアで、 Trusted Computing Group TPM Work Groupの議長(Chair)を務めるDavid Grawrock氏は講演の中で、セキュリティー攻撃に対するクライアントPCの保護は、サーバーやネットワークほど強力ではない反面、企業、個人、いずれにおいても、価値の高い大量の情報をクライアントPC上で扱うようになっていると指摘。現在の主流であるソフトウェアをベースとしたセキュリティー対策の限界、そしてクライアントPCが置かれている危機的とも言える状況を指摘し、ハードウェアをベースとした、より強力な保護機能が必要であることを強調した。

「ユビキタスな接続環境の整備が世界中で進む中、これを利用するセキュリティー攻撃ツールは年々増え続け、また手口も高度になってきています。それらはインターネットを通じて瞬く間に拡散し、(ソフトウェア・ベースの)保護技術より速いペースで進化しながら新たな攻撃の矛先を求めています。そして、クライアントPCに蓄積される情報の価値が高まれば、それらを狙う動機も増えてきます。そうした悪循環をソフトウェアだけで断ち切るのは、もはや不可能です。」(Grawrock氏)

セキュリティーは感覚的、トラストは予想通りの動作をすること

そこで最近脚光を浴びているのが"トラステッド・コンピューティング"だ。しかし、「トラスト(Trust)」とは何か、これまで一般的に使われてきた「セキュリティー」という言葉とどう違うのだろうか。
この疑問に対してGrawrock氏は、これら2つの言葉について「セキュリティーは、大丈夫だと思っている'感覚'、トラストとは意図された動作が期待できるということです。」と定義し、両者が持つ意味合いの違いを明確化した。さらに、トラストという言葉自体は期待される動作の内容まで限定していない、つまり、マルウェアが侵入しているとわかっている場合、それが様々な攻撃を仕掛けることは予測可能であり、それも「期待通りの動作」に含まれる。したがって、トラストという言葉は必ずしもユーザーにとって「良いこと」を意味するものではなく、「良いソフトウェアも悪いソフトウェアも含めて、すべてが期待通りの動作をすることです」と、専門家ならではの厳密な解釈を示した。

その上でGrawrock氏は、信用できるか否かを判断するためには次のものが必要になると述べた。

  • 身元を明らかにするための‘アイデンティティー(Identity)’。
  • アイデンティティーを獲得するための‘メジャーメント(Measurement)’。

同氏によると「メジャーメント」とは、ソフトウェアの種類やバージョン、パッチの適用状況といった情報を計測、評価するプロセスで、これには通常、ハッシュ値が使われる。ハッシュ値は大きな数(この場合はソフトウェアを構成するプログラム・コード)を、短くてユニークな数値で表すことができる。さらに、元になる数の一部が変われば、まったく異なった値になるため、これにより迅速且つ、正確なメジャーメントが可能となる。

"信用の連鎖(Chain of Trust)"の根幹、TPM (Trusted Platform Module)

この「アイデンティティーの獲得」および「メジャーメント」に重要な役割を果たすのが"TPM(Trusted Platform Module)"となる。TPMは、非営利の業界団体TCG(Trusted Computing Group)で策定作業が進められているトラステッド・コンピューティング――利用しているソフトウェアが信頼できるものであることを担保するような仕組みを持ったコンピューティング環境――のための業界標準の一つで、Grawrock氏自身も、その策定に深く関わっている人物である。同氏によるとTPMは、(1)プラットフォームの一意的な識別、(2)プラットフォーム上で使われているソフトウェアの状態(種類やバージョン、パッチの適用状況など)の把握、(3)ストレージの長期的な保護、といった機能をプラットフォームに提供し、これによりプラットフォームの「アテステーション(検証)」や「認証」、「機密保護」といったことが可能となる。

Grawrock氏は、TPMが持つ以下のように機能についての詳しい解説を行った。


TPMの基本的な構造

TPM内部には、不揮発性/揮発性メモリーやキー生成回路、動作を制御するためのプログラム・コードなどが内蔵され、プラットフォームに一意性を持たせるためにTPMごとに割り振られたEK(Endorsement Key)、さらにアテステーションやデジタル署名、暗号化のための鍵類が格納される。また、PCR(Platform Configuration Register)と呼ばれるレジスタに、メジャーメント結果のハッシュ値が保持される。


Chain of Trust

TPMには、"Root of Trust"にはじまる"Chain of Trust"(信用の連鎖)を確立するための3つの機能がサポートされている。'RTR(Root of Trust for Reporting) 'はTPMの情報や状態をデジタル署名化、'RTS(Root of Trust for Storage) 'はTPM外部に保存されている情報を暗号化するためのメカニズムを提供し、そして'RTM(Root of Trust for Measurement) 'でプラットフォームの状態をメジャーメントし、信用の連鎖の起点を生成する。因みにRTMにはブート毎に使われるSRTM(Static RTM)と、特定のイベントが発生したときに使われるDRTM(Dynamic RTM)がある。


Transitive Trust

Transitive Trustでは、RTMからコンポーネント1、コンポーネント1からコンポーネント2へと、信用の連鎖をつなげていく。その連鎖が進むたびにTPM内部のPCRを拡張しながらメジャーメント結果を格納していく。


Credential

TPMでは、RTMが信用できるものである'証拠(Evidence)'を提示するための'クレデンシャル(Credential = 信任状)'が定義されており
"Platform"、
"Endorsement"、
"Conformance"、
およびアテステーションのための"AIK Credential"などがある。


アテステーションの様子

リモート、あるいはローカルのベリファイアー(Verifier = 検証者)は、プラットフォームからのアテステーション要求に応じて、送られてきた署名済みのAIK Credential、およびPCRデータから、アイデンティティーを確定し、信用できるか否かを検証する。


インテル トラステッド・エグゼキューション・テクノロジー(インテルTXT)

続いてGrawrock氏は、かつて"LaGrande Technology(LT)"のコードネームで知られていた"インテル トラステッド・エグゼキューション・テクノロジー(インテルTXT)"の説明を行った。インテルTXTは、インテルが次期vPro プロセッサー・テクノロジー(Weybridge)でのサポートが予定されているテクノロジーの一つで、同氏によるとインテルTXTが提供する機能の本質は、セキュリティー強化ではなく、ソフトウェアが信用できるか否かをメジャーメントし、そのアイデンティティーを獲得するためのメカニズムとなる。ただし、このテクノロジーを利用するためには、プロセッサー、チップセット、BIOS、ファームウェア、プラットフォームとLPC(Low Pin Count)仕様のバス・インターフェースで接続されたTPM 1.2準拠のハードウェア、そしてソフトウェアといった、システムを構成する多くのコンポーネントがインテルTXTに対応している必要がある。

これにより①メジャーメントに基づいた強固なソフトウェア・ローンチ(立ち上げ)環境(MLE = Measured Launch Environment)、②インテル バーチャライゼーション・テクノロジー(インテルVT)との連携によるアプリケーションの分離と保護、③メモリーの内容を自動的にクリーニングするSCLEAN機能による機密漏えいの防止、といったことが可能となる。そして同氏は「こうした機能を組み合わせることで、非常に興味深いユース・モデルやアプリケーションが構築できると思います」とインテルTXTに対する期待感を示した。


インテルTXTでは、ハードウェア(プロセッサー、チップセット、TPM)からはじまる信用の連鎖を通じてMLE(Measured Launch Environment)が構築され、引き続きその上でOSやアプリケーション・ソフトウェアにおける信用の連鎖が繋がっていく。



インテルTXTはプラットフォームに、仮想化技術を使ったプログラムの分離やユーザーとVMMの切り分け、VMMやMLEをメジャーメントするためのメカニズム、長期的なストレージの保護、TPMを使ったアテステーション、そしてハードウェア・ベースの保護といった機能を提供する・


Grawrock氏は「ネットワーク社会においては、相手に対しても自分が如何に信用できる相手であるかを見せる必要があります。そうすることで今までの'悪循環'を断ち切ることができます。ソフトウェア・ベースの対策だけでなく、ハードウェア(に搭載された機能)をプラットフォームの防御に活かすことができるのです。」として講演を締めくくった。


トラステッド・プラットフォームの研究アプローチについて語るGrawrock氏。
そのほかGrawrock氏は、インテルが数年前から取り組んでいるトラステッド・プラットフォームの研究には、未知のセキュリティー攻撃のような不確定事象に適したアプローチが採用されていることを言及した。
同氏によると、プロセス技術やマルチコア・プロセッサー、コンピューティング環境における情報の取り扱いなど、インテルが進めている広範な研究は大別して「目標設定型」と「探索型」の2つに分類される。前者の代表例としてプロセス技術、そして後者に該当するのがトラステッド・プラットフォームとなる。「プラットフォームが自分自身のアイデンティティーを確立することができたらどうなるか、それがどのように役に立つか、そうした質問に対する答えが"TPM(Trusted Platform Module)"や"インテルTXT"です。現在インテルが取り組んでいるトラステッド・プラットフォームは、そうした'What-If'の質問からスタートしています。」(Grawrock氏)


ブラックリストからホワイトリストへのパラダイム・シフト

信用できるソフトウェアだけが利用できる環境を構築するためには、TPMやインテルTXTのようなハードウェア・ビルディング・ブロックのほか、これらをうまく機能させるためのインフラ整備も必要となる。米Intel Corporationのセキュリティー・アーキテクトで、TCG Infrastructure Work Groupの共同議長(Co-Chair)であるNed Smith氏は、TCG標準のインフラ技術、特に"インテグリティー管理(Integrity Management)"とこれを使ったユース・ケース(Use Case)に関する詳しい話を行った。

Smith氏はまず「プラットフォーム上のソフトウェアをメジャーメントして、(それが信用できる場合に)期待される値のリストを"ホワイトリスト"と呼びます。これに対して、ソフトウェアの脆弱性に関するリストが"ブラックリスト"です。」と言葉の定義を示した。その上で、世界中を騒がせた'Nimdaウイルス'を例にあげ、ブラックリストに基づいた仕組みでは、パッチ漏れによる再感染の危険性を無くすことは難しいこと、こうした課題を克服するためには「ブラックリストによるリアクティブな仕組み」から、「ホワイトリストを使ったプロアクティブな仕組み」への'パラダイム・シフト'が必要になると指摘した。そのパラダイム・シフトを実現するのが、TMPに代表されるTCG標準のハードウェア・ビルディング・ブロックとインフラストラクチャーとなる。


ホワイトリストの具体的な
定義を示すSmith氏
「プラットフォーム上での使用が認められているソフトウェアであるか否かを調べ、それがポリシーに従って動作することを担保するのがホワイトリストです。」

トラステッドなインフラ上で機能する3つのユース・ケース

Smith氏は、トラステッド・インフラストラクチャーの恩恵を受けるユース・ケースとして"セキュア・ブート"、"インテグリティー・スキャン"、そして"TNC(Trusted Network Connect)"の3つを紹介した。

同氏によると、この3つの主な目的は次のようになる。

セキュア・ブート
ハードウェア・リセット直後に起動されるブートROMやBIOSを検証し、ブート・プロセスにおける信用の連鎖を確立しながら、プラットフォームが改ざんされていないことを担保する。また、これには先にGrawrock氏が紹介した「メジャーメント」や「Transitive Trust」のアプローチを利用する。
インテグリティー・スキャン
(ブート・パスを除く)プラットフォーム上のソフトウェアが、「存在が認められたもの」「既知のソフトウェアであるが、存在が認められていないもの」、「マルウェアに該当する可能性が高い未知のコード」のどれに該当するかを確認する
TNC
プラットフォーム上のソフトウェアが、ネットワーク上の他のシステムと通信することが許可されているかを検証する

これら3つにより、プラットフォームやネットワーク上には、存在が許された、信用できるソフトウェアだけが利用できるトラステッドなコンピューティング環境が実現できるというわけだが、そもそも、プラットフォームがランタイムに生成したメジャーメントと、ホワイトリスト、つまり信頼された正規のメジャーメント(Reference Measurement)を比較・検証するためのポリシーがなければ、こうした仕組みは機能しない。

そのためのインフラを提供するのがTGC Infrastructure WGで標準化が進められている仕組みの一つ"インテグリティー管理(Integrity Management)"となる。Smith氏によるとインテグリティー管理とは、ソフトウェア/ハードウェア・ベンダーやサプライヤーなどが作成した正規のメジャーメントを収集し、それらの完全性(Integrity)を担保するための仕組みで、そこから得た情報を使うことで企業のIT部門はポリシーを作成し、上記のようなユース・ケースを機能させることができるようになる。

TNCとインテグリティー管理の関連

インテグリティー管理に収集・蓄積された情報(Reference Measurement)をもとにオーサリングされたポリシーは、TCNのリモート・ベリファイアーに配布される。セキュア・ブート、インテグリティー・スキャンにおいても同様のインフラが使用される。「すべてのユース・ケースで同じインフラを使うため、コストを削減でき、また利用者にとって利便性の高いものになります」(Smith氏)


インテル TXT搭載システムのデモ

では、インテルの両セキュリティー・アーキテクトが紹介したTCGの仕組みやインテルTXTで、具体的にどのようなことができるのか?インテル株式会社 デジタル・エンタープライズ・グループ テクノロジー・マーケティング・エンジニア 岩本 成文 氏が、インテルTXTイネーブルのシステムを使い、メジャード・ブートやポリシー・ベースでアプリケーションの分離を制御する様子のほか、TNCの利用モデルや、トラステッド・コンピューティング分野の有力ベンダーの製品を使ったデモを披露した。因みにTCN利用モデルのデモの際、Smith氏が「期待以上の内容だった」と思わず喜びの声を上げる一コマも見られた。

デモ・システムの構成

Xen unstableのカーネルにLT(LaGrande Technology = インテルTXT)サポート用のパッチを適用し、インテルTXTをイネーブルにしたシステムを使用。因みにこのパッチは米Xensource社のWebサイトに公開されている。


デモPCから取得したPCR(Platform Configuration Register)#17,#18の内容を見せながら、メジャーメントされたVMM (MVMM = Measured VMM)が起動されたことを示す岩本氏

最近、セキュリティー専門家により実現可能であることが証明されたBlue Pillのようなマルウェアが世の中に広がった場合でも、防御は可能かという岩本氏からの質問に対してDrawrock氏は、「MVMMとローンチ制御ポリシーを組み合わせることで有効になるだろう」と述べた。


ソフトウェア環境の分離(Isolation)について説明するGrawrock氏

「複数のVM間で、情報のやり取りを許可するか、禁止するかを明示的に定義できます。」(Grawrock氏)「このデモではファイルを2つのVM間で移動できないことが示されましたが、この仕組みを利用して例えば、信用できることが検証されたVMに関してのみファイルの移動を許可し、それ以外は許可しないというシナリオを設定することもできます。」(Smith氏)


仮想TPM

複数のVMがある場合には、それぞれに仮想的なTPMが割り当てられる。当然、各仮想TMPはそれぞれ固有のPCRを持ち、異なる内容、つまり、異なるアイデンティティーを持つことになる。これとTNC(Trusted Network Connect)の仕組みを組み合わせることで、1台のPCに対して多様性のある認証を行うことが可能となる。


TNC利用モデルのデモ――アクセス制御

VM1にはインターネット・サーバー、VM2には社内の機密情報を管理するドキュメント・サーバーへのアクセスが許可されている。各VMは自分のアイデンティティーを認証サーバーに申告しなければならないため、アクセスが許されていないサーバーを利用することはできない。岩本氏によると、こうしたアクセス制御の仕組みを望む声は、既に官公庁などのユーザーから上がっているとのこと。「このようにTNCの枠組みを拡張することで、様々な用途に対して柔軟に対応できます」(Smith氏)「ドキュメント・サーバーの部分を拡張してコンテンツ・レベルのアクセス制御を行うことも考えられます」(Grawrock氏)


TNC利用モデルのデモ――インテグリティー(完全性)管理

アプリケーションを起動する際、認証サーバーに対してアテステーション要求が出される。デモでは、プログラム・コードの一部が改ざんされたブラウザーを起動しようとしたが、認証サーバーによるアテステーションで、正規のハッシュ値と当該ブラウザーのハッシュ値が異なることが判明したため、起動が禁止される様子が披露された。因みに改ざんされているのはコピーライトの部分で「Firefox」が「Intelox」になっている。


米SignaCertの製品を使ったデモ

脆弱性情報に基づいた'ブラックリスト'の管理はIT部門にとって多大な負荷になり、事実上"放置"しているケースも少なくない。TCGのメンバーでインテグリティー管理のスキーマ作成に貢献している米SignaCert社は、データベース管理された'ホワイトリスト'を使うことで、こうした課題を克服するツールを提供している。写真は、あるアプリケーションの詳細情報をドリルダウンしながら、特定のソフトウェア・コンポーネントが信用できることを示すハッシュ値を確認している様子。こうした情報の集まりがホワイトリストとなる。

以上、今回の講演内容を網羅的に紹介してきた。予想以上にハイレベルで敷居が高い部分もあったが、現在のネットワーク環境をとりまく状況を考えると、少なくともブラックリストを使ったリアクティブな方法より、ホワイトリストによるプロアクティブな方法の方が将来的には効果的であること、そのためには、プラットフォーム上のテクノロジーと、業界・ユーザーによる組織的な取り組み、それらを調和させるインフラ整備の必要性があることを感じることができた。まもなくインテルは、インテルTXTをサポートした次世代vProの発表を予定しているが、TCGの活動とあわせて今後の展開に期待したい。

関連リンク

記事アーカイブ

IT Manager's Desk の記事をテーマごとにまとめ読み。

  • IAストラテジー
    • IAとビジネスの新しい展望を解説します
  • IAサーバー
    • IAサーバーの最新動向をレポートします
  • ビジネスPC
    • ビジネスとITの現場を変える最新PCソリューションをお伝えします
  • 事例ウォッチ
    • IAを活用してビジネスを切り拓く、注目の導入事例をピックアップします


新着ビジネスPC