引言勒索病毒Wannacry爆发已经过去一周了,由于该病毒采用加密用户文件方式进行勒索,许多朋友对该病毒文件加解密过程比较感兴趣。在已见到的病毒分析报告[1-4]中对文件加解密过程描述的比较零散。为便于全面理解病毒使用的密码技术,本文综合多家的分析报告,从密码技术角度勾勒出该病毒文件加解密基本框架。包括加密策略、密钥结构、密钥生成与保护等,为有兴趣者提供该病毒使用密码技术的画像。文章最后指出了病毒文件加解密分析遗留的问题。
1.密码要素
RSA2048非对称密码算法国际标准非对称密码算法。其功能由Windows系统提供API接口,病毒调用该算法对密钥实施加密保护。算法使用一对公、私钥进行加解密操作:公钥负责加密,私钥负责解密(反之亦可,同于数字签名)。密钥长度2048比特(256个字节)。AES-128对称密码算法
美国标准,国际流行对称密码算法。编程库函数编译连接到病毒程序中。该算法对感染主机文件实施加密。算法采用128比特数据分组加密方式,加解密密钥相同,密钥长度128比特(16个字节)。网络密钥对(WK)
由病毒攻击者生成,一组全网使用的公私钥对(WKp,WKs)。作用于RSA2048算法,保护受感染主机的“主机密钥TK”,其公钥(WKp)随病毒文件传播,私钥(WKs)由病毒攻击者掌握。主机密钥对(TK)病毒在每个感染主机上生成的公私钥对(TKp,TKs)。作用于RSA2048算法,保护“文件密钥FK”,其公钥(TKp)明存在00000000.pky文件中,私钥(TKs)由网络密钥对(WKp)加密存放在00000000.eky文件中。文件密钥(FK)
病毒加密文件时生成的随机数。每加密一个文件生成一个FK。
本文将以上要素用图例表示:
2.三级密钥结构病毒采用网络密钥对WK、主机密钥对TK以及文件密钥FK三级密钥结构,以保证加密文件勒索过程的安全性。由WK用RSA算法保护TK,TK用RSA算法保护FK,FK用AES算法对文件进行加密。文件解密时,由WK解密TK,TK解密FK,FK解密文件。病毒执行后生成一组公私钥对作为“主机密钥对TK”
主机密钥对-公钥(TKp)保存在00000000.pky文件中;
主机密钥对-私钥(TKs)经网络密钥对-公钥(WKp)加密,记RSA(TKs)WKp,保存在00000000.eky文件中,待病毒攻击者使用网络密钥对-私钥(WKs)进行脱密。
为什么不采用两级密钥?由网络密钥WK直接加密文件密钥FK,省掉主机密钥TK。去掉主机密钥TK,安全性上没有问题,但由于FK需要在攻击者服务器端进行脱密,全网受感染主机每个文件解密都要与攻击者服务器进行密钥解密通信,将造成通信瓶颈。
3.文件加密病毒为每个加密文件生成一个文件密钥(FK);病毒遍历主机文件进行加密,如图2。
4.文件密钥FK保护每一个文件加密后,用主机密钥对-公钥(TKp)对每个文件密钥FK1、FK2、FK3…FKn进行加密生成RSA(FKn)TKp,并存入对应的加密文件头结构中。如图3所示。
5.文件解密虽然到目前为止还没有用户交赎金后加密文件被解密的报告,根据其密钥结构设计以及病毒代码分析可以确定文件的解密逻辑。受害人操作病毒提示界面,通过网络(匿名网Tor)向病毒攻击者交付赎金(比特币),病毒将RSA(TKs)WKp(由网络密钥对-公钥WKp加密的主机密钥对-私钥TKs)发送给攻击者,如图4①②所示。
病毒攻击者(服务器)确认收到赎金,用自己的网络密钥-私钥(WKs)对RSA(TKs)WKp进行解密还原TKs,并发回受害人主机,存入00000000.dky文件,如图4③④⑤所示。受害人点击病毒界面“Decypt”按钮,病毒程序从每个加密文件中读取RSA(FKn)TKp,使用00000000.dky文件TKs对其进行解密,还原文件密钥FKn;病毒程序用解密后的FKn对加密文件进行解密。
6.文件加密策略为兼容性考虑,病毒不对主机所有的文件进行加密;为效率考虑,对较大的文件(如大于1.5MB),只加密文件中的一部分(10%左右);病毒攻击者为使受害人相信被加密的文件可以恢复,除了本文以上介绍的密钥,攻击者在病毒程序中预制了另一对公私钥,用法与主机密钥TK一样,以明文方式存放在病毒代码中,让受害人不用交赎金,自己操作解密一部分文件。(实际上,使用这对公私钥没有意义,因为私钥是明存的,对FK的加密已失去保护意义,直接将FK明存在加密文件中即可。)
7.有待研究的问题由于没有发现交赎金后病毒通过Tor网络与攻击者建立联系实例,尚无病毒与攻击者服务器目标地址分析报告。因此,还需进一步对文件解密过程进行再现验证;对网络密钥对(WK)真实性,以及其RSA密钥的符合性进行分析;
进一步分析主机密钥对-私钥(WKs)生成后,其加密、存储过程,找出其明现的蛛丝马迹;国内受害人一般不使用Tor(匿名网),因此如果攻击者有一天一旦出现,可以对加密文件进行恢复,我们应该如何应对?
参考文献[1]http://news.163.com/17/0518/12/CKNID17N00014AEE.html[2]http://www.tuicool.com/articles/UJjm6rU[3]http://www.2cto.com/article/201705/639532.html[4]https://modexp.wordpress.com/2017/05/15/wanacryptor/?from=groupmessage&isappinstalled=0
举报/反馈

秦安战略

1261万获赞 57.1万粉丝
经略网络空间,网聚智慧力量,建设网络强国
乘风计划作者,军事专家,国际文化交流中心研究员
关注
0
收藏
分享