MCU大佬帶你看世界,如何破解MCU:含糊與時(shí)序的故事
MCU是電子行業(yè)里常使用的器件,對于MCU,工科的朋友并不陌生。往期文章中,小編對MCU進(jìn)行過諸多闡述。為繼續(xù)增進(jìn)大家對MCU的認(rèn)識(shí),本文將為大家介紹,MCU是如何被惡意人示破解的。如果你對MCU具有興趣,不妨繼續(xù)往下閱讀哦。
一、破解手段1:含糊與安全
半導(dǎo)體制造商給大客戶提供了增強(qiáng)產(chǎn)品防破解能力的措施:包裝上的客戶印字代替了標(biāo)準(zhǔn)的芯片型號。這給人的印象是產(chǎn)品是由定制的集成電路設(shè)計(jì)的。眾所周知,ASIC提供了很好地保護(hù)措施來防止多種攻擊,只有極少數(shù)經(jīng)驗(yàn)豐富且裝備精良的破解者才有可能成功破解。這會(huì)使很多潛在的破解者望而卻步。但一個(gè)信心堅(jiān)定的破解者會(huì)嘗試用簡單的方法確定芯片是不是真的ASIC。最簡單的方法是觀察連接到電源,地,時(shí)鐘,復(fù)位,串口或別的接口的引腳。與數(shù)據(jù)庫中被懷疑的微控制器相比較,這種結(jié)果非常可靠,因每種微控制器都有自己的引腳特點(diǎn)。一旦發(fā)現(xiàn)相似的,就把它放在通用燒寫器上嘗試讀出結(jié)果。
另一個(gè)簡單的方法是限制訪問程序存儲(chǔ)器。通常用在智能卡中,但一些微控制器中也用到。這不是很可靠且實(shí)用的方法。當(dāng)然在智能卡中用得很好,所有的客戶被與芯片制造商迫簽署不擴(kuò)散協(xié)議。但微控制器極少這樣,能被通用燒寫器燒寫的微控制器世界上很多公司都能提供。即使文件中沒有燒寫的規(guī)格,用低成本的示波器幾個(gè)小時(shí)就可以套出需要的波形。如果微控制器不被特殊通用燒寫器所支持,仍然可以通過從制造商購買開發(fā)板來獲得直接完整的協(xié)議。
二、破解手段2:時(shí)序攻擊
一些安全相關(guān)的操作使用輸入的值和密鑰,由半導(dǎo)體芯片執(zhí)行不同的時(shí)間來比較。小心的時(shí)序測量和分析就能恢復(fù)出密鑰。這個(gè)方法最早在1996年的文獻(xiàn)上提到。稍后這種攻擊成功破解了實(shí)際的RSA簽名的智能卡。
為了攻擊成功,需要收集裝置的信息,與處理時(shí)間整合比較,如問答延遲(quesTIon-answer delay)。很多密碼算法容易受到時(shí)序攻擊,主要原因是軟件來執(zhí)行算法。那包括執(zhí)行適時(shí)跳過需要的分支和操作條件;使用緩存;不固定時(shí)間處理指令如倍頻和分頻;還有大量的其他原因。結(jié)果就是執(zhí)行能力典型地取決于密鑰和輸入的數(shù)據(jù)。
為防止此類攻擊可以使用盲簽名(Blinding signatures)技術(shù)。這個(gè)方法是利用選定的隨機(jī)數(shù)與輸入數(shù)據(jù)混合來防止破解者知道輸入數(shù)據(jù)的數(shù)學(xué)運(yùn)算法則。
時(shí)序攻擊可用在安全保護(hù)是基于密碼的微控制器,或使用確定數(shù)字的卡或密碼來進(jìn)行訪問控制的系統(tǒng),如達(dá)拉斯的iButton產(chǎn)品。這些系統(tǒng)中共有的風(fēng)險(xiǎn)是輸入的連續(xù)數(shù)字在數(shù)據(jù)庫進(jìn)行再次校驗(yàn)。系統(tǒng)需經(jīng)常檢查輸入到數(shù)據(jù)庫的密鑰的每個(gè)字節(jié),一旦發(fā)現(xiàn)不正確的字節(jié)就會(huì)立即停止,然后切換到下一個(gè)直到最后一個(gè)。所以破解者很容易測量出輸入最后一個(gè)密鑰倒請求另一個(gè)的時(shí)間,并得出發(fā)現(xiàn)的密鑰相似度。嘗試相對小的數(shù)字,有可能找到匹配的密鑰。
為防止這些攻擊,設(shè)計(jì)者需要小心計(jì)算處理器的周期。當(dāng)密碼進(jìn)行比較時(shí)確保正確和錯(cuò)誤的時(shí)間是一樣的,例如:飛思卡爾的68HC08微控制器的內(nèi)部存儲(chǔ)器載入模塊在輸入正確的八字節(jié)密碼后可以訪問內(nèi)部閃存。為達(dá)到正確和錯(cuò)誤的密碼都處理相同的時(shí)間,程序中增加了額外的空操作指令。這對時(shí)序攻擊提供了很好的保護(hù)。一些微控制器有內(nèi)部阻容振蕩器,那樣處理器的工作頻率與電壓和芯片的溫度相關(guān)。這使得時(shí)序分析很困難,攻擊時(shí)需要穩(wěn)定元器件的溫度并減少電源線上的噪聲和電壓波動(dòng)。一些智能卡有內(nèi)部隨機(jī)時(shí)鐘信號使得攻擊時(shí)測量時(shí)間延遲無效。
以上便是此次小編帶來的“MCU”相關(guān)內(nèi)容,通過本文,希望大家對MCU被破解的手段具備一定的了解。如果你喜歡本文,不妨持續(xù)關(guān)注我們網(wǎng)站哦,小編將于后期帶來更多精彩內(nèi)容。最后,十分感謝大家的閱讀,have a nice day!