来自 数据 2021-10-11 16:15 的文章

高防御cdn_初云盾_原理

高防御cdn_初云盾_原理

勒索软件已经成为一个日益严重的问题。它已经发展成为一个大企业,每年从受害者的口袋里转移数百万美元到攻击者的口袋里。勒索软件作者的作案手法是通过任何载体(网络钓鱼、浏览器驱动漏洞攻击、水洞攻击等)感染您的机器,然后继续加密您的重要文件。加密完成后,所使用的密钥会被发送回攻击者,攻击者随后会索要赎金,以换取密钥以取回您的文件。Checkmarx与Check Point合作,cc难防御还是dd难防御,获得了一些勒索软件恶意软件样本,用于逆向工程和漏洞审计。给出的示例都是C应用程序,ddos云防御服务,我们看到的最有趣的是JobCrypter。JobCrypter是2016年中期在野外发现的勒索软件,在感染了你的系统并加密了你的所有文件后,它要求300欧元的赎金。在您支付赎金后,服务器如何做cc防御,攻击者会将密码发回给您,然后您可以在恶意软件的GUI上输入密码来恢复您的文件。当我们开始的时候,我们试图在一个隔离的环境中运行恶意软件样本,快速防御ddos攻击服务器,但是什么都没有发生。因此,我们将样本带到ILSpy来分析代码,并使用Checkmarx cxsat扫描其漏洞。这让我们理解了为什么这个示例失败了:有一个"killswitch",如果用加密密码向攻击者发送电子邮件的过程失败(确实是这样,他们使用的电子邮件提供商发出了"错误的凭证"消息),勒索软件将无法生效。出于测试目的,我们修补了原始二进制文件(使用ILSpy的reflectil插件)以删除killswitch,并允许恶意软件继续进行感染过程,即使电子邮件无法发送。回到代码中,cxsat静态分析解决方案报告的一个最关键的发现是使用了一个密码较弱的伪随机数生成器。对于勒索软件来说,这是一个致命的打击。密码生成函数中的一个缺陷大大减少了CreateRandomPassword()函数实际生成的可能性。恶意软件作者称CreateRandomPassword为CreateRandomPassword,其长度参数硬编码为20,这意味着他们希望生成的密码长度为20个字符。由于函数中使用的字符集仅为数字,因此可能的组合总数应为10^20,因为20个字符中的每一个都有10个可能值(0-9)。如果没有来自随机对象(用于选择"文本"字符串中的字符)的偏差,那么这种构造就可以了。然而,勒索软件受害者有可能计算加密时使用的随机对象的种子值,从而能够重新创建病毒用来加密其文件的密码。默认情况下,Random类使用一个名为环境.TickCount,这是自启动后处理器"滴答"的次数。种子是复制随机数生成器状态所需的唯一值。您可能已经注意到32位比10^20小得多。这个实现是恢复密钥的第一步-您可以强制CreateRandomPassword(20)返回的所有密码,只需将0到2147483647的所有值植入Random对象。使用现成的CPU大约需要18小时。我们想做得更快。下一步是进一步缩小可能的最小间隔环境.TickCount值和最大值。起初,我们建立了一个天真的概念证明,可以破解解密密码,但只有一个警告:计算机不能在启动后24小时内被感染。这有助于我们建立一个比最大可能的32位值低的最大TickCount值,从而将破解时间缩短到大约10分钟。在构建了第一个概念验证代码之后,大流量ddos的防御未来,我们立即想出了如何将破解时间缩短到10秒以下。解密工具将在受感染机器上运行这一事实使我们能够利用有关它的关键信息,即:第一个文件何时加密(FileCreated timestamp)第一个文件加密之前的最后一次启动时间是什么时候如果我们使用这两个时间戳,我们实际上可以计算出调用CreateRandomPassword(20)时TickCount值的非常接近的近似值,只需简单地取第一个文件的加密时间和在此之前的最后一次启动时间之间的时间差,再乘以1000(大约是每秒的滴答数)。在得到这个近似值之后,我们在查找密码的地方使用大约80.000个滴答的标准偏移量。在不到10秒的时间内,加密密钥被找到,如下面的视频所示。解密工具的源代码将很快在Checkmarx的GitHub上提供。应用程序安全软件生物最新帖子埃雷兹亚龙Erez Yalon是Checkmarx安全研究小组的负责人。作为一名独立的安全研究员,他拥有丰富的防守者和攻击者经验,为我们带来了宝贵的知识和技能。Erez负责维护Checkmarx的顶级漏洞检测技术,他以前在各种编码语言方面的开发经验发挥了作用。Erez Yalon的最新帖子权限升级Meetup.com网站启用付款重定向-2020年8月3日Mozilla漂白剂中发现突变跨站点脚本(mXSS)漏洞-2020年7月8日现在是时候更新你的Drupal了!-2020年6月18日