2018年1月9日,最新攻击威胁模型“应用克隆”一经披露就吸引了多方关注,引起了很多网民的恐慌情绪。新年伊始,网络安全问题又再次成为大众热议的话题。html
漏洞描述android
“应用克隆”危机是指Android WebView的跨域访问漏洞(CNVD-2017-36682),利用该漏洞,可远程获取用户隐私数据(包括手机应用数据、照片、文档等敏感信息),还可窃取用户登陆凭证,在受害者毫无察觉的状况下实现对APP用户帐户的彻底控制,至关于可远程“克隆”用户帐户、窃取隐私信息、盗取帐号及资金等…web
WebView是Android用于显示网页的控件,是一个基于Webkit引擎、展示web页面的控件。WebView控件功能除了具备通常View的属性和设置外,还可对URL请求、页面加载、渲染、页面交互进行处理。跨域
因为该组件普遍应用于Android平浏览器
台,致使大量APP受影响,构成较为严重的攻击威胁。研究显示,市面上200多款常见安卓应用中,有27款应用可被这种方式攻击,占比超过10%。安全
漏洞产生原理网络
同源策略(Same Origin Policy)是禁止 JavaScript 进行跨站访问的安全策略。它也是浏览器的沙盒环境所提供的一项制约。目前为止一直使用着“相同主机”这个含糊的用语,而严格来讲,“同源”需知足如下所有条件。app
URL 的主机(FQDN :Fully Qualified Domain Name,全称域名)一致ide
Scheme(协议)一致函数
端口号一致
该漏洞产生的缘由是在Android应用中,WebView开启了file域访问,且容许file域对http域进行访问,同时未对file域的路径进行严格限制所致。攻击者经过URL Scheme的方式,可远程打开并加载恶意HTML文件,远程获取APP中包括用户登陆凭证在内的全部本地敏感数据。
该漏洞触发成功的前提条件以下:
1.WebView中setAllowFileAccessFromFileURLs 或setAllowUniversalAccessFromFileURLsAPI配置为true(minSdk<=4.1 默认为true,minSdk>4.1 默认为false);
2.WebView能够直接被外部调用,并可以加载外部可控的HTML文件。
风险等级
高危
漏洞影响范围
漏洞影响使用WebView控件,开启file域访问而且未按安全策略开发的Android应用APP。
漏洞防御方案
一、漏洞扫描检测
1.1在代码开发审计阶段,使用海云安的SCAP作源代码安全审计
使用SCAP,在开发阶段便可及时发现此漏洞,对该漏洞风险进行规避。
1.2在APP打包上架前,使用海云安的MARS作黑盒测试自查,以下:
海云安MARS对APP的安全检测问题定位颗粒度可达到具体代码类、方法、调用函数、调用模式级别,检测准确率高。
二、开发编码防御
因为google目前暂未发布相应的解决方案,临时解决方案以下:
1. file域访问为非功能需求时,手动配置setAllowFileAccessFromFileURLs或setAllowUniversalAccessFromFileURLs两个API为false。(Android4.1版本以前这两个API默认是true,须要显式设置为false)
2. 若须要开启file域访问,则设置file路径的白名单,严格控制file域的访问范围,具体以下:
(1)固定不变的HTML文件能够放在assets或res目录下,file:///android_asset和file:///android_res 在不开启API的状况下也能够访问;
(2)可能会更新的HTML文件放在/data/data/(app) 目录下,避免被第三方替换或修改;
(3)对file域请求作白名单限制时,须要对“../../”特殊状况进行处理,避免白名单被绕过。
3. 避免App内部的WebView被不信任的第三方调用。排查内置WebView的Activity是否被导出、必须导出的Activity是否会经过参数传递调起内置的WebView等。
4. 建议进一步对APP目录下的敏感数据进行保护。客户端APP应用设备相关信息(如IMEI、IMSI、Android_id等)做为密钥对敏感数据进行加密。使攻击者难以利用相关漏洞得到敏感信息。
更多内容,欢迎进入海云安网站进一步了解咨询