mcu的安全等級正在逐步提公升,一些公司甚至推出了安全主控,這是很好的現象,說明大家越來越重視嵌入式領域的資訊保安和程式安全了。但對於很多特殊行業,比如消費類電子產品,低成本的通訊模組、電源控制模組等等,迫於成本壓力以及更新換代速度問題,都無法使用更安全的主控mcu,有很大一部分產品甚至還在使用51微控制器,大家可能都知道破解51微控制器是很容易的,但為什麼容易,又是如何來破解的,可能很多人就不大清楚了,我在這裡結合網上一些前輩整理的資料,和自己的經驗,對mcu破解技術做個簡單分析。
大家不要把解密想的很複雜,他不像研發一款產品那樣,先確定客戶需求或者新產品主要功能,然後立項確定技術指標,分配軟硬體開發任務,基於硬體除錯程式,然後驗證功能,測試bug,還要做環境試驗。行業裡解密的方法有很多,每個人破解的思路也不一樣。但是大致分為幾種。
第一種:
利用軟體破解目標微控制器的方法,利用這種方法,不會對目標mcu元器件造成物理損傷。主要是對winbongd,syncmos微控制器和gal門陣列,這種利用軟體解密裝置,按照一定的步驟操作,執行片內的程式送到片外的指令,然後用解密的裝置進行截獲,這樣晶元內部的程式就被解密完成了(gal採用邏輯猜測),就可以得到加密微控制器中的程式。
第二種:硬體破解法,流程如下:
1、測試
使用高檔程式設計器等裝置測試晶元是否正常,並把配置字儲存。
開蓋之後的效果如圖1所示。
圖1. 開蓋處理
3、做電路修改
對不同晶元,提供對應的圖紙,讓廠家做電路修改,目的是讓mcu的儲存區變得可讀。有些mcu預設不允許讀出flash或者e2prom中的資料,因為有硬體電路做保護,而一旦切斷加密連線,程式就暴露可讀了。如圖2所示
圖2. 修改加密電路
(切割掉加密熔絲,這樣就可以直接讀出晶元內部程式)
4、讀程式
取回修改過的mcu,直接用程式設計器讀出程式,可以是hex檔案,或者bin檔案。
5、燒寫樣片給客戶
按照讀出的程式和配置,燒寫到目標mcu中,這樣就完成了mcu的破解。 至此,硬體破解法成功完成。
第三種:
採用軟體和硬體結合的方法,需要對晶元的內部結構非常的熟悉。
另外還有其他一些破解技術,例如電子探測攻擊、過錯產生技術等等,但是最終目的只有乙個,就是能夠模仿出目標mcu的功能就可以了。
看到這裡大家應該明白乙個道理,破解mcu並不能做到把mcu中的程式原封不動的還原出來。目前的技術也做不到,至少國內應該做不到。針對以上情況,加密晶元應運而生,初期確實能很好的保護mcu的安全,但很快就被找到了漏洞。
我舉個實際破解的例子分析一下,大家就能夠明白了。
加密原理:
mcu和加密晶元各儲存一條認證秘鑰,儲存同樣的加密演算法;
mcu產生隨機數發給加密晶元,後者用秘鑰加密後將密文返回,此時mcu解密後,比對明文是否和生成的隨機數相等。如果相等,程式正常執行;如果不相等,出錯處理。
因為盜版商沒有這條秘鑰,加密晶元與mcu互動的資料又是隨機變化的,無法找到規律,所以只能把加密晶元的程式破解了,再複製一片加密晶元才能讓mcu的程式跑起來。而加密晶元不同於通用mcu,它內部有很多安全機制,破解難度非常大。
這種加密方案看似非常安全,但其實還是有漏洞的。
破解方法:
1、首先按照第二種破解方法,獲取到mcu的hex檔案。此處省略n步,不再複述。
2、使用軟體進行hex反編譯,反編譯軟體目前有很多。
中,破解工作就完成了。此時即使沒有加密晶元,mcu也能正常執行了。
圖3. 遮蔽對比點
其實原因很簡單。mcu是要對加密晶元的返回值進行判斷的,那麼不讓他做判斷,這樣一來不管加密晶元返回值是什麼,程式都能正常執行。
因此這種加密方案很快就被破解了。當然也不是這麼絕對,因為有些mcu即使剖片也不能獲得裡面的hex或者bin檔案,所以這種破解方案也要看mcu的安全等級夠不夠高。但是足以說明乙個問題,這種通過對比加密結果來實現加密的方案,安全等級還是不夠高,還是有破解漏洞的。
因為篇幅有限,本期只做解密技術的簡單介紹。所謂知己知彼,百戰百勝,唯有了解了破解技術,才能更有效的做加密防護。下一期,我們會針對常見破解技術,重點講解我曾經用過的國內一家公司的加密晶元產品是如何做到加密防護的。
windows密碼破解(雜湊破解技術)
1.我們用於登入的windows密碼,在windows系統中會進行加密。一般密碼加密檔案儲存在c盤的windows system32 config目錄下,檔名是sam檔案。在system目錄下有兩個非常重要的檔案 a.sam檔案 儲存著windows密碼,使用lm或者nt演算法加密成明文雜湊,再由s...
DirectUI技術分析(一)
依據duilib開源專案,對directui技術做乙個介紹,本人技術有限,輕點拍磚。先給duilib做個介紹 國內首個開源 的directui 介面庫,開放,共享,惠眾,共贏,遵循bsd協議,可以免費用於商業專案,目前支援windows 32 window ce mobile等平台。duilib 是...
Android root 破解原理分析
現在android系統的root破解基本上成為大家的必備技能!網上也有很多中一鍵破解的軟體,使root破解越來越容易。但是你思考過root破解的 原理嗎?root破解的本質是什麼呢?難道是利用了linux kernal的漏洞嗎?本文將簡單對root的破解原理進行分析。網上有一篇文章已經對root破解...