由恶劣事件: CrowdStrike发布案例更新导致微软全球蓝屏事件的启示

图片

前言

网络安全公司 CrowdStrike 周四发布软件更新后,机场、银行、证券交易所、911 服务、交通系统、酒店、新闻媒体、医院、紧急服务等开始出现臭名昭著的蓝屏死机 (BSOD)。在看似多年来最严重的 IT 中断中,大规模的网络安全软件问题正在全球范围内造成混乱。

图片

漂亮的蓝屏(1)

图片

耀眼的蓝屏2

看起来是这样的,壮不壮观?

CrowdStrike公司是干什么的?

CrowdStrike 为 Amazon Web Services、Microsoft、eBay、Visa、AT&T 和 82% 的美国州政府等客户提供云工作负载保护和端点安全、威胁情报和网络攻击响应服务。

CrowdStrike 首席执行官 George Kurtz 在 LinkedIn 帖子中表示,此次中断是由于单个 Windows 更新造成的,这意味着它只影响Windows 系统。Mac和Linux客户运行正常。

受这次影响,它的市值一下子迭去了超过10%以上。而其竞争对手的股票都纷纷上涨。道理很简单,客户经此次折腾,很多会逃离这家公司,会转向使用其竞争对手公司的产品。

George Kurtz 非常的会轻描淡写,不知道哪里来的底气。感觉这家公司如果不采取好的补救措施,估计真正离死也不远了。他很“大方”的补充说,该问题不是网络攻击或黑客攻击的结果,Crowdstrike 已识别并隔离该问题,并部署了相应的修复程序。

最后元凶

似乎最后的元凶也找到了。居然是刚入职的第一天,就做成了这个壮举。一个字:“服!” 太牛气了。看来,Crowdstrike公司对这位新员工是无比的信任啊。

图片

真凶入职才第一天......,  怎么祭天??

可是找到了又能怎么样呢?全球性的损失估计无以估量,就职就离职,也解决不了什么或弥补不了什么。这哥们以一己之力,比黑客还牛逼性的摧毁全球那么多台windows主机,我只能说,他比黑客还黑客。看他那神情,似乎有点儿一本正经的理直气壮。

手动修复的步骤

在网上也查到了相关的修复步骤,真是很烦琐。估计受害用户,人人咬牙切齿。呵呵。总共11步:(如果您知道如何在计算机上快速进入安全模式,请跳过前九个步骤(来自 Microsoft),直接进入后两个步骤(来自 CrowdStrike):)

1.按住电源按钮 10 秒钟以完全关闭设备。
2.再次按电源按钮重新打开设备。
3.在 Windows 启动的第一个迹象(通常是制造商的徽标)出现时,按住电源按钮 10 秒钟以关闭设备。
4.再次按电源按钮打开设备。
5.当 Windows 重新启动时,按住电源按钮 10 秒钟以关闭设备。
6.再次按电源按钮打开设备。
7.让您的设备重新启动进入自动修复,然后选择高级选项进入 Windows 恢复环境。
8.到达那里后,选择“疑难解答”>“高级选项”>“启动设置”>“重新启动”。
9.设备重新启动后,您将看到选项列表。从列表中选择选项 5,或按 F5 进入带网络的安全模式。
10.进入 C:\Windows\System32\drivers\CrowdStrike 目录。
11.删除“C-0000029*.sys”文件并重新启动计算机。

所幸的是,我们种花家的机器用不上这么高大上的安全公司的产品。也就没受什么影响了。微软这次躺枪,不知道它和CrowdStrike私下怎么和解。

编一个笑话:

    CrowdStrike会说:“大哥,就让小弟免费给您维护5年吧,不收您一分钱。”Microsoft:“再让你祸害我五年?” ......

分析与总结

咱们玩笑归玩笑,这起事件,实质上影响是非常恶劣的。这两家公司都是相关领域的头牌公司。连头部公司都能犯这样的错误,我们想想普通的相关公司是不是犯此类错误的几率会更高,只不过,他们发生的少,所以曝光度就非常高,也容易被放大。

1、新人的工作流程培训到位吗?

从这次事件的前因后果来看,让新人第一天上班(是否第一天,待考),就发布全球性的补丁,看来真是对他无比信任啊。这种补丁的发布,难道不是需要经验老到、成熟稳重的员工去操作吗?

从视频上看,他只是在自己的PC上简单的试了下,就认为“测试”通过了。然后,一顿操作猛如虎。全球性的补丁,一下子发布出来。这种神操作,怎么看,也不像是正规的做法。而CrowdStrike公司居然事后也并没有做任何相关的解释。真牛气。

稍有经验的补丁发布工程师,针对这种全球性的补丁发布,也都会采取逐步分区域发布,并进行相应实时监控,即算某区域临时出问题,他也可以临时停止发布,进行回滚补救,造成的损失也不至于这么大。

2、测试、测试、测试

如果我们这里要说,针对全球性服务、云环境,测试比那种本地部署,会来得更严格,大家相信吗?
而此次安全,毫无疑问,就犯了这种严重的错误。下面我们就聊聊测试TEST:

1)、Testable Code

写测试本身没有什么技巧。技巧是落在了要写出可以测试的代码。

2)、测试金字塔

请看下图:

图片

测试金字塔

自底往上:单元测试、组件测试、集成测试、系统测试、场景测试、手动测试

3)、单元测试

专注于单一方法或者面向对象的类,围绕着目标类周围的所有内容,会进行双向测试。

图片

单元测试

单元测试有哪些优缺点:

优点:1.开发阶段就可以完成2.可以与真实环境隔离3.快4.容易进行错误分析5.稳定6.维护成本低
缺点:1.大部分只能在模拟环境中运行

基于以上分析,光靠单元测试是不够的。

图片

光靠单元测试,仍然不够......

上图形象的描述了:虽然单元测试都通过了,但是作为一个整体,仍然“集成”失败,最后导致沉船的悲剧。

4)、集成测试

集成测试主要是用来检验各相关组件之间的交互是否工作。

图片

集成测试来弥补

5)系统与场景测试

系统测试主要以黑盒的方式,来检测整个系统。所有的场景都是真实的,并且确保能工作。

图片

系统与场景测试

图片

第一次试飞前,得有测试......

真实实例:只有在开发阶段结束时,采用系统和场景测试,就像将飞机的各个部件整合到一起,进行完整的测试,而不是只仅仅测试一下各个部件本身是否工作……, 这样才能进行第一次试飞。

系统与场景测试的优缺点:

优点:1.测试在真实环境中运行2.服务及组件之间的交互都能得到测试
缺点:1.只能在开发结束以后才能进行2.环境的搭建与配置比较复杂3.一般运行时间都比较长4.分析错误会比较费功夫5.大都比较脆弱6.维护成本比较高

3、测试的重要性

一个重要的结论是:如果测试是良好充分的,那么产品的代码也可以认为是足够的良好。反之,如果测试很糟糕或者压根就没有,所有的对于产品良好的期盼,将是泡影。

最后,如果以NodeJS为例,我们把测试金字塔,再分一下层,与相应的工具对应起来,就是下边的这个样子:

图片

完整的测试金字塔

从下往上,速度效率会越来越低,成本会越来越高,但基本上都是必须的。只有这些测试都完全通过,才能发布出符合预期的产品。

4、总结

我们重新回到这个案例本身,他的最后的系统与场景测试,谨慎怀疑没有完全做到位。同时手动测试更是随意性强。再加上最后发布策略,完全是激进式的操作,这样一叠加,可以说,基本上就完蛋了。做好一名架构师,那么,这个环节,更要引起重视。

这样看来,我们对测试,还不引起重视吗?没有良好的测试,基本上跟在游泳池里裸奔没啥区别。

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

【七】Hadoop3.3.4基于ubuntu24的分布式集群安装

文章目录 1. 下载和准备工作1.1 安装包下载1.2 前提条件 2. 安装过程STEP 1: 解压并配置Hadoop选择环境变量添加位置的原则检查环境变量是否生效 STEP 2: 配置Hadoop2.1. 修改core-site.xml2.2. 修改hdfs-site.xml2.3. 修改mapred-site.xml2.4. 修改yarn-site.xml2.5. 修改hado…

C/C++大雪纷飞代码

目录 写在前面 C语言简介 EasyX简介 大雪纷飞 运行结果 写在后面 写在前面 本期博主给大家带来了C/C实现的大雪纷飞代码,一起来看看吧! 系列推荐 序号目录直达链接1爱心代码https://want595.blog.csdn.net/article/details/1363606842李峋同款跳…

Linux笔记 --- 程序入门

‘\n’换行符 通常来讲我们都是使用这个符号来进行换行的操作,但是这个符号不仅仅是用于换行 当标准输出文件中默认使用缓冲 ,也就是当遇到 \n 的时候会进行刷新缓冲区(把数据输 出) 当打印语句后面没有换行符时 , 需要…

强烈推荐这 3 款让你用一次就爱上,永不想删除的软件

IcecreamPDFEditor IcecreamPDFEditor是一款功能强大的PDF编辑工具,具备多种编辑和查看PDF文件的功能。这款软件不仅可以方便地阅读和查看各种PDF文件,还可以进行编辑操作。它拥有编辑文本、注释添加、页面管理以及PDF文件保护等功能。 用户可以通过下载…

JS逆向高级爬虫

JS逆向高级爬虫 JS逆向的目的是通过运行本地JS的文件或者代码,以实现脱离他的网站和浏览器,并且还能拿到和浏览器加密一样的效果。 10.1、编码算法 【1】摘要算法:一切从MD5开始 MD5是一个非常常见的摘要(hash)逻辑. 其特点就是小巧. 速度快. 极难被破解. 所以,…

ELK安装(Elasticsearch+Logstash+Kibana+Filebeat)

一、简介 1.1、软件简介 ELK其实是Elasticsearch,Logstash 和 Kibana三个产品的首字母缩写,这三款都是开源产品。 1.1.1、Elasticsearch简介 Elasticsearch 是一个分布式、高扩展、高实时的搜索与数据分析引擎。它能很方便的使大量数据具有搜索、分析…

研究生选择学习Android开发的利与弊?

在开始前刚好我有一些资料,是我根据网友给的问题精心整理了一份「Android的资料从专业入门到高级教程」, 点个关注在评论区回复“888”之后私信回复“888”,全部无偿共享给大家!!!产品经理可以学学Axure快…

简单的CSS样式

样式分为三种 内部样式&#xff1a;写在html文件里的样式叫内部样式 内联样式&#xff1a;写在需要的标签中 外部样式&#xff1a;写在外部css文件里 可以通过不同的选择器来选择设置指定组件的样式&#xff1a; <style>/* 写在html文件里的样式叫内部样式 *//* 选择器 *…

6.3 面向对象技术-设计模式

设计模式 创建型模式 结构型模式

C++ unordered_map

1. unordered系列关联式容器 在C98 中&#xff0c; STL 提供了底层为红黑树结构的一系列关联式容器&#xff0c;在查询时效率可达到 &#xff0c;即最差情况下需要比较红黑树的高度次&#xff0c;当树中的节点非常多时&#xff0c;查询效率也不理想。最好的查询是&#xff0c…

我在百科荣创企业实践——简易函数信号发生器(6)

对于高职教师来说,必不可少的一个任务就是参加企业实践。这个暑假,本人也没闲着,报名参加了上海市电子信息类教师企业实践。7月8日到13日,有幸来到美丽的泉城济南,远离了上海的酷暑,走进了百科荣创科技发展有限公司。在这短短的一周时间里,我结合自己的教学经验和企业的…

Leetcode 剑指 Offer II 088.使用最小花费爬楼梯

题目难度: 简单 原题链接 今天继续更新 Leetcode 的剑指 Offer&#xff08;专项突击版&#xff09;系列, 大家在公众号 算法精选 里回复 剑指offer2 就能看到该系列当前连载的所有文章了, 记得关注哦~ 题目描述 数组的每个下标作为一个阶梯&#xff0c;第 i 个阶梯对应着一个非…

5 Java的基本程序设计结构(基本语法4)- 集合之ArryList 和什么是包装类?

文章目录 前言一、集合二、基本数据类型的包装类三、ArryList1 ArryList对象的创建2 ArryList常见成员方法(1)boolean add(E e) : 添加元素,返回值表示是否添加成功(2)void add(int index, E e) :在指定索引位置插入元素。(3)boolean remove(E e) : 删除第一个指定元素…

从json到protobuf,接口效率的提升

在express开发的前后端调用中&#xff0c;express作为接收方是不二之选&#xff0c;它有一些很好用的body解析器来解析传入数据&#xff1b;而作为请求发起方&#xff0c;axios是非常方便的&#xff0c;这是一个很好的选择&#xff0c;它可以传输多种类型的数据给接收方。 通常…

Tekion 选择 ClickHouse Cloud 提升应用性能和指标监控

本文字数&#xff1a;4187&#xff1b;估计阅读时间&#xff1a;11 分钟 作者&#xff1a;ClickHouse team 本文在公众号【ClickHouseInc】首发 Tekion 由前 Tesla CIO Jay Vijayan 于 2016 年创立&#xff0c;利用大数据、人工智能和物联网等技术&#xff0c;为其汽车客户解决…

Week 3 DAY 6

Product C - Product (atcoder.jp) 一共N层&#xff0c;对于每一层的每个数&#xff0c;都遍历上一层更新过后的结果&#xff0c;更新为新的结果&#xff0c; 比如样例&#xff1a; 2 40 3 1 8 4 2 10 5动态数组a表示储存上一层除后留下来的数&#xff0c; 第一次a数组中只…

关于开源项目分享的通知

后续会逐步分享更多好用的开源项目&#xff0c;加入圈子&#xff1a; 圈子加入https://pc.fenchuan8.com/#/index?forum86631&yqm5EV39扫码加入&#xff1a;

初识git工具~~上传代码到gitee仓库的方法

目录 1.背景~~其安装 2.gitee介绍 2.1新建仓库 2.2进行相关配置 3.拉取仓库 4.服务器操作 4.1克隆操作 4.2查看本地仓库 4.3代码拖到本地仓库 4.4关于git三板斧介绍 4.4.1add操作 4.4.2commit操作 4.4.3push操作 5.一些其他说明 5.1.ignore说明 5.2git log命令 …

日拱一卒 | JVM

文章目录 什么是JVM&#xff1f;JVM的组成JVM的大致工作流程JVM的内存模型 什么是JVM&#xff1f; 我们知道Java面试&#xff0c;只要你的简历上写了了解JVM&#xff0c;那么你就必然会被问到以下问题&#xff1a; 什么是JVM&#xff1f;简单说一下JVM的内存模型&#xff1f;…

电脑系统安装软件,让系统安装变得更简单。

电脑原版操作系统下载&#xff1a;MSDN系统库 电脑U盘装机pe系统&#xff1a;优启通或微PE工具 驱动安装&#xff1a;360 驱动大师 电脑装机常用软件下载&#xff1a;https://www.bgrdh.com/favorites/7875.html