一个存在于流行开源iOS网络通信库AFNetworking中的严重漏洞使得苹果应用商店中的25000个iOS应用中的HTTPS流量暴露在中间人(MITM)攻击之下。
AFNetworking是一款大名鼎鼎的开源网络库,能够让开发者们在iOS和OS X程序中加入网络功能。但是,这款库没有检查SSL证书是否是颁发给某个合法域名。这直接导致了任何使用了早于2.5.3版本的AFNetworking的iOS程序都存在漏洞,即使程序由SSL加密数据,黑客可以窃取和篡改数据。
攻击者可以使用任何SSL证书解密加密数据——证书只要是由可信的证书机构(CA)发布的都行,而这类证书50美元就可以买到。
“这就是说,咖啡店里的攻击者仍然能够对应用与互联网之间传输的隐私数据进行监听甚至是控制SSL会话。”
举个例子,攻击者可以使用FreeBuf.com的证书来伪造facebook.com的。
来自Yelp的Ivan Leichtling报告称,漏洞估计能够影响25,000个iOS应用。
AFNetworking在其最新发行的2.5.3版本中修复了这个漏洞。而在其上一个版本(2.5.2)中,AFNetworking修复了另一个SSL相关的漏洞,却没有修复这个。
之前大家以为AFNetworking 2.5.2解决了SSL证书验证的问题,那个问题是:攻击者可以使用自签名的证书截听iOS应用于服务器之间的加密的敏感数据。
因此,任何有条件进行中间人攻击的人,比如在不安全的Wifi网络中的黑客,VPN网络中的坏职工或者国家支持的黑客,只要使用证书管理机构(CA)颁发的证书,就可以监控或者修改通信。
安全公司SourceDNA快速扫描iOS市场中存在漏洞的iOS应用,发现了包括美国银行、美国富国银行、摩根大通等APP都可能受到影响,而来自顶尖开发者诸如雅虎和微软的iOS应用也存在这个漏洞。
FreeBuf测试了几款国内金融类APP,发现银联、中国银行、交通银行的APP纷纷中招。
为了防止黑客利用漏洞,SourceDNA没有公开存在漏洞的iOS应用。安全研究人员建议开发者将最新版本(2.5.3)的AFNetworking整合到应用中去,这个版本默认开启了域名验证功能。(在之前的版本中实际上是有域名验证功能的,但是要开启validatesDomainName属性,而它默认是关闭的)
安全研究人员还建议用户立即检查他们所使用应用的状态,特别是那些使用银行帐号信息等敏感信息的应用。
文章来源:Freebuf黑客与极客(FreeBuf.COM)