首页
社区
课程
招聘
[原创]说人话之从WannaCry谈勒索软件产业链
2017-5-15 19:44 7376

[原创]说人话之从WannaCry谈勒索软件产业链

2017-5-15 19:44
7376

目录

0x0 前言

0x1 身世——究竟何为勒索软件

0x2 密语——加密数据如何恢复

0x3 江湖——勒索软件产业链条

0x4 解药——勒索软件预防方案

0x5 科普——勒索软件加密逻辑


0x0 前言

(头图来自安天,侵删)

       最近两天,我的朋友圈基本已经被勒索软件霸屏了,结果到了各大网站一看,相关板块基本上也同样被霸屏了,其实15PB对于WannaCry在第一时间已经给予足够的关注了,只不过很多结果都是在业内分享,而且说句公道话,这个WannaCry只不过就是“胆子大、路子野”,使用的技术从各个方面来说都不是最强的。因此,咱们今天这篇文章的主要目的就是跟各位零基础的同学们科普一下目前勒索软件的产业链,在更深一步的探讨最近这数次大范围信息安全事件的特点。



0x1 身世——究竟何为勒索软件

       2013年08月,一名叫做Slavik的骇客编写了一款名为CryptoLocker的勒索软件,该软件在半年内成功感染了50万台机器,并且有约1.3%的受害者最终选择支付了赎金,粗略估计这名叫做Slavik的骇客至少因此获利超过2700万美元。

       看见没,仅靠勒索就能勒索2700万美元,比拿命去赌的黑帮还要厉害!那么,他是如何实现勒索的呢?我们不妨先看看对于“勒索一词的定义”:

勒索是指以非法占有为目的,对被害人使用威胁或要挟的方法,强行索要公私财物的行为……

       举个例子,某杀毒软件说,你只要安装企鹅,我就不运行,我不运行,你就中毒,你一中毒,你电脑就用不了。因此,安装企鹅就代表你电脑用不了……

       举个例子,某即时通讯说,你只要安装数字,我就不运行,我不运行,你就返祖,你一返祖,你电脑就没用了。因此,安装数字就代表你电脑没用了……

       然后,我看了下《中华人民共和国刑法释义(2006年第3版)》:

法条内容:第二百七十四条 敲诈勒索公私财物,数额较大的,处三年以下有期徒刑、拘役或者管制;数额巨大或者有其他严重情节的。处三年以上十年以下有期徒刑。

       嗯,十年……

       由此可见,如果对方想要勒索你,那么手里就必须要攥住你的小辫子,而勒索软件攥小辫子的方法非常简单,就是将你硬盘下的所有文件全部加密。于是,只要你想解密,就要有密码,只要没密码,那就意味着你电脑里的宝贵数据全部要付诸东流……

       有的同学可能会说,没事,我不怕,数据没了就没了呗,大不了重做系统!但是你要清楚,总有一些人的电脑里是保存有非常非常宝贵的数据的,例如论文、设计稿、源代码、实验记录等,这些都是饱含了某些人数年甚至十余年的研究成果及轨迹的,如果这些数据没了,那就意味着这一切都要从头来过!而愚以为,正是因为绝大多数黑客们对此都能有切身体会,因此勒索软件才会成不了气候,这个问题我们后面再表。

       那么,现在刑侦手段如此之成熟,而且还有金钱上的往来,另外毕竟绝大多数技术高超的大牛们还是站在人民的一边的,难道这些正义的黑客大牛们就不能以“人民的名义”消灭掉这些心理畸形且道德败坏的骇客们吗?

       这个……真的有些困难,我们接下来就要谈论这个问题。



0x2 密语——加密数据如何恢复

       2013年08月,一名叫做Slavik的骇客编写了一款名为CryptoLocker的勒索软件,该软件在半年内成功感染了50万台机器,并且有约1.3%的受害者最终选择支付了赎金,粗略估计这名叫做Slavik的骇客至少因此获利超过2700万美元。——重要的信息说两遍

       看见没,2700万美元,约合1.8亿人民币,可以买10套北京三环的大三居室,这么巨大的社会成本,难道就没人出头给破解了吗?

       事实上有一部分的勒索软件确实是破解不了的,以CryptoLocker(或WannaCry)为例,他们首先使用名为“AES-256”的对称加密算法对文件进行加密,呃,什么是AES-256、什么又是对称加密呢?

       AES-256:一种对称加密的名称,类似于你经常玩的游戏叫“LOL”、“DNF”或“守望屁股”一样,翻译成中文叫做“高级加密标准”,是美国联邦政府采用的一种加密标准。

       对称加密:是指加密由明文及密钥组成,加密后生成密文,例如明文为“12345”,密钥为“2”,密文为“34567”,就是一种对称加密,如果你不知道密钥以及加密算法,就得不到明文。

       但如果是使用类似方法加密,那么只有两种方式,一种是固定密码,一种是随机密码。

       如果是固定密码,那么只要有一个人付款得到了密码,理论上就可以解开所有人的加密文件,这种勒索软件也时而有见,但是由于受害者不能及时互相沟通共享密码,因此这种加密方式也是有一定的市场空间的;

       如果是随机密码,那么就要求骇客能将这些密码保存在一个服务器中,否则的话最终黑客也不能解开被加密的文件。但是这种方法也有问题,那就是如果网络不通畅,密码可能传不到黑客指定的服务器中,那么负责任的方法就是不停地试图传递此密码直到成功为止(也有不负责的就不传递了),而此时如果受害者不关机或重启的话,理论上是可以通过技术手段在内存中拿到解密密码的。

       因此,就有一些正义凌然的黑客大牛们利用技术手段黑掉勒索软件作者使用的服务器,然后将所有被发送过来的所有解密密码公诸于众。

       当然,骇客们也不会善罢甘休,因此这时就上了第二套方案——RSA-2048非对称加密,那么什么是RSA-2048,什么又是非对称加密呢?

       RSA-2048:同ASE-256一样,就是一种加密标准的名称,中文名就叫做“RSA加密算法”,因为RSA取的是这个算法三位作者名字的首字母,没啥含义,后面的2048指的是密钥的长度;

       非对称加密:先回顾一下对称加密,对称加密是加密方与解密方都需要有一个相同的密钥,才能完成加密数据的传输,因此在传输加密数据之前必须要先用明文传输密钥,这就很危险,例如万一密钥在传输的过程中被打劫或被替换了呢。因此就出现了一种非对称加密,非对称加密有一个私钥和一个公钥,而且公钥、私钥不同,所有用公钥加密的内容必须用私钥才能解密。举例来说,公钥就相当于一把打开的锁,而私钥就相当于一把钥匙,如果要传递加密信息,那么信息发送者只需要获得这把打开的锁(公钥)即可,然后用这把打开的锁(公钥)锁上(加密)自己要传递的数据,并将数据传递给接受者,接收者是需要使用钥匙(私钥)就可以打开这把锁,并查看明文,因此,在整个数据交换的过程中私钥始终没有出现,这就相对安全一些(其实在某些场景下还是可以劫持欺骗的)。

       因此,勒索软件的作者就更进一步,将上面加密文件所用的随机密码使用RSA-2048加密后存到服务器中,这样只要白帽子们没有骇客的私钥,就完全没有办法,因为即便是黑掉了骇客所使用的服务器也无济于事,因为上面保存的解密密码也是经过加密的。

       而到了这一步,说实话,如果你电脑中保存的数据对于你来说非常重要,A1Pass虽然不推荐你支付赎金(因为助长犯罪、因为可能支付了也解密不了),但是我能告诉你的是,这件事目前的解法只有以下6种:

1. 使用超级计算机穷举爆破,以目前来看大概1000年左右能破解,目前费用大概2000元/小时左右,成功率100%;

2. 等待量子计算机问世,能在可接受的范围内(几秒钟至几小时)内破解,成功率100%;

3. 支付赎金让骇客帮你解密(祈祷此骇客技术过关、人品过关,没把你的密钥弄丢了),成功率70%(因为有些勒索软件是骇客技术不到位,导致无法正常解密,有的骇客则根本就没开发解密的逻辑,会导致你的数据世上无人能解);

4. 祈祷勒索软件作者对于内存理解不深入,如果中了这种勒索软件,理论上其所使用的加密密钥此时还是存在于你电脑的内存中的,只要你不重启、关机,找个反病毒工程师,是可以恢复所有数据的,成功率30%(从技术上来讲成功率还是非常高的,高于80%,但是现在这种水平的勒索软件大规模感染已经不常见了);

5. 将勒索软件的所有细节记录下来,并备份所有已加密文件,等待勒索软件服务器被大牛们攻破、或骇客被抓、或勒索软件本身有逻辑漏洞,等待安全厂商放出解决方案,成功率低于1%(瞎蒙的,个人感觉);

6. 沐浴更衣、焚香敬佛后,自己猜一个密码试试看,密码是由0~1、A~F组成的32个字(专业点说是一个32位[数学意义上的位,非Bit位]的16进制数),成功率0.000000000000000000000000000000000000034‰左右,中500万彩票的概率(127亿分之1)是你猜中此密码概率的几亿亿亿倍……

       不知各位同学看到这里是否义愤填膺了,恐怕心理不免会有疑虑,你们这些所谓的白帽子黑客们是干什么吃的,这勒索软件既需要服务器又需要收钱的,难道你们就一点办法都没有吗?

       呃,好吧,真的很难为情,容我下面详细解释解释这件事……


0x3 江湖——勒索软件产业链条

       勒索软件作者如果想要获取利润,那么就必须要完成很多事情,按顺序大致分为以下几条:

1. 有一个成熟的勒索软件,严谨的逻辑,健壮的代码,要有良好的界面,供被害者阅读的详细的指导手册(勒索软件也是要口碑的,教育被害者下次遇到类似的,只要付款就能稳定解密);

2. 有一个成熟的传播渠道,钓鱼邮件、诈骗网站、系统漏洞或被黑掉的大型软件分发网站等(传播渠道直接决定感染规模,例如这次的WannaCry就是使用NSA泄露的“EnternalBlue”漏洞,而WannaCry本身的技术并不亮眼);

3. 有一种成熟的免杀技术,可以时刻监控勒索软件被查杀的情况,并及时做出免杀反应,以取得更大面积、更长时间的感染;

4. 有一个隐秘的沟通渠道,要从技术层面证明可以反追踪,保证完全的匿名性的线上沟通渠道(否则只要你与骇客产生的对话,那么理论上就能定位其物理位置);

5. 有一个安全的付款方式,要从技术层面证明可以反追踪,保证完全的匿名性的在线交易方式(具体原理同上)。

       由此可见,要凑齐以上所有因素,其实还是很困难的,需要在多个领域都要有相当的资源与实力才能制作出一款能安全盈利勒索软件。

       但是,有需求就有市场,看到这里各位同学应该已经猜到了,没错,以上所有步骤都已经完全产业化了,而且非常成熟,竞争激烈,有的甚至还提供免费电话以供实时咨询-_-!

       那我们就一个一个的说吧:


       有一个成熟的勒索软件,早在2012年赛门铁克的研究人员就发现了一些勒索软件的16种不同变体为不同的犯罪团体所用。但是,这所有的恶意软件程序都可以追溯为一人所为,很显然,该勒索软件开发者根据不用的客户要求开发出不同的变体。而现在,勒索软件已经形成了自己成熟的商业体系,甚至提出了RaaS(Ransomware as a service,勒索即服务),可以非常友好的展示目前勒索软件的感染动态以及实时收益,俨然一个CRM的周概况面板。


       有一个成熟的传播渠道,这个是黑产骇客们最为核心的东西,也是唯一需要自己部分参与的环节,一般情况下来讲成熟的团队都有自己专门的对接外联技术支撑,用以完成大量邮件的收集或黑到大量网站的权限,用以散播他们的勒索软件;


       有一种成熟的免杀技术,现在的免杀技术已经完全专业化、公司化运营了,部分组织的官网做的非常漂亮,而且还有在线客服与客服电话等,售前售后都非常完善;


       有一个隐秘的沟通渠道,Tor(The Onion Router,洋葱路由器),是一种诞生于2004年,可以使用户在网上进行匿名交流的方式,他通过组织数以万计的网友提供类似于一种代理访问的服务,并在Tor网络内层层跳转,以至于当数据或请求从退出节点发出时,外部已经难以追踪数据的来源。由于这种技术的匿名特质,因此聚集了世界上越来越多的犯罪分子,他们在这里交易毒品、枪支,提供杀人服务,更加恐怖的还有人专门提供在线杀人直播服务,以供有此癖好的群体在网上通过金钱就可以遥控远程的屠夫,以非常残忍的手段杀死一个陌生人,目的仅仅是单纯的为了取乐。这,就是有些同学可能听说过的暗网,这里基本上就是犯罪分子与骇客们的天堂,而勒索软件的作者在于受害者进行沟通时就是用的Tor网络,大多数勒索软件甚至有详细的教程,教授受害者如何建立起一个Tor网络与骇客交流。


       有一个安全的付款方式,比特币作为一个新生的电子货币,越来越多的被更多的人认可并使用,而且鉴于比特币的匿名性,现在全球地下网络的交易越来越依赖于比特币,比特币已然成为地下市场的硬通货币,成为人类一种与市面正常货币对应的地下通用货币。同样的,这种于2009年兴起的匿名电子货币也成为勒索软件作者的一道天然屏障,让勒索软件作者以勒索比特币的方式隐藏了其物理世界中的真实身份,得以大摇大摆的将这些比特币兑换为骇客所在国家的真实货币。


0x4 解药——勒索软件预防方案

       针对这次WannaCry网上已经有了很多预防方案以及解决方案,但就我个人来看,从长远以及可靠性来看,防御勒索软件的唯一被动有效方案就是备份,别无他法。通过这次WannaCry的反面成功事例,全世界各个地方的黑客都在伺机发动更具破坏性、更加完善、更加自动化的勒索软件攻击,因此任何组织以及个人都难以保证完全防御勒索软件的攻击,因此,只有合理备份才是唯一有效的(其实针对绝大多数黑客攻击,最有效的被动防御措施都是备份,这个早在2005年左右就已经是圈内共识了)。

       从技术角度上来说,能否防御未知的勒索软件呢?我认为是有可能的,因为勒索软件使用了一套非常罕见的操作组合,即大规模删除并加密现有文件,这个行为在虚拟机中是很容易被识别出来的,当然,如果能配合半透明的沙箱以及行为分析机制可以更加有效的防御这种勒索软件的攻击。


0x5 科普——勒索软件加密逻辑

       发现很多人对于勒索软件使用AES+RSA加密的逻辑不清晰,这里用最简单的方式给各位同学科普一下。

       首先,AES是随机生成的密钥,用来加密受害者硬盘文件,因为是对称加密,所以速度快。为了增加破解难度,大多数勒索软件(如WannaCry)会为每个文件都单独生成一个AES密钥,并将密钥保存在已加密文件的头部。

       然后,骇客感觉直接将AES密钥保存在文件头部太不稳当,因此要生成一对RSA的私钥与公钥,用随机生成的RSA公钥分别加密每个文件头部的AES密钥,然后将随机生成的私钥上传到骇客的服务器上,这样就骇客就可以使用服务器上的私钥分别解密出每个文件头部的AES密钥,也就可以通过AES解密文件了。

       最后,骇客感觉直接将随机生成的RSA私钥保存在服务器上也不太稳当,万一服务器被日就废了,因此骇客自己准备了一对原始RSA密钥,将公钥写死在勒索软件中,用自己的原始RSA公钥加密被害者机器随机生成的RSA私钥,然后再将加密后的RSA私钥上传到服务器上,这样即便是得到服务器上的内容,手里没有原始RSA私钥,也解密不了。

原始RSA私钥:用于解密受害者机器上的随机RSA私钥;

原始RSA公钥:用于加密受害者机器上的随机RSA私钥;

随机RSA私钥:用于解密AES密钥;

随机RSA公钥:用于加密AES密钥;

AES密钥:用于解密受害者机器上的数据。


参考资料:

[01] 安天紧急应对新型“蠕虫”式勒索软件“wannacry”全球爆发

[02] 勒索软件指南:可怕的攻击正在不断增加 - 知乎专栏


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
点赞1
打赏
分享
最新回复 (7)
雪    币: 7
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
苹果的心愿OL 2017-5-15 20:19
2
0
老师,学习了。
雪    币: 459
活跃值: (647)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
ssarg 2017-5-15 20:55
3
0
谢谢分享
雪    币: 11
活跃值: (49)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
ywqjwq 2017-5-15 21:46
4
0
4.  祈祷勒索软件作者对于内存理解不深入,如果中了这种勒索软件,理论上其所使用的加密密钥此时还是存在于你电脑的内存中的,只要你不重启、关机,找个反病毒工程师,是可以恢复所有数据的,成功率30%(从技术上来讲成功率还是非常高的,高于80%,但是现在这种水平的勒索软件大规模感染已经不常见了);

如何下手?  内存dump?
雪    币: 12
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
tershin 2017-5-16 09:07
5
0
雪    币: 29412
活跃值: (18670)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
kanxue 8 2017-5-16 15:38
6
0
感谢分享~
雪    币: 883
活跃值: (314)
能力值: ( LV9,RANK:280 )
在线值:
发帖
回帖
粉丝
A1Pass 5 2017-5-17 12:29
7
0
ywqjwq 4. 祈祷勒索软件作者对于内存理解不深入,如果中了这种勒索软件,理论上其所使用的加密密钥此时还是存在于你电脑的内存中的,只要你不重启、关机,找个反病毒工程师,是可以恢复所有数据的,成功率30%(从技术 ...
没错,方向正确。
雪    币: 883
活跃值: (314)
能力值: ( LV9,RANK:280 )
在线值:
发帖
回帖
粉丝
A1Pass 5 2017-5-17 12:29
8
0
kanxue 感谢分享~
感谢段老师捧场!
游客
登录 | 注册 方可回帖
返回