04月10, 2014

HeartBleed漏洞对安卓客户端的影响

作者:申迪

本周互联网最大的安全事件莫过于HeartBleed漏洞(CVE-2014-0160)的广泛公开。 如果你还不了解详情,可以参考这个分析。简言之,是由于OpenSSL在响应”心跳”时,对于数据包中的长度域不加检查,导致向另一端泄露了程序中最多可达64kb的内存。这是一个高危漏洞,影响范围很广,原因如下:

– 绝大多数网站安全登录时,使用了OpenSSL,并存在此漏洞。

– 攻击者向服务端发起攻击,可以获得服务端进程内的64kb数据,这些数据可能是任何东西:账号、密码、私钥等等

– 该漏洞以及poc已经被广泛公开,大量脚本小子(script kiddie)参与攻击服务器

根据互联网工程任务组(IETF)的RFC6250 文档可以发现,在握手完成之后,心跳包是可以双向传送的。如果客户端在使用一个存在漏洞的openssl版本,服务端向客户端发送心跳请求,同样存在“心脏流血”的隐患。

根据Google官方声明,HeartBleed仅仅影响到4.1.1版本的Android系统。并且google也已经将补丁方案推送至各大厂商。根据我们的分析,此漏洞确实仅在4.1.1上生效,原因是仅有4.1.1的系统上的/system/lib/libssl.so支持heartbeat扩展。

Heart

图中是4.1.1中导出的存在漏洞的函数

客户端链接服务端,反被服务端攻击,是有可能的。但版本限制得比较严格,通常安卓客户端内存数据利用价值也相对较低,因此这个问题危害较小。我们建议系统版本为4.1.1的安卓手机用户:

– 检查自己的系统更新,如果有更新可用,立即升级。

– 使用360手机卫士保护手机系统,并开启网址拦截功能。 不要访问不可信的网站,避免来自服务端的攻击。

– 仅使用360手机助手等可信的安全应用市场下载app,避免该app访问利用漏洞的服务器

– 不要使用公共场所中不可信的免费WiFi

扩展阅读:

比想象中更恐怖!OpenSSL“心血”漏洞深入分析

http://blog.wangzhan.360.cn/?p=165

Common Vulnerabilities and Exposures

https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0160

Google Services Updated to Address OpenSSL CVE-2014-0160 (the Heartbleed bug) http://googleonlinesecurity.blogspot.com/2014/04/google-services-updated-to-address.html

CyanogenMod 对于该漏洞的patch

https://github.com/CyanogenMod/android_external_openssl/commit/8eb23b21293400219a64414bf6fab03713ea6299

Heartbleed only an issue for Android 4.1.1

http://androidcommunity.com/heartbleed-only-an-issue-for-android-4-1-1-20140409/

TLS & DTLS Heartbeat Extension

http://www.rfc-editor.org/rfc/pdfrfc/rfc6520.txt.pdf

The Heartbleed Bug

http://heartbleed.com/

本文链接:http://blogs.360.cn/post/heartbleed-on-android.html

-- EOF --

Comments