产品战略专家梁宁确认出席AICon北京站,分享AI时代下的商业逻辑与产品需求 了解详情
写点什么

NotPetya 事件回顾

  • 2019-07-28
  • 本文字数:3156 字

    阅读完需:约 10 分钟

NotPetya事件回顾

本文要点

  • NotPetya 造成了严重的破坏,它突显出很多本可以让恢复变得更快更便宜的措施

  • 我们应该预计到未来的攻击会更具破坏性,因此,需要更加强健的恢复计划

  • 从可信边界模型(trusted perimeter model)到零信任模型(zero-trust model)的转移提供了更强大的防御姿态,并且可避免很多隔离问题

背景

2017 年 6 月,Petya恶意软件的一个变种被用于发动了一次针对乌克兰的网络攻击 。据信,最初的来源是对本地会计软件包 MeDoc 的更新。在几个小时内,该恶意软件从其乌克兰的办公室开始一直扩散到全球公司的网络,特征是摧毁整个 Windows 桌面和服务器环境。NotPetya 恶意软件看似密码锁定勒索软件,就像几周前发生的WannaCry病毒,但是,事实并非如此。它没有勒索,没有要求受害者支付比特币以取回受影响的硬盘或其上的数据。在记录了清理工作以及其对一些大型跨国公司运营的影响之后,Wired 说这是“历史上最具破坏性的网络攻击”


在我们迎来 NotPetya 事件两周年之际,作者基于其亲自参与该事件发生后的活动经历,写了这篇回顾文章。在事件发生之后,NotPetya 似乎成了会改变整个 IT 行业的事件,但是,事实并非如此,几乎所有的经验教训都被忽视了。

如果情况会更糟糕的话,那么下一次就会如此

NotPetya 对受其感染的 Windows 机器的 C 盘加了密。它没有影响 D 盘、E 盘或 F 盘等,并且对 Linux、Unix、Mainframe 或 Midrange 机器也没有影响。显然,该恶意软件的目标是攻击桌面系统(运行 MeDoc 会计软件包),因此它的破坏性有限。一个通过任何额外的硬盘/分区工作的简单迭代器将破坏 Exchange 服务器、SQL 数据库以及文件服务器,而不在系统磁盘上的数据不会受到影响。


整个 Windows 桌面系统和服务器系统磁盘的破坏产生了很大的影响,但是,基本没有影响有关公司的“账簿和记录”。这些数据没有受到影响的原因是,这些数据驻留在其他盘上或是在非 Windows 系统中。


我们要为下次攻击及其带来的损害做好准备,就应该考虑好下步的计划,而不仅仅是恢复对记录系统的访问(这是在 NotPetya 事件之后的主要操作),还要保护好这些记录系统。我们应该预料到恶意软件会全面地破坏 Windows 系统,并利用其它操作系统的漏洞(暴露给受损的 Windows 机器)。这应该不局限于 PC 机和服务器,尚未受到 NotPetya 攻击的 NAS 文件管理器、SAN 和网络设备也是破坏的潜在目标。

什么是可信的?

有个问题阻碍了最初的恢复,那就是,恶意软件是如何传播的,以及它已经潜伏了多久?如果我们打算回到攻击之前的已知安全点,那么,那是什么时候?之前被认为“已知的好”,往好里说是“已知的脆弱”,往坏里说就是“具有传染性”。确定折中的方式和时间成为当务之急。


让取证人员搞清安全点所在的位置可能非常耗时,但是,与此同时,任何恢复都有被重新发布的恶意软件所破坏的潜在可能。我们不得不在重建核心系统和服务的隔离及访问记录系统(以便公司能继续运营)之间进行权衡。


问题的根源在于发生事件之前建立的信任网络。可信的网络和身份管理系统(如 Active Directory)一旦受到损害,就不再可信,但是,这种信任的质量通常是基础设计的选择,会影响大量操作注意事项。谷歌(遵循 Aurora行动的妥协)转向了“BeyondCorp”,这是一个零信任模式,它与Jericho Forum去边界方法有相同的特点。

大规模恢复

备份和恢复计划通常是围绕良性条件下单系统故障设想的。如果恢复一块磁盘需要 1 个小时左右,那么,没有什么问题。但是,如果我们需要恢复 5000 台服务器,它们依次都需要 1 小时来恢复,那么就需要 208 天,差不多是 30 周。而我们有多少备份服务器呢,可以并行做多少恢复操作呢?


传统的备份和恢复在当初设计时就不是用于大规模恢复的,当备份服务器自身受到攻击影响时更是如此。但是,这里有两种好用的方法:


  1. 回滚到快照:由于系统越来越虚拟化,对已知的良好配置拍个快照变得很容易,同时,写时复制(copy-on-write,简称COW)文件系统在存储方面使其变得相当有效。


当然,快照只有先拍出来才能用于回滚。NotPetya 的悲剧之一是,明明只要几秒钟就能恢复新近安装的基础设施,但因为缺少快照而无能为力,其原因可能是“那是另一个团队做的”或“没有足够的存储空间”。


  1. 通过持续交付管道重启——使用更新、更有弹性、不会被攻击的版本来做。


注意,传统的“补丁管理”与这条交付管道是平行的,之所以使用它,是因为主流机制太慢了。

利润最大化是失败的理财

对许多公司来说,NotPetya 恢复的一个障碍是旧设备(通常是报废的)的使用。使用了数百台老旧的机器,用新机器的话只需几台就可以完成任务。由于 SAN 有几年没有升级了,因此,没有用于快照和虚拟磁带库(virtual tape libraries,简称VTL)的存储空间。


使用旧设备的动力来自资本支出(capital expenditure,简称 CAPEX)和会计人员,他们认为可以巧妙地从一项通常是完全贬值的资产中榨取更多价值,因而使用旧设备。问题是,旧设备消耗更多的电力,因此,增加了大量的运营支出(operational expenditure,简称 OPEX)。根据库米定律(Koomey’s law,跟摩尔定律相近),我们发现,在 CAPEX 和 OPEX 之间的平衡点通常驱动着一个以 3 年为一个轮回的设备更新周期。如果服务器和存储设备的使用时间超过了 3 年,那么,旧设备的电力开销就会远远大于新机器,而新机器应该更容易维护,恢复也更简单。

网络保险不覆盖“战争行为”

NotPetya 事件之后的恢复既耗时又费钱。购买了网络保险的公司提出索赔来支付这些恢复费用。至少在一个重大的索赔案例中(索赔 1 亿美元),保险公司利用了这一排除条款:在“和平或战争时期”由“政府或主权国家”采取“敌对或战争行为”。于是,这走上了诉讼之路(仍在进行中),保险公司必须证明攻击的归因。


具有讽刺意味的是,网络保险可能最终被证明是确保企业为未来攻击进行更好准备的关键。长期以来,信息安全界的经济学一直假定,保险可能通过直接立法来实现安全方面的改善,而这是无法实现的(比如,就像年轻骑手被高性能摩托车的高价挤出市场一样)。要做到这一点,需要更强大的网络政策授权(可能必须立法),同时,保险公司也将更积极地界定对投保人的最低要求(就像它们针对家庭保险中对窗锁做出的规定一样)。

未来不仅跟防护措施有关,也跟可恢复性有关

受 NotPetya(以及在此之前的 WannaCry)影响的每家公司都有一定程度的安全保障措施,通常是防火墙、杀毒软件和补丁管理。很显然,这种防护措施不够完美,否则本次攻击本该被挫败,但是,一个完美的防护措施成本非常高,也不现实。在我们处理防护措施不完美的现实时,在预防和反应措施之间做出选择是有必要的。安全专家 Bruce Schneier 在他的恢复力(resilience)标签上指出:“有时候把钱花在缓解上比花在预防上更有意义”。在缓解方面的投资也能以各种与攻击无关的方式获得回报:本该在测试环境中的修改,却意外地改在了生产环境,而这可以在几秒内修复,只需恢复到最后一个快照。

迈向零信任模式

NotPetya 不太可能长期保持“最有破坏性的网络攻击”头衔。总会有其他攻击,我们应该预料到更糟的情况。从可信网络模式转到零信任模式是防御这类攻击的最有效方法。但是,应该把力量集中在可以快速恢复的措施上。可以通过转向现代设备和软件来帮助恢复,一般来说,会出现一个不错的业务案例来支持这一举措的。


作者介绍


Chris Swan 是 DXC.technology 的全球交付副总裁兼首席技术官,负责领导跨产品系列的运营设计转变,以及利用数据驱动客户转型和服务履行的优化。之前,他是 Global Infrastructure Services 的 CTO 和 CSC 公司的 x86 及分布式计算的总经理。在这之前,他曾在 Cohesive Networks、UBS、Capital SCF 和 Credit Suisse 担任过 CTO 及研发总监, 负责应用程序服务器、计算网格、安全、移动、云、网络和容器方面的工作。


原文链接:


NotPetya Retrospective


2019-07-28 08:003080
用户头像

发布了 199 篇内容, 共 85.2 次阅读, 收获喜欢 295 次。

关注

评论

发布
暂无评论
发现更多内容

数智时代加速!云存储与低代码开发:超强联盟引领技术革新

不在线第一只蜗牛

低代码 云存储

从Vue到无限可能:数智时代下的低代码快速开发之旅

快乐非自愿限量之名

架构 Vue 低代码 数智化

强化学习是否言过其实?

高端章鱼哥

强化学习 计算机程序

深入C++常用的三个智能指针

梦笔生花

社区新手小伙伴测评第二弹 | 使用 ChatGPT 可以帮助完成 IoTDB 的写入和查询吗?

Apache IoTDB

时序数据库 IoTDB Apache IoTDB ChatGPT

2023-07-13:如果你熟悉 Shell 编程,那么一定了解过花括号展开,它可以用来生成任意字符串。 花括号展开的表达式可以看作一个由 花括号、逗号 和 小写英文字母 组成的字符串 定义下面几条语

福大大架构师每日一题

福大大架构师每日一题

使用华为云开发者插件一键部署应用到ECS

YG科技

Git代码管理、提交、问题、仓库创建与管理

zhengzai7

git 代码管理

PostgreSQL技术内幕(九)libpq通信协议

酷克数据HashData

用ChatGPT搞定12 种编程语言:看看它的表现如何

互联网工科生

人工智能 编程语言 ChatGPT

机器学习之PyTorch和Scikit-Learn第2章 为分类训练简单机器学习算法

Alan

人工智能 机器学习 PyTorch scikit-learn 多层感知机

插件界的全家桶!对接华为云能力就用它了!

YG科技

weblogic基本概念、安装、创建域、服务器、数据源、部署应用

zhengzai7

weblogic

智慧化考虑运用数据、信息、知识及反馈机制提升微表情识别准确度

zhengzai7

人工智能 DIKW

机器学习之PyTorch和Scikit-Learn第一章 赋予计算机学习数据的能力

Alan

人工智能 机器学习 PyTorch scikit-learn

高效运营新纪元:智能化华为云Astro低代码重塑组装式交付

华为云PaaS服务小智

云计算 软件开发 华为云 华为开发者大会2023

适配各类大模型应用!手把手教你选择 Zilliz Cloud 实例类型

Zilliz

Milvus Zilliz 向量数据库 zillzicloud

关于商品推荐方法及系统的思考

zhengzai7

推荐系统 本质

华为云出品《IDEA-Plugin-开发手册》电子书——学完即会场景设计

华为云PaaS服务小智

开发者 华为云 编程学习 华为开发者大会2023

我和“华为云”有个约会

YG科技

Docker学习路线4:Docker基础知识

小万哥

Java c++ Go Docker 容器

详解:瓴羊QuickBI为什么是国内口碑最佳的BI工具

对不起该用户已成仙‖

Weblogic控制台数据源密码的脚本化修改

zhengzai7

Shell 密码 控制台 weblogic 数据源

直播 | SDS 容灾方案,让制品数据更安全

CODING DevOps

《面试1v1》java注解

JavaPub

Java 面试 注解

基础推荐算法概述

zhengzai7

推荐系统 推荐算法

什么是从人类反馈中强化学习(RLHF)?

高端章鱼哥

LLM RLHF 大语言模型

《深入浅出Java虚拟机 — JVM原理与实战》带你攻克技术盲区,夯实底层基础 —— 吃透class字节码文件技术基底和实现原理(核心结构剖析)

洛神灬殇

Java JVM 深入理解JVM 挖掘底层原理

华为开发者大会:软件开发小白的华为云云上初体验

YG科技

Nginx+Uwsgi+Django+Mysql部署项目

zhengzai7

MySQL Linux mysqldump 数据备份

NotPetya事件回顾_软件工程_Chris Swan_InfoQ精选文章