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

业界 作者:站内编辑 2015-04-27 11:58:35
上周,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

关注公众号:拾黑(shiheibook)了解更多

[广告]赞助链接:

四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/

公众号 关注网络尖刀微信公众号
随时掌握互联网精彩
赞助链接