嵌入式是一種專用的計(jì)算機(jī)系統(tǒng),,作為裝置或設(shè)備的一部分。通常,,嵌入式系統(tǒng)是一個(gè)控制程序存儲(chǔ)在ROM中的嵌入式處理器控制板,。事實(shí)上,所有帶有數(shù)字接口的設(shè)備,,如手表,、微波爐、錄像機(jī),、汽車等,,都使用嵌入式系統(tǒng),有些嵌入式系統(tǒng)還包含操作系統(tǒng),,但大多數(shù)嵌入式系統(tǒng)都是是由單個(gè)程序?qū)崿F(xiàn)整個(gè)控制邏輯,。如果能在系統(tǒng)設(shè)計(jì)之初考慮廣泛使用的嵌入式系統(tǒng)的安全問題,可減少系統(tǒng)的安全維護(hù)工作,。
1 綜合實(shí)例
嵌入式系統(tǒng)在醫(yī)療儀器中的應(yīng)用普及率極高,。在設(shè)計(jì)過程中,根據(jù)需要對嵌入式系統(tǒng)重新編程,,可避免前端流片(NRE)成本,,減少和ASIC相關(guān)的訂量,降低芯片多次試制的巨大風(fēng)險(xiǎn),。此外,,隨著標(biāo)準(zhǔn)的發(fā)展或者當(dāng)需求出現(xiàn)變化時(shí),還可以在現(xiàn)場更新,,而且設(shè)計(jì)人員能夠反復(fù)使用公共硬件平臺(tái),,在一個(gè)基本設(shè)計(jì)基礎(chǔ)上,建立不同的系統(tǒng),,支持各種功能,,從而大大降低生產(chǎn)成本。使產(chǎn)品具有較長的生命周期,,可以保護(hù)醫(yī)療儀器不會(huì)太快過時(shí),,醫(yī)療行業(yè)的產(chǎn)品生命周期比較長,因此這一特性非常重要?,F(xiàn)代數(shù)字醫(yī)療儀器設(shè)備不但包括診療設(shè)備,,而且還有數(shù)據(jù)存儲(chǔ)服務(wù)器和接口軟件,。嵌入式系統(tǒng)可為醫(yī)療儀器設(shè)備設(shè)計(jì)、生產(chǎn)和使用提供先進(jìn)的技術(shù)支持,。
2 原因分析
?。?)價(jià)格因素,。結(jié)構(gòu)簡單好用,,價(jià)格便宜也是嵌入式設(shè)計(jì)追求目標(biāo)。公司在選擇芯片時(shí),,滿足好用夠用就可以了,。如果從軟硬件上增加過多的安全措施,成本則會(huì)提高,。而簡約的嵌入式系統(tǒng)上大量使用的4位和8位機(jī),,也不能運(yùn)行過多的安全任務(wù)。
?。?)面廣量大,。嵌入式系統(tǒng)在生活、工作,、娛樂,、教育、軍事等方面大量使用,。如果系統(tǒng)設(shè)計(jì)有缺陷,,則影響面非常大。若有的嵌入式系統(tǒng)被入侵者利用,,將會(huì)成為多點(diǎn)攻擊的武器,。
(3)電源的限制,。許多嵌入式系統(tǒng)都是用電池供電,,如果尋找方法將其電力提前耗盡而又沒有得到及時(shí)的更換, 則該系統(tǒng)將處于癱瘓狀態(tài),,很容易造成安全漏洞,,從而為入侵者開了方便之門。
?。?)開發(fā)隊(duì)伍和環(huán)境的制約,。許多嵌入式系統(tǒng)都是小團(tuán)隊(duì)做的。由于缺少安全方面的專家及經(jīng)費(fèi)短缺,,設(shè)計(jì)中對安全問題考慮不足,。而用戶往往也只追求嵌入式產(chǎn)品的小巧精致,方便好用即可,。
3 安全分析方法
有二種安全性分析技術(shù):故障模型及后果分析(Failure Mode and Effect Analysis,,F(xiàn)MEA)和故障樹分析(Failure Tree Analysis,,F(xiàn)TA)。安全性分析是對因果關(guān)系的探討,,“因”即引起安全問題的原因,,而“果”就是潛在的危害。
3.1 FMEA和嵌入式應(yīng)用實(shí)例
FMEA是一種可靠性設(shè)計(jì)的重要方法,。它實(shí)際上是FMA(故障模式分析)和FEA(故障影響分析)的組合,。它對各種可能的風(fēng)險(xiǎn)進(jìn)行評價(jià)、分析,,以便在現(xiàn)有技術(shù)的基礎(chǔ)上消除這些風(fēng)險(xiǎn)或?qū)⑦@些風(fēng)險(xiǎn)減小到可接受的水平,。
圖1為一個(gè)較為典型的FMEA分析技術(shù)。
3.2 FTA及其嵌入式應(yīng)用實(shí)例
FTA也是一種用來分析安全性和可靠性問題的技術(shù),。FTA與FMEA分析方法不同,。FTA從所有可能的事件開始,并圍繞事件的結(jié)果做工作,。FTA是用圖示的方法直接從已確定安全事件(處于樹的頂層)開始,,反向找出問題發(fā)生的原因。設(shè)計(jì)FMEA(也記為d-FMEA)應(yīng)在一個(gè)設(shè)計(jì)概念形成之時(shí)或之前開始,,并且在產(chǎn)品開發(fā)各階段中,,當(dāng)設(shè)計(jì)有變化或得到其他信息時(shí)及時(shí)不斷地修改,并在圖樣加工完成之前結(jié)束,。其評價(jià)與分析的對象是最終的產(chǎn)品以及每個(gè)與之相關(guān)的系統(tǒng),、子系統(tǒng)和零部件,圖2是應(yīng)用FTA分析嵌入式產(chǎn)品安全問題的一個(gè)簡單示例,。
4 嵌入式系統(tǒng)安全問題解法方案
網(wǎng)絡(luò)安全是使網(wǎng)絡(luò)系統(tǒng)的硬件,、軟件及數(shù)據(jù)受到保護(hù),避免因意外或惡意的操作而遭到破壞,、更改,、泄露,從而保證系統(tǒng)連續(xù),、可靠,、正常地運(yùn)行,網(wǎng)絡(luò)服務(wù)不中斷,。三個(gè)基本的網(wǎng)絡(luò)安全服務(wù)是:數(shù)據(jù)加密,、內(nèi)容完整性和授權(quán)。
4.1 嵌入式系統(tǒng)安全的三個(gè)層次
嵌入式系統(tǒng)安全要綜合考慮物理層,、平臺(tái)層以及應(yīng)用層三個(gè)方面,。
(1)物理層。嵌入式系統(tǒng)物理層的安全問題比較容易解決,。就系統(tǒng)本身而言,,根據(jù)系統(tǒng)的工作環(huán)境,在設(shè)計(jì)目標(biāo)和設(shè)計(jì)要求時(shí)選擇符合相關(guān)標(biāo)準(zhǔn)的器件,,進(jìn)行規(guī)范化設(shè)計(jì)和施工就可以了,。但從整個(gè)行業(yè)規(guī)范來看,由于網(wǎng)絡(luò)系統(tǒng)的脆弱性,,致使電子通信的可靠性下降,,而市場對安全信任的需求又越來越迫切,促使一些大型IT公司決定共同解決這個(gè)課題,。為了建立工業(yè)規(guī)范并實(shí)現(xiàn)值得信任的計(jì)算方案,,在1999年建立了“值得信任的計(jì)算平臺(tái)聯(lián)盟”(Trusted Computer Platform Association,,TCPA),。其目標(biāo)就是使信息和通信制造符合標(biāo)準(zhǔn),在系統(tǒng),、子系統(tǒng)和部件中實(shí)現(xiàn)值得信任的計(jì)算規(guī)范,。目前,TCPA有160多個(gè)成員,,其中就有很多的生產(chǎn)硬件的企業(yè),。
(2)平臺(tái)層,。據(jù)統(tǒng)計(jì),,現(xiàn)有嵌入式產(chǎn)品中,4位機(jī)沒有使用操作系統(tǒng)的實(shí)例,,8位機(jī)約有30%使用了操作系統(tǒng),,而16位機(jī)以上的嵌入式產(chǎn)品帶有操作系統(tǒng)的占了70%以上。嵌入式操作系統(tǒng)的規(guī)模一般都比較小,,不少產(chǎn)品開放了源碼,,使得操作系統(tǒng)本身幾乎是透明的,不會(huì)存在“后門”的情況,。但由于嵌入式操作系統(tǒng)受到系統(tǒng)規(guī)模的限制,,不可能像Windows XP SP2那樣使用過多的安全措施。其主要作用還是隔離硬件層,,便于產(chǎn)品開發(fā)和維護(hù),。
(3)應(yīng)用層,。傳統(tǒng)的保證數(shù)據(jù)安全的方法是對數(shù)據(jù)進(jìn)行加密傳輸,。不少嵌入式處理器處理數(shù)據(jù)的能力不高,浮點(diǎn)運(yùn)算能力不強(qiáng),,若要提供實(shí)時(shí)的數(shù)據(jù)加解密運(yùn)算,,處理器的速度往往不能勝任,。根據(jù)系統(tǒng)要求,優(yōu)先選擇開銷小的安全協(xié)議和算法,,或者由硬件來實(shí)施加解密算法,。
4.2 安全防御技術(shù)
網(wǎng)絡(luò)安全防御技術(shù)可分為主動(dòng)防御技術(shù)和被動(dòng)防御技木。網(wǎng)絡(luò)安全技術(shù)指致力于解決諸如如何有效進(jìn)行介入控制,,以及何如保證數(shù)據(jù)傳輸?shù)陌踩缘募夹g(shù)手段,,主要包括物理安全分析技術(shù),網(wǎng)絡(luò)結(jié)構(gòu)安全分析技術(shù),,系統(tǒng)安全分析技術(shù),,管理安全分析技術(shù),及其它的安全服務(wù)和安全機(jī)制策略,。
?。?)主動(dòng)防御技術(shù)
主動(dòng)防御技術(shù)一般有數(shù)據(jù)加密、身份驗(yàn)證,、存取控制,、授權(quán)和虛擬網(wǎng)絡(luò)等技木。下面介紹二種能在嵌入式系統(tǒng)中實(shí)施的,、較新的安全技術(shù),。
①虛擬網(wǎng)絡(luò)技術(shù)(Virtual Private Network,,VPN)
虛擬專用網(wǎng)絡(luò)(Virtual Private Network ,,簡稱VPN)指的是在公用網(wǎng)絡(luò)上建立專用網(wǎng)絡(luò)的技術(shù)。其之所以稱為虛擬網(wǎng),,主要是因?yàn)檎麄€(gè)VPN網(wǎng)絡(luò)的任意兩個(gè)節(jié)點(diǎn)之間的連接并沒有傳統(tǒng)專網(wǎng)所需的端到端的物理鏈路,,而是架構(gòu)在公用網(wǎng)絡(luò)服務(wù)商所提供的網(wǎng)絡(luò)平臺(tái),如Internet,、ATM(異步傳輸模式〉,、Frame Relay (幀中繼)等之上的邏輯網(wǎng)絡(luò),用戶數(shù)據(jù)在邏輯鏈路中傳輸,。它涵蓋了跨共享網(wǎng)絡(luò)或公共網(wǎng)絡(luò)的封裝,、加密和身份驗(yàn)證鏈接的專用網(wǎng)絡(luò)的擴(kuò)展。VPN主要采用了彩隧道技術(shù),、加解密技術(shù),、密鑰管理技術(shù)和使用者與設(shè)備身份認(rèn)證技術(shù)。
?、诿酃藜夹g(shù)(Honeypot)和蜜網(wǎng)技術(shù)(Honeynet)
蜜罐是一個(gè)包含漏洞的誘騙系統(tǒng),,它是專門為吸引并“誘騙”那些試圖非法闖入他人計(jì)算機(jī)系統(tǒng)的人設(shè)計(jì)的。它通過模擬一個(gè)或多個(gè)易受攻擊的主機(jī),給攻擊者提供一個(gè)容易受攻擊的目標(biāo),。經(jīng)過多年的研究發(fā)展,,蜜罐技術(shù)已經(jīng)發(fā)展成為誘騙攻擊者的一種非常有效而實(shí)用的方法,其應(yīng)用集中在對外部威脅的識(shí)別,。蜜罐技術(shù)與防火墻技術(shù),、入侵檢測技術(shù)、病毒防護(hù)技術(shù),、數(shù)據(jù)加密和認(rèn)證技術(shù)有很大不同,,后者是在攻擊者對網(wǎng)絡(luò)進(jìn)行攻擊時(shí)對系統(tǒng)進(jìn)行被動(dòng)的防護(hù),而蜜罐技術(shù)可以采取主動(dòng)的方式,。
蜜網(wǎng)(其自由組織網(wǎng)址是http://www.honeynet.org)可以說是更安全,、更強(qiáng)大的蜜罐,它由很多網(wǎng)絡(luò)上“蜜罐”的“陷阱”構(gòu)成,,它以更合理的方式記錄下黑客的行動(dòng),,同時(shí)盡量減少可能對其他系統(tǒng)造成的危害。成功的案例表明,,蜜網(wǎng)誘使許多黑客白白浪費(fèi)了大量精力,。
(2)被動(dòng)防御技術(shù)
目前,,被動(dòng)防御技術(shù)有防火墻技術(shù)、安全掃描器,、密碼檢查器,、記賬服務(wù)、路由過濾等,。
?、俜阑饓Γ‵irewall)技術(shù)
防火墻是內(nèi)部網(wǎng)與外網(wǎng)之間實(shí)施安全防范的系統(tǒng),可被認(rèn)為是一種訪問控制機(jī)制,,用于確定哪些內(nèi)部服務(wù)允許外部訪問,,以及哪些外部服務(wù)允許內(nèi)部訪問。根據(jù)不同的配置,,防火墻可以分為:數(shù)據(jù)包過濾防火墻,、代理服務(wù)型防火墻、監(jiān)測型防火墻,、網(wǎng)絡(luò)地址轉(zhuǎn)換型防火墻,。防火墻技術(shù)是目前用得較多的安全技術(shù)。防火墻大多放在網(wǎng)關(guān)上,,因此在上網(wǎng)的嵌入式設(shè)備上使用非常方便,,效果也較好。
②安全檢測(Security Detection)
安全檢測功能可自動(dòng)檢測遠(yuǎn)程或本地主機(jī)安全性,,用于觀察網(wǎng)絡(luò)是否在正常工作,,收集主機(jī)的信息,并提出安全建議,。大型操作系統(tǒng)一般都有此功能,,當(dāng)然也可在應(yīng)用級設(shè)計(jì)安全掃描程序。另外當(dāng)系統(tǒng)遭受攻擊時(shí),,系統(tǒng)還可以對攻擊進(jìn)行檢測,,識(shí)別出網(wǎng)絡(luò)攻擊行為,并讓系統(tǒng)采取相應(yīng)的對策,。安全任務(wù)既可以由嵌入式設(shè)備自身實(shí)施,,也可以由上位機(jī)實(shí)現(xiàn)。
?、鄯?wù)登記(Service Log)
在系統(tǒng)中保留一個(gè)日志文件,,與安全相關(guān)的事件可以記錄在日志文件中備查和分析,用以追查有關(guān)責(zé)任者,,發(fā)現(xiàn)系統(tǒng)安全的弱點(diǎn)和可入侵點(diǎn),。嵌入式系統(tǒng)可以將工作日志記錄在其服務(wù)器。顯然這項(xiàng)功能會(huì)加重處理器和數(shù)據(jù)傳輸?shù)呢?fù)擔(dān),,所以記錄的項(xiàng)目不宜太多太細(xì),。
④數(shù)據(jù)備份(Data Backup)
將系統(tǒng)的重要數(shù)據(jù)和過程實(shí)時(shí)記錄下來,,以便系統(tǒng)遭受損壞后盡快恢復(fù),。嵌入式系統(tǒng)由于資源受限,往往不可能對其數(shù)據(jù)進(jìn)行本機(jī)備份,,可通過網(wǎng)絡(luò)進(jìn)行異地備份,。
綜合以上的安全因素和防御方法可以看出,各種方法各有其特點(diǎn),,使用時(shí)要根據(jù)風(fēng)險(xiǎn)級別,、系統(tǒng)設(shè)計(jì)目標(biāo)和系統(tǒng)造價(jià)進(jìn)行綜合考慮。對大量使用的,、性能一般的嵌入式微處理系統(tǒng),,防火墻和IPSec技術(shù)具有配置靈活、性價(jià)比較高等特點(diǎn),,是容易采用且較為成熟的技術(shù),。
5 結(jié)束語
由于嵌入系統(tǒng)安全問題的復(fù)雜性,決定了必須采用軟件工程方法來分析,。對系統(tǒng)防御也必須綜合實(shí)施,,沒有一個(gè)萬全之策,。目前嵌入式方面的安全研究工作國內(nèi)還做得不多,因此還需要投入大量的研究,。