现代化 Android Pie: 安全与隐私
作者: Vikrant Nanda 和 René Mayrhofer, Android 安全與隱私團隊
沒有什么時候比節(jié)假日更適合聊 Android 甜點系統(tǒng)了,畢竟,有誰不喜歡在放假的時候來上一兩口甜點呢?那么,大家最喜歡的節(jié)日甜點又有些什么呢?我相信派 (Pie) 肯定是不少小伙伴的心上之選。
說真的,"派" 這個比喻確實很恰當(dāng),各種材料細(xì)細(xì)烘焙,化為層層美味: 精致的餡料 (軟件) 配上酥脆的底子 (硬件) ,簡直完美!感興趣的讀者不妨耐心閱讀下文,了解一下 Android Pie 新添加了哪些安全及隱私特性吧。
更新 Android
我們需要在加強平臺建設(shè)的同時改進(jìn)反漏洞技術(shù),雙管齊下才能打造更加安全的 Android。
強化平臺建設(shè)
我們?yōu)?Android Pie 更新了文件級加密 (FBE) 功能,使其支持外部存儲媒介 (如可擴展存儲卡) ,并添加了帶有硬件支持的元數(shù)據(jù)加密技術(shù)。通過文件系統(tǒng)元數(shù)據(jù)加密,設(shè)備啟動時生成的單個密鑰會加密所有未經(jīng)過 FBE 加密的內(nèi)容 (例如目錄布局、文件大小、權(quán)限和創(chuàng)建 / 修改時間)。
文件級加密
https://source.android.google.cn/security/encryption/file-based
元數(shù)據(jù)加密
https://source.android.google.cn/security/encryption/metadata
應(yīng)用可以通過調(diào)用 Android Pie 中的?BiometricPrompt API,在設(shè)備上顯示身份驗證對話框 (例如提示用戶進(jìn)行指紋識別),而且該方法與形態(tài)無關(guān) (modality-agnostic), 生成的對話框具備統(tǒng)一的樣式、使用感和屏幕位置。這種標(biāo)準(zhǔn)化的體驗有助于增加用戶信心,讓他們感覺正在授權(quán)一個可信賴的身份驗證請求。
BiometricPrompt API
https://android-developers.googleblog.com/2018/06/better-biometrics-in-android-p.html
應(yīng)用沙盒引入了新保護(hù)機制和測試用例,這有助于確保所有針對 Android Pie (以及所有未來版本系統(tǒng)) 開發(fā)的非特權(quán)應(yīng)用都可以在更強大的 SELinux 沙盒中運行。通過向沙盒提供針對各個應(yīng)用的加密認(rèn)證,該保護(hù)機制可以提升應(yīng)用隔離效果,防止替換安全默認(rèn)設(shè)置,并且 (同時也是最重要的一點) 防止應(yīng)用數(shù)據(jù)被所有人訪問。
應(yīng)用沙盒
https://source.android.google.cn/security/app-sandbox
SELinux
https://source.android.google.cn/security/selinux
反漏洞技術(shù)升級
我們在 Android Pie 中進(jìn)一步擴展了編譯器級別的安全措施,以便在運行時捕獲會觸發(fā)未定義行為的操作,并讓這些操作安全地失效。
控制流程完整性 (CFI)?是一種安全機制,它不允許更改已編譯代碼的原始控制流圖。在 Android Pie 中,CFI 在媒體框架和其它關(guān)鍵安全組件中默認(rèn)啟用,如近場通信 (NFC) 和藍(lán)牙協(xié)議。此外,為了繼續(xù)加強舊版本系統(tǒng)的內(nèi)核,我們在 Android 通用內(nèi)核中也實現(xiàn)了CFI 支持。
整數(shù)溢出排錯程序可以緩解由整數(shù)溢出導(dǎo)致的內(nèi)存損壞和信息泄露問題。在 Android Pie 中,我們將排錯程序的使用范圍擴展至以下兩類庫: (1) 需要處理復(fù)雜且不受信任的輸入; (2) 曾收到過安全漏洞報告。
編譯器級別的安全措施
https://android-developers.googleblog.com/2018/06/compiler-based-security-mitigations-in.html
控制流程完整性 (CFI)
https://source.android.google.cn/devices/tech/debug/cfi
在 Android 通用內(nèi)核中也實現(xiàn)了 CFI 支持
https://android-developers.googleblog.com/2018/10/control-flow-integrity-in-android-kernel.html
對基于硬件安全技術(shù)的持續(xù)投入
Android 高可信度用戶確認(rèn) (Android Protected Confirmation) 是 Android Pie 的亮點功能之一。它是第一個可以在移動設(shè)備上通過可信 UI 保障交易安全的系統(tǒng)級 API,主要作用是利用受硬件保護(hù)的用戶界面 (即可信 UI ),確保關(guān)鍵交易在主操作系統(tǒng)外完成。開發(fā)者調(diào)用該 API 后,設(shè)備便會向用戶顯示一個可信 UI 提示, 請他們通過物理輸入 (如設(shè)備按鍵) 進(jìn)行授權(quán)。授權(quán)成功后,依賴方便會收到一個帶有加密簽名的聲明,然后再次確認(rèn)用戶確實想在應(yīng)用內(nèi)完成一筆敏感交易。
我們還為一種新密鑰庫類型添加了支持,它可以利用搭載獨立 CPU、RAM 和閃存的防篡改硬件,為私鑰提供更強大的安全防護(hù)。StrongBox Keymaster 是一種位于硬件模塊中的 Keymaster HAL 實現(xiàn)。該模塊擁有自己的 CPU、安全儲存空間、真實隨機數(shù)生成器,以及用于抵御軟件包篡改和側(cè)通道攻擊的保護(hù)機制。
其它密鑰庫特性 (屬于 Keymaster 4 的一部分) 包括鍵盤鎖定密鑰、安全密鑰導(dǎo)入、3DES 支持和版本綁定 。鍵盤鎖定密鑰可以限制密鑰的使用,從而達(dá)到保護(hù)敏感訊息的目的;安全密鑰導(dǎo)入讓密鑰的使用更加方面,防止應(yīng)用和操作系統(tǒng)提取密鑰材料。更多內(nèi)容,請參閱《 Keystore 新特性讓 Android Pie 更安全》以及 Android Pie 版本說明內(nèi)的相關(guān)部分。
Android 高可信度用戶確認(rèn)
https://android-developers.googleblog.com/2018/10/android-protected-confirmation.html
StrongBox Keymaster
https://developer.android.google.cn/training/articles/keystore#HardwareSecurityModule
Keystore 新特性讓 Android Pie 更安全
https://android-developers.googleblog.com/2018/12/new-keystore-features-keep-your-slice.html
Android Pie 版本說明
https://source.android.google.cn/setup/start/p-release-notes#keystore
加強用戶隱私保護(hù)
為了增強用戶隱私,Android Pie 引入了若干行為變更,如限制后臺應(yīng)用訪問攝像頭,麥克風(fēng)和設(shè)備傳感器。系統(tǒng)為通話、手機狀態(tài)和 Wi-Fi 掃描設(shè)立了新的權(quán)限規(guī)則和權(quán)限組,并限制應(yīng)用通過 Wi-Fi 掃描獲取敏感信息。 此外,我們還添加了另一個和 WiFi 安全相關(guān)的新功能——?MAC 地址隨機化。此功能啟用后,每當(dāng)設(shè)備連接到 WiFi 網(wǎng)絡(luò)時便會使用不同的網(wǎng)絡(luò)地址。
另外,Android Pie 還支持使用用戶鎖屏密碼 (即 PIN, 圖案或者字符組合) 來加密備份數(shù)據(jù),即是說,攻擊者不知道具體的鎖屏密碼時便無法訪問用戶備份的應(yīng)用數(shù)據(jù)。應(yīng)用的自動備份功能也有所優(yōu)化,開發(fā)者可以指定在哪些條件下,應(yīng)用數(shù)據(jù)被排除在自動備份計劃外。比如說,Android Pie 新添加的一款標(biāo)簽就可用于判定用戶備份是否為客戶端加密。
為了將所有網(wǎng)絡(luò)流量從明文 (未加密的 HTTP) 逐步遷移至 TLS (HTTPS),我們修改了網(wǎng)絡(luò)安全配置的默認(rèn)設(shè)置,以屏蔽所有明文流量。除非您明確允許特定域名使用明文傳輸,Android Pie 默認(rèn)啟用 TLS 來保護(hù)用戶。系統(tǒng)同時也為 DNS-over-TLS 提供了內(nèi)置支持: 當(dāng)網(wǎng)絡(luò)的 DNS 服務(wù)器支持時,設(shè)備會自動將 DNS 查詢升級為 TLS。該方法能從網(wǎng)絡(luò)層面防止 IP 地址信息被監(jiān)聽或攔截。
我們認(rèn)為本文描述的特性很好地總結(jié)了 Android 在安全與隱私方面的工作進(jìn)展。親愛的讀者們,您可能覺得這只是我們的一面之詞,不過事實表明,這幾年來,我們對安全話題的持續(xù)投入確實顯著提高了系統(tǒng)的安全防護(hù)能力,不斷增加的漏洞利用難度和獨立移動安全評級都很好地證明了這一點。趕快上手體驗 Android Pie 吧!我們正在快馬加鞭準(zhǔn)備下個版本的系統(tǒng)發(fā)布,敬請期待!
行為變更
https://developer.android.google.cn/about/versions/pie/android-9.0-changes-all#privacy-changes-all
MAC 地址隨機化
https://source.android.google.cn/devices/tech/connect/wifi-mac-randomization
攻擊者不知道具體的鎖屏密碼時便無法訪問用戶備份的應(yīng)用數(shù)據(jù)
https://developer.android.google.cn/about/versions/pie/security/ckv-whitepaper
默認(rèn)啟用 TLS
https://android-developers.googleblog.com/2018/04/protecting-users-with-tls-by-default-in.html
不斷增加的漏洞利用難度
https://www.thezdi.com/blog/2018/9/04/announcing-pwn2own-tokyo-for-2018
獨立移動安全評級
https://www.blog.google/products/android-enterprise/gartners-analysis-progress-android-security/
?點擊屏末?|?閱讀原文?|??下載?"Android 9 Pie 開發(fā)者手冊"
推薦閱讀
高效管理 Android 前臺服務(wù)
即刻注冊 SDK,獲取實時動態(tài)及相關(guān)更新
和 Twitter 開發(fā)者們一起學(xué)習(xí)通知管理技巧
總結(jié)
以上是生活随笔為你收集整理的现代化 Android Pie: 安全与隐私的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MySQL根据出生日期查询年龄,以及对年
- 下一篇: android sina oauth2.