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.
香港站群多ip服务器多少钱?想做好站群的SEO优化,最好给每个网站都分配一个独立IP,这样每个网站之间才不会受到影响。对做站群的站长来说,租用一家性价比高且提供多IP的香港多ip站群服务器很有必要。零途云推出的香港多ip站群云服务器多达256个IP,可以满足站群的优化需求,而且性价比非常高。那么,香港多ip站群云服务器价格多少钱一个月?选择什么样的香港多IP站群云服务器比较好呢?今天,小编带大家一...
第一、香港服务器机房这里我们可以看到有提供四个大带宽方案,是全向带宽和国际带宽,前者适合除了中国大陆地区的全网地区用户可以用,后者国际带宽适合欧美地区业务。如果我们是需要大陆地区速度CN2优化的,那就需要选择常规的优化带宽方案,参考这里。CPU内存硬盘带宽流量价格选择E3-12308GB240GB SSD50M全向带宽不限999元/月方案选择E3-12308GB240GB SSD100M国际带宽不...
简介华圣云 HuaSaint是阿里云国际版一级分销商(诚招募二级代理),专业为全球企业客户与个人开发者提供阿里云国际版开户注册、认证、充值等服务,通过HuaSaint开通阿里云国际版只需要一个邮箱,不需要PayPal信用卡,不需要买海外电话卡,绝对的零门槛,零风险官方网站:www.huasaint.com企业名:huaSaint Tech Limited阿里云国际版都有什么优势?阿里云国际版的产品...
勒索病毒补丁为你推荐
《信息技术基础》复习大纲用户重庆participants37支持ipad支持ipad支持ipadDeviceios5xp关闭445端口Windows XP系统 关闭445端口后无法上网,求解?win7关闭135端口如何关闭135端口,关闭它有什么影响么?win7关闭135端口请问如何关闭135端口?
什么是域名 泛域名 域名备案中心 香港bgp机房 linode日本 香港机房 mach gitcafe 创宇云 华为4核 100m免费空间 毫秒英文 php空间购买 美国免费空间 网通服务器托管 银盘服务是什么 七夕快乐英语 发证机构 ftp是什么东西 cdn免备案空间 更多