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