Nugroho在接到朋友的求助后开始着手开发这款解密工具。他根据Akira使用时间戳生成加密密钥的特点,认为可以在一周内解决问题。然而,由于遇到了意料之外的复杂性,该项目最终花费了三周时间,并且研究员还投入了相当于1,200美元的GPU资源成本。尽管如此,他最终还是取得了成功。
GPU破解加密密钥的原理
Nugroho的解密工具与传统解密工具不同,用户无需提供密钥来解锁文件。相反,它是通过暴力破解的方式获取加密密钥的。这一方法利用了Akira加密器在生成密钥时,将当前时间(以纳秒为单位)作为种子值的特点。
种子值在加密过程中起到关键作用,它通过与加密函数结合,生成难以预测的强加密密钥。因此,确保种子值的机密性至关重要,否则攻击者可能会通过暴力破解或其他加密攻击手段重新生成加密或解密密钥。
Akira勒索软件使用四个不同的时间戳种子值(精确到纳秒)和经过1,500轮SHA-256哈希运算,动态生成每个文件的唯一加密密钥。
这些密钥通过RSA-4096加密,并附加在每个加密文件的末尾,因此在没有私钥的情况下解密这些文件非常困难。此外,时间戳的高精度特性使得每秒可能有超过10亿个不同的值,这进一步增加了暴力破解的难度。
Nugroho还指出,Linux版的Akira勒索软件通过多线程同时加密多个文件,这导致确定使用的时间戳变得更加复杂。
解密工具的开发与优化
为了缩小时间戳的可能范围,Nugroho查看了朋友分享的日志文件。通过分析这些日志,他确定了勒索软件的执行时间、文件元数据以及加密完成时间,并在不同硬件上进行了加密基准测试,从而创建了可预测的加密配置文件。
最初的尝试使用了RTX 3060显卡,但由于每秒只能进行6,000万次加密测试,速度远远不够。随后,他升级到RTX 3090显卡,但效果仍不理想。
最终,Nugroho转向了RunPod和Vast.ai的云GPU服务。这些服务以合理的价格提供了足够的计算能力,从而使他能够验证工具的有效性。具体而言,他使用了16个RTX 4090 GPU,在大约10小时内成功破解了解密密钥。不过,根据需要恢复的加密文件数量,整个过程可能需要几天时间。
Nugroho在他的报告中提到,GPU专家还可以进一步优化他的代码,因此工具的性能可能会进一步提升。
GITHUB地址
https://github.com/yohanes/akira-bruteforce
使用注意事项和未来展望
原文来自: www.bleepingcomputer.com
原文始发于微信公众号(邑安全):新版Akira勒索软件解密工具:利用GPU破解加密密钥
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论