区块链平台中可疑活动的资金轨迹分析
2021-12-21 12:15 作者:人大金融研究所 收藏(0) 阅读(14227) 评论(0)

随着区块链2.0及其更高版本的发展,越来越多基于区块链的技术解决方案开始涌现,为人们的生活带来诸多便利。然而,网络犯罪分子可能利用区块链平台中的漏洞,攻击用户并开展恶意活动。本文提出了一种基于启发式的恶意行为检测方法,该方法通过对资金轨迹进行分析,识别区块链中的可疑活动。研究者发现,赌博、网络钓鱼和洗钱等不同类型的恶意活动具有不同周期循环模式。中国人民大学金融科技研究所(微信ID:ruc_fintech)对文章核心内容进行了编译。

作者  Banwari Lal, Rachit Agarwal, Sandeep K. Shukla

编译 吴子浩



一、引言

无需许可(permission-less)的公共区块链平台具有去中心化、冗余和伪匿名的特性,这些特性使之很可能被加密货币技术所采用。然而,网络犯罪分子也可能利用区块链平台中的漏洞,并通过社会工程学(social engineering)手段靶向攻击用户,从而开展恶意活动。大多数用于恶意行为检测的前沿技术都依赖于个人钱包地址的交易信息,但不分析资金轨迹。


本文提出了一种基于启发式的恶意行为检测方法,该方法通过对资金轨迹进行分析,识别区块链中的可疑活动。研究人员使用以太坊的区块链交易数据,演示了这一方法的运用。研究团队在此过程中发现,赌博、网络钓鱼和洗钱等不同类型的恶意活动具有不同的循环模式。文章称,这种恶意行为检测方法是通用的,可以运用于任何无需许可的公共区块链平台,并可以根据平台的情况进行调整。本文主要贡献包括:


1. 提出了一种新的恶意行为检测方法,利用时间循环来分析周期资金轨迹,从而描述区块链平台中网络钓鱼、赌博和洗钱等恶意行为的特点,并利用循环路径上的资金损失来识别基于时间循环的可疑资金转移。


2. 发现以太坊中的大多数恶意活动都具有相似性,并将其分类。此外,利用资金轨迹,研究者在区块链平台中发现了两个基于时间循环路径的可疑货币转移。


3. 目前检测和分析区块链平台中可疑行为的最先进手段使用机器学习或图嵌入(Graph embedding)方法。本文利用资金轨迹开展研究,为分析恶意行为的现有方法提供了一个新的维度。


二、可能利用区块链的恶意行为



(一)网络钓鱼(Phishing)


网络钓鱼是指,网络犯罪分子试图通过使用社会工程学方法(例如,创建一个与原网站相似的假网站,或发送欺骗性电子邮件)来窃取数字加密货币或用户凭证。在网络钓鱼活动中,攻击者并不利用系统中存在的漏洞,而是利用受害者易受欺骗的特点。在区块链领域,一个广为人知的网络钓鱼攻击事件是Bee代币ICO项目遭遇的仿冒骗局,该骗局中黑客攻击了Bee代币的电子邮件列表,并发出电子邮件,转移走大量ETH(以太坊使用的一种加密货币)。


(二)赌博(Gambling)


由于加密货币交易的匿名性和透明度问题,区块链被广泛用于赌博活动。使用加密货币进行赌博的优势包括:由于区块链的不可更改性,欺诈的机会较少;部分国家或地区的法律禁止赌博,匿名性使得用户可以规避因赌博而面临的法律制裁;交易费用低。目前,Las Atlantis Casino和Wild Casino等线上赌博平台已接受加密货币。


(三)洗钱(Money Laundering)


洗钱是指,将非法所得通过各种手段掩饰、隐瞒其来源和性质,使其在形式上合法化。通过加密货币进行洗钱的三个主要阶段是:


1. 安置资金:不法分子可以用现金或其他类型的加密货币(altcoin)可以用来从交易所购买加密货币。如果交易所不能确保反洗钱法规的有效实施,或不能核实交易者身份,不法分子就可以利用漏洞。


2. 藏匿资金:一旦数字货币投入使用,犯罪分子就会利用区块链的匿名性来隐藏资金的来源。


3. 整合资金:犯罪分子宣称其非法所得是企业盈利或其他加密货币升值的结果,以使非法资金合法化。


同时文章指出,虽然由于区块链中用户的匿名性,通过加密货币更易开展非法活动,但与现金交易相比,加密货币对洗钱的整体影响较小。截至2019年,所有比特币交易中只有0.5%涉及暗网上的比特币交易。


三、识别方法


(一)周期循环检测


标准的周期循环检测方法不考虑时间性问题,研究者对其进行了一定修改。在时间循环中,时间性路径中边的顺序受到其发生时间的限制,并且只能有一个起始节点。


二)寻找时间周期的算法


深度优先搜索(DFS)用于检测静态图中的周期,研究者使用基于DFS的递归方法寻找时间周期。

四、研究评估


(一)数据集


比特币(Bit-coin)和以太坊(Ethereum)是目前最具代表性的无需许可区块链。研究者选择以太坊区块链的数据集,因为以太坊的数据更加丰富多样,且以太坊提供了被分为不同类型非法活动的计数和交易信息。


以太坊有两种类型账户:外部账户(EOA)和合约账户(SC),其中合约账户在以太坊虚拟机(EVM)上得以执行。两个SC之间的交易不存储在账本上,但此类交易可以通过以太坊虚拟机推断得出,被称为内部交易;两个EOA以及EOA与SC之间的交易被存储在以太坊区块链的账本上,其数据可以通过以太坊API公开获取,被称为外部交易。


1.  交易结构


两种交易有不同的JSON结构,内部和外部交易分别如图1和图2所示。




2.  数据集统计

在以太坊中,赌博、网络钓鱼和洗钱等非法活动有足够多的标记账户和交易量,足以研究者了解其资金轨迹。

二)数据预处理


研究者仅使用成功的内部和外部交易数据,并删除了转移0 Eth(以太坊所使用的加密货币)的交易,这些交易会导致100%的资金损失,而研究人员的目标是找到沿途损失很小的可疑周期。此外,如果账户A在同一区块中多次向账户B汇款,研究人员就将其合并为一笔交易。


在以太坊区块链中,一种洗钱方式是Upbit黑客使用加密货币交易所开展的洗钱活动。有猜测认为,在资金从热钱包转移到冷钱包的过程中,一些内部人员进行了恶意洗钱活动。对此,在研究洗钱的资金轨迹时,研究人员使用以太坊区块链中被标记为“UpBit Hack”的账户作为洗钱账户。


(三)实验结果


1.  赌博

研究者将所开发的方法应用于被Etherscan(以太坊官方支持的区块链浏览器)标记为赌博类别的账户,仅考虑那些只发生在赌博账户之间的交易。研究人员假设与赌博活动相关的账户将其资金放在一个存款处或一个区块链交易所,一旦赢了,账户就能拿回保证金。


研究发现,在42个标记的赌博账户中(4个EOA和38个SC),只有2个SC有时间周期,其中一个SC账户是交易所。此外,如果不应用研究人员对周期循环检测方法的修改,时间循环周期的总数是136958;在应用其修改后,时间循环周期的总数减少到346个。所有这些时间周期都是两跳(two-hop)的长度。


随后,研究者添加了未标记为赌博类别的账户及其交易,时间周期的数量没有变化。研究人员又四次添加邻居账户,但是在所有的步骤中,时间周期的数量没有变化。这表明,大多数赌博账户没有显示出与其他赌博账户之间的时间周期行为。


此外,研究发现,赌博账户没有在时间循环路径中向其他赌博账户转移资金,而赌博账户与其他非赌博账户有资金往来,且很少有可疑的基于时间循环路径的资金转移。


2.  网络钓鱼


总共有4769个被标记为网络钓鱼的账户(4076个EOA和693个SC),其中103个账户参与了基于时间循环的交易,55个账户是一个或多个周期的起始点。大多数钓鱼账户的交易非常少,这限制了这些账户出现在时间周期中的机率。如果不应用研究人员对周期循环检测方法的修改,时间循环周期的总数是1682;在应用其修改后,时间循环周期的总数减少到164个。大部分的周期是两跳的,一个周期的最大跳数是3。研究者发现其中一些转移显示出可疑的行为。


随后,研究者添加了钓鱼账户的外邻居(钓鱼账户向其发送资金的账户),所添加的账户与钓鱼账户有高度相似性,研究观察到的周期数量没有变化。研究人员进一步添加账户,在分析钓鱼网站账户时,检测到一个可疑的周期,该周期中沿着循环路径的资金损失是负值,这意味着钓鱼账户已经收到了资金。


3.  洗钱


有815个被标记为“UpBit Hack”的账户,其中只有2个账户是SC。研究者选取这些账户的内部和外部交易信息,然而所有的内部交易都有一个错误标志“=True”(意味着交易不成功),因此内部交易不被考虑。这些账户中的大多数只有3到5次交易,因而出现在基于时间的循环路径中的几率较小。如果不应用研究人员对周期循环检测方法的修改,时间循环周期的总数是83;在应用其修改后,时间循环周期的总数减少到40个。


研究发现,有69个被标记账户参与了时间循环,这说明用于洗钱的账户更积极地参与到基于时间路径的货币交易循环中。研究者将所有洗钱账户的外邻居账户及其交易加入,应用对检测方法的修改,时间循环周期的总数为90,这些周期中的最大跳数是6。周期数量没有明显增加,但是在基于时间路径的交易循环中,资金损失低于10%的周期增加了。


4.  其他恶意活动


研究者发现214个诈骗账户(scamming accounts)中113个被标记为钓鱼账户,这些诈骗账户没有参与任何基于循环路径的资金转移。即使研究人员随后添加了一跳(one-hop)的邻居账户(这些账户都被标记为诈骗和网络钓鱼),结果除了2个EOA外未出现任何时间循环。因此,同时被标记为诈骗账户的钓鱼账户与其他钓鱼账户有着不同的行为模式,而且网络钓鱼账户可以被分为不止一类。


五、总结


随着区块链2.0及其更高版本的发展,人们对区块链技术的兴趣正在迅速上升,越来越多基于区块链的技术解决方案开始涌现,例如基于区块链的电子健康记录安全存储系统。然而与此同时,出现了越来越多利用该技术及其用户开展恶意活动的案例。这些恶意活动大多利用了技术堆栈中此前未知的漏洞,并利用了用户易受欺骗的特点进行社会工程学攻击。此类攻击会导致数字资产的大量中断和损失,在无需许可的公共区块链平台中,数字资产损失等同于货币损失。


在过去几年里,学界已经提出了各种前沿技术来反击恶意攻击,并识别区块链中的可疑活动。这些方法中的大多数基于机器学习,不区分不同类别的恶意行为,而其他方法只关注特定类型的恶意活动。此外,这些技术并没有跟踪加密货币的流动轨迹。


本文研究者采用跟踪资金轨迹的方法,收集不同类型恶意活动相关的行为信息,并使用时间交易网络来确定时间循环,沿着时间循环路径追踪资金流。根据时间循环路径和资金损失情况,研究者发现恶意活动可以被分为四类。研究者认为,尽管识别区块链中的非法活动颇具挑战性,但这一工作对于执法机构、监管机构和区块链的普通参与者都非常必要。