MCU解密全攻略 為何所有MCU都能被破解(一)
背景知識:
硅芯片安全措施的演變
工業(yè)控制器的硬件安全措施與嵌入式系統(tǒng)同時開始發(fā)展。三十年前的系統(tǒng)是由分離的部件如CPU,ROM,RAM,I/O緩沖器,串口和其他通信與控制接口組成的。如圖1-1所示:
圖1-1 通用的嵌入式控制器。PCB上的每個部件很容易辨別且極易被復制。
在早期,除法律和經(jīng)濟外,幾乎沒有保護措施來防止別人復制這些設(shè)備。例如:ROM是用低成本的掩膜技術(shù)制造的,可用EPROM輕易復制,但后者通常要貴3-10倍或更多,或通過定制掩膜ROM,那就需要很長的時間和很大的投資。另一種是在游戲機中廣泛使用的簡易ASIC,如圖1-2。這些ASIC主要用于I/O部分來取代數(shù)十個邏輯器件,在降低成本的同時防止競爭者的復制,使之不得不應(yīng)用更大且更貴的解決方案。實際上ASIC不會更安全,用示波器來簡單分析信號或窮舉所有可能的引腳組合就可以在數(shù)小時內(nèi)得知它的具體功能。
圖1-2 游戲機中的專用集成電路(ASIC)
從七十年代后期開始,微控制器提供一種基于CPU的控制板的非常好的取代方法。它們不僅有內(nèi)部存儲器和通用I/O接口,還有一些保護措施以防止未經(jīng)授權(quán)訪問內(nèi)部存儲器的內(nèi)容。
不幸的是,早期的MCU沒有提供非易失存儲能力,重要的數(shù)據(jù)不得不存在MCU外部的分離芯片上,因此很容易被讀出數(shù)據(jù)。最近銷售的一些廉價USB狗也用此法來進行軟件保護,如圖1-3所示。
圖1-3 Aladdin HASP4 USB狗
安全領(lǐng)域的下一步進展就是把EEPROM芯片放在與MCU同一封裝的內(nèi)部。如圖1-4。破解這些芯片是不容易的。一種專業(yè)的方法是打開樣品的封裝,用微探針來獲得數(shù)據(jù)?;?qū)⑿酒匦潞冈谝粋€分開的封裝內(nèi)。這兩種設(shè)備都不是低級破解者所能擁有的。這些破解者會嘗試用自制的微探針(舊芯片的焊線區(qū)域是相當大的)或利用軟件上的缺陷來讀出數(shù)據(jù)。
圖1-4 微芯Microchip的PIC12CE518微控制器打開封裝后的照片,可見非易失數(shù)據(jù)存儲器和MCU是分開封在同一封裝內(nèi)部的。
(譯者注:近來的堆疊芯片,如手機中用的Flash+SRAM的combo存儲器,結(jié)構(gòu)與之類似,不同的是在垂直方向疊加。破解方法亦類似。結(jié)構(gòu)見圖1-5。)
評論