写点什么

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

  • 2015-05-06
  • 本文字数:967 字

    阅读完需:约 3 分钟

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-05-06 07:272851
用户头像

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

关注

评论

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

Redis架构实战:高并发情况下并发扣减库存

编程江湖

java编程

JVM中的对象及引用

Ayue、

技术专题合集

小伙伴如何更有效的自学java开发

@零度

JAVA开发 自学java

Go语言学习查缺补漏ing Day2

恒生LIGHT云社区

Go 编程语言

百度智能客服斩获 “金音奖—中国最佳客户联络中心技术与解决方案奖”

百度大脑

人工智能 智能客服

打造基于 PostgreSQL/openGauss 的分布式数据库解决方案

SphereEx

数据库 开源 分布式数据库 ShardingSphere SphereEx

同态加密实现数据隐私计算,能让你的小秘密更加秘密

华为云开发者联盟

数据 加密 同态加密 联邦计算 数据隐私计算

等保工作五大误区汇总,让你更懂等保!

行云管家

网络安全 等保 等级保护

【Java】代码重构时,为什么禁止在方法内对对象类型的入参赋值

恒生LIGHT云社区

Java 代码规范 java代码规范

架构实战营 模块七作业

felix

「架构实战营」

前端开发怎么学习才能更快的提高学习效率

@零度

大前端

滚雪球学Python系列,真能学会Python!

梦想橡皮擦

内容合集 签约计划第二季

软件工程师年满 40 岁,下一步怎么走?|本周话题

InfoQ写作社区官方

生涯规划 个人成长 职业规划 话题讨论

大数据开发技术应该怎么学习入门才好

@零度

大数据

CIO如何制定低代码/无代码战略

BeeWorks

复杂场景,从OpenTSDB迁移到TDengine的最佳实践

TDengine

数据库 tdengine

清空数组的几个方式

编程江湖

大前端

青藤解密:72%客户容器规模>100个,[镜像安全]谁来保护?

青藤云安全

镜像安全

IaaS首席架构师的架构设计思考与实践

华为云开发者联盟

架构 分布式 IaaS 虚拟化 华为云Stack

给弟弟的信第1封|兄弟是父母带给我们最好的礼物

大菠萝

28天写作

火山引擎+焱融 YRCloudFile,驱动数据存储新增长

焱融科技

云计算 分布式 云原生 高性能 文件存储

模运算和与运算的一点儿简单思考

LSJ

位运算 二进制

开始读 Go 源码了

AlwaysBeta

golang 源码 源码阅读 源码剖析 Go web

模仿UP主,用Python实现一个弹幕控制的直播间!

Zhendong

Python

详解工作流框架Activiti的服务架构和组件

华为云开发者联盟

工作流 工作流引擎 BPM Activiti BPMN

MySQL「 Every derived table must have its own alias」1248 错误修复法

蒋川

数据库 MySQL 运维 MySQL 数据库

mPaaS 月度小报|魔方卡片(Cube)公测,十个卡片模板任意使用

蚂蚁集团移动开发平台 mPaaS

小程序 消息推送 移动开发 API网关 cube

什么是云计算?云计算特点是什么?

行云管家

云计算 公有云 混合云 云资源

HBase 和 Hive 的差别是什么,各自适用在什么场景中

编程江湖

大数据

面对行业难题,华为云邀请物联网全行业拿出“亮剑”精神

华为云开发者联盟

IoT 华为云 LiteOS HarmonyOS IoT边缘

如何在 Flutter 中设置背景图像【Flutter专题15】

坚果

flutter 28天写作 签约计划第二季 12月日更

知名开源库AFNetworking曝SSL漏洞,2.5万iOS应用受影响_安全_谢丽_InfoQ精选文章