NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

知名开源库 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:272258
用户头像

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

关注

评论

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

假如面试官要你手写一个promise

helloworld1024fd

JavaScript

手写JS函数的call、apply、bind

helloworld1024fd

JavaScript

JDK源码对你最有触动的是哪一段#HashMap

琦彦

Java hashmap 10月月更

【LeetCode】子域名访问计数Java题解

Albert

LeetCode 10月月更

基于IDE和dlv远程调试Kubernetes组件

琦彦

Go Kubernetes 调试 10月月更 delve

80%的前端开发都答不上来的js异步面试题

loveX001

JavaScript

Fiddler(二) - 使用Fiddler做抓包分析

No Silver Bullet

fiddler 抓包分析 10月月更

React-Hooks怎样封装防抖和节流-面试真题

beifeng1996

React

【一Go到底】第五天---指针

指剑

Go golang 10月月更

Mac下vagrant从安装到体验

程序员欣宸

vagrant 虚拟机 10月月更

大数据ELK(十三):Elasticsearch编程(添加职位数据)

Lansonli

10月月更

Fiddler(一) - Fiddler简介

No Silver Bullet

fiddler 10月月更 抓包工具

说说你对Vue的keep-alive的理解

bb_xiaxia1998

Vue

黄山归来不看岳:《Java开发手册(黄山版)》新增 11 条规约

琦彦

Java Java开发手册 10月月更

JDK源码对你最有触动的是哪一段#集合

琦彦

Java 集合 10月月更

书单推荐|宅家不动过国庆,好书相伴不寂寞

图灵社区

书单 国庆节

什么是 Python 垃圾回收机制中的引用计数

宇宙之一粟

Python 垃圾回收机制 引用计数 10月月更

网络请求模块(2)

张立梵

Python. 爬虫必备知识讲解 10月月更

微服务通信

穿过生命散发芬芳

微服务 10月月更

令人头秃的js隐式转换面试题,你能做对吗

loveX001

JavaScript

面试官:React怎么做性能优化

beifeng1996

React

Collections之Arraylist源码解读(五)

知识浅谈

ArrayList 10月月更

老生常谈React的diff算法原理-面试版

beifeng1996

React

2022-10-04:以下go语言代码输出什么?A:{123} main.T{x:123} B:{123} T{x:123} C:boo boo D:boo main.T{x:123}。 packag

福大大架构师每日一题

golang 福大大 选择题

说说Vue响应式系统中的Watcher和Dep的关系-面试进阶

bb_xiaxia1998

Vue

手写节流防抖函数

helloworld1024fd

JavaScript

通过单步调试的方式学习 Angular 中 TView 和 LView 的概念

Jerry Wang

typescript 前端开发 angular 10月月更 前端开发web开发

面向对象究竟是什么鬼?该如何理解?

乌龟哥哥

10月月更

经常会采坑的javascript原型应试题

loveX001

JavaScript

Vue是怎样监听数组的变化的?

bb_xiaxia1998

Vue

Vue3入门指北(九)生命周期钩子

Augus

Vue3 10月月更

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