记录黑客技术中优秀的内容, 传播黑客文化,分享黑客技术精华

iOS又出新漏洞,影响2.5万应用

2015-04-27 22:30

上周,AFNetworking接连被爆出两个SSL漏洞,通过中间人攻击可以截获并篡改SSL流量,可能导致iOS用户账号密码泄露和网银支付过程被劫持。根据国外安全机构SourceDNA的研究,苹果Appstore上有约2.5万个应用使用了受影响版本的AFNetworking。

实际案例:利用漏洞“偷取”话费

小杰想用iphone为自己的手机充钱,可是付款成功后手机话费一直没有到账。而在咖啡店的角落,小黑的手机已经收到了10086充值成功的短信提醒。、

ios1

原来小黑利用了AFNetworking的漏洞,劫持了小杰的付费过程,为自己的手机“偷取”了话费。如SourceDNA所说,这次AFNetworking漏洞影响面颇广,小编实际测试了业界诸多app后不禁背脊一凉:国内多款APP均存在这个漏洞,泄漏了帐号密码和各种用户的敏感信息。

什么是AFNetworking?

AFNetworking是iOS和Mac OS X上的一个开源网络框架,使用方便。据统计有超过2万个iOS程序使用到了AFNetworking,目前官网最新版本为2.5.3。

细看这两个AFNetworking SSL漏洞

实际上在过去的一周中,AFNetworking接连被曝光了两个高危险漏洞。

在4月21号,第一个漏洞被曝光:AFNetworking库在认证SSL证书可信过程中存在严重的逻辑漏洞,不会去校验证书的有效性和合法性,任何简单的中间人劫持即可获取并篡改明文数据。但不幸中的万幸是,这个漏洞仅发生在2.5.1这个版本中。

更悲剧的事情发生在4月24号第二个漏洞曝光时,虽然这个漏洞的危害跟第一个很相似,但影响所有版本的AFNetworking!简单来说,所以使用到AFNetworking的APP都可以被攻击。这个漏洞是AFNetworking在进行https通信时,认证SSL证书可信过程中存在一个的逻辑漏洞,在默认情况下并没有进行域名校验。该漏洞允许攻击者使用任意一个合法的证书绕过SSL的证书认证,从而通过中间人攻击获取并篡改明文数据。例如,攻击者可以使用一个fake.com的证书截获与tencent.com进行https通信的明文数据。

目前,AFNetworking已经在2.5.3版本中修复了上述两个漏洞。

管中窥豹

ios2

翻看代码发现,AFSecurityPolicy.m的evaluateServerTrust函数用于校验服务器合法性。当validatesDomainName为YES时,会进行域名校验;反之,则不进行域名校验。而在存在问题的地方是,AFNetworking中没有代码去初始化validatesDomainName的值,而Obj-C语法会默认设置validatesDomainName的初始值为NO(0),因此默认情况下AFNetworking会跳过域名校验的过程。

小编好奇地翻看了AFNetworking的历史版本。2.5.0版本将validatesDomainName默认值从YES改为NO,2.5.3版本又回滚回去了。再往前翻,发现AFNetworking在2014年1月16日的2.1.0版本中才添加了域名校验的功能。域名校验代码几经修改,仍然屡现bug。小编不得不质疑开发者对于SSL协议安全性的认识。

ios3

这里不得不思考,在使用第三方库(尤其是涉及网络传输和加密的库)之前,应该评估其安全性。否则随之而来的将是不断的漏洞修复和版本更新。Openssl便是一个典例。

后记

吃一堑长一智的小杰再也不使用公共场所的wifi进行网络支付交易了。

相关链接

https://sourcedna.com/blog/20150424/afnetworking-strikes-back.html

https://github.com/AFNetworking/AFNetworking/issues/2619

知识来源: www.ijiandao.com/safe/it/12944.html

阅读:121218 | 评论:0 | 标签:业界 IOS 漏洞 iOS

想收藏或者和大家分享这篇好文章→复制链接地址

“iOS又出新漏洞,影响2.5万应用”共有0条留言

发表评论

姓名:

邮箱:

网址:

验证码:

公告

九层之台,起于累土;黑客之术,始于阅读

推广

工具

标签云

本页关键词