上个月,WannaCry(“想哭”)勒索软件通过自传播能力仅在72小时内就感染了全球超过30万台Windows计算机,尤其是感染了那些使用操作系统易受攻击的计算机。但这并不意味着WannaCry就是一款高质量的勒索软件。
康众畅想联合计算机病毒防御中心反入侵实验室最近在WannaCry勒索软件蠕虫中发现了一些编程错误受害者在无需支付任何解密密钥的情况下就能恢复被锁文件。深入分析WannaCry代码后,研究员发现代码中充满了错误,一些受害者能够利用公开可获取的免费恢复工具甚至是一些简单命令就可恢复文件。
研究员Anton Ivanov以及同事Fedor Sinitsyn和Orkhan Mamedov详细说明了WannaCry开发人员所犯的三个严重错误,系统管理员可借此恢复丢失文件。研究人员指出,问题在于WannaCry勒索软件解密后删除原始文件的方式。通常来讲,它会首先重命名文件将扩展改为”.WNCRYT”、加密,然后删除原始文件。
恢复只读文件
由于恶意软件不可能直接加密或修改只读文件,WannaCry会复制这些文件并创建加密版本。虽然原始文件并没有动,但被赋予一个”hidden”属性,要恢复原始数据仅需受害者恢复其正常属性即可。
这并非WannaCry源代码中的唯一错误,在某些情况下,它在加密后并未删除文件。
从系统盘(C盘)中恢复文件
研究人员表示,存储在重要文件夹中的文件如桌面或文档文件夹在没有解密密钥的情况下无法被恢复,因为WannaCry旨在在恢复原始文件前用随机数据覆写原始文件。
然而,研究人员注意到存储在系统盘重要文件夹之外的其它文件能通过使用数据恢复软件从临时文件夹中恢复。研究人员指出,“原始文件会被迁移到%TEMP%\%d.WNCRYT(%d指的是数值)。这些文件包含原始数据且并未被覆写”。
从非系统盘中恢复文件
研究人员还发现对于非系统盘来说,WannaCry勒索软件创建了一个隐藏的’$RECYCLE’文件夹并将原始文件加密后迁移到这个目录下。只要将这个文件夹显示隐藏就能恢复文件。
另外,由于WannaCry代码中存在“同步错误”,在很多情况下,原始文件还位于相同的目录下,这样受害者就能通过可用的数据恢复软件恢复被不安全删除的文件。
程序错误:受害者的新希望
这些编程错误为很多受害者带来了希望。卡巴斯基指出,WannaCry勒索软件的代码质量很低。
此前法国研究员Adrien Guinet和Benjamin Delpy推出一款免费的WannaCry解密工具,在Windows XP、Windows 7、Windows Vista、Windows Server 2003和Server 2008上起作用。
虽然WannaCry肆虐全球已一月有余,但其幕后黑手尚未被识别出来。