説明

ランタイムインテグリティ検証のための装置及び方法

【課題】ランタイムファームウェアインテグリティ検証を効果的に実行するシステム及び方法を提供すること。
【解決手段】本発明の一特徴は、少なくとも1つのプロセッサと、前記少なくとも1つのプロセッサに接続される少なくとも1つのメモリと、コードブロックと、プロセッサベースシステムにより実行可能なコードとを有するプロセッサベースシステムであって、前記コードは、当該プロセッサベースシステムに、当該プロセッサベースシステムの再スタートに応答して、前記コードブロックのインテグリティ情報を生成させ、前記インテグリティ情報をセキュアに格納させ、前記セキュアに格納されているインテグリティ情報を用いて、当該プロセッサベースシステムの実行中に前記コードブロックのインテグリティを検証させるシステムに関する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、インテグリティ検証に関する。より詳細には、本発明の実施例は、ランタイムファームウェアインテグリティ検証に関する。
【背景技術】
【0002】
コンピュータなどのプロセッサベースシステムは、ハードウェア及びソフトウェアセキュリティの各種レベルを要求又は利用する。
【発明の概要】
【発明が解決しようとする課題】
【0003】
本発明の課題は、ランタイムファームウェアインテグリティ検証を効果的に実行するシステム及び方法を提供することである。
【課題を解決するための手段】
【0004】
上記課題を解決するため、本発明の一特徴は、少なくとも1つのプロセッサと、前記少なくとも1つのプロセッサに接続される少なくとも1つのメモリと、コードブロックと、プロセッサベースシステムにより実行可能なコードとを有するプロセッサベースシステムであって、前記コードは、当該プロセッサベースシステムに、当該プロセッサベースシステムの再スタートに応答して、前記コードブロックのインテグリティ情報を生成させ、前記インテグリティ情報をセキュアに格納させ、前記セキュアに格納されているインテグリティ情報を用いて、当該プロセッサベースシステムの実行中に前記コードブロックのインテグリティを検証させるシステムに関する。
【発明の効果】
【0005】
本発明によると、ランタイムファームウェアインテグリティ検証を効果的に実行するシステム及び方法を提供することができる。
【図面の簡単な説明】
【0006】
【図1】図1は、本発明の実施例による電子システムのブロック図である。
【図2】図2は、本発明の実施例による他の電子システムのブロック図である。
【図3】図3は、本発明の実施例によるフロー図である。
【図4】図4は、本発明の実施例による他のフロー図である。
【図5】図5は、本発明の実施例による他のフロー図である。
【図6】図6は、本発明の実施例による他のフロー図である。
【図7】図7は、本発明の実施例による他の電子システムのブロック図である。
【図8】図8は、一例となるファイル構造の図である。
【発明を実施するための形態】
【0007】
以下の説明では、限定することなく説明のため、特定の構造、アーキテクチャ、インタフェース、技術などの具体的詳細が、本発明の各種態様の完全な理解を提供するために与えられる。しかしながら、本発明の各種態様はこれらの具体的詳細から逸脱した他の実施例により実現可能であることは、本開示の利益を有する当業者に明らかであろう。ある実施例では、周知の装置、回路及び方法の説明は、不要な詳細により本発明の説明を不明りょうにしないように省略される。
【0008】
図1を参照するに、本発明の実施例によると、プロセッサベースシステム10は、少なくとも1つのプロセッサ11と、少なくとも1つのプロセッサ11に接続される少なくとも1つのメモリ12と、コードブロック13(メモリ12などに格納される)とを有する。システム10はさらに、プロセッサベースシステム10にそれの再スタートに応答してコードブロック13のインテグリティ情報を生成させ、インテグリティ情報をセキュアに格納させ、格納されているインテグリティ情報を用いてプロセッサベースシステム10の実行中にコードブロック13のインテグリティを検証させるため、プロセッサベースシステム10により実行可能なコードを有する。例えば、コードブロック13は、ファームウェアエレメント、BIOS(Basic Input Output System)エレメント、及びシステムマネージメントモード(SMM)エレメントの1つに対応するものであってもよい。
【0009】
本発明の実施例では、システム10はさらに、プロセッサベースシステム10にセキュアに格納されているインテグリティ情報を用いて実行中にコードブロック13のインテグリティを定期的に再検証させるためのコードを有してもよい。本発明の実施例では、システム10はさらに、プロセッサベースシステム10に複数のコードブロック13に対応するインテグリティ情報のリストをセキュアに格納させるためのコードを有してもよい。例えば、本発明の実施例では、システム10はさらに、プロセッサベースシステム10に複数のコードブロック13について少なくとも1つのプロセッサ11に接続される少なくとも1つのメモリ12をスキャンさせ、セキュアに格納されているインテグリティ情報のリストを用いて実行中にスキャンされたコードブロック13のインテグリティを検証させるためのコードを有してもよい。システム10はさらに、ネットワークコンポーネント14と、プロセッサベースシステム10に検証が失敗した場合にリモートアラートを送信させるためのコードとを有してもよい。例えば、ネットワークコンポーネントは、イーサネット(登録商標)接続などの有線ネットワーク接続及び/又はWiFi接続などの無線ネットワーク接続を含むものであってもよい。
【0010】
図2を参照するに、本発明の実施例によると、プロセッサベースシステム20は、少なくとも1つのプロセッサ21と、少なくとも1つのプロセッサ21に接続されるシステム管理メモリ22と、少なくとも1つのプロセッサ21及びシステム管理メモリ22に接続される管理可能性エンジン24を含むチップセット23とを有する。システム20はさらに、チップセット23の管理可能性エンジン24にプロセッサベースシステム20の実行中にシステム管理メモリ22のコンテンツを検証させるため、プロセッサベースシステム20により実行可能なコードを有する。例えば、システム20はさらに、プロセッサベースシステム20にそれの再スタートに応答してシステム管理メモリ22のコンテンツについてインテグリティ情報を生成させ、インテグリティ情報をチップセット23の管理可能性エンジン24に転送させ、管理可能性エンジン24によりアクセス可能な位置にインテグリティ情報を安全に格納させるためのコードを有してもよい。
【0011】
本発明の実施例では、システム20はさらに、管理可能性エンジン24にセキュアに格納されているインテグリティ情報を用いてプロセッサベースシステム20の実行中にシステム管理メモリ22のコンテンツを定期的に再検証させるためのコードを有してもよい。例えば、システム20はさらに、管理可能性エンジン24にシステム管理メモリ22をスキャンさせ、セキュアに格納されているインテグリティ情報を用いてスキャンされたメモリ22のインテグリティを検証させるためのコードを有してもよい。例えば、システム20はさらに、ネットワークコンポーネント25と、管理可能性エンジン24に検証が失敗した場合にリモートアラートを送信させるためのコードとを有してもよい。本発明の実施例では、管理可能性エンジン24によりアクセス可能な位置は、管理可能性エンジン24のメモリサブシステム26を含むものであってもよい。本発明の実施例では、管理可能性エンジン24は、別のプロセッサ27を有してもよく、コードの少なくとも一部は、管理可能性エンジン24のプロセッサ27により実行可能であってもよい。
【0012】
図3を参照するに、本発明の実施例によると、プロセッサベースシステムのランタイムインテグリティ検証を実行する方法は、プロセッサベースシステムの再スタートに応答してコードブロックのインテグリティ情報を生成し(ブロック30などにおいて)、インテグリティ情報をセキュアに格納し(ブロック31などにおいて)、セキュアに格納されているインテグリティ情報を用いて実行中にコードブロックのインテグリティを検証する(ブロック32などにおいて)ことを含む。例えば、コードブロックは、ファームウェアエレメント、BIOS(Basic Input Output System)エレメント及びシステムマネージメントモード(SMM)エレメント(ブロック33などにおいて)の1つの対応するものであってもよい。
【0013】
例えば、本発明の実施例はさらに、セキュアに格納されているインテグリティ情報を用いて実行中にコードブロックのインテグリティを定期的に再検証する(ブロック34などにおいて)ことを含むものであってもよい。例えば、本発明の実施例はさらに、複数のコードブロックに対応するインテグリティ情報のリストをセキュアに格納する(ブロック35などにおいて)ことを含むものであってもよい。例えば、本発明の実施例はさらに、複数のコードブロックについて少なくとも1つのプロセッサに接続される少なくとも1つのメモリをスキャンし、セキュアに格納されているインテグリティ情報のリストを用いて実行中にスキャンされたコードブロックのインテグリティを検証する(ブロック36などにおいて)ことを含むものであってもよい。本発明の実施例はさらに、検証が失敗した場合にリモートアラートを送信する(ブロック37などにおいて)ことを含むものであってもよい。
【0014】
図4を参照するに、本発明の実施例によると、プロセッサベースシステムのランタイムインテグリティ検証を実行する方法は、プロセッサベースシステムの再スタートに応答してシステム管理メモリのコンテンツのインテグリティ情報を生成し(ブロック40などにおいて)、インテグリティ情報をプロセッサベースシステムの管理可能性エンジンに送信し(ブロック41などにおいて)、管理可能性エンジンによりアクセス可能な位置にインテグリティ情報をセキュアに格納し(ブロック42などにおいて)、セキュアに格納されているインテグリティ情報を用いてプロセッサベースシステムの実行中に管理可能性エンジンによるシステム管理メモリのコンテンツを検証する(ブロック43などにおいて)ことを含む。
【0015】
例えば、本発明の実施例はさらに、セキュアに格納されているインテグリティ情報を用いてプロセッサベースシステムの実行中に管理可能性エンジンによりシステム管理メモリのコンテンツを定期的に再検証する(ブロック44などにおいて)を含むようにしてもよい。例えば、本発明の実施例はさらに、システム管理メモリをスキャンし、セキュアに格納されているインテグリティ情報を用いてスキャンされたメモリのインテグリティを検証する(ブロック45などにおいて)ことを含むようにしてもよい。例えば、本発明の実施例はさらに、検証が失敗した場合に管理可能性エンジンからリモートアラートを送信する(ブロック46などにおいて)ことを含むようにしてもよい。
【0016】
効果的には、本発明の実施例は、管理可能性エンジン(ME)/チップセットを用いたシステム管理モード(SMM)ランタイムインテグリティ検証のための方法及び/又は装置を提供する。各種のセキュリティの労力は、SMM/BIOS及びオペレーティングシステム(OS)のための信頼されるブート又はブートタイムインテグリティに注力されてきた。例えば、プレOS UEFI(Unified Extensible Firmware Interface)/BIOSプラットフォームインテグリティ検証は、インストール時(署名されたアップデートなど)及び/又はブート時(検証されたロード)に実行されてもよい。効果的には、本発明の実施例は、Time Of Check(プレOSへのコードのロード中)/Time Of Use(例えば、SMIイベントに応答した実行中のコードの呼び出し時など)(TOCTOU)アタック及び/又はコード投入アタックなどのランタイムアタックに対するセキュリティを向上させる。Authenticode又は埋め込まれたシグネチャブロックによる他の公開鍵ベース機構を用いたUEFI SMM実行可能PE COFFイメージによる署名されたアップデートに対して、MEはまた、イメージに係る公開検証鍵が無効にされているか確認するため、Certificate Authorityによりリモート検証することが可能である。
【0017】
例えば、本発明の実施例は、チップセット管理可能性エンジンを用いて、SMMハンドラ(BIOSコード)のランタイムインテグリティ検証を提供するようにしてもよい。効果的には、本発明の実施例は、SMMに対するランタイムアタックを無効にし、OSに独立し、異なるSMMコードの改訂に対してスケーラビリティを提供するものであってもよい。効果的には、本発明の実施例はまた、実行中のオペレーティングシステムのカーネルと同じ位置にあるOEMのUEFI(Unified Extensible Firmware Interface)におけるランタイムアタックに対してガードするものであってもよい。効果的には、本発明の実施例によるランタイムインテグリティ検証を提供するため、ハードウェアベースのチップセットの管理可能性エンジンを利用することは、ソフトウェアベースのセキュリティと比較して、プラットフォームにおいてよりセキュアで隔離された位置を提供する。
【0018】
SMMルートキットは、アンチウイルスソフトウェアによる検出が困難なコンピュータメモリのプロテクト部分において実行される悪意的なルートキットソフトウェアである。例えば、SMMルートキットは、秘密情報を隠すのに利用可能なキーロギング及び/又は通信ソフトウェアなどの悪質な機能を有するかもしれない。効果的には、本発明の実施例は、SMMルートキットアタックに対してガードするようにしてもよい。
【0019】
本発明の実施例によると、SMIハンドラは以下のように実現されてもよい。すなわち、SMMに入ると、プロセッサは物理アドレスSMBASE+0x8000(これは、SMIハンドラがSMRAMの内部のオフセット0x8000にある必要があることを意味する)にジャンプする。D_OPENビットが設定されているとき、コードはSMRAMにあるかもしれないため、SMIトリガーは当該コードを実行させるよう強制される。
【0020】
【表1】


図5を参照するに、本発明の実施例では、管理可能性エンジン(ME)は、システムブート中にHECI(Host Embedded Control Interface)を介しBIOSからSMMホワイトリストを受信する(ブロック51などにおいて)。例えば、ホワイトリストは、認証されたコードモジュールのリストに対応するものであってもよい。例えば、管理可能性エンジンは、PECOFF(Portable Execution and Common Object File Format)ファイルを使用して、マニフェストを生成し、それらをフラッシュにセキュアに格納する(ブロック52などにおいて)。管理可能性エンジンは、ランタイムインテグリティ検証チェックを定期的に実行する。例えば、管理可能性エンジンは、ランタイムインテグリティチェックタイマーを設定し、タイマーが経過したとき(ブロック52などにおいて)、管理可能性エンジンは、SMMハンドラとUEFIランタイムテーブルについて、ホストメモリ及び/又はシステム管理ランダムアクセスメモリ(SMRAM)をスキャンしてもよい(ブロック53などにおいて)。管理可能性エンジンは、格納されているマニフェストを用いてSMM/BIOSコードを検証する(ブロック54などにおいて)。管理可能性エンジンは、SMMハンドラのポインタがテーブルポイントを有効なコード領域にディスパッチすることを検証する(ブロック55などにおいて)。効果的には、本発明の実施例は、管理可能性エンジンがそのコンテンツをスキャンするため、SMRAMへのアクセスをチップセットに開放する。チップセットは、SMRAMに部分的にあるSMMについてインテグリティ検証を提供する。
【0021】
インテグリティチェックが失敗した場合(ブロック57などにおいて)、管理可能性エンジンは、アラートをリモートIT/AVサーバ及び/又は他のリモートサービスに送信する。例えば、管理可能性エンジンはまた、システムが破壊する可能性があることをユーザに警告するようにしてもよい。例えば、管理可能性エンジンはまた、実行を停止してもよい。例えば、管理可能性エンジンはまた、システムを既知の信頼される状態に再格納し、及び/又はシステムを再スタートしてもよい。インテグリティチェックが成功した場合、管理可能性エンジンは、タイマーをリセットし、次のタイマーの中断を待機する(ブロック58などにおいて)。
【0022】
例えば、www.uefi.orgのUEFI Platform Initialization(PI)仕様書のVolume 4又はwww.intel.com/technology/frameworkのSMM−CISに記載されるようなUEFIベースのSMMインフラストラクチャについて、ポリシーベースのディスパッチャがある。このポリシーベースのディスパッチャは、UEFI PE/COFF(http://microsoft.com/whdc/system/platform/firmware/PECOFF.mspx) executableの系列を検出し、SMRAMにロードする。本発明の実施例は、以下の擬似コードを実現してもよい。
【0023】
【表2】


例えば、本発明の実施例は、以下の擬似コードを実現してもよい。
【0024】
【表3】


上記フローとは対照的に、SMMルートキットは、上記ロードシーケンスの後の何れかの時点において、コードをSMRAMに追加しようとする。ルートキットは、SMRAMをアクセス不可にするD_LCKビットのチップセットにおける非設定(オプションのROMの実行前又はOSのブート前にBIOSが通常設定する)などのBIOSバグを介し(http://www.cs.ucf.edu/〜czou/research/SMM−Rootkits−Securecom08.pdf)、又はT−SEGがメモリアタックコードにエイリアスされるキャッシュアタックなどのハードウェアアタックを介し(http://risesecurity.org/papers/smm_hack.txt)、自らをインストールすることが可能である。あるいは、SMMルートキットは、終了されていないBIOSフレームワークAPIを使用することによりSMRAMに入ることが可能である(https://www.blackhat.com/presentations/bh−usa−07/Heasman/Presentation/bh−usa−07−heasman.pdf)。
【0025】
図6を参照するに、本発明の実施例による一例となるUEFIブートフロー全体は、電源オン(又は再スタート)と、preEFIステージ及びDXE(Driver Execution Environment)ステージを含むプラットフォーム初期化とを含む。DXEステージにおけるこのブートフローのサブセットは、SMMドライバのロードである。本発明の実施例によると、SMMドライバに関するインテグリティ情報は、システムブート中に生成され、管理可能性エンジンに転送される。例えば、ルートキーにより認証された署名付きのUEFI DXE SMM executableに関する情報が、管理可能性エンジンに格納されてもよい。例えば、リロケートされたUEFI DXE SMMイメージのベース及びハッシュが、管理可能性エンジンに記録されてもよい。
【0026】
図7を参照するに、本発明の実施例による電子システム70は、メモリコントロールハブ(MCH)72とI/Oコントロールハブ(ICH)73とに接続されるCPU71を有する。例えば、メインメモリDRAM74は、MCH72に接続されてもよい。例えば、ICH73は、SATA及びUSBを含む各種I/Oインタフェースをサポートするようにしてもよい。例えば、BIOSコード、管理可能性エンジン(ME)コード及び他のシステムコードを格納するフラッシュメモリ75が、ICH73に接続されてもよい。例えば、管理可能性エンジン(ME)を含むチップセット76が、ICH73に接続されてもよい。DRAM74のセグメントは、SMRAMとして指定される。例えば、SMRAMの先頭セグメントは、T−SEGと呼ばれるかもしれない。本発明の実施例では、T−SEG SMRAMは、チップセット76の管理可能性エンジン(ME)により実行時にモニタされる。
【0027】
図8を参照するに、一例となるPECOFF実行可能ファイルは、図示されるようなファイル構造を有する。例えば、PECOFF executableは、MEによる観察中のオブジェクトを構成してもよい。例えば、T−SEGは、UEFI PI SMMインフラストラクチャのPECOFF実行可能イメージの系列により占有されてもよい。上記実行可能コンテンツ又はSMRAMにおける認証されたリストを超えた実行可能コンテンツをハイジャック又は変更しようとする試みは、アタックを構成する。
【0028】
効果的には、実行時のホワイトリスティングSMMに加えて、本発明の実施例は、実行時に他のエンティティをモニタする。例えば、本発明の実施例は、UEFI_SYSTEM_TABLE_RUNTIME_SERVICESデータオブジェクトと関連するファンクションポインタ及びルーチンとをモニタするようにしてもよい。例えば、これらのエンティティは、GetTime()、UEFI変数のGetSet()、CapsuleUpdate()などのOSカーネルランタイムファームウェアインタラクション/コールを実現するため、プラットフォームファームウェアからOSカーネルランタイムにわたされてもよい。例えば、これらのエンティティの一部は、実行時にOSカーネルと一緒に配置され、OSカーネルプロテクションがこれらのオブジェクトに対して利用されてもよい。効果的には、これらのコード及びデータオブジェクトをプロテクトするため、MEによるランタイムインテグリティ検証の実行は、よりロウバストなUEFIの実現を可能にする。
【0029】
ここに記載される実施例の多くは特定の実行環境に関する用語を使用するが、当業者は、本発明がこれらの特定の実施例に限定されず、均等なルーチン及び/又は構造が、セキュリティ機能が所望される他のプロセッサベース環境により実現可能であることを理解するであろう。同様に、ここで言及された各種コンポーネント、コントローラ、バーチャルモジュール、プロトコル及びレジスタは、等価な構成を提供し、等価な機能を実行しながら、他のプラットフォームにおける他の用語により記載されてもよい。
【0030】
当業者は、本開示の利益が与えられると、他の多数の回路とハードウェア及び/又はソフトウェアの組み合わせが、ここに記載される実施例及び本発明の他の実施例に従って各種方法、回路及びシステムを実現するよう構成されてもよいことを理解するであろう。図1〜8の実施例は、適切な実施例の非限定的な例である。
【0031】
本発明の上記及び他の特徴は、個別に及び組み合わせて実現される。本発明は、特定の請求項により明示的に要求されない場合、このような特徴の2以上を要求するものとして解釈されるべきでない。さらに、本発明は好適な実施例であると現在考えられているものに関して説明されたが、本発明は開示された実施例に限定されず、本発明の趣旨及び範囲内に含まれる各種変更及び均等な構成をカバーするものであると理解されるべきである。
【符号の説明】
【0032】
10,20 システム
11,21 プロセッサ
12,22 メモリ
13 コードブロック
23 チップセット
24 管理可能性エンジン

【特許請求の範囲】
【請求項1】
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサに接続される少なくとも1つのメモリと、
コードブロックと、
プロセッサベースシステムにより実行可能なコードと、
を有するプロセッサベースシステムであって、
前記コードは、当該プロセッサベースシステムに、
当該プロセッサベースシステムの再スタートに応答して、前記コードブロックのインテグリティ情報を生成させ、
前記インテグリティ情報をセキュアに格納させ、
前記セキュアに格納されているインテグリティ情報を用いて、当該プロセッサベースシステムの実行中に前記コードブロックのインテグリティを検証させるシステム。
【請求項2】
前記コードブロックは、ファームウェアエレメント、BIOS(Basic Input Output System)エレメント及びSMM(System Management Mode)エレメントの1つに対応する、請求項1記載のシステム。
【請求項3】
前記コードはさらに、当該プロセッサベースシステムに、前記セキュアに格納されているインテグリティ情報を用いて、実行中に前記コードブロックのインテグリティを定期的に再検証させる、請求項1記載のシステム。
【請求項4】
前記コードはさらに、当該プロセッサベースシステムに、複数のコードブロックに対応するインテグリティ情報のリストをセキュアに格納させる、請求項1記載のシステム。
【請求項5】
前記コードはさらに、当該プロセッサベースシステムに、前記複数のコードブロックについて前記少なくとも1つのプロセッサに接続される少なくとも1つのメモリをスキャンさせ、前記セキュアに格納されているインテグリティ情報のリストを用いて、実行中に前記スキャンされたコードブロックのインテグリティを検証させる、請求項4記載のシステム。
【請求項6】
ネットワークコンポーネントをさらに有し、
前記コードはさらに、当該プロセッサベースシステムに、前記検証が失敗した場合にリモートアラートを送信させる、請求項5記載のシステム。
【請求項7】
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサに接続されるシステム管理メモリと、
前記少なくとも1つのプロセッサと前記システム管理メモリとに接続される管理可能性エンジンを含むチップセットと、
プロセッサベースシステムにより実行可能なコードと、
を有するプロセッサベースシステムであって、
前記コードは、前記チップセットの管理可能性エンジンに当該プロセッサベースシステムの実行中に前記システム管理メモリのコンテンツを検証させるシステム。
【請求項8】
前記コードはさらに、当該プロセッサベースシステムに、
当該プロセッサベースシステムの再スタートに応答して、前記システム管理メモリのコンテンツのインテグリティ情報を生成させ、
前記インテグリティ情報を前記チップセットの管理可能性エンジンに転送させ、
前記管理可能性エンジンによりアクセス可能な位置に前記インテグリティ情報をセキュアに格納させる、請求項7記載のシステム。
【請求項9】
前記コードはさらに、前記管理可能性エンジンに、前記セキュアに格納されているインテグリティ情報を用いて、当該プロセッサベースシステムの実行中に前記システム管理メモリのコンテンツを定期的に再検証させる、請求項8記載のシステム。
【請求項10】
前記コードはさらに、前記管理可能性エンジンに、前記システム管理メモリをスキャンさせ、前記セキュアに格納されているインテグリティ情報を用いて、前記スキャンされたメモリのインテグリティを検証させる、請求項9記載のシステム。
【請求項11】
ネットワークコンポーネントをさらに有し、
前記コードはさらに、前記管理可能性エンジンに、前記検証が失敗した場合にリモートアラートを送信させる、請求項10記載のシステム。
【請求項12】
前記管理可能性エンジンによりアクセス可能な位置は、前記管理可能性エンジンのメモリサブシステムを含む、請求項10記載のシステム。
【請求項13】
前記管理可能性エンジンは、別のプロセッサを有し、
前記コードの少なくとも一部は、前記管理可能性エンジンの別のプロセッサにより実行可能である、請求項10記載のシステム。
【請求項14】
プロセッサベースシステムのためのランタイムインテグリティ検証を実行する方法であって、
前記プロセッサベースシステムの再スタートに応答して、コードブロックのインテグリティ情報を生成するステップと、
前記インテグリティ情報をセキュアに格納するステップと、
前記セキュアに格納されているインテグリティ情報を用いて、実行中に前記コードブロックのインテグリティを検証するステップと、
を有する方法。
【請求項15】
前記コードブロックは、ファームウェアエレメント、BIOS(Basic Input Output System)エレメント及びSMM(System Management Mode)エレメントの1つに対応する、請求項14記載の方法。
【請求項16】
前記セキュアに格納されているインテグリティ情報を用いて、実行中に前記コードブロックのインテグリティを定期的に再検証するステップをさらに有する、請求項14記載の方法。
【請求項17】
複数のコードブロックに対応するインテグリティ情報のリストをセキュアに格納するステップをさらに有する、請求項14記載の方法。
【請求項18】
前記複数のコードブロックについて少なくとも1つのプロセッサに接続される少なくとも1つのメモリをスキャンし、前記セキュアに格納されているインテグリティ情報のリストを用いて、実行中に前記スキャンされたコードブロックのインテグリティを検証するステップをさらに有する、請求項17記載の方法。
【請求項19】
前記検証が失敗した場合にリモートアラートを送信するステップをさらに有する、請求項18記載の方法。
【請求項20】
プロセッサベースシステムのためのランタイムインテグリティ検証を実行する方法であって、
前記プロセッサベースシステムの再スタートに応答して、システム管理メモリのコンテンツのインテグリティ情報を生成するステップと、
前記インテグリティ情報を前記プロセッサベースシステムのチップセットの管理可能性エンジンに転送するステップと、
前記管理可能性エンジンによりアクセス可能な位置に前記インテグリティ情報をセキュアに格納するステップと、
を有する方法。
【請求項21】
前記セキュアに格納されているインテグリティ情報を用いて、前記プロセッサベースシステムの実行中に前記管理可能性エンジンにより前記システム管理メモリのコンテンツを定期的に再検証するステップをさらに有する、請求項20記載の方法。
【請求項22】
前記システム管理メモリをスキャンし、前記セキュアに格納されているインテグリティ情報を用いて、前記スキャンされたメモリのインテグリティを検証するステップをさらに有する、請求項21記載の方法。
【請求項23】
前記検証が失敗した場合に前記管理可能性エンジンからリモートアラートを送信するステップをさらに有する、請求項22記載の方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate