常見(jiàn)的IC芯片解密方法與原理解析!
其實(shí)了解芯片解密方法之前先要知道什么是芯片解密,網(wǎng)絡(luò )上對芯片解密的定義很多,其實(shí)芯片解密就是通過(guò)半導體反向開(kāi)發(fā)技術(shù)手段,將已加密的芯片變?yōu)椴患用艿男酒?,進(jìn)而使用編程器讀取程序出來(lái)。
本文引用地址:http://dyxdggzs.com/article/201702/344370.htm芯片解密所要具備的條件是:
第一、你有一定的知識,懂得如何將一個(gè)已加密的芯片變?yōu)椴患用堋?/p>
第二、必須有讀取程序的工具,可能有人就會(huì )說(shuō),無(wú)非就是一個(gè)編程器。是的,就是一個(gè)編程器,但并非所有的編程器是具備可以讀的功能。這也是就為什么我們有時(shí)候為了解密一個(gè)芯片而會(huì )去開(kāi)發(fā)一個(gè)可讀編程器的原因。具備有一個(gè)可讀的編程器,那我們就講講,芯片解密常有的一些方法。

1、軟件攻擊:
該技術(shù)通常使用處理器通信接口并利用協(xié)議、加密算法或這些算法中的安全漏洞來(lái)進(jìn)行攻擊。軟件攻擊取得成功的一個(gè)典型事例是對早期A(yíng)TMELAT89C系列單片機的攻擊。攻擊者利用了該系列單片機擦除操作時(shí)序設計上的漏洞,使用自編程序在擦除加密鎖定位后,停止下一步擦除片內程序存儲器數據的操作,從而使加過(guò)密的單片機變成沒(méi)加密的單片機,然后利用編程器讀出片內程序。
至于在其他加密方法的基礎上,可以研究出一些設備,配合一定的軟件,來(lái)做軟件攻擊。近期國內出現了一種凱基迪科技51芯片解密設備(成都一位高手搞出來(lái)的),這種解密器主要針對SyncMos.Winbond,在生產(chǎn)工藝上的漏洞,利用某些編程器定位插字節,通過(guò)一定的方法查找芯片中是否有連續空位,也就是說(shuō)查找芯片中連續的FFFF字節,插入的字節能夠執行把片內的程序送到片外的指令,然后用解密的設備進(jìn)行截獲,這樣芯片內部的程序就被解密完成了。
2、電子探測攻擊 :
該技術(shù)通常以高時(shí)間分辨率來(lái)監控處理器在正常操作時(shí)所有電源和接口連接的模擬特性,并通過(guò)監控它的電磁輻射特性來(lái)實(shí)施攻擊。因為單片機是一個(gè)活動(dòng)的電子器件,當它執行不同的指令時(shí),對應的電源功率消耗也相應變化。這樣通過(guò)使用特殊的電子測量?jì)x器和數學(xué)統計方法分析和檢測這些變化,即可獲取單片機中的特定關(guān)鍵信息。 至于RF編程器可以直接讀出老的型號的加密MCU中的程序,就是采用這個(gè)原理。
3、過(guò)錯產(chǎn)生技術(shù):
該技術(shù)使用異常工作條件來(lái)使處理器出錯,然后提供額外的訪(fǎng)問(wèn)來(lái)進(jìn)行攻擊。使用最廣泛的過(guò)錯產(chǎn)生攻擊手段包括電壓沖擊和時(shí)鐘沖擊。低電壓和高電壓攻擊可用來(lái)禁止保護電路工作或強制處理器執行錯誤操作。時(shí)鐘瞬態(tài)跳變也許會(huì )復位保護電路而不會(huì )破壞受保護信息。電源和時(shí)鐘瞬態(tài)跳變可以在某些處理器中影響單條指令的解碼和執行。
4、探針技術(shù):
該技術(shù)是直接暴露芯片內部連線(xiàn),然后觀(guān)察、操控、干擾單片機以達到攻擊目的。
5、紫外線(xiàn)攻擊方法:
紫外線(xiàn)攻擊也稱(chēng)為UV攻擊方法,就是利用紫外線(xiàn)照射芯片,讓加密的芯片變成了不加密的芯片,然后用編程器直接讀出程序。這種方法適合OTP的芯片,做單片機的工程師都知道OTP的芯片只能用紫外線(xiàn)才可以擦除。那么要擦出加密也是需要用到紫外線(xiàn)。目前臺灣生產(chǎn)的大部分OTP芯片都是可以使用這種方法解密的,感興趣的可以試驗或到去下載一些技術(shù)資料。OTP芯片的封裝有陶瓷封裝的一半會(huì )有石英窗口,這種事可以直接用紫外線(xiàn)照射的,如果是用塑料封裝的,就需要先將芯片開(kāi)蓋,將晶圓暴露以后才可以采用紫外光照射。由于這種芯片的加密性比較差,解密基本不需要任何成本,所以市場(chǎng)上這種芯片解密的價(jià)格非常便宜,比如SONIX的SN8P2511解密,飛凌單片機解密等價(jià)格就非常便宜。
6、利用芯片漏洞:
很多芯片在設計的時(shí)候有加密的漏洞,這類(lèi)芯片就可以利用漏洞來(lái)攻擊芯片讀出存儲器里的代碼,比如我們以前的文章里提到的利用芯片代碼的漏洞,如果能找到聯(lián)系的FF這樣的代碼就可以插入字節,來(lái)達到解密。還有的是搜索代碼里是否含有某個(gè)特殊的字節,如果有這樣的字節,就可以利用這個(gè)字節來(lái)將程序導出。這類(lèi)芯片解密以華邦、新茂的單片為例的比較多,如W78E516解密,N79E825解密等,ATMEL的51系列的AT89C51解密是利用代碼的字節漏洞來(lái)解密的。另外有的芯片具有明顯的漏洞的,比如在加密后某個(gè)管腳再加電信號的時(shí)候,會(huì )使加密的芯片變成不加密的芯片,由于涉及到國內某家單片機廠(chǎng)家,名稱(chēng)就不列出來(lái)了。目前市場(chǎng)上能看到的芯片解密器都是利用芯片或程序的漏洞來(lái)實(shí)現解密的。不過(guò)外面能買(mǎi)到的解密其基本上是能解得型號很少,因為一般解密公司都不會(huì )將核心的東西對外公布或轉讓。而解密公司自己內部為了解密的方便,自己會(huì )使用自制的解密工具,如果致芯科技具有可以解密MS9S09AW32的解密器、能專(zhuān)門(mén)解密LPC2119LPC2368等ARM的解密器,使用這樣的解密器解密速度快,客戶(hù)到公司基本上立等可取。
7、FIB恢復加密熔絲方法:
這種方法適用于很多的具有熔絲加密的芯片,最具有代表性的芯片就是TI的MSP430解密的方法,因為MSP430加密的時(shí)候要燒熔絲,那么只要能將熔絲恢復上,那就變成了不加密的芯片了,如MSP430F1101A解密、MSP430F149解密、MSP430F425解密等。一般解密公司利用探針來(lái)實(shí)現,將熔絲位連上,也有的人因為自己沒(méi)有太多的解密設備,需要交由其它半導體線(xiàn)路修改的公司來(lái)修改線(xiàn)路,一般可以使用FIB(聚焦離子束)設備來(lái)將線(xiàn)路連接上,或是用專(zhuān)用的激光修改的設備將線(xiàn)路恢復。這些設備目前在國內的二手設備很多,也價(jià)格很便宜,一些有實(shí)力的解密公司都配置了自己的設備。這種方法由于需要設備和耗材,不是好的方法,但是很多芯片如果沒(méi)有更好的方法的時(shí)候,就需要這種方法來(lái)實(shí)現。
8、修改加密線(xiàn)路的方法:
目前市場(chǎng)上的CPLD以及DSP芯片設計復雜,加密性能要高,采用上述方法是很難做到解密的,那么就需要對芯片結構作前面的分析,然后找到加密電路,然后利用芯片線(xiàn)路修改的設備將芯片的線(xiàn)路做一些修改,讓加密電路失效,讓加密的DSP或CPLD變成了不加密的芯片從而可以讀出代碼。如TMS320LF2407A解密,TMS320F28335解密、TMS320F2812解密就是采用這種方法。
評論