歡迎您光臨本站 登入註冊首頁

單片機解密常用方法

admin @ 2014-03-14 , reply:0

概述

 單片機(MCU)一般都有內部ROM/EEPROM/FLASH供用戶存放程序。為了防止未經授權訪問或拷貝單片機的機內程序,大部分單片機都帶有加密鎖定位或者加密位元組,以保護片內程序。如果在編程……

 單片機(MCU)一般都有內部ROM/EEPROM/FLASH供用戶存放程序。為了防止未經授權訪問或拷貝單片機的機內程序,大部分單片機都帶有加密鎖定位或者加密位元組,以保護片內程序。如果在編程時加密鎖定位被使能(鎖定),就無法用普通編程器直接讀取單片機內的程序,這就是所謂單片機加密或者說鎖定功能。事實上,這樣的保護措施很脆弱,很容易被破解。單片機攻擊者藉助專用設備或者自製設備,利用單片機晶元設計上的漏洞或軟體缺陷,通過多種技術手段,就可以從晶元中提取關鍵信息,獲取單片機內程序。因此,作為電子產品的設計工程師非常有必要了解當前單片機攻擊的最新技術,做到知己知彼,心中有數,才能有效防止自己花費大量金錢和時間辛辛苦苦設計出來的產品被人家一夜之間仿冒的事情發生。


      目前,攻擊單片機主要有四種技術,分別是:

一、軟體攻擊

  該技術通常使用處理器通信介面並利用協議、加密演演演演算法或這些演演演演算法中的安全漏洞來進行攻擊。軟體攻擊取得成功的一個典型事例是對早期ATMEL AT89C51 系列單片機的攻擊。攻擊者利用了該系列單片機擦除操作時序設計上的漏洞,使用自編程序在擦除加密鎖定位后,停止下一步擦除片內程序存儲器數據的操作,從而使加過密的單片機變成沒加密的單片機,然後利用編程器讀出片內程序。
目前在其他加密方法的基礎上,可以研究出一些設備,配合一定的軟體,來做軟體攻擊。
近期國內出現了了一種51單片機解密設備,這種解密器主要針對SyncMos.  Winbond,在生產工藝上的漏洞,利用某些編程器定位插位元組,通過一定的方法查找晶元中是否有連續空位,也就是說查找晶元中連續的FF FF位元組,插入的位元組能夠執行把片內的程序送到片外的指令,然後用解密的設備進行截獲,這樣晶元內部的程序就被解密完成了。


二、電子探測攻擊

  該技術通常以高時間解析度來監控處理器在正常操作時所有電源和介面連接的模擬特性,並通過監控它的電磁輻射特性來實施攻擊。因為單片機是一個活動的電子器件,當它執行不同的指令時,對應的電源功率消耗也相應變化。這樣通過使用特殊的電子測量儀器和數學統計方法分析和檢測這些變化,即可獲取單片機中的特定關鍵信息。
目前RF編程器可以直接讀出老的型號的加密MCU中的程序,就是採用這個原理。


三、過錯產生技術

  該技術使用異常工作條件來使處理器出錯,然後提供額外的訪問來進行攻擊。使用最廣泛的過錯產生攻擊手段包括電壓衝擊和時鐘衝擊。低電壓和高電壓攻擊可用來禁止保護電路工作或強制處理器執行錯誤操作。時鐘瞬態跳變也許會複位保護電路而不會破壞受保護信息。電源和時鐘瞬態跳變可以在某些處理器中影響單條指令的解碼和執行。

四、探針技術

  該技術是直接暴露晶元內部連線,然後觀察、操控、干擾單片機以達到攻擊目的。

  為了方便起見,人們將以上四種攻擊技術分成兩類,一類是侵入型攻擊(物理攻擊),這類攻擊需要破壞封裝,然後藉助半導體測試設備、顯微鏡和微定位器,在專門的實驗室花上幾小時甚至幾周時間才能完成。所有的微探針技術都屬於侵入型攻擊。另外三種方法屬於非侵入型攻擊,被攻擊的單片機不會被物理損壞。在某些場合非侵入型攻擊是特別危險的,這是因為非侵入型攻擊所需設備通常可以自制和升級,因此非常廉價。

  大部分非侵入型攻擊需要攻擊者具備良好的處理器知識和軟體知識。與之相反,侵入型的探針攻擊則不需要太多的初始知識,而且通常可用一整套相似的技術對付寬範圍的產品。因此,對單片機的攻擊往往從侵入型的反向工程開始,積累的經驗有助於開發更加廉價和快速的非侵入型攻擊技術。

[admin via 研發互助社區 ] 單片機解密常用方法已經有3457次圍觀

http://cocdig.com/docs/show-post-367.html