【问题标题】:Codenameone Google Play Warning: SSL Error Handler VulnerabilityCodenameone Google Play 警告:SSL 错误处理程序漏洞
【发布时间】:2016-08-27 05:59:45
【问题描述】:

我使用代号一平台开发了一个应用程序,在Play商店提交应用程序后,我收到了以下警告邮件:

*“我们检测到此电子邮件末尾列出的您的应用程序正在使用 WebViewClient.onReceivedSslErrorHandler 的不安全实现。您还可以查看受影响应用程序的列表以及版本号和类名称,在开发者控制台的警报页面上。

您当前的实现会忽略所有 SSL 证书验证错误,从而使您的应用容易受到中间人攻击。攻击者可以更改受影响的 WebView 的内容,读取传输的数据(例如登录凭据),并使用 JavaScript 在应用程序内执行代码。

发生了什么

从 2016 年 11 月 25 日起,Google Play 将禁止发布任何包含此漏洞的新应用或更新。您发布的 APK 版本将不受影响,但除非您解决此漏洞,否则应用程序的任何更新都将被拒绝。 需要采取行动

  • 要正确处理 SSL 证书验证,请更改代码以在服务器提供的证书符合您的期望时调用 SslErrorHandler.proceed(),否则调用 SslErrorHandler.cancel()。
  • 如果您使用的是负责此问题的第 3 方库,请通知第 3 方并与他们一起解决问题。
  • 进行更改后,登录开发者控制台并提交应用的更新版本。
  • 五小时后回来查看 - 如果应用未正确更新,我们将显示警告消息。"*

我正在研究,但不幸的是我没有找到任何相关信息。我认为这可能是平台的内部问题,但不确定。你怎么看?

提前致谢。

【问题讨论】:

    标签: android ssl google-play codenameone


    【解决方案1】:

    不正确地验证 SSL 连接的证书是一个严重的问题,因为这样可以有效地削弱 SSL 提供的保护,并允许中间人攻击。这样,攻击者可能会嗅探传输的数据,甚至修改数据。 因此问题应该得到解决。

    但是根据当前显示的信息,无法判断错误是在您的(未知)代码中还是在某些(未知)第三方库中,还是在第三方库的错误使用中。但此类错误的一个常见原因是有人试图使用自签名证书并为此目的关闭验证。另一个常见原因是打算关闭仅用于开发的验证,但无意中未能再次启用它以用于生产。

    【讨论】:

      【解决方案2】:

      您可以通过 Codename One 端口的来源查看该方法并没有使用该方法:

      https://github.com/codenameone/CodenameOne/blob/master/Ports/Android/src/com/codename1/impl/android/AndroidImplementation.java#L3768

      所以据我所知,代号一中没有这样的违规行为。因此,我能想到两种选择:

      1. Google 错了 - 不会是第一次遇到这些人... + 我前几天提交了一个Codename One Android应用,没有收到这样的错误

      2. 您向您的项目添加了第 3 方 cn1lib/extension/native 代码,您可以通过查看 android/nativelib 目录来验证您是否在前者或 @987654324 目录中有任何内容@ 文件在后者中。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-06-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-10-18
        • 2016-05-15
        • 1970-01-01
        相关资源
        最近更新 更多