写点什么

知名开源库 AFNetworking 曝 SSL 漏洞,2.5 万 iOS 应用受影响

2015 年 5 月 06 日

AFNetworking 是一个开源代码库,允许开发人员向 iOS 和 OS X 应用添加网络功能。2015 年 4 月 20 日,安全分析创业公司SourceDNA 曝光了AFNetworking 中一个影响了1500 多个iOS 应用的漏洞。不过很快, AFNetworking 2.5.2 就修复了该漏洞。然而三天之后,SourceDNA 又曝出了 AFNetworking 中一个更为严重的漏洞。该漏洞至少影响了苹果应用商店中 25000 个 iOS 应用。

据 Arstechnica报道,该漏洞是因为 AFNetworking 默认未检查证书中的域名与它所保护的 HTTPS 服务器的域名一致所导致的。攻击者使用任意合法的 SSL 证书搭配任意域名就可以利用该漏洞进行中间人攻击,即使这些数据是通过 SSL 协议传输。SourceDNA 公司创始人 Nate Lawson 告诉 Arstechnica:

如果一个应用使用了这个有缺陷的库,那么拥有任意合法证书的攻击者都可以窃取或修改由这个应用发起的会话。这个是因为,虽然证书经过验证,可以保证是由合法的证书颁发机构所颁发,但证书中的域名没有验证。比如,攻击者提供域名“sourcedna.com”的一个合法证书就可以伪装成“microsoft.com”。

SourceDNA 公司的 Ivan Leichtling 最早发现了该漏洞。但让他们觉得奇怪的是,AFNetworking 2.5.2 没有修复该 Bug,因为在 3 月底的时候,AFNetworking 维护者就号称已经通过更新代码修复了它。AFNetworking2.5.2 修复了攻击者可以使用自签名证书监听iOS 应用与其服务器之间加密通讯的问题,但没有认真校验可信签名证书是否是颁发给某个合法域名,从而导致了新的安全问题。目前任何使用 AFNetworking 2.5.3 以下版本的应用都可能将数据暴露给攻击者。SourceDNA 建议开发人员,如果使用了 AFNetworking,务必要升级到最新版本。并且还需启用公钥或者“证书锁定(certificate pinning)”。

SourceDNA 提供了一款免费在线检测工具,iOS 用户可以通过该服务检查他们使用的应用是否仍然处于易受攻击的状态。之所以没有提供一个易受攻击的应用的列表,是为了防止被攻击者滥用。但大量知名应用都面临这一漏洞的威胁,包括但不限于雅虎和微软的iOS 应用以及国内外众多金融类Apps,等。


感谢魏星对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群InfoQ 好读者)。

2015 年 5 月 06 日 07:271909
用户头像

发布了 1008 篇内容, 共 316.8 次阅读, 收获喜欢 287 次。

关注

评论

发布
暂无评论
发现更多内容

产品经理训练营第二周作业

产品经理训练营

产品训练营-第二周-作业

邹小胖

产品经理训练营

第二次作业提交

涅米丶

阿里开始“拆”中台?!中台建设何去何从?

博文视点Broadview

【并发编程的艺术】Java内存模型的顺序一致性

程序员架构进阶

架构 JMM Java内存模型 28天写作

维基百科技术架构演进分析

andy

面试加分项!Android项目开发如何设计整体架构?学习路线+知识点梳理

欢喜学安卓

android 程序员 面试 移动开发

【百度官方技术分享】百度智能小程序框架性能优化实践

百度Geek说

百度智能小程序 小程序云开发 百度 前端开发 技术宅

深入了解HashMap!

xcbeyond

Java hashmap HashMap底层原理 28天写作

阿里开源Redis“神级”手册我粉了!理论源码实战起飞(2021最新)

程序员小毕

Java redis 源码 架构 面试

全网首发!普通程序员快速成为架构师的不传之秘,阿里年薪20W——200W的学习计划路线终开源

程序员小毕

Java 人工智能 大数据 架构 分布式

面试学习!我们究竟还要学习哪些Android知识?讲的明明白白!

欢喜学安卓

android 程序员 面试 移动开发

Java9模块化指南

程序员小毕

Java 编程 程序员 面试 开发

拆解 抽奖助手 的利益相关者

小匚

产品经理 产品经理训练营 无码科技

Mybatis系列全解(四):全网最全!Mybatis配置文件XML全貌详解

潘潘和他的朋友们

Java 后端 mybatis 后端开发 mybatis源码

作业:挑一个你喜欢的产品平台,列出产品的利益相关方。

嫉妒的耗子

第四次工业革命与龙的故事

脑极体

《程序员修炼之道》- 务实的哲学(2)

石云升

读书笔记 28天写作 程序员修炼之道 程序员的务实 软件的熵

一看就懂的网络传输介质介绍

Mybatis系列全解(五):全网最全!详解Mybatis的Mapper映射文件

潘潘和他的朋友们

Java 后端 mybatis 后端开发 mybatis源码

第二章作业

白知之明

阿里发布2021年Redis“神级”手册:基础+原理+应用+集群+拓展+源码,六管齐下

Java架构追梦

Java redis 阿里巴巴 源码 架构

「Android渲染」图像是怎样显示到屏幕上的?

李小四

Android渲染 AndroidUI RenderingPipeline

【网络篇】- https

双木之林

追根溯源的产品思维

产品经理训练营

Java 程序经验小结:反射机制勿滥用

后台技术汇

28天写作

抽奖小助手——利益相关者

墨狂之逸才

Springboot使用jasypt需要注意的一个小地方

Sky彬

springboot jasypt

产品经理课程-第二周

novaln🍉

产品经理的大局观——

小匚

产品经理 产品经理训练营

70 张图带你彻底掌握红黑树

云流

Java 数据结构 红黑树

知名开源库AFNetworking曝SSL漏洞,2.5万iOS应用受影响-InfoQ