背景

Android安卓是Google爲手機和移動設備開發的開源操作系統。據統計,全球有超過20億設備運行安卓操作系統。大多數的安卓設備都受限於必須從Google play應用商店下載應用程序。在安卓 8之前,通過在系統設置中進行設置既可授予APP從其他源安裝應用的能力。在安卓8中,這一機制被修改了,用戶必須授予每個想要執行安裝的應用程序對應的權限。如下所示:

一些安卓設備支持近場通信(Near Field Communication,簡稱NFC),NFC是允許設備在短距離進行通信的一組協議。NFC用於非接觸支持、設備配對、訪問控制這樣的應用。安卓設備還支持NFC用於設備之間的數據傳輸,比如通訊錄、照片和通過Android Beam的應用。

漏洞詳情

安卓8中引入了有個新的特徵,該特徵要求用戶可選從其他源安裝app。但研究人員發現由Google簽名的系統應用都會自動加入白名單,並不會向用戶請求權限。在標準的安卓操作系統設備上,NFC服務就是這樣的具有安裝其他應用權限的系統應用。也就是說,啓用了NFC和Android Beam的安卓手機,接觸惡意手機或惡意NFC支持信道可能允許攻擊者繞過安裝未知來源app彈窗來安裝惡意軟件。

在含有NFC功能的手機上,運行安卓8及更高版本系統,在設置中,搜索安裝未知app來找出權限。查看app可以在下拉菜單中選擇顯示系統。可以看到默認情況下,NFC服務是在允許安裝應用的列表中的。如下所示:

漏洞復現

可以通過以下步驟來複現利用漏洞安裝惡意軟件的過程:

1. 用NFC和Android beam來設置2部手機;

2. 在發送者手機上下載APK文件;

3. 在發送者手機的文件管理器中,點擊文件選擇分享(share)。然後選擇Android Beam分享方法;

4. 將2部手機放在一起,完成文件傳輸;

5. 完成以上步驟後,在接收者手機上,點擊Beam completed通知,點擊文件。就可以跳過安裝彈窗,繞過安裝未知app檢查。

研究人員在Android 9 和Android 8.10版本上進行了測試。

廠商響應

該漏洞隻影響Android 8 (Oreo)及更高版本。Google將該漏洞評爲高危,並在本月發佈了安全補丁。廠商建議用戶儘快更新設備來緩解該漏洞。

相關文章