“如果我的部队里有哥萨克骑兵,我会用他们席卷整个世界。”
——波拿巴.拿破仑
提起“战斗民族”俄罗斯,你脑海中马上想到的画面可能是这样的:
也可能是这样的:
还有可能是这样的:
但你是否想到他们实际上可能是这样的:
事实上,在全球范围内黑客群体里,俄罗斯裔早已是不可忽视的一股力量。
以下是俄罗斯黑客的部分战绩:
2017 年 3 月 16 日美国司法部发文称,俄罗斯间谍和黑客合作,攻击了数千个 Yahoo 网站的使用者帐号,之前 Yahoo 曾对外宣布,在过去两三年中,大约有超过 5 亿 Yahoo 帐号资讯被盗取,这是网络时代最大的一次黑客攻击事件。
2014年,俄罗斯黑客注入攻击42个网站窃取了12亿用户名和密码,从财富500强站到各种小网站。地下黑客论坛曾出售价值3.6亿失窃登录凭证,疑似为俄黑客行为。
2010年,FBI监测到来自俄罗斯黑客的恶意程序已渗透进纳斯达克的中心服务器,试图窃取经济和军事情报。据彭博社报道,俄罗斯黑客入侵系统后植入了数字炸弹,并非想要摧毁纳斯达克,而只是想要克隆这样一套系统。
两百年前的俄国哥萨克骑兵,骑着快马,挥着弯刀,从黑海杀到波罗的海,他们无人不识,若以刀为船桨,他们早已渡过万里血海。
今天的新“哥萨克骑兵”,敲着键盘,写着代码,物理距离早已不是他们的阻碍,他们隐藏在一台台电脑之后,用一个个惊天网络攻击大案,提醒着人们曾被“战斗民族”支配的恐怖。
而说到由俄罗斯裔发起的诸多网络攻击,当然不得不提到早已成为个中主力的勒索软件。
据统计,纵观2016年全年,全球五分之一的企业安全事件源自遭受勒索软件攻击,每隔10秒就就会有一个普通个人用户被勒索软件攻击,而每隔40秒世界上就会有一个与勒索软件有关的组织出现。而在卡巴斯基实验室发现的60多个勒索软件家族中,有47个与俄罗斯人有关,这意味着七成勒索软件由俄罗斯人把控着。
而下面我们要介绍的PetrWrap便是这么一个流着纯正俄罗斯血液的勒索软件家族新成员。我们管中窥豹,一览俄罗斯黑客的技术实力。
PetrWrap基于知名勒索软件Petya(俄罗斯常见男名)开发,使用Petya对用户数据进行加密,比较有趣的是,它并未使用Petya的RaaS模式,而是创建了一个全新的模块作为补丁支持其有效运行,而这正是Petya特别之处。
PetrWrap采用C语言编写,在MS Visual Studio中编译。该木马在数据部分加载Petya v3的样本,以此感染受害者的机器。此外,PetrWrap实现了自己的加密程序,并可实时修改Petya的代码以控制其执行。这么做的好处是加强了感染过程的隐蔽性。
它的大致工作流程如下:
已激活的PetrWrap会在休眠1.5小时(5400秒)后执行攻击。首先,对位于数据部分的Petya主DLL进行解密,接着会调用导出函数ZuWQdweafdsg345312。这个函数通常作为Petya下一步操作的前置并启动MBR覆盖进程。
由于PetrWrap需要挂入(hook) Petya的函数,所以它使用了NOP(十六进制字节0x90)替换了Petya中原本调用DllEntryPoint的指令。这样可以阻止Petya自启动,并可让PetrWrap提前进行所有必要的计算和准备工作。之后,PetrWrap开始必要的加密计算,挂入两个Petya函数(负责生成配置数据的petya_generate_config以及负责MBR覆盖进程的petya_infect),接着由Petya去执行下一步工作。
值得一提的是,与Petya不同,PetrWrap采用了全新的加密方案。这么做的原因是若完全使用Petya的方案,PetrWrap操作者将无法解密受害者的机器,因为他们没有Petya私钥。 于是他们决定自己重新实现Petya的ECDH(Elliptic Curve Diffie-Hellman)部分。
PetrWrap在加密部分使用OpenSSL的库(而Petya使用mbedtls库)。
在钩子程序方面,PetrWrap挂入了Petya的两个函数(petya_infect和petya_generate_config),并将其替换为wrap_infect和wrap_generate_config。
wrap_infect实现了以下功能:
保存由Petya生成的salsa秘钥;
修改Petya引导程序代码以及勒索文本,目的是跳过闪烁的头骨动画,以及在文本中去除所有Petya相关字样;
将这些操作传入原生函数petya_infect。
wrap_generate_config依次执行以下操作:
调用原生的petya_generate_config函数;
根据前一段描述的算法生成user_id字符串;
用新生成的user_id替换Petya的id字符串。
完成这一切后,PetrWrap实现了以下效果:
·受害者设备被锁定,同时,NTFS分区主文件表被完全加密(本次使用的Petya v3在修补早期版本缺陷的同时还实现了Salsa20);
·锁屏界面不再显示闪烁的头骨动画,且不会提及任何Petya相关字样,这使得评估事件危害度变得很难;
·PetrWrap的开发人员不必编写简单的引导程序代码,避免出现Petya早期版本所犯的一些“错误”。
PetrWrap强大的加密算法使得破解工作困难重重,当然,你也可以尝试使用第三方工具(如R-Studio)来恢复文件。
介绍完PetrWrap,问题来了,为何会有如此多的“俄罗斯籍”勒索软件出现呢?青松认为原因可能有两方面。
1·俄罗斯及其邻国有很多受过良好计算机教育的专业人士和熟练的代码工作者。
2·当涉及勒索软件的整体规划时,俄罗斯的网络犯罪者有最丰富的开发,销售和攻击的经验。
事实上,勒索软件已经形成了一个产业,自有一套完整的从用户到开发的生态系统。究其根本,原因有以下几点:
1·很容易在地下市场购买勒索软件/软件构造器。
2·很容易购买分发服务。
3·像Crypto家族这样的勒索软件,已经发展成为了一个企业,有一套非常清晰的盈利模式。
换句话说,这是一个易于调整、用户友好且不断发展的生态圈。
而想加入这个圈子,可以通过以下三种方式:
1·编写新的勒索软件用以售卖
2·成为勒索软件联盟组织的一员
3·成为联盟组织的拥有者
第一种参与类型对个人技术能力要求很高,除了需要强悍的编程能力,还需要对密码学有一定深入理解。这个角色就像军火贩一样,只卖“产品”,不参与实际攻击。“产品”分两种,一种是全部源代码,一种是构造器。前者比较昂贵,通常需要几千美元。后者则仅需数百美元,构造器的使用者并不需要多深厚的技术功底,只需要操作一系列列表即可生成恶意软件,发动攻击。
如果这些构建器“玩家”对“自定义”没多大兴趣,可以接受一个固定不可拓展的功能列表的话,甚至仅需几十美元便可获得构建器,参与勒索活动。当然,如果需要寻求构建器作者的帮助,还需支付额外的费用。
构建器
第二种参与类型就是成为勒索软件业务的合作伙伴,即勒索软件的代理人,该类角色在整个勒索体系从业者中占比最多,也是三种参与方式中准入门槛最低的一种。具体说,就是由“老板”雇佣人员来执行勒索活动,即典型的勒索软件即服务(RAAS)。
这些代理人通过购买被感染计算机的访问权限、发送垃圾邮件、查找不安全的服务器或是通过社交网站直接引诱受害者等等方式传播勒索代码。
这些恶意代码一旦生效,大老板就会和受害者联系,施行勒索。而他们在获取赎金后,会将其中一部分分给代理者。对于这些人群来说,实行勒索的成功率越高,收入自然也会越高。这种参与方式更多的意义在于让很多有犯罪倾向的人无需专业IT技能即可顺利入行。
勒索软件组织广告
第三种参与类型就是成为勒索软件业务的实际所有者,即勒索软件背后真正的大老板。要想成为整个生态系统中真正的大玩家,你必须要有能力控制整个系统的方方面面。专业勒索软件组织通常通过将恶意软件编写者(通常也是组织的创建者),合作伙伴,以及和这个产品有关的所有人连接到一起,形成一种类似企业的上下级管理模式,从而更好的进行网络犯罪行为。
所谓无利不起早,千方百计加入这个圈子,自然是为了可观的利润。根据青松在黑客论坛上发现的对话可知,这些犯罪分子的利润率大概是60%,好的情况下一天赚几万美元不在话下。
这里讨论的当然是累积净收入,涵盖分配给整个计划所有参与者的总酬金,这些参与者包含普通成员,各种高级合作伙伴,经理及软件开发者。高级合作伙伴通常每月可赚取40-50比特币(以今天为例,1比特币等于3590美元)。在某个案例里,合作伙伴在一个月内赚了大约85个比特币。
勒索软件业务成本(红色)/利润(绿色)比例图
门槛低,可拓展,利润高,无怪乎勒索软件攻击屡屡发生。
以“哥萨克骑兵”为首的勒索军团来势汹汹,而他们终究只是互联网黑产产业链的一环。整个黑产产业链里,除了勒索软件外,还有非法数据的窃取与交易,DDoS攻击与敲诈勒索,网络诈骗,网页挂马、打马产业等等。而地下产业链发展也从个人、单体小作坊,逐步到分工精细,上下游配合的产业链。
从青松编辑的《2016网络安全威胁报告》中,可以看到2016年CNCERT受理互联网安全事件(页面篡改、仿冒、漏洞、网络攻击等),相较于2015年全年受理115,416件降低了46.17%;报备事件数则为62,131件,仅占安全事件总数42%。据青松分析,未上报数增多主要原因有:
1、非法(包括未备案)网站受侵事件增多;2、越来越多企业顾虑品牌信誉影响未上报。
不管是哪种原因,这种趋势都加大了黑色产业的治理难度。青松从专业角度建议企业主/个人通过完成以下几点来进行防范(以下策略适用于几乎所有黑产攻击):
△进行网络分区。
△进行定期备份数据。
△加强对员工的安全培训,为远程访问系统设定安全有效的密码。事实上,根据卡巴斯基实验室的研究,涉及重大数据丢失的案件里有五分之一源于员工的粗心或缺乏安全意识。
△将服务器软件更新到最新版本。
△在服务器中安装安全解决方案,同时,在终端上采用基于行为检测的安全解决方案。当然,你得对这些这些解决方案进行及时升级。因此,对于缺乏安全经验和安全人才的企业来说,强烈建议采用专业安全托管服务。
△最后,一定不要支付赎金。
交完赎金并不代表噩梦的终结。事实上,根据目前所有的统计数据来看,即便是在支付赎金的人群中,仍然有五分之一的人并没有找回自己的文件。即便你的数据成功找回,交赎金从某种意义上来说等于是在“资敌”,也就是说,你在帮助黑客们更好的创造下一次攻击你的机会。显而易见,受害者缴纳的赎金让黑客们有了更多的资金和动力去开发更复杂的攻击工具,从而创造更多更有威胁性的攻击机会,而整个恶意软件生态圈也会因此得到滋养。
▌本文由青松云安全原创编译,如需转载,请署明出处。
安 全 之 道,青 松 知 道