关于勒索病毒 Ransom:Win32.WannaCrypt 解决方案的最后一次说明

2017/5/12 晚,勒索软件 Ransom:Win32.WannaCrypt 大面积暴发。比病毒爆发更火的,则是各类关于此病毒的新闻、解决方法在朋友圈等社交媒体的爆发。

其中,有主观善意但客观一知半解的指导,更有夹带私货的安全软件商携各类工具的广告宣传,以及各大小 IT 公司借此做的宣传。

一时间,众多群众不知所措,战战兢兢;不惜在自己的网络中将各种帖子所支招数悉数执行一遍,导致业务中断。
我在朋友圈中已多次发帖,探讨和指导应对。但依然看到大家的无所适从。
为此,我整理一下思路,做最后一次说明。

我是冯立超,2004-2017 微软最有价值专家 MVP, 1998 以来微软认证系统工程师 MCSE, 2000 以来微软认证讲师 MCT。在2003-2004 微软可信赖计算全国巡讲签约讲师。
本文不夹带私货,因为我现在的正事儿并不在此。只是从周六开始电话被打爆,才不得不忍痛停下手中的工作,被迫恋战于此。
此文只为给惶惑中的 Windows 用户们一些建议,以正视听。

主旨:

本文主要包括如下部分:

  1. 只须打补丁,只须打补丁,只须打补丁。

  2. 不必使用 360 等自作聪明的工具及软件。

  3. 不要随意关闭端口。

如果你听我的且不关心技术细节,可以就此打住,干活儿去吧。

1. 只须打补丁!

1.1 补丁概述

这次病毒是利用微软 Windows SMB v1 的漏洞进行传播并远程执行代码,对计算机中的文档进行加密。
病毒于 2017/5/12 大面积暴发。
微软于 2017/3/14 发布了安全公告和安全更新。 链接地址:
Microsoft 安全公告 MS17-010 - 严重
MS17-010:Windows SMB 服务器安全更新

另外,微软对于已经停止服务的XP和Win2003也提供了补丁,链接为https://blogs.technet.microsoft.com/msrc/2017/05/12/customer-guidance-for-wannacrypt-attacks/

1.2 补丁解释

由于大家平常不看这样的微软官方技术文档,所以可能有些读不懂。不用担心,根据你的操作系统版本,选择相应的补丁即可。
就用上面链接的第一个文档安全公告为主来说吧:
文档表中每一个操作系统下面,有好几个链接,分为如下几方面:

  • 操作系统小版本:例如是否 sp1 / sp2 等。

  • 系统平台:32 位或是 64 位,或者少见的 Itanium 等。

  • 针对本漏洞的更新或者月度汇总更新。
    以上前两个要选对。第三个看情况选。想短平快就选"仅用于安全更新",想全面一些就选“月度汇总更新”

仅此一页足矣。有朋友打电话过来说补丁装不上,就是因为没有选对。

1.3 企业补丁管理

企业当然不能像个人一样一台台打补丁。
你需要一台补丁服务器。建议部署微软的** WSUS 服务**。
基本原理就是:企业内部的所有客户机将更新源指向 WSUS 服务器,WSUS 服务器将更新源指向微软补丁服务器。
根据企业规模及IT管理模式,WSUS服务器可以配置为层次结构,可以配置补丁分发策略,可以对补丁进行审批操作等。
具体请参见Windows Server Update Services 概述 ,此不赘述。哦,赘述一下,这个服务是免费的,(好像反而不好立项是吧),不过请专业的微软解决方案合作伙伴实施服务是收费的。

当然也可以使用第三方专业公司的补丁服务。可以是真正专业的产品或者上级指定的产品。

1.4 不要随意关闭端口

除非你知道会发生什么,否则不要随意关闭端口。 以下内容节选自 比我上面自吹的资历还深的朋友 MVP 胡浩 的文章抵抗勒索病毒的正确姿势——不要上来就封端口! 中的重点内容:

刚刚过去的这个周末,朋友圈一定被勒索病毒刷屏了~
看到一堆人告诉别人封锁135-139,445端口,作为一个修过无数AD复制问题,客户端无法登录或者使用域资源问题的老司机,我想问问,您真的知道这些端口是干嘛的么?
端口使用的官方网页请看这里: Port Assignments for Well-Known Ports
请仔细阅读和确认有关135,136,137,138,139,445端口的作用,如果不确定是否需要这些端口完成正常的域登录、访问域资源、DC间检测复制等等,请谨慎封锁端口!
最大的危害不在于立即出现的故障,而在于90天或者180天之后出现的大量AD复制错误修复这些问题比你想想的更复杂

2. 不必使用360等自作聪明的工具及软件

2.1 保持电脑干净

请不要受 360 等所谓安全公司的蛊惑,安装一堆乱七八糟的流氓软件。
这次事件很清楚,微软知道了产品漏洞,并立即发布了补丁。两个月后,恶意黑客利用此漏洞开发出 WannaCry 病毒。
我们只需要按微软建议打补丁即可。因为你用的是微软的 Windows。
如果你用的是周鸿祎他们家的操作系统,那你当然用他们家的360,但现在不是。

360 们 也不是一无是处,他们大致在做两件事

  • 第 0 件:抓住事件起哄,扩大知名度!所谓唯恐天下不乱是也。

  • 第 1 件:帮你扫描漏洞,并帮你到微软网站下载补丁过来装。 这是一件微软自己会做的事情。但不知为何太多的人以为这是360的专长。阳春白雪遇到下里巴人罢。

  • 第 2 件:万一真被黑了,他们帮你找回。
    怎么可能?! 计算机技术发展到现在,加密技术是数学上证明的而不是骗傻子的。就是我另一篇文章所说 是把钱藏到保险柜里 而不是藏到床下袜子里。此不赘述。
    所以,真要被黑客攻击并被加密了,360 不可能解开。
    但也有一丝希望,360 们 倒是想到了一个可能的解决之道:
    病毒将你的文档加密后存到电脑上,并将源文件删除。那么用 360 变种的删除文件恢复工具,有可能找回被删的没被加密的文件。但这不能保证全找到。
    所以,万一你中招了,最好的方式就是别乱动,找专业工具如 360 提供的或其它任何数据恢复工具修复。(别找我,这活儿我不接)。

如果你喜欢360,我没说一定让你卸载。只是我个人不喜欢而已。刚刚一个朋友告知找不到补丁,我发现他是 XP SP2,而微软即便紧急发布了本已不支持的WinXP的补丁,也只支持到 WinXP sp3 32位 和 WinXP sp2 64 位。这种情况,可能 360 存着 XP SP3 安装包,可以试试,我不知道。

2.2 某些所谓安全软件的罪恶

我们相信国际专业的网络安全公司是优秀的、伟大的。
但我们也看到一堆哗众取宠鼓噪吆喝的公司的恣意妄为。他们推出所谓电脑管家之类的工具,以优化性能、提升安全为名,关闭一些他们不懂的服务与端口,导致系统出现许多莫名其妙的问题。
如果不是他们随意建议用户关闭自动更新服务、如果不是他们随意接管 Windows 自带的反病毒软件 MSE 或 Defender,如果不是他们肆意接管 Windows 防火墙,事情何以至此?!
如果永恒之蓝是始作俑者,那这些所谓的安全软件就是帮凶。

2.3 那我用什么杀毒?

微软很早就推出了自己的杀毒软件。
所以,你只需要打开自动更新,同时使用微软自带的杀毒软件,就够了。
如果您是 Windows 7 用户,请安装 Microsoft Security Essentials.
下载地址:

Windows Vista/Windows 7 32-bit

Windows Vista/Windows 7 64-bit

从 Windows 8 以后,操作系统里边已经自带了 Windows Defender,直接使用即可。

世上本无事,庸人自扰之
Windows 自带的杀毒软件 Defender,自带的防火墙,自带的 Windows Update,默认都是打开的,正常运行的。
所以,本来一切都好好的,直到你安装了类似360等流氓软件,他把一切都截获了,打乱了。唉!你要引流氓入家,怪得了谁呢。

3. 不要随意关闭端口

关于这个问题,胡浩的文章抵抗勒索病毒的正确姿势——不要上来就封端口! 已经清楚说明了,此不赘述。

我只想讲几个故事:

  • 关于 135 端口

很多人知道 RPC 使用 135 端口,所以,为了能够实现跨防火墙 RPC 通信,在防火墙上打开了 135 端口,结果发现 RPC 通信依然有问题。为什么?因为 RPC 通信不是使用的 135 端口,而是在通信发起时,利用135端口协商,双方商量一个 1024  到65535 之间的某个任意未被使用的端口来进行通信。
所以,无论是打开端口还是关闭端口,必须要搞清楚这个端口是干什么的,原理是什么。而不是简单的关关关,干脆把网线拔了算了。

  • 关于DHCP服务

很多G企不许使用动态 IP,于是,他们就通过组策略把 DHCP Client 服务停了。他不知道这个服务除了自动获取 IP 之外,还进行 DNS 客户端注册和更新。结果导致 DNS 服务器上的客户机记录老旧或自动清理。

  • 关于共享

某些单位,不许使用共享,包括强制关闭 Admin$, IPC$ 等,岂不知这些管理共享的本质意义,结果导致与安全策略复制故障等一系列问题。
所以,如果你的活动目录出了问题,先别给我打电话,先问问自己这几天又装什么安全软件了,有关什么端口或服务了。你是否真的了解了这个安全软件所做的操作的原理。

4. 补充说明

还有几个问题想借此多说几句:

4.1 关于漏洞

这次漏洞是微软 Windows 的,是微软的错。但真的怪不得微软。
漏洞不是后门。后门是故意留下的。漏洞是无意间产生的,或者是协议标准本身的缺陷。

  • 就无意产生,举个不恰当的例子。
    家里的防盗门,结实吧?可是谁能想到江湖高人会通过猫眼伸个钢筋进来压门把手把门打开呢?  好吧,打个补丁把猫眼补上。
    这事儿怪那个设计防盗门的吗?怪。谁让你不先想到呢?可是他要把所有可能性都想到,这辈子也别想推出一款防盗门了。

  • 还有一种情况,就是标准、协议本身的缺陷。
    例如现在的TCP/IT v4 协议,就有很多安全缺陷。比如自动获得 IP 地址的协议 DHCP,你没有办法限制客户机从哪台服务器获得 IP 地址。这意味着我把我的笔记本装上 DHCP 服务,插到你们单位的网上,你们单位的客户机就有可能从我这获得 IP。
    再比如邮件协议 MIME,里边可以有图片等内容,打开邮件即可直接显示图片。但是如果这是一个假的图片,其实是一个恶意软件或者链接,这个直接显示图片的公告就变成了直接执行这个假图片,就会导致你中招。
    这些问题,各个软件厂商都在想办法解决,这些补丁,不是产品的问题,而是协议与标准的问题,但软件厂商必须花精力去面对。

4.2 关于微软补丁

微软有一套完善的安全补丁管理机制,从2003年微软提出可信赖的计算时,便建立了专门的安全团队,负责安全应对及补丁发布。
到目前为止,所有的安全事件,都是在微软发布补丁之后发生的。
大多数情况是:专业安全人员或厂商发现了漏洞,报告给微软(未公开),微软立即开发和发布补丁(可能紧急发布热修复,然后提供完善的补丁)。
而恶意利用者则是通过这些发布补丁的公开信息,开发恶意软件。
下面是几个当年比较严重的病毒的情况:

  • 尼姆达:在微软发布补丁331天后爆发;

  • SQL Slammer:在微软发布补丁180天之后爆发;

  • Blaster 冲击波:在微软发布补丁25天之后爆发;

  • Sasser 震荡波:在微软发布补丁14天之后爆发;

而这一次,微软于 2017/3/14 发布补丁,WannaCry 于 2017/5/12 爆发,59 天。

4.3 这次事件的特殊性

帝国主义野心不死

当然,这次可怕一些,是因为很久没有爆发这么大的病毒事件了,还因为社交媒体发达了,事件影响被放大。
更可怕的,是这个漏洞,不是被有良知的安全厂商发现并主动报告微软,而是   美国国安局早已发现漏洞,并基于漏洞开发了战略级武器库,而部分武器,即利用漏洞进行攻击的工具,被泄露了。然后被恶意利用了。   我们所有吃瓜群众,都终于真切感受到了网络战争是什么样子。
这将值得全人类反思。

区块链、比特币 与 无政府主义

这次事件另一个有意思的现象,是勒索软件要你支付的是比特币。
比特币的重要特点是无中心化,这是强调个人主义/无政府主义者最兴奋的特点。这种基于区块链技术的比特币,不需要中央银行监管、账号不可追踪、从数学上证明你无法通过账号跟踪到账号相关其他信息。这是另一个话题,暂不赘述。
这不得不让人重新思考 科学主义 对人类社会的影响问题。

4.4 打补丁与 IT 运维管理

从哲学意义回到现实,我们从十多年前就开始讲打补丁打补丁打补丁,并给出了大量的指导文档和最佳实践。但为什么我们做不到。
我们的 IT 运维理念,从最早的自发运维,到 ITIL 理念,到 ISO20000,到 DevOps,层出不穷。
可我们为什么连最基本的打补丁都不去做? 说多了都是啰嗦,思考吧。

结语

以上只是工作被电话微信打断后停下来草草写就的观点及感言,错误之处在所难免,请各位微软网络安全方面的哥们儿指正。
IT 运维无小事,网络安全无小事。大家加油。

原文地址:https://github.com/HiwebFrank/Blogs/blob/master/NetworkSecurityaboutWannaCry.md


.NET社区新闻,深度好文,微信中搜索dotNET跨平台或扫描二维码关注

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/325591.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

maven的三种packaging方式

pom是maven依赖文件 jar是java普通项目打包 war是java web项目打包 pom:打出来可以作为其他项目的maven依赖,在工程A中添加工程B的pom,A就可以使用B中的类。用在父级工程或聚合工程中。用来做jar包的版本控制。 jar包:通常是开发…

C#中的序列化和反序列化案例

序列化:是将对象的状态存储到特定存储介质的过程,也可以说是将对象状态转换为可保持或传输的格式的过程。上面的解释是官方定义,大白话解释就是,将对象以二进制的方式存储在文件中,如果简简单单的将一些数据或者内容存…

浅谈MySQL的B树索引与索引优化

转载自 浅谈MySQL的B树索引与索引优化 MySQL的MyISAM、InnoDB引擎默认均使用B树索引(查询时都显示为“BTREE”),本文讨论两个问题: 为什么MySQL等主流数据库选择B树的索引结构? 如何基于索引结构,理解常…

.NET特性:异步流

自从VB/C#开始支持async/await后,开发者一直在期待异步版本的IEnumerable。但直到C# 7和ValueTask发布前,从性能的角度来看这一要求几乎是不可能实现的。 在老版本C#中,开发者每次使用await时都需要进行内存分配。如果要枚举10,000个项&…

MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established

Establishing SSL connection without server’s identity verification is not recommended. According to MySQL 5.5.45, 5.6.26 and 5.7.6 requirements SSL connection must be established by default if explicit option isn’t set. For compliance with existing appli…

优秀学生专栏——孙珩发

继优秀学生董超同学之后的孙珩发同学的回访录,孙珩发同学于今年5月份毕业,是一个非常非常懂事的孩子,比如让他帮忙拿一下水杯,一般的同学都是直接给你拿杯子过来,而孙珩发同学可不是,他会将水杯里面接满水&…

Java并发编程包中atomic的实现原理

转载自 Java并发编程包中atomic的实现原理 这是一篇来自粉丝的投稿,作者【林湾村龙猫】最近在阅读Java源码,这一篇是他关于并发包中atomic类的源码阅读的总结。Hollis做了一点点修改。 引子 在多线程的场景中,我们需要保证数据安全&#…

优秀学生专栏——王浩

今天继续回访优秀学生王浩,王浩是班级里学习最好的同学,就业的时候也是最早入职的,目前所处岗位是开发,最近在北京出差。企业多次向学校表扬王浩同学,以下是王浩同学的简单回访:想对学弟学妹说些什么&#…

.NET Framework 4.7正式发布

以前.NET Framework 4.7是随Windows 10 Creators Edition一并提供的,现在它已经正式发布,这意味着使用旧版本Windows的用户现在也能安装它了。.NET Framework 4.7通过Windows 10 Anniversary Update发布,支持Windows 7 SP1及以上版本&#xf…

Spring XML中如何使用 符号,比如数据库MySQL连接

<property name"url" value"jdbc:mysql://localhost:3306/spring?useUnicodetrue&amp;characterEncodingutf-8&amp;useSSLfalse"></property>使用&amp; 代替&符号&#xff0c;注意后面的分号

动态网站初识体验

一、静态网站的局限性&#xff1a; 1.无法实现交互功能 2.无法及时对页面的更新 二、动态网页&#xff1a; 1.可以根据不同的操作或者输入&#xff0c;返回不同的网页。 三、B/S&#xff1a;&#xff08;浏览器/服务器&#xff09; 程序完全部署在服务器上&#xff0c;用户通过…

如何高效排查系统故障?一分钱引发的系统设计“踩坑”案例

转载自 如何高效排查系统故障&#xff1f;一分钱引发的系统设计“踩坑”案例 背景说明 某日&#xff0c;做产品X的开发接到客户公司电话&#xff0c;说是对账出了1分钱的差错&#xff0c;无法处理。本着“客户第一”的宗旨&#xff0c;开发立马上线查看情况。查完发现&#…

JWT(JSON web token)

1.什么是JWT JSON Web Token (JWT) is an open standard (RFC 7519) that defines a compact and self-contained way for securely transmitting information between parties as a JSON object. This information can be verified and trusted because it is digitally sign…

优秀学生专栏——李浩然

今天回访的同学是李浩然同学&#xff0c;李浩然同学不光长得帅&#xff08;下面有照片哦&#xff09;&#xff0c;技术还过硬&#xff0c;今年5月份毕业的&#xff0c;目前从事教学工作&#xff0c;自从工作以来&#xff0c;企业曾多次向学校表扬李浩然同学&#xff0c;下面是对…

@ResponseBody导致的返回值中文乱码

新人学习springMVC开发框架&#xff0c;用到ajax 通过 ResponseBody 来获取返回值。 不得不说 ResponseBody的功能很强大&#xff0c;可以直接将返回类打包成json格式省却了很多事&#xff0c; 但是如果返回值是String类型的话&#xff0c;就会出现中文乱码问题&#xff0c;自…

一步步学习EF Core(1.DBFirst)

前言 很久没写博客了,因为真的很忙,终于空下来,打算学习一下EF Core顺便写个系列, 今天我们就来看看第一篇DBFirst. 本文环境:VS2017 Win7 .NET Core1.1 EF Core1.1.2 正文 这里我们不讨论是用DBFirst好,还是CodeFirst高端..各有各自的用处和适用场景.. 我们单纯的只是…

jsp数据交互(一)

一、jsp的内置对象&#xff1a; 1.out:out.print(“输出的内容”); 2.requset: (1)解决乱码&#xff1a;request.setCharacterEncoding(“utf-8”); (2)获取form表单里面的值&#xff1a; String name request.getParameter(“name”); 括号里面的参数是表单里面name的值。 (3…

JS中点击超链接但是不跳转

方式一 <td><a href"javascript:;">Delete</a></td>方式二 函数的返回值为false allA[i].onclick function(){var tr this.parentNode.parentNode;//var name tr.getElementsByTagName("td")[0].innerHTML;var name tr.child…