我們?cè)撊绾伪U厦總€(gè)互聯(lián)設(shè)備的信息安全
(文章來源:電子工程網(wǎng))
我們幾乎每天都能聽說某個(gè)大型零售商或銀行機(jī)構(gòu)的安全漏洞遭到了攻擊。展望不久的將來,我們只能無奈地預(yù)計(jì),隨著黑客使用的工具越來越復(fù)雜,以及他們能夠盜取的信息價(jià)值不斷增加,這些漏洞攻擊將會(huì)越來越頻繁地發(fā)生。而事實(shí)上,針對(duì)嵌入式系統(tǒng)的攻擊也的確在急劇增長(zhǎng)。美國(guó)政府最近要求關(guān)鍵基礎(chǔ)設(shè)施公司(互聯(lián)嵌入式系統(tǒng)的最大用戶之一)檢查其網(wǎng)絡(luò)是否受到來自“Energetic Bear”黑客組織的惡意軟件的感染。美國(guó)國(guó)土安全部工業(yè)控制系統(tǒng)網(wǎng)絡(luò)應(yīng)急小組發(fā)布這一請(qǐng)求,是出于對(duì)美國(guó)電網(wǎng)可能面臨風(fēng)險(xiǎn)的擔(dān)憂。
針對(duì)關(guān)鍵基礎(chǔ)設(shè)施或數(shù)百萬客戶安全數(shù)據(jù)的攻擊是很可怕的,但對(duì)于個(gè)人來說,人們主要擔(dān)心黑客是否容易從家里、車上的嵌入式系統(tǒng),以及大家每天使用的數(shù)以百計(jì)的嵌入式設(shè)備訪問數(shù)據(jù)。比如,智能家居可能知道什么時(shí)候它的主人會(huì)在家,如果有人能夠獲取這個(gè)信息,那么主人會(huì)安全嗎?如果一個(gè)人戴了連接到云的運(yùn)動(dòng)跟蹤器,那么如果有人能夠訪問他/她的所在位置,了解他/她是否在睡覺,以及他/她午餐吃了什么之類的詳細(xì)信息,會(huì)產(chǎn)生什么后果?誰(shuí)知道這些看似無害的數(shù)據(jù)經(jīng)過組合、比較,并結(jié)合從其他來源挖掘的數(shù)據(jù),會(huì)被用來做什么?
作為系統(tǒng)設(shè)計(jì)師,我們可以采取哪些措施來提高個(gè)人信息的安全性?我們期望MCU和FPGA這樣的嵌入式系統(tǒng)模塊提供哪些功能?或許參考大數(shù)據(jù)信息安全計(jì)劃的一些創(chuàng)意是不錯(cuò)的起點(diǎn)。大數(shù)據(jù)安全原則認(rèn)為,穩(wěn)健的安全系統(tǒng)必須分層,這樣黑客(或數(shù)據(jù)礦工)就無法通過單個(gè)故障點(diǎn)輕松訪問重要數(shù)據(jù)。那么,問題來了:如何在嵌入式設(shè)備中實(shí)現(xiàn)分層安全?
也許MCU或FPGA所需要的最明顯的安全功能是支持用于加密和解密敏感數(shù)據(jù)的通用加密標(biāo)準(zhǔn)。此外,安全密碼的保護(hù)也至關(guān)重要,有了這種保護(hù),就不能通過網(wǎng)絡(luò)攻擊或物理篡改來訪問密碼。一些最先進(jìn)的密碼保護(hù)技術(shù)利用集成電路制造過程中的納米級(jí)差異來創(chuàng)建永遠(yuǎn)不會(huì)離開設(shè)備、也永遠(yuǎn)不會(huì)被外部黑客看到的唯一設(shè)備密碼。這種物理上不可克隆的功能(簡(jiǎn)稱PUF) 的示例依賴于加電周期內(nèi)SRAM初始化值的微小差異來創(chuàng)建真正的設(shè)備唯一隨機(jī)密碼。
為了給設(shè)備多加一層安全性,可能需要禁用一些能訪問片上數(shù)據(jù)的功能。例如,如果可以通過調(diào)試或測(cè)試端口輕松訪問MCU代碼,設(shè)備安全就很容易受到影響。MCU和FPGA需要提供保護(hù) - 也許通過特殊的鎖或密碼 – 讓未經(jīng)授權(quán)的用戶不能通過這些端口訪問數(shù)據(jù)。至少,這些端口應(yīng)該能夠完全“關(guān)閉”,這樣就不會(huì)提供潛在的攻擊機(jī)會(huì)。
分層安全的另一個(gè)機(jī)會(huì)與存儲(chǔ)在芯片上的數(shù)據(jù)有關(guān)。許多MCU和FPGA可以限制對(duì)片上數(shù)據(jù)的訪問。例如,與安全相關(guān)的代碼可以存儲(chǔ)在一個(gè)僅執(zhí)行存儲(chǔ)區(qū)中,其他片上進(jìn)程很難訪問這個(gè)存儲(chǔ)區(qū)。對(duì)嵌入式設(shè)備的常見攻擊手段是通過編程錯(cuò)誤來生成“野生”指針以訪問用其他途徑無法訪問的數(shù)據(jù)。但是,對(duì)關(guān)鍵數(shù)據(jù)的硬件保護(hù)可以限制此類訪問,并將此錯(cuò)誤標(biāo)記為潛在的篡改事件,讓系統(tǒng)可以采取適當(dāng)?shù)膽土P措施。
通常,嵌入式設(shè)備可以遠(yuǎn)程重新編程,這是一種用來修復(fù)錯(cuò)誤和增加功能的實(shí)用能力。遺憾的是,如果此功能不受保護(hù),攻擊者可能會(huì)插入自己的惡意代碼,并在機(jī)密數(shù)據(jù)流經(jīng)系統(tǒng)時(shí)劫持它們。當(dāng)嵌入式設(shè)備支持遠(yuǎn)程更新和錯(cuò)誤修復(fù)時(shí),需要提供額外的安全層,否則其安全性很容易受到威脅。
? ? ?