JP5069406B2 - System and method for identifying and preventing security breaches in computer systems - Google Patents
System and method for identifying and preventing security breaches in computer systems Download PDFInfo
- Publication number
- JP5069406B2 JP5069406B2 JP2005212146A JP2005212146A JP5069406B2 JP 5069406 B2 JP5069406 B2 JP 5069406B2 JP 2005212146 A JP2005212146 A JP 2005212146A JP 2005212146 A JP2005212146 A JP 2005212146A JP 5069406 B2 JP5069406 B2 JP 5069406B2
- Authority
- JP
- Japan
- Prior art keywords
- security
- core
- bus
- firewall
- controller
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Description
本件はマイクロプロセッサ・ベースのシステム内で悪質なプログラムが実行されていることを検出することに関する。場合によっては、悪質なプログラムの実行を止めて、攻撃が検出されたことを可視的および/または可聴的通報によりユーザに通報してよい。 This case relates to detecting that a malicious program is running in a microprocessor-based system. In some cases, execution of a malicious program may be stopped and the user may be notified by visual and / or audible notification that an attack has been detected.
マイクロプロセッサ・ベースの民生用エレクトロニック装置は、オペレーティング・システム(O/S)用とユーザ・ソフトウエア・アプリケーション用の2つの特権レベルで設計される。或るマイクロプロセッサ・ベースのシステムでは、2つの特権レベルのセキュリティは十分でない。それは、主としてオペレーティング・システムの特権レベル(保護モードと呼ぶことがある)の効果的な実現がO/Sソフトウエアの正しい動作に依存するからである。このようにO/Sソフトウエアの正しい動作に依存するため、システムはコンピュータ・ウイルスなどの悪質なプログラムに弱い。 Microprocessor-based consumer electronic devices are designed with two privilege levels: an operating system (O / S) and a user software application. In some microprocessor-based systems, two privilege levels of security are not sufficient. This is mainly because the effective realization of the operating system privilege level (sometimes referred to as protected mode) depends on the correct operation of the O / S software. As such, depending on the correct operation of the O / S software, the system is vulnerable to malicious programs such as computer viruses.
或るマイクロプロセッサ・ベースのシステムは第3の「安全」動作レベルをハードウエアで実現することによりこの問題に対処している。このセキュリティ・ハードウエアは少なくともいくつかのハードウエア構成要素(例えば、メモリ、メモリ管理ユニット、キャッシュ・レジスタなど)へのソフトウエア・アクセスを阻止することができる。セキュリティ・ハードウエアはセキュリティ侵害に関してシステムを監視し、何らかの侵害を検出するとシステム全体をリセットしてよい。しかしシステムをリセットすること自体が攻撃になるので、システムをしばしばリセットするとシステムは使用不能になる。かかる攻撃はしばしば「サービスの拒否(denial of service:DoS)」攻撃と呼ばれる。
したがって、システムをリセットするという極端な手段に訴えずに攻撃を検出して止めることのできるシステムが望まれる。
Some microprocessor-based systems address this problem by implementing a third “safe” operating level in hardware. This security hardware can prevent software access to at least some hardware components (eg, memory, memory management unit, cash registers, etc.). The security hardware may monitor the system for security breaches and reset the entire system if any violation is detected. However, resetting the system itself is an attack, so resetting the system often renders the system unusable. Such attacks are often referred to as “denial of service (DoS)” attacks.
Therefore, a system that can detect and stop attacks without appealing to the extreme means of resetting the system is desired.
上に述べた問題の大部分は、計算機システム内でセキュリティ侵害を識別して防ぐシステムと方法により対処することができる。或る例示の実施の形態は、プロセッサ・コア(計算機システム内で動作するプロセッサ・コア)に結合するコア・バス上の活動を監視し、コア・バス上の活動をセキュリティ侵害と識別し、セキュリティ侵害に応じてプロセッサ・コア内の或る命令の実行を防ぐことから成る方法を含んでよい。 Most of the problems described above can be addressed by systems and methods that identify and prevent security breaches within a computer system. One exemplary embodiment monitors activity on a core bus coupled to a processor core (a processor core operating within a computer system), identifies activity on the core bus as a security breach, It may include a method comprising preventing execution of certain instructions in the processor core in response to a violation.
別の例示的な実施の形態は、計算機システムのプロセッサ・コアのコア・バス上の活動を追跡し、コア・バス上の活動をセキュリティ侵害と認識し、セキュリティ侵害に応じてプロセッサ・コアに割込み信号を表明し、表明された割込み信号に応じてセキュリティ応答ソフトウエアを実行することから成る方法を含んでよい。 Another exemplary embodiment tracks activity on the core bus of a computer system processor core, recognizes activity on the core bus as a security breach, and interrupts the processor core in response to a security breach It may include a method comprising asserting a signal and executing security response software in response to the asserted interrupt signal.
更に別の例示の実施の形態は、1次バスに結合するプロセッサ・コアと、1次バスに結合する監視システム(この監視システムは1次バス上の活動を追跡する)から成る計算機システムを含んでよい。監視システムはプロセッサ・コア上で実行するプログラムに起因する1次バス上の活動を含むセキュリティ侵害を認識し、プロセッサ・コアのパイプライン・ステージをフラッシュさせることにより活動の完了を阻止する。 Yet another exemplary embodiment includes a computer system comprising a processor core coupled to the primary bus and a monitoring system coupled to the primary bus (this monitoring system tracks activity on the primary bus). It's okay. The monitoring system recognizes security breaches, including activity on the primary bus due to programs executing on the processor core, and prevents completion of the activity by flushing the pipeline stages of the processor core.
更に別の例示の実施の形態は、監視システムと、複数の計算機システム構成要素と、ファイアウォール・システム(複数のシステム構成要素の少なくとも1つへのアクセスの企てを監視するために複数の計算機システム構成要素と監視システムとの間に結合するファイアウォール・システム)から成る計算機システムを含んでよい。ファイアウォール・システムは複数の記憶されたファイアウォール拘束の少なくとも1つの侵害をセキュリティ侵害と認識して、アクセスの企てをセキュリティ侵害と認識した場合はそのアクセスの企てを阻止する。 Yet another exemplary embodiment includes a monitoring system, a plurality of computer system components, and a firewall system (a plurality of computer systems for monitoring attempts to access at least one of the plurality of system components). A computer system comprising a firewall system coupled between the component and the monitoring system. The firewall system recognizes at least one breach of a plurality of stored firewall constraints as a security breach and prevents the access attempt if it recognizes the access attempt as a security breach.
(表記法と用語)
以下の説明とクレームではいくつかの用語を用いて特定のシステム構成要素を参照する。この文書では、名称は異なるが機能は同じである構成要素は区別しない。
(Notation and terminology)
In the following description and claims, a number of terms are used to refer to specific system components. This document does not distinguish between components that have different names but the same function.
以下の説明とクレームでは、「含む」および「備える」という用語は非制約的に用いられるので、「含むが限定されない」の意味に解釈しなければならない。また「結合する」という用語は間接または直接の電気的接続を意味するものである。したがって、第1の装置が第2の装置に結合する場合は、その接続は直接の電気的接続でもよいし、他の装置や接続を介した間接の電気的接続でもよい。 In the following description and claims, the terms “including” and “comprising” are used non-restrictively and should be interpreted to mean “including but not limited to”. The term “couple” means indirect or direct electrical connection. Thus, when the first device is coupled to the second device, the connection may be a direct electrical connection or an indirect electrical connection through another device or connection.
(好ましい実施の形態の詳細な説明)
図1は本発明の少なくともいくつかの実施の形態に従って構築された計算機システム100を示す。計算機システム100は、データおよび命令バスとセキュリティ・ファイアウォール(例えば、L3バス/ファイアウォール254、L4バス/ファイアウォール256、外部メモリ・ファイアウォール252)とにより種々の他のシステム構成要素に結合する多重処理ユニット(MPU)104を備えてよい。MPU104は、恐らく複数の処理パイプラインを有してプログラムを実行するプロセッサ・コア(コア)106を備えてよい。またMPU104は、コア106上で安全なプログラムを実行するためにMPU104を安全モードに入れるのを助けるコア・セキュリティ・コントローラ(CSC)258を備えてよい。またコア・セキュリティ・コントローラ258は、安全モード中は安全な動作を保証し、非安全モード中は計算機システム100の安全な構成要素へのアクセスを防ぐための監視動作を行う。
(Detailed description of preferred embodiments)
FIG. 1 illustrates a
また計算機システム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上でそれぞれセキュリティ・プログラムを実行してよい。
The
また計算機システム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)とは別の半導体ダイ上にある任意の適当なメモリでよい。
The
また計算機システム100は、L4バス/ファイアウォール256により種々のシステム構成要素に結合するUSBインターフェース(USB I/F)124を備えてよい。USBインターフェース124により、計算機システム100は外部装置に結合して通信することができる。
The
各コア・セキュリティ・コントローラ(例えば、コア・セキュリティ・コントローラ258)は、各個別のプロセッサ・コア(例えば、コア106)のシステム・パラメータを監視するハードウエア・ベースの状態機械として実現してよい。コア・セキュリティ・コントローラにより、プロセッサは安全動作モードを開始して、安全なメモリから(例えば、オンチップ・メモリ118の安全なアドレス範囲から)の安全なプログラムを実行し、安全な資源(例えば、直接メモリ・アクセス・コントローラ122の安全なチャンネルの制御レジスタ)にアクセスすることができる。この安全モード(すなわち第3レベルの特権)を有することは、任意の種類のコンピュータ・システム(例えば、ラップトップ・コンピュータ、デスクトップ・コンピュータ、サーバのバンク内のサーバ)にとって貴重である。しかし本発明の少なくともいくつかの実施の形態では、計算機システム100は移動体計算機システムでよい。例えば、セルラ電話や、パーソナル・ディジタル・アシスト(PDA)や、テキスト・メッセージング・システムや、メッセージング・システムとパーソナル・ディジタル・アシストとセルラ電話の機能を組み合わせた計算装置でよい。いくつかの実施の形態は、外部アンテナ136に結合するモデム・チップセット138、および/または同様に外部アンテナ130に結合する全地球測位システム(GPS)回路128を備えてよい。
Each core security controller (eg, core security controller 258) may be implemented as a hardware-based state machine that monitors the system parameters of each individual processor core (eg, core 106). The core security controller causes the processor to enter a safe mode of operation to execute a secure program from a secure memory (eg, from the secure address range of the on-chip memory 118) and a secure resource (eg, Direct
少なくともいくつかの実施の形態に係る計算機システム100は移動体装置なので、計算機システム100は、恐らく電力管理ユニット134により制御されて種々の処理要素に電力を供給する電池132も備えてよい。ユーザは、キーボードやキーパッドやタッチ・パネルなどのユーザ・インターフェース(ユーザI/F)140によりデータおよび/またはメッセージを計算機システム100に入力してよい。多くのセルラ電話はディジタル静止画像とビデオ画像を扱う機能も備えるので、或る実施の形態では、計算機システム100はカメラ・インターフェース(CAM I/F)126を備えて、ディジタル画像を捕える電荷結合素子(CCD)配列(図示しない)に計算機システム100を結合することによりカメラ機能を与えることができる。
Since the
図1に示すシステム100の種々のファイアウォールはコア・セキュリティ・コントローラが与える保護を超える更なる保護をそれぞれ与える。ファイアウォールは、一組のプログラムされた規則に従って他の構成要素(またはその構成要素上で実行するソフトウエア)が計算機システム100の構成要素にアクセスするのを阻止または許可してよい。この規則は構成要素と動作モード(例えば、安全または非安全)の対の間の関係を確立する。かかる規則は、ハードウエアで、またはアクセスを企てる構成要素と望ましいアクセス先である構成要素のアドレス範囲とを相互参照する許可テーブルの形のソフトウエアで実現してよい。要求された動作と現在の動作モードとについて得られた許可がアクセスを拒否するものである場合は、ファイアウォールはセキュリティ侵害の信号を送る。
The various firewalls of the
ファイアウォール252,254,256と、コア・セキュリティ・コントローラ258,260,262と、セキュリティ表示器264とは、プラットフォーム・セキュリティ・コントローラ250にそれぞれ結合する。プラットフォーム・セキュリティ・コントローラ250はセキュリティ侵害を検出する中枢として働く。コア・セキュリティ・コントローラおよびファイアウォールは、プラットフォーム・セキュリティ・コントローラ250により監視された個別のセキュリティ侵害信号をそれぞれ表明する。個別のセキュリティ侵害信号のどれかの表明を検出すると、プラットフォーム・セキュリティ・コントローラはこれに応えて1つ以上のコア・セキュリティ・コントローラを起動してセキュリティ応答シーケンス(後で説明する)を開始する。またプラットフォーム・セキュリティ・コントローラは、攻撃表示器264を活動化するなどして、侵害を検出したことを計算機システム100のユーザに警報してよい。
上に述べた種々のセキュリティ構成要素は監視システム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シリーズのプロセッサなどのオンチップのシステム内に組み込むのに適した任意のプロセッサでよい。
The various security components described above operate as a
プロセッサ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に結合する。
The
コア・セキュリティ・コントローラは、1次バス180上の信号を監視することによりプロセッサ170の活動を追跡する。これらの信号は、命令バス信号と、データ・バス信号と、状態信号と、制御信号とを含んでよい。かかる信号は1次バス内の別々のバス(例えば、ハーバード・コンピュータ・アーキテクチャに見られるような命令バスや、データ読取りバスや、データ書込みバス)として編成してよい。1次バス180上のかかる信号を監視することにより、コア・セキュリティ・コントローラ258は実行するためにプロセッサ170に与えられる実際の命令およびデータや、MPU104のセキュリティ・モードや、現在のセキュリティ・モードにおいて命令および/またはデータが許可されるかどうか、を決定することができる。例えば、プロセッサ170が非安全モードで動作中にプロセッサ170上で実行するプログラムがメモリの安全なアドレス範囲にアクセスしようとすると、コア・セキュリティ・コントローラ258はこれをセキュリティ侵害と識別する。同様に、プロセッサ170が安全モードで動作中にプロセッサ170上で実行するプログラムがメモリの非安全なアドレス範囲にアクセスしようとすると、コア・セキュリティ・コントローラ258はこれもセキュリティ侵害と識別する。
The core security controller tracks the activity of the
1次バス180上の他の活動もセキュリティ侵害と識別される。2つの資源のセキュリティ・レベルが一致しない場合は、コア・セキュリティ・コントローラ258は一方の資源から他方の資源へのアクセスをセキュリティ侵害と識別する。したがって、例えば、直接メモリ・アクセス・コントローラ122の非安全なチャンネルがオンチップ・メモリ118の安全なアドレス範囲にアクセスすると、セキュリティ侵害と識別される。同様に、直接メモリ・アクセス・コントローラ122の安全なチャンネルが外部メモリ116の非安全なアドレス範囲にアクセスすると、これもセキュリティ侵害と識別される。コア・セキュリティ・コントローラ258は、プロセッサ170に与えられる命令放棄シーケンスもセキュリティ侵害と識別する。この種の攻撃の例としては、悪性のプログラムが命令放棄シーケンスを用いて安全モード・エントリ・シーケンスに割り込もうとしたり、すでに安全モードで実行中のソフトウエアに割り込もうとしたりすることなどがある。両方ともセキュリティ侵害と識別される。
Other activities on the
セキュリティ・コントローラ258が監視するシステム上の他の活動は、電子通信システム100の電圧レベルの悪質な処理や、クロック周波数の悪質な不正処理や、故意のハードウエア故障生成(例えば、レーザを用いた)や、無許可のテストおよびデバッグ活動(例えば、運転中の電子通信システム100をテスト・モードにしようとすること)を含む。セキュリティ・コントローラ258が検出したこれらの活動の企ても全てセキュリティ侵害と識別される。
Other activities on the system monitored by the
セキュリティ侵害が検出されると、コア・セキュリティ・コントローラ258はセキュリティ応答シーケンスを開始してよい。セキュリティ応答シーケンスは、侵害する動作の実行を阻止または停止することや、有害なプログラムの今後の実行を阻止すること(例えば、計算機システム100からプログラムを削除することにより)や、恐らく両方の処置を含む。それぞれについて順に説明する。
If a security breach is detected, the
本発明の少なくともいくつかの実施の形態では、命令または命令に関連するデータがコア・セキュリティ・コントローラ258内にプログラムされているセキュリティ拘束を侵害した場合は、コア・セキュリティ・コントローラ258は1次バス180上でプロセッサ170に与えられる命令を放棄してよい。コア・セキュリティ・コントローラ258はセキュリティ放棄信号282を表明し、バス・ブリッジ172はこれを固有のプロセッサ・ハードウエア・ベースの放棄に変換する。ハードウエア・ベースの放棄は有害な命令の実行を防ぎ、また先取りユニットや、内部命令および/またはデータ予測機構や、侵害または攻撃の一部である追加のプログラム命令を含むプロセッサ170のパイプライン・ステージをフラッシュしてよい。かかるフラッシュにより悪質なプログラムの文脈を消去して、プログラムの実行を終わらせる。放棄はハードウエア・ベースであってソフトウエアによる制御または干渉を受けないので、悪質なプログラムはこのように実現されたセキュリティ応答シーケンスを妨害したり迂回したりするのが非常に困難である。
In at least some embodiments of the present invention, if the instruction or data associated with the instruction violates a security constraint programmed into the
本発明の少なくともいくつかの実施の形態では、プロセッサ170はARM1136シリーズのプロセッサでよい。かかるプロセッサは、セキュリティ侵害を起こしたと識別された命令の実行を防ぐのに必要な上述の種類のハードウエア・ベースの命令放棄シーケンスを与え、また放棄シーケンスの一部として全ての予想およびパイプライン・ステージをフラッシュして、攻撃シーケンスの一部である全ての他の先取り命令の実行を防ぐ機能を与える。
In at least some embodiments of the present invention, the
また図2のコア・セキュリティ・コントローラ258は、セキュリティ侵害に応答してプロセッサ170への割込みを生成する。本発明の少なくともいくつかの実施の形態では、コア・セキュリティ・コントローラはセキュリティ放棄割込み信号284を表明する。割込みコントローラ174はこれを監視する。セキュリティ放棄割込みの表明に応じて割込みコントローラは割込み要求(IRQ)信号281を表明し、これによりプロセッサ170への割込み要求を開始してよい。
The
割込み要求信号281によりトリガされてプロセッサ170上で実行される割込みサービス・ルーチンは、悪質なプログラムの源を識別してプログラムの今後の実行を防ぐ(例えば、計算機システム100からその源を除去することにより)ことのできる1つ以上のソフトウエア・プログラム(例えば、アンチウイルス・ソフトウエア)を実行する。プロセッサ170は侵害消去信号280を表明することにより、割込みサービス・ルーチンが完了したことをコア・セキュリティ・コントローラ258に知らせてよい。本発明の少なくともいくつかの実施の形態では、高性能で優先順位の高いプロセッサ割込み(例えば、ARM1136シリーズのプロセッサのFIQ割込み)を用いてよい。なぜなら、かかる割込みによりトリガされた割込みサービス・ルーチンを、攻撃するソフトウエアが迂回するのは非常に困難だからである。
An interrupt service routine that is triggered by the interrupt
コア・セキュリティ・コントローラ258は監視システム200の種々のファイアウォールの1つが検出したセキュリティ侵害にも応答してよい。監視システム200の種々のファイアウォールはそれぞれファイアウォール侵害信号(例えば、L3ファイアウォール侵害信号292)を表明して、セキュリティ侵害が検出されたことをプラットフォーム・コントローラ250に示してよい。プラットフォーム・コントローラ250はファイアウォールが検出したセキュリティ侵害に応答してファイアウォール侵害信号286を表明してよい。或る実施の形態では、コア・セキュリティ・コントローラ258はファイアウォール侵害表示に対して、コア・セキュリティ・コントローラ258が検出したセキュリティ侵害に応答するのと同じ方法で応答してよい。
別の実施の形態では、コア・セキュリティ・コントローラ258はファイアウォールセキュリティ侵害に別の方法で応答してよい。例えば、USBポート124(図1参照)に結合するUSB装置がオンチップ・メモリ118の安全なアドレス範囲にアクセスしようとした場合は、L4バス/ファイアウォール256はアクセスを拒否して、侵害をプラットフォーム・セキュリティ・コントローラ250に通報してよい。プラットフォーム・セキュリティ・コントローラ250はファイアウォールが検出した侵害をコア・セキュリティ・コントローラ258に通知し、コア・セキュリティ・コントローラ258はプロセッサ170に割込み要求を送ってよい。割込み要求に応えてプロセッサ170上で実行される割込みサービス・ルーチンは必要な処置をとってよい。かかる処置はセキュリティ侵害のロギングでよい。なぜなら、アクセスはすでにファイアウォールにより阻止されているので、それ以上の保護または補償の処置をとる必要はないからである。
In another embodiment,
本発明の少なくともいくつかの実施の形態に従って構築された監視システム200のファイアウォールは、異なるセキュリティ・レベルで動作することのできる計算機システム100の構成要素の間を分離してよい。ファイアウォールは計算機システム100の種々の構成要素をリンクするバス内に組み込んで、バス内の要求/応答機構を制御してよい。かかる要求/応答機構により、アクセスを要求する構成要素(「イニシエータ」と呼ぶことある)は他の構成要素(「ターゲット」と呼ぶことがある)にアクセスすることができるが、これは構成要素を結合するバスに組み込まれたセキュリティ・ファイアウォールがアクセスを許可した場合に限られる。例えば、直接メモリ・アクセス・コントローラ122はスタック化メモリ120にアクセスを要求してよいが、アクセスがセキュリティ拘束を侵害しない場合に限り、L3バス/ファイアウォール254内に組み込まれたセキュリティ・ファイアウォールはアクセスを許可する。
The firewall of the
また、本発明の少なくともいくつかの実施の形態では、L3バス/ファイアウォール254はディジタル・ハードウエアを用いて実現して、グラフィックス・コントローラ112から直接メモリ・アクセス・コントローラ122への全てのアクセス要求を常に拒否するようにしてよい。かかるハードウエアは、グラフィックス・コントローラ112がL3バス/ファイアウォール254のバス部上に置いたイニシエータおよびターゲットの識別情報を、L3バス/ファイアウォール254のセキュリティ・ファイアウォール部への入力として用いる。セキュリティ・ファイアウォール内の論理はこの情報を復号して、イニシエータからターゲットへのアクセスが許可されるかどうか判定する(ここに説明した例では、アクセスは常に拒否される)。かかるハードウエア・ベースのファイアウォールは高レベルのセキュリティを与える。なぜなら、再プログラミングや変更が容易でないからである。
Also, in at least some embodiments of the present invention, the L3 bus /
L3バス/ファイアウォール254の別の実施の形態はメモリ・ベースのルックアップ・テーブルを用いてよい。かかる実施の形態では、許可テーブルは多次元テーブルとして実現してよい。例えば、イニシエータ識別と、ターゲット識別と、MPU104のセキュリティ・モードとを用いてテーブルに指標を付け、アクセス要求に対する応答を生成してよい。このテーブルは任意の適当なメモリを用いて実現してよい。用いるメモリの種類に従って、種々の程度の柔軟性とセキュリティが得られる。例えば、ROMを用いると、計算機システム100上で実行するプログラムはメモリ内にコード化されたセキュリティ拘束を変えることができないので、計算機システム100は柔軟性に欠けるが非常に安全である。これに比べて、RAMを用いると、計算機システム100上で実行するプログラムはメモリ内でコード化されたセキュリティ拘束を実行時に動的に再構成することができるので(システム内に組み込まれた他のセキュリティ手段により適当に拘束される)、計算機システム100は一層柔軟になる。
Another embodiment of the L3 bus /
ファイアウォールが検出した侵害を監視するのに加えて、プラットフォーム・セキュリティ・コントローラ250はセキュリティ侵害が起こったときにユーザに警報してよい。図2に示すように、また本発明の少なくともいくつかの実施の形態では、プラットフォーム・セキュリティ・コントローラ250はCSC侵害信号288が示す侵害に関してコア・セキュリティ・コントローラ258も監視してよい。この信号と、監視システム200が含む他のコア・セキュリティ・コントローラやファイアウォールからの同様の信号とにより、プラットフォーム・セキュリティ・コントローラ250は監視システム200の他の要素により検出されたセキュリティ侵害に対処することができる。プラットフォーム・セキュリティ・コントローラは表明されたセキュリティ侵害信号に応答して攻撃信号296を表明し、攻撃表示器174を活動化して侵害が(したがって計算機システム100への攻撃が)起こったことをユーザに警報する。
In addition to monitoring violations detected by the firewall, the
図3は、監視システム200が用いるのに適した、セキュリティ侵害への応答と、攻撃の停止と、ユーザへの通知とのための方法を示す。本発明の少なくともいくつかの実施の形態では、かかる方法は、セキュリティ侵害検出ブロック302と、ユーザ通知ブロック304と、セキュリティ放棄信号表明ブロック306と、セキュリティ放棄割込み表明ブロック308と、割込みサービス・ルーチン実行ブロック310と、セキュリティ侵害消去ブロック312とを含んでよい。
FIG. 3 shows a method suitable for use by the
引き続き図3を参照して、ブロック302に示すようにセキュリティ侵害が検出されると(例えば、コア・セキュリティ・コントローラ258により)、ブロック304でユーザは侵害の通知を受けてよい(例えば、攻撃表示器174を活動化することにより)。攻撃が企てられたことをユーザに通知した後、ブロック306に示すようにセキュリティ放棄信号が表明され、監視システム200内のプロセッサに実行するよう与えられた命令が放棄される。これにより、前記プロセッサに関連する全ての予想またはパイプライン・ステージをフラッシュしてよい。次に、ブロック308に示すようにセキュリティ放棄割込みが表明され、ブロック310に示すように割込みサービス・ルーチンが優先して実行される。割込みサービス・ルーチンはセキュリティ侵害に直接対処し、または有害な攻撃命令の源の位置を探すことのできる1つ以上のソフトウエア・プログラム(例えば、ウイルス・スキャナ・ソフトウエア)を実行して、その源が今後命令を実行するのを防ぐ(例えば、その源を装置100から除去することにより)。ブロック310の割込みサービス・ルーチンが実行を完了した後、ブロック312に示すように侵害に消去の印をつけてよい(例えば、セキュリティ侵害を最初に検出したコア・セキュリティ・コントローラに侵害消去信号を表明することにより)。
Still referring to FIG. 3, if a security breach is detected (eg, by the core security controller 258) as shown in
上の開示は本発明の原理と種々の実施の形態を示すためのものである。上の開示を完全に理解すれば、種々の変更や修正は当業者に明らかである。この開示は全てのかかる変更や修正を含むものである。 The above disclosure is intended to illustrate the principles and various embodiments of the present invention. Various changes and modifications will become apparent to those skilled in the art once the above disclosure is fully appreciated. This disclosure includes all such changes and modifications.
本発明は計算機システム内でセキュリティ侵害を識別して防ぐシステムと方法を提供する。計算機システム100はプログラムを実行するプロセッサ・コア106を有する多重処理ユニット104を含む。監視システム200はコア・バス上の活動を監視してセキュリティ侵害を識別するプラットフォーム・セキュリティ・コントローラ250を含む。セキュリティ侵害の識別に応じて、プロセッサ・コア106内のプログラムの更なる実行を防ぐ。
The present invention provides a system and method for identifying and preventing security breaches within a computer system. The
100 計算機システム
104 多重処理ユニット
106 プロセッサ・コア
200 監視システム
250 プラットフォーム・セキュリティ・コントローラ
DESCRIPTION OF
Claims (5)
前記電圧レベル、クロック周波数、ハードウェア故障注入、並びにテスト活動のうち少なくとも1つの無許可の操作をセキュリティ侵害として識別する工程と、
前記セキュリティ侵害に応答して前記プロセッサ・コア内の命令の実行を防ぐ工程と、
を含む、方法。 Monitoring at least one of a voltage level, clock frequency, hardware fault injection, and test activity associated with the electronic device on a core bus coupled to the processor core;
Identifying at least one unauthorized operation of the voltage level, clock frequency, hardware fault injection, and test activity as a security breach;
Preventing execution of instructions in the processor core in response to the security breach;
Including a method.
前記プロセッサ・コア上で実行するソフトウェア・プログラムを前記セキュリティ侵害を起こすものとして識別する工程と、
前記ソフトウェア・プログラムが実行しないようにする工程と、
を更に含む、方法。 The method of claim 1, comprising:
Identifying a software program executing on the processor core as causing the security breach;
Preventing the software program from executing;
The method further comprising :
前記セキュリティ侵害が検出されていることをユーザに知らせるため視覚的表示器を作動させる工程を更に含む、方法。 The method of claim 1 , comprising:
Activating a visual indicator to inform a user that the security breach has been detected .
前記セキュリティ侵害が消去されたことをユーザに知らせるため視覚的表示器を作動させる工程を更に含む、方法。 The method of claim 1, comprising:
Activating a visual indicator to inform a user that the security breach has been erased .
前記セキュリティ侵害が検出されていることをユーザに知らせるため可聴表示器を作動させる工程を更に含む、方法。 The method of claim 1, comprising:
A method further comprising activating an audible indicator to inform a user that the security breach has been detected .
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP04291893A EP1619572A1 (en) | 2004-07-23 | 2004-07-23 | System and method of identifying and preventing security violations within a computing system |
EP04291893.8 | 2004-07-23 | ||
US10/961344 | 2004-10-08 | ||
US10/961,344 US8220045B2 (en) | 2004-07-23 | 2004-10-08 | System and method of identifying and preventing security violations within a computing system |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012158692A Division JP5580857B2 (en) | 2004-07-23 | 2012-07-17 | System and method for identifying and preventing security breaches in computer systems |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006040282A JP2006040282A (en) | 2006-02-09 |
JP5069406B2 true JP5069406B2 (en) | 2012-11-07 |
Family
ID=35905142
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005212146A Active JP5069406B2 (en) | 2004-07-23 | 2005-07-22 | System and method for identifying and preventing security breaches in computer systems |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5069406B2 (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007147495A2 (en) * | 2006-06-21 | 2007-12-27 | Wibu-Systems Ag | Method and system for intrusion detection |
US7720251B2 (en) | 2006-06-23 | 2010-05-18 | Echo 360, Inc. | Embedded appliance for multimedia capture |
JP5332845B2 (en) * | 2009-04-10 | 2013-11-06 | 大日本印刷株式会社 | IC chip and data protection method, etc. |
CA3203196A1 (en) | 2011-06-30 | 2013-01-03 | Echo 360, Inc. | Methods and apparatus for an embedded appliance |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3234959B2 (en) * | 1992-01-14 | 2001-12-04 | ローム株式会社 | Microcomputer and card incorporating the same |
JPH11175333A (en) * | 1997-12-17 | 1999-07-02 | Daichu Denshi:Kk | Program analysis prevention method and controller provided with program analysis prevention function |
JP4522548B2 (en) * | 2000-03-10 | 2010-08-11 | 富士通フロンテック株式会社 | Access monitoring device and access monitoring method |
JP2004145605A (en) * | 2002-10-24 | 2004-05-20 | Matsushita Electric Ind Co Ltd | Processor |
-
2005
- 2005-07-22 JP JP2005212146A patent/JP5069406B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2006040282A (en) | 2006-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5580857B2 (en) | System and method for identifying and preventing security breaches in computer systems | |
US11675934B2 (en) | Method and system for preventing unauthorized processor mode switches | |
EP1708071B1 (en) | Method and system for detection and neutralization of buffer overflow attacks | |
US8307416B2 (en) | Data structures for use in firewalls | |
US20070067826A1 (en) | Method and system for preventing unsecure memory accesses | |
US20070011419A1 (en) | Method and system for a multi-sharing security firewall | |
CN108154032B (en) | Computer system trust root construction method with memory integrity guarantee function | |
EP1912149A1 (en) | Monitor mode integrity verification | |
US20090177826A1 (en) | System and method for preemptive masking and unmasking of non-secure processor interrupts | |
JP5069406B2 (en) | System and method for identifying and preventing security breaches in computer systems | |
US8635685B2 (en) | Value generator coupled to firewall programmable qualifier data structure logics | |
CN105631314A (en) | Execution environment switching method of terminal, execution environment switching system of terminal, and terminal | |
WO2008086456A2 (en) | System and method for preemptive masking and unmasking of non-secure processor interrupts | |
WO2007008595A2 (en) | Method and system for a multi-sharing security firewall | |
WO2022199807A1 (en) | Device and method for managing resource access | |
WO2008045824A2 (en) | Monitor mode integrity verification |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080722 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110201 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20110428 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20110509 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20110531 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20110603 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20110701 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20110706 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110801 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110819 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20111121 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20111125 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20111219 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20111222 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20120119 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20120124 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120220 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20120316 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120717 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20120724 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20120814 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120817 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150824 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5069406 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |