簡介
現在市面上的51核心單片機絕大部分出自Atmel。Atmel在獲得51核心後,開發了內嵌Flash存儲器的AT89S系列單片機,是標準的51核心,靠廉價和良好的市場推廣在國內獲得了大量市場。Atmel還有精簡指令集的AVR系列單片機,是目前運行速度最快的8位單片機。Atmel晶片解密是由當時國內最初組建的反向工程技術研究團隊龍人PCB工作室致力研究的,技術上已經沉澱了夯實的基礎。
類別
Atmel一共有三個系列的單片機AT89、AT90、AT91。
AT89是以51核心為標準的單片機。它是改進型的51單片機。比如說標準的8051單片機沒有20pin封裝的晶片。但是AT89C2051、AT89C4051都是20pin封裝的單片機。它主要是把原51單片機的P0口和P2口省略了,然後再改進了一些功能。AT89有許多型號。比如AT89C51、AT89S51、AT89C52、AT89S52、AT89S8252(後面幾款其實是8052單片機,但是和8051的指令系統兼容的,只是增加了一些功能而已,也可以認為是51系列的單片機)。對於AT89系列單片機都是FLASH型單片機,燒錄次數至少在1000次以上(數據手冊提供,實際估計要在4000以上了)只要晶片上帶有“s”字樣的單片機都可以支持ISP(線上燒錄)。
AT90系列單片機主要對應的是AVR單片機(這是Atmel的最主要的單片機了)。AVR分成三檔。Attiny系列,AT90系列,ATmega系列,分別對應AVR中的低檔,中檔和高檔單片機。現在有的AT90系列單片機已經轉型給了Attiny系列和ATmega系列了。所有的AVR單片機都支持ISP。而且AVR單片機是一款RISC(精簡指令)型單片機。51單片機是CISC(集中指令)型單片機。AVR單片機的功能遠遠強於51。
AT91系列單片機主要對應的是高端的32位ARM單片機。一般採用ARM7核心,ARM是現在嵌入式系統32位里的主流單片機。
解密方法
①軟體攻擊
該技術通常使用處理器通信接口並利用協定、加密算法或這些算法中的安全漏洞來進行攻擊。目前在其他加密方法的基礎上,可以研究出一些設備,配合一定的軟體,來做軟體攻擊。近期國內出現了了一種51晶片解密設備(成都一位高手搞出來的),這種解密器主要針對SyncMos. Winbond,在生產工藝上的漏洞,利用某些編程器定位插位元組,通過一定的方法查找晶片中是否有連續空位,也就是說查找晶片中連續的FF FF位元組,插入的位元組能夠執行把片內的程式送到片外的指令,然後用解密的設備進行截獲,這樣晶片內部的程式就被解密完成了。
②電子探測攻擊
該技術通常以高時間解析度來監控處理器在正常操作時所有電源和接口連線的模擬特性,並通過監控它的電磁輻射特性來實施攻擊。因為單片機是一個活動的電子器件,當它執行不同的指令時,對應的電源功率消耗也相應變化。這樣通過使用特殊的電子測量儀器和數學統計方法分析和檢測這些變化,即可獲取單片機中的特定關鍵信息。目前RF編程器可以直接讀出老的型號的加密MCU中的程式,就是採用這個原理。
③過錯產生技術
該技術使用異常工作條件來使處理器出錯,然後提供額外的訪問來進行攻擊。使用最廣泛的過錯產生攻擊手段包括電壓衝擊和時鐘衝擊。低電壓和高電壓攻擊可用來禁止保護電路工作或強制處理器執行錯誤操作。時鐘瞬態跳變也許會復位保護電路而不會破壞受保護信息。電源和時鐘瞬態跳變可以在某些處理器中影響單條指令的解碼和執行。
④探針技術
該技術是直接暴露晶片內部連線,然後觀察、操控、干擾單片機以達到攻擊目的。
為了方便起見,人們將以上四種攻擊技術分成兩類,一類是侵入型攻擊(物理攻擊),這類攻擊需要破壞封裝,然後藉助半導體測試設備、顯微鏡和微定位器,在專門的實驗室花上幾小時甚至幾周時間才能完成。所有的微探針技術都屬於侵入型攻擊。另外三種方法屬於非侵入型攻擊,被攻擊的單片機不會被物理損壞。在某些場合非侵入型攻擊是特別危險的,這是因為非侵入型攻擊所需設備通常可以自制和升級,因此非常廉價。
大部分非侵入型攻擊需要攻擊者具備良好的處理器知識和軟體知識。與之相反,侵入型的探針攻擊則不需要太多的初始知識,而且通常可用一整套相似的技術對付寬範圍的產品。因此,對單片機的攻擊往往從侵入型的反向工程開始,積累的經驗有助於開發更加廉價和快速的非侵入型攻擊技術。