速来报名!AICon北京站鸿蒙专场~ 了解详情
写点什么

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:003141
用户头像

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

关注

评论

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

支付系统就该这么设计(万能通用),稳的一批!

Java全栈架构师

程序员 面试 支付系统 架构设计 架构师

阿里云办公安全产品专家高传贵:零信任,让全球办公安全更简单

云布道师

阿里云

web前端开发培训怎么入门

小谷哥

学习前端技术选择培训还是自学比较好?

小谷哥

TiDB 事务与锁整理

TiDB 社区干货传送门

TiDB 底层架构 TiKV 底层架构

DM 数据旅程 02:分库分表悲观协调——02Lock -> Resolve Lock

TiDB 社区干货传送门

迁移

我在京东做研发 | 京东云算法科学家解析爆火的ChatGPT

京东科技开发者

AI 技术 算法 经验分享 ChatGPT

写过vue自定义指令吗,原理是什么?.m

bb_xiaxia1998

Vue

构建自组织团队,让敏捷管理更好地落地

敏捷开发

项目管理 敏捷开发 项目管理软件 自组织

简单几种云成本优化方法讲解-行云管家

行云管家

云计算 云成本 云支出

前端一面必会手写面试题(边面边更)

helloworld1024fd

JavaScript

学习java技术哪些方法比较靠谱

小谷哥

DM 数据旅程 02:分库分表悲观协调——01准备过程

TiDB 社区干货传送门

迁移

在vue的v-for中,key为什么不能用index?

bb_xiaxia1998

Vue

字节前端必会vue面试题集锦

bb_xiaxia1998

Vue

从零到一手写迷你版Vue

helloworld1024fd

JavaScript

培训大数据技术怎么学

小谷哥

大数据开发培训怎么来选择?

小谷哥

【从零开始学爬虫】采集食品行业最新报价数据

前嗅大数据

数据采集 爬虫软件 爬虫案例 爬虫入门教程 爬虫分享

一步步实现React-Hooks核心原理

helloworld1024fd

JavaScript

社招前端二面必会手写面试题总结

helloworld1024fd

JavaScript

DM 数据旅程 02:分库分表悲观协调——03reSync

TiDB 社区干货传送门

迁移

聚焦技术创新实力,时序数据库 TDengine 荣登中国技术先锋年度评选两大榜单

TDengine

数据库 tdengine 时序数据库

Java中不可或缺的关键字「volatile」

小小怪下士

Java 程序员 volatile

软件测试/测试开发 | 相比 Selenium,Web 自动化测试框架 Playwright 有哪些强大的优势?

测试人

软件测试 测试框架 测试开发 playwright Web自动化测试

架构实战 - 模块 6 作业

mm

#架构实战营 电商微服务分析

2023年新云南等级保护测评机构名录!

行云管家

等保 等级保护 等保测评机构

乐视每周工作四天半?我们也可以

不想敲代码

程序员 效率工具 协同办公

2023前端二面必会vue面试题指南

bb_xiaxia1998

Vue

cookie、session,、token,还在傻傻分不清

华为云开发者联盟

前端 华为云 企业号 1 月 PK 榜

DM 数据旅程 01:序言 + 第一次 start task

TiDB 社区干货传送门

迁移

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