説明

計算機システム内のセキュリティ侵害を識別して防ぐためのシステムと方法

【課題】計算機システム内でセキュリティ侵害を識別して防ぐシステムと方法を提供する。
【解決手段】計算機システム(100)はプログラムを実行するプロセッサ・コア(106)を有する多重処理ユニット(104)を含む。監視システム(200)はコア・バス上の活動を監視してセキュリティ侵害を識別するプラットフォーム・セキュリティ・コントローラ(250)を含む。セキュリティ侵害の識別に応じて、プロセッサ・コア(106)内のプログラムの更なる実行を防ぐ。

【発明の詳細な説明】
【技術分野】
【0001】
本件はマイクロプロセッサ・ベースのシステム内で悪質なプログラムが実行されていることを検出することに関する。場合によっては、悪質なプログラムの実行を止めて、攻撃が検出されたことを可視的および/または可聴的通報によりユーザに通報してよい。
【背景技術】
【0002】
マイクロプロセッサ・ベースの民生用エレクトロニック装置は、オペレーティング・システム(O/S)用とユーザ・ソフトウエア・アプリケーション用の2つの特権レベルで設計される。或るマイクロプロセッサ・ベースのシステムでは、2つの特権レベルのセキュリティは十分でない。それは、主としてオペレーティング・システムの特権レベル(保護モードと呼ぶことがある)の効果的な実現がO/Sソフトウエアの正しい動作に依存するからである。このようにO/Sソフトウエアの正しい動作に依存するため、システムはコンピュータ・ウイルスなどの悪質なプログラムに弱い。
【発明の概要】
【発明が解決しようとする課題】
【0003】
或るマイクロプロセッサ・ベースのシステムは第3の「安全」動作レベルをハードウエアで実現することによりこの問題に対処している。このセキュリティ・ハードウエアは少なくともいくつかのハードウエア構成要素(例えば、メモリ、メモリ管理ユニット、キャッシュ・レジスタなど)へのソフトウエア・アクセスを阻止することができる。セキュリティ・ハードウエアはセキュリティ侵害に関してシステムを監視し、何らかの侵害を検出するとシステム全体をリセットしてよい。しかしシステムをリセットすること自体が攻撃になるので、システムをしばしばリセットするとシステムは使用不能になる。かかる攻撃はしばしば「サービスの拒否(denial of service:DoS)」攻撃と呼ばれる。
したがって、システムをリセットするという極端な手段に訴えずに攻撃を検出して止めることのできるシステムが望まれる。
【課題を解決するための手段】
【0004】
上に述べた問題の大部分は、計算機システム内でセキュリティ侵害を識別して防ぐシステムと方法により対処することができる。或る例示の実施の形態は、プロセッサ・コア(計算機システム内で動作するプロセッサ・コア)に結合するコア・バス上の活動を監視し、コア・バス上の活動をセキュリティ侵害と識別し、セキュリティ侵害に応じてプロセッサ・コア内の或る命令の実行を防ぐことから成る方法を含んでよい。
【0005】
別の例示的な実施の形態は、計算機システムのプロセッサ・コアのコア・バス上の活動を追跡し、コア・バス上の活動をセキュリティ侵害と認識し、セキュリティ侵害に応じてプロセッサ・コアに割込み信号を表明し、表明された割込み信号に応じてセキュリティ応答ソフトウエアを実行することから成る方法を含んでよい。
【0006】
更に別の例示の実施の形態は、1次バスに結合するプロセッサ・コアと、1次バスに結合する監視システム(この監視システムは1次バス上の活動を追跡する)から成る計算機システムを含んでよい。監視システムはプロセッサ・コア上で実行するプログラムに起因する1次バス上の活動を含むセキュリティ侵害を認識し、プロセッサ・コアのパイプライン・ステージをフラッシュさせることにより活動の完了を阻止する。
更に別の例示の実施の形態は、監視システムと、複数の計算機システム構成要素と、ファイアウォール・システム(複数のシステム構成要素の少なくとも1つへのアクセスの企てを監視するために複数の計算機システム構成要素と監視システムとの間に結合するファイアウォール・システム)から成る計算機システムを含んでよい。ファイアウォール・システムは複数の記憶されたファイアウォール拘束の少なくとも1つの侵害をセキュリティ侵害と認識して、アクセスの企てをセキュリティ侵害と認識した場合はそのアクセスの企てを阻止する。
【図面の簡単な説明】
【0007】
【図1】本発明の少なくともいくつかの実施の形態に従って構築された計算機システムを示す。
【図2】本発明の少なくともいくつかの実施の形態に従って構築された監視装置を示す。
【図3】本発明の少なくともいくつかの実施の形態に係る、攻撃を止める方法を示す。
【発明を実施するための形態】
【0008】
(表記法と用語)
以下の説明とクレームではいくつかの用語を用いて特定のシステム構成要素を参照する。この文書では、名称は異なるが機能は同じである構成要素は区別しない。
【0009】
以下の説明とクレームでは、「含む」および「備える」という用語は非制約的に用いられるので、「含むが限定されない」の意味に解釈しなければならない。また「結合する」という用語は間接または直接の電気的接続を意味するものである。したがって、第1の装置が第2の装置に結合する場合は、その接続は直接の電気的接続でもよいし、他の装置や接続を介した間接の電気的接続でもよい。
【0010】
(好ましい実施の形態の詳細な説明)
図1は本発明の少なくともいくつかの実施の形態に従って構築された計算機システム100を示す。計算機システム100は、データおよび命令バスとセキュリティ・ファイアウォール(例えば、L3バス/ファイアウォール254、L4バス/ファイアウォール256、外部メモリ・ファイアウォール252)とにより種々の他のシステム構成要素に結合する多重処理ユニット(MPU)104を備えてよい。MPU104は、恐らく複数の処理パイプラインを有してプログラムを実行するプロセッサ・コア(コア)106を備えてよい。またMPU104は、コア106上で安全なプログラムを実行するためにMPU104を安全モードに入れるのを助けるコア・セキュリティ・コントローラ(CSC)258を備えてよい。またコア・セキュリティ・コントローラ258は、安全モード中は安全な動作を保証し、非安全モード中は計算機システム100の安全な構成要素へのアクセスを防ぐための監視動作を行う。
【0011】
また計算機システム100は、L3バス/ファイアウォール254によりMPU104に結合するディジタル信号処理プロセッサ(DSP)108を備えてよい。DSP108はMPU104を助けてタスクに特有の計算(グラフィックス処理や音声処理など)を行ってよい。DSP108は自分のコア110と自分のコア・セキュリティ・コントローラ260とを有してよい。グラフィックス・アクセラレータ(GFX)112もL3バス/ファイアウォール254によりMPU104とDSP108とに結合してよい。グラフィックス・アクセラレータ112は情報をディスプレイ装置142上などに表示するために必要な計算と情報の変換を行ってよい。MPU104およびDSP108と同様に、グラフィックス・アクセラレータ112は自分のコア114と自分のコア・セキュリティ・コントローラ262とを有してよい。MPU104の場合と同様に、DSP108およびグラフィックス・アクセラレータ112はそれぞれ独立に安全モードに入って、コア110およびコア114上でそれぞれセキュリティ・プログラムを実行してよい。
【0012】
また計算機システム100は、L3バス/ファイアウォール254によりオンチップ・メモリ118およびスタック化メモリ120に結合しまたL3バス/ファイアウォール254および外部メモリ・ファイアウォール252により外部メモリ116に結合する、直接メモリ・アクセス・コントローラ(DMA CTLR)122を備えてよい。直接メモリ・アクセス・コントローラ122は、オンチップ・メモリ118と、スタック化メモリ120と、外部メモリ116との間のアクセスを、例えばMPU104や、DSP108や、グラフィックス・アクセラレータ112などの他の任意のシステム構成要素により制御してよい。オンチップ・メモリ118と、スタック化メモリ120と、外部メモリ116とは任意の適当なメモリでよい。例えば、同期RAM、RAMBUS(登録商標)型RAM、プログラマブルROM(PROM)、消去可能なプログラマブルROM(EPROM)、電気的に消去可能なプログラマブルROM(EEPROM)などでよい。スタック化メモリは、システム・オン・ア・チップ(SoC)102と同じ半導体パッケージ内に組み込まれるが、システム・オン・ア・チップ102の半導体ダイ(die)とは別の半導体ダイ上にある任意の適当なメモリでよい。
【0013】
また計算機システム100は、L4バス/ファイアウォール256により種々のシステム構成要素に結合するUSBインターフェース(USB I/F)124を備えてよい。USBインターフェース124により、計算機システム100は外部装置に結合して通信することができる。
【0014】
各コア・セキュリティ・コントローラ(例えば、コア・セキュリティ・コントローラ258)は、各個別のプロセッサ・コア(例えば、コア106)のシステム・パラメータを監視するハードウエア・ベースの状態機械として実現してよい。コア・セキュリティ・コントローラにより、プロセッサは安全動作モードを開始して、安全なメモリから(例えば、オンチップ・メモリ118の安全なアドレス範囲から)の安全なプログラムを実行し、安全な資源(例えば、直接メモリ・アクセス・コントローラ122の安全なチャンネルの制御レジスタ)にアクセスすることができる。この安全モード(すなわち第3レベルの特権)を有することは、任意の種類のコンピュータ・システム(例えば、ラップトップ・コンピュータ、デスクトップ・コンピュータ、サーバのバンク内のサーバ)にとって貴重である。しかし本発明の少なくともいくつかの実施の形態では、計算機システム100は移動体計算機システムでよい。例えば、セルラ電話や、パーソナル・ディジタル・アシスト(PDA)や、テキスト・メッセージング・システムや、メッセージング・システムとパーソナル・ディジタル・アシストとセルラ電話の機能を組み合わせた計算装置でよい。いくつかの実施の形態は、外部アンテナ136に結合するモデム・チップセット138、および/または同様に外部アンテナ130に結合する全地球測位システム(GPS)回路128を備えてよい。
【0015】
少なくともいくつかの実施の形態に係る計算機システム100は移動体装置なので、計算機システム100は、恐らく電力管理ユニット134により制御されて種々の処理要素に電力を供給する電池132も備えてよい。ユーザは、キーボードやキーパッドやタッチ・パネルなどのユーザ・インターフェース(ユーザI/F)140によりデータおよび/またはメッセージを計算機システム100に入力してよい。多くのセルラ電話はディジタル静止画像とビデオ画像を扱う機能も備えるので、或る実施の形態では、計算機システム100はカメラ・インターフェース(CAM I/F)126を備えて、ディジタル画像を捕える電荷結合素子(CCD)配列(図示しない)に計算機システム100を結合することによりカメラ機能を与えることができる。
【0016】
図1に示すシステム100の種々のファイアウォールはコア・セキュリティ・コントローラが与える保護を超える更なる保護をそれぞれ与える。ファイアウォールは、一組のプログラムされた規則に従って他の構成要素(またはその構成要素上で実行するソフトウエア)が計算機システム100の構成要素にアクセスするのを阻止または許可してよい。この規則は構成要素と動作モード(例えば、安全または非安全)の対の間の関係を確立する。かかる規則は、ハードウエアで、またはアクセスを企てる構成要素と望ましいアクセス先である構成要素のアドレス範囲とを相互参照する許可テーブルの形のソフトウエアで実現してよい。要求された動作と現在の動作モードとについて得られた許可がアクセスを拒否するものである場合は、ファイアウォールはセキュリティ侵害の信号を送る。
【0017】
ファイアウォール252,254,256と、コア・セキュリティ・コントローラ258,260,262と、セキュリティ表示器264とは、プラットフォーム・セキュリティ・コントローラ250にそれぞれ結合する。プラットフォーム・セキュリティ・コントローラ250はセキュリティ侵害を検出する中枢として働く。コア・セキュリティ・コントローラおよびファイアウォールは、プラットフォーム・セキュリティ・コントローラ250により監視された個別のセキュリティ侵害信号をそれぞれ表明する。個別のセキュリティ侵害信号のどれかの表明を検出すると、プラットフォーム・セキュリティ・コントローラはこれに応えて1つ以上のコア・セキュリティ・コントローラを起動してセキュリティ応答シーケンス(後で説明する)を開始する。またプラットフォーム・セキュリティ・コントローラは、攻撃表示器264を活動化するなどして、侵害を検出したことを計算機システム100のユーザに警報してよい。
【0018】
上に述べた種々のセキュリティ構成要素は監視システム200として動作する。監視システム200は、プラットフォーム・セキュリティ・コントローラ250と、ファイアウォール252,254,256と、コア・セキュリティ・コントローラ258,260,262と、攻撃表示器264とを備える。図2は監視システム200の詳細を示すもので、監視システム200内の構成要素とMPU104内の構成要素とを結合する例示的な構成を示す。本発明の少なくともいくつかの実施の形態では、MPU104は、コア106と、割込みコントローラ174と、2次バス182と、コア・セキュリティ・コントローラ258(コア・セキュリティ・コントローラ258も備える監視システム200と重なる)とを備える。コア106は、プロセッサ170と、1次バス180(プロセッサ170の固有のバス)と、バス・ブリッジ172とを備える。本発明の少なくともいくつかの実施の形態では、プロセッサ170はARM1136シリーズのプロセッサなどのオンチップのシステム内に組み込むのに適した任意のプロセッサでよい。
【0019】
プロセッサ170は、バス・ブリッジ172およびコア・セキュリティ・コントローラ258と同様に1次バス180に結合する。またプロセッサ170は、コア・セキュリティ・コントローラ258と割込みコントローラ174とに結合する。コア・セキュリティ・コントローラ258は、バス・ブリッジ172とプラットフォーム・セキュリティ・コントローラ250とに結合する。プラットフォーム・セキュリティ・コントローラ250は、攻撃表示器264と、外部メモリ・ファイアウォール252と、L3バス/ファイアウォール254と、L4バス/ファイアウォール256とに結合する。L4バス/ファイアウォール256はL3バス/ファイアウォール254に結合し、L3バス/ファイアウォール254は2次バス182に結合する。
【0020】
コア・セキュリティ・コントローラは、1次バス180上の信号を監視することによりプロセッサ170の活動を追跡する。これらの信号は、命令バス信号と、データ・バス信号と、状態信号と、制御信号とを含んでよい。かかる信号は1次バス内の別々のバス(例えば、ハーバード・コンピュータ・アーキテクチャに見られるような命令バスや、データ読取りバスや、データ書込みバス)として編成してよい。1次バス180上のかかる信号を監視することにより、コア・セキュリティ・コントローラ258は実行するためにプロセッサ170に与えられる実際の命令およびデータや、MPU104のセキュリティ・モードや、現在のセキュリティ・モードにおいて命令および/またはデータが許可されるかどうか、を決定することができる。例えば、プロセッサ170が非安全モードで動作中にプロセッサ170上で実行するプログラムがメモリの安全なアドレス範囲にアクセスしようとすると、コア・セキュリティ・コントローラ258はこれをセキュリティ侵害と識別する。同様に、プロセッサ170が安全モードで動作中にプロセッサ170上で実行するプログラムがメモリの非安全なアドレス範囲にアクセスしようとすると、コア・セキュリティ・コントローラ258はこれもセキュリティ侵害と識別する。
【0021】
1次バス180上の他の活動もセキュリティ侵害と識別される。2つの資源のセキュリティ・レベルが一致しない場合は、コア・セキュリティ・コントローラ258は一方の資源から他方の資源へのアクセスをセキュリティ侵害と識別する。したがって、例えば、直接メモリ・アクセス・コントローラ122の非安全なチャンネルがオンチップ・メモリ118の安全なアドレス範囲にアクセスすると、セキュリティ侵害と識別される。同様に、直接メモリ・アクセス・コントローラ122の安全なチャンネルが外部メモリ116の非安全なアドレス範囲にアクセスすると、これもセキュリティ侵害と識別される。コア・セキュリティ・コントローラ258は、プロセッサ170に与えられる命令放棄シーケンスもセキュリティ侵害と識別する。この種の攻撃の例としては、悪性のプログラムが命令放棄シーケンスを用いて安全モード・エントリ・シーケンスに割り込もうとしたり、すでに安全モードで実行中のソフトウエアに割り込もうとしたりすることなどがある。両方ともセキュリティ侵害と識別される。
【0022】
セキュリティ・コントローラ258が監視するシステム上の他の活動は、電子通信システム100の電圧レベルの悪質な処理や、クロック周波数の悪質な不正処理や、故意のハードウエア故障生成(例えば、レーザを用いた)や、無許可のテストおよびデバッグ活動(例えば、運転中の電子通信システム100をテスト・モードにしようとすること)を含む。セキュリティ・コントローラ258が検出したこれらの活動の企ても全てセキュリティ侵害と識別される。
【0023】
セキュリティ侵害が検出されると、コア・セキュリティ・コントローラ258はセキュリティ応答シーケンスを開始してよい。セキュリティ応答シーケンスは、侵害する動作の実行を阻止または停止することや、有害なプログラムの今後の実行を阻止すること(例えば、計算機システム100からプログラムを削除することにより)や、恐らく両方の処置を含む。それぞれについて順に説明する。
【0024】
本発明の少なくともいくつかの実施の形態では、命令または命令に関連するデータがコア・セキュリティ・コントローラ258内にプログラムされているセキュリティ拘束を侵害した場合は、コア・セキュリティ・コントローラ258は1次バス180上でプロセッサ170に与えられる命令を放棄してよい。コア・セキュリティ・コントローラ258はセキュリティ放棄信号282を表明し、バス・ブリッジ172はこれを固有のプロセッサ・ハードウエア・ベースの放棄に変換する。ハードウエア・ベースの放棄は有害な命令の実行を防ぎ、また先取りユニットや、内部命令および/またはデータ予測機構や、侵害または攻撃の一部である追加のプログラム命令を含むプロセッサ170のパイプライン・ステージをフラッシュしてよい。かかるフラッシュにより悪質なプログラムの文脈を消去して、プログラムの実行を終わらせる。放棄はハードウエア・ベースであってソフトウエアによる制御または干渉を受けないので、悪質なプログラムはこのように実現されたセキュリティ応答シーケンスを妨害したり迂回したりするのが非常に困難である。
【0025】
本発明の少なくともいくつかの実施の形態では、プロセッサ170はARM1136シリーズのプロセッサでよい。かかるプロセッサは、セキュリティ侵害を起こしたと識別された命令の実行を防ぐのに必要な上述の種類のハードウエア・ベースの命令放棄シーケンスを与え、また放棄シーケンスの一部として全ての予想およびパイプライン・ステージをフラッシュして、攻撃シーケンスの一部である全ての他の先取り命令の実行を防ぐ機能を与える。
【0026】
また図2のコア・セキュリティ・コントローラ258は、セキュリティ侵害に応答してプロセッサ170への割込みを生成する。本発明の少なくともいくつかの実施の形態では、コア・セキュリティ・コントローラはセキュリティ放棄割込み信号284を表明する。割込みコントローラ174はこれを監視する。セキュリティ放棄割込みの表明に応じて割込みコントローラは割込み要求(IRQ)信号281を表明し、これによりプロセッサ170への割込み要求を開始してよい。
【0027】
割込み要求信号281によりトリガされてプロセッサ170上で実行される割込みサービス・ルーチンは、悪質なプログラムの源を識別してプログラムの今後の実行を防ぐ(例えば、計算機システム100からその源を除去することにより)ことのできる1つ以上のソフトウエア・プログラム(例えば、アンチウイルス・ソフトウエア)を実行する。プロセッサ170は侵害消去信号280を表明することにより、割込みサービス・ルーチンが完了したことをコア・セキュリティ・コントローラ258に知らせてよい。本発明の少なくともいくつかの実施の形態では、高性能で優先順位の高いプロセッサ割込み(例えば、ARM1136シリーズのプロセッサのFIQ割込み)を用いてよい。なぜなら、かかる割込みによりトリガされた割込みサービス・ルーチンを、攻撃するソフトウエアが迂回するのは非常に困難だからである。
【0028】
コア・セキュリティ・コントローラ258は監視システム200の種々のファイアウォールの1つが検出したセキュリティ侵害にも応答してよい。監視システム200の種々のファイアウォールはそれぞれファイアウォール侵害信号(例えば、L3ファイアウォール侵害信号292)を表明して、セキュリティ侵害が検出されたことをプラットフォーム・コントローラ250に示してよい。プラットフォーム・コントローラ250はファイアウォールが検出したセキュリティ侵害に応答してファイアウォール侵害信号286を表明してよい。或る実施の形態では、コア・セキュリティ・コントローラ258はファイアウォール侵害表示に対して、コア・セキュリティ・コントローラ258が検出したセキュリティ侵害に応答するのと同じ方法で応答してよい。
【0029】
別の実施の形態では、コア・セキュリティ・コントローラ258はファイアウォールセキュリティ侵害に別の方法で応答してよい。例えば、USBポート124(図1参照)に結合するUSB装置がオンチップ・メモリ118の安全なアドレス範囲にアクセスしようとした場合は、L4バス/ファイアウォール256はアクセスを拒否して、侵害をプラットフォーム・セキュリティ・コントローラ250に通報してよい。プラットフォーム・セキュリティ・コントローラ250はファイアウォールが検出した侵害をコア・セキュリティ・コントローラ258に通知し、コア・セキュリティ・コントローラ258はプロセッサ170に割込み要求を送ってよい。割込み要求に応えてプロセッサ170上で実行される割込みサービス・ルーチンは必要な処置をとってよい。かかる処置はセキュリティ侵害のロギングでよい。なぜなら、アクセスはすでにファイアウォールにより阻止されているので、それ以上の保護または補償の処置をとる必要はないからである。
【0030】
本発明の少なくともいくつかの実施の形態に従って構築された監視システム200のファイアウォールは、異なるセキュリティ・レベルで動作することのできる計算機システム100の構成要素の間を分離してよい。ファイアウォールは計算機システム100の種々の構成要素をリンクするバス内に組み込んで、バス内の要求/応答機構を制御してよい。かかる要求/応答機構により、アクセスを要求する構成要素(「イニシエータ」と呼ぶことある)は他の構成要素(「ターゲット」と呼ぶことがある)にアクセスすることができるが、これは構成要素を結合するバスに組み込まれたセキュリティ・ファイアウォールがアクセスを許可した場合に限られる。例えば、直接メモリ・アクセス・コントローラ122はスタック化メモリ120にアクセスを要求してよいが、アクセスがセキュリティ拘束を侵害しない場合に限り、L3バス/ファイアウォール254内に組み込まれたセキュリティ・ファイアウォールはアクセスを許可する。
【0031】
また、本発明の少なくともいくつかの実施の形態では、L3バス/ファイアウォール254はディジタル・ハードウエアを用いて実現して、グラフィックス・コントローラ112から直接メモリ・アクセス・コントローラ122への全てのアクセス要求を常に拒否するようにしてよい。かかるハードウエアは、グラフィックス・コントローラ112がL3バス/ファイアウォール254のバス部上に置いたイニシエータおよびターゲットの識別情報を、L3バス/ファイアウォール254のセキュリティ・ファイアウォール部への入力として用いる。セキュリティ・ファイアウォール内の論理はこの情報を復号して、イニシエータからターゲットへのアクセスが許可されるかどうか判定する(ここに説明した例では、アクセスは常に拒否される)。かかるハードウエア・ベースのファイアウォールは高レベルのセキュリティを与える。なぜなら、再プログラミングや変更が容易でないからである。
【0032】
L3バス/ファイアウォール254の別の実施の形態はメモリ・ベースのルックアップ・テーブルを用いてよい。かかる実施の形態では、許可テーブルは多次元テーブルとして実現してよい。例えば、イニシエータ識別と、ターゲット識別と、MPU104のセキュリティ・モードとを用いてテーブルに指標を付け、アクセス要求に対する応答を生成してよい。このテーブルは任意の適当なメモリを用いて実現してよい。用いるメモリの種類に従って、種々の程度の柔軟性とセキュリティが得られる。例えば、ROMを用いると、計算機システム100上で実行するプログラムはメモリ内にコード化されたセキュリティ拘束を変えることができないので、計算機システム100は柔軟性に欠けるが非常に安全である。これに比べて、RAMを用いると、計算機システム100上で実行するプログラムはメモリ内でコード化されたセキュリティ拘束を実行時に動的に再構成することができるので(システム内に組み込まれた他のセキュリティ手段により適当に拘束される)、計算機システム100は一層柔軟になる。
【0033】
ファイアウォールが検出した侵害を監視するのに加えて、プラットフォーム・セキュリティ・コントローラ250はセキュリティ侵害が起こったときにユーザに警報してよい。図2に示すように、また本発明の少なくともいくつかの実施の形態では、プラットフォーム・セキュリティ・コントローラ250はCSC侵害信号288が示す侵害に関してコア・セキュリティ・コントローラ258も監視してよい。この信号と、監視システム200が含む他のコア・セキュリティ・コントローラやファイアウォールからの同様の信号とにより、プラットフォーム・セキュリティ・コントローラ250は監視システム200の他の要素により検出されたセキュリティ侵害に対処することができる。プラットフォーム・セキュリティ・コントローラは表明されたセキュリティ侵害信号に応答して攻撃信号296を表明し、攻撃表示器174を活動化して侵害が(したがって計算機システム100への攻撃が)起こったことをユーザに警報する。
【0034】
図3は、監視システム200が用いるのに適した、セキュリティ侵害への応答と、攻撃の停止と、ユーザへの通知とのための方法を示す。本発明の少なくともいくつかの実施の形態では、かかる方法は、セキュリティ侵害検出ブロック302と、ユーザ通知ブロック304と、セキュリティ放棄信号表明ブロック306と、セキュリティ放棄割込み表明ブロック308と、割込みサービス・ルーチン実行ブロック310と、セキュリティ侵害消去ブロック312とを含んでよい。
【0035】
引き続き図3を参照して、ブロック302に示すようにセキュリティ侵害が検出されると(例えば、コア・セキュリティ・コントローラ258により)、ブロック304でユーザは侵害の通知を受けてよい(例えば、攻撃表示器174を活動化することにより)。攻撃が企てられたことをユーザに通知した後、ブロック306に示すようにセキュリティ放棄信号が表明され、監視システム200内のプロセッサに実行するよう与えられた命令が放棄される。これにより、前記プロセッサに関連する全ての予想またはパイプライン・ステージをフラッシュしてよい。次に、ブロック308に示すようにセキュリティ放棄割込みが表明され、ブロック310に示すように割込みサービス・ルーチンが優先して実行される。割込みサービス・ルーチンはセキュリティ侵害に直接対処し、または有害な攻撃命令の源の位置を探すことのできる1つ以上のソフトウエア・プログラム(例えば、ウイルス・スキャナ・ソフトウエア)を実行して、その源が今後命令を実行するのを防ぐ(例えば、その源を装置100から除去することにより)。ブロック310の割込みサービス・ルーチンが実行を完了した後、ブロック312に示すように侵害に消去の印をつけてよい(例えば、セキュリティ侵害を最初に検出したコア・セキュリティ・コントローラに侵害消去信号を表明することにより)。
【0036】
上の開示は本発明の原理と種々の実施の形態を示すためのものである。上の開示を完全に理解すれば、種々の変更や修正は当業者に明らかである。この開示は全てのかかる変更や修正を含むものである。
【0037】
本発明は計算機システム内でセキュリティ侵害を識別して防ぐシステムと方法を提供する。計算機システム100はプログラムを実行するプロセッサ・コア106を有する多重処理ユニット104を含む。監視システム200はコア・バス上の活動を監視してセキュリティ侵害を識別するプラットフォーム・セキュリティ・コントローラ250を含む。セキュリティ侵害の識別に応じて、プロセッサ・コア106内のプログラムの更なる実行を防ぐ。
【符号の説明】
【0038】
100 計算機システム
104 多重処理ユニット
106 プロセッサ・コア
200 監視システム
250 プラットフォーム・セキュリティ・コントローラ


【特許請求の範囲】
【請求項1】
計算機システム内で動作するプロセッサ・コアに結合するコア・バス上の活動を監視し、
前記コア上の活動をセキュリティ侵害と識別し、
前記セキュリティ侵害に応じて前記プロセッサ・コア内の命令を実行することを防ぐ、
ことを含むセキュリティ侵害を防ぐ方法。
【請求項2】
前記セキュリティ侵害に応じて割込み信号を前記プロセッサ・コアに表明し、
前記表明された割込み信号に応じてセキュリティ応答ソフトウエアを実行する、
ことを更に含む、請求項1記載のセキュリティ侵害を防ぐ方法。
【請求項3】
或る特定の特権レベルを持つ資源に異なる特権レベルを有する資源からアクセスを企てると前記セキュリティ侵害と識別し、
前記異なる特権レベルを持つ前記資源のアクセスを防ぐ、
ことを更に含む、請求項1または2記載のセキュリティ侵害を防ぐ方法。
【請求項4】
前記プロセッサ・コアに与えられる命令放棄シーケンスを前記セキュリティ侵害と識別することを更に含む、請求項1記載のセキュリティ侵害を防ぐ方法。
【請求項5】
計算機システムであって、
1次バスに結合するプロセッサ・コアと、
前記1次バスに結合する監視システムであって、前記1次バス上の活動を追跡して前記プロセッサ・コア上で実行するプログラムに起因する前記1次バス上の活動を含むセキュリティ侵害を識別し、前記セキュリティ侵害の識別に応じて前記プロセッサ・コア上でのプログラムの更なる実行を防ぐ、監視システムと、
を備える計算機システム。
【請求項6】
前記プロセッサ・コアは先取りステージと、予想ステージと、パイプライン・ステージの少なくとも1つを備え、前記監視システムは前記少なくとも1つのステージを消去することにより前記更なる実行を防ぐ、請求項5記載の計算機システム。
【請求項7】
前記監視システムは、前記プログラムの更なる実行を阻止するセキュリティ応答ソフトウエアの実行をトリガする前記プロセッサ・コアへの割込み信号を活動化する、請求項5または6記載の計算機システム。
【請求項8】
前記プロセッサ・コアは安全モードと非安全モードで動作し、
前記プロセッサ・コアは、前記セキュリティ応答ソフトウエアを実行すると前記非安全モードから前記安全モードに切り替える、
請求項5−7のいずれか記載の計算機システム。
【請求項9】
計算機システムであって、
監視装置と、
複数の計算機システム構成要素と、
ファイアウォール・システムであって、複数のシステム構成要素の少なくとも1つへのアクセスの試みを監視し、また前記複数の計算機システム構成要素と前記監視装置との間に結合する、ファイアウォール・システムと、
を備え、
前記ファイアウォール・システムは、複数の記憶されたファイアウォール拘束の少なくとも1つの侵害をセキュリティ侵害と認識し、
前記ファイアウォール・システムは、前記アクセスの企てを前記セキュリティ侵害と認識した場合は前記アクセスの企てを阻止する、
計算機システム。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate


【公開番号】特開2012−195016(P2012−195016A)
【公開日】平成24年10月11日(2012.10.11)
【国際特許分類】
【出願番号】特願2012−158692(P2012−158692)
【出願日】平成24年7月17日(2012.7.17)
【分割の表示】特願2005−212146(P2005−212146)の分割
【原出願日】平成17年7月22日(2005.7.22)
【出願人】(501229528)テキサス インスツルメンツ インコーポレイテッド (111)