其实勒索软件不是什么新鲜事物,不过最近出现了越来越多“调皮”的勒索软件,比如说帮忙传播两个用户就能解锁文件的,还有近期阅读有关勒索软件的文章就能解锁文件的。这两天有一款“传奇式”的勒索软件问世的,不仅在于其索要赎金21.8万美元,更在于就算你付了这么多钱,人家也不帮你解锁!
FBI先前就教育我们说:如果你没有备份文件却感染了勒索程序的话,就乖乖支付赎金要回文件吧。研究人员发现的最新勒索软件KillDisk却能彻底颠覆你的想法!
KillDisk的演变
KillDisk是一款恶意软件,但它原本并不从事勒索,而专司数据擦除。2015年乌克兰电网遭到黑客数次攻击,导致数百户家庭供电被迫中断,事件中有一款名叫Black Energy的恶意软件——KillDisk正是其中的一个组件。2015年11月,它被用来攻击乌克兰的主流通讯社。去年12月初,研究人员检测到有人利用KillDisk对乌克兰金融部门展开了网络破坏。随后的整个12月,KillDisk都被用来攻击乌克兰的海运部门。
根据ESET安全人员的研究,KillDisk近期又开始活跃了,新的样本能够对Windows和Linux展开攻击,最新版的KillDisk形态是勒索软件:它会像传统勒索软件一样加密文件,随后索要巨额的赎金,赎金高达218,000美元(222比特币)。
技术细节
虽然KillDisk针对Windows和Linux两个操作系统平台的勒索信息基本一致,但技术细节显然还是有区别的。
Windows版本的KillDisk会使用AES算法加密文件,其中256位的密钥由CryptGenRandom生成,而对称AES加密密钥会用1024位RSA算法加密,为了区分已加密文件和未加密文件,KillDisk会在所有已加密文件后面加上以下后缀:DoN0t0uch7h!$CrYpteDfilE(不要碰这个加密的文件)。
Linux用户感染病毒后,KillDisk会递归加密以下目录:
- /boot
- /bin
- /sbin
- /lib/security
- /lib64/security
- /usr/local/etc
- /etc
- /mnt
- /share
- /media
- /home
- /usr
- /tmp
- /opt
- /var
- /root
KillDisk会使用三重DES加密每4096字节的文件块,而每台机器上所使用的64位加密密钥是不同的。
重启之后用户的系统就无法进入了。
千万不要支付赎金
在加密磁盘后,KillDisk会修改GRUB引导记录,然后把勒索信息写在引导记录处,要求受害者支付222比特币。
KillDisk不仅开创了在GRUB引导中写入勒索信息的先河,也开创了勒索软件不守信的先河。
所以即使你是个土豪很有钱,也不要支付赎金,因为就算向犯罪分子支付了赎金,文件还是回不来,因为KillDisk根本不会将解密密钥存储在磁盘或者C&C服务器上。
“KillDisk的例子再次说明为什么不应该选择向犯罪分子支付赎金。犯罪分子并不能保证恢复你的数据,在本案中罪犯明显没有打算要兑现承诺,”ESET高级研究员Robert Lipovský说道。
幸运的是ESET的研究人员已经找到了Linux KillDisk加密协议中的一个漏洞,利用这个漏洞,用户可能可以恢复加密的文件,尽管难度非常大。不过这个漏洞在Windows版的KillDisk软件中没有。
当前并不清楚KillDisk的作者为什么要这么做,国外媒体推测说或许KillDisk存在的价值还是和从前一样,就是为了擦除数据。至于为何加上勒索软件的属性,大抵是因为在破坏数据的前提下,还有机会赚点儿钱,实在是破坏勒索软件江湖规矩的好软件…
防御措施
随着勒索软件近几年的火爆,类似的事件越来越多,Freebuf也有不少案例。对付这类勒索木马,只能通过预防。
- 一是要养成备份的习惯,特别是重要文件要经常备份;
- 二是养成良好的操作习惯,这类勒索软件大都通过邮件附件传播,因此不要点击不明来源的链接或附件;操作系统和杀毒软件也要及时更新。