写点什么

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

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

关注

评论

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

Mac音频采样器Kontakt 7最新版v7.3.0下载

Rose

mac音频采样器 Kontakt 7激活版 Native Instruments Kontakt 7 mac下载

SpringBoot如何使用Jetty容器?超级详细,建议收藏

bug菌

springboot jetty 三周年连更

基于Flutter实现跨平台离线大模型对话应用

轻口味

flutter ios android AI 三周年连更

华为工单宝助力科视光学实现售后服务自动化,提升客户体验和企业效率

YG科技

linux性能调优

乌龟哥哥

三周年连更

通俗易懂篇:贝叶斯网络和它的应用

Bob

网络 贝叶斯算法

一种面向后端的微服务低代码平台架构设计

京东科技开发者

架构 微服务 低代码 企业号 4 月 PK 榜

测试需求平台 7- 产品管理服务接口一篇搞定

MegaQi

Python 挑战30天学完Python 三周年连更

如何让 Windows 应用程序在 Parallels Desktop 中启动得更快

Rose

pd虚拟机 pd18虚拟机 Parallels Desktop启动

基于树莓派设计的音视频播放器(从0开始)

DS小龙哥

三周年连更

华为工单宝:助力制造业数字化转型,通过项目管理实现售后服务自动化和规范化

YG科技

一文读懂物联网 MQTT 协议之基础特性篇

老周聊架构

三周年连更

Django笔记十一之外键查询优化select_related和prefetch_related

Hunter熊

Python django 外键查询优化 select_related prefetch_related

Docker容器网络的七种武器

王玉川

Docker 容器 网络 VXLAN 网络虚拟化

跨平台应用开发进阶(五十一):HTML5(富文本内容)连续数字、字母不自动换行问题分析及解决

No Silver Bullet

html5 跨平台应用开发 三周年连更 问题分析及解决

PDF编辑软件Acrobat Pro DC 2023 最新版+如何取消Acrobat更新教程

Rose

Acrobat Pro DC 2023 Acrobat Pro DC更新 如何取消Acrobat 自动更新

中软国际亮相OpenHarmony开发者大会,荣获A类捐赠人授牌认可

科技热闻

深入剖析Go语言中的Channel:高级特性与注意事项

Jack

使用 Amazon SageMaker 构建文本摘要应用

亚马逊云科技 (Amazon Web Services)

近期Master分支代码编译异常的解决方案

坚果

OpenHarmony OpenHarmony3.2 三周年连更

告别祈祷式编程|单元测试在项目里的正确落地姿势

浅羽技术

Java 测试 单元测试 JUnit 三周年连更

PicConvert for mac:以批处理模式转换,调整大小和重命名图像

Rose

苹果软件资源 图片格式转换 PicConvert mac mac图片编辑

掌玩科技×OceanBase:HTAP实时数据分析,降低80%存储成本

OceanBase 数据库

数据库 oceanbase

Unity 之 查找游戏物体的几种方式汇总解析

陈言必行

Unity 三周年连更

Java异常Exception详解

timerring

Java 三周年连更

vue3学习-Composition API

格斗家不爱在外太空沉思

Vue 3 三周年连更

基于UDP协议的Socket通信

芯动大师

UDP协议 客户端配置 三周年连更

逐渐消失的站长圈子,未来个人站长如何转型

石头IT视角

强大易用的矢量图形设计工具Sketch v96.1最新中文版

Rose

苹果软件下载 Sketch中文版 Sketch V96.1 mac图形设计工具

从多个数据源中提取数据进行ETL处理并导入数据仓库

海拥(haiyong.site)

三周年连更

陈小伟:从ChatGPT谈起,预测5个数据库开发趋势

OceanBase 数据库

数据库 oceanbase

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