你的位置:首頁 > 電路保護(hù) > 正文

黑客比你更懂嵌入式保護(hù)!怎么防范?

發(fā)布時(shí)間:2015-06-08 責(zé)任編輯:echolady

【導(dǎo)讀】現(xiàn)如今嵌入式系統(tǒng)憑借系統(tǒng)內(nèi)核小、專用性能強(qiáng)、生命周期長(zhǎng)的優(yōu)勢(shì)強(qiáng)勢(shì)打入國防、工業(yè)、智能家庭領(lǐng)域。然而面對(duì)信息技術(shù)的不斷創(chuàng)新和更迭,嵌入式系統(tǒng)面臨被黑客攻占的危險(xiǎn),加密的硬盤驅(qū)動(dòng)被滲透和破解。那么如何防范黑客?

通常情況下,正在設(shè)計(jì)的新嵌入式系統(tǒng)非常可能收到來自黑客的惡意攻擊。當(dāng)然,如何避免這種情況的發(fā)生,都取決于你打算如何施加保護(hù)。有些黑客只是想導(dǎo)致你的系統(tǒng)崩潰,而另一些人則想借用它作為惡意平臺(tái)。還有一些人想要了解你設(shè)計(jì)的嵌入式內(nèi)部構(gòu)造是什么,畢竟這些算法值很多錢。

在過去,處理器只是負(fù)責(zé)開機(jī)運(yùn)行,而安全性是在程序或操作系統(tǒng)中實(shí)現(xiàn)的東西。它取決于你信任誰以及他們的工作做得怎么樣。在最初階段,微控制器和微處理器采取了類似的做法,如添加內(nèi)存保護(hù),允許應(yīng)用程序放置到沙盒中等等,這都是最初的安全保護(hù)措施。

現(xiàn)在,虛擬化進(jìn)一步拓展了這一特點(diǎn),使高階系統(tǒng)能夠虛擬化整個(gè)系統(tǒng)。要保護(hù)沙箱工作,我們假設(shè)基礎(chǔ)軟件和硬件不能被影響。當(dāng)然,這種假設(shè)并不總是必要的,例如大多數(shù)硬件具有某種形式的軟件參與,像是硬盤驅(qū)動(dòng)器上的控制器。有人可能會(huì)想到,在硬盤驅(qū)動(dòng)器上的數(shù)據(jù)會(huì)被保存,這對(duì)于保護(hù)數(shù)據(jù)本身而言可能會(huì)是一個(gè)問題,可能需要使用加密的硬盤驅(qū)動(dòng)器。

不幸的是,通過一些被黑客入侵并植入木馬的實(shí)際案例,我們現(xiàn)在知道情況并不是這樣的,因?yàn)樾薷拇斯碳粌H僅是加固系統(tǒng)的方式,也同樣是黑客們滲透進(jìn)存儲(chǔ)設(shè)備的一種方法。在這種情況下,控制器固件被修改,所以存儲(chǔ)在驅(qū)動(dòng)器上的操作系統(tǒng)將受到影響。惡意固件隱藏自身和修改。想要深入這個(gè)系統(tǒng)其實(shí)很容易,因?yàn)榇疟P已經(jīng)做了這種類型的數(shù)據(jù)重新映射來處理不良扇區(qū),所以黑客只需要?jiǎng)觿?dòng)手指就能輕而易舉的獲取入侵代碼。

對(duì)于嵌入式系統(tǒng)的設(shè)計(jì)而言,在編程設(shè)計(jì)階段就為系統(tǒng)提供安全驅(qū)動(dòng)程序,是每一個(gè)工程師都需要從事的工作。隨著黑客入侵的次數(shù)愈加頻繁,為嵌入式系統(tǒng)增加牢固的安全程序就顯得愈發(fā)重要。那么,哪些方法能夠有效的防止黑客入侵?使用何種形式的加密密鑰能夠是程序更安全?

安全引導(dǎo)和加密代碼是防止初始攻擊得手的方法。

一次性可編程(OTP)或基于ROM的解決方案是另一種方法,但這些是防止許多應(yīng)用必要的現(xiàn)場(chǎng)更新。有些平臺(tái)還允許調(diào)試或者使JTAG支持失能,通常是通過OTP標(biāo)志,所以應(yīng)用程序代碼不再能直接訪問,使得逆向工程更加困難。如果檢測(cè)到攻擊,有些系統(tǒng)會(huì)進(jìn)入防篡改極端,清除代碼和數(shù)據(jù)。

設(shè)置安全密鑰和軟件保護(hù)方案

TI的MSP432有一個(gè)有趣的方法來保護(hù)應(yīng)用程序代碼,這給我們帶來了一些有用的啟示。這種保護(hù)方案允許只執(zhí)行閃存中的多個(gè)塊,但是要執(zhí)行這一步,要使代碼能夠在同一個(gè)塊中訪問數(shù)據(jù)。JTAG不會(huì)泄露代碼或數(shù)據(jù)的內(nèi)容。被定義的多個(gè)塊和加密密鑰用于驗(yàn)證并允許更新,這樣惡意物件就不能只是簡(jiǎn)單地除去或替換一個(gè)塊。MSP432不具有安全密鑰存儲(chǔ)或OTP支持,但這些都可以使用軟件保護(hù)方案來實(shí)現(xiàn)。該方法允許供應(yīng)商一個(gè)芯片上嵌入運(yùn)行時(shí)間支持,然后將其提供給開發(fā)者。開發(fā)者可以調(diào)用支持程序,但他們不會(huì)直接訪問那些可以分解的代碼。該計(jì)劃實(shí)際上適用于多個(gè)供應(yīng)商在同一芯片上提供服務(wù)。

相關(guān)閱讀:

技術(shù)詳解:利用嵌入式降低電池功耗
技術(shù)經(jīng)驗(yàn):做嵌入式硬件設(shè)計(jì)需具備的基本功
嵌入式設(shè)計(jì)可接受的抖動(dòng)水平要如何確定呢?

要采購微控制器么,點(diǎn)這里了解一下價(jià)格!
特別推薦
技術(shù)文章更多>>
技術(shù)白皮書下載更多>>
熱門搜索
?

關(guān)閉

?

關(guān)閉