WannaCry?这才刚开始…

没想到之前的一篇紧急之下写的简单文字,这么快就破了4000的阅读。突然蹭了网红病毒的热度,有点不太习惯。

于是,想花点时间来稍微深入的写点东西。毕竟,在我看来,这次爆发仅仅是个开始。

开始之前,先做有关利益相关等简单申明:本人04年至今13届8个方向的Microsoft MVP,但与微软并无利益相关;本人非安全专业工作岗位,主要经验在基础架构、云和虚拟化和IT管理方向;后文会出现与本人供职公司产品或方案介绍,可自行取舍;文中所有引用”仅以原样“(AS IS)提供,版权归原作者所有。本人并不保证所有观点正确,仅供参考。

 

  • 来由

我们先来看看这个病毒的血统。加密勒索软件早已有之。虽然我已经离开IT管理一线,印象里勒索病毒第一次爆发是在前年还是去年的时候,在微信朋友圈看到卡巴斯基老同事转发的病毒情况。因为传播基本靠传统方式,例如邮件、链接、存储介质等等,并没有引起我太大的兴趣,只是开始用SyncToy同步备份自己的工作文件。与其说是为了防止病毒,不如说我更担心电脑SSD损坏。

紧接着,去年8月?大概是这个时间?Shadow Brokers声称从NSA TAO团队泄露获得了一批安全漏洞,这些漏洞已存在较长时间,攻击面及威力都较为惊人。

image image

可参考一些链接:

The Shadow Brokers:

https://en.wikipedia.org/wiki/The_Shadow_Brokers

NSA Equation Group hacking tools leak:

https://arstechnica.com/security/2016/08/hints-suggest-an-insider-helped-the-nsa-equation-group-hacking-tools-leak/

http://www.reuters.com/article/us-intelligence-nsa-commentary-idUSKCN10X01P

拿到这些利器,怎么可能不用呢?在今年4月吧,这些武器开始放出来并待价而沽。

‘NSA malware’ released by Shadow Brokers hacker group

http://www.bbc.com/news/technology-39553241

那么,除了这次广为人知的永恒之蓝,还有那些武器放出来了呢?老司机即将发车,请坐稳扶好。

  • ETERNALROMANCE — Remote privilege escalation (SYSTEM) exploit (Windows XP to Windows 2008 over TCP port 445)
  • ENTERNALCHAMPION, ETERNALSYSTEM — Remote exploit up to Windows 8 and 2012
  • ETERNALBLUE — Remote Exploit via SMB & NBT (Windows XP to Windows 2012)
  • EXPLODINGCAN — Remote IIS 6.0 exploit for Windows 2003
  • EWORKFRENZY — Lotus Domino 6.5.4 and 7.0.2 exploit
  • ETERNALSYNERGY — Windows 8 and Windows Server 2012
  • FUZZBUNCH — Exploit Framework (Similar to Metasploit) for the exploits.

A separate analysis by researcher Kevin Beaumont found three zerodays affecting Windows systems. They are Esteemaudit-2.1.0.exe, a Remote Desktop exploit that installs an implant on Windows Server 2003 and XP; Eternalchampion-2.0.0.exe, which also works against SMB; and the previously mentioned Eternalblue. Beaumont found four other exploits that he believes may be zerodays, including Eskimoroll-1.1.1.exe, a Kerberos attack targeting domain controllers running Windows Server 2000, 2003, 2008 and 2008 R2; Eternalromance-1.3.0.exe, Eternalromance-1.4.0.exe, an update of Eternalromance-1.3.0.exe; and Eternalsynergy-1.0.1.exe, a remote code-execution attack against SMBv3.

With the exception of Esteemaudit, the exploits should be blocked by most firewalls. And best practices call for remote desktop connections to require use of a virtual private network, a practice that should make the Estememaudit exploit ineffective. Microsoft also recommends that organizations disable SMBv1, unless they absolutely need to hang on to it for compatibility reasons, which may block Eternalblue. That means organizations that are following best practices are likely safe from external attacks using these exploits. There’s no indication any of the exploits work on Windows 10 and Windows Server 2016, although it’s possible the exploits could be modified to work on these operating systems.

这篇文章发表于2017/04/15,这个时侯微软的相关补丁已经发布了。全文在:

https://arstechnica.com/security/2017/04/nsa-leaking-shadow-brokers-just-dumped-its-most-damaging-release-yet/

可以说,正是结合了这些战略级的漏洞工具,WanaCry及其变种才能够来势汹汹。

0Day攻击工具之下,微软是否无动于衷?可参看:

https://arstechnica.com/security/2017/04/purported-shadow-brokers-0days-were-in-fact-killed-by-mysterious-patch/

 

  • 行动

作为IT行业从业人员,最直接的行动,肯定是第一时间了解原委,抓紧每一秒钟堵塞漏洞,尽量替用户挽回损失。如何快速防御,在前一篇Blog中已经简单介绍,不复赘述。醒过神之后,我们也需要一点时间,来思考为什么看上去很安全的架构,在这样的攻击面前显得如此脆弱。

最大的一个原因,是对补丁工作的漠视。用户不懂,那是可以理解的;作为IT从业人员,漠视补丁就有点让人不那么能接受了。实际上包括几个0Day攻击工具在内的大部分攻击手段,微软都在第一时间发布了补丁,比如MS17-010:

Code Name Solution
EternalBlue Addressed by MS17-010
EmeraldThread Addressed by MS10-061
EternalChampion Addressed by CVE-2017-0146 & CVE-2017-0147
“ErraticGopher” Addressed prior to the release of Windows Vista
EsikmoRoll Addressed by MS14-068
EternalRomance Addressed by MS17-010
EducatedScholar Addressed by MS09-050
EternalSynergy Addressed by MS17-010
EclipsedWing Addressed by MS08-067

需要提醒的是,病毒一定会产生新的变种,防御并不是打完这一个MS17-010就搞定了。千万别防止了最新的漏洞,却没防住早就有补丁的漏洞。

还有就是,再次强调,

1、打补丁打补丁打补丁。尽快打补丁,WSUS、SCCM、组策略安装、脚本安装甚至手动安装,尽快。企业推荐WSUS,简单易行,也避免了最近官网补丁下载过多难以访问的困难。

2、不要盲目听从所谓专家意见封端口。已经很多用户在封端口之后,出现了应用故障和系统异常。不知道有什么影响的时候,切记谨慎操作。

3、也不要听信某些无底线厂商号称的0Day响应。您早干嘛去了?测试过攻击代码么?三月份至今有提醒过用户防御吗?除了微软官网的补丁,不要使用来源不明的补丁程序,谁知道里面有什么?已经有用户打完补丁起不来了。

这些还不够,需要继续在架构上思考,还有这种攻击,我们该如何应对。

首先了解风险。除了前文的简介,还有一张来自Citrix Blog的图帮助理解:

https://www.citrix.com/blogs/2017/05/16/wannacry-why-citrix-customers-are-not-crying-today/

Fig 3: WannaCry distribution in traditional IT environment.

WannaCry攻击会有三步。架构应对也须对应。

第一步,感染。

不论是如何获得病毒代码,邮件也好、链接也好,利用系统漏洞远程执行也好,病毒需要在本地运行,然后才能够继续破坏动作。因此,在本地禁止运行或者堵塞漏洞让运行失效就是我们在感染阶段想要实现的目标。

补丁。对于管理员来说,补丁总是个痛苦的事情,因为你无法掌控所有的PC什么时候打补丁,是不是真的打上了补丁。即使我们使用WSUS,甚至SCCM,都没法保证100%。所以,最合适的安全桌面,就是标准桌面。作为一个搞过多年终端管理项目的TC,从传统PC ghost,到WDS、WinPE、SCCM OSD,再到VDI,如果不是池化的标准桌面,桌面维护支持人员永远也走不出噩梦。技术发展,用户的大多个性化需求都能够通过配置文件管理、个人磁盘 PvD、AppLayer等技术得到满足。而应用的多样化需求,则可以通过虚拟桌面+虚拟应用的方式实现灵活性。我的观点是,企业工作桌面,就不应该随便给管理员权限。如果真的有少数个人安装需求,可以通过基于RunAs的小工具来实现,例如很久前我写了一个:

image

管理员把用户需要运行的命令行和自己的用户名密码进行加密。

image

经过加密的命令行,就无需担心管理员密码泄露了。而且也只能用于运行经过管理员确认的命令行。上图例子就是打开一个IE窗口访问Bing.com。

因此,强烈推荐使用单一镜像能够集中升级所有桌面的部署方式,即池化桌面。特别是PVS,模板更新后,几分钟之内所有的桌面就都更新了。天下武功,唯快不破嘛~

防毒。不管桌面运行在物理机还是虚拟机,开放到外网还是运行在内网,防病毒工作总是需要的。殷鉴不远。传统的防病毒效率在虚拟桌面上非常吃力,因为集中地更新和杀毒常常消耗了所有的系统资源。至少把批量更新和杀毒的时间间隔开。目前也有所谓无代理杀毒,将经过虚拟化IO的数据进行扫描。更加好的办法是使用虚拟化底层的扫描。一旦风险代码加载到内存,不论是在哪一个虚拟机,虚拟化底层都直接禁止运行。XenServer新的版本提供了接口,目前国内已有厂商有对应防病毒产品。细节可访问Citrix官网,或联系电话售前。

第二步,传染。

不能传染的病毒不是好病毒。哈哈。常见病毒传播途径,不外乎移动存储介质、邮件附件、恶意链接和网络攻击。让我们分别来看看是否从架构上能做一些工作。

文件复制。虚拟桌面的协议应该具备本地存储重定向和文件传输的策略管控能力,这样可以随时根据需要,限制客户端直接向内网的桌面复制文件。传统上如果想对所有的桌面进行文件传输并做扫描,会难以确保所有桌面都及时更新防护软件,确保统一的安全基线。有个变通的方法就是,发布文件管理器应用,并且严格应用所运行的服务器的病毒防护和扫描。由于减少了文件可能的入口数量,确保及时更新防护软件和管理变得相对简化。

邮件附件和恶意链接。完全可以让邮件访问和浏览器脱离桌面去运行。基于和以上相同的原因,在同等条件下,减少运行的系统数量,也就意味着可能感染的数量的减少。举例而言,1000个用户使用桌面,如果他们都使用邮件客户端和浏览器浏览潜在风险网站,那么就有1000个可能的感染系统需要防护应对。而转成虚拟应用,假设一台虚拟服务器允许50个用户使用,那么防护就变得只需要针对20台虚拟应用服务器。更为重要的是,安全邮件访问服务器和安全浏览器,能够做到网络隔离。对于企业而言,不论是部署在低完全级别网络的桌面访问高安全级别网络的应用,还是部署在高完全级别网络的桌面访问低安全级别网络的应用,都能够轻松实现。再也不用使用两台PC或者带开关的网卡了。这个架构已经呼之欲出了,没错,就是虚拟桌面嵌套虚拟应用。既能通过标准部署响应需求的灵活性,同时又不失之安全。

网络攻击。网络层面我只想说两点。虽然虚拟化平台可以通过虚拟交换机实现ACL和QoS,但是真的不建议不了解的情况下去关闭端口,已经有无数惨痛案例可供参考了。而最重要的,就是VPN是不是安全?对我而言,VPN当然不安全。VPN是很简单而廉价的远程接入方式,可是,在连接到内网的同时,难以防护的客户端就绕过了防火墙连接到了安全的内网。没错,VPN可以使用隔离区,可以做网络准入判断防病毒和补丁更新是否满足要求,但都不如只允许单向的单应用接入。

756767522673114009

例如NetScaler对ICA协议的代理接入。除了Receiver,客户端设备上的系统和应用并不能访问位于内网的资源。这样,就杜绝了客户端利用VPN进行的网络攻击和传播。

第三步,破坏。

所有病毒和恶意代码的最终目的,必然是破坏和/或牟利。对于WannaCry勒索病毒来说,目的很简单,加密有价值的文件,要求用户交付比特币的赎金以牟利和出名。如何从架构上来尽量减少可能的损失影响呢?文件的话,我想可以分为存放和共享两个话题吧。

文件存放。按照虚拟桌面的最佳做法,建议操作系统、应用和数据尽可能的分离,已实现最大的灵活度和管理。前文说过,类PC的虚拟桌面难以实现集中化管理。一方面,数据分散在每一个桌面中,难以集中扫描和安全管理,也造成大量重复存储的浪费。另一方面,分散的数据也几乎无法进行备份。

因此,建议将用户数据从桌面剥离,使用用户配置文件重定向、网络磁盘及配额管理乃至CPM、AppLayer的用户数据分层等。不大建议使用个人磁盘,虽然可以利用存储的去重,感觉还是难以节省存储和管理。保存的位置,除了文件服务器,也可以使用NAS。这样,用户的数据得以集中存放和管理,便于集中防病毒和备份。试想一下,发现中招之后,第一时间更新文件服务器的防病毒和补丁,便可避免病毒程序通过文件共享继续传播。而定时的文件备份,花不了太多的存储空间,却能够在真的文件被绑架时,通过备份进行一定的恢复。

文件共享。由于本次病毒利用了文件共享CIFS/SMB的SMBv1的漏洞,不得不引发我们对用户间数据共享的一些思考。是不是可以引入其他的文件共享方式呢?比如WebDAV,企业网盘?Citrix的ShareFile便是目前位于领导者象限领头的文件安全共享产品。文件共享不再进行客户端之间的文件传输,而是通过链接凭据去服务器上提取文件,并作相应的权限和控制。

 

综上,可以发现通过调整现有桌面架构,使用合适的方案,其实可以大幅减少攻击成功概率以及造成的损失。事实上截止到现在,我尚未收到使用合适虚拟桌面方案的客户收到WannaCry攻击造成损失的通告,更多的听信谗言贸贸然封闭端口造成的系统和用户使用问题。

需要提醒使用一些基于开源开发的虚拟桌面的用户,请一定及时修补漏洞。据我所知,很多号称自主可控的虚拟桌面方案,基于KVM+早期RDP来实现。出现基于早期RDP协议漏洞对虚拟桌面进行大肆攻击并不是痴人说梦。就像我们争论为何这些病毒没有去攻击MAC系统一样,我觉得,这只取决于能够获得多大利益。

也许正如Citrix那篇Blog所言,Our customer are not crying today. 写这篇东西的目的很单纯,一句话:

I don’t Wanna you Cry. 但愿天下所有的泪水,都是喜极而泣。

此条目发表在Virtualization, Windows, Windows Server分类目录。将固定链接加入收藏夹。

发表评论

Fill in your details below or click an icon to log in:

WordPress.com 徽标

You are commenting using your WordPress.com account. Log Out /  更改 )

Google photo

You are commenting using your Google account. Log Out /  更改 )

Twitter picture

You are commenting using your Twitter account. Log Out /  更改 )

Facebook photo

You are commenting using your Facebook account. Log Out /  更改 )

Connecting to %s