Google Play 发布前报告安全漏洞,表明所有域都允许明文流量

Posted

技术标签:

【中文标题】Google Play 发布前报告安全漏洞,表明所有域都允许明文流量【英文标题】:Google Play Pre-launch Reports Security Vulnerability Which Says Cleartext traffic allowed for all domains 【发布时间】:2019-09-20 21:29:17 【问题描述】:

Google Play 预发布报告存在安全漏洞

您应用的网络安全配置允许所有域的明文流量。这可能允许窃听者拦截您的应用程序发送的数据。如果该数据是敏感数据或用户可识别数据,则可能会影响您用户的隐私。

考虑通过将 cleartextTrafficPermitted 标志设置为 false 或为特定域添加加密策略来仅允许加密流量。 Learn more

network_security_config.xml

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>

    <base-config cleartextTrafficPermitted="true">
        <trust-anchors>
            <certificates src="system"/>
        </trust-anchors>
    </base-config>

    <domain-config cleartextTrafficPermitted="true">
        <domain includeSubdomains="true">127.0.0.1</domain>
    </domain-config>
</network-security-config>

AndroidManifest.xml

 <application
        android:name="com.example.MyActivity"
        android:allowBackup="false"
        tools:replace="allowBackup"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:largeHeap="true"
        android:theme="@style/AppTheme"
        android:hardwareAccelerated="true"
        android:resizeableActivity="false"
        android:networkSecurityConfig="@xml/network_security_config">

我的疑问是我是否将自己的域名 domain-config 设置为 cleartextTrafficPermitted="true" 例如

<domain-config cleartextTrafficPermitted="true">
        <domain includeSubdomains="true">http://my-domain.com</domain>
</domain-config>
    它能否解决我的安全漏洞问题? 我需要知道是否需要为我的第三方广告设置域配置 网络?

【问题讨论】:

查看我的答案***.com/questions/54414287/… 【参考方案1】:

下面的配置清除了 Google Play 安全漏洞

注意:

    我们在 android pie 中只使用了 https url 要在 android pie 中使用 http,我们需要包括 domain-config中的域名

<base-config cleartextTrafficPermitted="false">
    <trust-anchors>
        <certificates src="system"/>
    </trust-anchors>
</base-config>

<domain-config cleartextTrafficPermitted="true">
    <domain includeSubdomains="true">myowndomain.com</domain>
</domain-config>

【讨论】:

【参考方案2】:

您必须在 AndroidManifes.xml 文件的应用程序标签上添加 android:usesCleartextTraffic="true" 的属性。

还要加上这个。

<uses-library android:name="org.apache.http.legacy" android:required="false"/>

【讨论】:

这应该是评论,而不是答案。

以上是关于Google Play 发布前报告安全漏洞,表明所有域都允许明文流量的主要内容,如果未能解决你的问题,请参考以下文章

Google Play 发布前报告

Google VR 启动中 Google Play 开发者控制台中的“发布前报告”失败

Firebase App Distribution 和 Google play 安全签名

Google Play控制台预发布报告 - 内存

一键 Google 登录以获取发布前报告

Google Play 控制台报告未发布的应用程序崩溃