[go: up one dir, main page]

TW200405162A - Data processing apparatus - Google Patents

Data processing apparatus Download PDF

Info

Publication number
TW200405162A
TW200405162A TW92119761A TW92119761A TW200405162A TW 200405162 A TW200405162 A TW 200405162A TW 92119761 A TW92119761 A TW 92119761A TW 92119761 A TW92119761 A TW 92119761A TW 200405162 A TW200405162 A TW 200405162A
Authority
TW
Taiwan
Prior art keywords
program counter
data processing
address
program
sensor
Prior art date
Application number
TW92119761A
Other languages
English (en)
Other versions
TWI229258B (en
Inventor
Jan Otterstedt
Markus Gail
Original Assignee
Infineon Technologies Ag
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
Application filed by Infineon Technologies Ag filed Critical Infineon Technologies Ag
Publication of TW200405162A publication Critical patent/TW200405162A/zh
Application granted granted Critical
Publication of TWI229258B publication Critical patent/TWI229258B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/28Error detection; Error correction; Monitoring by checking the correct order of processing
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • G06F9/321Program or instruction counter, e.g. incrementing
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3861Recovery, e.g. branch miss-prediction, exception handling

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)

Description

200405162 五、發明說明(1) ^有一執行單元及 本發明係有關一種資料處理j 具有程式計數器之流程控制器v 一例如,該資料處理裝置係已知為微 凡可處理算術及邏輯指令。牵涉之運管制-,式'執行單 址暫存器中或經由内部匯流排被施加::程二:ί資料及位 中之指令。指令解碼哭捲荖舖 數-叮連績呼叫程式 當程式開始時程二π 址係經由位址匯流排被轉換至記憶二又疋為開始位址。此位 士之讀取訊號’係促使尚有疑問::㈡::控制匯流排 料匯流排上且被儲存於指令解碼哭中;内容出現於資 該指令所需之操作。指令執行後:以碼器觸發執行 設定為下—個指令之位址。 3 7解碼益將程式計數器 接下來被執行之指令一直視程 當攻擊晶片卡及安全積體電路時二之位址而定。 功能係被駭客利用。攻擊 、,私式計數器之此關鍵 使預期程式仔列被執行所牵涉之組 非預期程式流程改變係被稱為"跳工制;于非預期之碼。該 控制益破跳越,攻擊者嘗試增加空制器。為了使微 線或供給電壓線上。 t脈頻率或注入干擾於時脈 為了避免微控制器被跳越之 k供複數個可偵測供給線上超額糖“列如,已知實務上係 如’若超額頻率感測器因為微 2或干擾之感測器。例 而響應時’攻擊者係被假;抑:大時脈頻率操作 匕制為係被安全重設。然 200405162 五、發明說明(2) 而’該感測器因需類卜蕾 本發明目的係且體戈明Ί件所以貫施起來相當複雜。 理裝置。 』5兄明跳越被安全及輕易辨識之資料處 本發明係藉由最初提及之 其係藉由被連接至# # @、ώ 、β、地 1置類型來達成此, 測器而具體化,===:計數.器之程式計數器感 接著被執行之指令位址之壯瓜排從被轉換之資料確認 及程式計數器内容及#古;Γ 有可比較該被確認位址 器。 4及右有任何不相符時觸發警示訊號之比較 本發明優點係不需提供複數個複雜 產生跳越之干擾而間接確認跳越風險 Ί其精由偵剛 行之指令位址’意指與程式計 :m被執 ,切數器被用來確認下個指令位址知獨立 間,λ確認位址係必須匹配程式計數器之内ί 期 貝】符另】具有優點。此可避免攻擊 至 程式計數器或程式計數器感測器、生之干擾’而不影響 因此,若程式計數器感測器使用不 達成之效應係對干擾敏威度及對干擾響應有^不^ ”。 lf此 因為.本發明之程式計數器感測器剛好、被建構、邏輯 ί :: 比組件’所以其可特別容易且便宜來製造。二 另一棱點係程式計數器感測器可被隱藏於文 護不受任何實體攻擊。此外,該感測器較具;
第6頁 200405162 五、發明說明(3) 測為更容易測試。 本發明係使用實施例被更詳細解釋如下。單一圖係顯示 具本發明之程式計數器感測器之微控制器略圖。 第一圖左半係顯示先前技術基礎上具有基本组件之微控 制器。 其具有一執行單元1,一流程控制器2,及一匯流排介面 3 執行單元1係包含一算術及邏輯單元6及一資料暫存器7及 位址暫存态8。流程控制器2包括一程式計數器4及一指令 解碼器5。匯流排介面具有用於資料匯流排12,控制匯流排 位址匯流排14之驅動器9,10及11。執行單元1,流程控 ,及[飢排’丨面3係藉由内部匯流排1 5被彼此相連。此先 I^ ^基礎上之微控制器運作之基本方式係已被描述於說明 明f。第#圖^右半係顯示擴展先前技術基礎上微控制器之本發 二程式計數器感測器20係具有被暫存、 邏輯單於辨識指令及新程式計數器值之— 槐六 及一程式計數器模擬2 3。此外,且有可比_妯 :中之值及實際程式計數器心 置21申之暫存器係可於延遲後提供。延遲裝 計數器感測器20可_ 數益4目前之内容,使程式 偏置確認。產生程之程式計數器值的暫時 者,亦不會產生被執新叙值錯誤改正(跳越)之攻擊 之錯誤確認,其可掸λ ^式5十數器感測器20申之下個指令 /、 θ σ攻名辨識可靠性。可辨識指令及新程
第7頁 200405162 五、發明說明(4) =數器值之邏輯單元22及程式計數器模擬23,係以其 里式對應流程控制器2中之功能性單元,其負 : 數器4之新值。 "貝貝確5心私式计 平行由//發Λ ’ Λ程式計數11值可被程式計數器感測器2 〇 ::丁確認。程式计數器模擬23之内容接著被與比較器2 器4二比ί。第一圖之實施例中,此係於修改程式 °态之内谷後完成。因延遲被暫存器2 1產生之比’ g士 β 改變應為至少一時脈週期,但亦可為 生之比/乂妆域
期。針對程式計數器感測器2。中之資理:::: 係被施加至後者。 吋脈Λ琥CLK '了辨識指+,邏輯單元22繼續檢查被轉換資料Η以決 二”疋否包含指令,及其是否具有程式計數、 模擬23之新值。一曰包含用於桩下步妯拙 > 飞牲式计數為 指令)之付u夕扣八末 仃之指令(如跳越 私式計數器模擬23中。如亦發生於用於程式數、之浐 "也就疋右線性程式流程存在時,則被儲存於程式呼數叩 t :23中之位址係於指令長度基礎上被增加; 被執行之線性下一個指令。 和不將 右比較器24建立程式計數器模擬23及程式 則其^警示訊號25。此可連續❹來 =安全重設。可替代是’其可採取被警示訊號25:;:; 第一圖簡略描繪先前技術基礎上之微控制器組件,及其
200405162 五、發明說明(5) __ 彼此相隔之程式^* 式計數器感測器;IJf感測器1。然而’真實實施例中,程 中。因此非常難以辨:m t入亦包含標準組件之電路 意指對攻擊者實體攻式計數器感測器2〇 ’ 準組件亦自然可保護程式計數器感測器2。控制器之標 另-方面,因為此確保這些組件對干擾之且件。 以程式計數器感測器使用不同於實,^*反應不同,所 術來製造係具有優點。 丈器4之電路技 200405162 圖式簡單說明 第一圖簡略描繪先前技術基礎上之微控制器組件,及其 彼此相隔之程式計數器感測器1。 元件符號說明 1 執 行 早 元 2 流 程 控 制 器 3 匯 流 排 介 面 4 程 式 計 數 器 5 指 令 解 碼 器 6 算 術 及 邏 輯 單 元 7 資 料 暫 存 器 8 位 址 暫 存 器 9 資 料 匯 流 排 驅 動 器 10 控 制 匯 流 排 驅 動 器 11 位 址 匯 流 排 1辱^ 動 器 12 資 料 匯 流 排 13 控 制 匯 流 排 14 位 址 匯 流 排 15 内 部 匯 流 排 20 程 式 計 數 器 感 測 器 21 針 對 延 遲 之 暫 存 器 22 可 辨 識 指 令 及 新 程式計數 :器 值 之 邏 輯 單 元 23 程 式 計 數 器 模 擬 24 比 較 器 25 示 訊 號 CLK 時 脈 訊 號
第10頁

Claims (1)

  1. 200405162 六、申請專利範圍 ' --- 1. 一種資料處理裝置,具有 一執行單元(1)及 一具有程式計數器(4)之流程控制器(2), 其特徵在於 一程式計數器感測器(20),其係被連接至一資料匯流 排及该程式計數器(4 ),具有 ^ &叙置(2 2 )’其可經由該資料匯流排從被轉換之資料確 〜接著被執行之該指令位址之裝置(2 2 ),及 比較器(2 4 ),其可比較該被確認位址及該程式計數器 内谷,且若有任何不相符時觸發一警示訊號。 •如申請專利範圍第1項之該資料處理裝置,其中 上邊^呈式計數器感測器(2 0)具有可延遲該資料匯流排上 d 貝料及該程式計數器(4)之該内容之一延遲裝置 3· ^申請專利範圍第i或2項之該資料處理裝置,其中 忒警不訊號(2 5 )觸發資料處理裝置之重設。 罢0申請專利範圍第丨至3項其中之一之該資料處理裝 置,其中 读程式計數器感測器(2〇)係使用不同於流程控制器(2) 電路技術來製造。
TW92119761A 2002-08-30 2003-07-18 Data processing apparatus TWI229258B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE10240088A DE10240088B4 (de) 2002-08-30 2002-08-30 Datenverarbeitungsvorrichtung

Publications (2)

Publication Number Publication Date
TW200405162A true TW200405162A (en) 2004-04-01
TWI229258B TWI229258B (en) 2005-03-11

Family

ID=31724210

Family Applications (1)

Application Number Title Priority Date Filing Date
TW92119761A TWI229258B (en) 2002-08-30 2003-07-18 Data processing apparatus

Country Status (5)

Country Link
EP (1) EP1532508B1 (zh)
CN (1) CN1328635C (zh)
DE (2) DE10240088B4 (zh)
TW (1) TWI229258B (zh)
WO (1) WO2004023274A2 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004027847A1 (de) * 2004-06-08 2006-01-05 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und Verfahren zur induktiven Energieübertragung
FR2910144A1 (fr) * 2006-12-18 2008-06-20 St Microelectronics Sa Procede et dispositif de detection errones au cours de l'execution d'un programme.

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5241547A (en) * 1987-08-31 1993-08-31 Unisys Corporation Enhanced error detection scheme for instruction address sequencing of control store structure
EP0455946A3 (en) * 1990-05-07 1992-10-28 International Business Machines Corporation System for debugging shared memory multiprocessor computers
JPH0535613A (ja) * 1991-07-26 1993-02-12 Nec Ic Microcomput Syst Ltd マイクロコンピユータの暴走防止回路
JPH0816434A (ja) * 1994-06-29 1996-01-19 Mitsubishi Denki Semiconductor Software Kk 暴走検出回路
JPH1063541A (ja) * 1996-08-19 1998-03-06 Nippon Motorola Ltd コンピュータシステムのプログラム暴走監視装置
US5812830A (en) * 1996-11-14 1998-09-22 Hewlett-Packard Company Debug system with raw mode trigger capability
US6026503A (en) * 1997-08-12 2000-02-15 Telrad Communication And Electronic Industries Ltd. Device and method for debugging systems controlled by microprocessors
US6360310B1 (en) * 2000-02-03 2002-03-19 Nec Electronics, Inc. Apparatus and method for instruction cache access
CN1149490C (zh) * 2000-09-06 2004-05-12 黄更 中介式控制传递的方法及中介式控制总线系统

Also Published As

Publication number Publication date
CN1678969A (zh) 2005-10-05
CN1328635C (zh) 2007-07-25
EP1532508B1 (de) 2006-11-02
DE10240088B4 (de) 2007-11-29
TWI229258B (en) 2005-03-11
DE10240088A1 (de) 2004-03-18
WO2004023274A3 (de) 2004-05-06
EP1532508A2 (de) 2005-05-25
DE50305595D1 (de) 2006-12-14
WO2004023274A2 (de) 2004-03-18

Similar Documents

Publication Publication Date Title
US7584386B2 (en) Microprocessor comprising error detection means protected against an attack by error injection
US6915416B2 (en) Apparatus and method for microcontroller debugging
US10878099B2 (en) Hardware assisted fault injection detection
TW201928677A (zh) 處理故障注入攻擊的安全系統和方法
CN102422299A (zh) 信息设备、程序、防止执行不正当程序代码的方法、及计算机能够读取的记录介质
US10395033B2 (en) System, apparatus and method for performing on-demand binary analysis for detecting code reuse attacks
TW200837628A (en) Hardware flow control monitor
US20080016415A1 (en) Evaluation system and method
CN1173264C (zh) 保护计算机的核心免受外部窜改的方法
US7330979B1 (en) Method for protecting the processing of sensitive information in a monolithic security module, and associate security module
TW200405162A (en) Data processing apparatus
CN104657685B (zh) 保护非易失性存储器中存储的程序代码的装置
CN104504336B (zh) 防止嵌入式系统被恶意在线调试的方法和装置
CN107851018A (zh) 数据处理
JP7112449B2 (ja) 強制自己認証機能を備えたコンピューターシステム
CN101233495A (zh) 用于在具有快闪程序存储器的微控制器中提供程序断点的机制
CN109739565B (zh) 一种保证Bootrom正常运行的方法、装置、计算机设备及存储介质
US20050182990A1 (en) Data processing apparatus having program counter sensor
JP2018525712A (ja) プロセッサシステムのプログラムカウンタ構造を保護する方法及び装置並びに中断要求の処理を監視する方法及び装置
JP2008305128A (ja) 情報処理装置及び改竄検証方法
US12223321B2 (en) Method of operating a microprocessor, related processing system and computer program product
US8763138B2 (en) Method and device for security loading a memory and an associated memory
JP2006507594A (ja) マイクロコントローラ、及びマイクロコントローラのプログラミングを処理するための割当方法
JP2008310595A5 (zh)
JP2014215979A5 (ja) 情報記憶媒体、icカード、バイトコード実行方法

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees