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

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


将程序从任务列表中隐藏 -VB资料 将我自已的命令加入窗体的控制菜单栏-VB资料 VB利用 UnloadMode 来控制窗体的卸载? VB利用Form_QueryUnload询问使用者是否关闭窗口 利用VB的图片框实现屏幕的滚动 利用VB动态改变Windows显示模式的两种方法 利用VB控制窗口显示风格 利用VB实现浮动按钮 VB利用子类处理技术限制窗体的大小 奇形怪状的窗体 -VB资料 强制ComboBox弹出下拉框 -VB资料 强制和防止窗口重画 -VB资料 巧用“关于”对话框-VB资料 请问在VB中如何关闭别的应用程序窗口 确定屏幕分辨率-VB资料 让VB5支持动画光标 让窗口拒绝接受键盘和鼠标事件 -VB资料 让窗体处于最前面 -VB资料 让窗体居中 -VB资料 让所有的控件都动起来 -VB资料 让最大化和最小化按钮消失-VB资料 任意多边形的窗口-VB资料 如 何将「拒 绝 被 盖 住 的 窗 口 」还 原-VB资料 VB如何创建椭圆形的窗体? VB如何创建无Icon的窗体? VB如何防止Edit框中的Password不被非法获取 VB如何将鼠标显示成动画鼠标? VB如何利用程序拉下 ComboBox? VB如何让窗体右上角的X失效? VB如何使Form的背景图随Form大小改变 VB如何使Text文本框的属性只读? 用Delphi、Mysql的大侠帮忙看看吗?---急急急急 别人的东西,学习c的朋友看看吧。 高手请指点! 表示严重不满:jbuilder下居然不能用鼠标的滚轮~ 如何将HTML文本直接显示在CppWebBrowser中?(不使用临时表) PB中有没有类似VC中ListMember功能的东东呢? 怪啊怪啊,ListView的问题 如何取得任务栏的高度? 哪里有《Effective STL》下载? 哪里有《Effective STL》下载? Load Servlet ? word 和 数据库 谁能帮我看一下程序? 帮我看看这几个宏什么意思? 程序员!女人对你重要么???? 这是我第四天的C#学习笔记,敬请高手指教 谁先回来马上给分(简单问题) 机器的usb问题!! 兄弟们,小弟刚接触JSP,帮忙解决一个问题。 请教PHP.INI配置里的SESSION! 刚开始接触.net 求购程序,请进. 求购程序 求购程序 推荐一些适合初学者看的书吧 一家位于Montreal, Canada的公司,求购一个程序 如何保存UNICODE的字符串到硬盘上 如何将HTML文本直接显示在CppWebBrowser中?(不使用临时表) 如何保存UNICODE的字符串到硬盘上 redhat第4第5两个iso文件是做什么的 关于jsp做客户端调用ejb的问题?????望各位兄弟们救救我吧!!!!! COOL!将所有菜单设置为半透明的代码(只适用于WIN2000以下版本) 请问谁知道如何用jakarta-jmeter进行压力测试? 如何判断文件夹是否存在 在Win2K Server安装Oracle817时,没有安装数据库,后在创建数据库时出现"ORA-12560:TNS:协议适配器错误"... 请教.net服务器问题 解决这个问题,给你200分!!!!!!!!!!(回头追加给你!) 我是初学者,请问.net framework先进性在哪里? 有谁试过用JAVA编FTP软件? 很简单的listBox问题,HELP 今年大四,现在找工作,求助,我怎么样………UP有分。 寻找!! IE的文本输入框,输入一字符会联想,请问怎样去掉这个联想?(Win2K) 哪位大俠能賜教 哪位大俠能賜教 你们说VC到底要学些什么?VC更偏底层,总做这种纯技术总也做不完。迷茫~~~ 请问,在Oracle里建trigger是不是有什么说法呢?一个正常的不能在正常的trigger在Oracle里运行也说compilation errors. 请教:提取字符串里每个字符首字母,谢谢!!! aa模块代码 关于强烈要求恢复可用分增长、可用分转移、非技术区得分转换为可用分的建议!! SOS:如何找到窗口中多个进程其中我所需要的那一个? 写30句比喻句 Is this her map?(改为同义句) i really have no more time! 有关抵制不良诱惑的高中作文800字议论文 女字加谬的右边怎么读就是秦朝是谋反的那个人 have more time for 翻译 现在呢?据说火星上发现了古生物的化石,不知是真是假本人也算是天文爱好者吧 越具体 分越高哦 学练优 第21页 第五题正方形÷8=空心三角形……空心圆形正方形÷空心三角形=实心圆形正方形÷5=实心三角形……实心三角形问:空心圆形最大可填( )空心三角形最小可填( )实心三角形 高中化学必修二 三段法 题目.过程答案正确吗?又快又正确立给好评 用一个字表示“坚持”这个词这个字是动词 给“静”组词填空,不能重复使用.(注意:我以填“安静”"肃静""静静”) 一道初三数(或高一)学题 要分析的过程 能否用一个字来表示“坚定”这个词? 给“静”组词填空,不能重复使用.(注意:我以填“安静”"肃静""静静”)1遇到事情咬沉着(),不能慌张 “女”字旁加一个“青”字读什么?是繁体字吗?我不知道是否读“qian” 但搜索结果是否认的 他说话快.改成比喻句 从“平静、宁静、肃静、寂静”中选词填空.1.薯色笼罩下的田野一片(),连鸟的声音也没有.2.没有风的月夜,海面上显得格外()。我们躺在海滩上,细听大海的呼吸声。3.在祝捷大会上, 温带季风气候的年平均气温是多少 火星上真有这种地貌吗 whose red jacket is this?it's 用:因为.就...造一个比喻句和一个拟人句 三大宗教.基督教主要分布在欧洲美洲大洋洲.还有伊斯兰教,佛教,主要分布地都记乱了,有没有好方法? Whose jacket is this?Is it Mr.Wang's?No,____is on the desk.英语急死我了!求求各位亲了! 一月平均气温都在0度以下的是?下列各组省区中,一月平均气温都在0度以下的是:A.川、滇、黔B.湘、粤、赣C.鄂、豫、皖D.陕、甘、宁 火星有自然卫星吗? 是please not talk any more还是please not to talk any more? there is a knife on the table.的复数形式是什么 八大行星中直径最小的行星除了冥王星 如图:已知DE//FG,AC,BC分别是角BAE和角ABG的角平分线,AC于BC交于点C,求证:AC垂直BC还有一题,锐角三角形ABC中,角A=52°,边AB,AC的垂直平分线相交于点O,求角BOC的度数。这题本来就没图,上面 小学三年级的,第三题,请学霸帮忙 佛教当中所说的妄想分别执着是指什么? 翻译Please let us have more time,will you? 赤字旁加个贞是什么字左边一个赤,右边加个贞字读什么? 请问下佛说的妄念是什么意思 左边一个“女”右边一个“贞”是什么字?读什么? 运动会场面描写的结尾怎么写 佛教中的妄想是什么意思? 金字旁一个贞是什么字 Article of association和memorandum of association何意? 佛教所说的:执着、分别、妄想是什么意思? 为了改善居民住房条件,我市计划用未来两年的时间,将城镇居民的住房面积由现在的人均约为10平方米提高到12.1平方米,若每年的年增长率相同,则年增长率为()A 7% B10% C11% D12% 英语翻译通常的翻译“谅解备忘录”似乎是外交达成的协议,那么在公司企业、外资银行内,这是个什么文件?中文叫什么? 平静 宁静 幽静 恬静 哪个不是同一类词 This is Helen spaeking.的意思 memorandum of association是什么意思 幽静、安静、恬静、寂静中,哪个不同类 This is Helen中文怎么说 memorandum of understanding 的中文翻译是什么? 古诗里哪些字只要一个字就能表达很深的意思? 表示心情非常不平静的词 沉默的什么组词沉默的.什么 30句比喻句急用 This is my comb(改成同义句)This__________ ____________ ______________. 英语翻译急 急需30个最新比喻句!要最新的啊! whose is this comb?同义句转换 与沉默老狼相近的词是? 比喻句三十句 女字旁加暖字右边的字读什么 (法律)第7题,求解释,保证好评
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘