大佬帶你看MCU,暴力攻擊是如何破解MCU的?
MCU,也即我們常說(shuō)的微控單元。在使用MCU的情況下,我們能夠制造很多有趣的電子設(shè)備。為增進(jìn)大家對(duì)MCU的認(rèn)識(shí),本文將介紹惡意人士是如何通過(guò)窮舉攻擊來(lái)破解MCU的。如果你對(duì)MCU具有興趣,不妨和小編一起來(lái)繼續(xù)往下閱讀哦。
一、MCU
微控制單元,又稱單片微型計(jì)算機(jī)或者單片機(jī),是把中央處理器的頻率與規(guī)格做適當(dāng)縮減,并將內(nèi)存、計(jì)數(shù)器、USB、A/D轉(zhuǎn)換、UART、PLC、DMA等周邊接口,甚至LCD驅(qū)動(dòng)電路都整合在單一芯片上,形成芯片級(jí)的計(jì)算機(jī),為不同的應(yīng)用場(chǎng)合做不同組合控制。諸如手機(jī)、PC外圍、遙控器,至汽車電子、工業(yè)上的步進(jìn)馬達(dá)、機(jī)器手臂的控制等,都可見(jiàn)到MCU的身影。根據(jù)總線或數(shù)據(jù)暫存器的寬度,單片機(jī)又分為1位、4位、8位、16位、32位甚至64位單片機(jī)。4位MCU大部份應(yīng)用在計(jì)算器、車用儀表、車用防盜裝置、呼叫器、無(wú)線電話、CD播放器、LCD驅(qū)動(dòng)控制器、LCD游戲機(jī)、兒童玩具、磅秤、充電器、胎壓計(jì)、溫濕度計(jì)、遙控器及傻瓜相機(jī)等;8位MCU大部份應(yīng)用在電表、馬達(dá)控制器、電動(dòng)玩具機(jī)、變頻式冷氣機(jī)、呼叫器、傳真機(jī)、來(lái)電辨識(shí)器、電話錄音機(jī)、CRT顯示器、鍵盤及USB等;8位、16位單片機(jī)主要用于一般的控制領(lǐng)域,一般不使用操作系統(tǒng), 16位MCU大部份應(yīng)用在行動(dòng)電話、數(shù)字相機(jī)及攝錄放影機(jī)等;32位MCU大部份應(yīng)用在Modem、GPS、PDA、HPC、STB、Hub、Bridge、Router、工作站、ISDN電話、激光打印機(jī)與彩色傳真機(jī); 32位用于網(wǎng)絡(luò)操作、多媒體處理等復(fù)雜處理的場(chǎng)合,一般要使用嵌入式操作系統(tǒng)。64位MCU大部份應(yīng)用在高階工作站、多媒體互動(dòng)系統(tǒng)、高級(jí)電視游樂(lè)器及高級(jí)終端機(jī)等。
二、窮舉攻擊
暴力對(duì)于半導(dǎo)體硬件和密碼來(lái)說(shuō)是另一種意思。對(duì)于密碼,暴力攻擊是對(duì)系統(tǒng)嘗試數(shù)量眾多的密鑰。通常是使用高速計(jì)算機(jī)來(lái)尋找匹配的密鑰。
一個(gè)例子是微控制器中的密碼保護(hù)設(shè)置。以TI的MSP430為例,密碼本身長(zhǎng)度為32字節(jié)(256位),抵擋暴力攻擊已經(jīng)足夠了。但密碼分配在與處理器中斷矢量相同的存儲(chǔ)器地址。那么,首先減少存儲(chǔ)器內(nèi)矢量一直指向的區(qū)域。然后當(dāng)軟件被更新時(shí),只有小部分的密碼被修改,因?yàn)榇蟛糠种袛嘧映绦蛑赶虻氖噶渴窍嗤牡刂?。結(jié)果是,如果破解者知道早前密碼中的一個(gè),就很容易做系統(tǒng)的搜索,在合理的時(shí)間內(nèi)找到正確的密碼。
暴力攻擊也可用在ASIC或CPLD的硬件設(shè)計(jì)來(lái)實(shí)現(xiàn)。這種情況下,破解者使用所有可能的邏輯組合到元器件可能的輸入端并觀察所有輸出。這種方法也稱為黑箱分析(Black-box analysis),因?yàn)槠平庹卟恢辣粶y(cè)試元器件的情況。通過(guò)所有可能的信號(hào)組合,嘗試獲得元器件的功能。這種方法對(duì)相對(duì)小的邏輯器件很有效。另一個(gè)問(wèn)題是破解者使用的ASIC或CPLD有觸發(fā)器,故輸出將可能是當(dāng)前狀態(tài)或輸入的狀態(tài)。但如果預(yù)先檢查并分析信號(hào),搜索的范圍可以顯著減少。例如,時(shí)鐘輸入,數(shù)據(jù)總線和一些控制信號(hào)是很容易認(rèn)出的。
另一種可能的暴力攻擊,對(duì)很多半導(dǎo)體芯片有效,是將外部高壓信號(hào)(通常是兩倍于電源電壓)加到芯片引腳上,來(lái)試圖進(jìn)入工廠測(cè)試或編程模式。事實(shí)上,這些引腳用數(shù)字萬(wàn)用表很容易發(fā)現(xiàn),因?yàn)樗鼈儧](méi)有保護(hù)二極管到電源腳。一旦發(fā)現(xiàn)對(duì)高壓敏感的引腳,破解者就可以嘗試可能的邏輯信號(hào)組合來(lái)加到別的引腳上,找出用于進(jìn)入工廠測(cè)試或編程模式的部分。
破解者也可用元器件的通信協(xié)議來(lái)找出設(shè)計(jì)者嵌入在軟件中的測(cè)試和更新用得隱藏功能。
芯片制造商經(jīng)常提供給后期測(cè)試用得嵌入硬件測(cè)試接口。如果這些接口的安全保護(hù)沒(méi)有適當(dāng)設(shè)計(jì),破解者很容易利用它來(lái)讀寫片上存儲(chǔ)器。在智能卡中,這些測(cè)試接口通常位于芯片電路之外,并在測(cè)試后從物理上除去。
任何安全系統(tǒng),不管軟件和硬件,在設(shè)計(jì)上都可能有缺陷,對(duì)于破解者來(lái)說(shuō)都是機(jī)會(huì),暴力攻擊有可能找到它。小心設(shè)計(jì)安全保護(hù)系統(tǒng),進(jìn)行適當(dāng)?shù)脑u(píng)估,可以避免很多問(wèn)題,并使得這些攻擊事實(shí)上不可行。
以上便是此次小編帶來(lái)的“MCU”相關(guān)內(nèi)容,通過(guò)本文,希望大家對(duì)采用窮舉法破解MCU的方法具備一定的了解。如果你喜歡本文,不妨持續(xù)關(guān)注我們網(wǎng)站哦,小編將于后期帶來(lái)更多精彩內(nèi)容。最后,十分感謝大家的閱讀,have a nice day!