<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 模擬技術(shù) > 設(shè)計應(yīng)用 > MCU解密全攻略 為何所有MCU都能被破解(一)

          MCU解密全攻略 為何所有MCU都能被破解(一)

          作者: 時間:2013-05-16 來源:網(wǎng)絡(luò) 收藏
          本文介紹了眾多微處理器和智能卡破解的方法:包括已知的非侵入式攻擊,如功耗分析和噪聲干擾以及侵入式攻擊,如反向工程和微探測分析。并討論了眾多防護技術(shù),包括低成本的隱匿方法到新的集成電路設(shè)計方法.

            背景知識:

            硅芯片安全措施的演變

            工業(yè)控制器的硬件安全措施與嵌入式系統(tǒng)同時開始發(fā)展。三十年前的系統(tǒng)是由分離的部件如CPU,ROM,RAM,I/O緩沖器,串口和其他通信與控制接口組成的。如圖1-1所示:

          MCU解密全攻略 為何所有MCU都能被破解(一)

            圖1-1 通用的嵌入式控制器。PCB上的每個部件很容易辨別且極易被復(fù)制。

            在早期,除法律和經(jīng)濟外,幾乎沒有保護措施來防止別人復(fù)制這些設(shè)備。例如:ROM是用低成本的掩膜技術(shù)制造的,可用EPROM輕易復(fù)制,但后者通常要貴3-10倍或更多,或通過定制掩膜ROM,那就需要很長的時間和很大的投資。另一種是在游戲機中廣泛使用的簡易ASIC,如圖1-2。這些ASIC主要用于I/O部分來取代數(shù)十個邏輯器件,在降低成本的同時防止競爭者的復(fù)制,使之不得不應(yīng)用更大且更貴的解決方案。實際上ASIC不會更安全,用示波器來簡單分析信號或窮舉所有可能的引腳組合就可以在數(shù)小時內(nèi)得知它的具體功能。

          MCU解密全攻略 為何所有MCU都能被破解(一)

            圖1-2 游戲機中的專用集成電路(ASIC)

          從七十年代后期開始,微控制器提供一種基于CPU的控制板的非常好的取代方法。它們不僅有內(nèi)部存儲器和通用I/O接口,還有一些保護措施以防止未經(jīng)授權(quán)訪問內(nèi)部存儲器的內(nèi)容。

            不幸的是,早期的沒有提供非易失存儲能力,重要的數(shù)據(jù)不得不存在外部的分離芯片上,因此很容易被讀出數(shù)據(jù)。最近銷售的一些廉價USB狗也用此法來進行軟件保護,如圖1-3所示。

          MCU解密全攻略 為何所有MCU都能被破解(一)

            圖1-3 Aladdin HASP4 USB狗

            安全領(lǐng)域的下一步進展就是把EEPROM芯片放在與MCU同一封裝的內(nèi)部。如圖1-4。破解這些芯片是不容易的。一種專業(yè)的方法是打開樣品的封裝,用微探針來獲得數(shù)據(jù)?;?qū)⑿酒匦潞冈谝粋€分開的封裝內(nèi)。這兩種設(shè)備都不是低級破解者所能擁有的。這些破解者會嘗試用自制的微探針(舊芯片的焊線區(qū)域是相當(dāng)大的)或利用軟件上的缺陷來讀出數(shù)據(jù)。

          MCU解密全攻略 為何所有MCU都能被破解(一)

            圖1-4 微芯Microchip的PIC12CE518微控制器打開封裝后的照片,可見非易失數(shù)據(jù)存儲器和MCU是分開封在同一封裝內(nèi)部的。

            (譯者注:近來的堆疊芯片,如手機中用的Flash+SRAM的combo存儲器,結(jié)構(gòu)與之類似,不同的是在垂直方向疊加。破解方法亦類似。結(jié)構(gòu)見圖1-5。)



          關(guān)鍵詞: MCU

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();