https://newera17031.activehosted.com/index.php?action=social&chash=19de10adbaa1b2ee13f77f679fa1483a.2906&nosocial=1
https://newera17031.activehosted.com/index.php?action=social&chash=19de10adbaa1b2ee13f77f679fa1483a.2906&nosocial=1

觀點

比照軟體開發作法 強化嵌入式系統安全防護

2013 / 03 / 01
洪光鈞、劉作仁
比照軟體開發作法  強化嵌入式系統安全防護

在過往資安議題中,軟體安全漏洞主要發生於使用者端與伺服端的應用程式軟體或系統上,因此多數人都認為,這些資訊安全問題只會發生在個人電腦或伺服器;然而近年來,許多國際資安會議上卻不斷出現或揭露在個人電腦或伺服器以外的資安問題,從手機、印表機自動櫃員機(ATM)開始,甚至連處於關鍵地位的工控設備也相繼出現安全漏洞,這使得各界注意到這些資安問題不僅會發生於個人電腦或伺服器上。

任何能與使用者或其它設備或程式互動,以及具備網路相關功能的設備,都存在被攻擊的安全風險,這其中又以嵌入式系統的影響最大,主要原因在於嵌入式系統應用範圍極為廣泛。本文將針對嵌入式系統資安問題進行探討,並說明如何利用現有資安檢測技術,對採用嵌入式系統的設備進行資安測試,以發掘潛在資安問題,達到即時修補、降低風險的目的。

什麼是嵌入式系統?

根據英國電機工程師協會(U.K. Institution of Electrical Engineer)的定義,嵌入式系統為控制、監視或輔助設備、機器或工廠運作的裝置,通常用於執行特定功能。不同於現今常見的使用者電腦或伺服器,嵌入式系統則是以微電腦與周邊構成核心,其規模可由如8051單晶片到先進的x86晶片系統不等;也就是說嵌入式系統是一種電腦軟體與硬體的綜合體,針對特殊需求開發出的專用系統,如:航空電子、車用電腦、智慧型手機、監視系統、自動櫃員機、印表機及工業控制系統等。

嵌入式系統的目的在於完成特定功能,並非提供高速運算能力與龐大儲存空間,他所強調的是系統穩定度、精確度及全自動操作循環。因為嵌入式系統主要用在機器控制上,稍有不慎則可能造成災害;而全自動操作循環則是在遇到斷電與其他外力影響而導致運作中斷時,能夠自動恢復到先前的運作狀態。目前被全球公認第一個嵌入式系統運用在航太科技的慣性導航系統(Inertial Navigation System, INS),是由麻省理工學院儀器研究室所開發的阿波羅導航電腦。

現今嵌入式設備的組成主要包含軟體與硬體,其架構在硬體方面主要有CPU、Memory及Bus等硬體元件,而在軟體方面,則由OS、Drivers及Applications等所組成,這樣的架構與組成和PC其實非常相似,嵌入式設備內部架構詳見圖1。嵌入式作業系統的運用範圍相當廣泛,從資通訊、家電、醫療設施到國防及航太科技等,生活周遭隨處可見嵌入式設備或系統。

圖1、嵌入式設備內部架構

3大已知嵌入式系統資安威脅

近年來,嵌入式系統安全性成為資安界熱門討論的話題,相關的設備被駭客入侵或是發現弱點的案例層出不窮。在2010年美國駭客年會(Black Hat)上,有位資安研究員將一台自動櫃員機搬到會場,現場示範如何遠端攻擊,並讓自動櫃員機自動將鈔票吐出來。此外,在漏洞研究網站中可以發現許多嵌入式系統安全漏洞,像是針對智慧型手機、網路設備及印表機等的漏洞攻擊程式。

以下將針對近年來已發現且較容易在安全防護上有所疏忽的嵌入式系統或設備安全議題進行探討,希望藉由這些案例經驗能夠提升大家對嵌入式系統安全的重視。

第1、 印表機資安問題

印表機的安全漏洞早在2005年即由資安研究員Adrian Crenshaw提出,當時研究結果顯示,印表機存在許多遠端安全漏洞,且在網路上被公開揭露,包含管理權限未適當控管與機敏資料未加密等問題。

許多讀者可能認為,公司或單位的印表機並未連上網路,即使存在安全漏洞也不會被駭客攻擊,這樣的想法在2011年時被證明是危險的;資安研究員Ang Cui與Jonathan Voris發表的印表機安全漏洞研究,並指出3個重點:(1)印表機可被安裝惡意程式;(2)當印表機列印一個經過特殊構造的惡意文件檔案時,可被攻擊並取得控制權;(3)網路上數百萬部的印表機存在安全漏洞。這樣的情形使得印表機就算未直接連上網路,在內部網路也有可能因為列印了惡意文件而導致印表機遭到控制。

以往印表機安全政策可能著重在員工文件列印的管理,但近年來這些有關印表機的資安研究結果顯示,印表機本身也可能成為被駭客攻擊的目標;加上現今的印表機本身會利用硬碟暫存相關文件資料,因此,駭客更想攻擊印表機得到這些暫存的文件資料。此外,筆者也利用Goole直接搜尋網路上印表機的管理頁面,發現有高達百萬筆的搜尋結果(圖2),顯示為數眾多的印表機是直接曝露在網路上。

 

↑↑ 圖2、在Google上搜尋印表機的管理頁面,發現有許多印表機是直接連到網路上。

2、 網路設備資安問題

2012年10月,巴西450萬個網路設備遭到攻擊。這種針對網路設備的資安攻擊,從2011年開始增加,駭客透過已知安全漏洞攻擊網路設備,並更換這些設備的DNS位置,讓使用者連線至假造的網站,除針對使用者的瀏覽器或相關元件(例如Java)進行攻擊外,還會誘騙使用者安裝惡意程式;經調查,有6家廠牌的產品存在安全漏洞,安全公司在其中一台控制伺服器的日誌中,發現了至少14萬部使用者主機受到感染,這個事件顯示出許多問題,例如ISP、設備製造商的處理時效與方式,或者使用者網路與設備使用習慣等。

2012年7月,華為(Huawei)的3個小型路由器被發現存在安全漏洞,這些漏洞利用基本的駭客技術就能攻擊成功;2012年10月,美國眾議院情報委員會針對中國的華為與中興通訊(ZTE)進行長達1年的調查,調查報告(Investigative Report on the U.S. National Security Issues Posed by Chinese Telecommunications Companies Huawei and ZTE)中聲稱,華為與中興對美國國家安全構成威脅,其網路設備除了存在容易遭到攻擊與利用的安全漏洞外,並可用於對美間諜活動。

除了美國以外,澳洲與法國已分別實行或建議禁止中國大陸的設備,尤其是路由器部分在本國的販售。在此不論這些國家的政治考量為何,但這樣的案例或事件多少也顯示出對於網路設備甚至可以說是嵌入式設備安全的不信任感。

第3、 關鍵基礎設施資安問題

嵌入式系統除了應用於上述所提及的設備外,還可應用於工業控制設備,而工控設備所使用的領域多數處於關鍵地位的基礎設施,如水力、電力、天然氣及核能等重要基礎設施,這些關鍵基礎設施存在資安問題的風險與影響,遠高於一般的使用者電腦或伺服器,若重要基礎設施遭到駭客攻擊,所造成的損失將難以估計。

美國政府為了防止關鍵基礎設施遭到駭客攻擊,在2009年成立ICS-CERT(Industrial Control Systems Cyber Emergency Response Team)單位,專責工業控制系統相關安全。

工業控制系統的安全性逐漸成為資安研究人員與駭客感興趣的議題,美國駭客年會從2011年開始,開設工業控制系統安全的相關課程,另外,在一些2012年初發表的資安文章中指出,資安研究員透過檢測技術,已發現至少8個以上的安全漏洞,存在漏洞的廠商包括GE、Rockwell、Schneider、Koyo及SEL等5家國際知名廠商所販售的6個頂級工業控制系統(設備);這些都在在顯示了工業控制這類嵌入式系統安全性議題,逐漸成為資安研究人員,甚至是駭客所喜愛投入的研究領域。

從開發者與使用者角度看嵌入式系統問題來源

從嵌入式系統開發角度來看,硬體的限制導致開發人員必須在有限資源下開發出體積較小的程式,並針對程式運作效能做最佳化,其訴求主要為系統的「穩定」與「效能」,使得開發人員經常無法兼顧或疏忽安全的重要性。這成為嵌入式系統的資安問題之一,此外尚有成本考量與連網需求等所帶來的問題。

過往的外部網路攻擊威脅多半不會對嵌入式系統產生風險,這是由於嵌入式系統或設備大多安裝於內部網路環境或未提供網路相關功能;但近年來,來自內部網路的攻擊非常盛行,無論透過USB感染或是惡意電子郵件,駭客總有方法可以取得內部網路中某位員工的電腦控制權,從而自內部開始發動攻擊。

因此,這些傳統的嵌入式設備由於沒有資安相關的考量,經常存在許多安全漏洞,使得駭客在攻擊內部網路時,也同時會針對這些相對較易成功的設備來進行攻擊,並設法取得控制權;此外,由於這些設備具有特殊的功能或作用,例如:攝影、機械控制功能等,且較缺乏管制或管理,被取得控制權後,較不易被使用者發現與復原。

由外部網路攻擊發展至內部的攻擊活動,嵌入式系統面臨來自各方的資安挑戰,並不斷被揭露出相關問題,關於這些問題,我們可以從開發商與使用者兩個角來探討。

從系統開發者角度看資安

從開發商的角度來看,常見的嵌入式系統問題來源大致可以歸納以下幾項:

第1、 開發思維:
開發人員追求的是系統性能與穩定性,並在有限的硬體支援下,儘量減少程式大小與有效利用現有硬體資源,對於資訊安全的考量並非絕對需要,甚至完全未考量。

第2、 生產與成本考量
(1) 為符合出貨時間與產品交付日期,開發團隊只為開發出「滿足基本的功能或需求」之產品而努力,測試團隊也僅就功能面加以測試;團隊由於時間的限制,無法進行全面性的規劃、設計及測試,尤其是資訊安全方面。
(2) 硬體成本考量,為降低成本,採用價格較為便宜之硬體元件,除了可能犧牲穩定性外,更容易造成資安品質的降低,例如晶片來源廠商所提供的驅動程式或SDK存在安全漏洞。

第3、 連網需求
(1) 因應使用者或客戶需要,提供遠端管理功能,或與其他設備進行網路的互動與整合,甚至接上網路,因而增加嵌入式設備遭到駭客攻擊的風險。
(2) 結合雲端化服務,目前已有許多3C產品提供連接雲端的服務,例如可透過雲端連線嵌入式設備,除可查詢外,更可進行設備的管理;這樣的功能帶來了方便性,但卻也增加駭客入侵的另一個管道。

第4、 更新與修補困難;
設備商未重視安全更新與修補;許多設備商在開發階段除未重視安全性外,也沒有制定一套產品的整體資安回應流程或機制,因此,多數的嵌入式系統或設備發生資安問題時,無法進行更新或修補,或者僅在官網上讓客戶「自行」下載,導致存在漏洞的產品或設備仍在線上持續運作。

從使用者角度看資安

在使用者方面,除了對於嵌入式系統或設備缺乏安全意識外,嵌入式系統或設備執行的特殊軟、硬體環境也是造成安全問題發生的原因,常見的安全問題原因有以下幾項:

第1、 現有資安防護措施無法快速的布建到嵌入式設備上,這個問題也是目前嵌入式系統面臨安全威脅的主要原因之一。這個原因可分為三個面向來討論。
(1) 由於嵌入式硬體設備與一般x86的電腦設備不同,嵌入式作業系統也種類繁多,因此在現有x86架構上所安裝的防護軟體,多數無法安裝於嵌入式系統,例如防毒軟體。
(2) 當嵌入式系統遭到駭客植入惡意程式時,無法藉由其他的防護軟體或工具將惡意程式停止或移除。
(3) 即使目前有廠商提出了針對嵌入式系統的防護工具或防毒軟體,但當這些嵌入式設備處於關鍵地位並執行重要任務時,例如關鍵基礎設施相關設備,防護工具或軟體是否有絕對不會誤判或造成不穩定的保證,因為只要一次的誤判,所造成的影響將非常重大。

第2、 更新與修補困難
(1) 未連接網際網路;即使設備商提供了更新與修補的韌體,設備本身也具備線上韌體更新的功能,若嵌入式設備未連接網際網路,則無法透過網際網路連線至設備商官網進行安全性更新。
(2) 重要設備停機困難;嵌入式系統與設備多負責重要的工作與執行特殊目的,即使出現已公開的資安問題,廠商也已釋出更新程式或修補方案,礙於這些設備處於重要地位,甚至需全年無休的執行作業,因此無法進行更新。

第3、 疏於監控與管理。設備的Log從來未查看,或未開啟Log機制;仍在使用存在安全漏洞的軔體版本。

第4、 使用習慣不良與安全意識不足
(1) 設備裝機後直接使用。所有設定為預設值,連密碼也是預設值。
(2) 未嚴格設定或限制所開放的服務。任何人或任何IP均可連線設備並使用提供的服務,例如DNS Server;任何人或任何IP均可從遠端連線管理介面,例如Web、SSH及Telnet。
(3) 一個管理者帳號大家共同使用。為了方便管理,使用同一組帳號或同一組萬用密碼,這也方便了駭客入侵這些設備。

結論與建議

嵌入式系統運用的範圍相當廣泛,這些設備遍及一般大眾的生活之中,因此嵌入式系統也逐漸成為駭客所覬覦的目標。這樣的攻擊趨勢在近年來的國外資安研討會、知名駭客年會及漏洞蒐集網站都可以發現,越來越多相關的嵌入式系統討論議題。

有關嵌入式系統的資安,日本著名的資訊與資安機構IPA( Information-technology Promotion Agency)在其官網上公開發表一份指引「Approaches for Embedded System Information Security」,有興趣的讀者可以花些時間閱讀這篇文章,對提升嵌入式系統的安全有很大的助益。

而針對目前嵌入式系統常見的安全威脅,本文另提出以下的防範參考建議(表1)。由於嵌入式系統也是屬於軟體開發的一類,軟體開發過程可能會出現的安全性問題,在嵌入式系統中同樣可能存在。

為了提高嵌入式系統安全,管理政策應特別考量具備網路功能的嵌入式設備管制與稽核,例如最小存取控制與權限控制機制等安全措施,搭配定期資安相關檢測技術進行檢測與驗證,例如針對原始碼進行源碼檢測、執行弱點掃描或滲透測試時,將這些重要的嵌入式設備納入測試範圍,藉此提升嵌入式系統的安全性,以降低整體安全威脅與風險。

表1、嵌入式系統安全威脅防範建議
問題來源

防範建議

開發思維 發展安全程式開發流程來達到資安品質的提升,從嵌入式產品的規劃、設計、開發至驗證等階段加入資安相關的考量
生產與成本考量 設備出廠前或上線前落實資安檢測的執行,可考量委請外部資安團隊的方式來執行
連網需求

1、利用週邊資安防護設備加強防護
2、定期檢測設備的網路流量與Log
3、查看是否有異常的流量與連線

更新與修補困難 1、建立資安問題回應團隊
2、留意漏洞資訊網站並定期追蹤最新的相關資安漏洞
3、維護一份重要設備清單,並定期至原廠官網查詢是否有發布修正程式,並進行韌體更新
4、開啟韌體自動更新機制 (小心使用)
現有資安防護措施無法快速佈建到嵌入式設備上 1、透過防護策略、管理流程的制訂及定期稽核,加強對重要設備的保護,例如權限控管或存取機制
2、利用監控的方式來加強設備的保護,例如安裝IDS或Log的蒐集與分析
疏於監控與管理 同樣可透過管理與稽核程序來強化
使用習慣不良與安全意識不足 1、上線前後的管理機制或SOP
2、最小化權限存取
3、最小化應用服務
4、加密的連線方式

 

本文作者現任職於資安研究單位。如您對本文有任何想法,歡迎來信交流:isnews@newera.messefrankfurt.com