如何保障Android開放環(huán)境的安全性
為了實現(xiàn)與互聯(lián)網(wǎng)的融合,家電采用Android的步伐正在不斷加快。對于開發(fā)家電設備的廠商而言,索尼的信息泄露事件是一個反面教師。企業(yè)不僅要探索與黑客和平共處的道路,還要為系統(tǒng)配備多重防御功能。
電視、車載導航儀、電子書……目前,各種家電都在不斷采用開放式嵌入軟件開發(fā)平臺。其中,備受關注的是Android。其原因是,“只要打算比以往更加強化與互聯(lián)網(wǎng)服務的聯(lián)動功能,自然會將Android作為選項之一”(日本嵌入系統(tǒng)開發(fā)商Eflow開發(fā)本部統(tǒng)括部長金山二郎)。
對于打算為家電配備Android的廠商而言,“PlayStation Network(PSN)”及“Qriocity”遭受的非法攻擊事件并非事不關己。這是因為家電采用Android之后,可以實現(xiàn)“與互聯(lián)網(wǎng)服務的緊密聯(lián)動”以及“通過安裝應用軟件(以下稱應用)來追加新服務的環(huán)境”,這些均與PlayStaiton 3(PS3)相同。所以即使發(fā)生索尼相同的情況也不足為奇,包括DRM機制被暴露無遺,或與服務器的通信方法及密碼被泄露,導致服務器遭到非法訪問等。
要防止此類事件發(fā)生,需要吸取索尼信息泄露事件的教訓。也就是說,關鍵在于避免重復索尼犯過的錯誤,包括“以整個黑客社區(qū)為敵”,以及“安全方面完全依賴于PS3的機制”(圖1)。反過來說,如果今后采取兩手行動,即“與黑客社區(qū)建立協(xié)調的關系”以及“無論安全機制多么強大,也都做好遲早會被攻破的準備,采取多重安全措施”,那么就很有可能避免發(fā)生關系到公司存亡的事件。
Androidでどう築くオープン環(huán)境の安全性
不僅要盡量與黑客社團建立良好的關系,還需要對不能泄露的重要信息進行多重防御。
目標是與黑客和平共處
第一個要點是避免與黑客對立,要做到這一點,必須了解黑客的想法,摸索出與之和平共處的方法。
索尼對黑客始終采取“PS3是我們?yōu)樘峁┓斩N售的產(chǎn)品,當然應由我們控制”的態(tài)度。但是,PS3用戶中有不少人則認為“如何使用自己花錢購買的商品是個人的自由”。索尼在不了解與用戶思維差異的情況下采取了強硬手段,導致事態(tài)發(fā)展到了雙方觀念對立的地步。
要避免事情發(fā)展到觀念對立的程度,關鍵在于廠商的相關人員要定期與黑客社區(qū)對話,在一定程度上尊重對方的意見,并在此基礎上開發(fā)產(chǎn)品。“網(wǎng)絡入侵是一種特殊才能,并不是任何人都能掌握。需要盡早發(fā)現(xiàn)這種才能,盡量將具備這種能力的人拉進自己的陣營,以防其采取出格的行動”(日本青山學院大學研究員山根信二)。
采取多重防御措施
另一個要點是“多重防御”,在以受到攻擊為前提而進行防御時,這種思維方式十分重要。具體做法是,即便第一道屏障被攻破,也要準備第2道乃至第3道屏障,以防遭到?jīng)Q定性破壞。
在開發(fā)采用Android的家電時,這種思維尤為重要。其原因是,采用開放式平臺,“任何人都可以可輕松獲取設計信息并構建調試環(huán)境,網(wǎng)絡入侵也會更加容易”(Eflow的金山)(圖2)。
圖2:開發(fā)環(huán)境從黑箱轉向開放
采用開放式開發(fā)環(huán)境時,硬件及軟件開發(fā)會簡化,但遭到網(wǎng)絡攻擊的風險也會提高。
其實,先于家電商采用Android平臺的手機制造商在介紹Android手機的不同時表示,“傳統(tǒng)手機可以通過產(chǎn)品與軟件安裝的自主性確保安全,而配備Android的智能手機因OS的信用問題,不得不考慮安全保障問題”(NTT DoCoMo智能通信服務部安全推進擔當部長柳澤隆治)。
防止管理員權限被剝奪
那么,采用Android時必須考慮哪些問題呢?
最初應該考慮的是,防止管理員權限被剝奪,以免設備驅動程序及OS的程序庫等系統(tǒng)文件遭到篡改。如果系統(tǒng)文件被篡改的話,便會以此為起點使得系統(tǒng)遭到破解(圖3)。
圖3:管理員權限被奪取時的問題點
在內部進行交換的絕大部分數(shù)據(jù)都有可能被盜取。而且,還可能會嵌入非法應用。加密文件等也會被打開。
雖然以上這些都是嵌入設備曾經(jīng)考慮過的攻擊,但以往的產(chǎn)品除了平臺本身黑箱化之外,還有很多防止從外部追加應用的限制,所以不易成為攻擊對象。而Android的文件構成是被公開的,可隨意追加應用,因此容易進行攻擊。
Android只給用戶提供了用戶權限,本來是無法更改系統(tǒng)文件的。但如果Linux的內核、程序庫及驅動程序等存在可將用戶權限提高至管理員權限的“升級(Escalation)”漏洞的話,那就需要另當別論了。只要編寫用來攻擊該漏洞的應用,并在Android上運行,便可奪取管理員權限。
解決這一問題的方法是,發(fā)現(xiàn)漏洞時及時用補丁堵上。但這并不是一件簡單的事情。這是因為Android的源碼被提供給廠商,安裝工作由廠商完成。漏洞信息的收集以及安裝補丁后的運行驗證等工作也必須由廠商自行完成。
有一組數(shù)據(jù)可以清楚地揭示這項工作的困難程度。這就是日本信息處理推進機構(IPA)2011年6月公開的“智能手機面臨的威脅及對策”報告。該報告對利用Linux內核等的漏洞奪取管理員權限的惡意軟件“Droid Dream”是否已經(jīng)感染了投放市場的智能手機進行了調查。Droid Dream可利用兩個漏洞。盡管這兩個漏洞已分別于2009年4月及2010年8月公開,但截至2011年3月,調查的14款手機中尚有11款沒有設置完善的對策(表1)。
表1:IPA調查的“Droid Dream”應對情況
Droid Dream可利用Linux內核與Android構件兩種漏洞之一奪取管理員權限,該表將堵住其中一項漏洞的機型標記為“部分應對”。
就連由安全意識較高的企業(yè)生產(chǎn)的智能手機也是如此。其他家電設備采用Android的話,能否及時提供補丁還存在疑問。家電需要采用的機制是,漏洞遭到攻擊時要防止管理員權限被剝奪,或者管理員權限被剝奪時要防止安全上的重要部分被破解。
Java可輕松進行反匯編
除了要防止管理員權限被剝奪之外,還有其他問題需要注意。那就是程序文件或設置文件被破解,遭到非法復制,或者關系到服務根基的重要算法及數(shù)據(jù)被發(fā)現(xiàn)。
這種問題已在智能手機上越來越嚴重。日本開發(fā)商編寫的游戲應用被隨意翻譯成漢語銷售,更糟糕的是,還被植入惡意軟件并發(fā)放給用戶(圖4)。
圖4:在應用中嵌入惡意軟件的方法
通過Android應用商店購買正規(guī)應用,通過反匯編植入惡意代碼。
上面介紹的Droid Dream也是采用這種方法制作出來的惡意軟件。Android網(wǎng)上商店銷售的應用被隨意更改,并植入了可奪取管理員權限并盜取用戶個人信息的程序。
熟悉軟件非法復制情況的專家表示,“盡管Android一般以Java編寫內容,但通過反匯編進行篡改,然后再次進行數(shù)據(jù)包處理也是十分簡單的事情”(日本HyperTech代表董事小川秀明)。也就是說,如果不做好程序被破解的準備而采取措施的話,任何企業(yè)都存在陷入危機的可能性。
更改系統(tǒng)也沒有效果
有些廠商采取的措施是在采用Android等開放性軟件平臺的同時,通過限制功能,來保護程序或信息免受網(wǎng)絡入侵。不過,安全專家警告稱,“不應采取這種方法”(日本LAC董事兼最高技術負責人西本逸郎)。
如果采用了開放性平臺,又打算將其“封閉”起來的話,反而會激發(fā)黑客“希望自由使用”的愿望。而且,“既然原本是開放性系統(tǒng),那么很容易推測出內部構造來,封閉的效果有限”(西本)。
以美
評論