雖然 Google 一直致力保持 Android 操作系統的安全,但由於太多版本和應用程式,要做到滴水不漏是極度艱鉅的任務,所以仍然偶爾出現新的方法能夠繞過保安機制,而最新的方法稱為「Man-in-the-Disk」,使用戶更難以防止惡意程式的入侵。
Android 保安的基本:沙盒
Android 的原則是所有應用程式都必需獨立於其他應用程式,並以沙盒的形式實現,每個應用程式,包括其私人檔案都放在沙盒之內,其他應用程式無法存取。這個概念是即使某惡意應用程式成功進入 Android 裝置,也無法盜取其他應用程式記載的資料,例如:用戶名稱、密碼或舊訊息等等。不難想像黑客視這項功能為頭號目標,嘗試突破這個機制「逃出沙盒」,而他們最終也取得成功!在今年的 DEF CON 26 上就展示了有關的方法,並取其名為「Man-in-the-Disk」,借「中間人」攻擊而命名。
從外置儲存入手
除了沙盒儲存應用程式的檔案,Android 也會共用外置儲存空間 (記憶卡),應用程式需要得到用戶的許可才能夠存取儲存空間,如果要存取相片、影片和檔案,就要取得讀取和寫入外置儲存空間的權限,這些權限一般情況下並不視作危險,接近所有應用程式都會提出要求,所以看起來並不可疑。
應用程式透過外置儲存空間,就可可以實現智能電話與電腦進行檔案交換或傳輸檔案,然而外置儲存空間也經常被用作暫存由網絡下載的檔案,它們首先會寫在儲存空間的共用區域,然後再傳輸到獨立的位置只有相關應用程式能夠存取。例如:部份應用式會暫時使用外置儲存空間存放補充模組,然後再安裝以延伸功能或新增內容,字典或應用程式更新等都是慣常使用這種做法,但是任何應用程式擁有外置儲存空間的讀寫權限,都能夠對檔案進行修改,加入惡意編碼。
用戶安裝一個看似無害的應用程式 (例如遊戲),最終可能導致被惡意程式感染,而 Android 的開發人員也意識到外置儲存空間的潛在危險,所以架設網站為應用程式的設計員提供有用的資訊。可惜並非所有設計員、Google 員工或智能電話供應商都依照建議行事,在DEF CON 26 上研究人員揭露了 Google Translate、Yandex.Translate、Google Voice Typing、Google Text-to-Speech,又或者部份 LG 系統程式及小米瀏灠器等存在的安全漏洞。
事實上 Google 研究人員最近發現,有類似 Man-in-the-Disk 攻擊應用在 Android 版本的知名遊戲《Fortnite》。玩家要下載遊戲,首先要安裝一個附助應用程式,預定使用它下載遊戲檔案,結果是被用作 Man-in-the-Disk 攻擊,黑客可以令附助程式去安裝惡意應用程式。受影響的遊戲開發商 Epic Games 得知漏洞之後已經推出新版本 (2.1.0) 的安裝工具,如果已經安裝《Fortnite》的用戶便應該解除安裝後,透過最新的安裝工具重新安裝遊戲以策安全。
預防 Man-in-the-Disk 攻擊注意事項
不想成為 Man-in-the-Disk 攻擊的受害者,用戶可以參考以下建議,降低成為受害者的機會。
- 只在官方商店 (Google Play) 安裝應用程式,雖然惡意程式也有機會成功上架,但機會遠低於不知名網站,而且也會持續地進行移除工作。
- 關閉智能裝置從第三方資源安裝應用程式的設定
- 選擇經過驗證的開發商出品應用程式,檢查應用程式的評分和評語,避免安裝可疑的程式。
- 只安裝必需要的應用程式,減低接觸到惡意程式的機會。
- 移除不再使用的應用程式
- 安裝可靠的流動裝置防毒軟件,在惡意程式企圖滲透裝置時發出通知。