本文转载翻译自:https://www.wired.com/story/the-untold-story-of-solarwinds-the-boldest-supply-chain-hack-ever/

那是2019年底,安全公司Volexity的总裁Adair正在调查一家美国智库的网络安全漏洞。入侵没什么特别的,Adair认为他和他的团队会迅速踢走攻击者并完成这个案子,然而直到他们发现了一些奇怪的事情.....第二组黑客此后又活跃在智库的网络中,他们正在追踪电子邮件,拷贝副本并将它们发送到外部的服务器。这些入侵者的技术要高超得多,他们每周都会多次往返智库网络,窃取特定高管、政策专家和IT员工的邮件。

Adair和他的同事将第二组黑客团伙称为“Dark Halo”,并将他们从网络中踢走,但很快他们又回来了。事实证明,黑客三年前在网络上植入了一类秘密的恶意代码后门,允许他们进入受感染的机器或与受感染的机器通信。现在是第一次暴露了这种情况,他们使用了这种后门。“我们关上了一扇门,他们很快就去了另一扇门”,Adair说。

Adair的团队花了一周的时间再次将攻击者踢出网络并清除了后门。但在2020年6月下旬,黑客不知何故又卷土重来,他们又开始从相同账号中盗取电子邮件。调查人员花了数天时间试图弄清楚他们是如何溜回来的。Volexity将注意力集中在智囊团的一台服务器上,这是一台运行某流行软件的机器,该服务器帮助智库的系统管理员管理他们的计算机网络。该软件是由一家为世界各地IT团队所熟知的公司开发的,但几乎所有人都可能会感到困惑,这是一家位于德克萨斯州奥斯汀的叫SolarWinds的公司。

Adair和他的团队认为黑客一定是在受害者的服务器上留了一个后门,但经过大量调查后,他们找不到这个后门。所以他们再次将入侵者赶了出去,为了安全起见,只能将服务器与互联网断开连接。Adair希望一切就此结束,但是这件事一直困扰着他。几天来,他都在凌晨2点左右醒来,感觉团队错过了一件大事。

是的,他们错过了,他们并不是唯一碰到这样情况的人。大约在Adair的团队将Dark Halo踢出智库网络的同时,美国司法部也在努力应对一次入侵事件,涉及运行相同SolarWinds软件试用版的服务器出现了问题。据知情人士透露,美国司法部在5月下旬发现从服务器传输到互联网的可疑流量,因此他们请世界上最重要的网络安全公司之一“Mandiant”来帮助他们调查,他们还与微软合作,但仍然不清楚如何被入侵。(司法部发言人证实发生了这一事件和调查,但拒绝透露Mandiant和微软是否参与其中,两家公司均未对调查发表评论)

据熟悉该事件的消息人士称,调查人员怀疑黑客可能通过利用SolarWinds软件中的漏洞直接破坏了司法部的服务器。消息人士称,司法部团队联系了SolarWinds公司,甚至引用了他们认为可能与该问题相关的特定文件,但SolarWinds的工程师无法在他们的代码中找到漏洞。数周来回之后,谜团仍未解开,调查人员与SolarWinds之间的沟通也停止了(SolarWinds拒绝对这一事件发表评论)。当然,该部门并不知道Volexity也出奇地处理了相似的黑客攻击事件。

随着夏天到了秋天,在这种闭门造车的情况下,政府和安全行业的人们开始怀疑有什么大事正在发生。但政府多年来一直试图改善与外部安全专家的沟通,突然间就不再沟通了。在接下来的几个月里,“通常很健谈的人都变得沉默寡言了”,一位前政府工作人员说。他说,某些人越来越担心一场毁灭性的网络行动正在展开,而且没有人能控制它。

事实上,美国司法部和Volexity公司已经无意中发现了十年来最复杂的网络攻击活动之一。肇事者确实入侵了SolarWinds的软件。使用调查人员以前从未见过的技术,黑客获得了对公司数千名客户的访问权限。受感染者中至少有八个重要美国联邦机构,包括美国国防部、国土安全部和财政部,以及先进的技术公司,甚至顶级的安全公司,这些公司包括英特尔、思科和Palo Alto,当然微软和 Mandiant也在受害者名单上,他们中没有人知道发生了什么。

在美国司法部事件发生后,该行动至少持续了六个月还未被发现。直到调查人员最终破获它时,他们被黑客攻击的复杂性和终极谋划震惊了。然而,两年多过去了,他们拼凑的事件碎片或者至少他们公开分享过的信息,仍然无法还原攻击的全貌。关于这场攻击活动对美国联邦系统的影响以及被盗数据的全面统计,从未向公众或国会议员提供过。根据前政府的消息来源和某些人的说法,许多受影响的联邦机构没有能够维护足够的网络安全日志,因此不知道被拿走了什么。更糟糕的是:一些专家认为,SolarWinds并不是唯一的被攻击媒介,其他软件制造商曾经或可能仍然在传播恶意软件。

下面是对揭露这起黑客行动的最终调查内幕描述。它是如何发生的,以及迄今为止我们所知道的一切...

线索

2020年11月10日,Mandiant公司的一位名叫Henna Parviz的分析师处理了一次例行安全告警,只要员工在公司的多因素身份验证系统中注册一部新手机,就会触发这种警报。该系统向经过认证的设备发送一次性访问代码,允许员工登录公司的VPN网络。但是Parviz注意到这款三星设备有一些不寻常的地方:“它没有关联的电话号码”。

Parviz仔细查看了手机的活动日志,发现了另一个奇怪的细节。该员工似乎使用手机从佛罗里达州的IP地址登录了他的VPN账号。但此人不住在佛罗里达州,他的旧iPhone仍然在多因素系统中注册。然后她注意到三星手机已从佛罗里达州的IP地址登录,同时该员工也从他的家乡使用iPhone登录。这引起了Mandiant公司的注意!

Mandiant安全团队封锁了这个三星设备,然后花了一周时间调查入侵者如何获得员工的VPN用户名和密码。他们很快意识到这个问题已经不是某个员工的账户失陷了。攻击者实施了Golden SAML攻击,一种用于劫持公司任意员工身份验证系统的复杂技术,他们可以夺取任意员工账户的控制权,授予这些账户更多权限,甚至可以创建具有无限访问权限的新账户。有了这种能力,攻击者可以深入访问到公司内部的任何网络和资产。

11月17日,Mandiant工程咨询部门的高级成员Scott Runnels和Eric Scales悄悄召集了一个大约10人的顶级调查响应团队,他们从其他项目中调取了人力,但没有告诉管理层任何原因,甚至没有提这些抽调的员工何时会回来。由于不确定调查响应会发现什么,Runnels和 Scales需要控制知情人的范围。该团队很快意识到,黑客已经活跃了数周,但通过“无文件攻击”来逃避检测,通过破坏网络上已有的管理工具来实施他们的恶意行为,这样就不会在攻击活动中引入他们自己的工具。他们还试图避免在活动日志和其他地方留下痕迹,以规避调查人员搜寻威胁的常规模式。

但在攻击者试图对抗Mandiant的过程中,无意中留下了不同的指纹。几天之内,调查人员找到了踪迹,开始了解入侵者去过哪里以及他们偷了什么东西。

11月20日星期五早上,Mandiant的创始人兼首席执行官Kevin Mandia在与3000名员工举行的全体会议上点击退出,就注意到他的助手在他的日历中添加了一个新的电话会议,上面只备注了“安全简报”。Mandia是一名52岁的前空军情报官员,退役20年后仍留着标准的军人发型。他本打算在周末早点下班,但还是先拨通了电话会议,他期待能够快速结束会议,但会议在进行了五分钟后,他就知道他的周末结束了。

Mandia于2004年创立的公司调查了过去二十年中许多最引人注目的黑客事件。该公司于2013年被FireEye收购,去年又被谷歌收购,该公司的威胁猎手每年处理1000多起安全事件,其中包括谷歌、索尼、Colonial Pipeline等公司的事件。在那段时间里,Mandiant本身从未遭受过严重的黑客攻击,现在猎人成了猎物。

Mandia了解到,入侵者窃取了自己公司用来查找客户网络漏洞的红队工具,入侵者还查看了识别其政府客户的敏感信息。当他的团队描述入侵者如何隐藏他们的入侵活动时,Mandia回忆起了他职业生涯早期的事件。从1995年到2013年,在空军特别调查办公室和私企部门,他曾观察到俄罗斯威胁行为者在不断测试系统,一旦调查人员锁定他们,他们就会消失。俄罗斯威胁行为者的坚持和隐秘使他们成为Mandia遇到过的最难缠的对手。现在,在会议上听到自己公司内部出现了相似的入侵活动,他的直觉告诉一位会议听众:“开始对这种攻击模式进行匹配”。在得知令人不安的被入侵消息后的第二天,他联系了美国国家安全局(NSA)和其他政府联系人。

当Mandia与政府商讨时,Mandiant的首席技术官Charles Carmakal联系了一些老朋友。这次入侵活动的许多黑客攻击技战术都很陌生,他想知道之前的Mandiant同事Christopher Glyer和Nick Carr是否见过这些技战术。Glyer和Carr花了多年时间调查大规模、复杂的攻击,并广泛跟踪了很多臭名昭著的黑客组织。现在,这两个人在微软工作,他们比在Mandiant时可以看到更多黑客攻击活动的数据。

Carmakal只是告诉他们最基本的信息,他想获得帮助,以确定Mandiant发现的一些活动。这两家公司的员工经常在调查方面交流情报,因此Glyer并没有多想这个请求。那天晚上,他花了几个小时研究Carmakal发给他的数据,然后请Carr接替他。Carr是一个夜猫子,所以他们经常一起合作,Carr在早上将工作交回给Glyer。

这两个人没有看到任何熟悉的已知黑客组织的技战术,但随着他们追踪线索,他们意识到Mandiant正在追踪的是非常重要的目标。"每次你抽取一根线,会发现一条更长的线",Glyer回忆道。他们可以看到多个受害者正在与Carmakal要求他们跟踪的黑客组织进行通信。对于每个受害者,攻击者都会建立一个专用的命令控制服务器,并给该机器一个名字,这部分模仿了受害者网络上真实系统的名称,以避免引起怀疑。当Glyer和Carr看到这些名称列表时,他们意识到可以使用它来识别新的受害者。在这个过程中,他们发现了Carmakal没有向他们透露的东西,Mandiant自身已被黑客攻击。

这是一个“天哪”时刻,微软威胁情报负责人John Lambert回忆道。攻击者不仅仅是想窃取数据,他们还在对抗他们最大的敌人之一,进行反情报活动。“当客户遇到安全事件时,谁是他们最经常联系的人?”,他说。“是Mandiant。”

随着Carr和Glyer关联了更多的线索,他们意识到曾在几个月前未解决的入侵事件中看到了这次黑客攻击的迹象。越来越多的证据表明,黑客们在隐藏他们的行踪方面表现出卓越的技能和谨慎,这让他们想起了某个熟悉的APT组织。

搜寻

在Mandiant公司内部,员工们正拼命想办法解决黑客盗走的用于暴露客户防御漏洞的红队工具问题。他们担心入侵者会将这些产品用于攻击Mandiant的客户或在暗网上进行分发,因此Mandiant成立了一个响应团队,着手制定一种方案来检测这些工具在野外的使用情况。同时,Runnels的团队也在加紧研究黑客到底是如何隐蔽地侵入公司系统的。

由于疫情的缘故,Mandiant的团队在家里工作,因此他们每天连接着会议电话,持续了18个小时,一边梳理日志和系统,一边绘制黑客走过的每一个步骤。随着时间的推移,他们逐渐熟悉了彼此的生活节奏,背景中孩子和伴侣的声音,Runnels脚边沉睡的斗牛犬轻微的鼾声。这项工作如此消耗精力,以至于有一次,Runnels在淋浴时接到了Mandiant一名高管的电话。

Runnels和Scales每天向Mandia汇报。每次CEO都问同样的问题:黑客是如何入侵的?但调查人员没有答案。

在12月8日,当检测工具准备好并且该公司感觉已经获得了足够有关入侵事件的信息可以公开时,Mandiant公司打破沉默,发布了一份重磅声明,揭示其已遭到黑客攻击。声明内容简洁:技术高超的黑客窃取了该公司的一些安全工具,但其中许多已经是公开的,并且没有证据表明攻击者使用了这些工具。首席技术官Carmakal担心客户会失去对公司的信心。他也担心同事们会对这个消息作何反应。“员工们会感到尴尬吗?”, 他想知道,“人们还想不想继续成为这个团队的一员?”

Mandiant公司并没有透露入侵者是如何进入公司网络的,或者他们在公司网络中停留了多长时间。该公司拒绝评论。这些省略造成了这次入侵事件是孤立事件而没有其他受害者的印象,人们开始怀疑该公司是否犯了基本的安全错误导致被攻击。“我们说我们被顶尖对手攻破了,” Carmakal说,这是每个受害者都会声称的情况:“在没有调查清楚之前,我们还不能提供证据”。

Mandiant公司并没有清楚地说明它是在何时第一次发现了导致入侵源头的线索。Runnels的团队提出了一连串的假设,并花费数周时间追踪每一个线索,但最终什么都没有找到。当他们在流量日志中发现一个重要线索时,他们几乎已经失去了希望:数月前,Mandiant的一台服务器曾与互联网上的一个神秘系统短暂通信过。而那台服务器正在运行SolarWinds的软件。

SolarWinds研发了数十个程序,供IT管理员监控和管理他们的网络,帮助他们同时配置和打补丁大量的系统,跟踪服务器和应用程序的性能,以及分析流量。Mandiant正在使用该公司最受欢迎的软件之一,名为Orion的软件套件。这个软件只应该偶尔与SolarWinds的网络通信以获取更新,但实际上它正在与一个未知的系统通信,很可能是黑客的命令控制服务器。

早在6月份,Mandiant就被召唤来协助美国司法部调查一台运行SolarWinds软件的服务器入侵事件。为什么全球顶尖安全公司之一的“熟悉已知攻击模式”的专家们似乎没有意识到这两个案件之间的相似性,这是SolarWinds安全事件仍然存在的一个谜团。很可能Runnels所选的几个人没有参与司法案件的工作,内部保密措施也防止他们发现这种联系。(Mandiant拒绝置评)

Runnels的团队怀疑入侵者已在Mandiant服务器上安装了后门,他们委派团队中的技术总监Willi Ballenthin和其他两名成员来寻找它。他面临的任务并不简单。Orion软件套件由超过18000个文件和14 GB的代码和数据组成。Ballenthin认为,要找到造成可疑流量的恶意组件就像在没有读过《白鲸》这本书的情况下在其中查找特定句子一样困难。

然而,他们只花了24小时就找到了一直在寻找的那个段落:“一个看似负责恶意流量的某个文件”。Carmakal认为他们是在12月11日找到的它。

这个文件是一个.dll动态链接库,也是其他程序共享的代码组件。这个.dll文件非常大,包含约46000行代码,执行了4000多个合法的操作,并且在他们分析了一个小时后,发现它还执行了一个非法的操作。

这个.dll的主要工作是告诉SolarWinds有关客户Orion软件使用情况的信息。但黑客嵌入了恶意代码,使其将受害者网络的情报传输到他们的命令控制服务器。Ballenthin将这个恶意代码称为“Sunburst”,这是对SolarWinds的一种玩弄。他们对这个发现感到非常兴奋。但现在他们必须弄清楚入侵者是如何将它偷偷嵌入到Orion软件的.dll中的。

这远非易事。Orion的.dll文件是用SolarWinds数字证书签名的,这个数字证书验证该文件是合法的公司代码。一个可能性是攻击者窃取了数字证书,创建了一个后门版本的Orion文件,签名该文件以使其看起来是正常的,然后安装了恶意的.dll文件在Mandiant的服务器上。或者更令人担忧的是,他们可能已经入侵了SolarWinds的网络,在SolarWinds编译(将代码转换为软件)并签名之前,修改了合法的Orion.dll源代码。第二种情况似乎太不切实际,以至于Mandiant的团队并没有真正考虑它,直到一名调查员从SolarWinds网站上下载了一个Orion软件更新,发现其中有相同的后门。

这个发现的含义是惊人的。Orion软件套件有大约33000个客户,其中一些客户从3月份开始就收到了被黑客篡改过的软件更新。这意味着一些客户可能已经被攻击者入侵了八个月。Mandiant团队面临着软件供应链攻击的典型案例,对可信软件在其源头进行的恶意修改。攻击者这一举动可以感染数千台机器,甚至可能是数百万台。

2017年,黑客破坏了软件供应链,通过入侵计算机安全清理工具CCleaner向超过200万用户传递恶意软件。同年,黑客在软件更新中传播了恶意NotPetya蠕虫到乌克兰的TurboTax等软件中,然后蔓延到全球。不久之后,黑客也曾使用软件更新向数千名华硕客户植入后门。即使在调查的早期阶段,Mandiant团队就已经能够判断这些攻击远远无法与SolarWinds攻击相媲美。

调查

2020年12月12日是一个星期六的早晨,Mandia打电话给SolarWinds的总裁兼首席执行官凯文·汤普森。这位德克萨斯州公司的14年资深员工将在月底卸任CEO。Mandia要告诉他的消息是:Orion软件已被感染。这是一个结束他任期的糟糕方式。“我们将在24小时内公开这个消息,” Mandia说。他承诺给SolarWinds一个先发布公告的机会,但时间表是不可协商的。Mandia没有提到的是他自己也面临外部压力:一名记者已经得到了有关后门的消息,并联系了他的公司以确认它。Mandia预计这个故事将在周日晚上爆料,他想先抢占先机。

汤普森开始拨打电话,其中之一是致电SolarWinds安全架构主管蒂姆·布朗。布朗及其团队很快确认了Sunburst后门存在于Orion软件更新中,并惊恐地发现自2020年春季以来已向多达18,000名客户提供了该软件更新(并非每个Orion用户都下载了该更新)。汤普森和其他人在周六大部分时间都在紧急组建响应团队,负责处理他们面临的技术、法律和公关挑战。他们还致电公司的外部法律顾问DLA Piper,以监督调查此次数据泄露事件。DLA Piper律师事务所的律师、了解计算机取证的前检察官罗恩·普莱斯科在晚上10点左右接到电话时,正在后院与朋友聚会。

普莱斯科径直走到他的家庭办公室,那里摆放着白板,他开始草拟一项计划。他设置了一个20小时的定时器,对Mandia给出的事件披露期限感到不满。一天时间根本不足以为受影响的客户做好准备。他担心,一旦SolarWinds公开此事,攻击者可能会在任何人驱逐他们之前,对客户的网络进行破坏。

让法律团队负责数据泄露调查的做法是具有争议的。这种做法可以将案件置于律师-客户特权之下,从而帮助公司抵御监管调查,并在诉讼中对发现请求进行抗辩。普莱斯科表示,SolarWinds从一开始就致力于透明度,发布了有关此事件的所有信息。(在采访中,公司大多数情况下都是坦率的,但在法律顾问的建议或政府的要求下,Mandiant比SolarWinds更多地隐瞒了一些答案。此外,SolarWinds最近与股东就此次数据泄露达成了集体诉讼和解,但仍面临证券交易委员会的可能执行行动,这使得公司在事件上表现得没有原本那么开放)

除了DLA Piper律师事务所,SolarWinds还聘请了安全公司 CrowdStrike,普莱斯科得知后,他想要他的老朋友亚当·梅耶斯参与此案。两人认识了几十年,他们曾一起为一家国防承包商进行安全响应。梅耶斯现在是CrowdStrike的威胁情报团队负责人,很少参与调查工作。但当普莱斯科在凌晨1点给他发短信说“我需要你的帮助”时,他毫不犹豫地加入了这个团队。

那个星期天早晨晚些时候,梅耶斯加入了与Mandiant的电话会议。会议中有一名微软员工,告诉大家在某些情况下,黑客正在系统地入侵微软Office 365电子邮件账户和Azure云账户。黑客还能够绕过多因素身份认证。每听到一个细节,梅耶斯就意识到数据泄露的范围和复杂程度在不断扩大。像其他人一样,他也怀疑是某APT组织黑客所为。

电话会议结束后,梅耶斯回到家里的客厅。Mandiant向他发送了Sunburst代码,即包含后门的.dll文件部分,于是他弯下腰来,在笔记本电脑上开始分析它。接下来的六个星期里,他一直保持弯着身子的姿势,对代码进行逐一分析。

后门

SolarWinds的安全架构主管蒂姆·布朗表示,在最初的几天里,震惊、不信任和混乱占据了SolarWinds。数十名员工涌入了他们数月未曾拜访的奥斯汀办公室,设立了紧急战斗会议室。黑客已经入侵了71个SolarWinds的电子邮件账户,很可能是为了监视通信,看是否有任何迹象表明他们被发现了。因此,在最初的几天里,团队们只能通过电话和外部账户进行沟通,直到CrowdStrike批准他们再次使用公司电子邮件。

布朗和他的员工必须找出他们未能阻止或检测到黑客攻击的原因。布朗知道,无论他们发现了什么,都可能会让他失去工作。

团队的首要任务之一是收集可能揭示黑客活动的数据和日志。他们很快发现,他们需要的一些日志并不存在,SolarWinds无法追踪所有内容,并且一些日志已被攻击者删除或随着时间的推移被新数据覆盖。他们还想查看公司近100个其他产品是否受到了攻击。(他们只找到了Orion受到攻击的证据)

大约在周日上午中午时分,有关黑客攻击的消息开始泄露。路透社报道称,袭击Mandiant的人还入侵了财政部。然后在东部时间下午5点左右,华盛顿邮报记者艾伦·纳卡什玛发推文称,据信SolarWinds的软件是Mandiant遭受攻击的源头。她补充说,商务部也受到了攻击。这场攻击的严重程度正在逐分钟加剧,但是SolarWinds还需要几个小时才能发布公告。该公司对每个细节都异常关注,一份提交给证券交易委员会的文件要被律师严密审核,以至于SolarWinds CEO汤普森(Thompson)曾开玩笑说,加上一个逗号就要花费2万美元。

那天晚上大约8:30,SolarWinds公司终于发布了一篇博客文章,宣布其Orion软件被入侵,并向客户发送了初步修复方案。接着,Mandiant和微软分别发布了关于后门和黑客在感染网络后的活动的报告。奇怪的是,Mandiant没有将自己标识为Orion的受害者,也没有解释它是如何首次发现后门的。阅读Mandiant的报告,你永远不会知道Orion的后门与其自己五天前宣布的被入侵有任何关系。

周一早上,来自记者、联邦议员、客户以及美国国内外政府机构(包括当选总统乔·拜登的过渡团队)的电话开始不断涌入SolarWinds。公司各个部门的员工都被调动起来回答这些电话,但队列仍然增长到超过19,000个电话。

美国网络安全与基础设施安全局(CISA)想知道是否有研究新冠疫苗的实验室受到攻击。外国政府想知道其辖区内的受害者清单。电力和能源行业组织想知道核设施是否遭到攻击。

各个机构都急于了解他们的网络是否使用了Orion软件,但很多人并不确定。美国网络安全与基础设施安全局(CISA)向联邦机构发布了一项紧急指令,要求他们断开SolarWinds服务器与互联网的连接,并暂停安装任何旨在禁用后门的补丁,直到该安全机构批准为止。该机构指出,他们面对的是一种“有耐心、资源充足且专注”的对手,将其从网络中清除将是“非常复杂和具有挑战性的”。根据了解政府回应的消息来源称,许多遭受攻击的联邦机构在记录网络活动方面非常松懈,这实际上为黑客提供了掩护。该消息来源称,政府“无法确定黑客是如何入侵和在网络上走了多远”,而且“非常难以确定他们获取了什么信息”。

值得注意的是,如果受害者的Orion服务器未连接到互联网,Sunburst后门对黑客将无用。幸运的是,出于安全考虑,大多数客户并没有连接它们,据SolarWinds估计,只有20%到30%的Orion服务器在线。将它们连接到互联网的原因之一是将分析数据发送给SolarWinds或获取软件更新。按照标准做法,客户应该将服务器配置为只与SolarWinds通信,但许多受害者没有这样做,包括Mandiant和Microsoft。根据时任美国网络安全与基础设施安全局负责人克里斯·克雷布斯的说法,美国国土安全部和其他政府机构甚至没有将它们放在防火墙后面隔离。SolarWinds的安全主管布朗指出,黑客很可能事先就知道哪些服务器被错误配置了。

但事件很快就变得清晰,尽管攻击者感染了成千上万台服务器,但他们只深入了其中一小部分网络,大约100个。主要目标似乎是网络间谍活动。

攻击者小心地处理他们的目标。一旦Sunburst后门感染了受害者的Orion服务器,它就会保持不活动状态12至14天以避免被发现。只有在此之后,它才会开始将有关受感染系统的信息发送到攻击者的命令控制服务器。如果攻击者对受感染的受害者不感兴趣,他们可以禁用Sunburst并继续前进。但是,如果他们看到了喜欢的东西,他们会安装第二个后门,后来被称为Teardrop。从那时起,他们使用Teardrop而不是Sunburst。SolarWinds软件的控制对攻击者来说是很珍贵,他们用来嵌入后门的技术也是独特的,他们可能想在未来再次使用它。但是,他们越多次使用Sunburst后门,就越冒着暴露他们已经入侵SolarWinds的风险。

通过使用Teardrop,黑客窃取了账户凭据以获得访问更敏感的系统和电子邮件的权限。受到Teardrop攻击的100多个受害者中,许多是先进技术公司,例如提供云安全电子邮件系统的Mimecast或杀毒软件公司 MalwareBytes。其他受害者包括政府机构、国防承包商以及从事国家安全问题研究的智库。入侵者甚至访问了微软的源代码,但微软表示他们没有对源代码进行修改。

非议

受害者可能犯了一些错误,但没有人忘记漏洞的起源。人们对SolarWinds 的愤怒迅速升级。一位前员工向记者声称,他在2017年警告过 SolarWinds 的高管,称他们对安全问题的疏忽不可避免地导致了漏洞。一位研究人员透露,在2018年,有人鲁莽地在一个公共的 GitHub 账户中发布了一个SolarWinds内部网页的密码,该网页是用于存储SolarWinds软件更新的临时页面。研究人员称,恶意行为者可以使用该密码将恶意文件上传到更新页面(尽管这不会导致Orion软件本身被入侵,并且SolarWinds表示,这个密码错误并非真正的威胁)。更糟糕的是,该公司的两家主要投资者,拥有约75% SolarWinds股份并持有六个董事会席位的公司,在漏洞消息公布的前六天即12月7日出售了3.15亿美元的股票,这引发了美国证券交易委员会的调查,以确定他们是否提前知道这次的漏洞。

政府官员威胁要取消与SolarWinds的合同;立法者正在讨论将该公司的高管召集到听证会上。该公司聘请了CISA的前负责人克里斯·克雷布斯,他几周前被唐纳德·特朗普总统解雇,以帮助应对与政府的交流。

与此同时,布朗和他的安全团队面临着大量的工作。被污染的Orion软件是用该公司的数字证书签名的,现在他们必须使其无效。但是,同一证书也被用于签署了公司的许多其他软件产品。因此,工程师们必须重新编译每个受影响的产品的源代码,并用新的证书签署这些新程序。

但他们仍然不知道Orion中的恶意代码来自何方。恶意代码可能潜伏在他们的服务器上,并且可以嵌入任何正在编译的程序中的后门。因此,他们放弃了旧的编译过程,采用了新的编译过程,以便检查已完成的程序是否包含任何未经授权的代码。布朗表示,他们在如此大的压力下,将重新编译的程序交付给了客户,他在三周内减去了25磅的体重。

在布朗的团队重建公司产品和CrowdStrike试图找出黑客如何进入 SolarWinds的网络时,SolarWinds还聘请了一家带有计算机取证部门的会计师事务所KPMG(毕马威),来解决黑客如何将Sunburst放入Orion的 .dll 文件中的谜团。拥有20多年数字取证经验的大卫·考恩(David Cowen)领导了KPMG的团队。

SolarWinds用来构建其软件的基础设施是庞大的,考恩和他的团队与SolarWinds的工程师一起在假期期间努力解决这个谜题。最终,在1月5日,他打电话给DLA Piper律师事务所的普莱斯科(Plesco)律师。一个SolarWinds工程师发现了一些重要的东西:大约一年前曾活跃过的一个旧虚拟机的遗物。这个虚拟机是一组软件应用程序,可以取代物理计算机,它曾经在2020年用于构建Orion软件。这是他们所需要的关键拼图。

数字调查取证通常是一个碰运气的事。如果自入侵开始以来时间过长,黑客活动的痕迹可能会消失。但有时数字取证专家的运气很好,一些应该消失的证据仍然留存了下来。

为了构建Orion程序,SolarWinds使用了一个名为TeamCity的软件构建管理工具,它像管弦乐指挥一样将源代码转换为软件。TeamCity会启动虚拟机(在这种情况下大约有100个)来完成它的工作。通常,虚拟机是短暂存在的,只存在于编译软件所需的时间内。但是,如果构建过程的某个部分因某种原因失败,TeamCity会创建一个“内存转储”快照在发生故障的虚拟机中。该快照包含故障发生时虚拟机的所有内容。这正是在2020年2月的软件构建中发生的事情。通常,SolarWinds工程师会在后续的清理过程中删除这些快照。但由于某种原因,他们没有删除这个快照。如果不是因为它不可思议的存在,Cowen说,“我们将一无所获”。

在快照中,调查人员发现了一份存在于虚拟机中的恶意文件。调查人员称其为“Sunspot”。这个文件有3500行代码,但这些代码成为了了解一切的关键。

大约是在1月5日晚上9点左右,科文将文件发送给了CrowdStrike的迈耶斯。CrowdStrike团队与科文和普莱斯科进行了Zoom视频通话,迈耶斯将Sunspot文件放入反编译器,并共享了他的屏幕。当代码滚动下来,它的奥秘慢慢被揭示时,每个人都变得安静了。这个微小的文件,本应该消失不见,却负责将后门注入到Orion代码中,并允许黑客绕过美国一些保护最完善的网络安全防御。

现在,调查人员可以追踪与Sunspot相关的任何活动。他们发现黑客在2月19日或20日将其植入了软件构建服务器。它一直潜伏在那里,直到3月份,当SolarWinds的开发人员通过TeamCity开始构建Orion软件更新并创建了一组虚拟机时。黑客不知道哪个虚拟机将编译Orion .dll代码,因此设计了一个工具将Sunspot部署到每个虚拟机中。

此时,黑客攻击的美妙和简洁真正显露出来。一旦.dll文件出现在虚拟机上,Sunspot就会快速自动地将该合法文件重命名,并将其原始名称赋予黑客的恶意.dll副本。后者几乎是合法文件的精确复制品,除了它包含Sunburst。构建系统随后获取了黑客的.dll文件并将其编译到Orion软件更新中。整个操作只需要几秒钟。

一旦编译了恶意.dll文件,Sunspot就会将原始名称恢复到合法的Orion文件上,然后从所有虚拟机中删除自身。然而,它在构建服务器上保留了几个月,以便在下两次构建Orion时重复这个过程。但是在6月4日,黑客突然关闭了他们操作的这个部分,从构建服务器中删除了Sunspot并抹掉了他们的许多痕迹。

Cowen、Meyers和其他人不禁停下来欣赏这种技艺。他们从未见过软件构建过程被破坏的情况。Plesco称攻击是“简单纯粹优雅”的。但接着他们意识到了另一件事情:几乎世界上所有其他的软件制造商都是脆弱的。很少有内置防御措施来防止这种类型的攻击。就他们所知,黑客可能已经渗透了其他流行的软件产品。“这是我们所有人都感到恐惧的时刻”,Plesco说。

政府

第二天,也就是1月6日,国会山发生暴动的同一天,Plesco和Cowen 与FBI进行了电话会议,向他们介绍了令人心悸的发现。Plesco说,反应是明显的。“如果你能感觉到好像有下巴的掉落声,我想那就是正在发生的事情。”

一天后,他们向NSA进行了介绍。一开始,视频通话中只有两个来自该机构的人,他们的身份被隐藏,只有电话号码。但是,随着调查人员传达了Sunspot是如何破坏Orion的构建过程,Plesco说,屏幕上出现了十多个电话号码,因为他们所发现的相关内容在NSA中扩散开来。

但NSA即将遭受另一个打击。几天后,该机构的成员与国土安全部和司法部的50到100名工作人员举行了一次会议,讨论SolarWinds黑客攻击事件。会议上的人们对一件事感到困惑:“为什么当事情一直进展顺利时,攻击者突然于6月4日将Sunspot从构建环境中移除?”。

FBI一位参会者的回答震惊了所有人。

这位男子很平静地透露,在2020年春季,该机构的人员发现了一些来自运行Orion的服务器的异常流量,并联系了SolarWinds讨论此事。这位男子猜测,当时正在监视SolarWinds电子邮件账户的攻击者感受到了问题的严重性,并删除了Sunspot,因为他们担心该公司即将发现它。

据一位电话会议参与者透露,NSA和CISA的来电者突然变得愤怒,因为他们第一次得知司法部几个月前就已经发现了黑客攻击。这位与会者回忆说,那位FBI的人说得好像没什么大不了似的。司法部告诉WIRED,已经早就通知了CISA发生的攻击事件,但至少在电话会议上,一些CISA的人似乎对在场的其他人半年之前,司法部就已经接近发现攻击真相一事而感到惊讶。NSA的一名官员告诉WIRED,该机构确实“感到沮丧”,得知了在1月份通话中通报了攻击事件。对于那些不知道司法部遭遇黑客攻击的与会者和其他人来说,这尤其令人惊讶。因为据消息人士透露,在入侵后的几个月里,人们一直在密闭的门后“惊恐万状”,感觉到一场重大的外国间谍行动正在进行中;如果各个机构之间的沟通良好,可能会帮助更早地发现它。

拥有司法调查知识的人说,司法部以及微软和Mandiant公司推断,攻击者感染司法部的服务器是孤立的攻击事件。而在6月和7月的调查期间,Mandiant是不知不觉地下载并安装了被污染的Orion软件版本到自己的网络中。(CISA拒绝对此事发表评论)

黑客

在2021年1月发现Sunspot代码后,调查工作被推动到了一个新的高度。了解攻击者何时在构建服务器上投放了Sunspot代码,使梅耶斯和他的团队能够从那个时间点开始追踪攻击者的活动,巩固了梅耶斯对此次攻击的直觉。

他们在2015年攻击了美国民主党全国委员会。但是,他们往往会表现得很嘈杂和咄咄逼人,公开泄露了从民主党全国委员会和希拉里·克林顿总统竞选团队窃取的信息,而这些黑客则更为灵巧和低调。不同的安全公司给这个组织起了不同的名字(如APT29、Cozy Bear、The Dukes),攻击者以在网络中潜伏数月或数年而不被发现而出名。Glyer表示,这个组织在2014年至2016年间非常活跃,但随后似乎消失了。现在他明白,他们利用这段时间重新制定了策略并开发了新技术,其中一些技术被用于SolarWinds攻击中。

调查人员发现,入侵者最初是在2019年1月30日使用了一名SolarWinds员工的VPN账户,比Orion代码被攻击的时间早了整整一年。第二天,他们返回并窃取了129个SolarWinds各种软件产品的源代码仓库,并获取了客户信息,可能是为了查看哪些用户使用了哪些产品。Plesco表示,他们“知道去哪里,知道自己在做什么”。

黑客很可能通过研究源代码和客户数据来选择他们的目标。Orion是完美的选择。作为SolarWinds产品的王冠明珠,它约占公司收入的45%,并在客户网络中占据了特权位置,它与许多其他服务器连接和通信。黑客可以劫持这些连接,跳到其他系统而不引起怀疑。

一旦他们获得了源代码,黑客就从SolarWinds网络中消失了,直到3月12日,他们返回并访问了软件构建环境。然后他们悄悄消失了六个月,在此期间,他们可能搭建了软件构建环境的副本,以设计和实践他们的攻击。因为当他们于2019年9月4日返回时,他们的行动显示出专业技能。构建环境非常复杂,以至于新招聘的工程师可能需要数月才能熟练掌握它,但黑客却非常灵活地操作它。他们还非常熟悉Orion代码,以至于他们创建的后门.dll文件在风格上与合法的SolarWinds文件无法区分。他们甚至改进了它的代码,使它更加清晰高效。他们的工作非常出色,以至于调查人员怀疑是否有内部人员帮助了黑客,尽管他们从未找到证据证明这一点。

黑客们在回归不久之后,将无害的测试代码注入了Orion软件更新中,目的只是为了测试他们是否能够完成操作并不被注意。然后他们坐下来等待。(SolarWinds计划在大约五个月后发布其下一个Orion软件更新)在此期间,他们监视了关键高管和安全人员的电子邮件帐户,以寻找任何迹象表明他们已经被发现。然后,在2020年2月,他们将Sunspot部署到了目标位置。

在深入调查时,入侵者在11月26日最后一次登录SolarWinds的VPN。黑客继续监视SolarWinds的电子邮件帐户,直到12月12日,也就是凯文·曼迪亚向凯文·汤普森报告后门的那一天。自他们入侵SolarWinds以来已经过去了将近两年时间。

遗产

Volexity首席执行官STEVEN ADAIR表示,2019年他的团队偶然在一个智囊团的网络中发现了攻击者,这纯粹是运气。当他们最终证实SolarWinds是入侵的源头时,他们感到很自豪。但ADAIR不禁为自己早些时候没有停止攻击而感到遗憾。“我们离成功如此之近”,他说。

Mandiant的卡马卡尔认为,如果黑客没有入侵他的雇主,这个行动可能会在更长时间内不被发现。最终,他称SolarWinds黑客攻击活动为“一项代价高昂但成果微乎其微的行动”,至少在对Mandiant的影响方面是这样。“我相信我们比黑客预期的更早发现了他们”,他说,“他们显然对我们揭露这一点感到震惊……然后发现了SolarWinds的供应链攻击”。

但考虑到公众对更广泛的黑客攻击活动了解甚少,对于该行动成功与否的结论可能还为时过早。

美国政府对黑客在其网络中所做的事情一直保持着相当沉默。新闻报道揭示了黑客窃取了电子邮件,但失去了多少信件或信件内容是什么从未被披露。黑客可能窃取了更多的内容。从瞄准国土安全部、能源部和司法部,他们可能合法地访问高度敏感的信息,可能包括针对俄罗斯的制裁计划的详细信息、美国核设施和武器储备、选举系统的安全性和其他关键基础设施的信息。从联邦法院的电子案卷系统中,他们可能盗取了密封的文件,包括起诉书、窃听令和其他不公开的材料。鉴于一位消息人士指出政府计算机的日志记录缺陷,政府可能仍然没有全面了解被窃取的数据。从技术公司和安全公司中,他们可能窃取了有关软件漏洞的情报。

更令人担忧的是:黑客关注的约100个实体中,还包括其他制造广泛使用软件产品的公司。其中任何一个都有可能成为另一次类似规模的供应链攻击的载体,针对这些公司的客户。但这些其他公司中很少有公司透露黑客在其网络中做了什么,如果他们做了什么的话。为什么他们没有像Mandiant和SolarWinds那样公开披露?是为了保护他们的声誉,还是政府要求他们为国家安全而保持沉默?Carmakal坚信,SolarWinds的黑客旨在破坏其他软件,并且他最近在与媒体的通话中表示,他的团队看到黑客在一些其他科技公司的源代码和构建环境中到处探寻。

此外,微软的John Lambert表示,根据攻击者的技术手段,他怀疑SolarWinds行动并不是他们第一次进行的供应链攻击。一些人甚至怀疑,SolarWinds本身是通过另一家公司受感染的软件被攻破的。SolarWinds仍然不知道黑客是如何首次进入其网络的,或者2019年1月是否是他们的第一次攻击,因为该公司的日志不足以确定攻击真相。

前CISA负责人克雷布斯谴责缺乏透明度。他说:“这不是黑客组织的一次性攻击,这是一个更广泛的全球监听基础设施和框架,而Orion平台只是其中的一部分,肯定还有其他公司被牵涉其中”。然而,他也无法给出具体的情报。

克雷布斯为政府网络遭到入侵事件负责,并承认此事件发生在他的任期内。他说:“在这件事发生时,我是CISA的负责人。很多掌握权力和责任的人都要承担起没有发现此事的重任”。他批评国土安全部和其他机构没有将他们的Orion服务器放在防火墙后面隔离。但是,就检测和阻止更广泛的攻击活动而言,他指出“CISA真的是最后的防线...许多其他层面都已经失败了”。

政府已经试图通过总统令、指南、倡议和其他增强安全的行动来解决另一次类似Orion攻击的风险。但这些措施可能需要数年时间才能产生影响。2021年,拜登总统发布了一项行政命令,呼吁国土安全部设立一个网络安全审查委员会,全面评估威胁国家安全的“网络事件”。其首要任务是调查SolarWinds行动。但在2022年,该委员会将重点放在另一个主题上,其第二次调查也不会涉及SolarWinds。有人提出,政府希望避免对这次行动进行深入评估,因为这可能会揭示行业和政府在防止或更早检测到攻击方面的失败。

“SolarWinds是美国历史上对联邦政府的最大入侵事件,然而联邦政府竟然没有提供任何出了什么问题的报告,这是不可原谅的,也是无法解释的”,美国众议员里奇·托雷斯(Ritchie Torres)说道。在2021年,他曾担任众议院国土安全委员会的副主席。

在最近的一次会议上,CISA和美国的网络空间任务部队(Cyber National Mission Force,网络司令部的一个部门)公布了有关他们对此次攻击事件响应的新细节。他们表示,在调查人员确认Mandiant的Orion服务器是该公司遭受攻击的源头之后,他们从Mandiant的服务器中获得了详细信息,使他们能够追踪攻击者。这两个政府团队还意味着,他们甚至反向入侵了攻击者的系统。调查人员能够收集到攻击者的18个恶意软件样本,这对于在感染的网络中寻找攻击者的存在非常有用。

CISA的网络安全主管埃里克·戈德斯坦在与会者面前表示,这些团队有信心已经完全清除了攻击者对美国政府网络的入侵。

然而,了解政府应对此次攻击的消息人士表示,要想确信已经清除了入侵者几乎是不可能的。该消息人士还表示,普遍的担忧是黑客可能仍然隐藏在这些网络中,等待利用这种访问权限破坏美国的时机,并进一步加强他们的攻击行动。

与此同时,软件供应链攻击变得越来越令人担忧。最近的一份报告发现,在过去三年中,此类攻击增长了超过700%。

声明:本文来自赛博攻防悟道,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。