美文网首页Android OtherAndroidAndroid开发
Android如何解决腾讯近日发布的“应用克隆”漏洞

Android如何解决腾讯近日发布的“应用克隆”漏洞

作者: MrAllRight_Liu | 来源:发表于2018-01-11 11:11 被阅读877次

    2018年1月9日, 国家信息安全漏洞共享平台(CNVD)发布关于Android WebView存在跨域访问漏洞(CNVD-2017-36682)的公告,本文最后会给出具体的解决方案。

    漏洞描述

    WebView是Android用于显示网页的控件,是一个基于Webkit引擎、展现Web页面、解析并执行JavaScript代码的控件,Android应用可以使用WebView空间,灵活的扩展自身的业务功能。

    市面上大多数使用HTML5技术开发的应用均使用WebView进行HTML5页面的展示。除了从远程服务器加载Web页面,WebView还可以通过修改特定配置,从文件中进行HTML5页面的加载。在未正确配置WebView的情况下,会致使WebView同源策略失效,导致HTTP协议、file协议跨源攻击的发生。该漏洞使得WebView能够访问当前应用内部数据,如果WebView加载了来源不明的HTML文件,可能导致当前应用内部数据被攻击者窃取,如身份认证信息、加密密钥、用户隐私信息等。

    漏洞分析

    Android应用内部分可导出的Activity组件中,WebView允许通过file URL对http域进行访问,并且未对访问路径进行严格校验,由此导致了本次漏洞的出现。

    该漏洞的产生条件:

    (1)应用中存在设置为可被导出的Activity组件,并且组件中包含Webview调用。

    (2)Webview调用中setAllowFileAccessFromFileURLs 或

    setAllowUniversalAccessFromFileURLs 设置为true(minSdk<=4.1 默认为true,minSdk>4.1 默认为false)。

    解决方案

    第一步
    如果你的activity里面使用了webview,请关闭该activity的导出功能(该功能是允许外部应用打开该activity)

      <activity
                android:name=".activity.WebViewActivity"
                android:exported="false"//关闭导出功能
                android:screenOrientation="portrait"/>
    

    第二步
    如果你的activity必须要打开导出功能,请手动关闭通过file URL对http域进行访问

      webView.getSettings().setAllowFileAccessFromFileURLs (false);
    

    第三步
    对于必须使用file URL对http域进行访问时,可对传入的URL路径范围严格控制,例如建立URL白名单,设置允许访问的URL列表(不要遗漏路径中可能出现的特殊情况如“../../”等,避免限制被绕过)

    相关文章

      网友评论

      • 飞天德先生:赶紧留言,学习一下。这个漏洞确实安全隐患很大
      • MrAllRight_Liu:腾讯安全玄武实验室正式对外披露Android APP里普遍存在的“应用克隆”这一移动攻击威胁模型。受此威胁模型影响,支付宝、携程、饿了么等近十分之一的主流APP都有信息、账户被盗的风险。据了解,“应用克隆”漏洞仅对安卓系统有效,iOS系统不受影响。

      本文标题:Android如何解决腾讯近日发布的“应用克隆”漏洞

      本文链接:https://www.haomeiwen.com/subject/pvsznxtx.html