0x0 前言
0x1 身世——究竟何为勒索软件
0x2 密语——加密数据如何恢复
0x3 江湖——勒索软件产业链条
0x4 解药——勒索软件预防方案
0x5 科普——勒索软件加密逻辑
(头图来自安天,侵删)
最近两天,我的朋友圈基本已经被勒索软件霸屏了,结果到了各大网站一看,相关板块基本上也同样被霸屏了,其实15PB对于WannaCry在第一时间已经给予足够的关注了,只不过很多结果都是在业内分享,而且说句公道话,这个WannaCry只不过就是“胆子大、路子野”,使用的技术从各个方面来说都不是最强的。因此,咱们今天这篇文章的主要目的就是跟各位零基础的同学们科普一下目前勒索软件的产业链,在更深一步的探讨最近这数次大范围信息安全事件的特点。
2013年08月,一名叫做Slavik的骇客编写了一款名为CryptoLocker的勒索软件,该软件在半年内成功感染了50万台机器,并且有约1.3%的受害者最终选择支付了赎金,粗略估计这名叫做Slavik的骇客至少因此获利超过2700万美元。
看见没,仅靠勒索就能勒索2700万美元,比拿命去赌的黑帮还要厉害!那么,他是如何实现勒索的呢?我们不妨先看看对于“勒索一词的定义”:
勒索是指以非法占有为目的,对被害人使用威胁或要挟的方法,强行索要公私财物的行为……
举个例子,某杀毒软件说,你只要安装企鹅,我就不运行,我不运行,你就中毒,你一中毒,你电脑就用不了。因此,安装企鹅就代表你电脑用不了……
举个例子,某即时通讯说,你只要安装数字,我就不运行,我不运行,你就返祖,你一返祖,你电脑就没用了。因此,安装数字就代表你电脑没用了……
然后,我看了下《中华人民共和国刑法释义(2006年第3版)》:
法条内容:第二百七十四条 敲诈勒索公私财物,数额较大的,处三年以下有期徒刑、拘役或者管制;数额巨大或者有其他严重情节的。处三年以上十年以下有期徒刑。
嗯,十年……
由此可见,如果对方想要勒索你,那么手里就必须要攥住你的小辫子,而勒索软件攥小辫子的方法非常简单,就是将你硬盘下的所有文件全部加密。于是,只要你想解密,就要有密码,只要没密码,那就意味着你电脑里的宝贵数据全部要付诸东流……
有的同学可能会说,没事,我不怕,数据没了就没了呗,大不了重做系统!但是你要清楚,总有一些人的电脑里是保存有非常非常宝贵的数据的,例如论文、设计稿、源代码、实验记录等,这些都是饱含了某些人数年甚至十余年的研究成果及轨迹的,如果这些数据没了,那就意味着这一切都要从头来过!而愚以为,正是因为绝大多数黑客们对此都能有切身体会,因此勒索软件才会成不了气候,这个问题我们后面再表。
那么,现在刑侦手段如此之成熟,而且还有金钱上的往来,另外毕竟绝大多数技术高超的大牛们还是站在人民的一边的,难道这些正义的黑客大牛们就不能以“人民的名义”消灭掉这些心理畸形且道德败坏的骇客们吗?
这个……真的有些困难,我们接下来就要谈论这个问题。
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%(瞎蒙的,个人感觉);
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课