色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

MCU的防破解技術詳解!

MCU開發加油站 ? 來源:未知 ? 作者:李建兵 ? 2018-03-15 13:44 ? 次閱讀

要破解MCU,學校里不會有人講這個,大概很多老師們也不會。為什么要破解,為了興趣?研究?掙錢?還可能是太無聊了。不管怎樣,學習下MCU的防破解技術,就像了解你家的門鎖一樣有價值。

本文雖然來自于一篇老帖子,但是內容卻并不過時,下面就開始正傳。

微控制器硬件安全措施與嵌入式系統同時開始發展。三十年前的系統是由分離的部件如CPU,ROM,RAM,I/O緩沖器,串口和其他通信與控制接口組成的。

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

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

不幸的是,早期的MCU沒有提供非易失存儲能力,重要的數據不得不存在MCU外部的分離芯片上,因此很容易被讀出數據。一些廉價USB狗也用此法來進行軟件保護。

圖1:Aladdin HASP4 USB狗

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

圖2:PIC12CE518微控制器打開封裝后的照片,可見非易失數據存儲器和MCU是分開封在同一封裝內部的。

圖3:某型32位MCU打開封裝后的SEM圖

一些MCU始終沒有任何特殊的硬件安全保護。它們僅僅是基于不公開編程算法來保護。這可能有偽裝回讀功能,或用校驗功能來代替。一般這些MCU不會提供非常好的保護能力。實際上,在一些智能卡中,適當使用校驗功能能夠起到很強的保護作用。

下一步增強安全保護的措施就是增加一個硬件安全熔絲(security fuse——安全熔絲就是寄存器)來禁止訪問數據。這很容易做到,不需要完全重新設計MCU架構,僅利用熔絲來控制編程接口的回讀功能。缺點是熔絲位很容易被定位并進行入侵攻擊。例如:熔絲的狀態可以通過直接把熔絲位的輸出連到電源或地線上來進行修改。有些例子中僅僅用激光或聚焦離子束來切斷熔絲的感應電路就可以了。用非侵入式攻擊也一樣可以成功。

因為一個分離的熔絲版圖異于正常的存儲陣列。可以用組合外部信號來使熔絲位處與不能被正確讀出的狀態,那樣就可以訪問存在內部芯片上的信息了。用半侵入式攻擊可以使破解者快速取得成功但需要打開芯片的封裝來接近晶粒。一個眾所周知的方法就是用紫外線來擦掉安全熔絲。

圖4:PIC12C508微控制器的安全熔絲位于程序存儲器陣列的外部。

再下一步就是將安全熔絲做成存儲器陣列的一部分,如果已設好熔絲,可禁止外部讀寫數據。一般的熔絲與主存儲器離得很近,或干脆與主存儲器共享一些控制線。因為晶圓廠使用與主存儲器相同的工藝來制造,熔絲很難被定位和復位。非侵入式攻擊仍然可用,但需要時間去尋找。同樣,半侵入式攻擊也可用。當然破解者需要更多的時間去尋找安全熔絲或控制電路負責安全監視的部分,但這些可以自動完成的。進行侵入式攻擊將是很困難的,需要手工操作,那將花費更多的成本來破解。

圖5:MC68HC705C9A微控制器在200倍顯微鏡下可見安全熔絲是存儲器讀寫控制邏輯的一部分

更進一步的是用主存儲器的一部分來控制外部對數據的訪問。這可以用上電時鎖定特定區域地址的信息,將它作為安全熔絲。或用密碼來控制對存儲器的訪問。例如德儀的MSP430F112,只有輸入正確的32字節密碼后才能進行回讀操作。如果沒輸入密碼,只有擦掉芯片后才能操作。盡管這個保護方法看上去比先前的更有效,它有一些缺點可以用低成本的非侵入式攻擊如時序分析和功耗分析來破解。如果安全熔絲的狀態是上電或復位后的存儲器的一部分,這就給破解者用電源噪聲來破解的機會,強制電路進入存儲器中的錯誤狀態。

圖6:PIC16F648A偽頂層金屬層圖案使得對芯片進行微探測攻擊更困難,200倍放大

別的一些使入侵攻擊開銷更多的措施包括使用頂層金屬網格。所有的網格都用來監控短路和開路,一旦觸發,會導致存儲器復位或清零。普通的MCU不會使用這種保護方法,因為設計較難,且在異常運行條件下也會觸發,如:高強度電磁場噪聲,低溫或高溫,異常的時鐘信號或供電不良。故有些普通的MCU使用更廉價的偽頂層金屬網格,但這也有非常高效的光學分析進行微探測攻擊的方法。在智能卡中,電源和地之間鋪了一些這樣的網格線。在這些方法中發現一些設計缺陷使得可以進行微探測攻擊。同樣,這些網格不能保護非侵入式攻擊。因為導線之間有電容,并且光線可以通過導線抵達電路的有效區域,半侵入式攻擊仍然可能。

可編程的智能卡制造商走得更遠,干脆砍掉標準的編程接口。取而代之的是啟動模塊,可以在代碼載入后擦掉或屏蔽掉自己。這些卡只能在初始化時被編程一次,之后只能響應使用者的嵌入軟件所支持的讀寫存在卡里的數據或程序。

圖7:ST16系列智能卡芯片表面金屬層的敏感網格

近期的一些智能卡使用存儲器總線編碼(Bus encryption)技術來防止微探測攻擊。即使破解者獲得數據總線的數據也不可能知道密碼或別的敏感信息。這種保護措施直指侵入式和半侵入式攻擊。但非侵入式攻擊仍然可以像正常的CPU一樣訪問控制非編碼信息。事實上,幾年前就發現廉價地破解編碼信息的方法。

圖8:100倍顯微鏡下的SLE66系列的智能卡芯片上的硬件總線編碼模塊,保護存儲器免受微探測攻擊。

另外一些需要提及的改進是將標準的模塊結構如解碼器,寄存器文件,ALU和I/O電路用類似ASIC邏輯來設計。這些設計稱為混合邏輯(Glue logic),廣泛用于智能卡?;旌线壿嬍沟脤嶋H上不可能通過手工尋找信號或節點來獲得卡的信息進行物理攻擊。這種技術廣泛用于盜版,并可提升常見CPU內核的性能和安全性。例如,SX28微控制器的引腳和程序都兼容于微芯的PIC16C57,但它使用了混合邏輯設計,閃存,大容量RAM使它的性能獲得大幅提升。在PIC微控制器中,破解者很容易跟蹤內存到CPU的數據總線,但在SX微控制器中,幾乎不可能知道總線的物理位置,反向工程和微探測攻擊將是非常困難且耗費時間。

圖9:SX28微控制器引入混合邏輯設計,提升了性能和安全性。

更常用的是芯片由不同模塊組成,但每個模塊使用混合邏輯設計。如CY7C63001A微控制器。在這種情況下,破解者更容易跟蹤模塊之間的總線和控制線,并對芯片進行侵入式和半侵入式攻擊。混合邏輯設計不能防止非侵入式攻擊,但需要更快更昂貴的設備。半侵入式攻擊面臨偽設計模塊的問題。當然破解者可以自動操作來進行窮舉搜索并嘗試攻擊所有可能區域。結果很可能是花了很長時間并沒有取得成功。另一方面,破解者可以直接攻擊存儲器器或它的控制電路。

圖10:的CY7C63001A微控制器使用部分混合邏輯設計,但內部總線很容易被訪問。

技術的進步增加了入侵攻擊的成本。十年前很容易使用激光切割器和簡單的探針臺就可以讀寫芯片表面的任何點,但對于現代的深亞微米半導體芯片就需要用到不一般的且昂貴的技術,這難倒了很多潛在的破解者。如PIC16F877很容易在顯微鏡下觀察并進行反向工程,藏在頂層金屬下的第二層金屬和多晶硅層仍然可見。但在PIC16F887A微控制器中使用了平坦化工藝,使得不會顯示更深的層。唯一的方法是用物理或化學的方法除去頂層金屬。

圖11:500倍顯微鏡下,通過PIC16F877的頂層看到第二層金屬和多晶硅層。

圖12:500倍顯微鏡下,看不到PIC16F877A的頂層金屬下有什么特別的。

安全保護的類型

通過編程接口對片上存儲器進行寫,校驗,讀和擦除操作,這可以用硬件(JTAG)或軟件(bootloader)來實現。在硬件接口方面,安全保護通常是使用安全熔絲來控制接口的操作,如,阻止存儲器中的數據發送到輸出緩沖器里。至于軟件接口,一般使用密碼保護,但通常軟件會檢測某個硬件安全熔絲的狀態。一些微控制器使用了這兩種方法,軟件啟動載入模塊控制系統的編程,另一個快速的硬件接口用來大批量生產的編程。每一種都有它的優勢和劣勢。通過軟件,有更好的靈活性和更好的編程控制能力,但會在時間延遲和功耗方面泄漏一些信息。硬件的執行速度更快,對噪聲攻擊不敏感,不會通過功耗泄漏信息。在硅芯片的資源上,兩者都占用類似大小的空間,對于現代的微控制器,與其它較大的部分如程序存儲器,處理器模擬接口相比,這部分幾乎可以忽略不計。制造商就可以在同一個芯片上放置兩種或更多的編程接口。如通過異步接口進行在線串行編程,標準的并行編程,軟件啟動模塊通過異步接口編程。

一些制造商故意不提供它們的微控制器的編程規格。這對它本身并沒有提供很好的保護,只是給破解稍稍增加成本而已。這些信息可以通過在開發板上或通用編程器對芯片進行編程而獲得。

很明顯,對于最高等級的安全,系統沒有任何編程接口,并且不能讀寫所存儲的數據。這通常用于掩模ROM微控制器和智能卡。對這種保護,實用破解方法是用微探針接觸數據總線來恢復信息或使用功耗分析和噪聲攻擊來利用軟件的缺陷。當微控制器進行編程但不提供任何返回信息,只有校驗和寫檢查,這可以提供相對高的安全等級。當然,這需要完全執行以避免破解者強制系統一次只校驗一個字節。

大部分現代的微控制器有一個或多個安全熔絲來控制片上存儲器的讀寫。這些熔絲可以用軟件或硬件來實現。軟件的方法就是密碼存儲在存儲器中或一個特定的存儲器位置當作一個安全熔絲。例如,在MC68HC908系列,使用了密碼保護。

MC68HC705B系列的熔絲位于數據EEPROM存儲器的第一個字節。兩種方法的安全性都較高,因為很難從物理上找到熔絲和密碼的位置并復位它們。同時,破解者會嘗試使用噪聲攻擊來跳過安全檢查,或使用功耗分析來觀察猜測的密碼正確與否。

硬件執行方面,安全熔絲物理上位于芯片上。這可以是主存儲器陣列邊上的分離的單個單元,甚至更遠。所有的PIC和AVR微控制器都這樣。這兩者的安全性能并不高,熔絲很容易被找到并被屏蔽。

安全熔絲在主存儲器中可以提供提供更好的保護,這很難找到并屏蔽它們。主存儲器和熔絲可以通過位線(Bit line)接在一起。如Z86E33微控制器,或通過字線(Word line)接在一起,如意法的ST62T60。有趣的是MC68HC705C9A使用了多種安全措施。熔絲單元放在主存儲器單元之間,合用位線。如果熔絲被紫外線擦除了,主存儲器也會被擦掉。對存儲器進行反向工程,發現很難分辨哪部分屬于存儲器,哪部分屬于熔絲。但同時,半侵入式攻擊可以很好工作,因為熔絲有分開的控制電路,這很容易被破解而不影響主存儲器。

圖13:200倍顯微鏡下,Z86E33微控制器的熔絲沿位線緊挨著主存儲器

圖14:200倍顯微鏡下,ST62T60微控制器的熔絲沿字線緊挨著主存儲器

硬件安全保護方面的新進展是將熔絲區域嵌入到主存儲器陣列中,共享控制或數據線,這樣的安全性能更好,熔絲已經成為存儲器的一部分,很難進行定位。將某一部分存儲器作為安全熔絲可以達到更高的安全性能。這種情況下,不擾亂其它部分存儲器的內容,找到位置并復位是異常困難的。這并不意味著別的破解方法不能湊效。但可以減少成功的機會。

安全熔絲可以通過多種方法來監控。最簡單的方法就是在上電時;復位時;進入編程模式時檢查熔絲的狀態。使用電源噪聲或激光脈沖,可以用很短的時間就改變熔絲地狀態。熔絲狀態保存在觸發器或寄存器中并不好,因為觸發器的狀態可以通過缺陷注入攻擊來改變。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • mcu
    mcu
    +關注

    關注

    146

    文章

    17134

    瀏覽量

    351017
  • 破解
    +關注

    關注

    2

    文章

    23

    瀏覽量

    14257

原文標題:怎樣防住那些想破解MCU的人

文章出處:【微信號:mcugeek,微信公眾號:MCU開發加油站】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    KW36 MCU HardFault問題查找和破解方法

    KW36 MCU HardFault問題查找和破解方法
    的頭像 發表于 10-31 16:57 ?1022次閱讀
    KW36 <b class='flag-5'>MCU</b> HardFault問題查找和<b class='flag-5'>破解</b>方法

    安芯一號——國內首款程序防護型MCU破解單片機

    的熱捧?!鞍残疽惶枴睘楫a品芯片內置程序代碼提供了強有力的保護,為知識產權保護提供了全新技術支持。破解手段:SLH系列單片機擁有多種破解
    發表于 09-13 17:42

    參加活動要首先了解破解技術破解技術?

    參加活動要首先了解破解技術破解技術?
    發表于 10-26 08:47

    轉:淺談MCU破解技術

    MCU中,這樣就完成了MCU破解。 至此,硬件破解法成功完成。第三種:采用軟件和硬件結合的方法,需要對芯片的內部結構非常的熟悉。另外還有其他一些
    發表于 08-23 10:14

    有什么抄板方式破解

    `想問下,目前有什么好的抄板的方式了嗎?新產品馬上要出來了,很擔心被破解,怎樣保護呢?`
    發表于 09-30 10:07

    請問破解MCU技術的方法有哪幾種?

    就不大清楚了,我在這里結合網上一些前輩整理的資料和自己的經驗,對MCU破解技術做個簡單分析。  大家不要把解密想的很復雜,他不像研發一款產品那樣,先確定客戶需求或者新產品主要功能,然后立項確定
    發表于 11-25 06:12

    MCU破解技術分析

    MCU破解技術分析
    發表于 02-03 07:17

    MCU破解技術看了就知道

    簡單分析MCU破解技術
    發表于 03-04 08:42

    技術基礎知識名詞詳解大全

    技術基礎知識名詞詳解大全 垂直同步、彩色視頻復合信號同步、外同步、直流線鎖定和完
    發表于 12-29 12:19 ?819次閱讀

    PC辦公軟件與網絡疑難破解方法及技巧的分析(1000例詳解

    本文詳細介紹了PC辦公軟件與網絡疑難的破解方法及技巧的1000例詳解。
    發表于 11-26 09:50 ?16次下載
    PC辦公軟件與網絡疑難<b class='flag-5'>破解</b>方法及技巧的分析(1000例<b class='flag-5'>詳解</b>)

    MCU破解技術做個簡單分析

    大家可能都知道破解51單片機是很容易的,但為什么容易,又是如何來破解的,可能很多人就不大清楚了,我在這里結合網上一些前輩整理的資料,和自己的經驗,對MCU破解
    的頭像 發表于 12-26 09:16 ?6285次閱讀

    簡單的MCU加密方法,破解、抄襲、山寨

    前言目前MCU程序破解非常容易,最簡單粗暴的方法就是直接將MCU內部flash整塊copy走,再copy下你的硬件和結構,這樣很快就能山寨出你的產品。這樣很不尊重你的勞動成果,為了保護開發者的權益
    發表于 11-05 19:21 ?16次下載
    簡單的<b class='flag-5'>MCU</b>加密方法,<b class='flag-5'>防</b><b class='flag-5'>破解</b>、<b class='flag-5'>防</b>抄襲、<b class='flag-5'>防</b>山寨

    MCU破解技術簡單分析

    利用軟件破解目標單片機的方法,利用這種方法,不會對目標MCU元器件造成物理損傷。主要是對WINBONGD,SYNCMOS單片機和GAL門陣列,這種利用軟件解密設備,按照一定的步驟操作,執行片內的程序送到片外的指令
    的頭像 發表于 07-05 09:39 ?1285次閱讀

    STM32 ID加密,破解讀id最關鍵的注意點

    STM32 ID加密破解讀id最關鍵的注意點
    的頭像 發表于 08-20 09:35 ?7087次閱讀
    STM32 ID加密,<b class='flag-5'>防</b><b class='flag-5'>破解</b>讀id最關鍵的注意點

    快來看看你的MCU是怎么被破解

    大家可能都知道破解 51 單片機是很容易的,但為什么容易,又是如何來破解的,可能很多人就不大清楚了。其實對于MCU破解從簡單來講,它并不像我們開發項目那樣復雜,有時候一個漏洞被發現,
    發表于 05-16 11:10 ?5622次閱讀
    快來看看你的<b class='flag-5'>MCU</b>是怎么被<b class='flag-5'>破解</b>的
    主站蜘蛛池模板: 手机在线国产视频| 欧美重口绿帽video| 嫩小幼处在线| 甜性涩爱dvd| 在线播放av欧美无码碰| xxxx69美国| 精品国产成a人在线观看| 欧美极限扩肛| 亚洲精品视频在线观看免费| 91青青草原| 国产色欲一区二区精品久久呦| 久久免费看少妇高潮A片2012| 日韩一区二区三区精品| 2019午夜福合集不打码| 国产人成高清在线视频99| 欧美成人无码视频午夜福利| 亚洲欧美日韩综合影院| 多肉np一女多男高h爽文现代| 久久久精品3d动漫一区二区三区| 日本三级按摩推拿按摩| 99精品电影| 久久受www免费人成_看片中文| 亚洲AV香蕉一区区二区三区蜜桃| 成年人国产视频| 欧美日韩看看2015永久免费| 野花韩国高清完整版在线| 国产成在线观看免费视频| 欧美一区二区三区男同| 16女下面流水不遮图免费观看| 精品国产国产精2020久久日| 我的家庭女教师| 国产精品v片在线观看不卡| 青青青青草原国产免费| adc我们的永久网址| 蜜臀AV精品久久无码99| 纵欲(高H)| 美女激清床上戏大全| 2019夜夜| 名女躁b久久天天躁| 992交通广播| 男人插曲女人的视频|