教你防止單片機(jī)被惡意攻擊技術(shù)打破的方法
借助專(zhuān)用設(shè)備或自制設(shè)備,單片機(jī)攻擊者可以利用單片機(jī)設(shè)計(jì)中的漏洞或軟件缺陷,從芯片中提取關(guān)鍵信息,獲取單片機(jī)中的程序。因此,作為電子產(chǎn)品的設(shè)計(jì)工程師,了解當(dāng)前的單片機(jī)攻擊是非常必要的
2 單片機(jī)設(shè)計(jì)進(jìn)攻技術(shù)性
現(xiàn)階段,進(jìn)攻單片機(jī)設(shè)計(jì)關(guān)鍵有幾種技術(shù)性,各自是:
(1)手機(jī)軟件進(jìn)攻
該技術(shù)性一般 應(yīng)用CPU通信接口并運(yùn)用協(xié)議書(shū)、加密技術(shù)或這種優(yōu)化算法中的網(wǎng)絡(luò)安全問(wèn)題來(lái)開(kāi)展進(jìn)攻。
軟件攻擊成功的典型例子是對(duì)早期ATMEL AT89C系列單片機(jī)的攻擊。攻擊者利用該系列單片機(jī)擦除操作時(shí)序設(shè)計(jì)中的漏洞,在使用自編程程序定位擦除加密鎖后,停止下一次擦除芯片上程序內(nèi)存數(shù)據(jù)的操作。
(2)電子檢測(cè)攻擊
這種技術(shù)通常在正常運(yùn)行期間以高時(shí)間分辨率監(jiān)控處理器所有電源和接口連接的模擬特性,并通過(guò)監(jiān)控其電磁輻射特性來(lái)實(shí)施攻擊。
由于單片機(jī)設(shè)計(jì)是1個(gè)主題活動(dòng)的電子元器件,當(dāng)它實(shí)行不一樣的命令時(shí),相匹配的電源功率耗費(fèi)也相對(duì)轉(zhuǎn)變。那樣根據(jù)應(yīng)用獨(dú)特的電子測(cè)量?jī)x器和數(shù)學(xué)課統(tǒng)計(jì)方法剖析和檢驗(yàn)這種轉(zhuǎn)變,就能獲得單片機(jī)設(shè)計(jì)中的特殊重要信息內(nèi)容。
(3)過(guò)失造成技術(shù)性
該技術(shù)性應(yīng)用出現(xiàn)異常工作中標(biāo)準(zhǔn)來(lái)使CPU錯(cuò)誤,隨后出示附加的瀏覽來(lái)開(kāi)展進(jìn)攻。應(yīng)用最普遍的過(guò)失造成進(jìn)攻方式包含工作電壓沖擊性和鐘表沖擊性。
低壓和高工作電壓進(jìn)攻能用來(lái)嚴(yán)禁維護(hù)電源電路工作中或強(qiáng)制性CPU實(shí)行操作失誤。鐘表瞬態(tài)跳變或許會(huì)校準(zhǔn)維護(hù)電源電路而不容易毀壞受維護(hù)信息內(nèi)容。開(kāi)關(guān)電源和鐘表瞬態(tài)跳變能夠在一些CPU中危害條數(shù)命令的編解碼和實(shí)行。
(4)電極技術(shù)性
該技術(shù)性是立即曝露集成ic內(nèi)部聯(lián)線,隨后觀查、操縱、干撓單片機(jī)設(shè)計(jì)以超過(guò)進(jìn)攻目地。
為了更好地?zé)o誤,大家將左右?guī)追N進(jìn)攻技術(shù)性分為兩大類(lèi),一種是侵入型進(jìn)攻(物攻),這種進(jìn)攻必須毀壞封裝另外三種方法是非侵入性攻擊,被攻擊的單片機(jī)不會(huì)受到物理?yè)p壞。非侵入式攻擊在某些情況下尤其危險(xiǎn),因?yàn)榉乔秩胧焦羲璧脑O(shè)備通??梢宰灾坪蜕?jí),因此非常便宜。
大多數(shù)非入侵性攻擊要求攻擊者具備良好的處理器知識(shí)和軟件知識(shí)。相比之下,侵入性探針攻擊不需要太多的初始知識(shí),一套類(lèi)似的技術(shù)通??梢杂糜谔幚矶喾N產(chǎn)品。因此,對(duì)單片機(jī)的攻擊通常從侵入式逆向工程開(kāi)始。
3侵入式攻擊的一般過(guò)程
侵入式攻擊的第一步是移除芯片封裝。實(shí)現(xiàn)這一目標(biāo)有兩種方法:第一種是完全溶解芯片封裝并暴露金屬連接。第二是只移除硅芯上的塑料封裝。第一種方法需要將芯片綁定到測(cè)試夾.
對(duì)于使用保護(hù)層來(lái)保護(hù)電可擦可編程只讀存儲(chǔ)器單元的單片微型計(jì)算機(jī),使用紫外光復(fù)位保護(hù)電路是不可行的。對(duì)于這種類(lèi)型的微處理器,微探針技術(shù)通常用于讀取存儲(chǔ)器內(nèi)容。
芯片封裝打開(kāi)后,將芯片放在顯微鏡下,可以很容易地找到從存儲(chǔ)器到電路其他部分的數(shù)據(jù)總線。由于某種原因,芯片鎖定位在編程模式下不鎖定對(duì)存儲(chǔ)器的訪問(wèn)。利用這個(gè)缺陷將探針?lè)旁跀?shù)據(jù)線的頂部,你可以讀取你想要的任何東西。
另一種可能的攻擊手段是借助顯微鏡、激光切割機(jī)和其他設(shè)備尋找保護(hù)保險(xiǎn)絲,以便找到與電路這一部分相連的所有信號(hào)線。由于設(shè)計(jì)缺陷,只要從保護(hù)熔絲到其他電路的一條信號(hào)線被切斷,整個(gè)保護(hù)功能就可能被禁用。
由于某種原因,這根線離其他線很遠(yuǎn),所以激光切割機(jī)可以完全切斷這根線而不影響相鄰的線。這樣,程序存儲(chǔ)器的內(nèi)容可以通過(guò)簡(jiǎn)單的程序員直接讀出。
盡管大部分一般單片機(jī)設(shè)計(jì)都具備熔斷器燒壞維護(hù)單片機(jī)設(shè)計(jì)內(nèi)編碼的作用,但因?yàn)橥ㄓ眯缘蛽醯膯纹瑱C(jī)設(shè)計(jì)并不是定坐落于制做安全類(lèi)商品,因而,他們通常沒(méi)有出示有目的性的預(yù)防措施且安全等級(jí)較低。
此外,應(yīng)用范圍廣、銷(xiāo)量大、制造商之間委托處理和技術(shù)轉(zhuǎn)讓頻繁、技術(shù)數(shù)據(jù)泄漏量大,利用這類(lèi)芯片的設(shè)計(jì)漏洞和制造商的測(cè)試接口,通過(guò)修改熔絲保護(hù)位等入侵攻擊或非入侵攻擊手段讀取單片機(jī)內(nèi)部程序變化。
4 解決單片機(jī)破解的幾個(gè)點(diǎn)提議
一切這款單片機(jī)設(shè)計(jì)?從基礎(chǔ)理論上講,網(wǎng)絡(luò)攻擊均可運(yùn)用充足的項(xiàng)目投資和時(shí)間應(yīng)用左右方式 來(lái)攻克。因此,再用單片機(jī)設(shè)計(jì)做數(shù)據(jù)加密驗(yàn)證或布置系統(tǒng)軟件時(shí),應(yīng)盡可能增加網(wǎng)絡(luò)攻擊的進(jìn)攻成本費(fèi)和所消耗的時(shí)間
(1)在選中加密芯片前,要充足調(diào)查,掌握單片機(jī)破解技術(shù)性的重大進(jìn)展,包含什么單片機(jī)設(shè)計(jì)是早已確定能夠破譯的。盡可能不采用已可破譯或同系列產(chǎn)品、同型號(hào)的集成ic。
(2)盡量不要使用MCS51系列單片機(jī),因?yàn)閱纹瑱C(jī)在國(guó)內(nèi)最受歡迎,也是研究得最透徹的。
(3)產(chǎn)品的原創(chuàng)者一般具有產(chǎn)量大的特點(diǎn),因此偽造者使用相對(duì)不常見(jiàn)和不受歡迎的單片機(jī)購(gòu)買(mǎi)更為困難。
(4)選擇上市時(shí)間短的新技術(shù)、新結(jié)構(gòu)和單片機(jī),如ATMEL AVR系列單片機(jī)。
(5)如果設(shè)計(jì)成本允許,應(yīng)選擇具有硬件自毀功能的智能卡芯片,以有效應(yīng)對(duì)物理攻擊。
(6)如果條件允許,可以使用兩臺(tái)不同型號(hào)的單片機(jī)進(jìn)行備份和相互驗(yàn)證,增加了破解成本。