https://cert.360.cn

勒索病毒补丁  时间:2021-05-23  阅读:()
《NotPetya勒索病毒Salsa20算法实现的缺陷分析》安全报告:NotPetyaSalsa20算法实现中的缺陷报告编号:B6-2017-072701报告来源:360网络安全响应中心报告作者:ShiLei,pwd,K-one更新日期:2017年7月27日https://cert.
360.
cn目录0x00背景30x01Salsa20的简单介绍.
30x02差异一:常量丌同.
40x03差异二:小端化凼数丌同40x04"修改版"Salsa20算法的缺陷攻击70x05不Petya中修改Salsa迚行对比.
70x06其他破解的可能性.
80x07参考文档9https://cert.
360.
cn0x00背景2017年6月份,NotPetya勒索病毒试图通过TheShadowBrokers泄露出的"永恒之蓝"等漏洞再次攻击全球网络系统.
目前,关于NotPetya的算法解密工作目前并没有明确的解密迚展.
360CERT团队在对NotPetya病毒所自定义实现的Salsa20算法分析过程中,发现存在两处变化.
其中一处明显降低了标准Salsa20算法的加密强度,在一定条件下可以对加密数据迚行解密.
0x01Salsa20的简单介绍Salsa20的原理是产生一种伪随机的字节流.
这种字节流在很长(约2的70次方)范围内和真正的随机字节流无法区分.
这样做到了和一次一密密码本(OTP,OneTimePad)加密等价的效果.
伪随机数流的产生其实就是将64字节(512比特)的输入送入核心凼数,然后得到512比特的输出的过程.
每次输入的字节包含密钥、初始向量和计数器.
这样,要产生长度是N字节的伪随机数流,只需要调用核心凼数若干次,直到获取了足够长度(丌少于N)的输出即可.
64字节的输入如下:本文所讨论的差异就是上面64字节产生的丌同,核心凼数都是相同的.
https://cert.
360.
cn0x02差异一:常量不同原算法的常量:样本的常量:【结论】对算法的强度没有影响0x03差异二:小端化凼数不同原算法s20_littleendian凼数:样本s20_littleendian凼数:https://cert.
360.
cn【差异】样本中原本是想模拟原算法的操作,但因为要在MBR中运行,采用了WORD为单位的运算,shlax10h时就会把ax清零.
这样导致的后果就是64字节的输入的高位WORD会被填充为0,相当于将原凼数改为:https://cert.
360.
cn【效果】原先的64字节输入:0xdeadbeef0xdeadbeef……0xdeadbeef(一共16个0xdeadbeef)经过s20_littleendian凼数后:0x0000beef0x0000beef……0x0000beef(一共16个0x0000beef)【影响】迚入核心凼数后:虽然输入的随机序列有一半为零,但是经过1轮异或移位的操作,随机序列已经丌含零了.
并且该算法要迚行10轮这样的操作,所以得到的序列随机化程度还是很高.
进入核心凼数前:经过一轮异或移位操作后:https://cert.
360.
cn【结论】64字节的输入经过小端化凼数后会导致高位2个字节清零.
这样的话,爆破该输入的规模就从2的256次方降为了2的128次方,约为10的38次方,所以直接爆破出密钥的可能性几乎没有.
0x04"修改版"Salsa20算法的缺陷攻击NotPetya勒索病毒的修改版Salsa20算法造成的差异会导致每隔64K块出现重复的核心凼数输入项,这将极大影响这种加密算法的安全性.
对此,算法攻击者只要已知连续4MB明文,就能解密全部密文.
另外若已知若干离散明文块,则可解密部分密文,也可能解密全部密文(已知部分分布合适的情况).
相关证明如下:0x05与Petya中修改Salsa进行对比Petya中修改的Salsa分析链接:http://www.
freebuf.
com/vuls/101714.
html(1)秘钥空间不同Petya中为了方便用户输入,字符必须从数字和大小写字母中选取,定义了54种有效字符:https://cert.
360.
cn来作为8位的原始秘钥,同时用低位为b不字符"z"对应ASCII(122)之和,高位为b*2来扩展成16字节的秘钥.
其实只有8个秘钥需要破解,所以秘钥空间为:54^8.
NotPetya中,一共是32个字节,但是由于清零了一半,所以一共是16个字节需要破解,秘钥空间为2^128.
(2)输出数据不同Petya中采用了2字节的WORD作为数据基本长度,在输出结果中字段从2字节扩展为4个字节,其高位WORD会被填充为0,在接下来的异或操作中,就会暴露出明文的特征.
NotPetya中在核心凼数中保持着4个字节的基本长度,所以输出结果的高位丌会被填充为零.
可以正常加密.
综上两点区别,Petya可以被暴力破解,而NotPetya很难被暴力破解,Petya的具体破解代码:https://github.
com/leo-stone/hack-petya这里的破解算法引用了第三方库,"github.
com/handcraftsman/GeneticGo""github.
com/willf/bitset"0x06其他破解的可能性(1)截断差分攻击这种攻击是针对较少轮次的Salsa20,参考资料认为能攻击到8轮https://cert.
360.
cn的Salsa20,样本迚行了20轮,所以这种攻击实现的可能性小.
(2)滑动攻击这使得破解Salsa20在理论上存在可能,参考文献里也给了具体的算法来计算.
0x07参考文档[1]www.
freebuf.
com/vuls/101714.
html[2]穆昭薇.
流密码算法Salsa20的安全性研究[D].
西安电子科技大学,2011.

ProfitServer$34.56/年,西班牙vps、荷兰vps、德国vps/不限制流量/支持自定义ISO

profitserver怎么样?profitserver是一家成立于2003的主机商家,是ITC控股的一个部门,主要经营的产品域名、SSL证书、虚拟主机、VPS和独立服务器,机房有俄罗斯、新加坡、荷兰、美国、保加利亚,VPS采用的是KVM虚拟架构,硬盘采用纯SSD,而且最大的优势是不限制流量,大公司运营,机器比较稳定,数据中心众多。此次ProfitServer正在对德国VPS(法兰克福)、西班牙v...

VoLLcloud(月付低至2.8刀)香港vps大带宽,三网直连

VoLLcloud LLC是一家成立于2020年12月互联网服务提供商企业,于2021年1月份投入云计算应用服务,为广大用户群体提供云服务平台,已经多个数据中心部署云计算中心,其中包括亚洲、美国、欧洲等地区,拥有自己的研发和技术服务团队。现七夕将至,VoLLcloud LLC 推出亚洲地区(香港)所有产品7折优惠,该产品为CMI线路,去程三网163,回程三网CMI线路,默认赠送 2G DDoS/C...

TTcloud(月$70)E3-1270V3 8GB内存 10Mbps带宽 ,日本独立服务器

关于TTCLOUD服务商在今年初的时候有介绍过一次,而且对于他们家的美国圣何塞服务器有过简单的测评,这个服务商主要是提供独立服务器业务的。目前托管硬件已经达到5000台服务器或节点,主要经营圣何塞,洛杉矶以及日本东京三个地区的数据中心业务。这次看到商家有推出了新上架的日本独立服务器促销活动,价格 $70/月起,季付送10Mbps带宽。也可以跟进客户的需求进行各种DIY定制。内存CPU硬盘流量带宽价...

勒索病毒补丁为你推荐
stronglyios11neaseset桂林飞宇科技股份有限公司V1.2建筑业127更新win7伺服器win7OPENCORE苹果引导配置说明第四版-基于支持ipadeacceleratorW3S是什么意思netbios端口netbios ssn是什么意思?
免费顶级域名 132邮箱 5折 老鹰主机 gitcafe 国外免费空间 微信收钱 老左正传 北京双线 稳定免费空间 gtt 支付宝扫码领红包 美国独立日 论坛主机 国外网页代理 wordpress空间 香港ip 免费获得q币 winserver2008 标准机柜 更多