黑客的潘多拉魔盒——美国大断网·续
2017年5月,美国联邦调查局FBI历经大半年,抓捕了三个酷爱日本动漫的宅男。
当然,不是普通宅男,而是技术宅。他们为了打游戏开挂,研发出网络世界最具威胁的武器——僵尸网络 Mirai,曾造成大半个美国断网,整个互联网世界为之一颤。(前篇详见:《黑客的滑铁卢——美国大断网纪实》)
案件侦破,事情本该告一段落。然而,他们却在被捕前把Mirai僵尸网络的代码在网上公开。就像电影里演的那样,坏人在最后一刻打破装满生化病毒的试管,为电影续集埋了个梗。
至今,任何人都可以随意下载使用 Mirai 僵尸网络,掀起一场僵尸狂潮。甚至网上原本被扑灭的病毒已经被大肆改造,演化出了上百种不同的僵尸网络…………本文也就此展开。
(一)僵尸“觉醒”
2017年12月初的某个午夜,昏暗的房间回荡着老王的鼾声。地上摆着一只路由器,上面的指示灯像萤火虫,随着鼾声一闪,一闪。忽然,几个指示灯齐刷刷连眨了几秒。一小段脉冲信号从路由器背后蹿进网线,以闪电般的速度穿行在城市的光缆中,不到一秒,竟已飞到地球另一端。
另一端连着一台笔记本电脑,屏幕前的少年喝了口咖啡,扬起嘴角微笑,他知道自己的网络蠕虫已经起作用了。此时,他手里的这台电脑连接着上万台路由器设备,这些设备来自全球各地,老王家的那台是其中之一。
那头,鼾声仍在持续,熟睡中的老王并不知道,自家路由器已成了「僵尸路由器」。看似并无异样的硬件指示灯,实则已经变成血红的双眼,贪婪地寻找下一个感染目标。
不懂技术的老王永远也不会相信,只要地球另一端的某个人敲一串代码,就能让全世界上万台路由器齐刷刷地向网络世界里的任一目标发起攻击,甚至能让一个中型城市网络瘫痪。
太阳缓缓爬上地平线,老王们起床开始新的一天,谁也不知道昨晚发生过什么,一切照旧。
那一晚,究竟发生了什么?还得下面这份数据说起:
360网络安全研究院的李丰沛被这数据惊呆:这次的僵尸网络仅用12小时就俘虏了全球二十多万台设备。
他自认研究僵尸网络已有相当长一段时间,也很少见到哪个能达到这么罕见的增速。望着陡升的数据陷入沉思,李丰沛断定,一定发生了什么。
很快,实验室用蜜罐捕获到的僵尸网络样本,分析出结果:
这次僵尸网络代号:Satori,和之前出现过的 Okiru 僵尸网络非常相似,有技术证据表明,它们都是 Mirai 僵尸网络的变种。
几小时后,中国某大型路由器厂商上了新闻头条:大量设备存在0day漏洞(之前从未发现的漏洞),已被僵尸网络利用。
原来,这次僵尸网络对某国产路由器的漏洞进行了针对性攻击,由于这款路由器销量太好,直接为 Satori 提供了扩张土壤。
至于具体是哪款路由器,你猜。
(二)不死之身
毫无疑问,僵尸网络这玩意是不死之身,因为一旦某种僵尸网络被封锁或者干掉,只要有人愿意将它稍作改造,换个马甲又能重出江湖。凡有名利可图,就有人前仆后继,哪怕名利都没有,为了装X也有人愿意干。
于是,僵尸网络就像现实世界的流感病毒,从H1N1到H9N9那样,几个数字的排列组合愣是能凑出九九八十一难。一旦被灭,把技术参数一改再放出来,又是一条好汉。
文章开头说到的 Satori 就是这样,由于玩得太猛, 赚足回头率时也引起广大网络安全从业者的注意,结果惨遭网络端口封堵,扩张之势被控制。作者只好又给它穿了条马甲,卷土重来。
2017年年底,360 NetLab 研究人员捕捉到 Satori的变种,一种专门偷数字货币的僵尸网络:Satori Coin Robber,我建议翻译成“撸币者”。
为啥?因为它太猥琐,“撸”字比较搭。它专黑别人的数字货币挖矿机,然后把钱包地址改成自己的。这就好比有人把街边煎饼摊子上的收款二维码偷摸换成自己的—— 矿工们花血本买挖矿机,掏电费,挖出来的矿却进了别人口袋,辛苦大半年,仍在解放前。
类似变种没完没了,就像感冒病毒一样永远无法彻底扑灭。按照李丰沛的说法,光是Mirai 的变种样本,360网络安全研究院就已经捕捉到数百种。
那,僵尸网络问题永远无法解决?目前看来,是。现在最好的办法就是现实世界抓肉身,抓到一个,扔进去捡肥皂,以此处罚犯罪者,震慑其他人。
于是,在追踪大戏里,安全人员会长期和僵尸网络背后的黑手陷入一种诡异的“相爱相杀”。360网络安全研究院有一次甚至捕捉到一个 Mirai 变种,发现代码里有一段表白:“iloveyouthreesixty”(我爱你 360)。
(这是病毒的代码截图,360 网络安全研究院院长宫一鸣首发在自己的微博 @宫一鸣cn 里)
或许,这就是宿敌的惺惺相惜,虽然道不同,但是单从技术水平上,我敬你是条汉子。洪七公和欧阳锋,X博士和万磁王,蝙蝠侠和小丑都大抵如此。
甚至,僵尸网络的 Satori 的作者还主动在社交媒体上,和各大网络安全公司、媒体互动。
(三)挑衅 or 自投罗网?
2018年1月17日,@360NetLab 在 Twitter上发布了一篇关于 Satori 变种“撸币者”的技术分析报告,里头提到 Satori 的作者在僵尸网络样本中留了一段话,还附了个联系方式。
“我是 Satori的作者,看到这条消息不要惊慌,这次变种里没有什么恶意攻击的功能,如果你有什么问题,请联系邮箱xxxx@xxxx.xxx(真实邮箱)”
第二天,360NetLab 的账号收到一个推文的@信息,有个网友抱怨:
“都怪你们暴露我的邮箱,现在记者都找上门问我怎么回事了!”
推文附了一张图,显示一个疑似 PC Magzine 的外国记者看到360报告里的邮箱,飞快跑来询问僵尸网络的具体情况。
(点击可查看大图)
李丰沛分析发现,这个 Twitter 用户说话风格、图片中的邮箱地址和僵尸网络中留下的信息都符合,大概率就是Satori 作者本人。
翻看了一下他的以往发布记录,发现他还怼过不少国外网络安全研究者和媒体。比如,有个安全研究者发布了一篇大意是“如何区分Satori和Okiru两种僵尸网络”,结果他直接在评论区开骂:
“玛德智障(Fuckingnumb skull),Satori 就是 Okiru,Okiru就是 Satori ,他们发现的是老子4个月以前做的版本!”
总之,这个僵尸网络对搜查他的人不屑一顾,根本不怕行踪暴露,一副“就喜欢你看我不爽又弄不死我”的样子。又或者,他们就像是涉世未深的孩子,思想不复杂,却又有自己的一套想法,手里捏着导弹发射器,根本不明白这个武器意味的什么,能让自己蹲几年。
安全研究人员经常拿他们没办法,很难抓到活人,大多数时候只能被动封锁,怎么办?有人想出一招以毒攻毒的方法。
(三)僵尸网络也以毒攻毒
2018年1月25日,国外研究人员发现新型僵尸网络“捉迷藏”(HNS)增速迅猛,十几天内从12台扩充至1.4万台,算起来增长了1000多倍。主要针对 IP 摄像机。
本以为又是一个 Mirai 变种,但人们很快发现,它根本不具备任何攻击性!只是单纯的黑进你的设备,啥也不干,既不驱使僵尸大军们发动DDoS攻击,也不对设备进行损坏,并且重启之后会自动消失。
?????
抓了这么多肉鸡,不用来发动攻击,究竟是为了什么?
有人猜测,或许目前还处在技术测试阶段,所以没来得及加入攻击特性;也有人认为,他们想用“善意”的僵尸网络来以毒攻毒。
说到这里,不得不提另一个更出名的僵尸网络,Hajime,它特别喜欢黑中国的摄像头设备,肉鸡数量曾一度超过引起美国大断网的Mirai 僵尸网络。但是,它也不具有任何攻击性,还会专门回避国防部等敏感机构的特定网络。
每隔10分钟,Hajime向被感染的设备推送一个消息:
“我们是保护系统的白帽子,通过此方法展示重要信息。”
不仅不搞破坏,还帮用户把一些其他恶意僵尸网络常用的端口关闭,防止设备被其他恶意僵尸网络感染。就像是有人发明了一种病毒,感染之后不仅不会发烧流鼻涕,还能让你强身健体,面色红润,帮你抵御其他恶性病毒。
尽管 Hajime 的行为看着很暖心,也有人指出问题—— ,倘若哪天它的作者改一改代码,原本“行善”的僵尸网络立马就变成一个大杀器。毕竟,人心会变。即便作者自己不这么做,万一他的电脑被其他黑客黑吃黑,强行接管控制权发动兵变怎么办?按照墨菲定律:一件事若有可能变坏,它就一定会发生。
于是,有人把事情做得更绝 —— 既然怕善意僵尸网络反戈,那我就直接把设备废了,谁也别想控制!
BrickBot 僵尸网络就是这么干的。
(四) BrickBot 僵尸网络:互联网化疗
BrickBot僵尸网络首次出现在2016年,它最大的特点是,黑掉一个设备之后,直接把系统文件删掉,让设备彻底起不来,俗称“变砖”。
作者显然不是奔着钱来的,设备直接变砖,他无从获利。尽管如此,它还是活跃了一整年。
有人说,作者希望通过这种极端手段,让用户意识到它的设备有安全问题,最终给设备打上补丁,升级到一个比较安全的版本。
2017年12月底,360NetLab 李丰沛在网络发现 BrickBot 僵尸网络的源代码泄露了,并且就是原作者泄露的。这个作者准备撒手不干了。他在网上洋洋洒洒留了一篇长达320行的隐退感言。
我翻译了一些片段,或许我们能通过这些感受到他的心路历程,至于对错,自在人心。文章略长,需要些耐心:
“互联网化疗”是我写的项目,也就是大家所说的BrickBot。
这几年,网络上有太多脆弱的设备节点被黑客利用,沦为大规模 DDoS攻击武器。于是,2015年我就开始搭建一个不具破坏性的僵尸网络项目,试图帮人们清理那些用于DDoS攻击的恶意僵尸网络。
但是,我发现坏人太多,并且越来越老练,自己有些捉襟见肘。
真正下定决心让用户的设备变砖,是在2016年,那是一个艰难的决定。当时某大型设备厂商曝出重大弱口令漏洞,成千上万用户成为黑客眼里的肥肉,眼看着大量就要设备即将沦陷,我决定直接毁掉这些潜在的网络攻击武器。那一刻,我义无反顾。
2016年11月,德国电信大断网,我干的;
2017年1月,美国华盛顿特区,国会附近的一部分摄像头变砖,那也是我干的;
2017年3月,我发现两组设备不太安全,将影响机场和其它重要的基础设施,比如核武器的安全。结果一个月后,美国国土安全部(DHS)专门发了一个针对该言论的警告我,讲真,这真让我心寒。
2017年夏天,我在印度搞了个事,上了头条,考虑到中国和印度的地缘关系有点紧张,所以借助媒体发了个声,表明这是我个人干的,不要引起中国和印度的矛盾。
8月,我发现海康威视有一个未公开漏洞(0day),吓坏了。对于这种设备数量极多的产品来说,每个0day漏洞都可能带伴随一次大灾难。上一次互联网大灾难造成美国大断网,下一次的大灾难离我们多远?依我看,也就一两个 0day 的距离。
那一次,我花了差不多三周把海康和大华约 100万个摄像头弄失效了,大华和海康因此还发了公告,最终整个设备进行了固件升级。我还专门在网上发文详细描述这件事,希望给厂商修复问题一些技术参考。
总之,在这13个月里,我至少阻止了超过1000万台脆弱设备沦为恶意僵尸网络,如果不是我,互联网毁灭性事件很可能发生在2017。
但是,我破坏掉脆弱的设备,只是权宜之计。
我发现,很多情况下,设备的安全问题都是些低级错误,比如把不该暴露的端口暴露在网上等等,这说明设备生产厂商和供应链和消费者都不够重视基础网络安全。勿以恶小而为之,否则千里之堤也将溃于蚁穴!只要设备安全问题一天得不到重视,未来就会有越来越多易受攻击的设备出现,越来越多暴露在不安全环境下的端口出现。
而我,我只是想尽绵薄之力,延迟这一天的到来。。。 。。。
在这篇文章里,作者用“互联网化疗”来指代自己的僵尸网络,说明他觉得这是一种“治疗”手段,是正义的,只是有些极端,就像化疗一样,好细胞坏细胞一律杀死,宁杀一千不放过一个。
虽然里头有一些疑似吹牛逼的事,比如德国大断网已经查明是另一个人干的,里面提到的设备数量级也被360的李丰沛质疑有夸大成分。但无论如何,他似乎饱含着秉持正义的心态,这让他宁愿冒着吃牢饭的风险,也要做这件对自己个人毫无好处的事。
然而, BrickBot 把别人的设备变砖时,他有问过那些人吗?得到别人的同意吗?别人又为何需要他来主持正义?
惩恶扬善的事自古大快人心,可自以为是的正义,有时可能比邪恶更可怕。金庸笔下诛灭魔教的灭绝师太,《白蛇传》里伏妖降魔的法海,《三体·3》里圣母仁心却先毁掉地球后毁掉宇宙的程心,皆是如此。谁对,谁错,谁来裁决?
(尾声)
即将完稿时,我又在网上看到新僵尸网络变种的消息,我猜李丰沛这几天又捕获到不少样本。
从 Mirai 开始,黑客的潘多拉盒子已经打开。 或许未来,僵尸网络真的像感冒病毒一样寻常,所有设备暴露在它们的威胁之中,任何抵抗力低下者都无法侥幸逃脱。在那样的生态系统里,安全研究者们扮演免疫系统中一部分,每次病毒入侵,他们都用最快的速度检测、响应、联合扑灭。
僵尸网络最终会终结吗?以怎样的方式?作恶者抓完吗?不知道。甚至,千年以后回头看历史长河,说不定会发现僵尸网络反倒推动了整个社会的进步,它用一种略残酷的方式倒逼着人们关注普遍存在的信息安全问题,并淘汰一部分人。
安全问题终究会有,僵尸网络没有了,或许又有别的,人类社会演化了几千万年,依然如此多的社会问题,更何况是诞生短短几十年的网络世界?未来向来充满不确定性,搬个小板凳来,一起坐看吧。