opentok-android-sdk-2.3.1和OpenSSL漏洞问题

时间:2015-05-14 11:02:11

标签: android openssl opentok boringssl

我在Google Play商店有一款应用。最近我收到了一封邮件:

Google Play 60-day deadline for resolving OpenSSL vulnerabilities

它声明我使用的是OpenSSL版本,它容易受到某些问题的影响。但是,我没有直接使用OpenSSL。我使用OpenTok库进行视频聊天功能,内部使用OpenSSL。我目前正在使用openTok SDK 2.3.1版。但根据此链接http://www.tokbox.com/blog/mobile-sdks-2-2-1-resolve-openssl-vulnerability/,所有OpenSSL漏洞都是从SDK 2.2.1版本开始解决的。 (我现在使用的是2.3.1,必须在2.2.1之后出现)

我在我的Android应用程序(APK文件)上使用了以下命令:

$ unzip -p YourApp.apk | strings | grep "OpenSSL"

我收到了以下日志:

"OpenSSL"
GmsCore_OpenSSL
OpenSSLAdapter::OnCloseEvent(
OpenSSLAdapter::Error(
OpenSSLAdapter::OnConnectEvent
Failed to create OpenSSLCertificate from PEM string.
OpenSSLStreamAdapter::Error(
OpenSSLStreamAdapter::OnEvent SE_OPEN
OpenSSLStreamAdapter::OnEvent
OpenSSLStreamAdapter::OnEvent(SE_CLOSE, 
OpenSSLStreamAdapter::Read(
OpenSSLStreamAdapter::Write(
OpenSSL CMAC method
%s(%d): OpenSSL internal error, assertion failed: %s
OpenSSL PKCS#3 DH method
OpenSSL DH Method
OpenSSL DSA method
OpenSSL EC algorithm
OpenSSL ECDH method
OpenSSL ECDSA method
OpenSSL HMAC method
You need to read the OpenSSL FAQ, http://www.openssl.org/support/faq.html
OpenSSL RSA method
OpenSSL 1.0.1e 11 Feb 2013
OpenSSL default user interface
OpenSSLAdapter::OnCloseEvent(
OpenSSLAdapter::Error(
OpenSSLAdapter::OnConnectEvent
Failed to create OpenSSLCertificate from PEM string.
OpenSSLStreamAdapter::Error(
OpenSSLStreamAdapter::OnEvent SE_OPEN
OpenSSLStreamAdapter::OnEvent
OpenSSLStreamAdapter::OnEvent(SE_CLOSE, 
OpenSSLStreamAdapter::Read(
OpenSSLStreamAdapter::Write(
OpenSSL CMAC method
%s(%d): OpenSSL internal error, assertion failed: %s
OpenSSL PKCS#3 DH method
OpenSSL DH Method
OpenSSL DSA method
OpenSSL EC algorithm
OpenSSL ECDH method
OpenSSL ECDSA method
OpenSSL HMAC method
You need to read the OpenSSL FAQ, http://www.openssl.org/support/faq.html
OpenSSL RSA method
OpenSSL 1.0.1e 11 Feb 2013
OpenSSL default user interface

从上面的日志中我得到一个确认,在我当前的apk中,OpenTok正在使用OpenSSL OpenSSL 1.0.1e。

因此,我使用opentok-android-sdk-2.5.0附带的最新版本更新了OpenTok库。在集成/更新到新库之后,我执行以下命令:

  $ unzip -p YourApp.apk | strings | grep "OpenSSL"

以下是具有更新OpenTok库的APK的日志:

"OpenSSL"
GmsCore_OpenSSL
OpenSSL EC algorithm
OpenSSL HMAC method
OpenSSL RSA method
OpenSSLAdapter::Error(
OpenSSLAdapter::OnCloseEvent(
OpenSSLAdapter::OnConnectEvent
Failed to create OpenSSLCertificate from PEM string.
OpenSSLStreamAdapter::Error(
OpenSSLStreamAdapter::Write(
OpenSSLStreamAdapter::Read(
OpenSSLStreamAdapter::OnEvent SE_OPEN
OpenSSLStreamAdapter::OnEvent
OpenSSLStreamAdapter::OnEvent(SE_CLOSE, 
OpenSSL EC algorithm
OpenSSL HMAC method
OpenSSL RSA method
OpenSSLAdapter::Error(
OpenSSLAdapter::OnCloseEvent(
OpenSSLAdapter::OnConnectEvent
Failed to create OpenSSLCertificate from PEM string.
OpenSSLStreamAdapter::Error(
OpenSSLStreamAdapter::Write(
OpenSSLStreamAdapter::Read(
OpenSSLStreamAdapter::OnEvent SE_OPEN
OpenSSLStreamAdapter::OnEvent
OpenSSLStreamAdapter::OnEvent(SE_CLOSE,

在这里,我们在获得的日志中看不到任何版本的OpenSSL。

所以我的问题是:

  • 现在是否意味着如果我在Google Play上更新此新APK 商店,申请会被接受吗?
  • 有没有办法检查我的OpenSSL版本是否仍然容易受到攻击 问题(如谷歌播放邮件中所述)?
  • 有没有办法让我的APK中使用OpenSSL的版本 (虽然,$ unzip -p YourApp.apk | strings | grep" OpenSSL&#34 ;,不是 能够列出OpenSSL的版本)

注意:

我已经阅读了这篇Google Play and OpenSSL warning message帖子以及那里提供的所有解决方案,但我无法获得OpenSSL版本。

任何有关此事的信息都非常有用。 提前谢谢。

1 个答案:

答案 0 :(得分:1)

  

现在是否意味着如果我在Google Play商店更新此新APK,是否会接受该申请?

可能是也许。谷歌用来监管OpenSSL的脚本非常愚蠢。它们标记版本号的OpenSSL,而不是使用易受攻击的函数。由于没有版本信息,脚本可能不会触发它认为是坏版本的内容。

  

有没有办法检查我的OpenSSL版本是否仍然容易受到问题的影响(如google play的邮件中所述)?

是的,使用strings程序转储OpenSSL字符串。

  

有没有办法让我的APK中使用OpenSSL的版本(虽然,$ unzip -p YourApp.apk | strings | grep“OpenSSL”,无法列出OpenSSL的版本)

我相信你需要在这里查看OpenTok的人。看起来OpenTok在BoringSSL切换到version 2.4.0。 BoringSSL是Google的OpenSSL分支。