新闻链接:http://bobao.360.cn/news/detail/2889.html
新闻时间:2016-03-30 10:11:04
新闻正文: McAfee公司是一家位于美国加州圣克拉拉市的网络安全公司,该公司致力于创建最佳的计算机安全解决方案,以防止网络入侵并保护计算机系统免受下一代混合攻击和威胁。目前,该公司已经为广大用户提供了具有前瞻性且经实践验证的解决方案和服务,可为全球范围内的系统和网络提供安全保护。与此同时,还能够帮助家庭用户和各种规模的企业防范恶意软件和新出现的网络威胁。
近期,McAfee实验室的安全研究人员发现了一个非常低调的勒索软件,这款勒索软件名为LeChiffre。与其他的勒索软件不同,攻击者需要在目标用户的计算机中手动运行这款勒索软件,并对用户文件进行加密处理。而其他大多数的勒索软件是通过垃圾邮件以及其他的恶意软件来进行传播和攻击的。当我们的安全研究人员对这款勒索软件进行了分析和研究之后,研究人员发现他们可以在不用支付一分钱赎金的情况下,将那些被勒索软件LeChiffre加密了的文件解锁。
目前为止,McAfee实验室的安全研究人员已经获取到了两个不同版本的LeChiffre勒索软件样本。这两个勒索软件变种在对目标用户的文件进行加密处理时都使用了Blowfish算法,而且这两款勒索软件所使用的Blowfish密钥生成技术都是相同的。Blowfish算法是一个64位分组及可变密钥长度的对称密钥分组密码算法,可以用来加密64比特长度的字符串。Blowfish算法具有加密速度快、紧凑、密钥长度可变、可免费使用等特点,目前已经被广泛使用于众多的加密软件之中了。
这一勒索软件会利用一个常量字符串,目标主机名,目标主机当前登录的用户名,以及当前的系统日期来计算得出两个MD5值。第一个MD5值是根据字符串计算出来的,这个值实际上就是常量字符串,目标计算机的名称,以及当前的系统日期的一个串联输出。而第二个MD5值需要根据目标主机的用户名和常量字符串来获取。在得到了这两个MD5值之后,勒索软件会将它们添加至对应的版本号之中,然后勒索软件便会根据计算出来的结果字符串来计算出相应的SHA1值。
这两个勒索软件变种的常量字符串如下:
1. LXAi48XxK9ig6gD351BA0ACF3A661B3E3AA
2. dDcLXlen2Dg0gpuV9XZ4hYBR6wrwe55izm24Id
具体的算法如下:
MD5_1 = MD5(常量字符串 +目标主机名+ 当前的系统日期)
MD5_2 = MD5(目标主机的用户名 +常量字符串)
SHA1_key = SHA1(版本号 + MD5_1 + MD5_2)
Blowfish_key = SHA1_key + (12 bytes of FFh)
这款勒索软件会使用Blowfish_key的值来初始化Blowfish的密钥序列。而且它还会通过对缓冲区的字节数据进行加密的方法来初始化Blowfish的初始向量。勒索软件会保存经过加密处理后的数据值,并会将其当作整个加密过程的初始向量来使用。然后,它会对这32字节的数据(SHA1值的长度为20个字节,再加上FFh的12个字节,所以数据的总长度为32个字节)进行加密,然后再将这个值保存在所谓的标记缓冲区之中。
实际上,这款勒索软件在对不同大小的文件进行加密处理的时候,所使用的加密算法也是不同的。如果文件的大小超过了17032个字节,那么勒索软件会对该文件的前2000h字节和后2000h字节的数据进行加密。否则,勒索软件只会对文件的前2000h字节的数据进行加密。如果整个文件的大小没有超过2000h个字节的话,勒索软件就会对整个文件进行加密。在对目标文件完成了加密处理之后,勒索软件会将标记缓冲区中的数据添加至被加密的文件结尾,并在文件的原始后缀名之后添加一个后缀-“.LeChiffre”(例如abcdef.jpg.Lechiffre)。由于这款勒索软件会在被加密的文件后缀名中添加如此明显的后缀标记,那么我们也就能够轻易地恢复出原始文件的原始后缀了。
安全研究人员在对勒索软件的版本号进行了分析之后,还发现了一个非常有趣的地方。第一个勒索软件的版本号为“v2.5EN:”;第二个版本号为“V2.6”。但是在第二个版本中,勒索软件会将目标主机IP地址的ISO代码(向合法网站http://api[dot]sypexgeo[dot]net/xml/发送查询请求,并获取到相应国家的ISO代码)添加至字符串中。所以,勒索软件最终的版本号为“V2.6[ISO代码]:”。如果勒索软件的查询失败,那么它会使用“EN”来作为默认的ISO代码。在对这些研究结果进行了重新整理之后,安全研究人员开发出了一款文件恢复工具,这款工具能够帮助我们对那些被勒索软件LeChiffre加密了的文件进行解密和恢复。
英特尔安全团队给出的修复方案实际上就是一个单独的命令行工具,这款工具需要在被感染的目标计算机中运行。这款工具不会删除被加密的文件。比如说,如果被加密文件的文件名为MyPicture.jpg.LeChiffre,那么工具会对这一文件进行解密,并将其重命名为MyPicture.jpg。如果在同一目录下存在相同文件名的文件,那么这款工具将会把解密后的文件按照MyPicture{随机数}.jpg的形式进行命名。除此之外,这款工具还可以连接至http://api[dot]sypexgeo[dot]net/xml/以获取对应的ISO代码。修复工具的输入参数为文件目录或者驱动器路径。在输入了指定的参数之后,工具会对给定目录下的子目录进行搜索,并找到需要解密的文件。这款命令行工具的具体使用方法如下:
使用方法
如果用户只需要对被加密的文件进行解密,而不需要删除.LeChiffre文件,那么可以使用下列操作语句进行处理:
-LeChiffreDecrypt.exe “文件路径”
如果用户不仅要对被加密的文件进行解密,而且还要删除.LeChiffre文件,那么可以使用下列操作语句进行处理:
-LeChiffreDecrypt.exe /delete “文件路径”
恢复工具在对文件进行了解密处理之后,会在该工具所在的目录下生成相应的日志文件LeChiffreDecryptionLog_{随机数}.txt。如果该工具没有当前目录的写入权限,那么它将会在系统的临时目录下保存相应的日志文件。大家可以点击这里来下载获取这款解密工具。
现在,英特尔的安全产品可以帮助用户检测并删除这一勒索软件。理论上,任何使用了对称加密算法的勒索软件都可以被解密,但是解密过程的难易程度取决于攻击者所采用的具体加密方式。目前,各大安全公司的研究人员也在不断地努力,以保护广大客户们的数据安全不受勒索软件的侵害。
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)