WebView 的新增安全功能

谷歌開發者_發表於2017-07-04

640?wx_fmt=gif


文 / Android 安全團隊 Xiaowen Xin 和 Renu Chaudhary

處理外部不受的信任內容通常是應用最重要的功能之一。新聞應用會顯示熱門新聞報導,購物應用會顯示減價促銷的商品。這通常伴隨著風險,因為處理不受信任的內容(例如通過向您傳輸惡意內容)是攻擊者入侵應用的主要手段之一。

許多應用都使用 WebView 來處理不受信任的內容,多年來,我們對 Android 進行了許多改進,保護它和您的應用免受侵害。藉助 Android Lollipop,我們開始以獨立 APK 的形式提供 WebView,每隔六週在 Play 商店中更新一次,從而能夠快速進行重要修復。我們在最新版的 WebView 中增加了多項重要的安全升級。



在 Android O 中隔離渲染器程式

從 Android O 開始,WebView 將採用獨立於託管應用之外的程式來執行渲染器,充分利用 Android 為其他應用程式提供的隔離空間。


640?wx_fmt=png


與 Chrome 類似,WebView 目前也提供兩級隔離:

  1. 渲染引擎被分解為獨立程式。這不僅能夠在渲染器程式中避免託管應用出現錯誤或崩潰,還能使惡意網站更難利用渲染器攻擊託管應用。

  2. 為進一步防禦攻擊,渲染器程式將在隔離的程式沙盒中執行,從而將其限制為只能獲取有限資源。例如,渲染引擎不能自行向磁碟寫入資料,或者與網路進行通訊。


此外,它還採用與 Android 版 Chrome 相同的 seccomp 過濾器。seccomp 過濾器不僅能夠減少渲染器程式可訪問的系統呼叫數量,還能限制系統呼叫允許的引數。



整合安全瀏覽

640?wx_fmt=png

最新版 WebView 整合了 Google 安全瀏覽保護機制,能夠探測並提醒使用者注意可能存在危險的網站。正確配置後,WebView 將對照安全瀏覽的惡意軟體和釣魚網站資料庫檢查網址,在使用者訪問危險的網站之前發出警告。Chrome 每月會向使用者顯示這項有用資訊 2.5 億次,現在,Android 版 WebView 也將開始顯示這項資訊。



啟用安全瀏覽

要在應用中為所有 WebView 啟用安全瀏覽,請加入清單標記:

<manifest> <meta-data android:name="android.webkit.WebView.EnableSafeBrowsing" android:value="true" /> . . . <application> . . . </application> </manifest>


由於 WebView 是以獨立 APK 的形式分發的,現在,執行 Android 5.0 及以上版本的裝置已可獲取 WebView 安全瀏覽。只需在您的清單中加入一行程式碼,便可立即更新應用,為您的大多數使用者提升安全保障。


推薦閱讀:

Android O 遷移應用官方指南

Google停止在Android 2.1和更低版本中支援Android市場

視覺化程式設計工具Blockly 1.0簡介

Android O API 已釋出最終版本


640?wx_fmt=gif

相關文章