Android O 讓安裝應用更安全

dunne21發表於2021-09-09

640?wx_fmt=gif


640?wx_fmt=png

部分觀察仔細的使用者會注意到 Android O 的一個新特性:“允許未知來源” 的設定已經消失不見。要知道,這是在此前的 Android 版本中,安裝 Google Play 或是其他認證商店之外的應用所必經的設定。本文就圍繞新的未知來源應用安裝許可,以及它為使用者以及開發者所帶來的益處展開。


前段時間我們釋出了 Google Play 保護機制 (Google Play Protect),它能夠全面且實時地保護您的裝置。不同於第三方來源軟體中會攜帶有潛在有害應用 (PHAs) ,Google Play 仍然是目前最安全的應用來源地。


潛在有害應用開發者的常見套路,是通過惡意下載器 (hostile downloader) 來載入他們的應用。試舉一例,某個遊戲應用中或許並不包含惡意程式碼,但它會將潛在有害應用偽裝為一項重要升級,繼而安裝到使用者的裝置之上 (更多關於惡意下載器的資訊請查閱 2016 年 Android 安全性總覽) 。使用者只要允許了未知來源應用安裝,就很容易讓這樣狡詐的手段得逞。


640?wx_fmt=png

△ 左 (預覽版 Android O) :潛在有害應用偽裝為系統升級的安裝介面;右 (Android O) :潛在有害應用安裝前,首先需要使用者允許該 App 進行安裝


在 Android O 系統下,安裝未知來源應用許可會使得該操作的安全性更高。就像其他的執行時許可權 (runtime permissions) 一樣,該項許可與觸發安裝的 App 繫結。確保在彈出安裝頁面之前,先讓使用者確認安裝許可權。在安裝了 Android O 或更高版本系統的裝置上,惡意下載器就無法在使用者獲得提示之前,誘導使用者進行安裝。


新的許可機制能夠為使用者提供透明化,可控且線性的可信任來源安裝許可。在設定中,使用者能夠看到已經允許安裝未知來源 App 的應用列表。使用者也可按照自身需求,隨時撤回某個應用的許可。


640?wx_fmt=png

△ 隨時都能夠檢視已允許安裝未知來源 App 的應用列表。如需讓獲取許可更具效率,開發者可在安裝過程中,直接讓使用者跳轉至許可介面。



開發者層面的變動

640?wx_fmt=jpeg

如要利用這一新的許可機制,通過包安裝器 (Package Installer) 下載以及安裝其他 App 的應用開發者們需要作出一些變動。如果應用在使用 26 或更高階別的 targetSdkLevel 來引導使用者安裝其他 App,那麼清單檔案則需要包括 REQUEST_INSTALL_PACKAGES 許可:


<uses-permission android:name = "android.permission.REQUEST_INSTALL_PACKAGES" />


沒有宣告此項許可的應用無法安裝其他 App。對於無 App 安裝需求的應用來說,這是一種非常方便的安保辦法。開發者可以通過 ACTION_MANAGE_UNKNOWN_APP_SOURCES 意圖動作 (Intent action),讓使用者直接跳轉到安裝 未知來源應用 (Install unknown apps) 的介面。也可以通過使用包管理器 (PackageManager) canRequestPackageInstalls ( ) API,查詢安裝許可的狀態。


請記住,如果這些 App 已在 Google Play 上釋出,而且能夠安裝和更新其他應用,那麼 Google Play 政策法規 仍然適用。絕大多數情況下,這種行為並不恰當;相反,您應該在 Google Play Store 的應用列表中提供一個深層連結 (deep-link)。


640?wx_fmt=jpeg

請確保已經瞭解更多有關安裝未知來源應用的釋出指南,並關注與 Android O 安全性相關的更多公告。



推薦閱讀:

Android 8.0 Oreo 畫中畫模式

Android 8.0 Oreo 現已推出!

Android O 遷移應用官方指南

Android O 行為變更官方指南

全新 Android 構建元件到底有多好用?


640?wx_fmt=gif

相關文章