导语:勒索软件已经成为我们面临的主要威胁之一,在勒索的赎金多为比特币等电子货币。这种电子货币的特点是难以追踪,本文就如何追踪勒索软件赎金进行了分析。
背景
首先要说到一点就是勒索软件之所以成功的原因就在于人们不重视数据备份。
上图是2017年7月的一个针对美国网络用户的备份习惯的调查统计表。上图的数据显示出,虽然人们意识到勒索软件的存在,但是有备份习惯的人还是很少:只有37%的被访者说他们有备份数据的习惯。而这一小部分备份的人群中,备份频率也很低。也就是说,即使有系统级的数据保护方案,用户可能也不会去应用。
勒索软件感染的生命周期
下图是勒索软件的工作原理:
勒索软件的生命周期可以分为4个阶段,分别是感染、勒索赎金、支付赎金、解密文件。
勒索赎金Ransom
受害者被勒索软件感染后,他们的个人文件就会被勒索软件加密,并展示一个勒索信息。如上图所示,这种勒索信息一般都指向一个tor站点,该站点含有一个唯一的ID来识别受害者。近期,多数的勒索软件通过威胁增加赎金的方式向受害者施压,以迫使受害者尽快支付赎金。甚至有如果不及时支付赎金就删除受害者所有文件的威胁。
支付网站Payment site
一旦受害者访问tor站点,就会看到一个含有一些指示信息的页面,指示信息包括需要支付的比特币金额、购买比特币的方式、支付赎金的比特币钱包信息等。因为比特币允许任意用户创建任意多的账户,因此许多的勒索软件会对每个受害者生成不同的比特币钱包帐号。
Bitcoin 购买
受害者会在比特币交易软件上购买比特币,然后转账到勒索者的比特币钱包中。
解密
一旦勒索组织确认受害者的支付信息,受害者的设备就会收到解密密钥并恢复加密的文件。大多数的勒索软件犯罪分子会遵守承诺提供解密密钥并恢复文件。但是Wannacry和NotPetya这样的软件是以勒索软件的形势隐藏其真实意图。
因为支付赎金无法区分和辨别,因此受害者在这个过程中还是有可能会被欺诈的。需要注意的是,如果勒索软件的作者被捕或研究人员(或官方)发现了勒索软件加密方案的漏洞,那么解密密钥就会公开给受害者。
勒索软件使用比特币或Tor的原因
在解释如何追踪勒索软件支付前,需要要解释一些为什么勒索软件选用了比特币和TOR,这也就说明了在追踪支付时所遇到的挑战和困难。
比特币Bitcoin?
匿名性:与其他虚拟货币一样,创建比特币钱包是不需要任何身份证明信息的,这对实施网络犯罪来说是非常理想的。
全自动:比特币可以将勒索支付的所有环节自动化,从创建比特币钱包到监控帐户入账等。
不可逆性:比特币交易是不可逆的,也是说一旦支付了赎金,是无法退回的。
可替代性:比特币是虚拟货币,是可以提现的。没有其他的货币可以让网络犯罪分子进行数亿美元的大宗交易而不被发现。
勒索软件使用多个比特币钱包?
因为创建和监控比特币钱包可以自动完成,因此比特币钱包可以帮助犯罪分子识别哪些受害者支付了赎金。
勒索软件使用TOR?
TOR让执法机构很难定位勒索网站的地址并关停网站。因为这些站点要求爬虫支持TOR协议,所以使用TOR后,很难爬去这些网站的信息来获取勒索钱包的地址。
追踪勒索软件赎金支付
追踪勒索软件支付需要4个阶段来完成:
1. 收集勒索软件样本。寻找并标记正在研究的勒索软件样本并建立数据集。
2. 通过聚类增加覆盖范围。用数据集中的二进制作为种子,可以用聚类技术来增加数据集中的勒索软件二进制文件的数量。
3. 寻找与每个勒索软件家族相关的比特币钱包。通过对勒索软件二进制文件应用动态执行和机器学习,爬取与数据中的勒索软件相关的支付地址,就可以将勒索软件家族与特定的比特币钱包进行关联。
4. 找出勒索软件取款钱包。通过对上一步中识别出的比特币钱包进行追踪支付,就可以找出勒索赎金是怎样通过区块链来转移的,并找出网络犯罪分子提现所用的钱包地址。
收集勒索软件样本
研究的第一阶段是包括为主要的勒索软件家族创建勒索软件二进制文件集,这一阶段的难点在于确定哪些恶意软件文件属于哪个恶意软件家族。一共有34个恶意软件家族和几百个变种,一共有15万左右的勒索软件二进制文件集。
利用聚类增加覆盖范围Increasing coverage via clustering
在原来数据集的基础上,用聚类技术和代码相似性来自动找出额外的勒索软件二进制文件。代码相似性分析可以帮助找出更多的勒索软件,聚类算法可以根据不同的域名、释放的文件、其他动态执行等将新发现的勒索软件分配到正确的所属家族和变种中。
这一阶段几乎会让恶意软件二进制文件数据集的数量翻倍,覆盖范围变大后,该数据集就可以代表勒索软件的活动了。
找出每个勒索软件家族相关的比特币钱包
通过勒索软件二进制文件中获取比特币钱包分为三个步骤:
1. 执行勒索软件二进制文件获取勒索信息note
2. 用深度学习技术分析勒索信息并提取支付站点的TOR地址
3. TOR web爬虫抓取支付站点的信息来获取比特币钱包的详情
找出勒索软件提现的钱包
找出勒索软件二进制文件相关的比特币钱包地址后,下一步就是通过比特币链来追踪支付信息,最终找出现金流和提钱方式。
通过比特币支付的勒索软件支付信息分析
追踪比特币的流动虽然很难,但也是可能的。因为比特币交易是公开的,包含了追踪勒索支付所需要的所有信息。
上图是比特币钱包交易的一个截屏,每个交易都含有以下信息:转账金额、发送者钱包、接受者钱包和交易日期。
通过前三步可以找出支付赎金的钱包,而提现相关的钱包是依赖Chainanalysis数据集来找出的。
经过推断,收取赎金的3个比特币钱包的地址是在localbitcoins.com上购买的,从交易信息中可以看到1N1NnUFAxbJScsDN6fVuoNMsCtbWwnE1Ji 是发送者钱包。同样地,这4个比特币钱包最终是通过BTC-e进行取现的,BTC-e控制的接受者钱包是152LfB5rEXnWvk2W2GvvcQWjX6ibC4kKna。
中转钱包
大多数情况下,网络犯罪分子会用多个比特币中转钱包来避免被追踪到。甚至有人会用比特币mixer来让追踪变得更难。但是,不管比特币被转移多少次,最终都会被取出。为了简化提现操作,网络犯罪分子会把大量的勒索赎金转移到一个钱包中提现,这个钱包叫做积累钱包accumulation wallets。研究发现,在过去的几周中,这些积累钱包是非常平稳的,直到达到百万美元才会提现。
研究人员向之前发现的勒索钱包中支付了少量的比特币(赎金),然后追踪该笔款项的转移,直到转移到积累钱包中。
找出支付的赎金
积累钱包是找到勒索赎金的关键,一旦找到这些钱包,可以在交易账本中追踪所有的支付。从中可以看到支付的金额和支付时间。有了这些信息,就可以将勒索赎金支付和这些临时数据与给定的二进制文件和勒索软件家族关联在一起。
重复这个过程就可以发现勒索软件经济的内在工作原理,并找到幕后的首脑。