(58)【調査した分野】(Int.Cl.,DB名)
機器上で第1のオペレーティングシステムを実行するステップであって、前記第1のオペレーティングシステムが、デバイスドライバーに対する集中型証明機関の特定のキーによる署名を要求することなしに当該デバイスドライバーのインストールを許可するように構成されているものと、
前記機器上において実行する前記第1のオペレーティングシステムを修正することによって制限されたオペレーティングシステムを生成するステップであって、前記制限されたオペレーティングシステムが、インストールのために前記デバイスドライバーが前記集中型証明機関の特定のキーによって署名されていることを要求するように構成されているものと、
信頼済プラットフォームモジュールによって、前記機器及び制限されたオペレーティングシステムが当該機器上にインストールされ実行されていることを監視するステップであって、前記信頼済プラットフォームモジュールが、前記制限されたオペレーティングシステムが非改竄形式で実行していることを検証するための信頼測定の静的ルートを生成するステップを含むものと、
前記監視結果に基づいて、リソースに対するアクセスを制限するステップと、
コードインテグリティ動作を実行するステップと、
を含む、不正行為を防止するための方法。
機器上で第1のオペレーティングシステムを実行するステップであって、前記第1のオペレーティングシステムが、デバイスドライバーに対する集中型証明機関の特定のキーによる署名を要求することなしに当該デバイスドライバーのインストールを許可するように構成されているものと、
前記機器上において実行する前記第1のオペレーティングシステムを修正することによって制限されたオペレーティングシステムを生成するステップであって、前記制限されたオペレーティングシステムが、インストールのために前記デバイスドライバーが前記集中型証明機関の特定のキーによって署名されていることを要求するように構成されているものと、
信頼済プラットフォームモジュールによって、前記機器及び制限されたオペレーティングシステムが当該機器上にインストールされ実行されていることを監視するステップであって、前記信頼済プラットフォームモジュールが、前記制限されたオペレーティングシステムが非改竄形式で実行していることを検証するための信頼測定の静的ルートを生成するステップを含むものと、
前記監視結果に基づいて、リソースに対するアクセスを制限するステップと、
コードインテグリティ動作を実行するステップと、
を含む、不正行為を防止するための命令を含む計算機可読記憶媒体。
【背景技術】
【0002】
[0001]コンピューターゲームは、非常に利益の上がる産業になっている。コンピューターゲームは、単純なテキストベースのゲームから精巧な動画グラフィックス、ミュージック、及びサウンドを含むマルチメディアを十分使った環境へと発展している。ゲームに関する対話性及びソーシャルネットワーク接続の態様を増大させるためのオンライン環境は、ゲームの経験に欠くことのできない一部になっていて、ゲームファンをマルチプレイヤーゲームに参加可能にし、新しいゲームをダウンロード可能にし、彼らが所有している既存のゲームに新機能を追加可能にする。
【0003】
[0002]オンライン環境は、ゲームプレーヤーが不正行為に遭う新しい機会も生成している。不正行為とは、別のプレイヤー全体に渡って不正利益を得るためのソフトウェアを増大させるような任意のユーザー行動を指している。マルチプレイヤーゲームのような環境の中には、オンライン詐欺が、オフライン詐欺よりも、より重大になり得るものもある。
【0004】
[0003]不正行為は、様々な異なる形式を取り得る。最も単純なものは、ローカルデータファイルを変更し、ゲーム上の資産に関する異なる仕様(例えば、より高速な車)を取得すること、又はゲーム上の環境を変更すること、ゲーム業績を変更すること、コンテンツを変更すること、又は別のプレイヤーがセーブしたゲームをロードすること、を含む。それは物理的形式も取り得る。ウェブ上には人間の動作よりも、より高速化可能なラピッドファイヤーのようなコントローラーの生成及び修正に関する仕様がいくつか存在する。
【0005】
[0004]これらの不正行為は、人気のあるオンラインマルチプレイヤーゲームに対し利用可能なフィルタードライバー又はアドオンのような単純なソフトウェア追加形式を取り得る。これらは、例えば、ヘッドアップディスプレイ、自動マッピングツール及びガイドツール、自動照準機能、自動スペルキャスティング機能、拡張マクロ機能、及びボット生成から変化し得、ユーザーの直接的な入力が不要なオートマトンとして実行し得る。例えば、壁を用いたゲームにおいて、ユーザーは、壁を見えないようにするか又は自動照準を生成するような「不正行為」を見出し得る。
【0006】
[0005]不正行為は、ゲーム上の業績又は賞に対するユーザーの不法な取得も指し得る。業績は、ゲームプレイ中に提供される賞賛であり得、ゲームプレイ上の名誉の証を表し得る。業績はオフライン又はオンラインで取得され得、かくして、不正行為はどちらのモードにおいても発生し得る。しかしながら、多くの場合、業績はオンラインで報告される。
【0007】
[0006]ユーザーは、例えば、自分のシステム上の実行可能ファイル又はデータファイルを増大させるか又は変更することによって、オンライン詐欺行為を行う場合がある。不正行為は、例えば、ラピッドファイヤーを可能にするための入力スタックに対する単純な修正及びレースカーに対する変更を指しているだけでなく、ヘッドアップディスプレイ(「HUD」)、自動照準、ボットなどを含むマルチユーザーゲームに関して見られる複雑なアドオンも含み得る。
【0008】
[0007]ソフトウェアの不正行為は、ゲームソフトウェア開発の生存に対し著しい経済的脅威を表わす。オンライン詐欺が流行すると、それがゲームに対するユーザーの関心を抑え、かくしてゲームの売り上げ及びオンライン会員販売双方に負の影響を与える。
【発明を実施するための形態】
【0014】
[0021]
図1aは、一実施形態による不正対策システムを示している。一実施形態による不正対策システム(101)は、クライアント装置(110)上において修正オペレーティングシステム(102)のような修正環境工作の組み合わせを含み得、修正環境、例えば、修正オペレーティングシステム(102)が実際にクライアント装置(110)上で実行している事実を外部の信頼済エンティティ(104)の動作と連動して検証し得る。修正環境、例えば、修正オペレーティングシステム(102)は、元のオペレーティングシステム(103)と比較されるときの制限環境を生成するための特定の方法によって修正され得、それは置き換わっている。一実施形態による修正オペレーティングシステム(102)における修正は、例えば、ユーザー(105)による不正行為を防止するための修正のような元のオペレーティングシステム(103)に対する変更を含み得、不正行為を防止し得る。
【0015】
[0022]修正オペレーティングシステム(102)は、クライアント装置(110)上に隔離実行環境(108)を生成し得る。隔離実行環境(108)は、ソフトウェアすべてに単一のベンダーによって直接的に署名されることを要求することから、一定の制限要件を渡すことによって第三者のソフトウェアが証明され得、その結果、隔離実行環境における実行が許可され得るより柔軟なシステムを可能にするまで実行した領域であり得る。一実施形態によるTPMは信頼済ルートであり得、隔離実行環境(108)は、主にコード測定を介し確立され得、コード測定結果が正しかった場合、機密をアンロックする。
【0016】
[0023]隔離実行環境(108)は、クライアント装置(110)上で実行しているソフトウェアが制御され得、識別され得る環境を含み得る。完全な隔離環境において、攻撃者は、クライアント装置(110)上のいかなるコードも実行不可能であって、攻撃に基づく、より高価かつ取り扱いにくいハードウェアを最後の手段として用いる必要がある。外部エンティティ(104)は、クライアント装置(110)上において監視機能を実行することによって、隔離実行環境(108)がクライアント装置(110)上にインストールされていて、かつ、無傷であることを実際に検証するように作動し、隔離実行環境(108)が作動していること、すなわち、修正オペレーティングシステム(102)がインストールされていて実行していること、を検証し得る。
【0017】
[0024]再び
図1aを参照すると、ユーザー(105)は、クライアント装置(110)を利用し得、ゲームタイトル(112)のようなゲームをプレイし得るか又は別の娯楽ソフトウェアを実行し得る。ユーザー(105)は、オンライン及びオフラインモード双方でクライアント装置(110)を利用し得る。オフライン又はオンラインモードでゲームタイトル(112)と対話するユーザー(105)は、ゲームプレイに関する業績賞又はその他の提示物を集め得る。業績賞は、例えば、取得したレベル、打ち勝った敵などの数値表現であり得る。加えると、ユーザー(105)は、様々なゲームタイトル(112)のパラメーターを設定し得、ゲームタイトル(112)の特性を制御する。特性は、ゲームプレイに関連する難易レベルなどのような様々な機能を含み得る。
【0018】
[0025]オンラインモードの間、ユーザー(105)は、(
図1aに示されていない)別のプレイヤーと対話し得、マルチプレイヤーゲームのプレイが可能になる。具体的には、クライアント装置(110)は、ネットワーク(114)を介しユーザー(105)がマルチプレイヤーゲームプレイにおいて(示されていない)別のユーザーと対話するための娯楽サーバー(116)と接続され得る。マルチプレイヤーゲームのセッション中、ユーザー(105)は、ゲームタイトル(112)動作に関連したゲームプレイに影響する様々な特性を享受し得る。これらの特性は、ユーザープレイヤーが目に見えない機能又は一定の不死身機能などを有するゲーム動作を含み得る。
【0019】
[0026]ユーザー(105)は、例えば一人用ゲームプレイ中、オフラインモードでもクライアント装置(110)と対話し得る。続いてユーザー(105)は、クライアント装置(110)にオンライン実行をもたらし得る。このオフラインモードからオンラインモードへの遷移後、オフラインゲームプレイ中に集められるユーザー(105)の様々な業績が、別のオンラインプレイヤーに示され得る。
【0020】
[0027]一実施形態によって、既存の環境又は元の環境、例えば、元のオペレーティングシステム(103)がクライアント装置(110)において置換され得、修正オペレーティングシステム(102)によって置換されると、限定された方法に過ぎないが、ここではゲームタイトル(112)の実行の支援をし得る。修正オペレーティングシステムは、例えば、娯楽ソフトウェア又はゲームソフトウェアをホストするが、しかしながら、ユーザー(105)が特別に好ましくない不正行為を行うことを制限するオペレーティングシステム(102)であり得る。
【0021】
[0028]一実施形態による修正オペレーティングシステム(102)は、ゲームタイトル、例えば(112)の実行に関する制限環境を生成するオペレーティングシステムであり得る。すなわち、修正オペレーティングシステム(102)は、元のオペレーティングシステム(103)から、ある不正行為を実行するユーザー(105)の能力を制限するような方法で設計され得る。
【0022】
[0029]例えば、元のオペレーティングシステム(103)は、デバイスドライバーがいくつかのルート認証機関のうち1つによって証明されたキーによって署名されている間、任意のドライバーを無制限にインストールすることが可能であり得る。修正オペレーティングシステム(102)は、任意のデバイスドライバーが集中型証明機関の特定のキーによって署名されることを要求することによって、一定タイプの不正行為を防止するように変更され得、更にローカル管理者によるデバイスドライバーの更新を禁止し得る。
【0023】
[0030]外部の信頼済エンティティ(104)は、修正オペレーティングシステム(102)が実際にクライアント装置(110)上にインストールされていて、実行中である事実を検証するための、クライアント(110)に関する機能を実行し得る。外部の信頼済エンティティ(104)は、その動作が、信頼済エンティティ(104)が検証しているエンティティ、すなわち修正オペレーティングシステム(103)よりも高い信頼が寄せられている意味で信頼され得る。すなわち、信頼済エンティティ(104)の動作は、実際に修正オペレーティングシステム(102)をインストールしたユーザー(105)の動作よりもはるかに信頼され得る。
【0024】
[0031]
図1bは、一実施形態による不正対策プロセスの動作を示している流れ図である。(120)において、プロセスが開始する。(124)において、元のオペレーティングシステムが修正され、隔離実行環境を生成し、ユーザーが様々な不正対策行為を行うことを排除するための制限実行環境であり得る。(126)において、外部の信頼済エンティティが、検証を実行し、修正オペレーティングシステムが特定のクライアント装置上にインストールされていて、実際に実行しているか否か決定する。(128)において、プロセスが終了する。
【0025】
[0032]
図2は、信頼済プラットフォームモジュールブロック及び不正対策機能を実行するための信頼モジュールの静的ルートのブロック図である。具体的に
図2に示されているように、
図1aに示される外部の信頼済エンティティ機能がTPM(204)によって置換される。一実施形態によるTPM(204)は、証明機能又は動作を実行し得る。
【0026】
[0033]具体的に言うとTPM(204)が、証明モジュール(208)を介し証明機能を実行し得る。証明は、クライアント装置(110)上の修正オペレーティングシステム(102)の情報、具体的にはインストール及び実行に関する情報精度の保証プロセスを指し得る。TPM(204)は、例えば、ブート環境及びクライアント装置(110)上にロードした特定のブートチェーンを証明し得る。
【0027】
[0034]証明は、クライアント装置上において実行するソフトウェアを変更するが、しかし、そのソフトウェアに対するこのような変更すべてが測定され、機密を公開するため、又はネットワーク機能性へのアクセスを許可するための承認決定が可能になる。証明は、クライアント装置(
110)に関連付けられたハードウェアにどんなソフトウェアが、例えば、修正オペレーティングシステム(102)が、現在、実行していることを公式に述べた証明書を生成させることによって達成され得る。クライアント装置(
110)は、その後、そのソフトウェア、例えば、修正オペレーティングシステム(102))がクライアント装置(110)上において実際に無傷であって、かつ、改竄されていないことを示しているこの証明書を娯楽サーバー(116)などのリモートの関係者に提示し得る。証明は、必ずしも必要なわけではないが、例えば、公開キー暗号化のような暗号化技法と結合され得、送信された情報が、盗聴者によってではなく、証明を提示しリクエストしたプログラムによって読み出され得るだけである。このような暗号化技法が、ユーザーのプライバシー及びシステムによって使用中のプロトコルの機密性双方を保護し得る。
【0028】
[0035]一実施形態によって、不正対策文脈の証明が適用され得、ユーザーが特定のシステム又はオペレーティングシステムのバージョンを実行しているか否か決定し得る。すなわち、証明は、修正オペレーティングシステム(102)がクライアント装置(110)上においてインストールされ実行しているか検証するTPM(204)上の証明モジュール(208)によって実行され得る。例えば、修正バージョンはそれ自身、強化されたセキュリティ及び不正対策の保護機能を有し得るので、ユーザー(105)には、元のオペレーティングシステム(103)よりも、むしろ修正オペレーティングシステム(102)の実行を強制することが所望され得る。すなわち、
図1aに関し説明したように、修正オペレーティングシステム(102)は、隔離実行環境(108)によって示される制限環境を含み得る。
【0029】
[0036]しかしながら、ユーザー(
105)は、ユーザー(
105)が古いバージョンのオペレーティングシステム、すなわち、元のオペレーティングシステム(103)を実際に実行しているときに修正オペレーティングシステム(102)を実行しているように見せかけることによる不正行為を行うことを試み得る。これは、古いバージョン(元のオペレーティングシステム(103))を実際に実行している間、新しいバージョン(修正オペレーティングシステム(102))から一定のビット情報を集めることによって達成され得、それによってユーザー(105)は、新しいバージョン(修正オペレーティングシステム(102))を実行していることを偽って提示する。このような技法は、今日では普通であって、その結果、侵入したDRMシステムにパッチが実行された後、攻撃者は、パッチが当てられたシステムから新しい機密データを取得し、そのデータを古い侵入システムへ配置し、古い侵入システムが、新たなパッチが当てられた方であるように偽って見せかけるか、又は新たなパッチが当てられたシステム上に同一の形式若しくはわずかに修正された形式の攻撃を適用することによって、新たな侵入システムを生成するかどちらか一方である。
どちらの場合も攻撃者は、新たなパッチが当てられたDRMシステムを実行していない。これらの動作のどちらか一方を実行するための、攻撃者の困難性の増大は、パッチを公開する際の作業の大部分を示している。開発者は、新たな機密が抽出され得る容易性及び同一クラスの攻撃が、新たなパッチが当てられたシステムに適用され得る容易性に留意し続ける必要がある。かくして、ユーザー(105)が元のオペレーティングシステム(103)又は双方の組み合わせどちらか一方とは対照的に修正オペレーティングシステム(102)を実行している事実をTPM(204)に証明させることが望まれ得る。代わりに所望されるコンポーネントは、代替ハードウェアコンポーネントであり得る。この場合、ユーザーが特定のハードウェアコンポーネントを有している事実を、信頼済コンポーネントが証明することが望まれ得る。付加的な代替手段は、環境に対する直接的修正を防止するためのソフトウェアを実行し得る制限を直接的に強制するためのハードウェアコンポーネントに関する。更なる代替手段は、ソフトウェアがロードし得る制限を強制するため、及び確かにロードしたソフトウェア証明を測定し提供するため双方用のハードウェアコンポーネントに関する。同様に、ハイパーバイザーは、双方の動作又はどちらか一方の動作を実行し得る。
【0030】
[0037]TPM(204)は、情報を保護する暗号化キーをストアし得る(
図2に図示されていない)セキュア暗号化プロセッサーを含み得る。TPM(204)が、ハードウェアの疑似乱数生成器に加え、セキュア暗号化キー生成及びそれらの使用を
制限するための便宜を提供し得る。説明したようにTPM(204)は更に、証明ストレージ及び密封ストレージなどの能力も提供し得る。証明は、TPM(204)によって達成され得、クライアント装置(110)(例えば、システム(102)及びアプリケーション(112))のハードウェア構成及びソフトウェア構成のようなハードウェア構成及びソフトウェア構成、ハードウェア単独の構成又はソフトウェア単独の構成に関するほとんど偽造不可能なハッシュキーサマリーを生成する。一実施形態による偽造不可能なハッシュキーサマリー(単数又は複数)はプラットフォーム構成レジスタ(「PCR」)(206)にストアされ得る。
【0031】
[0038]例えば、
図1aに関し説明したように、娯楽サーバー(116)など第三者は、その後、修正オペレーティングシステム(
102)のようなソフトウェアが、その証明を使用しクライアント装置(110)上において無傷であって、かつ、変更されていないことを検証し得る。TPM(204)は、その後、TPM(204)が関連した復号化キーを公開した場合だけ復号化され得る方法でデータを暗号化する封印プロセスを実行し得、TPM(204)のPCRの中で測定された正しい識別を有するソフトウェアだけに対して実行する。封印プロセスの間、どのソフトウェアが機密を開封し得るか指定することによって、娯楽サーバーは、これらの機密がオフライン利用可能であって保護をずっと維持し得る。
【0032】
[0039]SRTM(209)が強固な測定を提供する一方、近代的オペレーティングシステムにおいて個々のバイナリーファイル数を処理するとき、それは厄介になり得る。この問題に取り組むために、TPM(204)は、システムの残りのセキュリティ及びインテグリティがコードインテグリティ及びディスクインテグリティ又は(以下に説明される)別のインテグリティベース機構などを使用した別の機構を介し管理され得る所定のポイントまで、測定を実行し得る。
【0033】
[0040]
図3aは、一実施形態によるコードインテグリティ動作を示している。コードインテグリティは、ロードされた任意のバイナリーが信頼済ルート証明機関によって暗合化して署名されていることを要求し得る。かくして、
図3aに示したように、バイナリーファイル(304(1)〜304(N))及びOSカーネル(302)は、暗号化して署名されていて、すなわち、暗号化したセキュアな環境(315)に存在している。様々なファイル(304(1)〜304(N)及び(302))が利用されるためにそれらは、信頼済ルート証明機関(306)によって検証される必要がある。
【0034】
[0041]例えば、オペレーティングシステムの中には、カーネルモードコンポーネントに対するコードインテグリティ機構を含み得るものもある。一実施形態によるこの既存の機構は、応答可能コンポーネント(及びその地点までのブート経路コンテンツ)を測定し、その後、オペレーティングシステムカーネルのセキュリティを推論することによって、活用され得る。一実施形態によってバイナリー署名が新しいキーに植え付けられ得、ロード可能な一連のドライバーを限定し得る。加えると、ユーザーモードのバイナリーファイルが同一の署名を所有していることを要求する拡張が、このシステム上に接合され得る。それでもなお、コードインテグリティの使用は、レジストリー又はその他の構成ファイルなど、セキュリティに不可欠な一連の非バイナリーファイルをまだ残し得る。
【0035】
[0042]一実施形態によるディスクインテグリティ機構は、これらの欠点が残っているものに対しパッチを当てる方法を提供し得る。
図3bは、一実施形態によるディスクインテグリティ機構の動作を示している。ディスクインテグリティは、ハードディスクのような持続媒体の制御を介し隔離実行環境を保証することを試み得る。かくして、
図3bに示されたような環境(324)におけるインテグリティ保護ディスクファイル(320(1)〜320(N))は、それらが利用され得る前にモジュール(322)を使用しチェックされるインテグリティである。ディスクから読み出されたデータが暗号化して保護(例えばデジタル署名)されていることを保証することによって、システムの中へソフトウェア攻撃を注ぐ難易度が引き上げられ得、その結果、それが一旦確立されると、攻撃を維持することを特に困難にする。
【0036】
[0043]ディスクインテグリティモデルに従ってパーティション上のファイル、例えば、(320(1)〜320(N))は、ルートキーによって署名され得る。これは、(ファイルがクライアント上において署名され得ないので)事実上、ディスクが読み出し専用であることを要求し得る。ディスクインテグリティモデルは、データが署名され、コードも署名されていることを保証することによって、コードインテグリティの脆弱性に対処し得る。
【0037】
[0044]代替実施形態によるプロキシー実行機構が使用され得る。プロキシー実行は、メイン中央演算処理装置(「CPU」)を除くどこかにおいて実行しているコードを指し得る。例えば、コードがセキュリティプロセッサー上において実行され得、メインCPUよりも大きな改竄及び監視の耐性があり得る。このようにハードウェアは、様々な方法で一定のコード部分の実行をセキュリティプロセッサーへ移すことによって有効利用され得る。
【0038】
[0045]一実施形態によるプロキシー実行は更に、CPUとセキュリティプロセッサーとの間のチャネルが使用許可されることを要求することによって、強化され得る。具体的に、
図4aは一実施形態によるプロキシー実行プロセスを示している。コード(406)が、セキュリティプロセッサー(404)上において実行され得る。セキュリティプロセッサー(404)が、使用許可されたチャネル(410)を介しCPU(402)と通信し得る。
【0039】
[0046]一実施形態によるプロキシー実行機構が、特定のSRTMコード測定とセキュリティプロセッサーとを結合するために使用され得、ライセンスが定期的に失効した場合、回復形式としてシステムの再確認を強制するために使用され得る。この実施形態によるセキュリティプロセッサーとCPUとの間の(チャネルを確立するために必要とされる通信以外)すべての通信が、セッションキーに関する知識を要求し得る。これを確立するために、セキュリティプロセッサーが、その能力を有している場合、TPMからの証明を直接的にチェックし得るか、又は有していない場合か若しくはより大きなバージョニングの柔軟性が要求される場合、娯楽サーバー(116)のような信頼済の第三者機関が使用され得、TPMとセキュリティプロセッサーとの間において交渉し得るかどちらか一方であって、それによって娯楽サーバーは、TPMからの証明をチェックし、その後、セキュリティプロセッサーとTPMとの間において暗号化して保護されるチャネル確立を可能にするための証拠及び基本材料を提供する。TPMは、その後、TPMが認証されたPCR値に対する機密すべてを保護する同一の方法で、機器の次回の再起動時、それらの機密をCPUに提供し得る。
【0040】
[0047]代替実施形態による個別化機構も使用され得る。個別化は、単一マシン又はユーザーに束縛されたコードを構築し送信するプロセスを指し得る。例えば、サーバー上の(オンデマンドか又は前もってプールされたどちらか一方の)アプリケーションの動作に関する必須コードが起動プロセスの一部として構築され得、クライアントへダウンロードされ得る。
【0041】
[0048]一実施形態による個別化は、攻撃者が海賊版コンテンツの使用を所望しているマシンそれぞれに対しかなり大きな仕事を攻撃者に実行させることによって「Break Once Run Everywhere」侵入の緩和を試み得る。個別化プロセスによって製造されるバイナリーファイルは固有(又は少なくとも「大部分は固有」)であるので、すべてのマシンを危険に晒し得る単純なパッチを当てたものを配布することがより困難になる。
【0042】
[0049]個別化は、マシン結合のための強力ないくつかの識別形式を要求し得、これがハードウェア識別子である。
従来のDRMシステムにおいてこれは、システムにおける様々なハードウェア部品IDを組み合わせることによって導出される。一実施形態によるセキュリティプロセッサーが活用され得、固有かつ強力なハードウェア識別子を提供し得る。
【0043】
[0050]質が悪い隔離環境を有するそれらのシステムの中には、不正行為(及びそれほど重要性のない著作権侵害)を検出するための方法が監視プロセスを使用し、ゲームサーバー(116)からのチャレンジに応答し得るものもある。ゲームサーバー(116)によって収集されたデータは後で利用され得、マシンが危険に晒されているか否か決定し、その場合、マシンはゲームサーバー(116)か
らアクセスを禁止され、コンテンツに対する付加的ライセンスを取得することが防止され得る。
【0044】
[0051]一実施形態において、監視プロセスは、上述の実施形態に記載したオペレーティングシステム又は実行環境を保護する同一機構によって保護されるインテグリティそれ自身であり得る。
【0045】
[0052]
図4bは、一実施形態による監視プロセスの動作を示している。
図4bに示されるように、不正対策システム(101)は更に、クライアント装置(110)上において監視プロセス(430)を含むように適合されている。娯楽サーバー(116)が、ネットワーク(114)を介し送信され監視プロセス(430)によって受信されるセキュリティチャレンジ(432)を生成し得る。監視プロセス(430)が、応答(434)を順々に生成し得、その後、ネットワーク(14)介し娯楽サーバー(116)へ送信し得る。監視プロセス(430)が、修正オペレーティングシステム(102)内部で実行することに加えてハイパーバイザーにおいても実行され得る。
【0046】
[0053]監視プロセス(430)の実装は、いくつかの評価基準の強制を要求し得る。第一に、これらのチャレンジに対するレスポンスコードブックを自明に作成することが容易であってはならず、一連のチャレンジは大きい必要があって、正しい回答がクライアントに明示的に利用可能であってはならないことを意味する。監視プロセス(430)は、新しいチャレンジが自由自在に追加され得るよう十分な機敏性を要求し得る。最悪の場合、攻撃者は、アタックソフトウェアを実行するクライアントシステムが、それを望み通りの結果として使用し得るようなクライアントシステムをインターネット上のどこかに設定可能である。これを防止するために、(明白な監視及び介入者攻撃を防止するための)暗号化が、ゲームサーバー(116)と監視プロセス(430)との間のチャネルにおいて適用され得、可能性ある応答が、ある方法によって、セキュリティプロセッサー、マシン識別、又はTPMのような別のセキュリティハードウェアと接続され得る。
【0047】
[0054]複数の技術が様々な組み合わせでレイヤ化されたレイヤ保護機構もまた使用され得る。例えば、誘導アタックフットプリント、ディスクインテグリティ、及びSRTMを利用させる「デュアルブート」ソリューションが使用され得る。
【0048】
[0055]代替実施形態に従うと、
図1aに示したように、既に説明したTPMであり得る外部の信頼済エンティティ(104)を利用するよりもむしろ信頼済エンティティは、うってつけのハードウェア装置を含み得、その上で修正オペレーティングシステム(102)は、修正オペレーティングシステム(102)がハードウェア装置上で実際に実行していることをハードウェア装置が強制し得る間、ホスティングされる。かくして
図4cに示したように、不正対策システム(101)が、制限ハードウェアデバイス(430)を介し実装され得、修正オペレーティングシステム(102)のように所望されるオペレーティングシステムの動作及び実行を内部で強制し得る。制限ハードウェアデバイス(430)は、例えば、携帯電話又はケーブルセットトップボックスであり得る。
【0049】
[0056]外部の信頼済エンティティ(104)を使用するよりもむしろ更に、別の代替実施形態によるハイパーバイザー(440)がクライアント装置(110)の内部に提供され得る。
図4dは、一実施形態によるハイパーバイザーを介する不正対策システム動作を示している。ハイパーバイザー(440)は、前述したようなTPM環境において、SRTMを使用する代わりに測定
値を受信し得る。一実施形態によるハイパーバイザー(440)は、測定起動ハイパーバイザーであり得る。この実施形態に従った、例えば、ハイパーバイザー識別モジュール(442)を介し実行中の特定のハイパーバイザー(440)の身元を決定するための機構が提供され得る。かくして、娯楽サーバー(116)は、例えば、ハイパーバイザー識別モジュールと通信し得、ハイパーバイザー(440)の種類を識別し得る。ハイパーバイザー(440)は、娯楽サーバー(116)と順々に通信し得、娯楽サーバー(116)に修正オペレーティングシステム(102)の存在又は不在を通知し得る。修正オペレーティングシステム(102)のインストールが、ゲームタイトル(112)の動作に対する不正行為のない文脈を保証する。
【0050】
[0057]
図5は、実施形態例の態様が実装され得る例示的計算環境を示している。計算システム環境(500)は適切な計算環境の一例に過ぎず、記載されている実施形態例の利用性又は機能性の範囲に関し、いかなる制限も提示するように意図されていない。計算環境(500)は、例示的計算環境(500)に示された一コンポーネント又は任意の組み合わせに関連し、いかなる依存性も要件も有していないように解釈されたい。
【0051】
[0058]実施形態例は、その他多くの汎用又は特定用途の計算システム環境又はシステム構成を用いて作動する。実施形態例とともに使用するために適切であり得る十分に知られている計算システム環境及び/又はシステム構成例は、パーソナルコンピューター、サーバーコンピューター、携帯装置又はラップトップ装置、マルチプロセッサーシステム、マイクロプロセッサーベースシステム、セットトップボックス、プログラマブル家電、ネットワークPC、ミニコンピューター、メインフレームコンピューター、組込システム、上記システム又は機器などのいずれかを含む分散計算環境を含むがこれらに限定しない。
【0052】
[0059]実施形態例は、計算機によって実行されるプログラムモジュールなどの計算機実行可能命令に関する一般的な文脈で説明され得る。通常、プログラムモジュールは、特定のタスクを実行するか又は特定の抽象データタイプを実装しているルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。実施形態例は、タスクが通信ネットワーク又はその他のデータ伝送媒体を介し接続されたリモート演算処理装置によって実行される分散計算環境においても実施され得る。分散計算環境において、プログラムモジュール及びその他のデータは、メモリー記憶装置を含むローカル及びリモート計算機記憶媒体双方に配置され得る。
【0053】
[0060]
図5を参照すると、実施形態例を実装するための例示的システムは、計算機(510)形式の汎用計算装置を含む。計算機(510)のコンポーネントは、演算処理装置(520)、システムメモリー(530)、及びシステムメモリーを含む様々なシステムコンポーネントを演算処理装置(520)と接続するシステムバス(521)を含むがこれらに限定しない。演算処理装置(520)は、マルチスレッドプロセッサー上において支援される複数の論理演算処理装置を表し得る。システムバス(521)は、メモリーバス又はメモリーコントローラー、周辺機器バス、及び様々な任意のバスアーキテクチャを使用したローカルバスを含むいくつかのタイプのバス構造のいずれかであり得る。非限定の例として、そのようなアーキテクチャは、業界標準アーキテクチャ(ISA)バス、マイクロチャネルアーキテクチャ(MCA)バス、拡張ISA(EISA)バス、ビデオ機器に関する標準化団体(VESA)ローカルバス、及び(メザニンバスとしても知られている)周辺機器相互接続(PCI)バスを含む。システムバス(521)は、通信装置の間にポイントツーポイント接続、スイッチング構造などの方法で実装され得る。
【0054】
[0061]計算機(510)は、典型的に、様々な計算機可読媒体を含む。計算機可読媒体は、計算機(510)によってアクセスされ得る利用可能な任意の媒体であり得、揮発性及び不揮発性媒体、及び取り外し可能及び取り外し不可能媒体双方を含む。非限定の例として、計算機可読媒体は、計算機記憶媒体及び通信媒体を含み得る。計算機記憶媒体は、計算機可読命令、データ構造、プログラムモジュール、又はその他のデータなど、情報記憶に関する任意の方法又は技術で実装された揮発性及び不揮発性、及び取り外し可能及び取り外し不可能媒体の双方を含む。計算機記憶媒体は、RAM、ROM、EEPROM、フラッシュメモリー、又はその他のメモリー技術、CDROM、デジタル多用途ディスク(DVD)、又はその他の光学式ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置、又はその他の磁気記憶装置、又は所望される情報をストアするために使用され得、計算機(510)によってアクセスされ得るその他の任意の媒体を含むがこれらに限定しない。通信媒体は、典型的に、搬送波又はその他の移送機構のような変調データ信号で計算機可読命令、データ構造、プログラムモジュール、又はその他のデータを具現化していて、任意の情報伝達媒体を含む。用語「変調データ信号」は、信号中の情報を符号化するような方法で設定又は変更されたその1つ以上の特性を有する信号を意味する。非限定の例として、通信媒体は、有線ネットワーク又は直接有線接続などの有線媒体、又は音響、無線(RF)、赤外線、及び別の無線媒体などの無線媒体を含む。前述の組み合わせのどれもが計算機可読媒体の範囲内に含まれるだろう。
【0055】
[0062]システムメモリー(530)は、読み出し専用メモリー(ROM)(531)及びランダムアクセスメモリー(RAM)(532)などの揮発性及び/又は不揮発性メモリー形式の計算機記憶媒体を含む。起動中など、計算機(510)内部のエレメント間において情報送信を支援する基本ルーチンを含む基本入出力システム(BIOS)(533)は、典型的にROM(531)にストアされている。RAM(532)は、典型的に、演算処理装置(520)によって即座にアクセス可能な及び/又は現在作動されているデータ及び/又はプログラムモジュールを含む。非限定の例として、
図5は、オペレーティングシステム(534)、アプリケーションプログラム(複数)(535)、その他のプログラムモジュール(複数)(536)、及びプログラムデータ(537)を示している。
【0056】
[0063]計算機(510)は、その他の取り外し可能/取り外し不可能、揮発性/不揮発性計算機記憶媒体も含み得る。ほんの一例として、
図6は、取り外し不可能、不揮発性磁気媒体から読み出すか又はそれに書き込むハードディスクドライブ(541)、取り外し可能、不揮発性磁気ディスク(552)から読み出すか又はそれに書き込む磁気ディスクドライブ(551)、CD−ROM、又はその他の光学式媒体などの取り外し可能、不揮発性光学式ディスク(556)から読み出すか又はそれに書き込む光学式ディスクドライブ(555)を示している。例示的な動作環境において使用され得る別の取り外し可能/取り外し不可能、揮発性/不揮発性計算機記憶媒体は、磁気カセットテープ、フラッシュメモリーカード、デジタル多用途ディスク、デジタルビデオテープ、半導体RAM、半導体ROM等を含むがこれらに限定しない。ハードディスクドライブ(541)は、典型的に、インターフェース(540)のような取り外し不可能メモリーインターフェースを介しシステムバス(521)と接続され、磁気ディスクドライブ(551)及び光学式ディスクドライブ(555)は、典型的に、インターフェース(550)のような取り外し可能メモリーインターフェースによってシステムバス(521)と接続される。
【0057】
[0064]
図5に前述し例示されたドライブ及びそれらに関連する計算機記憶媒体は、計算機(510)に計算機可読命令、データ構造、プログラムモジュール、及び他のデータの記憶装置を提供する。
図5において、例えばハードディスクドライブ(541)は、オペレーティングシステム(544)、アプリケーションプログラム(複数)(545)、その他のプログラムモジュール(複数)(546)、及びプログラムデータ(547)をストアするように例示されている。これらのコンポーネントが、オペレーティングシステム(534)、アプリケーションプログラム(複数)(535)、その他のプログラムモジュール(複数)(536)、及びプログラムデータ(537)と同一か又は異なったどちらか一方であり得ることに留意されたい。オペレーティングシステム(544)、アプリケーションプログラム(545)、その他のプログラムモジュール(546)、及びプログラムデータ(547)は、本明細書において異なる番号を付与されていて、最小限の異なる複製物であることを示している。ユーザーは、一般に、キーボード(562)のような入力装置、及びマウス、トラックボール又はタッチパッドなど参照されるポインティングデバイス(561)を介し、計算機(510)へコマンド及び情報を入力し得る。
その他の(示されていない)入力装置は、マイクロフォン、ジョイスティック、ゲームパッド、衛星放送受信アンテナ、スキャナなどを含み得る。これら及び他の入力装置は、多くの場合、システムバスに接続されたユーザー入力インターフェース(560)を介し演算処理装置(520)と接続されるが、パラレルポート、ゲームポート又はユニバーサルシリアルバス(USB)のような別のインターフェース及びバス構造によっても接続され得る。モニター(591)又は別のタイプの表示装置もビデオインターフェース(590)のようなインターフェースを介し、システムバス(521)と接続される。モニターに加えて、計算機はスピーカー(複数)(597)及び周辺機器出力インターフェース(590)を介し接続され得るプリンター(596)のようなその他の出力周辺機器も含み得る。
【0058】
[0065]計算機(510)は、リモートコンピューター(580)のような1つ以上のリモート計算機との論理接続を使用したネットワーク接続環境において作動し得る。リモートコンピューター(580)は、パーソナルコンピューター、サーバー、ルーター、ネットワークPC、ピア装置、又は一般的な別のネットワークノードであり得、典型的に、前述された計算機(510)に関連するエレメントの多く又はすべてを含むが、
図5にはメモリー記憶装置(581)だけが例示されている。
図5に示されている論理的な接続は、ローカルエリアネットワーク(LAN)(571)及び広域ネットワーク(WAN)(573)を含むが、その他のネットワーク(複数)も含み得る。そのようなネットワーク環境は、オフィス、企業規模計算機ネットワーク、イントラネット、及びインターネットにおいて一般的である。
【0059】
[0066]計算機(510)は、LANネットワーク環境において使用されるとき、ネットワークインターフェース又はアダプター(570)を介しLAN(571)と接続される。計算機(510)は、典型的に、WANネットワーク環境において使用されるとき、インターネットのようなWAN(573)を介し通信を確立するためのモデム(572)又はその他の手段を含む。内蔵又は外付けがあり得るモデム(572)が、ユーザー入力インターフェース(560)又はその他の適切な機器を介しシステムバス(521)と接続され得る。ネットワーク環境において、計算機(510)又はその一部に関連し示されているプログラムモジュールが、リモートメモリー記憶装置にストアされ得る。非限定の例として、
図5は、メモリー装置(581)に常駐しているリモートアプリケーションプログラム(585)を示している。表示されているネットワーク接続が例示的であって、計算機間の通信リンクを確立する別の手段が使用され得ることを十分に理解されよう。
【0060】
[0067]計算環境(500)は、典型的に、少なくともいくつかの計算機可読媒体形式を含む。計算機可読媒体は、計算環境(500)によってアクセスされ得る利用可能な任意の媒体であり得る。非限定の例として、計算機可読媒体は、「計算機記憶媒体」及び「通信媒体」を含み得る。計算機記憶媒体は、計算機読込可能命令、データ構造、プログラムモジュール、又はその他のデータのような情報の記憶に関する任意の方法若しくは技術で実装される揮発性媒体及び不揮発性媒体、並びに取り外し可能媒体及び媒体取り外し不可能媒体を含む。計算機記憶媒体は、RAM、ROM、EEPROM、フラッシュメモリー、若しくはその他のメモリー技術、CD−ROM、デジタル多用途ディスク(DVD)、若しくはその他の光記憶機器、磁気カセット、磁気テープ、磁気ディスク記憶機器、若しくはその他の磁気記憶機器、又は所望した情報をストアするために利用され得、計算機によってアクセスされ得るその他任意の媒体、を含むがこれらに限定しない。通信媒体は、典型的に、搬送波又はその他の移送機構のような調節されたデータ信号の計算機可読命令、データ構造、プログラムモジュール、又はその他のデータを具体化する。用語「変調データ信号」は、信号内の情報を符号化する方法によって設定された又は変更されたその1つ以上の特性を有する信号を意味している。非限定の例として、通信媒体は、有線ネットワーク又は直接有線接続のような有線媒体、及び音響、RF、赤外線、及びその他のワイヤレスメディアのような無線媒体などを含む。上記の任意の組み合わせも計算機可読媒体の範囲内に含まれる必要がある。対象項目は、構造的な機能及び/又は方法論的な動作に対して特定の言語で説明されているが、添付した請求項に定義されている対象項目が、必ずしも前述した特定の機能又は動作に限定されるわけではないことを理解されよう。もっと具体的に言うと、前述した特定の機能及び動作は、本請求項の実装形式の例として開示されている。
【0061】
[0068]主題が構造上の特徴及び/又は方法動作に特定の言語で説明されているが、添付の請求項において定義されている主題が、必ずしも前述の特定の機能又は動作に限定されるわけではないことを理解されよう。もっと正確に言えば、前述された特定の機能及び動作は、請求項を実装する例の形式として開示されている。
【0062】
[0069]本発明の対象事項は、法的要件を満たす特異性を用いて記載されている。しかしながら、本明細書自身の説明がこの特許範囲を限定するように意図されていない。もっと具体的に言えば、請求対象項目が別の方法でも具体化され得、本書に記載したものと異なる別の現在技術又は将来技術と連動したステップ又は同様のステップの組み合わせを含むことも想定している。