说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

安全漏洞影响2.5万iOS应用?AFNetworking维护者发布回应

HTML文档下载 WORD文档下载 PDF文档下载
日前,一则关于著名的iOS网络通信库AFNetworking曝安全漏洞影响2.5万iOS应用的消息铺天盖地而来,引发众多开发者担忧,对此,其维护者Alamofire Software Foundation在GitHub上进行了回应。

日前,一则关于著名的iOS网络通信库AFNetworking曝安全漏洞影响2.5万iOS应用的消息铺天盖地而来,有1000多种应用程序被指称,由于SSL存在Bug,导致这些应用程序容易遭到攻击。对此,由Mattt Thompson一手创立的Alamofire Software Foundation在GitHub上对于AFNetworking曝SSL漏洞引发的众多担忧进行了回应,以下为全文:

背景信息

就此事,对于不熟悉AFNetworking的人,这里有一些与其相关的细节需要了解:

  • AFNetworking是一个第三方开源库,置于苹果内置框架之上,允许开发者向iOS和OS X应用添加网络功能。
  • AFSecurityPolicy是AFNetworking的组件之一,可根据应用程序设置的规则处理验证挑战(authentication challenge),包括通过HTTPS连接时,对服务端返回的X.509证书的评估。
  • 证书锁定(certificate pinning)是一项信息安全技术,它在标准TLS评估的基础上做了改进,通过服务器显式地发送证书来匹配包含在客户端的凭证(credentials)。AFNetworking从版本1.2.0开始一直提供证书锁定技术。
  • 中间人攻击(Man-in-the-Middle Attack, MitM)是在客户端和服务器之间插入攻击者本身,使两边都认为自己和对方在直接通信。
  • 这样的一种攻击方式在客户端和服务器之间会涉及某个不可信的Wi-Fi接入点。没有对响应进行恰当地验证,攻击者就可以拦截通讯信息,用户凭证或其他敏感信息因而会遭到泄露。
AFNetworking官方文档强烈建议应用程序要通过HTTPS进行通信,并且使用证书或公钥锁定技术来弱化MitM这种攻击行为。工程中所包含的示例代码遵循了这些建议,在应用程序中展示了证书锁定的使用方式。

事件回放

  • 2015年2月12日,AFNetworking 2.5.1发布。这一版本包含了一个补丁,修改了证书的安全策略验证方式,将SSLPinningMode修改为AFSSLPinningModeNone。验证挑战过程中,服务器的证书默认是不会被验证的,除非客户端存在与众不同的配置行为,比如使用SSL pinning这样的证书绑定技术。
  • 2015年3月12日,我们从这个GitHub Issue开始意识到上述的修改行为所造成的影响。
  • 2015年3月26日,来自Minded Security Research的Simone Bovi和Mauro Gentile发表了一篇博文,详细说明了AFNetworking 2.5.1潜在的MitM方面的漏洞。
  • 同样在2015年3月26日,AFNetworking 2.5.2发布。这个版本恢复了先前的证书安全策略评估方式。如果安全策略将validatesDomainName设置为YES,那么SSLPinningMode将会被修改为AFSSLPinningModeNone。
  • 2015年4月20日,AFNetworking 2.5.3发布了,该版本做了额外的修改。对所有的安全策略默认设置validatesDomainName为YES。
  • 2015年4月21日,GitHub上新开了一个Issue,要求完善AFNetworking的文档和与安全相关的功能特性。我们正就此积极努力地对参考材料做全面彻底的修改。
  • 还是在2015年4月20日,来自SourceDNA的Nate Lawson发表了一篇博文,宣称某个工具可以识别苹果商店中使用了AFNetworking2.5.1的应用程序。包括来自Ars Technica的Dan Goodin在内的许多记者,在其公布的文章中都引用了该博文并提及了博文的作者。这些公开发布的内容都没有就AFNetworking维护人员的解决方案进行整理而置评。
  • 2015年4月24日,SourceDNA在其后续发布的博文中声称,存在更多带有安全漏洞的应用程序,来自Ars Technica的Dan Goodin随后也发表了一篇带有相同效果的文章。需要强调的是,没有任何一篇公开发表的文章对AFNetworking维护人员的解决方案进行整理而置评。

使用AFNetworking的开发者们可以做什么?

  • 如果应用程序通过HTTPS通信,却没有启用SSL pinning技术的话,应用程序就可能容易受到所报道的MitM攻击。

AFSecurityPolicy的官方文档中的内容:

将固定的SSL证书( pinned SSL)添加到应用程序中,可以帮助应用避免中间人攻击以及存在的其他漏洞。大力鼓励应用程序在处理用户数据或财务信息的时候,所有通信途径都通过HTTPS协议,配置并启用SSL pinning技术。

无论在什么时候,遵循这些建议的应用程序都不应该存在上述安全漏洞。

  • 如果应用使用HTTPS进行通信,并且启用了SSL pinning技术,就不容易遭到所说的MitM攻击。

很大一部分应用程序使用AFNetworking是通过推荐的步骤启用了SSL证书或public key pinning机制的,这些应用程序不太不容遭到上面说的MitM攻击。

  • 如果使用的是先前的版本AFNetworking,我们强烈推荐您升级到版本2.5.3。

AFNetworking 2.5.1和2.5.2包含的默认配置不适合产品级应用程序——特别是如果不进行额外的配置,就不会提供必要的TLS评估。

AFNetworking 2.5.3默认配置更加安全,即使不使用SSL pinning也会进行域名验证。

  • 如果使用NSURLConnection或NSURLSession代替AFNetworking的话,你仍然需要检查验证挑战的实现方式。

苹果内置的NSURLConnection和NSURLSession,还有Security框架所提供的API,都具有对凭证验证的安全实现方式。但是,像任何API一样,某个应用程序的安全性取决于这些API的使用方法。

是否使用AFNetworking本身并不能保证你的应用程序能够灵活应对MitM那样的攻击。是否能够灵活应对攻击完全取决于应用程序使用可用API的方法。在产品环境下,测试应用程序的健壮性和网络安全性最终是开发人员的职责。

对负责任的安全研究和新闻工作的看法

对于终端用户来说,安全研究人员在软件安全方面起着核心作用。研究人员与软件开发人员共同努力,通过遵循既定的负责任的漏洞披露(responsible disclosure),可以快速修复漏洞。同时,将当前用户的风险降到最低。

然而,我们对一些研究人员的做法和一些对AFNetworking的披露感到失望。作为人尽皆知的话题,信息安全从未如此重要。安全研究人员和记者拥有独特的机会来让读者了解这些事实。但不幸的是,这样的披露方式常常通过制造恐惧来增加点击量,而不是客观详实的报道。

尚未有确切的方法可以表明多少应用程序受此问题的影响;这些对安全问题严重程度的揣测摧毁了对问题准确和适度的回应。同样地,根据揣测提出的权利主张对企业和其客户也帮助甚少。

事实上,编写安全的软件一直以来都是一项巨大的挑战。这需要多学科的工程师们一起合作完成。这是一个极其重要的任务,最好由理性且富有责任心的人参与。

作为软件维护人员,我们有很多事情可以做得更好,并积极采取措施来完善自身的组织和流程。从今天起,我们期待与信息安全社区的成员紧密合作,负责任地寻找并解决任何安全漏洞。

对负责任的开源项目维护工作的看法

我们真诚地向使用AFNetworking的开发者和iOS整个开发者社区表示歉意。

作为著名开源项目的维护者,我们有责任提供与高标准相契合的软件,该软件将作为应用程序不可或缺的一部分。我们却没有对应该尽快更新的版本做出回应。我们未能向您有效传达至关重要的安全信息。这所有的一切,我们表示真诚的歉意并负全责。

在未来的几周内,我们将推出重组后的AFNetworking及其相关项目,以确保稳定的通信顺利进行。从用户的角度看,这意味着更加频繁地发布版本,更高的透明度,处理问题与合并请求过程中更多的反馈,我们为此而感到兴奋。

(翻译/白云鹏 责编/唐小引)

文章来源:GitHub


CSDN移动将持续为您优选移动开发的精华内容,共同探讨移动开发的技术热点话题,涵盖移动应用、开发工具、移动游戏及引擎、智能硬件、物联网等方方面面,如果您有想分享的技术、观点,可通过电子邮件(tangxy#csdn.net,请把#改成@)投稿。

第一时间掌握最新移动开发相关信息和技术,请关注mobilehub公众微信号(ID: mobilehub)。


Hadoop导航:版本、生态圈及MapReduce模型 把黑匣子送上“云” 失联困境能否不再 看看全球十大电信巨头的大数据玩法 尹绪森:打开圈子拥抱变化,谈Spark玩家的自我修养 从Healthbook看苹果将如何颠覆移动医疗和健身追踪 Google可穿戴:详解Android Wear的十大功能 初创企业非技术人员的迷思 【OSTC讲师专访】王兴博:Genesis-3D,3D开源游戏引擎 Facebook发布开源项目Tweaks,让iOS应用开发更加便捷 移动开发创业团队再下一城!UCloud与飞流战略合作 【走进支付宝】即将开场,问题大征集! 开发者薪资调查:半数开发者工作十年方可迎来好“薪”情 沟通更畅快 HipChat推出1对1视频和屏幕共享功能 AMD宣布支持DirectX 12 为游戏开发者带来更多福利 开发者薪资调查:2013年哪种编程语言最赚钱? 苹果挖墙脚未果,黑莓高管跳槽被起诉 不看不知道:六个超大规模Hadoop部署案例 豌豆荚发布应用内搜索技术协议 兼容App Indexing Oculus 21岁鬼才创始人:收购不等于改变 Unite China 2014课程解析:Unity教育行业专场免费开放 Instagram技术窥探,助你打造响应式App 切勿妄谈Hadoop,以及4个数据管道打造实践 一周消息树:雨果·巴拉与小米的那些事儿 《近匠》轻邮联合创始人Wesley:移动App要有撼动企业服务的野心 Facebook开源MySQL分支,谷歌、LinkedIn、Twitter等大拿捧场 淘宝明风:基于Graphx的图计算实践分享 调查显示:2015年Android将统治全球操作系统 初创公司最爱使用的那些开发工具 仙剑之父姚壮宪强势加盟Unity游戏及应用大赛 智能可视化平台:DCOS之数据中心抽象 一周热点:5美分/GB的开源存储系统,及硬盘质量“最差”的希捷 关于临时表的共享问题?? 请大家介绍一些学习C/C++的好网站,只要进者就给分。 "他妈的,又打歪了!" 我在作登录是出现了"runtime error"错误,详情见内 3台机子如何共享一个adsl上网?? 如何把一应用配置成一NT服务 出学的菜鸟提问 找回addin:资源编辑器 怎样开发阅读工具软件 acm文件格式 数据库安装程序的问题。 大家看看这道题怎么解 100M的网线怎么做?用的是双脚线!!! 大峡,我把一个Acess的 .mdb文件设置了密码,但是密码我忘了,哪里有软件下载,可以解决我打开的问题呢?谢谢 关于 请问怎么样实现象”金山毒霸“控制中心一样的界面? 请问如何在TCOMBOBOX中输入后自动查询到相似的ITEM上面去 文件对话框中怎么过滤文件 wang wei come on 一个ODBC数据源可以被多个应用程序共同使用吗? 经过一段时间本人修改了sendmail、POP3、IMAP4的源代码,把用户认证该为了数据库,数据库采用的MYSQL、并虚拟了整个系统用户来存放邮件内容,有意者请与我联系xuyaoliang@263.net java 板圣诞大餐 有人会吗?不重做系统:如何修改win98se的安装时的序列号? 如何在DELPHI中调用中断? 其实就是一个信仰的问题。想想我们建国的时候不是一样抛什么什么洒什么什么吗?大家也都是无怨无悔。听懂就瞎听。听不懂就当我放了个屁!我可是什么都不信!就信我自己。哈! sql语句问题!! 大虾请进! 目前我还在用JAVA MAIL+EJB开发企业邮件系统有兴趣的可以加盟,并提供好的意见。谢谢 [送分族]今天圣诞也! 请问怎样实现“金山毒霸”控制中心的界面效果? Javamail api 中如何实现用户认证! 我在win98下odbc连接sql server 数据库服务器时需要配置什么东西? 最新技术,全新的B/S结构开发方式,用纯JS+HTML实现了类似C/S的强大浏览器交互,查询及分页浏览速度提高几倍,可以成批录入数据,有完整的数据库表访问和纯web打印,统计图等 数据库 板的 圣诞礼物 高手看过来有关txt转换成pdf的问题 [送分组]我选择,我喜欢 :全新的B/S结构开发方式,用纯JS+HTML实现了类似C/S的强大浏览器交互,查询及分页浏览速度提高几倍,可以成批录入数据,有完整的数据库表访问和纯web打印,统计图... [tmd的,生气阿]送分 有关JSP里调用类的愚蠢问题 怎样用VC写一个建立快捷方式的程序,比如程序自己建立一个快捷方式放到桌面上? 看了几个月的港澳台频道终因国务院129号令被封杀了,郁闷! [五百]我不做老大好多年阿 刚考完一门试,心情不好,来散心,散分! 在installshield中创建bde别名时怎样指定数据库文件?(我用的是ib6) 请问哪位兄弟知道查2001水平考试的成绩的电话号码? [给我机会阿] 请大家介绍几本关于学算法的好书!怎样才能学好算法?谢谢!! sqlserver2000维护计划备份的库名能不能设置,我想覆盖老备份??? 下面这段程序中定义构造函数"A::A(int i,int j):c(i,j)"跟一个对象c是什么意思呀?在程序中若用类A构造了一个对象的话,其什么作用? 我想找一个VC程序员的老婆?怎么才能找到,。 高手:sqlserver2000一台工作站死机,全部就死,怎么解决???????? 在线求救。同一个Asp,我的机器上不能运行,同事的机器好好的 英语翻译1 我需要有人来教我如何唱京剧2 舞蹈课很可能在早上 (likely to be)3 当一个小男孩落入水中时,艾米救了他.他真勇敢.(fall into)4 她是个有礼貌的人,常常和别人打招呼 (say hello to)5 他 英语翻译在线翻译的坚决不要,所以请不要浪费彼此的时间,中文如下:--------------------------------------------------------------------------------------------是因为在那里,有一段很美的回忆.在我20岁的时候, 难忘的一件事 400字 作文 会叫的狗真的不会咬人?这俗话对吗? 英语翻译随着我国广播电视事业的发展,对于节目主持人的要求也越来越高.而国民素质的整体提高,也决定了对主持人的高要求.主持人行业竞争的日趋激烈,也要求每一个主持人都要重视自己 写难忘的一件事400字作文 可以再给我一些时间试穿这条牛仔裤吗?他想和你买一样的T恤他从不会上学迟到我适合这项工作吗?这双鞋是谁的? 英语翻译西方人见面时,不一定会握手,只要笑一笑,打个招呼就行了,即使是第一次见面,而中国人则视握手为一个基本礼节.但在中国握手并没有太多的限定,而西方人握手是有一定礼节的.例如 难忘的一件事作文400字 汉译英(题比较怪 初一的)急!为了提高运动员们的运动技能,这位助手花费了一整天的时间研究运动规则他是怎样把这个如此沉重的配件放到床下他吃了一大盘饺子还喝了一点鸡汤,现在一 中文翻译成英文. 不要电脑上的在线翻译.雇员们最主要的工作是推销产品. 分别写出经度和纬度的划分(范围、符号及变化规律) 由2002个2组成的2002位数222······222(注:2002个2)除以13余几? 英语翻译民营经济对中国社会经济持续、稳定和健康发展做出了巨大的贡献,已经成为推动我国经济发展的生力军.目前,虽然我国经济运行中的积极因素不断增多,出现了企稳向好的势头,但经 汉译英“这怎么可能” 要标准准确的,1 你能否参加明天晚上的聚会?2 这个聚会是为全班所有同学组织的.3 要带吉他,为唱歌而准备的.4 你能否带些食品来?5 明晚七点不见不散.6 明天见! 时区是以时区中央经线()为全时统一使用的标准时间,不同时区的区时特点是:( ),后面还有帮我写下 很容易 汉译英 汉译英!初一的题~1.奇妙的2.令人厌烦的 时区的概念?区时的概念 分别是什么 还有什么?汉译英 2010个1除以7的余数 英语翻译首先,不能用机器翻,语法有太多错误.其次,如果好的我会加分~1.我认为当我长大的时候,我会很自由.2.But,the study is endless,I can't stay in one place,and I try to contact with the higher things.这句话有 校园里难忘的一件事作文,400字急=.= 用2006个数字1组成的2006位数,除以7的余数是多少 比较不同经线的经度发现,在东经部分,自西往东经度数不断怎样? 难忘的一件事400字作文速 英语翻译——— ——— to ——— ——— your dogs. 汉译英(超简单)1.那些箱子轻还是重?它们不是很重.2.有一辆蓝色的汽车,有个老太太在里面. 难忘的一件事500字作文要求:写一件事,并且这件事是令你难忘的.写真人真事,表达出真实的感情. 初一很简单的汉译英..托尼会中国功夫.Tony can [ ] [ ] [ ] [ ]{一空一词}--He wants to play the trumpet.{改为否定句}[ ] 这段话翻译成英文 不要在线翻译的 谢谢~纵使国际风云不断变化 我们都应保持客观冷静的理智 不管做什么事,都应遵循科学规律中译英 Mary is (twelve years old).对划线(括号)提问.How old is Mary?(可以么?)==Zhao Di has a school trip this year.(改一般疑问句)_____________________ 英语翻译她把自己画的雏菊留给救自己的人,后来她就会接到带菊花粉的信.后来她经常收到有人送来雏菊的盆栽,某天开始,有一个男人在同一个时间来画肖像画,就是国际刑警.她以为···这是 作文:难忘的一件事(500字) 汉译英!初一简单单词!1.各种颜色的 2.亲自 3 .出售 4.运动包 5. 看一看 6.价格合理 7,到达 8 .不只这些9.看着. 英语翻译享受文字与音乐,用的是心,不是感官。请用心体会。你会感受到一个个美好抑或悲伤的故事。我们亦是故事里的人。 汉译英“做什么事情都不能过”做什么事情都不能过度,过了就会产生反效果. 1.上周末我和家人一起去了湖北博物馆2.去年暑假你去了哪儿?3.中国有许多名山大川4.五年级时我参加了北京夏令营 英语翻译在现有市场的基础上,我会开拓更多的市场,扩大公司的规模,尤其是发展中国家的市场,因为发展中国家的发展速度很快,经济增长迅速,发展潜力巨大.下面我就以中国和巴西为例来说一 作文 难忘的一件事500字 他的狗的名字(英文翻译) 一个小男孩的钢笔(英文翻译) 英语翻译初恋的那个人你还记得吗?如果用3年的时间去好好爱一个人,然后再用9点的时间去等待,是不是我们都能拥有一段如此刻骨铭心的感情?初恋这件小事叫人如此疯狂如此难忘.多年相遇, 难忘的一件事作文500字 承接各种 平面设计 会议活动婚庆摄影业务 纬线和经线形状特征 指示方向 长度变化 标度范围 零度线的确定 度数的变化规律 划分地球的界线 本初子午线为起点,向东向西最大精度为多少度 一个二位数除以7,商和余数相同,这个二位数最小是()最大是( )这个计算公式是这样的谢谢 纬线和经线的定义 形状 长度 指示方向 度数范围 读数的分布规律 难忘的一件事作文500字希望给我说具体点,我是男的, 一个四位数,它被146除余69,被145除余84,被57除余几? 超简单的汉译英1.请不要在教室里讲话.2.你不要打碎这个杯子.3.你怎么了?我头痛.4.这个小孩多大了?她11岁了.5.你的生日在那天?11月2日.拜托了……………………………………………………… 一件令我难忘的一件事100字作文 一个4位数.它被146除余69.被145除余84.这个数是多少? 作文 难忘的一件事 400字急 《难忘的一件事》作文500字 一个四位数,它被146除余69,被145除余84 关于《难忘的一件事》的作文400字!400字,不能少,只能多! 难忘的一件事500字作文,最好是关于 爱关于母爱或者老师对我的关心今晚就要!要500字以上
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn