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