構(gòu)筑嵌入式系統(tǒng)的安全屏障
——
構(gòu)筑嵌入式系統(tǒng)的安全屏障
隨著黑客的攻擊目標(biāo)從臺(tái)式機(jī)轉(zhuǎn)向嵌入式系統(tǒng),硬件安全決策和軟件安全決策在設(shè)計(jì)過(guò)程中占了主導(dǎo)地位。
要點(diǎn)
●與出現(xiàn)故障后提供補(bǔ)丁的臺(tái)式電腦軟件安全策略不同,嵌入式產(chǎn)品即使在遭遇安全威脅時(shí)也必須繼續(xù)工作。
●嵌入式設(shè)備面臨的安全威脅迫使設(shè)計(jì)師除了采取傳統(tǒng)的軟件保護(hù)措施之外,還必須采取物理封裝保護(hù)措施。
●嵌入式系統(tǒng)體系結(jié)構(gòu)多種多樣,這為黑客提供了很多攻擊機(jī)會(huì),而且還妨礙全行業(yè)安全保護(hù)方案的開(kāi)發(fā)。
●專門的嵌入式安全存儲(chǔ)芯片和協(xié)處理器把安全認(rèn)證和加密兩項(xiàng)任務(wù)推給專用硬件去完成。
5年前,數(shù)十億嵌入式系統(tǒng)成為了注意的焦點(diǎn),當(dāng)時(shí)權(quán)威人士預(yù)測(cè)Y2K故障將會(huì)擾亂制造、配電、運(yùn)輸、通信、水凈化、現(xiàn)金提取、武器系統(tǒng)的正常運(yùn)作,還將帶來(lái)其他許多災(zāi)難。全球的政府和私營(yíng)公司花費(fèi)數(shù)千工時(shí)和數(shù)十億美元來(lái)分析和更新嵌入式固件,以便能避免可能發(fā)生的災(zāi)難。這些嵌入式設(shè)備目前面臨新的敵人,來(lái)自越來(lái)越多的黑客和恐怖分子,他們?cè)噲D造成類似的危害,強(qiáng)制進(jìn)行計(jì)劃外的運(yùn)作,或提取保密信息。對(duì)于任何新的嵌入式系統(tǒng)設(shè)計(jì)來(lái)說(shuō),這個(gè)新的現(xiàn)實(shí)使安全問(wèn)題成為最優(yōu)先考慮的事項(xiàng)。
嵌入式設(shè)備的應(yīng)用情況,使我們對(duì)它們的可靠性期望值比對(duì)我們?nèi)粘J褂玫拇蠖鄶?shù)其它計(jì)算系統(tǒng)高得多。數(shù)以千計(jì)的用戶每天都要關(guān)閉或重新啟動(dòng)臺(tái)式電腦,來(lái)處理出錯(cuò)的程序或病毒。然而,如果您關(guān)閉或重新啟動(dòng)許多嵌入式設(shè)備,比如關(guān)鍵系統(tǒng)中的嵌入設(shè)備,您就一定會(huì)有造成生命、財(cái)產(chǎn)或信息等損失的風(fēng)險(xiǎn)。在臺(tái)式電腦軟件領(lǐng)域,您可以等待故障發(fā)生,然后設(shè)計(jì)補(bǔ)丁來(lái)繞過(guò)它,但這在嵌入領(lǐng)域是無(wú)法讓人接受的。由于黑客會(huì)對(duì)各種基于電腦的系統(tǒng)發(fā)起攻擊,設(shè)備開(kāi)發(fā)商必須相應(yīng)地采取硬件安全措施和軟件安全措施,防止或遏制任何破壞性入侵。
盡管您能采用多層次保護(hù),但任何系統(tǒng)或產(chǎn)品都不是100% 安全的。大多數(shù)專家認(rèn)為,當(dāng)黑客危害產(chǎn)品所需的時(shí)間和資金超過(guò)了他們所提取信息的價(jià)值時(shí),系統(tǒng)就是安全的。我們必須假設(shè),只要有足夠的資源,黑客就能夠闖入任何系統(tǒng)。由于幾乎無(wú)法對(duì)現(xiàn)有產(chǎn)品添加安全措施,因此安全性必須是基本的設(shè)計(jì)目標(biāo),從概念一直到生產(chǎn)、部署和壽命到期后的處理都應(yīng)如此。美國(guó)國(guó)家標(biāo)準(zhǔn)與技術(shù)研究院(NIST)特別出版物800-27提供了若干在產(chǎn)品壽命周期的各個(gè)階段要考慮的與安全有關(guān)的設(shè)計(jì)原則(參考文獻(xiàn)1)。這些原則包括:確定安全策略,設(shè)計(jì)產(chǎn)品,處理升級(jí),對(duì)付變化中的威脅,采用新技術(shù),建立多個(gè)安全層,培訓(xùn)程序員以便提交安全的軟件。
首先應(yīng)考慮的安全問(wèn)題之一是確定您需要保護(hù)的是哪些信息,這樣您就可以選擇合適的安全措施。重要的是要區(qū)分嵌入式設(shè)備存儲(chǔ)或顯示的公共數(shù)據(jù)和保密數(shù)據(jù),因?yàn)槟苍S能減少甚至去除敏感數(shù)據(jù),從而使安全工作量減至最少程度。除了明顯的公司保密數(shù)據(jù)和個(gè)人保密數(shù)據(jù)以外,您的設(shè)備也許還需要利用某種數(shù)字權(quán)利管理方案來(lái)保護(hù)擁有版權(quán)的材料,如書籍、音樂(lè)和視頻。您的專有產(chǎn)品設(shè)計(jì)的細(xì)節(jié)也可能會(huì)給外人或競(jìng)爭(zhēng)對(duì)手提供有價(jià)值的信息。
誰(shuí)在門口?
接下來(lái),您應(yīng)該確定可能的攻擊者是誰(shuí),以及他們的技巧水平。您也許能夠借助簡(jiǎn)單的口令來(lái)保護(hù)音樂(lè)數(shù)據(jù)免遭好奇的愛(ài)好者的窺探;然而,如果您的設(shè)備敞開(kāi)了金庫(kù)大門,那您就等著擁有經(jīng)驗(yàn)、資金和決心的黑客來(lái)考驗(yàn)?zāi)陌踩δ馨?。恐怖組織企圖繞過(guò)安全防備來(lái)威脅生命,制造混亂。外國(guó)政府也許會(huì)資助攻擊者搜索對(duì)國(guó)家安全敏感的數(shù)據(jù)。如果您保護(hù)的數(shù)據(jù)涉及金融,就可能會(huì)有犯罪分子試圖突破您的安全措施。最后,您應(yīng)該提防工業(yè)間諜活動(dòng),不道德的競(jìng)爭(zhēng)對(duì)手可以借此降低或免除產(chǎn)品設(shè)計(jì)費(fèi)用,進(jìn)而獲利。
如果某設(shè)備存儲(chǔ)有敏感數(shù)據(jù)或保密數(shù)據(jù),那么您的設(shè)計(jì)必須在正常工作期間、在通過(guò)網(wǎng)絡(luò)連接遭受攻擊期間、在攻擊者在實(shí)驗(yàn)室中采用電子手段探測(cè)期間提供保護(hù)。嵌入式設(shè)備(尤其是便攜產(chǎn)品)面臨的安全威脅要比典型的臺(tái)式系統(tǒng)多得多。黑客也許會(huì)利用靈敏的測(cè)試設(shè)備來(lái)竊取、拆卸和探測(cè)小型設(shè)備,以便提取數(shù)據(jù)。他們能從產(chǎn)品中取出存儲(chǔ)元件,以提取存儲(chǔ)部件內(nèi)的數(shù)據(jù)。同樣,他們也許會(huì)利用調(diào)試端口和軟件來(lái)讀取敏感數(shù)據(jù)或強(qiáng)制進(jìn)行計(jì)劃外的操作。攻擊者也許會(huì)測(cè)量電磁輻射或功耗來(lái)獲得被隱藏信息的有關(guān)線索。另一種技巧是引入極端溫度、電壓偏移和時(shí)鐘變化,從而強(qiáng)迫系統(tǒng)在設(shè)計(jì)參數(shù)范圍之外工作,表現(xiàn)出異常性能。
由于便攜設(shè)備面臨額外威脅,設(shè)計(jì)師應(yīng)該采取物理威懾手段來(lái)保護(hù)敏感信息。需要專門設(shè)備才能打開(kāi)的加固型外殼也許能阻止一些攻擊。當(dāng)攻擊正在進(jìn)行時(shí),傳感器會(huì)給軟件發(fā)信號(hào)。外殼設(shè)計(jì)至少應(yīng)該用密封條或膠帶來(lái)提供產(chǎn)品被人動(dòng)過(guò)的明顯證據(jù),因?yàn)楹诳驮诖蜷_(kāi)產(chǎn)品時(shí)會(huì)毀壞這些密封條或膠帶。關(guān)于內(nèi)部設(shè)計(jì),開(kāi)發(fā)商在設(shè)計(jì)印刷電路板時(shí)應(yīng)該把安全放在心上。例如,BGA 封裝使關(guān)鍵信號(hào)隱藏在電路板內(nèi)層,從而使得黑客對(duì)其探測(cè)和逆向工程變得更困難。雖然黑客可以用酸清除某些制劑,但設(shè)計(jì)師可以用環(huán)氧樹(shù)脂和保形涂料來(lái)保護(hù)產(chǎn)品的所有或部分內(nèi)部敏感電路。
存儲(chǔ)數(shù)據(jù)損失
存儲(chǔ)設(shè)備是黑客最喜歡的內(nèi)部攻擊目標(biāo),這是因?yàn)樗鼈儽4媪水a(chǎn)品的固件和敏感數(shù)據(jù)。很多設(shè)備可以在線讀出數(shù)據(jù),而且可以在工作期間提供臨時(shí)的文本數(shù)據(jù)。如果您的設(shè)備具有防篡改傳感器,您就可以利用硬件或軟件資源來(lái)迅速抹掉敏感數(shù)據(jù)。有幾家廠商提供安全存儲(chǔ)設(shè)備來(lái)保護(hù)內(nèi)部數(shù)據(jù)。例如,Dallas Semiconductor公司的 DS2432 既有 1024 位 EEPROM,又有一個(gè) 64 位保密引擎和 512 位安全散列算法引擎,以提供低成本的基于認(rèn)證的安全性(圖 1)。DS2432 售價(jià)是 2.03 美元(1000 件批量)。
圖 1,Dallas Semiconductor公司的 DS2432 具有 1128 位5V EEPROM(它分區(qū)成 4 頁(yè),每頁(yè) 256 位)、一個(gè) 64 位只寫保密寄存器和5 個(gè)通用讀/寫寄存器。
在軟件方面,嵌入式產(chǎn)品為黑客提供了很多入侵機(jī)會(huì)。與臺(tái)式產(chǎn)品不同的是,嵌入式產(chǎn)品采用數(shù)十種軟件體系結(jié)構(gòu)和操作系統(tǒng),而這些軟件體系結(jié)構(gòu)和操作系統(tǒng)的安全等級(jí)各不相同,視其制造商的專業(yè)技能而定。為了建立系統(tǒng)安全標(biāo)準(zhǔn),美國(guó)、加拿大和幾個(gè)歐洲國(guó)家制定了《信息技術(shù)安全評(píng)估共同準(zhǔn)則》 ,或簡(jiǎn)稱《共同準(zhǔn)則》。《共同準(zhǔn)則》結(jié)構(gòu)允許消費(fèi)者、開(kāi)發(fā)商和評(píng)估人員按標(biāo)準(zhǔn)的保護(hù)措施和 EAL(評(píng)估保證等級(jí))規(guī)定產(chǎn)品的安全功能。雖然還沒(méi)有操作系統(tǒng)得到最高的 EAL-7 認(rèn)證,但有幾項(xiàng)開(kāi)發(fā)計(jì)劃正在進(jìn)行。例如,LynuxWorks公司 正在對(duì)其 LynxOS-178 操作系統(tǒng)進(jìn)行一次小規(guī)模運(yùn)行狀態(tài)下內(nèi)核的改進(jìn),并期望對(duì)它進(jìn)行最高等級(jí)的正式驗(yàn)證和測(cè)試。EAL-7 等級(jí)認(rèn)證需要詳盡的數(shù)學(xué)分析,這就把此類軟件的長(zhǎng)度限制在最多 6000~7000 行代碼以內(nèi)。
要點(diǎn)
●與出現(xiàn)故障后提供補(bǔ)丁的臺(tái)式電腦軟件安全策略不同,嵌入式產(chǎn)品即使在遭遇安全威脅時(shí)也必須繼續(xù)工作。
●嵌入式設(shè)備面臨的安全威脅迫使設(shè)計(jì)師除了采取傳統(tǒng)的軟件保護(hù)措施之外,還必須采取物理封裝保護(hù)措施。
●嵌入式系統(tǒng)體系結(jié)構(gòu)多種多樣,這為黑客提供了很多攻擊機(jī)會(huì),而且還妨礙全行業(yè)安全保護(hù)方案的開(kāi)發(fā)。
●專門的嵌入式安全存儲(chǔ)芯片和協(xié)處理器把安全認(rèn)證和加密兩項(xiàng)任務(wù)推給專用硬件去完成。
5年前,數(shù)十億嵌入式系統(tǒng)成為了注意的焦點(diǎn),當(dāng)時(shí)權(quán)威人士預(yù)測(cè)Y2K故障將會(huì)擾亂制造、配電、運(yùn)輸、通信、水凈化、現(xiàn)金提取、武器系統(tǒng)的正常運(yùn)作,還將帶來(lái)其他許多災(zāi)難。全球的政府和私營(yíng)公司花費(fèi)數(shù)千工時(shí)和數(shù)十億美元來(lái)分析和更新嵌入式固件,以便能避免可能發(fā)生的災(zāi)難。這些嵌入式設(shè)備目前面臨新的敵人,來(lái)自越來(lái)越多的黑客和恐怖分子,他們?cè)噲D造成類似的危害,強(qiáng)制進(jìn)行計(jì)劃外的運(yùn)作,或提取保密信息。對(duì)于任何新的嵌入式系統(tǒng)設(shè)計(jì)來(lái)說(shuō),這個(gè)新的現(xiàn)實(shí)使安全問(wèn)題成為最優(yōu)先考慮的事項(xiàng)。
嵌入式設(shè)備的應(yīng)用情況,使我們對(duì)它們的可靠性期望值比對(duì)我們?nèi)粘J褂玫拇蠖鄶?shù)其它計(jì)算系統(tǒng)高得多。數(shù)以千計(jì)的用戶每天都要關(guān)閉或重新啟動(dòng)臺(tái)式電腦,來(lái)處理出錯(cuò)的程序或病毒。然而,如果您關(guān)閉或重新啟動(dòng)許多嵌入式設(shè)備,比如關(guān)鍵系統(tǒng)中的嵌入設(shè)備,您就一定會(huì)有造成生命、財(cái)產(chǎn)或信息等損失的風(fēng)險(xiǎn)。在臺(tái)式電腦軟件領(lǐng)域,您可以等待故障發(fā)生,然后設(shè)計(jì)補(bǔ)丁來(lái)繞過(guò)它,但這在嵌入領(lǐng)域是無(wú)法讓人接受的。由于黑客會(huì)對(duì)各種基于電腦的系統(tǒng)發(fā)起攻擊,設(shè)備開(kāi)發(fā)商必須相應(yīng)地采取硬件安全措施和軟件安全措施,防止或遏制任何破壞性入侵。
盡管您能采用多層次保護(hù),但任何系統(tǒng)或產(chǎn)品都不是100% 安全的。大多數(shù)專家認(rèn)為,當(dāng)黑客危害產(chǎn)品所需的時(shí)間和資金超過(guò)了他們所提取信息的價(jià)值時(shí),系統(tǒng)就是安全的。我們必須假設(shè),只要有足夠的資源,黑客就能夠闖入任何系統(tǒng)。由于幾乎無(wú)法對(duì)現(xiàn)有產(chǎn)品添加安全措施,因此安全性必須是基本的設(shè)計(jì)目標(biāo),從概念一直到生產(chǎn)、部署和壽命到期后的處理都應(yīng)如此。美國(guó)國(guó)家標(biāo)準(zhǔn)與技術(shù)研究院(NIST)特別出版物800-27提供了若干在產(chǎn)品壽命周期的各個(gè)階段要考慮的與安全有關(guān)的設(shè)計(jì)原則(參考文獻(xiàn)1)。這些原則包括:確定安全策略,設(shè)計(jì)產(chǎn)品,處理升級(jí),對(duì)付變化中的威脅,采用新技術(shù),建立多個(gè)安全層,培訓(xùn)程序員以便提交安全的軟件。
首先應(yīng)考慮的安全問(wèn)題之一是確定您需要保護(hù)的是哪些信息,這樣您就可以選擇合適的安全措施。重要的是要區(qū)分嵌入式設(shè)備存儲(chǔ)或顯示的公共數(shù)據(jù)和保密數(shù)據(jù),因?yàn)槟苍S能減少甚至去除敏感數(shù)據(jù),從而使安全工作量減至最少程度。除了明顯的公司保密數(shù)據(jù)和個(gè)人保密數(shù)據(jù)以外,您的設(shè)備也許還需要利用某種數(shù)字權(quán)利管理方案來(lái)保護(hù)擁有版權(quán)的材料,如書籍、音樂(lè)和視頻。您的專有產(chǎn)品設(shè)計(jì)的細(xì)節(jié)也可能會(huì)給外人或競(jìng)爭(zhēng)對(duì)手提供有價(jià)值的信息。
誰(shuí)在門口?
接下來(lái),您應(yīng)該確定可能的攻擊者是誰(shuí),以及他們的技巧水平。您也許能夠借助簡(jiǎn)單的口令來(lái)保護(hù)音樂(lè)數(shù)據(jù)免遭好奇的愛(ài)好者的窺探;然而,如果您的設(shè)備敞開(kāi)了金庫(kù)大門,那您就等著擁有經(jīng)驗(yàn)、資金和決心的黑客來(lái)考驗(yàn)?zāi)陌踩δ馨?。恐怖組織企圖繞過(guò)安全防備來(lái)威脅生命,制造混亂。外國(guó)政府也許會(huì)資助攻擊者搜索對(duì)國(guó)家安全敏感的數(shù)據(jù)。如果您保護(hù)的數(shù)據(jù)涉及金融,就可能會(huì)有犯罪分子試圖突破您的安全措施。最后,您應(yīng)該提防工業(yè)間諜活動(dòng),不道德的競(jìng)爭(zhēng)對(duì)手可以借此降低或免除產(chǎn)品設(shè)計(jì)費(fèi)用,進(jìn)而獲利。
如果某設(shè)備存儲(chǔ)有敏感數(shù)據(jù)或保密數(shù)據(jù),那么您的設(shè)計(jì)必須在正常工作期間、在通過(guò)網(wǎng)絡(luò)連接遭受攻擊期間、在攻擊者在實(shí)驗(yàn)室中采用電子手段探測(cè)期間提供保護(hù)。嵌入式設(shè)備(尤其是便攜產(chǎn)品)面臨的安全威脅要比典型的臺(tái)式系統(tǒng)多得多。黑客也許會(huì)利用靈敏的測(cè)試設(shè)備來(lái)竊取、拆卸和探測(cè)小型設(shè)備,以便提取數(shù)據(jù)。他們能從產(chǎn)品中取出存儲(chǔ)元件,以提取存儲(chǔ)部件內(nèi)的數(shù)據(jù)。同樣,他們也許會(huì)利用調(diào)試端口和軟件來(lái)讀取敏感數(shù)據(jù)或強(qiáng)制進(jìn)行計(jì)劃外的操作。攻擊者也許會(huì)測(cè)量電磁輻射或功耗來(lái)獲得被隱藏信息的有關(guān)線索。另一種技巧是引入極端溫度、電壓偏移和時(shí)鐘變化,從而強(qiáng)迫系統(tǒng)在設(shè)計(jì)參數(shù)范圍之外工作,表現(xiàn)出異常性能。
由于便攜設(shè)備面臨額外威脅,設(shè)計(jì)師應(yīng)該采取物理威懾手段來(lái)保護(hù)敏感信息。需要專門設(shè)備才能打開(kāi)的加固型外殼也許能阻止一些攻擊。當(dāng)攻擊正在進(jìn)行時(shí),傳感器會(huì)給軟件發(fā)信號(hào)。外殼設(shè)計(jì)至少應(yīng)該用密封條或膠帶來(lái)提供產(chǎn)品被人動(dòng)過(guò)的明顯證據(jù),因?yàn)楹诳驮诖蜷_(kāi)產(chǎn)品時(shí)會(huì)毀壞這些密封條或膠帶。關(guān)于內(nèi)部設(shè)計(jì),開(kāi)發(fā)商在設(shè)計(jì)印刷電路板時(shí)應(yīng)該把安全放在心上。例如,BGA 封裝使關(guān)鍵信號(hào)隱藏在電路板內(nèi)層,從而使得黑客對(duì)其探測(cè)和逆向工程變得更困難。雖然黑客可以用酸清除某些制劑,但設(shè)計(jì)師可以用環(huán)氧樹(shù)脂和保形涂料來(lái)保護(hù)產(chǎn)品的所有或部分內(nèi)部敏感電路。
存儲(chǔ)數(shù)據(jù)損失
存儲(chǔ)設(shè)備是黑客最喜歡的內(nèi)部攻擊目標(biāo),這是因?yàn)樗鼈儽4媪水a(chǎn)品的固件和敏感數(shù)據(jù)。很多設(shè)備可以在線讀出數(shù)據(jù),而且可以在工作期間提供臨時(shí)的文本數(shù)據(jù)。如果您的設(shè)備具有防篡改傳感器,您就可以利用硬件或軟件資源來(lái)迅速抹掉敏感數(shù)據(jù)。有幾家廠商提供安全存儲(chǔ)設(shè)備來(lái)保護(hù)內(nèi)部數(shù)據(jù)。例如,Dallas Semiconductor公司的 DS2432 既有 1024 位 EEPROM,又有一個(gè) 64 位保密引擎和 512 位安全散列算法引擎,以提供低成本的基于認(rèn)證的安全性(圖 1)。DS2432 售價(jià)是 2.03 美元(1000 件批量)。
圖 1,Dallas Semiconductor公司的 DS2432 具有 1128 位5V EEPROM(它分區(qū)成 4 頁(yè),每頁(yè) 256 位)、一個(gè) 64 位只寫保密寄存器和5 個(gè)通用讀/寫寄存器。
在軟件方面,嵌入式產(chǎn)品為黑客提供了很多入侵機(jī)會(huì)。與臺(tái)式產(chǎn)品不同的是,嵌入式產(chǎn)品采用數(shù)十種軟件體系結(jié)構(gòu)和操作系統(tǒng),而這些軟件體系結(jié)構(gòu)和操作系統(tǒng)的安全等級(jí)各不相同,視其制造商的專業(yè)技能而定。為了建立系統(tǒng)安全標(biāo)準(zhǔn),美國(guó)、加拿大和幾個(gè)歐洲國(guó)家制定了《信息技術(shù)安全評(píng)估共同準(zhǔn)則》 ,或簡(jiǎn)稱《共同準(zhǔn)則》。《共同準(zhǔn)則》結(jié)構(gòu)允許消費(fèi)者、開(kāi)發(fā)商和評(píng)估人員按標(biāo)準(zhǔn)的保護(hù)措施和 EAL(評(píng)估保證等級(jí))規(guī)定產(chǎn)品的安全功能。雖然還沒(méi)有操作系統(tǒng)得到最高的 EAL-7 認(rèn)證,但有幾項(xiàng)開(kāi)發(fā)計(jì)劃正在進(jìn)行。例如,LynuxWorks公司 正在對(duì)其 LynxOS-178 操作系統(tǒng)進(jìn)行一次小規(guī)模運(yùn)行狀態(tài)下內(nèi)核的改進(jìn),并期望對(duì)它進(jìn)行最高等級(jí)的正式驗(yàn)證和測(cè)試。EAL-7 等級(jí)認(rèn)證需要詳盡的數(shù)學(xué)分析,這就把此類軟件的長(zhǎng)度限制在最多 6000~7000 行代碼以內(nèi)。
評(píng)論