WebView安全性的新功能

原文来自: What’s new in WebView security

应用程序中对于外部和不信任内容的处理经常是重要的功能之一。新闻阅读器显示头条新闻文章、购物应用展示销售物品的目录。作为处理不信任内容而带来的相关风险是一个攻击者能够损害您的应用程序主要的方式之一,即传递给你错误格式的内容。

大多数的应用程序使用WebView来处理,并且我们在多年以来对Android做了很多改进,以此来保护它和你的应用程序抵抗妥协。Android棒棒糖(5.0),我们开始提供WebView作为一个单独的APK,每6周从Play商店更新升级,因此我们能够快速的获取到用户重要的修复。最新的WebView,我们添加了几个更重要的安全性增强功能。

在Android O中隔离渲染器进程

从Android O开始,WebView将会把渲染器从主应用中分离出来运行在一个隔离的进程中,Android通过利用进程之间的隔离被提供,已经可以用于其他应用。

与Chrome类似,WebView现在提供了两个等级的隔离:

  • 渲染器引擎已经拆分到了一个分离的进程,主应用程序隔离了来源于渲染进程的错误或者奔溃。对于一个恶意网站使用渲染器去渲染主应用程序,使它变得更加困难。

webview-security-imgage1

  • 对于进一步包含它,渲染器进程是运行在一个隔离进程沙箱里面,将其限制为有限的资源。比如说,渲染器引擎不能够写入到磁盘或者在它自己的网络上会话。正如Chrome在Android上所使用的一样,它也将绑定到相同的seccomp过滤器(seccomp的blogpost即将推出).sesccomp过滤器可以减少系统调用渲染器进程可以访问的次数,也能够限制系统调用允许的参数。

结合安全浏览

WebView最新版本结合了Google的安全浏览器保护去检测和警告用户关于有可能危险的站点……。当配置正确时,WebView针对安全浏览器恶意软件和网络钓鱼数据库检测网址,在用户访问一个危险的站点之前显示一个警告消息。在Chrome上,这个有用的信息每个月已经超过了2.5亿次被显示,现在它可以在Android上的WebView里使用了。

webview-security-imgage2

启用安全浏览

对于在你的应用程序里面所有的WebViews启用安全浏览,在manifest节点下添加:

1
2
3
4
5
6
<manifest>
<meta-data android:name="android.webkit.WebView.EnableSafeBrowsing"
android:value="true" />
. . .
<application> . . . </application>
</manifest>

因为WebView是作为一个单独的APK分发,WebView安全浏览对于运行在Android5.0及其以上的设备今天可以使用了,仅仅只需要在你的manifest添加一行代码,你就能够马上为你的大部分用户升级你的应用,并提高安全性。

以上是对Anroid 官网博客文章的翻译,如果不足,欢迎指正,谢谢

if (本文对您有用) { Pay (请随意¥打赏) } else { Commit feedback (底部评论区提交建议、反馈) } 感谢支持!