單片機芯片解密的一般過(guò)程
芯片上面的塑料可以用小刀揭開(kāi),芯片周?chē)沫h(huán)氧樹(shù)脂可以用濃硝酸腐蝕掉。熱的濃硝酸會(huì )溶解掉芯片封裝而不會(huì )影響芯片及連線(xiàn)。該過(guò)程一般在非常干燥的條件下進(jìn)行,因為水的存在可能會(huì )侵蝕已暴露的鋁線(xiàn)連接 (這就可能造成解密失?。?。
接著(zhù)在超聲池里先用丙酮清洗該芯片以除去殘余硝酸,然后用清水清洗以除去鹽分并干燥。沒(méi)有超聲池,一般就跳過(guò)這一步。這種情況下,芯片表面會(huì )有點(diǎn)臟,但是不太影響紫外光對芯片的操作效果。
最后一步是尋找保護熔絲的位置并將保護熔絲暴露在紫外光下。一般用一臺放大倍數至少100倍的顯微鏡,從編程電壓輸入腳的連線(xiàn)跟蹤進(jìn)去,來(lái)尋找保護熔絲。若沒(méi)有顯微鏡,則采用將芯片的不同部分暴露到紫外光下并觀(guān)察結果的方式進(jìn)行簡(jiǎn)單的搜索。操作時(shí)應用不透明的紙片覆蓋芯片以保護程序存儲器不被紫外光擦除。將保護熔絲暴露在紫外光下5~10分鐘就能破壞掉保護位的保護作用,之后,使用簡(jiǎn)單的編程器就可直接讀出程序存儲器的內容。
對于使用了防護層來(lái)保護EEPROM單元的單片機來(lái)說(shuō),使用紫外光復位保護電路是不可行的。對于這種類(lèi)型的單片機,一般使用微探針技術(shù)來(lái)讀取存儲器內容。在芯片封裝打開(kāi)后,將芯片置于顯微鏡下就能夠很容易的找到從存儲器連到電路其它部分的數據總線(xiàn)。由于某種原因,芯片鎖定位在編程模式下并不鎖定對存儲器的訪(fǎng)問(wèn)。利用這一缺陷將探針?lè )旁跀祿€(xiàn)的上面就能讀到所有想要的數據。在編程模式下,重啟讀過(guò)程并連接探針到另外的數據線(xiàn)上就可以讀出程序和數據存儲器中的所有信息。
還有一種可能的攻擊手段是借助顯微鏡和激光切割機等設備來(lái)尋找保護熔絲,從而尋查和這部分電路相聯(lián)系的所有信號線(xiàn)。由于設計有缺陷,因此,只要切斷從保護熔絲到其它電路的某一根信號線(xiàn)(或切割掉整個(gè)加密電路)或連接1~3根金線(xiàn)(通常稱(chēng)FIB:focused ion beam),就能禁止整個(gè)保護功能,這樣,使用簡(jiǎn)單的 編程器就能直接讀出程序存儲器的內容.雖然大多數普通單片機都具有熔絲燒斷保護單片機內代碼的功能,但由于通用低檔的單片機并非定位于制作安全類(lèi)產(chǎn)品,因此,它們往往沒(méi)有提供有針對性的防范措施且安全級別較低。加上單片機應用場(chǎng)合廣泛,銷(xiāo)售量大,廠(chǎng)商間委托加工與技術(shù)轉讓頻繁,大量技術(shù)資料外瀉,使得利用該類(lèi)芯片的設計漏洞和廠(chǎng)商的測試接口,并通過(guò)修改熔絲保護位等侵入型攻擊或非侵入型攻擊手段來(lái)讀取單片機的內部程序變得比較容易。
評論