SE Android 風險控制功能說明隨著行動裝置快速成長,Android 系統逐漸應用於其他裝置中,如跑步運動記錄、生理健康監測、車用電子與智慧家電等,在其安全的要求上逐漸受到重視,尤其是來自於外來的App、Android本身已存在但未被發現的弱點,及中介層應用的弱點等。對於一台有連網能力且存放個人敏感資訊的裝置而言,這些都是可能造成安全隱憂。
根據ComScore在2012年七月的統計,美國有五成以上是 Android 的系統,而Sophos的2013安全威脅報告中揭露,Android平台已經成為新的攻擊對象。Websense 2012 Threat Report中也提到,行動安全是一個越來越嚴重的議題,Websense安全實驗室分析超過20萬Android應用程式,並且發現惡意程式的數量顯著增加,而Android手機上也已經逐漸有botnet的形成,安全已刻不容緩。
Android因為先天的安全機制設計,把關的責任交給用戶自己決定,而其平台上的安全防禦機制卻還不足且涵蓋率偏低,在AV-TEST的報告中顯示,各家防毒軟體的防護能力有限,一般用戶也還沒有替手機、平板安裝防毒軟體的觀念。隨著新型態的行動惡意軟體與駭客攻擊倍增,如竊取行動銀行帳密的Android殭屍網路ZitMO竊取高達36億歐元,用戶應該開始注意在行動裝置上的防護應該比照電腦的等級。
SE Android全系統的安全政策強制
SE Android(Security-Enhanced Android)是美國國安局所贊助推廣的安全強化版Android專案,參考原本在Linux上所發展的SE Linux所移植,強化操作系統對於應用層與核心層的控管,建立隔離跟沙箱機制。SE Android 可預防安全機制被繞過以及App造成資料外洩的風險,保護App與資料的完整性,避免Android系統的弱點被攻擊,不論是已知或未知。
手機安裝竊聽軟體.....
手機安裝竊聽軟體,除了抓小三小王,還可能對企業營業秘密造成損害。
2012.12 高雄警方破獲網路上販售手機竊聽系統,所有對話、簡訊,都會被記錄複製,包含時間、傳給誰、內容,全都同時被備份到指定電腦。被偷灌監聽軟體的手機,外表完全看不出異狀。就有可能帶到企業中,不管是會議或是利用手機進行公司相關的郵件、通話、簡訊等,都會被截錄造成秘密外洩。
|
SE Android的基本概念是即使最高權限(root)被取得,還是要能夠阻止惡意行為或違反規則的行為。Android 安全模式有兩種,一是應用層權限 (application level),即控制應用程式的權限,可限制使用系統的資源,如:安裝App時會詢問用戶是否同意網路通訊或簡訊等權限。
另一模式是核心層的沙箱與隔離模式(Kernel-level sandboxing and isolation),將App間及系統間做隔離。避免應用層權限模式被繞過。此模式透過Linux核心來實作,就是SE Android 的基本做法。採用強化MAC(強制存取控制)而不是一般的DAC (Discretionary Access Control)。DAC僅做到限制系統資源與App之間的隔離,而SE Android則是基於 SE Linux的觀念,做到全系統的安全政策強制,甚至是 root權限也得遵守,同時也避免權限提升或擴張。
↑↑ Android 發展進程圖。Android 作業系統發展至今,提供內嵌與行動裝置的應用,其安全已逐漸受到重視。(圖片來源:Wind River提供)
OWASP Top10 Mobile Risks列舉行動裝置應用安全目前常見的十大風險,是目前針對行動安全風險方面重要的參考項目。表1從安全強化的SE Android能夠涵蓋部分的安全風險控制做出對照,例如提供不安全的資料儲存於用戶端時還可以被隔離而不易取得、透過policy 限制或強化輸入與權限運作上的確保。
表1、OWASP行動安全10大風險與SE Android對照表
OWASP Top 10 Mobile Risks |
SE Android 風險控制功能說明 |
M1 - Insecure Data Storage 不安全的資料儲存於用戶端 |
Partial ,避免被其他App取得。 |
M2 - Weak Server Side Controls 伺服器端安全控制脆弱 |
No。 |
M3 –Insufficient Transport Layer Protection 傳輸層保護不足 |
No。 |
M4 –Client Side Injection 用戶端注入變造 |
Partial ,可由policy限制。 |
M5 –Poor Authorization and Authentication 身分鑑別與授權機制不嚴謹 |
Partial ,App層可以受到其強化 對於有前後端之應用系統而言,身分驗證就要靠自己 |
M6 –Improper Session Handling 連線階段處理不適當 |
No。 |
M7 –Security Decisions Via Untrusted Inputs 對不受信任輸入來源的而做出的安全決策 |
Partial ,可由policy限制。 |
M8–Side Channel Data Leakage 側通道的資訊洩漏 |
Partial ,其隔離機制與ploicy限制可協助。 |
M9–Broken Cryptography 加密方法不嚴謹或失效 |
Partial ,可由policy限制或強化。 |
M10 –Sensitive Information Disclosure 敏感資訊洩漏 |
Partial ,可由policy限制。 |
資料來源:本文作者整理,2013/1。
SE Android 的強制存取控制(MAC),權限規則由管理者定義,且強制每一個App都要遵行,無法讀取其他App所產生的檔案,每一隻App都是視為獨立的個體。而原生Android的DAC則是每個App自己負責的權限管理,較為鬆散。
目前還在持續發展的中介軟體層控制(Middleware MAC, MMAC)包含安裝時的權限確認與過濾(Install-time MAC)、基於MAC政策設定值,削減已安裝App的權限、在Android中的意圖動作控制(Intent MAC)。因為許多攻擊發生在中介軟體層,介於作業系統與應用軟體中間的軟體,其目的是為了解決程式設計者必須面對不同的作業系統平台、不同網路協定以及不同的資料庫管理系統。
也正因為如此,合法的Inter-Process Call(IPC)呼叫可以接觸到Kernel,而在上述的Kernel層的SE Android MAC仍無法有效地管制。因此有需要在中介層作控管或透過簽章與package 名稱方式辨識出並設定可允許的權限設定。
在美國國安局的推動贊助之下,SE Android也漸漸成熟,在商業化的應用下還有強化軟體品質(QA)與智財權檢查的配套辦法,工業電腦、醫療設備製造商可善加利用。目前仍持續發展中的 SE Android提供一個較安全的行動裝置平台,企業IT可以考慮採用更高權限或專屬化之行動裝置以避免外界的威脅來源,杜絕Android 行動裝置的安全問題。
因為行動裝置的盛行,企業的網路界線已經消失,近來相當熱門的BYOD問題也是企業亟欲了解與防禦的威脅項目,如果帶入企業中的裝置本身已經是被污染或是中毒,這樣會直接影響企業資訊環境或資料安全,基於BYOD的風險與裝置遺失,以下幾點建議:在使用上必須記得要設定密碼、盡可能採用全機資料加密、權限區隔、不安裝非正式來源的應用App、設定使用認得的wifi (即便名稱相同也要注意)、避免連接企業內部網路或電腦。
SE Android如何阻擋不安全的行為?
以CVE-2011-1823為例子,vold 是Android 的volume daemon,是在最高權限下運作,可以管理跟磁碟有關之掛載與接收 Kernel 端來的netlink 訊息。風險在於未驗證訊息來源及未檢查小於零的整數值,而GingerBreak 就是利用這個做為其取得權限的一種攻擊手法。如果採用在SE Android 下會如何呢? 依據規則是會被拒絕執行,因為來源非允許範圍,標示宣告與追蹤App的權限,阻擋未經過授權的IPC,而攻擊手法就不會成功。
在CVE-2011-1717 Skype App弱點的案例中,其他App可以存取Skype用戶資料,又重要的用戶資料未經加密所以風險更高,透過SE Android強制每一隻App都是獨立的個體,無法讀取其他App所產生的檔案, 就可以有效降低風險。
|