勒索病毒是一种极具破坏性、传播性的恶意软件,主要利用多种加密算法加密用户数据、恐吓、胁迫、勒索用户高额赎金,近期类所病毒攻击事件频发,一系列攻击严重影响金融、能源、交通等服务于生活的信息系统。勒索攻击发展历程并不长,在30多年的发展过程中,主要经历三个阶段:1989至2009年是勒索攻击的萌芽期,在这20年中,勒索攻击处于起步阶段,勒索攻击软件数量增长较为缓慢,且攻击力度小、危害程度低。
2006年我国首次出现勒索攻击软件。2010年以后,勒索软件进入活跃期,几乎每年都有变种出现,其攻击范围不断扩大、攻击手段持续翻新。
2013年以来,越来越多的攻击者要求以比特币形式支付赎金;2014年出现了第一个真正意义上针对Android平台的勒索攻击软件,标志着攻击者的注意力开始向移动互联网和智能终端转移。勒索攻击在2015年后进入高发期,2017年WannaCry勒索攻击在全球范围内大规模爆发,至少150个国家、30万名用户受害,共计造成超过80亿美元的损失,至此勒索攻击正式走入大众视野并引发全球关注。
2021年上半年,国际方面,统计全球公开披露的勒索病毒攻击事件1200余起,与2020年全年披露的勒索病毒数量基本持平,国内方面,同比增长超过10倍。
勒索病毒包括文件加密、数据窃、磁盘加密等类型,攻击者通过钓鱼邮件、网页挂马等形式传播,或利用漏洞、远程桌面入侵等发起攻击,植入勒索病毒并实施勒索行为,如17年WannaCry病毒利用微软的永恒之蓝漏洞进行传播。
1、文件加密类勒索病毒
勒索软件进入用户系统以后,通常会搜索系统中的数据文件,如文本文件、电子表格、图片、PDF文件等,使用复杂的加密算法RSA、AES等多种加密算法对用户文件进行加密,并以此索要赎金,利用暗网通信回传解密秘钥,要求支付加密货币赎金来隐藏真实身份,一旦感染很难进行文件恢复。即使是采用的公开的加密算法,要想获取其加密秘钥,需要进行大量的碰撞计算,破解秘钥也存在一定的难度;
2、数据窃取类勒索病毒
该类勒索病毒宇文件加密类类似,通常采用加密算法对用户数据进行加密,一旦加密也是很难进行数据恢复,但是在勒索环节,攻击者通过甄别和窃取用户重要数据,通过公开重要数据,胁迫用户支付勒索赎金。如conti勒索病毒已经攻击并感染政府、重点企业等300多家,窃取并公开大量数据;
3、系统加密类勒索病毒
该类勒索病毒同样通过各类加密算法对系统磁盘主引导记录、卷引导记录等进行加密,组织用户进行磁盘访问,影响用户设备的正常启动和使用,一旦感染同样很难进行数据恢复。如petya勒索病毒,对全部数据进行加密的同时,以病毒内嵌引导记录代码覆盖磁盘扇区,直接导致系统不能正常启动;
4、屏幕锁定类勒索病毒
该类勒索病毒对用户设备屏幕进行锁定,通常以全屏形式呈现勒索信息的图像,导致用户无法正常登录和使用设备,或伪装成系统蓝屏错误等,进而进行赎金勒索,但是该类病毒并没有对用户数据进行加密,具备数据恢复的可能性,如winlock勒索病毒,通过禁用windows系统关键组件,锁定用户设备屏幕,要求用户通过短信付费方式支付赎金。
1.从“加密数据”到 “三重勒索”的改变
先从最初的单一加密勒索演化到“双重勒索”,即在加密前攻击者会先窃取大量受害者敏感数据,威胁受害者如果不缴纳赎金则公开数据。而近期演化出的“三重勒索”模式,则是在双重勒索的基础上增加了DDoS攻击威胁。
2.从“散装攻击”到“定向攻击”的转型
早期的勒索病毒攻击靠批量扫描发现薄弱点,目标较为分散,主要分布于中小企业,行业范围没有限制。但近期,勒索攻击与高级持续性威胁相结合,演化出针对高价值目标的定向勒索,例如制造业、金融、医疗等。更有甚者,在攻击前会研究企业的经济状况,根据其支付能力决定赎金多少。
3.从“单一平台”到“多种平台”的扩展
目前为止,受勒索病毒影响最普遍的仍然是 Windows 系统,但近年来,逐渐出现了针对 Windows 以外的勒索病毒。早在2018年,深信服终端安全团队曾报道过一款名为 Lucky 的跨平台勒索病毒,利用 Tomcat 漏洞针对 Linux 和 Windows 系统进行无差别攻击。
多年来,勒索软件已经从简单的电子邮件附件发展到受感染的网站、移动应用程序甚至数字广告。它的有效性大幅增加,因此在暗网上,这种勒索服务 (RaaS) 形式攻击的买家需求也一路上涨。潜在目标包括:
医院:由于数据的敏感性,医疗行业或许是头号目标。如果医疗数据完全不可访问,可能会造成死亡等严重后果。
移动用户:对移动设备的过度依赖使这些小工具容易受到恶意软件攻击。这些设备存储了大量的个人数据,因此很容易成为财迷心窍的攻击者的下手目标。下载受感染的移动应用程序很容易造成设备被破解。
政府:政府机关拥有大量关键数据,因而成为攻击的完美受害者。更重要的是,犯罪分子知道这些组织必须维持近乎全天候运行。
教育机构:这些机构被盯上因为它们不仅保存关键数据,而且对连接到其网络的设备的掌控力度小。
能源和公用事业公司:这些部门受到攻击的原因与政府机构相同,拥有敏感数据,且须维持全天候运转。
虽然许多组织已经通过实施防病毒软件和其他基于签名的解决方案来保护他们的系统,但是这些方法对高级勒索软件攻击是不够的,这些攻击旨在逃避传统方法的检测。企事业单位需要实施多层次的安全措施,以应对现代勒索软件的挑战,来有效保护自身网络。现梳理以下六点安全防护建议:
一、及时修复系统漏洞,做好日常安全运维;
二、采用高强度密码,杜绝弱口令,增加勒索病毒入侵难度;
三、定期备份重要资料,建议使用单独的文件服务器对备份文件进行隔离存储;
四、加强安全配置提高安全基线,例如关闭不必要的文件共享,关闭3389、445、139、135等不用的高危端口等;
五、提高员工安全意识,不要点击来源不明的邮件,不要从不明网站下载软件;六、选择技术能力强的杀毒软件,以便在勒索病毒攻击愈演愈烈的情况下免受伤害。
六、概述
众所周知,受害者机器在感染勒索病毒后,一般情况下勒索病毒只需要加密文件的头部1024或2048个字节,因为文件格式,关键数据结构等都是写在头部,所以勒索病毒加密的速度通常会很快,主要加密包括 Word、Excel、PPT、文档、图片、压缩包、数据库、源码等等,通常会要求用户支付赎金才可以解密相关数据,如下图为wana cry的勒索界面,那勒索病毒常用的加密算法什么呢,为什么我们通常在无法支付赎金的情况下无法对数据进行解密呢,接下来进行依次探究。
勒索病毒通常采用对称加密技术和非对称加密技术相结合的方式来实现对用户文件加密和解密密钥的保管,通常将高级加密标准(Advanced Encryption Standard,AES)与RSA算法相结合。公开密钥密码体制 要求密钥成对出现,一个用于加密,另一个用于解密,并且不可能从其中一个推导出另一个。
1、对称加密算法及AES
对称加密算法使用的加密密钥和解密密钥为同一密钥。在对称加密算法中,数据明文被发送者通过使用加密密钥和加密算法进行加密后,将密文发给接收者,接收者使用加密密钥及加密算法的逆运算进行解密,获得明文。
高级加密标准(Advanced Encryption Standard,AES),是对称加密算法在计算机加密应用场景中较为广泛、成熟的一种加密方式。它的加密过程主要包括“字节代换”“行位移”“列混合”“轮密钥加”四步,通过使用密钥轮对明文进行逐轮加密实现密文的可靠性。在勒索病毒的工作过程中, AES通常被用作对计算机文件进行“绑架”加密,是加密过程中的第一把锁。
2、非对称加密算法及RSA
非对称加密算法的加密密钥与解密密钥是不同的,通常分别称为“公钥”和“私钥”。在非对称加密算法中,根据密钥生成算法可以生成两个有一定关联性但互相之间难以推导的密钥对。将“公钥”公布给发送者,而“私钥”由接收者保留。发送者使用“公钥”通过加密算法对明文加密后,仅需将加密后的密文发给接收者,接收者使用“私钥”通过解密算法对密文进行解密还原。非对称加密算法的优点在于很好地保护了“私钥”,增强加密的可靠性。
RSA算法是计算机加密应用场景中非对称加密算法应用比较广泛的一种,其通过生成两个极大素数,通过使用欧拉函数、欧几里得算法分別获取“公钥”和“私钥”所需相应元素,对明文或密文使用“公钥”或“私钥”分块进行幂运算和取模运算,以完成加密或解密。同时,对极大整数做因数分解的数学难题决定了RSA算法的可靠性。有研究表明,在当前普通计算机性能条件下,破解1 024位RSA密钥耗时约两年,破解2 048位(十进制256位)密钥耗时需80年,而大多数勒索病毒采用RSA算法生成的密钥长度为2 048位[2]。
采取两级基于2048位RSA算法的非对称加密方法,和一级基于128位AES的对称加密方法完成对受害者计算机文件的“绑架”过程,具体如下。
(1)病毒作者预先使用RSA算法生成密钥对(私钥C1和公钥P1),将私钥C1保存,以用作受害者支付赎金后发给受害者的解密密钥;将公钥P1放置于勒索病毒内,跟随勒索病毒感染受害者计算机。
(2)勒索病毒成功入侵受害者计算机后,生成互斥副本确保仅感染受害者计算机一次后,病毒将被删除,并遍历受害者计算机文件目录。
(3)勒索病毒使用RSA算法生成密钥对(私钥C2和公钥P2),并使用步骤1生成的公钥P1对私钥C2进行加密生成加密私钥Cc2,并将Cc2上传至病毒作者计算机。
(4)勒索病毒使用AES算法根据步骤1遍历目录的文件数量生成相应数量密钥C3,各密钥C3不相同;使用密钥C3依照遍历的目录对用户文件进行加密,生成“人质”文件。
(5)勒索病毒使用公鑰P2对不同的私钥C3进行加密生成不同的加密私钥Cc3,并删除密钥C3。
(6)将各Cc3写入对应“人质”文件的文件头位置,生成新的“人质”文件。
(7)删除“人质”文件的原文件、病毒文件、公钥P1、公钥P2、私钥C2、加密私钥Cc2。
对应的解密过程:
(1)支付赎金获取私钥c2;
(2)利用私钥C2解密CC3获取私钥C3;
(3)利用C3对加密的数据进行解密;
Locky勒索软件是另一款需要从C&C服务器申请公钥的勒索软件,是2016年 2月开始传播,由于Locky需要从攻击者的C&C服务器申请公钥,而 C&C 服务器很快就挂掉了,使Locky无法与其C&C服务器进行通信,导致无法申请到密钥。Locky勒索软件选用RSA算法和AES算法作为其加密算法
(1)RSA算法用于加密随机生成的AES密钥,RSA 算法的公钥在Locky勒索软件运行时从攻击者C&C服务器中获取;
(2)AES 算法用于加密受害者的用户文件,其主要由 aesenc指令实现,该指令具有较高的执行效率:
解密过程:
首先需要从攻击者C&C服务器中拿到RSA私钥,用于解密 AES密钥,进而使用AES密钥完成用户文件的解密工作即可;
Petya勒索软件的加密算法,可简述为ECDH算法和SALSA20算法。其中, ECDH算法采用secp192k1曲线,用于加密SALSA20算法的密钥;
SALSA20算法用于加密主文件表,该算法运行在操作系统引导之前的16位环境之中;
当完成上述加密步骤之后,程序会显示出其勒索页面并索要赎金。
解密过程:
Petya勒索软件的解密算法仅包含一步,即从攻击者C&C服务器中拿到SALSA20的密钥,用之解密主文件表,最后将引导区还原为正常引导,即可完成其解密流程。
Unlock92勒索软件采用的勒索软件为两次RSA算法,每个Unlock92勒索软件都内置一个 RSA公钥;
该公钥用于加密一个随机生成的RSA私密。而这个随机生成的RSA公私密钥对,用于加密用户的全部个人文件:
由于RSA算法运行速率较慢,Unlock92的作者并未对完整的用户文件全部进行加密,而是选择每个用户文件的前 0x300字节进行加密。
解密过程:
从攻击者手中拿到对应于样本内置RSA公钥的私钥,然后通过拿到的私钥解密随机 RSA私钥,最后用解密的来的RSA私钥解密用户文件即可;
勒索病毒通过AES加密算法生成密钥对计算机源文件进行加密,并将AES密钥保存在本地,正常情况下受害者找出该密钥则可以完成对文件的解密,而勒索病毒作者为了保障该密钥不被用户使用,选择了双层RSA加密算法完成对该密钥的再次加密,并保留最后一层RSA算法的私钥在病毒作者计算机内,最终使得解密密钥与受害者完全隔离。
通过对勒索病毒的加密算法进行分析可发现,攻击者基本是采用二层甚至是三层加密方法,在加密结束后会删除计算机上产生的私钥、源文件、病毒文件等,多数的病毒采用RSA加密算法,RSA算法破解的难点主要是基于大整数因子分解的困难性上。也就是说,在没有解决因子分解问题的情况下可能解决RSA问题,因此RSA算法并不是完全基于大整数因子分解的困难性上的。基于秘钥破解的难度可采用如下措施规避风险:
在遭受勒索病毒后,可尝试若通过数据恢复技术来恢复看能否恢复删除的私钥或相关文件,也许可以完成加密文件的解密操作,挽回损失;
已对重要数据经常采取离机备份;
毒用户可以使用安全厂商发布的平台或工具来对加密文件进行解密操作。可以启发人们的是,受害者可将中毒文件暂时封存,待密钥破解或公布后,再进行解密恢复。
参考链接:
https://www.secrss.com/articles/24885
https://www.veritas.com/zh/cn/information-center/ransomware-protection-for-business
https://m.fx361.com/news/2021/0926/8890988.html
https://cloud.tencent.com/developer/article/1041049
E
N
D
关
于
我
们
Tide安全团队正式成立于2019年1月,是新潮信息旗下以互联网攻防技术研究为目标的安全团队,团队致力于分享高质量原创文章、开源安全工具、交流安全技术,研究方向覆盖网络攻防、系统安全、Web安全、移动终端、安全开发、物联网/工控安全/AI安全等多个领域。
团队作为“省级等保关键技术实验室”先后与哈工大、齐鲁银行、聊城大学、交通学院等多个高校名企建立联合技术实验室。团队公众号自创建以来,共发布原创文章370余篇,自研平台达到26个,目有15个平台已开源。此外积极参加各类线上、线下CTF比赛并取得了优异的成绩。如有对安全行业感兴趣的小伙伴可以踊跃加入或关注我们。