摘要: 一波未平一波又起,勒索软件毋容置疑成了2017年全球热议的话题。让我们来回顾一下,今年发生的勒索软件那些大事儿: 5月的“wannacry”勒索病毒席卷,国内多所高校大学生电脑文档被加密,美国、西班牙、俄罗斯、英国等多个国家被袭击。 这种病毒全球大爆发!赶紧检...
一波未平一波又起,勒索软件毋容置疑成了2017年全球热议的话题。让我们来回顾一下,今年发生的勒索软件那些大事儿:
5月的“wannacry”勒索病毒席卷,国内多所高校大学生电脑文档被加密,美国、西班牙、俄罗斯、英国等多个国家被袭击。
这种病毒全球大爆发!赶紧检查windows电脑,备份重要文档吧!
6月的Petrwrap勒索病毒肆虐,又是一波大规模、有组织的攻击,多国政府、银行、电力等多行业遭殃,就连乌克兰的核电站都不放过。
预警 | 新一轮Petrwrap勒索病毒来袭,连核电站都不放过!
10月,“Bad Rabbit”勒索软件又一次攻占欧美多国,波及政府、教育、交通等诸多行业。
……
勒索软件宛如强盗一般,非常露骨地挟持用户资料以换取利益,更甚者收了赎金还撕票。勒索软件来势汹汹的勒索软件,再一次为安全行业敲醒了警钟。
针对这一年勒索软件的集中爆发,美小创特邀拥有多年安全工作经验、曾服务于多家国际巨头企业的资深专家,为大家详细剖析勒索软件,让大家能更全面地了解勒索软件,更有目标性地部署勒索软件的防护。
关于勒索软件的来历、危害、传播、防护,看这篇文章就够够的了!
勒索软件简介
勒索软件是指可加密个人计算机上文档、照片和音乐等信息的恶意软件或恶意代码,用户必须支付费用(或赎金)才能解密并赎回这些文件。现已迅速成为目前利润最丰厚的恶意软件类型之一,每年可非法获利 10 亿美元。
勒索软件通常通过 Web 或邮件进入计算机或网络。web,勒索软件可以通过提供恶意软件的受感染广告(称为“恶意广告”)潜入,用户浏览包含恶意广告的站点时,将会自动下载恶意软件或将其重定向到漏洞攻击包;邮件,勒索软件使用网络钓鱼或垃圾消息获得立足之地,只要用户点击网络钓鱼或垃圾邮件中的链接或打开附件,勒索软件即可进行下载并控制其命令与控制服务器。
勒索软件还可以使用漏洞攻击包控制系统。(漏洞攻击包是用于识别终端系统中软件漏洞的软件套件)然后,在这些易受攻击的系统中上传并运行恶意代码,如勒索软件。
未来,勒索软件不会只针对个人用户,还会针对整个网络。勒索软件编写者会更多地采用半自动化的传播方法,抓住一切机会破坏网络并逐步渗透到更广泛的网络中,从而扩大影响并提高获得赎金的可能性。
勒索软件的演变
在有案可查的勒索软件中,最早的实例之一出现在1989年,是“PC Cyborg Corporation”编写的AIDS木马,通过软盘进行传播。
在1996年,针对当时称之为“密码病毒学(即出于恶意目的使用密码)的课题,出现了相关的研究文章。研究人员创造出一种概念验证病毒,它能够使用RSA和TEA算法对文件进行加密,同时拒绝访问用于加密文件的密钥。
到了2005年,各种勒索病毒纷至沓来,例如Krotten,Archiveus,GPCoder等等。其中GPCoder是最令人感兴趣的,因为在众多的勒索软件中,它在加密文件时使用的是1024位RSA加密,这就使得人们难以通过暴力破解的方法来恢复文件。
在2012年,出现了基于ZeuS和CitadelReveton木马的Reveton木马病毒,这是人们发现的第一个大规模部署的勒索软件。此恶意软件声称其代表各种不同的执法部分,受害者的系统会显示一份通知,声称某个执法部门已经锁定他们的文件,受害者需要缴纳罚金才能恢复相关的文件。Reveton会提示用户购买现金卡或者比特币并通过网站提交相关的支付信息,然后才能找回他们的文件。
到如今,各种勒索病毒层出不穷,传播方式多种多样,加密方式也越来越复杂,一旦被加密,想解密,可能性非常之低,或者几乎不可能。而且,感染的设备除了最常见的Windows之外,还涉及Linux,Android等等。
(图1:一张图看清演变历程)
典型的勒索软件感染步骤
(图2:勒索软件感染步骤)
1. 勒索软件一般通过大规模的网络钓鱼活动、恶意广告或针对性的漏洞攻击包投放。
2. 待投放到系统中后,勒索软件会控制您的系统,并试图与其命令和控制基础设施通信,以便创建和传输用于加密文件的公钥/私钥。
3. 勒索软件获得必要的密钥后,会确定要加密的特定文件类型和目录,并避开各种系统和程序目录,确保在其结束运行后能够稳定地交付赎金。
4. 加密完毕后,勒索软件会给用户留下通知,说明如何支付赎金。
勒索软件的通信
勒索软件的通信包括用于获得加密密钥和付款消息的命令和控制(C2)回调方法。勒索软件的通信方法,如图3:
成功侵入系统后,漏洞攻击包会分析所处环境(例如操作系统、未打补丁的应用等),继而检索并投放有效的勒索软件变体。然后,漏洞攻击包会向勒索软件基础设施发出回调通信,检索加密系统所需的密钥。许多最常见的漏洞攻击包和勒索软件变体会将域名解析为IP地址来启动此回调。
虽然有些勒索软件变体的表现不同(例如 SamSam 使用不需要 C2 回调的内置加密密钥,而其他变体使用基于 Tor 的洋葱路由或无需 DNS 的纯 IP 回调),但勒索软件防御解决方案仍可通过许多方式发挥作用。
勒索软件防御
既然勒索软件要和服务器通信,获取密钥,那么就可以通过监控网络通信的方式来拦截勒索软件的网络通信,从而在网络层进行通信的阻断。
那么,是不是可以从第三步“使用密钥进行加密”这一步上做文章?
一个软件要加密一个文件,有一步肯定是少不了的,就是对这个文件进行写操作。那是不是可以对这个“写操作”进行控制呢?理论上是可以的。但这又涉及很多东西,怎么对这个文件进行“写操作”控制,同时又不影响正常的写操作?
进程空间注入
内核层过滤驱动
注入:
在某个进程里面注入一个DLL,然后通过API hook的形式去hook某些API,如WriteFile,从而得知当前进程尝试去写某些文件。
过滤驱动:
通过拦截驱动IRP的形式来获取写事件。
通常会把事件检测处理的模块称之为Enforcer。
基本流程如下:
放行:
Enforcer检测到写操作 =》 询问策略中心 =》允许写操作 =》 Enforcer继续往下调用API, 放行
阻断:
Enforcer检测到写操作 =》 询问策略中心 =》不允许写操作 =》 Enforcer中断后续调用 =》 返回错误给调用方