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 PDF

Info

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
Application number
JP2005212146A
Other languages
Japanese (ja)
Other versions
JP2006040282A (en
Inventor
レミー フィリップ コンティ グレゴリー
ローラン アゼマ ジェローム
Original Assignee
テキサス インスツルメンツ インコーポレイテッド
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from EP04291893A external-priority patent/EP1619572A1/en
Application filed by テキサス インスツルメンツ インコーポレイテッド filed Critical テキサス インスツルメンツ インコーポレイテッド
Publication of JP2006040282A publication Critical patent/JP2006040282A/en
Application granted granted Critical
Publication of JP5069406B2 publication Critical patent/JP5069406B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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 computer system 100 constructed in accordance with at least some embodiments of the invention. The computer system 100 is a multiprocessing unit (coupled to various other system components by a data and instruction bus and a security firewall (eg, L3 bus / firewall 254, L4 bus / firewall 256, external memory firewall 252)). MPU) 104 may be provided. The MPU 104 may include a processor core (core) 106 that has a plurality of processing pipelines and executes programs. The MPU 104 may also include a core security controller (CSC) 258 that assists in placing the MPU 104 in secure mode for executing secure programs on the core 106. The core security controller 258 performs a monitoring operation for ensuring a safe operation during the safe mode and preventing access to a safe component of the computer system 100 during the non-safe mode.

また計算機システム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 computer system 100 may also include a digital signal processor (DSP) 108 that is coupled to the MPU 104 by an L3 bus / firewall 254. The DSP 108 may assist the MPU 104 to perform task specific calculations (graphics processing, audio processing, etc.). The DSP 108 may have its own core 110 and its own core security controller 260. A graphics accelerator (GFX) 112 may also be coupled to the MPU 104 and the DSP 108 by an L3 bus / firewall 254. Graphics accelerator 112 may perform calculations and information conversions necessary to display information on display device 142 or the like. Similar to MPU 104 and DSP 108, graphics accelerator 112 may have its own core 114 and its own core security controller 262. As with the MPU 104, the DSP 108 and graphics accelerator 112 may independently enter a secure mode and execute security programs on the core 110 and core 114, respectively.

また計算機システム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 computer system 100 is also coupled to the on-chip memory 118 and the stacked memory 120 via the L3 bus / firewall 254 and to the external memory 116 via the L3 bus / firewall 254 and the external memory firewall 252. A controller (DMA CTLR) 122 may be provided. The direct memory access controller 122 provides access between the on-chip memory 118, the stacked memory 120, and the external memory 116, such as any other MPU 104, DSP 108, graphics accelerator 112, etc. It may be controlled by system components. On-chip memory 118, stacked memory 120, and external memory 116 may be any suitable memory. For example, a synchronous RAM, a RAMBUS (registered trademark) type RAM, a programmable ROM (PROM), an erasable programmable ROM (EPROM), an electrically erasable programmable ROM (EEPROM), or the like may be used. Stacked memory is embedded in the same semiconductor package as system-on-a-chip (SoC) 102, but is on any semiconductor die that is separate from the system-on-a-chip 102 semiconductor die (die) Any suitable memory may be used.

また計算機システム100は、L4バス/ファイアウォール256により種々のシステム構成要素に結合するUSBインターフェース(USB I/F)124を備えてよい。USBインターフェース124により、計算機システム100は外部装置に結合して通信することができる。   The computer system 100 may also include a USB interface (USB I / F) 124 that is coupled to various system components by an L4 bus / firewall 256. The USB interface 124 allows the computer system 100 to communicate with an external device.

各コア・セキュリティ・コントローラ(例えば、コア・セキュリティ・コントローラ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 memory access controller 122 secure channel control registers) can be accessed. Having this secure mode (ie third level privilege) is valuable to any kind of computer system (eg, laptop computer, desktop computer, server in a bank of servers). However, in at least some embodiments of the present invention, the computer system 100 may be a mobile computer system. For example, it may be a cellular phone, a personal digital assist (PDA), a text messaging system, or a computing device that combines a messaging system with the functions of a personal digital assist and a cellular phone. Some embodiments may include a modem chipset 138 that couples to the external antenna 136 and / or a global positioning system (GPS) circuit 128 that also couples to the external antenna 130.

少なくともいくつかの実施の形態に係る計算機システム100は移動体装置なので、計算機システム100は、恐らく電力管理ユニット134により制御されて種々の処理要素に電力を供給する電池132も備えてよい。ユーザは、キーボードやキーパッドやタッチ・パネルなどのユーザ・インターフェース(ユーザI/F)140によりデータおよび/またはメッセージを計算機システム100に入力してよい。多くのセルラ電話はディジタル静止画像とビデオ画像を扱う機能も備えるので、或る実施の形態では、計算機システム100はカメラ・インターフェース(CAM I/F)126を備えて、ディジタル画像を捕える電荷結合素子(CCD)配列(図示しない)に計算機システム100を結合することによりカメラ機能を与えることができる。   Since the computer system 100 according to at least some embodiments is a mobile device, the computer system 100 may also include a battery 132 that is possibly controlled by a power management unit 134 to provide power to various processing elements. A user may input data and / or messages to the computer system 100 through a user interface (user I / F) 140 such as a keyboard, a keypad, or a touch panel. Since many cellular phones also have the capability to handle digital still images and video images, in one embodiment, the computer system 100 includes a camera interface (CAM I / F) 126 to charge coupled devices that capture digital images. A camera function can be provided by coupling the computer system 100 to a (CCD) array (not shown).

図1に示すシステム100の種々のファイアウォールはコア・セキュリティ・コントローラが与える保護を超える更なる保護をそれぞれ与える。ファイアウォールは、一組のプログラムされた規則に従って他の構成要素(またはその構成要素上で実行するソフトウエア)が計算機システム100の構成要素にアクセスするのを阻止または許可してよい。この規則は構成要素と動作モード(例えば、安全または非安全)の対の間の関係を確立する。かかる規則は、ハードウエアで、またはアクセスを企てる構成要素と望ましいアクセス先である構成要素のアドレス範囲とを相互参照する許可テーブルの形のソフトウエアで実現してよい。要求された動作と現在の動作モードとについて得られた許可がアクセスを拒否するものである場合は、ファイアウォールはセキュリティ侵害の信号を送る。   The various firewalls of the system 100 shown in FIG. 1 each provide additional protection beyond that provided by the core security controller. The firewall may block or allow other components (or software executing on the components) from accessing the components of the computer system 100 according to a set of programmed rules. This rule establishes a relationship between a component and an operating mode (eg, safe or unsafe) pair. Such a rule may be implemented in hardware or software in the form of a permission table that cross-references the component that is attempting access to the address range of the component that is the desired access destination. If the permission obtained for the requested operation and the current mode of operation denies access, the firewall signals a security breach.

ファイアウォール252,254,256と、コア・セキュリティ・コントローラ258,260,262と、セキュリティ表示器264とは、プラットフォーム・セキュリティ・コントローラ250にそれぞれ結合する。プラットフォーム・セキュリティ・コントローラ250はセキュリティ侵害を検出する中枢として働く。コア・セキュリティ・コントローラおよびファイアウォールは、プラットフォーム・セキュリティ・コントローラ250により監視された個別のセキュリティ侵害信号をそれぞれ表明する。個別のセキュリティ侵害信号のどれかの表明を検出すると、プラットフォーム・セキュリティ・コントローラはこれに応えて1つ以上のコア・セキュリティ・コントローラを起動してセキュリティ応答シーケンス(後で説明する)を開始する。またプラットフォーム・セキュリティ・コントローラは、攻撃表示器264を活動化するなどして、侵害を検出したことを計算機システム100のユーザに警報してよい。   Firewalls 252, 254, 256, core security controllers 258, 260, 262, and security indicator 264 are coupled to platform security controller 250, respectively. Platform security controller 250 serves as a hub for detecting security breaches. The core security controller and firewall each assert a separate security breach signal monitored by the platform security controller 250. Upon detecting any assertion of an individual security breach signal, the platform security controller responds by activating one or more core security controllers and initiating a security response sequence (discussed later). The platform security controller may also alert the user of computer system 100 that a violation has been detected, such as by activating attack indicator 264.

上に述べた種々のセキュリティ構成要素は監視システム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 monitoring system 200. The monitoring system 200 includes a platform security controller 250, firewalls 252, 254, 256, core security controllers 258, 260, 262, and an attack indicator 264. FIG. 2 shows details of the monitoring system 200 and illustrates an exemplary configuration that combines the components in the monitoring system 200 and the components in the MPU 104. In at least some embodiments of the present invention, MPU 104 overlaps core 106, interrupt controller 174, secondary bus 182, and core security controller 258 (monitoring system 200 that also includes core security controller 258). ). The core 106 includes a processor 170, a primary bus 180 (a unique bus of the processor 170), and a bus bridge 172. In at least some embodiments of the present invention, processor 170 may be any processor suitable for incorporation into an on-chip system, such as an ARM1136 series processor.

プロセッサ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 processor 170 is coupled to the primary bus 180 as is the bus bridge 172 and the core security controller 258. Processor 170 is also coupled to core security controller 258 and interrupt controller 174. Core security controller 258 couples to bus bridge 172 and platform security controller 250. Platform security controller 250 is coupled to attack indicator 264, external memory firewall 252, L3 bus / firewall 254, and L4 bus / firewall 256. L4 bus / firewall 256 is coupled to L3 bus / firewall 254, and L3 bus / firewall 254 is coupled to secondary bus 182.

コア・セキュリティ・コントローラは、1次バス180上の信号を監視することによりプロセッサ170の活動を追跡する。これらの信号は、命令バス信号と、データ・バス信号と、状態信号と、制御信号とを含んでよい。かかる信号は1次バス内の別々のバス(例えば、ハーバード・コンピュータ・アーキテクチャに見られるような命令バスや、データ読取りバスや、データ書込みバス)として編成してよい。1次バス180上のかかる信号を監視することにより、コア・セキュリティ・コントローラ258は実行するためにプロセッサ170に与えられる実際の命令およびデータや、MPU104のセキュリティ・モードや、現在のセキュリティ・モードにおいて命令および/またはデータが許可されるかどうか、を決定することができる。例えば、プロセッサ170が非安全モードで動作中にプロセッサ170上で実行するプログラムがメモリの安全なアドレス範囲にアクセスしようとすると、コア・セキュリティ・コントローラ258はこれをセキュリティ侵害と識別する。同様に、プロセッサ170が安全モードで動作中にプロセッサ170上で実行するプログラムがメモリの非安全なアドレス範囲にアクセスしようとすると、コア・セキュリティ・コントローラ258はこれもセキュリティ侵害と識別する。   The core security controller tracks the activity of the processor 170 by monitoring signals on the primary bus 180. These signals may include instruction bus signals, data bus signals, status signals, and control signals. Such signals may be organized as separate buses within the primary bus (eg, an instruction bus, a data read bus, and a data write bus as found in Harvard Computer Architecture). By monitoring such signals on the primary bus 180, the core security controller 258 can be used in the actual instructions and data provided to the processor 170 for execution, in the security mode of the MPU 104, and in the current security mode. It can be determined whether instructions and / or data are allowed. For example, if a program executing on processor 170 attempts to access a safe address range of memory while processor 170 is operating in non-secure mode, core security controller 258 identifies this as a security breach. Similarly, if a program executing on processor 170 attempts to access an insecure address range of memory while processor 170 is operating in secure mode, core security controller 258 also identifies this as a security breach.

1次バス180上の他の活動もセキュリティ侵害と識別される。2つの資源のセキュリティ・レベルが一致しない場合は、コア・セキュリティ・コントローラ258は一方の資源から他方の資源へのアクセスをセキュリティ侵害と識別する。したがって、例えば、直接メモリ・アクセス・コントローラ122の非安全なチャンネルがオンチップ・メモリ118の安全なアドレス範囲にアクセスすると、セキュリティ侵害と識別される。同様に、直接メモリ・アクセス・コントローラ122の安全なチャンネルが外部メモリ116の非安全なアドレス範囲にアクセスすると、これもセキュリティ侵害と識別される。コア・セキュリティ・コントローラ258は、プロセッサ170に与えられる命令放棄シーケンスもセキュリティ侵害と識別する。この種の攻撃の例としては、悪性のプログラムが命令放棄シーケンスを用いて安全モード・エントリ・シーケンスに割り込もうとしたり、すでに安全モードで実行中のソフトウエアに割り込もうとしたりすることなどがある。両方ともセキュリティ侵害と識別される。   Other activities on the primary bus 180 are also identified as security breaches. If the security levels of the two resources do not match, the core security controller 258 identifies access from one resource to the other as a security breach. Thus, for example, if a non-secure channel of direct memory access controller 122 accesses a secure address range of on-chip memory 118, it is identified as a security breach. Similarly, if a secure channel of direct memory access controller 122 accesses an insecure address range in external memory 116, this is also identified as a security breach. The core security controller 258 also identifies the instruction abandonment sequence provided to the processor 170 as a security breach. Examples of this type of attack include a malicious program trying to interrupt a safe mode entry sequence using an instruction abandonment sequence, or trying to interrupt software that is already running in safe mode. There is. Both are identified as security breaches.

セキュリティ・コントローラ258が監視するシステム上の他の活動は、電子通信システム100の電圧レベルの悪質な処理や、クロック周波数の悪質な不正処理や、故意のハードウエア故障生成(例えば、レーザを用いた)や、無許可のテストおよびデバッグ活動(例えば、運転中の電子通信システム100をテスト・モードにしようとすること)を含む。セキュリティ・コントローラ258が検出したこれらの活動の企ても全てセキュリティ侵害と識別される。   Other activities on the system monitored by the security controller 258 include malicious processing of the voltage level of the electronic communication system 100, malicious processing of the clock frequency, and intentional hardware fault generation (e.g., using lasers). ) And unauthorized testing and debugging activities (eg, attempting to put the electronic communication system 100 in operation into test mode). All attempts at these activities detected by the security controller 258 are also identified as security breaches.

セキュリティ侵害が検出されると、コア・セキュリティ・コントローラ258はセキュリティ応答シーケンスを開始してよい。セキュリティ応答シーケンスは、侵害する動作の実行を阻止または停止することや、有害なプログラムの今後の実行を阻止すること(例えば、計算機システム100からプログラムを削除することにより)や、恐らく両方の処置を含む。それぞれについて順に説明する。   If a security breach is detected, the core security controller 258 may initiate a security response sequence. The security response sequence may prevent or stop the execution of an infringing operation, prevent future execution of a harmful program (eg, by deleting the program from computer system 100), and possibly both actions. Including. Each will be described in turn.

本発明の少なくともいくつかの実施の形態では、命令または命令に関連するデータがコア・セキュリティ・コントローラ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 core security controller 258, the core security controller 258 may have a primary bus. The instructions given to processor 170 on 180 may be discarded. The core security controller 258 asserts a security abandon signal 282, which the bus bridge 172 converts to a unique processor hardware based abandon. Hardware-based abandonment prevents the execution of harmful instructions and includes a pipeline of processor 170 that includes prefetch units, internal instructions and / or data prediction mechanisms, and additional program instructions that are part of a breach or attack. You can flush the stage. Such flash erases the context of the malicious program and terminates the execution of the program. Since abandonment is hardware-based and not subject to software control or interference, malicious programs are very difficult to intercept or bypass the security response sequence thus implemented.

本発明の少なくともいくつかの実施の形態では、プロセッサ170はARM1136シリーズのプロセッサでよい。かかるプロセッサは、セキュリティ侵害を起こしたと識別された命令の実行を防ぐのに必要な上述の種類のハードウエア・ベースの命令放棄シーケンスを与え、また放棄シーケンスの一部として全ての予想およびパイプライン・ステージをフラッシュして、攻撃シーケンスの一部である全ての他の先取り命令の実行を防ぐ機能を与える。   In at least some embodiments of the present invention, the processor 170 may be an ARM1136 series processor. Such a processor provides a hardware-based instruction abandonment sequence of the type described above necessary to prevent execution of instructions identified as having breached security, and all expectation and pipeline instructions as part of the abandonment sequence. Provides the ability to flush the stage and prevent execution of all other prefetch instructions that are part of the attack sequence.

また図2のコア・セキュリティ・コントローラ258は、セキュリティ侵害に応答してプロセッサ170への割込みを生成する。本発明の少なくともいくつかの実施の形態では、コア・セキュリティ・コントローラはセキュリティ放棄割込み信号284を表明する。割込みコントローラ174はこれを監視する。セキュリティ放棄割込みの表明に応じて割込みコントローラは割込み要求(IRQ)信号281を表明し、これによりプロセッサ170への割込み要求を開始してよい。   The core security controller 258 of FIG. 2 also generates an interrupt to the processor 170 in response to a security breach. In at least some embodiments of the invention, the core security controller asserts a security abandonment interrupt signal 284. The interrupt controller 174 monitors this. In response to asserting a security abandonment interrupt, the interrupt controller may assert an interrupt request (IRQ) signal 281 that may initiate an interrupt request to the processor 170.

割込み要求信号281によりトリガされてプロセッサ170上で実行される割込みサービス・ルーチンは、悪質なプログラムの源を識別してプログラムの今後の実行を防ぐ(例えば、計算機システム100からその源を除去することにより)ことのできる1つ以上のソフトウエア・プログラム(例えば、アンチウイルス・ソフトウエア)を実行する。プロセッサ170は侵害消去信号280を表明することにより、割込みサービス・ルーチンが完了したことをコア・セキュリティ・コントローラ258に知らせてよい。本発明の少なくともいくつかの実施の形態では、高性能で優先順位の高いプロセッサ割込み(例えば、ARM1136シリーズのプロセッサのFIQ割込み)を用いてよい。なぜなら、かかる割込みによりトリガされた割込みサービス・ルーチンを、攻撃するソフトウエアが迂回するのは非常に困難だからである。   An interrupt service routine that is triggered by the interrupt request signal 281 and executed on the processor 170 identifies the source of the malicious program and prevents future execution of the program (eg, removing that source from the computer system 100). One or more software programs (e.g., anti-virus software) that can be executed. The processor 170 may inform the core security controller 258 that the interrupt service routine is complete by asserting the breach erase signal 280. In at least some embodiments of the present invention, high performance, high priority processor interrupts (eg, FIQ interrupts for ARM1136 series processors) may be used. This is because it is very difficult for the attacking software to bypass the interrupt service routine triggered by such an interrupt.

コア・セキュリティ・コントローラ258は監視システム200の種々のファイアウォールの1つが検出したセキュリティ侵害にも応答してよい。監視システム200の種々のファイアウォールはそれぞれファイアウォール侵害信号(例えば、L3ファイアウォール侵害信号292)を表明して、セキュリティ侵害が検出されたことをプラットフォーム・コントローラ250に示してよい。プラットフォーム・コントローラ250はファイアウォールが検出したセキュリティ侵害に応答してファイアウォール侵害信号286を表明してよい。或る実施の形態では、コア・セキュリティ・コントローラ258はファイアウォール侵害表示に対して、コア・セキュリティ・コントローラ258が検出したセキュリティ侵害に応答するのと同じ方法で応答してよい。   Core security controller 258 may also respond to security breaches detected by one of the various firewalls of monitoring system 200. Each of the various firewalls of the monitoring system 200 may assert a firewall breach signal (eg, L3 firewall breach signal 292) to indicate to the platform controller 250 that a security breach has been detected. Platform controller 250 may assert firewall breach signal 286 in response to a security breach detected by the firewall. In some embodiments, the core security controller 258 may respond to the firewall breach indication in the same manner as it responds to the security breach detected by the core security controller 258.

別の実施の形態では、コア・セキュリティ・コントローラ258はファイアウォールセキュリティ侵害に別の方法で応答してよい。例えば、USBポート124(図1参照)に結合するUSB装置がオンチップ・メモリ118の安全なアドレス範囲にアクセスしようとした場合は、L4バス/ファイアウォール256はアクセスを拒否して、侵害をプラットフォーム・セキュリティ・コントローラ250に通報してよい。プラットフォーム・セキュリティ・コントローラ250はファイアウォールが検出した侵害をコア・セキュリティ・コントローラ258に通知し、コア・セキュリティ・コントローラ258はプロセッサ170に割込み要求を送ってよい。割込み要求に応えてプロセッサ170上で実行される割込みサービス・ルーチンは必要な処置をとってよい。かかる処置はセキュリティ侵害のロギングでよい。なぜなら、アクセスはすでにファイアウォールにより阻止されているので、それ以上の保護または補償の処置をとる必要はないからである。   In another embodiment, core security controller 258 may respond to firewall security breaches in other ways. For example, if a USB device coupled to the USB port 124 (see FIG. 1) attempts to access a secure address range in the on-chip memory 118, the L4 bus / firewall 256 will deny access, The security controller 250 may be notified. Platform security controller 250 may notify core security controller 258 of a violation detected by the firewall, and core security controller 258 may send an interrupt request to processor 170. An interrupt service routine executed on processor 170 in response to an interrupt request may take the necessary action. Such action may be security breach logging. This is because access is already blocked by the firewall and no further protection or compensation measures need to be taken.

本発明の少なくともいくつかの実施の形態に従って構築された監視システム200のファイアウォールは、異なるセキュリティ・レベルで動作することのできる計算機システム100の構成要素の間を分離してよい。ファイアウォールは計算機システム100の種々の構成要素をリンクするバス内に組み込んで、バス内の要求/応答機構を制御してよい。かかる要求/応答機構により、アクセスを要求する構成要素(「イニシエータ」と呼ぶことある)は他の構成要素(「ターゲット」と呼ぶことがある)にアクセスすることができるが、これは構成要素を結合するバスに組み込まれたセキュリティ・ファイアウォールがアクセスを許可した場合に限られる。例えば、直接メモリ・アクセス・コントローラ122はスタック化メモリ120にアクセスを要求してよいが、アクセスがセキュリティ拘束を侵害しない場合に限り、L3バス/ファイアウォール254内に組み込まれたセキュリティ・ファイアウォールはアクセスを許可する。   The firewall of the monitoring system 200 constructed in accordance with at least some embodiments of the present invention may separate between components of the computer system 100 that can operate at different security levels. A firewall may be incorporated into the bus that links the various components of the computer system 100 to control the request / response mechanism within the bus. Such a request / response mechanism allows a component requesting access (sometimes referred to as an “initiator”) to access another component (sometimes referred to as a “target”), which Only if the security firewall built into the combined bus allows access. For example, the direct memory access controller 122 may request access to the stacked memory 120, but the security firewall embedded within the L3 bus / firewall 254 will only allow access if the access does not violate security constraints. to approve.

また、本発明の少なくともいくつかの実施の形態では、L3バス/ファイアウォール254はディジタル・ハードウエアを用いて実現して、グラフィックス・コントローラ112から直接メモリ・アクセス・コントローラ122への全てのアクセス要求を常に拒否するようにしてよい。かかるハードウエアは、グラフィックス・コントローラ112がL3バス/ファイアウォール254のバス部上に置いたイニシエータおよびターゲットの識別情報を、L3バス/ファイアウォール254のセキュリティ・ファイアウォール部への入力として用いる。セキュリティ・ファイアウォール内の論理はこの情報を復号して、イニシエータからターゲットへのアクセスが許可されるかどうか判定する(ここに説明した例では、アクセスは常に拒否される)。かかるハードウエア・ベースのファイアウォールは高レベルのセキュリティを与える。なぜなら、再プログラミングや変更が容易でないからである。   Also, in at least some embodiments of the present invention, the L3 bus / firewall 254 is implemented using digital hardware to provide all access requests from the graphics controller 112 to the direct memory access controller 122. You may always refuse. Such hardware uses the initiator and target identification information placed on the bus portion of the L3 bus / firewall 254 by the graphics controller 112 as an input to the security firewall portion of the L3 bus / firewall 254. Logic within the security firewall decrypts this information to determine whether access from the initiator to the target is allowed (in the example described here, access is always denied). Such a hardware-based firewall provides a high level of security. This is because reprogramming and modification are not easy.

L3バス/ファイアウォール254の別の実施の形態はメモリ・ベースのルックアップ・テーブルを用いてよい。かかる実施の形態では、許可テーブルは多次元テーブルとして実現してよい。例えば、イニシエータ識別と、ターゲット識別と、MPU104のセキュリティ・モードとを用いてテーブルに指標を付け、アクセス要求に対する応答を生成してよい。このテーブルは任意の適当なメモリを用いて実現してよい。用いるメモリの種類に従って、種々の程度の柔軟性とセキュリティが得られる。例えば、ROMを用いると、計算機システム100上で実行するプログラムはメモリ内にコード化されたセキュリティ拘束を変えることができないので、計算機システム100は柔軟性に欠けるが非常に安全である。これに比べて、RAMを用いると、計算機システム100上で実行するプログラムはメモリ内でコード化されたセキュリティ拘束を実行時に動的に再構成することができるので(システム内に組み込まれた他のセキュリティ手段により適当に拘束される)、計算機システム100は一層柔軟になる。   Another embodiment of the L3 bus / firewall 254 may use a memory-based lookup table. In such an embodiment, the permission table may be realized as a multidimensional table. For example, the table may be indexed using initiator identification, target identification, and security mode of the MPU 104 to generate a response to the access request. This table may be implemented using any suitable memory. Depending on the type of memory used, various degrees of flexibility and security can be obtained. For example, if a ROM is used, the computer system 100 is not very flexible but very safe because the program executed on the computer system 100 cannot change the security constraints encoded in the memory. In contrast, when a RAM is used, a program executed on the computer system 100 can dynamically reconfigure security constraints encoded in the memory at the time of execution (other programs incorporated in the system). The computer system 100 becomes more flexible when properly bound by security means.

ファイアウォールが検出した侵害を監視するのに加えて、プラットフォーム・セキュリティ・コントローラ250はセキュリティ侵害が起こったときにユーザに警報してよい。図2に示すように、また本発明の少なくともいくつかの実施の形態では、プラットフォーム・セキュリティ・コントローラ250はCSC侵害信号288が示す侵害に関してコア・セキュリティ・コントローラ258も監視してよい。この信号と、監視システム200が含む他のコア・セキュリティ・コントローラやファイアウォールからの同様の信号とにより、プラットフォーム・セキュリティ・コントローラ250は監視システム200の他の要素により検出されたセキュリティ侵害に対処することができる。プラットフォーム・セキュリティ・コントローラは表明されたセキュリティ侵害信号に応答して攻撃信号296を表明し、攻撃表示器174を活動化して侵害が(したがって計算機システム100への攻撃が)起こったことをユーザに警報する。   In addition to monitoring violations detected by the firewall, the platform security controller 250 may alert the user when a security violation occurs. As shown in FIG. 2, and in at least some embodiments of the present invention, platform security controller 250 may also monitor core security controller 258 for violations indicated by CSC violation signal 288. With this signal and similar signals from other core security controllers and firewalls included in the monitoring system 200, the platform security controller 250 will address security breaches detected by other elements of the monitoring system 200. Can do. The platform security controller asserts the attack signal 296 in response to the asserted security breach signal and activates the attack indicator 174 to alert the user that a breach (and therefore an attack on the computer system 100) has occurred. To do.

図3は、監視システム200が用いるのに適した、セキュリティ侵害への応答と、攻撃の停止と、ユーザへの通知とのための方法を示す。本発明の少なくともいくつかの実施の形態では、かかる方法は、セキュリティ侵害検出ブロック302と、ユーザ通知ブロック304と、セキュリティ放棄信号表明ブロック306と、セキュリティ放棄割込み表明ブロック308と、割込みサービス・ルーチン実行ブロック310と、セキュリティ侵害消去ブロック312とを含んでよい。   FIG. 3 shows a method suitable for use by the monitoring system 200 for responding to a security breach, stopping an attack, and notifying a user. In at least some embodiments of the present invention, such methods include a security breach detection block 302, a user notification block 304, a security abandonment signal assertion block 306, a security abandonment interrupt assertion block 308, and interrupt service routine execution. Block 310 and security breach elimination block 312 may be included.

引き続き図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 block 302, the user may be notified of the breach at block 304 (eg, an attack indication). By activating vessel 174). After notifying the user that an attack has been attempted, a security abandonment signal is asserted, as shown in block 306, and the instructions given to the processor in the monitoring system 200 are abandoned. This may flush all predictions or pipeline stages associated with the processor. Next, a security abandonment interrupt is asserted as shown in block 308 and the interrupt service routine is preferentially executed as shown in block 310. The interrupt service routine executes one or more software programs (eg, virus scanner software) that can directly address a security breach or locate the source of a harmful attack instruction. Prevent the source from executing instructions in the future (eg, by removing the source from the device 100). After the interrupt service routine of block 310 completes execution, the violation may be marked for erasure as shown in block 312 (eg, asserting a breach erase signal to the core security controller that first detected the security breach. By doing).

上の開示は本発明の原理と種々の実施の形態を示すためのものである。上の開示を完全に理解すれば、種々の変更や修正は当業者に明らかである。この開示は全てのかかる変更や修正を含むものである。   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 computer system 100 includes a multiprocessing unit 104 having a processor core 106 that executes a program. The monitoring system 200 includes a platform security controller 250 that monitors activity on the core bus to identify security breaches. In response to identifying the security breach, further execution of the program in the processor core 106 is prevented.

本発明の少なくともいくつかの実施の形態に従って構築された計算機システムを示す。1 illustrates a computer system constructed in accordance with at least some embodiments of the present invention. 本発明の少なくともいくつかの実施の形態に従って構築された監視装置を示す。1 illustrates a monitoring device constructed in accordance with at least some embodiments of the present invention. 本発明の少なくともいくつかの実施の形態に係る、攻撃を止める方法を示す。6 illustrates a method for stopping an attack according to at least some embodiments of the present invention.

符号の説明Explanation of symbols

100 計算機システム
104 多重処理ユニット
106 プロセッサ・コア
200 監視システム
250 プラットフォーム・セキュリティ・コントローラ
DESCRIPTION OF SYMBOLS 100 Computer system 104 Multiprocessing unit 106 Processor core 200 Monitoring system 250 Platform security controller

Claims (5)

電子装置に関連する、電圧レベル、クロック周波数、ハードウェア故障注入、並びにテスト活動のうち少なくとも1つを、プロセッサ・コアに結合されるコア・バス上で監視する工程と、
前記電圧レベル、クロック周波数、ハードウェア故障注入、並びにテスト活動のうち少なくとも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.
請求項1に記載の方法であって、
前記プロセッサ・コア上で実行するソフトウェア・プログラムを前記セキュリティ侵害を起こすものとして識別する工程と、
前記ソフトウェア・プログラムが実行しないようにする工程と、
を更に含む、方法。
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 :
請求項1に記載の方法であって
前記セキュリティ侵害が検出されていることをユーザに知らせるため視覚的表示器を作動させる工程を更に含む、方法
The method of claim 1 , comprising:
Activating a visual indicator to inform a user that the security breach has been detected .
請求項1に記載の方法であって、
前記セキュリティ侵害が消去されたことをユーザに知らせるため視覚的表示器を作動させる工程を更に含む、方法
The method of claim 1, comprising:
Activating a visual indicator to inform a user that the security breach has been erased .
請求項1に記載の方法であって、
前記セキュリティ侵害が検出されていることをユーザに知らせるため可聴表示器を作動させる工程を更に含む、方法
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 .
JP2005212146A 2004-07-23 2005-07-22 System and method for identifying and preventing security breaches in computer systems Active JP5069406B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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