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

安全漏洞影响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)。


禁止用户切换任务-Delphi资料 控制面板大全-Delphi资料 控 制 系 统 菜 单-Delphi资料 拦截消息处理过程-Delphi资料 利用API函数开发DELPHI程序三例 利用Hook技术实现键盘监控-Delphi资料 利用浏览窗口 DragDrop 任意文件-Delphi资料 利用未公开函数实现Shell操作监视-Delphi资料 妙用Delphi的标识号 判断Windows类型和版本-Delphi资料 判断一个程序是否dos版本:-Delphi资料 屏蔽系统按键-Delphi资料 屏幕抓字技术揭密(转载)-Delphi资料 启动控制面板-Delphi资料 取得系统所有窗口的方法-Delphi资料 全部窗体可使用鼠标点中移动-Delphi资料 让图像旋转-Delphi资料 热启动控制-Delphi资料 如果隐藏和显示Windows的任务条-Delphi资料 如何把文件删除到回收站中-Delphi资料 如何从任务栏上隐藏应用程序的按纽?-Delphi资料 如何得到Windows 的temp路径-Delphi资料 如何得到WINDOWS的SYSTEM路径-Delphi资料 如何得到上一个激活的组件-Delphi资料 如何得到系统目录-Delphi资料 如何得到执行程序的当前路径-Delphi资料 如何访问一个进程的内存空间-Delphi资料 如何关CD机的门?-Delphi资料 如何关闭外部开启的应用程序-Delphi资料 如何获得系统内存的有关信息?-Delphi资料 如何获取硬盘的ID-Delphi资料 请问大家如果使用了两个session会有什么影响吗?? 中国古典四大名著教给我们什么? 在iis中,如果需要让访问每个主页的用户都看到一个主页通知,该怎么做?就好象是做一条广告一样 怎么开始学习JAVA,没有c++的基础,很困惑 请教专家高手有什么好建议,谢谢 wingsun,bcb等大虾帮小弟看看这个"参数错误"的问题.谢谢 如何理解连接身份 如何用TURBO C编背景音乐? 我用exec() 来执行notepad.exe , 用它来打开我想要的文本 , 可是并没有得到notepad.exe执行。 你是想找一个爱你的人还是会找一个你爱的人? VC++中如何列出SQL_SERVER服务器?急救!!! 发展方向的问题??? 急救!!在线等待!!关于XmlHttp!! 关于wsad的使用上哪个论坛比较好,请大家推荐 关于Windows CE下面的密码验证 关于Visio2002版的安装问题 搞不定了:为啥我的EnumWindowsProc会引起outlook提示?附源码 给中国足球的一点建议,如果照着这条路走,20年后中国队还可以闯进世界杯 急急急!!关于打印问题!!!!!!!! 有谁在WIN2000P+ORACLE805安装了PROC? 寻找北京地区的兼职项目. 谁知道VB MSDN在哪里有下载,我给分! 关于Visual C++的编译器手册。 在一个程序中如何控制Ftp的执行??(急,用windows API实现,不是MFC) vb.net安装和vb6冲突么? 关于JDialog的问题! 各位帮帮忙,怎样读写一个二进制文件?急!!!!!!!(答对了给高分) 有些什么好的中程书籍??? 如何动态的切换数据窗口呢? 各位任兄,谁知道如何对jsp文件加密,就像php那样 为什么自定义过程,出错。说[Error] Unit2.pas(29): Undeclared identifier: 'NMFTP1'unit Unit2; 浏览器插件讨论 问一个Linux下安装软件的问题,太弱了别笑!!!! 急急急:如何让dbgrid控件实现排序功能,,100分 新手问题~~帮帮我啊~~ 我做共享软件的一点经验,希望能抛砖引玉 在iis的服务器上需要安装什么客户端软件才能使asp联接到oracle数据库服务器上? 怎样在vb中控制EXCEL打印报表 如何判断多选框是否选中? 关于 SQL2K 和 XML(在线等待) KingSunSha(弱水三千),能不能再帮小弟一个忙?这个触发器好奇怪??? 正在开发一工资软件,有经验者能否提供参考。 急!!!我的VB中的部件对话框显示不出部件了,还有一个系统错误消息。请问是什么原因,如何解决? SQL SERVER权限管理问题 若你有系统分析经验,请留意... 在access中如何写按照日期查询的语句?急! 调用Excel的问题 关于CDONTS 哪里能找到关于细胞自动机的书阿!(找到后一定给分) 自考失利,恋女无意,唯有CB,本贴无忌。痛苦之人,挥泪大出血。。。。 高锰酸钾的在水里溶解的快慢跟什么因素有关 化合物x在O2中完全燃烧 ,只生成相同数目的CO2和H2O分子 下列说法正确的是A.X中只含有C H两种元素B.X中C H元素的质量比是6:1C.X中一定有C H O三种元素D.X中可能有N S Cl等元素 陌上浅歌 英文怎么翻译? 如图所示,水平轨道CD与光滑竖直圆轨道ED、BC分别相切于D、C点.质量m=2kg的小滑块从圆轨道B点上方由静止释放,通过B点切如轨道BC,此后,滑块在轨道内往复运动.已知AB间高度差h=1.6m,圆轨道半径 参考系物体移动的轨迹是直线还是曲线与参考系的选取是否有关?一个人绕操场跑了一圈位移的距离是多少? 有关体育的词语我要!体育的词语 急用!15~25 请问硫酸钙理论上含硫多少? 某可燃化合物X完全燃烧的化学方程式为X+O2→CO2+H2O(为配平),则X不可为()A、甲醇(CH3OH)B、乙醇(CH3CH2OH)C、CH4D、CO "陌上花开 可缓缓归矣" 翻译成英文怎么说? 为什么向煤中加入适量硫酸钙可以减少污染 某可燃化合物X完全燃烧的化学方程式为X+O2→CO2+H2O(未配平),则X不可能是A COB CH4C甲醇(CH3OH)D 乙醇(CH3CH2OH) 狼窝里的山羊——( )牛磨王请客— ( )寒潮消息—( ) 怎样将石灰石表面的硫酸钙除去除了氯化铵,谢谢 一道高中机械能守恒物理题面积很大的水池,水深为H,水面上浮着一个边长为a的立方体木块,密度为水的1/2,质量为m,开始时,木块静止,有一半没入水中,现用力F将木块缓慢压倒池底,不计水的阻力 用高锰酸钾制氧气会有呈紫色,应怎样避免? 关于group work的英文解释 ///define of group work 回答的时候留个内容出处,全文:Clearly define the concept of group work 下列过程中机械能守恒的是 机械能守恒)A.跳伞运动员匀速下降的过程B.汽车关闭发动机后在水平路面上减速滑行C.子弹射穿木块的过程D.木箱在粗糙斜面上滑动的过程 有关体育的句子20句就行 亚硝酸钠(NANO2)加热分解放出一种具有刺激性气味的气体这气体是NH3?SO2?NO2?N2? 谁帮忙找些关于”group work"的英文解释要经典的,权威点的,学术性的哦,英语的,字数多点了,最好指明文章出处!论文用的 一道机械能守恒选择题 题目就在下面的图片里,点一下就放大了 亚硝酸钠(NaNO2)隔绝空气加热能放出有刺激性气味的气体,此气体可能是什么?A :NH3 B :NO2 work with a group什么意思? 用光洁的铂丝蘸取某无色试液,在酒精灯火焰上灼烧,观察到黄色火焰,下列有关叙述中正确的是 A 只有Na+ B 一定有Na+,可能含有K+ C 既含有Na+,又含有K+ D 可能含有Na+或K+中的一种 构建社会主义和谐社会有何重要理论意义和现实意义(简答题) Work-Group Management翻译 RT 化纤地毯好吗?化纤地毯该怎么保养 自行车的把是不是轮轴 PEP小学六年级英语里面Let's chant,Group work,Pair work,match and say是什么意思啊?谁有PEP小学六年级上下册是说课稿?急需要啊 地毯怎么清洗,我家的是纤维地毯 山地车后轮轴问题上次发现后轮很紧就把后轮轮轴松了一些,后来越来越松,紧了,过一段时间又松了.怎么办?求教! 6.我们每天要呼吸两万多次,呼吸时吸入的氧的最终去向是 谁能总结一下人教版物理八年级下学期第六、第七章的知识点?越简洁越好 一个物体自静止开始做加速度逐渐变大的加速直线运动,经过时间T,末速度为Vt,则这段时间内的位移A.xVtT/2 D.无法确定这道题遇见过很多次了,可还是不是完全懂.我觉得选A,但是位移也有可能等 人体的氧气的最终去向是什么?A.用来构成组织 B.用来与血红蛋白结合C.用来分解有机物 D.用来交换二氧化碳 谁有关于体育的诗歌和文章?¥我明天早上就要交知道的有200分悬赏 乳化油如何分辨好坏 轻弹簧竖直固定在水平地面上,弹簧的劲度系数为k,原长为l,质量为m的铁球由弹簧正上H自由下落,落到离地面多高时它的动能最大?球在离地面多高时,弹簧的弹性势能最大? 吃火锅时,汤上面浮的一层油和泡沫是什么成分啊?有毒没? 液压符号这么多形状又难记,这些符号有什么规律吗? 1.汽车拉着拖车在水平道路上由静止开始做加速运动.在此加速过程中,根据牛顿运动定律可知(BC)A汽车拉拖车的力大于拖车拉汽车的力B汽车拉拖车的力等于拖车拉汽车的力C汽车拉拖车的力大 泡沫地垫有毒吗 铺地用的泡沫是什么成分?可以给小孩用吗 液压符号里面有个 直动型卸荷阀 ,它的原理是什么啊?就是这个阀 矿泉水喝矿泉水好吗? 如何区分液压阀的A、B、P、T? 1.下列说法正确的是BA做直线运动的物体运动状态不变 B物体无论做何种曲线运动,其运动状态一定时刻在改变 C物体具有恒定的加速度,说明其运动状态恒定不变.D物体原来沿斜面向下做匀加速 根号前的平方是什么意思? 例如 平方根号3 液压阀中的几位几通是怎么回事啊?是用来做什么的啊? 木块跟斜面都静止,O为斜面重心,画出斜面所受作用力的示意图http://hi.baidu.com/%CF%C4%CC%ECde%D3%D5%BB%F3/album/item/e80de3fa370584d958ee900d.html#但 斜面不只是受到 重力和木块的压力吗?图中f,N,F 分别是什么 水电安装方面,请教各位师傅如何用3个双控开关控制1个灯!只能用3个单联双控开关完成只能用3个单联双控开关完成.怎么接线.千万不要说不能完成. 液压阀怎么根据外表区分是什么阀? 一辆车通过一根跨过定滑轮的轻绳提升一个质量为m的重物,开始车在滑轮的正下方,绳子的端点A离滑轮的距离是H,车由静止开始向左匀加速的运动,过了时间t绳子与水平方向的夹角我a,如图所示 求解高中机械能物理题,要详细步骤.物体静止在光滑水平面上,先对物体施一水平向右的恒力F1,经t秒后撤去F1,立即再对它施一水平向左的恒力F2又经t秒后物体回到出发点,在这一过程中F1,F2分别 地毯分为哪几类啊, 如何燃放烟花爆竹 A、B两辆汽车在一条东西方向的直路上向东行驶,若以地球为参考系,A速度为6m/sB速度为10m/s.(1)若以A为参考系,方向如何?(2)若以B为参考系,方向如何?(3)以A或B为参考系,地面的运动情况如 地毯按材质不同可分为哪几类 有何特点 普通自行车 轮胎打气应打到什么程度.我指冬天的时候.打到很硬用手直接按不动,再带人会还感觉很轻,很爽,这样好么?还是要打气到稍微能按动? 高一物理必修一第二章第四节 追及与相遇问题 求教...还有小车速度随时间变化的实验...求教︶︿︶ 描写体育精神的词语SOS
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘