hi,这里是小榆。7 月 19 日的周五,本应该保持着周五的态度,有什么事情下周一再说。
摸鱼划水的时候,却传来了全球范围内的 windows 系统出现了大范围内的蓝屏警告的消息。发自本能看看自己和自己团队的电脑,发现跑代码异常的稳健。
看消息后发现已经出现了大面积的系统蓝屏,包括机场里的显示屏,商场里的自助付款机,金融机构,医院,公司里的集群电脑,还有各大企业的内部系统都出现了类似蓝屏的问题。
就如幽默的网友也嘲笑 Windows 系统让全世界放了几天的假,而我们的牛马机器依然稳健的在工作,牛马还得是牛马,生于净土嘛。
出于好奇了解后发现,原来导致该事件的罪魁祸首是 CrowdStrike**,一家美国具有政府背景,搞网络安全技术提供商,主要是为终端,云工作负载,身份和数据提供安全服务。
目前深受全球 298 家财富 500 强企业,6 家排名前十的医疗保健企业的青睐。同时也是 8 家排名前十的金融服务公司的合作商。从数据看来该企业已经是金融服务行业的佼佼者了。
看到这里,我才发现为什么我们大多数电脑没有发生蓝屏的问题,原因是国内除外企外并没有和该公司有合作。合作的都是大公司,普通牛马还没有蓝屏警告的资格。
具体导致原因是 CrowdStrike 推送了一个驱动更新,因为做安全类的产品驱动往往都是在内核态里运行,然后这个驱动更新运行的时候就直接崩溃了。
从目前的消息来看有可能是引用了空指针的问题导致,在内核态出现了空指针引用问题就会直接导致蓝屏。
看到这里汗毛竖立,从细微分析会发现这不就是程序员写的代码有问题吗?
程序员一己之力,短时间内几行代码产生的一个小错误,仿佛向世界各大企业,包括火车站,机场,医院,911 接线系统宣布:你们休假吧,我们要世界范围的容灾演练了。
抛开这些事实不谈,难道你们就没有一点责任吗?这么大一个企业,冒烟测试也不做,灰度推送也不做,在我面前自信满满一键发布落地应用。
虽然这次的事故表面上没有造成直接死亡,但是此次事故影响到了医院,911 接线员的工作,导致间接死亡的情况想必是存在的。
这种微观层面上的纠察,往往是排不尽的,因为是个人他就会犯错,就算这次发生之后宣布引起警戒,后面还是会有几率发生系统性问题。何况他们已经是安全行业的佼佼者,都会发生错误。
我们的确有些技术手段去减少事故发生几率,去做一些严格的安全测试,灰度推送等等。但是这些都是后话,大多是事故发生之后会增加的措施。
这些手段往往是主动去降低事故发生几率的,这些策略同时需要耗费一定的时间,人力,经济成本,而企业或者个人都是趋利避害,甚至懒惰的,往往还会有几率出现问题。
绝大多数互联网渗透过的真实场景,且与之产生相关联的用户,这些用户往往是真实且最好的 QA,但是这些 QA 有时候的代价是非常惨重的。
因为不可能在出行,病重,或其他面临生命危险的时候因为互联网产品导致的事故而付出代价来反馈实际案例的吧?
就如近期武汉的无人驾驶的落地场景,从积极面来说还挺新鲜,科技再一次升级。但事后爆出后台有工作人员坐在那里实时监控,他们不仅仅是为了观看情况,还能人工操控车子。
很多人会觉得现在技术处于起步阶段,有人实时跟进这很正常,等技术成熟了就很安全,大家也都在用,很稳定了。
不知道大家有没有想过,你所乘坐的车子联网后,意味着有人能够轻易地在背后操控,你的生命安全同时被人在后台掌控。你也许觉得那是工作人员或者官方人员只是保证你的安全跟进而已。
别忘了,自动驾驶系统也是工程师写的,没有哪个开发,安全工程师能够保证该系统非常稳健,不会发生类似 windows 一样或者其他的事故,更不敢保证不会被人黑进系统直接操控你的车子。
因为一旦联网,你就别想着非常安全这回事,你的 QA,对工作人员来说是一个真实案例,而对我们来说代价可能是一条或几条生命。
说这些,并不是说互联网发展到现在了还否定它的进步。而是说要界定场景应用边界。
要从系统规划上来避免安全问题,主要区分哪些是会威胁到生命安全的,哪些是不会威胁到生命安全的。良性的情况是就算发生系统崩溃了,或者被黑等等因素,工程师两手一摊不足为惧,大不了排查好问题打个补丁继续用,也不会对人们的生命安全造成威胁。
就像日常生活购物,工作,休闲娱乐这些给大家带来便携的,联网后被被攻击,遭系统性故障,造成的事故也不会威胁生命,恢复之后继续用。
但是救援,医院,出行这种威胁到生命安全的,一旦联网了,被攻击或者发生系统性故障,那就很糟糕了。试想你也不希望你家的燃气灶,煤气罐联网吧?你也不希望你同事的呼吸机也联网操控吧?
好吧,据说呼吸机也研发出了联网呼吸机。让我们一起欢呼科技创新越来越牛逼,期待燃气灶,煤气罐,汽车这些统统联网,哪里亮了点哪里。
我们,也是最好最真实的 QA,respect!