2017-2018年度安全报告——禁用SMBv1协议.pdf

返回 相关 举报
2017-2018年度安全报告——禁用SMBv1协议.pdf_第1页
第1页 / 共12页
2017-2018年度安全报告——禁用SMBv1协议.pdf_第2页
第2页 / 共12页
2017-2018年度安全报告——禁用SMBv1协议.pdf_第3页
第3页 / 共12页
2017-2018年度安全报告——禁用SMBv1协议.pdf_第4页
第4页 / 共12页
2017-2018年度安全报告——禁用SMBv1协议.pdf_第5页
第5页 / 共12页
点击查看更多>>
资源描述
360 Computer Emergency Readiness Team, January 2018 文中部分信息直接参考外部文章(见参考),如有侵权或异议请联系 cert360cert.3602017年度安全报告SMB的古代史SMB1是不安全的SMB1不是必需的2017 年度安全报告 禁用 SMBv1 协议360 Computer Emergency Readiness Team, January 20182一直以来,业界都在致力于解决 SMB1 协议的安全问题。黑客们乐此不疲的进行SMB1漏洞挖掘,协议专家一直布道SMB1的种种是非,犯罪份子直接使用 SMB1 的“永恒之蓝”漏洞利用框架进行全球范围的网络勒索。这一切都像是要让 SMB1 协议走向尽头似的。是时候告别 SMB1 了吗?SMB12017 年度安全报告 禁用 SMBv1 协议360 Computer Emergency Readiness Team, January 20183SMB的古代史上世纪 1983 年初,就职于 IBM 公司的 Barry Feigenbaum开发了一个网络共享协议,试图让现在听上去已古老的 DOS 操作系统支持网络文件访问。作者在雏形版本中称呼它 “BAF”,后在正式发版的时候更名为“SMB”(Server Message Block),最 早 见 于 1984 年 11 月 8 日 的 IBM Personal Computer Seminar Proceedings, 卷 2。 随后,微软在IBM版本的基础上作了大幅修改,形成通用版本。分别在 1987 年和 1992 年将其引入 Microsoft LAN Manager 和 Windows Workgroups 项目, 从此 SMB 也开启在 Windows 平台漫长的生涯。1996年微软的SMB迎来一次不小的挑战,SUN公司强势推出了WebNFS。微软针锋相对,一方面将SMB更名为更通用的 CIFS(Common Internet File System),并递交公开的IETF CIFS 1.0 草案。此外继续给 SMB/CIFS 增加一系列特性,包括符号连接,硬链接等来迎合市场,为减少性能损耗,微软也着手优化掉不必要的 NetBIOS 协议。2017 年度安全报告 禁用 SMBv1 协议360 Computer Emergency Readiness Team, January 2018420 世纪末,随着微软 Windows NT 技术的应用,SMB/CIFS 协议更加活跃。因此微软启动“Direct hosting of SMB over TCP/IP”计划,正式将 NetBIOS 协议象征性保留,SMB将直接运行于 TCP 协议之上,端口也 从 139/TCP 转向 445/TCP。同时,IT 架构方面也在发生着变化,增加了 Kerberos,影子拷贝,服务器互拷等一系列场景需求,为此,专家们在 SMB/CIFS 上进一步引入了对应的协议扩展。SMB/CIFS 的易扩展性让它在 Windows,Linux,NAS 等平台或场景中扮演着重要的角色,SMB/CIFS协议支持了超过100 条的复杂主指令 (Command)。但是 SMB 相关的文档都是不精确,不完整,不可理解的。SMB/CIFS开始变得臃肿了,自身啰里啰唆的交互让它成了当时的网络资源杀手,很少用户会把它应用在WAN下,甚至一些厂家不得不搭建中间协议缓存系统来提高整体的网络性能。SMB 这样的情况让很多人都很不开心,(当然有些人是很开心的,比如 Hackers)。直到2007年,SMB2项目的出现给SMB协议带来了光明的希望。至此,第一代 SMB 协议缝缝补补 24 年,即 SMB1(全名:Server Message Block,曾用名:CIFS,1983年2007年)。2017 年度安全报告 禁用 SMBv1 协议360 Computer Emergency Readiness Team, January 20185SMB1是不安全的2017年,SMB1已经近34岁了,它的设计和出现更多是为了迎合那个已经不再存在的世界。那个还没有恶意攻击行为,还没有海量重要数据,还没有普及计算机的世界。在现在看来,SMB1协议拥有一个“既天真又开放”的一生。近年负责微软 SMB 协议项目的专家 NedPyle,在 Twitter中说了这么一个比喻,“当今社会还在运行SMB1协议就像带着你的祖母去一个热闹的舞会,她是出于好意前往的,但她是真得跳不动了。而且,这可能会是个令人害怕和难堪的事情。”。SMB1 确实给互联网带来过人人恐慌的经历。2017 年 3 月,早在 MS17-010 漏洞被 WannaCRY 勒索蠕虫利用前,微软发布了 MS17-10 补丁程序并提醒用户这是一个重要更新,用户没有多少感知。安全人员根据补丁文件数字签名发现微软在 2 月份的时候就知道漏洞细节。4 月,著名的黑客组织影子经纪人(The Shadow Brockers)发布“永恒之蓝”的完整漏洞利用框架,信息安全行业沸腾了,但用户依然没有太强烈的感知。5月,WannaCRY勒索蠕虫直接利用“永恒之蓝”漏洞和框架配套的“双星脉冲”后门成功扫荡互联网,一时间人人自危,短时间波及 150 多个国家,超过 30 万台主机受到影响,有信息表示该攻击事件造成了全球 80 亿美元的直接经济损失。2017 年度安全报告 禁用 SMBv1 协议360 Computer Emergency Readiness Team, January 20186“永恒之蓝”是微软SMB1协议漏洞的一个近乎完美攻击利用,能够稳定攻击 Windows 2K,Windows XP,Windows7,Windows8,甚至 Windows 10 在内的操作系统。SMB1 长远的历史地位,大规模用户量和远程网络服务功能,让它的漏洞与生俱来就具备成为最有价值漏洞的资本。实际上,微软的MS17-010系列漏洞拿到了 2017 安全奥斯卡(Pwnie Awards 2017)的最佳服务器端漏洞奖,也因其罕见的影响力而被作为一个划时代的漏洞写入到了互联网安全历史。WannaCRY事件之后,安全行业普遍认为互联网安全进入了后“永恒之蓝”时代,但有关微软SMB1协议的安全漏洞还没有结束: 2017 年 5 月,包括 CVE-2017-0272, CVE-2017-0277, CVE-2017-0278, CVE-2017-0279 的多个可被远程利用的 SMB1 漏洞曝光; 2017 年 10 月, 包 括 CVE-2017-11781,CVE-2017-11782,CVE-2017-11815,CVE-2017-11780 的多个可被远程利用的 SMB1 漏洞曝光;衡量微软SMB1在现阶段是否足够安全,举证其发生过的严重漏洞和其近期的漏洞还是比较肤浅的,更需要从当代的安全需求和角度去考虑。2007年至今,微软和业界对SMB作了大幅度改进,修订出了更符合现代安全需求的 SMB2,3 协议和实现。对比 SMB2, 3 协议,使用 SMB1 将失去 SMB2, 3 协议上一系列现代化的保护: 攻击面变窄(SMB2+):SMB1 协议命令 100 条 +,SMB2 缩减到 19 条,大幅度降低 SMB 协议攻击面; 预认证完整性(SMB 3.1.1+),对抗降级攻击。 会话协商安全(SMB 3.0, 3.02),对抗降级攻击。 新加密体系(SMB 3.0+),防止嗅探,中间人攻击。SMB3.1.1 的加密体系性能要优于原体系的签名体系。 恶意SMB访客拒绝机制(Win10+),对抗中间人攻击。 更好的消息签名机制(SMB 2.02+),在 SMB2 和SMB3 中分别使用 SHA-256 和 AES-CMAC 替换原有的 MD5 哈希算法,签名性能有很大提升。糟糕的是,不管如何提高SMB协议的安全性,只要服务端和客户端支持使用SMB1,中间人攻击就无法避免。黑客只要踢掉SMB2+协议并告诉此路不通,客户端就会主动屁颠的降级到SMB1,和黑客共享通信过程中的一系列消息,除非通信内容本身加密。这并不是小说中的情节,实际攻击是存在的。2017 年度安全报告 禁用 SMBv1 协议360 Computer Emergency Readiness Team, January 20187SMB1不是必需的很长一段时间里工业界都是需要SMB1协议的。NedPyle在微软博客SMB1 Product Clearinghouse一文中,整理了使用SMB1的提供商依然有数十个,而且*nix平台下也有不少SMB 协议实现和兼容,比如知名开源软件 Samba 等。如果只谈论微软 SMB1 是不完整的。很多人都以为 Samba 是微软 Windows NT 平台下 SMB协议的一个克隆,但回顾历史会发现这并不准确。1992年1月Samba 发布了第一个版本, 1993 年 Windows NT 才发布它的第一个版本。除非让Samba研发人员时光穿梭,不然克隆Windows NT 的说法不成立。2017 年度安全报告 禁用 SMBv1 协议360 Computer Emergency Readiness Team, January 20188Samba 最初目标是为了兼容 DEC 公司研发的 Pathworks产品,这在当时很流行,主要运行于 Ultrix 和 VMS 操作系统上。Samba 作者 Andrew Tridgell 试图在一台 Sun 工作站上完成DEC Pathworks功能,这可以让他的桌面系统直接访问部门的Unix服务器,作者觉得这很酷。考虑微软桌面系统的垄断地位,Samba在实现时很注意兼容Windows客户端,这也是后来总是被拿出来和 Windows SMB 作比较的原因。但这不代表 Samba不注重其它客户端的兼容,只能说花在分析微软 SMB 协议上的时间要比其它客户端要多的多。Samba的研发团队在过去很长时间里,都在对外声明Samba项目并不是基于黑客式的软件逆向工程得出来的代码。他们并不推崇软件逆向工程,觉得这样的方式得出来的代码不具有可维护性。Samba 项目的成功,一方面是得益于 SMB/CIFS 那些可能不准确,不完整的公开文档(如“draft-leach-cifs-v1-spec-02.txt”),还有被称之为“法国咖啡技术”的方法。法国咖啡技术,简而言之:一个人想学习法语,没有相关书籍,课程,老师等条件,于是他选择直接前往巴黎现场学习。他走进一个本地咖啡厅,开始观察顾客和服务员间对话,顾客说什么服务员带来什么,一段时间后他学会了“水”,“咖啡”,“面包”等单词,这和学习 SMB 里的“文件大小”,“时间戳”字段类似。有天他想学习法语骂人,这在咖啡厅很难遇见,于是他故意往服务员身上泼咖啡,服务员随即骂了他一嘴,这和如何确定 SMB 里的错误码是一个道理。一段时间后他学会了部分单词和基本用法,为掌握更多法语,他开始揣摩组合单词并做成剧本,晚上练习剧本,白天找耐心的服务员对话,通过比较服务员和剧本获得正确法语,同理可以应用在 Samba 的协议分析上。2017 年度安全报告 禁用 SMBv1 协议360 Computer Emergency Readiness Team, January 20189Samba研发过程越是艰辛,暗示着SMB1协议的碎片化越严重,那是否也暗示着 SMB1 的信徒众多,业界离不开它?2007 年 SMB2 项目启动至今,留给 SMB1 协议的专用场景已经很少了。除非,还有这些看起来“合理”的理由: 因 种 种 原 因 需 要 运 行 Windows XP 或 Windows 2003 系统。 依然使用古老的管理软件,需要 “网上邻居”功能。 古老的打印机,它需要通过扫描共享的方式来工作。不过看上去,这些使用SMB1的场景只会影响到很小范围的业务和用户。目前相关服务提供商如果不支持 SMB2+,那可能他们的业务也到尽头。微软在意识到SMB1问题的严重性后,一直在和存储,打印机,软件应用等领域的合作伙伴推广SMB2+协议的支持与应用。目前 Samba,EMC,NetApp,苹果公司的OSX 和 MacOS 都已经支持 SMB2,3。实际上,微软和Samba都已经在新版本中默认禁用了SMB1 协议。2017 年度安全报告 禁用 SMBv1 协议360 Computer Emergency Readiness Team, January 2018102017年5月WannaCRY勒索病毒事件爆发之时,很多企业选择直接在客户端和交换机上默认禁用139,445/TCP端口通信,并没有听说造成了业务影响(当然这个做法,长期看不见得合理)。专家 NedPyle 作过一次测试,“禁用 SMB1 700 天:什么都没发生,就像过去699天一样。任何在我的网络中请求使用SMB1 都是违法的。”。2017 年度安全报告 禁用 SMBv1 协议360 Computer Emergency Readiness Team, January 201811尾声回过头,SMB1 漏洞引爆的 WannaCRY 勒索蠕虫事件并不是意外,而是一直以来互联网对于最佳安全实践贯彻不坚决的总体反映,是网络安全中的一次“灰犀牛”事件。一方面,安全专家需要反思。更多时候,专业安全人员的工作是否应该专注于提高系统的安全性,而非让个人,企业了解得像专业安全人员一样多。做防御的,不应该总想着能阻止攻击,而应该考虑怎么减少攻击面,提高攻击门槛。另一方面,现代网络中禁用SMB1协议并没有那么难,需要的是关闭它的信心和勇气。万物互联的大安全时代,是时候行动起来挥手告别SMB1了。2017 年度安全报告 禁用 SMBv1 协议360 Computer Emergency Readiness Team, January 201812参考us-cert.gov/ncas/current-activity/2017/01/16/SMB-Security-Best-Practicesus-cert.gov/ncas/current-activity/2017/03/16/Microsoft-SMBv1-Vulnerabilitysupport.microsoft/en-us/help/2696547/how-to-detect-enable-and-disable-smbv1-smbv2-and-smbv3-in-windows-andsamba/samba/docs/myths_about_samba.htmlsamba/ftp/tridge/misc/french_cafe.txtblogs.technet.microsoft/josebda/2008/12/09/smb2-a-complete-redesign-of-the-main-remote-file-protocol-for-windows/blogs.technet.microsoft/josebda/2008/12/09/smb2-a-complete-redesign-of-the-main-remote-file-protocol-for-windows/ftp.icm.edu.pl/packages/samba/slides/crh-Connectathon-2010.pdfsupport.microsoft/en-us/help/204279/direct-hosting-of-smb-over-tcp-ipsupport.microsoft/en-us/help/4034314/smbv1-is-not-installed-windows-10-and-windows-server-version-1709searchsecurity/showcontent_94749.htmtheregister.co.uk/2017/01/18/uscert_warns_admins_to_kill_smb_after_shadow_brokers_dump/blogs.technet.microsoft/filecab/2016/09/16/stop-using-smb1/blogs.technet.microsoft/filecab/2017/06/01/smb1-product-clearinghouse/blogs.technet.microsoft/ralphkyttle/2017/05/13/smb1-audit-active-usage-using-message-analyzer/blogs.technet.microsoft/staysafe/2017/05/17/disable-smb-v1-in-managed-environments-with-ad-group-policy/
展开阅读全文
相关资源
相关搜索
资源标签

copyright@ 2017-2022 报告吧 版权所有
经营许可证编号:宁ICP备17002310号 | 增值电信业务经营许可证编号:宁B2-20200018  | 宁公网安备64010602000642