摘 要: 闡述了網絡互聯背景下的嵌入式系統的安全問題,給出二種分析安全問題的方法在嵌入式系統中的應用,分析了影響系統安全的三種因素并介紹了幾種有效的防御方法。
關鍵詞: 嵌入式系統 網絡安全 防御技術
隨著嵌入式技術的發展,許多嵌入式系統提供了網絡接口。隨之帶來的是廣泛使用的嵌入式系統的安全問題。如果能在系統設計之初考慮安全問題,可減少系統的安全維護工作。本文先通過實例講述一些不引人注意的嵌入式系統的安全問題,然后給出一套綜合解決方案。
1 綜合實例
以帶有網絡控制功能的家用空調系統為例來綜合說明嵌入式系統引起的安全事故。當你下班前,從辦公室電腦可以啟動家中空調,設定其達到的溫度。然而,這種接入因特網的空調也可能遭受潛在的攻擊。入侵者可以控制家中的空調。冬天讓室內溫度持續下降使水管凍裂,夏天讓室內溫度持續升高使寵物中暑而死。再把問題擴大一步,假如城市里每家的空調都聯網并和電力調度公司的調度程序發生關聯,用電高峰時,電力公司可以強制設定空調上調或下調溫度,這樣可以避免高峰拉閘。這是空調上網的好處,但被人惡意利用就會變成壞事。如電力公司為贏利,在用電非高峰時集體調節一點空調的設定溫度,使電力消費增加,用戶就增加了開銷。再看隱私方面,如果入侵者設法從網上查到你家的室內溫度,就可以判斷家里有沒有人。
2 原因分析
下面的因素是導致嵌入系統安全問題的根本原因。
(1)價格因素。結構簡單好用,價格便宜也是嵌入式設計追求目標。公司在選擇芯片時,滿足好用夠用就可以了。如果從軟硬件上增加過多的安全措施,成本則會提高。而簡約的嵌入式系統上大量使用的4位和8位機,也不能運行過多的安全任務。
(2)面廣量大。嵌入式系統在生活、工作、娛樂、教育、軍事等方面大量使用。如果系統設計有缺陷,則影響面非常大。若有的嵌入式系統被入侵者利用,將會成為多點攻擊的武器。
(3)電源的限制。許多嵌入式系統都是用電池供電,如果尋找方法將其電力提前耗盡而又沒有得到及時的更換, 則該系統將處于癱瘓狀態,很容易造成安全漏洞,從而為入侵者開了方便之門。
(4)開發隊伍和環境的制約。許多嵌入式系統都是小團隊做的。由于缺少安全方面的專家及經費短缺,設計中對安全問題考慮不足。而用戶往往也只追求嵌入式產品的小巧精致,方便好用即可。
3 安全分析方法
有二種安全性分析技術:故障模型及后果分析(Failure Mode and Effect Analysis,FMEA)和故障樹分析(Failure Tree Analysis,FTA)。安全性分析是對因果關系的探討,“因”即引起安全問題的原因,而“果”就是潛在的危害。
3.1 FMEA和嵌入式應用實例
FMEA可以確定某個部件或組件出現故障之后系統將采取的行為,例如錯誤數據或意料之外的行為發生時,從軟件及硬件上都可以對其行為后果加以分析。
圖1為一個較為典型的FMEA分析技術。
3.2 FTA及其嵌入式應用實例
FTA也是一種用來分析安全性和可靠性問題的技術。FTA與FMEA分析方法不同。FTA從所有可能的事件開始,并圍繞事件的結果做工作。FTA是用圖示的方法直接從已確定安全事件(處于樹的頂層)開始,反向找出問題發生的原因。運用邏輯運算符,如“與”、“或”把與頂層事件有關的中間事件進行連接組合。圖2是應用FTA分析嵌入式產品安全問題的一個簡單示例。在實際應用中往往二種方法綜合應用才能取得較好的效果。
4 嵌入式系統安全問題解法方案
網絡安全是使網絡系統的硬件、軟件及數據受到保護,避免因意外或惡意的操作而遭到破壞、更改、泄露,從而保證系統連續、可靠、正常地運行,網絡服務不中斷。三個基本的網絡安全服務是:數據加密、內容完整性和授權。在解決網絡安全性問題時往往要綜合施治。
4.1 嵌入式系統安全的三個層次
嵌入式系統安全要綜合考慮物理層、平臺層以及應用層三個方面。
(1)物理層。嵌入式系統物理層的安全問題比較容易解決。就系統本身而言,根據系統的工作環境,在設計目標和設計要求時選擇符合相關標準的器件,進行規范化設計和施工就可以了。但從整個行業規范來看,由于網絡系統的脆弱性,致使電子通信的可靠性下降,而市場對安全信任的需求又越來越迫切,促使一些大型IT公司決定共同解決這個課題。為了建立工業規范并實現值得信任的計算方案,在1999年建立了“值得信任的計算平臺聯盟”(Trusted Computer Platform Association,TCPA)。其目標就是使信息和通信制造符合標準,在系統、子系統和部件中實現值得信任的計算規范。目前,TCPA有160多個成員,其中就有很多的生產硬件的企業。目前已經生產出符合TCPA規范的嵌入式安全芯片產品。
(2)平臺層。據統計,現有嵌入式產品中,4位機沒有使用操作系統的實例,8位機約有30%使用了操作系統,而16位機以上的嵌入式產品帶有操作系統的占了70%以上。嵌入式操作系統的規模一般都比較小,不少產品開放了源碼,使得操作系統本身幾乎是透明的,不會存在“后門”的情況。但由于嵌入式操作系統受到系統規模的限制,不可能像Windows XP SP2那樣使用過多的安全措施。其主要作用還是隔離硬件層,便于產品開發和維護。應用中常結合各種安全協議來考慮。
(3)應用層。傳統的保證數據安全的方法是對數據進行加密傳輸。不少嵌入式處理器處理數據的能力不高,浮點運算能力不強,若要提供實時的數據加解密運算,處理器的速度往往不能勝任。根據系統要求,優先選擇開銷小的安全協議和算法,或者由硬件來實施加解密算法。
4.2 安全防御技術
網絡安全防御技術可分為主動防御技術和被動防御技木。
(1)主動防御技術
主動防御技術一般有數據加密、身份驗證、存取控制、授權和虛擬網絡等技木。下面介紹二種能在嵌入式系統中實施的、較新的安全技術。
①虛擬網絡技術(Virtual Private Network,VPN)
虛擬專用網絡是一個虛擬專用網,它允許二個或更多的網絡設備跨越一個不安全的網絡進行安全通信。以Microsoft 公司的IPSec(Internet Protocol Security)協議為代表的VPN平臺,從網絡層(IP 層)實現安全加密。在一個基于IPSec實現的VPN中,一個遠端用戶能夠無縫、透明和高安全性地訪問遠端設備上的任何服務和文件。在IP上層的應用(如Telnet、FTP以及Web服務)都可以集成到這個安全框架內。把IPSec加入到嵌入式設計中也需要一個嵌入式的TCP/IP協議棧,并具有適當的加密/解密入口點和可選的IPSec及IKE(Internet Key Exchange)安全協議模塊。當采用“預共享”密碼實現方案時,嵌入式TCP/IPv4協議棧、IPSec和IPSec密碼庫的內存占用量小于100KB。由于編碼是模塊化的,很容易集成到便攜式硬件、加/解密硬件或者密碼加速器和協處理器中。VPN還有一個顯著優點就是可充分利用現有系統快速實現安全通信。
②蜜罐技術(Honeypot)和蜜網技術(Honeynet)
蜜罐是一個包含漏洞的誘騙系統,它是專門為吸引并“誘騙”那些試圖非法闖入他人計算機系統的人設計的。它通過模擬一個或多個易受攻擊的主機,給攻擊者提供一個容易受攻擊的目標。經過多年的研究發展,蜜罐技術已經發展成為誘騙攻擊者的一種非常有效而實用的方法,其應用集中在對外部威脅的識別。蜜罐技術與防火墻技術、入侵檢測技術、病毒防護技術、數據加密和認證技術有很大不同,后者是在攻擊者對網絡進行攻擊時對系統進行被動的防護,而蜜罐技術可以采取主動的方式。
蜜網(其自由組織網址是http://www.honeynet.org)可以說是更安全、更強大的蜜罐,它由很多網絡上“蜜罐”的“陷阱”構成,它以更合理的方式記錄下黑客的行動,同時盡量減少可能對其他系統造成的危害。成功的案例表明,蜜網誘使許多黑客白白浪費了大量精力。嵌入式產品面廣量大,如果組織合理,蜜網技術將是一種較好的主動防御技術。
(2)被動防御技術
目前,被動防御技術有防火墻技術、安全掃描器、密碼檢查器、記賬服務、路由過濾等。
①防火墻(Firewall)技術
防火墻是內部網與外網之間實施安全防范的系統,可被認為是一種訪問控制機制,用于確定哪些內部服務允許外部訪問,以及哪些外部服務允許內部訪問。根據不同的配置,防火墻可以分為:數據包過濾防火墻、代理服務型防火墻、監測型防火墻、網絡地址轉換型防火墻。防火墻技術是目前用得較多的安全技術。防火墻大多放在網關上,因此在上網的嵌入式設備上使用非常方便,效果也較好,并可以減輕嵌入式產品自身的安全設計負擔。
②安全檢測(Security Detection)
安全檢測功能可自動檢測遠程或本地主機安全性,用于觀察網絡是否在正常工作,收集主機的信息,并提出安全建議。大型操作系統一般都有此功能,當然也可在應用級設計安全掃描程序。另外當系統遭受攻擊時,系統還可以對攻擊進行檢測,識別出網絡攻擊行為,并讓系統采取相應的對策。安全任務既可以由嵌入式設備自身實施,也可以由上位機實現。
③服務登記(Service Log)
在系統中保留一個日志文件,與安全相關的事件可以記錄在日志文件中備查和分析,用以追查有關責任者,發現系統安全的弱點和可入侵點。嵌入式系統可以將工作日志記錄在其服務器。顯然這項功能會加重處理器和數據傳輸的負擔,所以記錄的項目不宜太多太細。
④數據備份(Data Backup)
將系統的重要數據和過程實時記錄下來,以便系統遭受損壞后盡快恢復。嵌入式系統由于資源受限,往往不可能對其數據進行本機備份,可通過網絡進行異地備份。
綜合以上的安全因素和防御方法可以看出,各種方法各有其特點,使用時要根據風險級別、系統設計目標和系統造價進行綜合考慮。對大量使用的、性能一般的嵌入式微處理系統,防火墻和IPSec技術具有配置靈活、性價比較高等特點,是容易采用且較為成熟的技術。
5 結束語
由于嵌入系統安全問題的復雜性,決定了必須采用軟件工程方法來分析。對系統防御也必須綜合實施,沒有一個萬全之策。目前嵌入式方面的安全研究工作國內還做得不多,因此還需要投入大量的研究。
參考文獻
1 Koopman P.Embedded System Security.Computer,2004;(6)
2 Kemp A.Embedded systems:the other problem.Computers & Security,1997;16(6)
3 brkekman B,Notenboom E.Testing Embedded Software.北京:電子工業出版社,2004
4 Tettero O.Information Security Embedded in the Dsign of Telematics Systems.computer & security,1997;16(2)
5 美崎薰(日)著,王慶譯.圖說ITRON/JTRON.北京:科學出版社,2003
6 應錦鑫,曹元大.利用蜜罐技術捕捉來自內部的威脅.網絡安全技術與應用,2005;(1)
7 李紀扣,程曉玲,李雪.IPsec在嵌入式VPN系統中的應用.天津科技大學學報,2004;19(3)
8 殷南,吳灝.嵌入式密碼系統的設計及應用.計算機應用,2004;24(6)
9 吳康.高速安全微控制器發展與前景.今日電子,2004;(10)
10 胡海峰.危險分析方法及其應用.信息安全與通信保密,2004;(12)
11 盧昱編.網絡安全技術.北京:中國物資出版社,2001
12 張紅旗.信息網絡安全.北京:清華大學出版社,2002