一念Jeff LiWriting · zhipeng.li中文

Sandworm

沙虫

An analyst who had read *Dune* spotted "arrakis02" in a piece of malware and unmasked a nation-state hacking group. From there the story unfolds: Ukraine's two major blackouts and NotPetya spreading through a software update server, then back to The Cuckoo's Egg and Moonlight Maze, on to the NSA suspect behind the Shadow Brokers, the WannaCry kill-switch domain and Hutchins's arrest at the airport, and finally Olympic Destroyer and resilience.

〇、目录

————————————

  • 科幻Dune

  • 月光迷雾

  • ShadowBrokers嫌疑人

  • WannaCry后续和Hutchins其人

  • 冬奥会破坏者

  • Resilience

一、科幻Dune

————————————

对于安全研究、逆向分析来说,文化背景、知识面和想象力有时候会起到意想不到的作用。你们就看TK教主吧,什么话题都能聊个一二三四的。所以他能搞出那么多事情绝非偶然。

2014年某天,还未成为FireEye的一部分的独立公司iSight的安全分析员、科幻小说迷Drew Robinson正在在拆解台湾团队发过来的一个恶意代码,揭开一层层代码混淆的迷雾,一步步跟踪调试,得到一些控制流、字符串的时候,一个熟悉的字串引起了他的注意:“arrakis02”。

如果不是特别喜欢Frank Herbert 1965年科幻巨作《沙丘》Dune的话,很难意识到这个字串有什么特殊的含义。

1990年代很火的游戏Westwood的沙丘和红色警戒在国内也很流行,游戏的故事背景就是这部科幻小说。很期待2021年上映的新拍的Dune电影。1984版的太粗糙了。

在沙丘小说里,Arrakis是一颗沙漠覆盖的星球,沙漠里存在一种巨大的生物,沙虫Sandworm。Dune的整个故事都发生在这个星球上。

顺藤摸瓜揪出组织

Robinson意识到,这个字串可能是一次攻击的行动代号。如果还能找到相关的行动代号的话,也许就能揭示出一个攻击组织,包括他们一系列攻击行动和攻击工具。很快,从已有的恶意代码库如VirusTotal中,他发现了相关字串的一系列恶意代码。这些字串包括:

  • houseatreides94,House Atreides,帝国的主要家族之一,族长拥有公爵的封号。

  • BasharoftheSardaukars,Bashar of the Sardaukars,Sardaukar是小说中的精英部队,Bashar是这个部队中的军衔,相当于上校。

  • SaousaSecundus2,Saousa Secundus,一个已经被毒化不能居住的星球,是皇族Corrino的母星。

  • epsiloneridani0,Epsilon Eridani,一个三个恒星的星系。

凭借这一关联,一个针对北约和乌克兰目标进行广泛、长期和高难度攻击的组织露出了真面目。

这一发现对当时名气还不算太大的iSight意义非凡。公司的老板(现在FireEye的副总裁 )John Hultquist非常兴奋,这是公司一炮而红的机会啊。接下来就是要给这个组织命名,发布一个全面的报告,然后是各种采访和媒体头条。对于命名,Ronbinson的建议是真正沙丘迷的想法:“Bene Gesseit”,这是沙丘世界里的一个神秘的组织,成员都是女性,有强大的心里操控能力。这个听起来这个名字很应景,但是不上口。John Hultquist则给出了一个很直接了当的名字,后来成为了正式的名称:Sandworm。

二、月光迷雾及其它

————————————

乌克兰2015年12月和2016年12月两次大规模断电的事件都是Sandworm干的。

连线杂志的记者Andy Greenberg认为,Sandworm的出现,意味着针对民用基础 设施(比如电网、交通系统、管道、供水等)的攻击开始规模化和国家化。这是一个可怕的趋势。于是他开始持续追踪和记录Sandworm这一攻击组织的攻击破坏事件、技术分析、演变,一直跟踪记录到2019年,以此为书名出版了一本书。

顺便一提,Greenberg在2012年出版的第一本书叫《The machines kill secrets》,国内已有中文译本,译作《机器杀死秘密》,翻译质量奇差无比。书的内容主要是围绕维基解密,写了很多人物和故事,包括密码朋克的创始人Timothy May,PGP的创始人齐默尔曼,l0pht的传奇黑客、现任Twitter安全负责人的Mudge等,当然还有阿桑奇。里面写到的保加利亚泄密网站创始人的故事很有趣。

最近FireEye揭露出的从SolarWinds Orion入手的供应链攻击,让人想起Sandworm这本书中详细写过的那个史上破坏力最强的,2017年6月27从乌克兰开始蔓延的网络病毒Notpetya。那次臭名昭著的攻击最初的手法和这次很像,是通过渗透乌克兰的财务软件开发商Linkos Group的更新服务器,以软件更新的方式进入了数千台使用了这个软件的电脑,然后向乌克兰的银行,电信公司,乃至全世界扩散。

当时的调查发现Linkos Group的服务器已经被渗透数月时间,留有一个Web Shell。而且在更早的半年多之前,还有另外一次渗透,留下了另外一个Web Shell。这段故事在36kr上有翻译https://36kr.com/p/1722797670401

历史上的著名攻击

书中闪回了历史上著名的一些攻击事件。

最早一起是1986年的劳伦斯伯克利国家实验室遭入侵的事件。这比莫里斯蠕虫事件还早两年。当时的实验室的管理员Cliff Stoll发现有75美分的上网费对不上账,开始步步追踪,设置蜜罐Honey Pot诱骗,最终抓到了黑客。黑客自称Hunter,来自西德,是东德的间谍,情报最终卖给了克格勃KGB。入侵者最终被判刑,其中一位出狱后莫名其妙死在郊外的树林里,是被烧死的。Cliff Stoll在他1989年出版《The Cuckoo’s Egg》一书中写了整件事。

Cliff Stoll是个疯狂科学家,连线杂志有一篇报道写他的故事。https://www.wired.com/story/meet-the-mad-scientist-who-wrote-the-book-on-how-to-hunt-hackers/

最早的国家支持的大规模网络入侵行动,称为“月光迷雾”,始于1996年10月。当时美国海军,空军,NASA等部门陆续发现被入侵,入侵者窃取了大量资料,这些资料打印出来的话有三个华盛顿纪念碑那么高。

用打印出来有多高来比拟资料之多,是上个世纪的说法了。如果曼宁和斯诺登拿走的资料也打印出来的话,恐怕十个八个华盛顿纪念碑都不是个儿。

FireEye现在的CEO Kevin Mandia当时通过反向工程查到了入侵代码中的俄文。1999年,FBI通过外交手段去莫斯科调查,取得了证据,俄罗斯方面负责接待的将军承认是他们的情报部门所为,但很快不了了之,这位将军再也没有见到过。攻击暂停两个月后又继续。同年,美国国防部成立了计算机网络防御联合工作组。

三、ShadowBrokers的嫌疑人

————————————

Sandworm一书还讲了很多好玩的事,比如ShadowBrokers的嫌疑人。

2016到2017年,一个神秘人物ShadowBrokers在Twitter上发布了从NSA泄漏出来的“方程式”组织的网络攻击军火库。史上最牛的震网病毒Stuxnet和火焰Flame的就是这个组织的作品。Stuxnet早在2009年之前的几年就潜入伊朗,悄无声息地破坏了伊朗浓缩铀项目中的几百台离心机,使伊朗浓缩铀项目大为受挫。卡巴斯基发现Stuxnet之后把作者命名为方程式组织,其实就是NSA的TAO(Tailored Access Operations)团队,应该算是美国黑客的国家队了吧。后来的WannaCry和Notpetya都利用了泄漏的NSA军火库里的技术,而这两个肆虐互联网的大魔头蠕虫,就技术水平来说,比起Stuxne水平差着十个Lazarus。

前面说过,Sandworm第一次攻击乌克兰,导致2015年12月乌克兰全国大面积断电。美国对这种事情事实上早有防备。早在2007年,美国爱达荷国家实验室里就进行了一场实验。他们从阿拉斯加油田花了30万美元买回一台巨大的燃油发电机,Mike Assante用一个140K的程序,通过网络远程破坏了发电机上的继电保护器,导致公共汽车一样大的燃油发电机在几分钟之内不可修复性的严重损坏。几乎同一个时期或者更早一点,为Stuxnet攻击伊朗核设施做准备的实验也秘密在这个实验室展开。有一本书是专门讲Stuxnet的,叫《Countdown to Zero Day》,副标题是Stuxnet and the Launch of the World’s First Digital Weapon,震网和世界首个数字化武器的发射。

两位NSA嫌疑人

说回ShadowBrokers的嫌疑人。

最被怀疑与ShadowBrokers有关的是67岁的NSA的TAO团队的开发者Nghia Hoang Pho。据后来的法庭陈述,这位老程序员因为绩效考核分太低,所以把这些机密材料拷贝回家,加班学习,希望能迎头赶上。华尔街日报报道,一个NSA雇员把机密材料违规带回家,而且家里的电脑上愚蠢地安装了Kaspersky杀病毒软件,所以这些机密材料就被上传到Kaspersky公司了。这个雇员说的就是这位老程序员。

Kaspersky当然否认了这个报道。但在几周后,Kaspersky在做了一番内部调查之后承认,曾在2014年得到过NSA的黑客工具集,但在了解到这些材料是什么东西之后,就立即把它们删除了。对于这个说法,怎么说呢,“不知道你信不信,反正我是信了。”

另外一个嫌疑人,Hal Martin,也是NSA的TAO组雇员,被指控在2016年从NAS拷贝走了数个TB的机密材料。2016年8月,就在ShadowBrokers第一条泄密Tweet发出前的几个小时,Martin在Twitter上私信Kaspersky的两个研究员,希望见面,据怀疑是想出售这些机密材料。Kaspersky向美国政府举报了Martin,随后Martin的家被突击搜查和并被逮捕。后来ShadowBrokers在Twitter上持续撩拨NSA,陆续放出军火库的时候,Hal Martin已经在监狱里了,所以有人说不会是他。但完全有可能是他泄漏了这些文件,而得到这些文件并在Twitter羞辱NSA的另有其人。

四、WannaCry后续故事

————————————

ShadowBrokers泄漏出的NSA军火库中,有一个针对Windows各个版本SMB服务漏洞的“永恒之蓝”。泄漏之前一个月的2017年3月,微软发布更新,悄悄修补了这个漏洞。是NSA秘密通知的微软,告知了漏洞详情并要求尽快发布补丁修补。因为NSA知道ShadowBrokers手里有这些东西,迟早要泄漏出来。果然,2017年4月,ShadowBrokers发布了一部分网络攻击军火库资料,其中包括这个“永恒之蓝”。

虽然已经有补丁,利用这个漏洞的WannaCry在泄漏2017年5月出来后还是迅速席卷全球,几天之内大约有二三十万台电脑被破坏。

可见大家都不爱安装补丁。而现在,不及时安装补丁的理由更充分了,因为补丁本身可能就是病毒。

意外发现的域名开关

WannaCry爆发的当天,生活在英国,远程为洛杉矶网络安全公司Kryptos Logic工作的时年23岁的安全研究员Marcus Hutchins本来正在休假,知道状况之后,后迅速拿到样本开始研究。他发现病毒代码中有一个奇怪的域名,病毒进行破坏之前会先访问这个域名。

但奇怪的是,这个域名没有注册。Hutchins花了8英镑自己注册了这个域名。他认为这个域名有可能是病毒的控制服务器C2的域名,如果抢到这个域名,虽然一时半会儿还不能控制这个病毒,但至少可以监控到这个病毒的蔓延情况。这一招儿叫做域名沉洞sinkhole。

果不其然,以这个域名搭建起来的沉洞网站立刻收到来自全球各地的数百万的访问。

而且,更神奇的事情发生了,从沉洞网站上线那一刻起,尽管还在继续传播,但WannaCry停止了破坏。

后来的研究发现,这样的域名有好几个。WannaCry的这个设计,可能是一种反侦察手段。恶意代码的分析和研究一般都在虚拟机中进行,而且对恶意代码执行中的各种请求都会给予应答。WannaCry在进行加密和破坏之前,会先访问几个不存在的域名,如果得到应答,就会判断自己可能在虚拟机环境中,正在被研究,于是就不执行加密和破坏的代码,而是悄然退出。

现在回头来看,WannaCry的开关域名和解密密钥分发等机制的设计像还只是半成品,像是还不那么纯熟的Lazarus在设计的过程中不小心放出来的。

发现域名开关避免了互联网上的一场大灾难,Hutchins大功一件,可谓风光无限,一时无两。一年的免费Pizza,记者蜂拥到家门外,媒体采访和报道。这种风光在三个月后拉斯维加斯的黑客大会DEFCON达到了顶峰,在那里Hutchins被奉为英雄,参加了各种VIP聚会,记者请吃晚餐。直到最后一天准备离开拉斯维加斯回英国的时候。

在候机室里,他被FBI抓了。

检方指控是他早几年的时候制作针对银行的恶意软件Kronos。Hutchins的被捕当时就引起轰动。被保释后直到2019年7月,部分由于他在WannaCry事件中的贡献,他终于得到了从轻判决,免于入狱被释放。

书看到这里,我很怀疑他是被FBI招募了。FBI干了好多这样的事,比如在LuzlSec和SilkRoad的事情上。Hutchins被捕不久、情况还不清楚的时候,像我这么想的人不少。包括前NSA黑客Dave Aitel,写了长篇的Blog(https://cybersecpolitics.blogspot.com/2017/08/the-killswitch-story-feels-like-bullshit.html)分析蛛丝马迹,认为Hutchins其实是WannaCry的作者。

然而并不是。

后来Google和Kaspersky发现WannaCry有段后门代码与3年前入侵Sony的北韩黑客组Lazarus所常使用的代码相同。美国司法部在2018年9月发表声明 https://www.justice.gov/opa/pr/north-korean-regime-backed-programmer-charged-conspiracy-conduct-multiple-cyber-attacks-and 指出罪魁祸首就是北韩国家队黑客Lazarus团队。

2020年5月Andy Greenberg采访了Hutchins,在连线杂志上发了一篇报道,详细讲述了Marcus Hutchins的故事。https://www.wired.com/story/confessions-marcus-hutchins-hacker-who-saved-the-internet

Hutchins的成长之路

这位1994年出生年轻黑客,能第一个发现WannaCry的开关域名,挽回一场大灾难,绝非偶然。Hutchins是混血,父亲来自牙买加,从小生活在英国西部海岸附近,是个冲浪高手,很小就得到过几个国家级比赛的奖牌。但他最沉迷的还是电脑。6岁就开始鼓捣父母的电脑,上学以后在校园网上纵横驰骋,被禁止在学校接触电脑和网络。天才大多有童子功的吧,比如Mudge在还是小婴儿的时候,玩具就是磨光了边角的电路板,上小学之前就已经会汇编,会破解游戏了。这样的例子数不胜数。

十五六岁的时候,Hutchins在黑客论坛上已经有高手的名称,自己控制的僵尸网络Botnet有8000个节点之多。于是开始有人联系付费请他编写恶意代码,向他支付比特币。这个恶意代码就是后来的Kronos,一款银行木马。用户在中招的电脑上访问某些网上银行,会被这个木马偷偷转走账号里的钱。

大约20岁左右的时候,Hutchins越来越激烈的思想斗争使他决定远离这个让他有负罪感的营生。

他开始做安全分析,并在自己的博客https://www.malwaretech.com上发表分析结果。他逆向了当时世界上最大的僵尸网络 Kelihos和Necurs的代码和协议,能够监控到这两个僵尸网络活动。因为他自己做过Botnet,所以分析起来驾轻就熟。

这些高能的工作在网络安全领域受到瞩目,洛杉矶的安全公司Kryptos Logic邀请他加入公司。在远程为这个公司工作期间,他参与逆向并实现监控了最大的一些僵尸网络Necurs, Dridex, Emotet等。

这时候,史上最大的Mirai僵尸网络登上舞台。这个凶猛的DDOS巨兽可以驱动TB级的流量,Amazon, Spotify, Netflix, PayPal, 和Reddit这样的大网站都纷纷被击垮。甚至利比亚整个国家的互联网都曾被Mirai击垮。

通过分析Mirai的代码和协议,Hutchins获取到了Mirai僵尸网络的实时动向。他在Twitter上开始实时发布Mirai的攻击目标。在Mirai被用来参与针对英国银行Lloyd进行分布式拒绝服务攻击时,Hutchins通过自己的渠道联系上了主要的控制服务器C2的所有人,好言相劝,以德服人,平息了这次攻击。后来WannaCry爆发时,Hutchins和Krytos Logic搭建的运行在Amazon云服务上沉洞网站还遭受到了来自Mirai僵尸网络的流量轰炸,还是英国政府出面,要求Amazon给予无限制资源支持,并协调Cloudflare来协助抵御攻击。因为沉洞网站一停,马上就会有成千上万的电脑遭殃。

因为有这些工作的经验,所以Hutchins在后来分析WannaCry的时候能第一个发现开关域名。这个阶段的Hutchins,既能做自己喜欢的事情,又做了好事,有成就感,还能获得报酬,心情畅快。

从2017年被捕到2019年判决免于入狱,年轻的Hutchins备受心理折磨。如今,诉讼已经了结,通过连线杂志的访谈文章,26岁的Hutchins进行了全面的公开告解,抛却了心里包袱,开始了人生的新篇章。

五、冬奥会破坏者Olympic Destroyer

————————————

这个病毒在2018年韩国冬奥会开幕式的当晚爆发,破坏了冬奥会全部9台域控服务器,使冬奥会网络陷入瘫痪。

经过连夜修复,第二天上午正式比赛开始前所有的网络和系统才恢复运行。来自美国政府的匿名信息源透露,该恶意软件的始作俑者为俄罗斯。

而卡巴斯基这次又立功了,他们一个十几岁就开始在公司工作的天才逆向工程师发现,该恶意软件的文件头经过了精心修改,以掩饰真正的来源,并试图制造来自北韩Lazarus的假象。

六、Resilience

————————————

沙虫一书的最后,作者描绘了一次攻防演习,是美国DARPA主导的针对电网攻击和防御的红蓝对抗。

作者引用一位专家的话:美国的电网等基础设施,也许攻击起来很难,但是一旦被攻陷了,恢复起来会更难。原因是先进的自动化装置无处不在,运维人员已经很少有人会手工操作了。一旦被破坏,复杂的相互依赖的系统重新运行起来会极其困难。

大概四、五年前,和一位朋友聊天的时候,我问,现在安全届的热点很多,新概念新词汇层出不穷,你认为未来最重要的是什么?时任FireEye副总裁这位朋友回答说:Resilience。这正好是Andy Greenberg这本书最后一章的标题。

记者写的书有意思的地方在于,会讲很多背景,包括地缘政治和相关历史,比如前面提到的保加利亚异议者的故事,乌克兰和俄罗斯几百年来的恩怨,前苏联和俄罗斯的GRU组织的历史和叛逃者的故事等等,与看技术分析文章相比是不一样的有趣。

有空再分享。

Originally published on the WeChat account 网安志异, 2021-01-09 · original

Comments

    No sign-in needed; comments appear right away.