CN115378629A - 基于图神经网络的以太坊网络异常检测方法、系统和存储介质 - Google Patents
基于图神经网络的以太坊网络异常检测方法、系统和存储介质 Download PDFInfo
- Publication number
- CN115378629A CN115378629A CN202210520557.2A CN202210520557A CN115378629A CN 115378629 A CN115378629 A CN 115378629A CN 202210520557 A CN202210520557 A CN 202210520557A CN 115378629 A CN115378629 A CN 115378629A
- Authority
- CN
- China
- Prior art keywords
- node
- transaction
- network
- nodes
- graph
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1483—Countermeasures against malicious traffic service impersonation, e.g. phishing, pharming or web spoofing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种基于图神经网络的以太坊网络异常检测方法、系统和存储介质,该方法包括以下步骤:基于收集的以太坊交易数据构建训练用的有向交易图;基于随机游走算法对构建的交易图中的节点进行有偏采样,获得第一节点序列;基于随机游走进行多尺度特征提取来生成多尺度序列组;将生成的多尺度序列组输入Skip‑gram模型将节点映射到向量空间,得到各个节点在向量空间的嵌入表示;基于各个节点在向量空间的嵌入表示利用分类算法对正常节点地址和异常节点地址进行分类,实现对检测模型的训练;利用预训练的检测模型对实际以太坊交易网络进行检测,获得检测结果。本发明的基于图神经网络的以太坊网络异常检测方法更具有针对性、准确性和有效性。
Description
技术领域
本发明涉及网络安全技术领域,尤其涉及一种以太坊网络安全技术领域,特别地涉及基于图神经网络的以太坊网络异常检测方法、系统和存储介质。
背景技术
区块链技术自2008年提出以来,引起了各行各业的关注和研究,已从最初的计算机行业发展到金融领域,再向其他行业扩散,成为了当今社会一项变革性的技术。由于区块链具有去中心化、不可篡改、匿名等特性,因此基于区块链技术的加密货币适用于诸多的金融场景。通过加密货币,用户只需要一个地址就可以在全球范围内匿名便捷地进行可靠的交易,不用担心交易被篡改。因此,随着区块链的发展,加密货币也呈现一片繁荣。
以太坊是一个具有智能合约功能的开源和公共区块链平台,它通过Ether(以太币,一种专用加密货币)提供分散的虚拟机来处理点对点交易,是仅次于比特币的第二大加密货币平台。然而,因为其去中心化和匿名的特性,以太坊平台上常见的网络犯罪可分为四类:漏洞攻击,黑客攻击,网络钓鱼和庞氏骗局。
传统的网络钓鱼通过邮件和伪造的网站来欺骗用户输入隐私信息,因此对于传统的网络钓鱼,研究人员通过通过对邮件和网页的信息进行文本检测来识别网络钓鱼。由于以太坊上的交易信息都是公开透明的,这为以太坊上的钓鱼检测提供了新的思路:可以通过挖掘地址之间的交易行为来识别钓鱼地址,也即进行URL检测。但现有的文本检测和URL检测方案由于精确度不够高,已不适用于以太坊上的钓鱼检测。因此,为了营造良好的区块链生态投资环境,亟需一种有效的以太坊钓鱼诈骗检测等以太坊网络异常检测方案。
发明内容
鉴于此,本发明实施例提供了一种基于图神经网络的以太坊网络异常检测方法和系统,以构建以太坊有向交易图,结合以太坊的特征进行双序列多尺度特征采样,从多个尺度来捕获交易的特征信息,从而更好的捕获交易信息中隐含的高阶关系,提高以太坊网络异常检测的准确性。
本发明的一个方面提供了一种基于图神经网络的以太坊网络异常检测方法,该方法包括以下步骤:
检测模型训练步骤和基于预训练检测模型的网络异常检测步骤,所述检测模型训练步骤包括:
基于获取的以太坊交易数据构建训练用的有向交易图,其中,构建的有向交易图中的节点包括带标签的正常节点样本和异常节点样本,每个节点代表以太坊上的一个地址,所述有向交易图的节点间的每条边表示一条交易记录,所述交易记录包括交易发起者、交易接收者、交易金额和交易时间戳;
选择构建的交易图中的节点,基于选择的当前节点与交易图中的其他节点的交易金额计算当前节点到邻居节点的第一转移概率,并基于当前节点与其他节点的交易时间戳计算当前节点到邻居节点的第二转移概率,基于第一转移概率和第二转移概率确定当前节点到邻居节点的综合转移概率,并基于随机游走算法利用确定的综合转移概率对构建的交易图中的节点进行有偏采样,获得第一节点序列;
从获得的第一节点序列中移除合约节点来生成用户节点序列,通过对第一节点序列和用户节点序列中每个序列的每个顶点上基于随机游走进行多尺度特征提取来生成多尺度序列组;
将生成的多尺度序列组输入预定的网络嵌入模型将节点映射到向量空间,得到各个节点在向量空间的嵌入表示;以及
基于各个节点在向量空间的嵌入表示利用分类算法对正常节点地址和异常节点地址进行分类,实现对检测模型的训练;
所述基于预训练检测模型的网络异常检测步骤利用预训练的检测模型对实际以太坊交易网络进行检测,获得检测结果。
在本发明一些实施例中,所述异常节点样本为网络钓鱼节点样本。
在本发明一些实施例中,所述方法还包括:收集以太坊交易数据的步骤,根据以太坊提供的API进行两层的广度遍历算法获得以太坊交易网络,获得的以太坊交易网络中包括正常节点样本和异常节点样本。
在本发明一些实施例中,所述分类算法为one-class SVM算法;进行所述多尺度特征提取的模型为Walklets模型。
在本发明一些实施例中,所述有向交易图表示为GX=(V,E,X),其中,V表示节点集,E是边集,X表示所有边的交易信息,所述交易信息包括交易发起者、交易接受者、交易金额和交易时间戳。
所述综合转移概率满足以下公式:
P(u,x)=εPA(u,x)+(1-ε)PT(u,x);
其中,PA(u,x)为节点u到邻居节点x的第一转移概率,PT(u,x)为节点u到邻居节点x 的第二转移概率,ε为第一转移概率的权重,1-ε为第二转移概率的权重。
在本发明一些实施例中,所述预定的网络嵌入模型为Skip-gram模型。
本发明的另一方面提供了一种基于图神经网络的以太坊网络异常检测系统,该系统包括处理器和存储器,所述存储器中存储有计算机指令,所述处理器用于执行所述存储器中存储的计算机指令,当所述计算机指令被处理器执行时该系统实现如前所述方法的步骤。
本发明的另一方面,还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如前所述方法的步骤。
本发明的基于图神经网络的以太坊网络异常检测方法、系统和存储介质,能够在随机游走过程中捕获节点之间的关系,可以从多个尺度来捕获以太坊交易过程中的特征信息,因此相比较于传统的文本检测和URL检测方法,更具有针对性、通用性、准确性和有效性,从而可以更好地捕获区块链上的异常交易,规避潜在的金融风险。
本发明的附加优点、目的,以及特征将在下面的描述中将部分地加以阐述,且将对于本领域普通技术人员在研究下文后部分地变得明显,或者可以根据本发明的实践而获知。本发明的目的和其它优点可以通过在说明书以及附图中具体指出的结构实现到并获得。
本领域技术人员将会理解的是,能够用本发明实现的目的和优点不限于以上具体所述,并且根据以下详细说明将更清楚地理解本发明能够实现的上述和其他目的。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的限定。在附图中:
图1为本发明一实施列中以太坊网络异常检测的流程示意图。
图2为本发明一实施例中以太坊钓鱼诈骗异常检测框架图。
图3为本发明一实施例中以太坊交易网络示意图。
图4为本发明一实施例中以太坊交易节点嵌入表示图。
图5为本发明一实施例中面向以太坊的多尺度节点特征提取图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施方式和附图,对本发明做进一步详细说明。在此,本发明的示意性实施方式及其说明用于解释本发明,但并不作为对本发明的限定。
在此,还需要说明的是,为了避免因不必要的细节而模糊了本发明,在附图中仅仅示出了与根据本发明的方案密切相关的结构和/或处理步骤,而省略了与本发明关系不大的其他细节。
应该强调,术语“包括/包含”在本文使用时指特征、要素、步骤或组件的存在,但并不排除一个或更多个其它特征、要素、步骤或组件的存在或附加。
为了解决传统的文本检测和URL检测方案在以太坊上的网络钓鱼检测方面的不适用性和不精确性,本发明实施例提供了一种基于图神经网络的以太坊网络异常检测方法,该方法基于以太坊交易信息构建了体现了交易双方、交易时间和交易金额信息的有向交易图(图神经网络),针对交易图采用面向交易网络的随机游走(Random Walk)策略,可以在随机游走的过程中进行以太坊多尺度特征提取,精确地提取到交易网络中的金融信息,并捕获交易信息中隐含的高阶关系,并且通用于任何有向多重交易网络的特征提取和行为分析,从而可以准确地进行包括网络钓鱼在内的网络异常检测。下面对本发明的基于图神经网络的以太坊网络异常检测方法进行详细描述。
图1所示为本发明一实施例中以太坊网络异常检测的流程示意图,图2为本发明一实施例中以太坊网络钓鱼诈骗异常检测的流程示意图。下面将以以太坊网络钓鱼异常检测为例来说明本发明的以太坊网络异常检测方案,但本发明并不限于此,不仅可以用于网络钓鱼诈骗的检测,还可以用于其他金融交易异常。本实施例的以太坊网络异常检测方法包括检测模型训练步骤和检测模型测试步骤,如图2所示,以网络钓鱼异常检测为例,在检测模型训练步骤中,首先进行数据建模,结合网络公开的数据集和权威网站的标记数据构建一个大规模的以太坊交易网络,获取构建的以太坊交易网络中以太网正常交易信息(正常节点样本)和带有钓鱼标签的交易信息(网络钓鱼节点样本)来生成训练集,并基于训练集来获得训练用的有向交易网络(有向交易图),该网络为静态交易网络;然后,将有向交易图输入至待训练的检测模型。在本发明实施例中,待训练的检测模型可称为Transwalk模型,其包括三个部分,第一部分为基于有偏随机游走进行采样的有偏随机游走模型,该模型基于构建的有向交易图中的节点进行有偏随机游走获得第一节点序列;第二部分为针对有偏随机游走模型输出的序列进行多尺度特征提取的模型,得到具有多尺度特征的采样序列,作为示例,该模型为walkslets模型,经walkslets 模型后可以得到该采样序列在不同维度下的语料库。第三部分为Skip-gram模型,用于优化目标函数,并为语料库中的单词产生一个能表达语义的向量。具有多尺度特征的采样序列输入Skip-gram模型,经Skip-gram模型向量化后,交易信息嵌入到节点表示的向量空间中,即完成网络(节点)嵌入,得到各个节点在向量空间的嵌入表示。Skip-gram 模型得到的向量可以进一步利用分类器(例如One-class分类器)进行分类,即得到网络异常的检测结果(如是否为网络钓鱼节点),通过将分类结果与训练样本中标签的比较实现对检测模型的训练。
如图1所示,在本发明一实施例中,检测模型训练步骤包括步骤S110-S150:
步骤S110,基于获取的以太坊交易数据构建训练用的有向交易图。
其中,构建的有向交易图中的节点包括带标签的正常节点样本和异常节点样本,异常节点样本例如为网络钓鱼节点样本或其他异常交易节点样本,每个节点代表以太坊上的一个地址,所述有向交易图的节点间的每条边表示一条交易记录,所述交易记录包括交易发起者、交易接收者、交易金额和交易时间戳。
本步骤对应图2的数据建模步骤。根据以太坊黄皮书,每个以太坊客户端都包含了所有的交易历史。为了检测网络钓鱼诈骗,首先需要获取正常节点和网络钓鱼节点的样本作为训练用以太坊交易数据来生成训练集。本发明实施例中,从以太坊标签云中抓取标记为“网络钓鱼”的账户,并通过Etherscan提供的API进行两层的广度遍历算法来获得一个大型的以太坊交易网络,该获得以太坊交易网络的方法为现有技术,可参见文献: Chen L,Peng J,Liu Y,et al.Phishing scams detection in ethereum transaction network[J]. ACM Transactions on Internet Technology(TOIT),2020,21(1):1-16。在一个示例中,获得的以太坊交易网络由2973382个节点和13551214条边组成,其中包含1071个钓鱼节点。由此便得到训练用的以太坊交易网络的拓扑结构,其为有向多重交易网络拓扑结构,即有向交易图,有向交易图中,两个节点之间的每条边都被分配了交易的转账金额和交易发生的时间戳。
以太坊中分为两种账户:由用户控制的外部账户和由与账户一起存储的字节码控制的合约账户;每个账户都拥有两个属性:一串由数字和字符组成的钱包地址和账户余额;以太坊上的交易通常是在两个账户之间发送消息,其中包含交易双方、交易金额和交易时间等信息。与寻常交易不同的是以太坊上的一笔交易可能会触发新的交易产生,例如,用户向某合约账户进行转账操作,可能会触发合约账户的智能合约逻辑从而将以太币再从合约账户转移到其他账户。在以太坊中,将向合约账户发送Ether(以太币)的交易称为外部交易,将触发的转账交易称为合约的内部交易。
基于以太坊的上述特征可以看出,每笔交易都记录了交易发起者、交易接受者、交易金额以及交易时间等信息,因此,基于交易信息可构建一个有向的以太坊交易信息图(可简称交易图或有向交易图),如图3所示,以太坊上的每个地址看做一个用户节点,每条边代表两个节点之间发起的一笔交易,并且,每条边上记录了该笔交易的交易金额和交易时间。由于两个节点之间的每条边都代表一笔交易,所以两个节点之间可能有多条边相连。图3中u为节点,x1,x2,x3,x4为节点u的邻居节点,A(u,xi)j和T(u,xi)j分别表示节点u到邻居节点xi的交易金额和交易时间戳,i表示邻居节点编号,j表示每条边交易的编号;节点u指向邻居节点xi表示两个节点进行了交易,即两个节点之间的每条边都代表一笔交易。图3中节点u和节点x1之间存在两条边,说明具有多次交易,其中一条边记录的信息A(u,x1)1=10表示两节点间第1条交易的交易金额;T(u,x1)1=1表示两节点间第1条交易的交易时间,另一条边记录的信息A(u,x1)2=11表示两节点间第2 条交易的交易金额;T(u,x1)2=2表示两节点间第2条交易的交易时间,在此是用数值进行示意,在实际处理过程中处理的对象是数值表示的时间戳。
针对一般的以太坊的交易拓扑结构(交易图),可将其抽象为正常的图模型 G=(V,E),其中V表示节点集,E是边集。但基于有向多重交易网络,每条边都代表了一条交易记录,包括交易发起者、交易接受者、交易金额、交易时间戳等信息,因此在本发明实施例中,将交易图抽象为特殊的图模型GX=(V,E,X),其中X表示所有边的交易信息,X∈R|E|*S,其为一个二维矩阵,每一行代表一条边的交易信息,该交易信息包括交易发起者、交易接受者、交易金额、交易时间戳等信息,|E|为边的数量,S是每条边的特征空间大小,基于该交易图可以更有效的学习有向多重交易网络中各个节点的特征表示。
获得有向交易图后,便可以将有向交易图输入至要训练的检测模型(Transwalk模型)来进行训练,Transwalk模型是一个图神经网络模型,其操作包括如下步骤S120- 步骤S140。
步骤S120,选择构建的交易图中的节点,基于选择的节点进行有偏随机游走采样,得到第一节点序列。
在基于随机游走的图表示学习算法中,对邻域节点的采样序列很大程度上决定了节点嵌入表示的优劣。例如,DeepWalk随机选择邻域节点,而node2Vec通过控制参数实现了BFS和DFS的结合,使得节点采样序列能够综合反映全局和局部信息。针对如上构建的以太坊交易网络,一般的随机游走算法不能捕获到交易网络的信息特征,例如交易时间和交易金额。此外,由于要检测的网络钓鱼节点具有周期短,交易数量多等金融特点,这些表征信息在经典游走算法中都无法捕获。因此,在本发明实施例中,设计了一种面向交易网络的有偏随机游走采样策略,以在随机游走过程中融合节点属性信息和连接结构信息,来捕获节点之间的结构关系,从而更好的捕捉交易信息特征。
更具体地,在本发明的有偏随机游走采样过程中,充分考虑交易金额和交易频率(交易时间),基于选择的当前节点与交易图中的其他节点的交易金额计算当前节点到邻居节点的第一转移概率,并基于当前节点与其他节点的交易时间计算当前节点到邻居节点的第二转移概率,基于第一转移概率和第二转移概率确定当前节点到邻居节点的综合转移概率,并基于随机游走算法利用确定的综合转移概率对构建的交易图中的节点进行有偏采样,获得第一节点序列。
对于交易来说,交易金额和交易时间交易中最重要的信息,越大的交易金额和越临近的交易时间代表着两个节点的关联信息更强。因此,在本发明实施例中,在对节点信息采样时,应基于交易金额和交易时间戳进行优先采样。
假设当前节点为u,邻居节点为x,则节点u到邻居节点x的转移概率PA(u,x)如公式(1)所示:
其中,N(u)表示节点u的外邻居合集,A(u,n)表示节点u到节点n间发生的所有交易的交易金额合集,A(u,x)表示节点u到邻居节点x间发生的所有交易的交易金额合集, Ai(u,n)表示节点u到节点n间发生的第i条交易的交易金额,Ai(u,x)表示节点u到邻居节点x间发生的第i条交易的交易金额,|A(u,n)|表示节点u到节点n的交易数(边数), |A(u,x)|表示节点u到节点x的交易数(边数),i表示交易编号。
此外,每笔交易都记录了交易时间戳,交易发生的时间越近,时间戳的数值越大,代表两个节点的关联性越强。相邻两节点间交易次数越多,也代表两个节点的关联性越强。因此,节点u到邻居节点x的转移概率PT(u,x)如公式(2)所示:
其中,T(u,n)代表节点u到节点n间发生的所有时间戳合集,T(u,x)代表节点u到邻居节点x间发生的所有时间戳合集,Ti(u,n)代表节点u到节点n间发生的第i条交易的时间戳,Ti(u,x)代表节点u到邻居节点x间发生的第i条交易的时间戳,|T(u,n)|表示表示节点u到节点n的交易数(边数),|T(u,x)|表示表示节点u到节点x的交易数(边数),i表示交易编号。
如图3所示,当采用基于金额的采样策略时,虽然从单笔交易来看,节点x4的交易额是最大的,但是x1与u之间有两笔交易且交易金额相加要大于x4,所以从边的角度来看,边E(u,x4)被选择的概率最大。但是从节点的角度来看,x1被选择的概率是最大的。当采用基于时间的采样策略时,节点x4被选择的概率是最大的。
基于上述对交易金额和交易时间戳的综合考虑,本发明实施例中,通过权重参数ε调整两者的权重来综合考虑两种因素在节点转移搜索时的影响,得到从节点u到邻居节点x的综合转移概率P(u,x),其可表示为如公式(3)所示:
P(u,x)=εPA(u,x)+(1-ε)PT(u,x) (3)
其中,PA(u,x)为节点u到邻居节点x的转移概率(第一转移概率),PT(u,x)为节点u 到邻居节点x的转移概率(第二转移概率),ε为第一转移概率的权重,1-ε为第二转移概率的权重。
本发明实施例中,基于综合考虑了第一转移概率和第二转移概率之后得到的综合转移概率进行采样,得到第一节点序列。通过随机游走生成的节点序列,隐式地保持了节点之间的高阶邻近性,由于其随机性,这些随机游走会得到不同距离的连接节点。
本发明的有偏随机游走采样策略,以在随机游走过程中融合节点属性信息(如交易金额信息和交易时间信息)和连接结构信息(如相邻两节点间的交易次数(边数)等),可以捕获节点之间的结构关系,从而更好的捕捉交易信息特征。
步骤S130,从获得的第一节点序列中移除合约节点来生成用户节点序列,通过对第一节点序列和用户节点序列中每个序列的每个顶点上基于随机游走进行多尺度特征提取来生成多尺度序列组。
基于在网络特征学习的任务中,目前大多数方法都是通过每个顶点出发从而得到一个融合了所有尺度的表示,无法明确的捕获网络内节点之间的多尺度关系,因此无法区分网络在各个尺度上的差异。例如经典的DeepWalk算法通过随机游走建立了各个节点间的依赖关系,但是这种特征获取的方式存在一定的局限性,不能够多尺度地表示出节点的特征信息。而以太坊上的交易数据与常见的图拓扑结构具有明显的不同,首先,作为交易图,反应了不同用户间的金融联系和社会关系,即存在多个尺度的信息,例如家庭、朋友等联系紧密的低尺度关系和企业、国家等宏观维度的高尺度关系等等,每个尺度都能捕捉到不同的潜在特征。其次,作为以太坊,与区块链的交易行为不同的是,以太坊中存在合约地址,可以对外部交易进行响应,从而触发内部交易。因此在以太坊中的交易可以归结为两类:用户地址-用户地址,用户地址-合约地址-用户地址。而合约节点作为内部节点,在一些交易场景不能有效的反应出用户间的关联关系,影响到用户的特征表现。因此在本实施例中,采用面向以太坊的多尺度特征提取方法,对节点序列进行多尺度特征提取,生成多尺度序列组。更具体地,通过从第一节点序列中移除合约节点来生成用户节点序列(第二节点序列),并针对以太坊的特征基于第一节点序列和第二节点序列进行双序列采样,从而通过对双序列的每个节点进行基于随机游走的二次采样来生成体现这些多尺度关系,从而从多个尺度来捕获以太坊交易过程中的特征信息,由此更好的捕获交易信息中隐含的高阶关系。
在本实施例中,面向以太坊的多尺度特征提取方法可采用现有的Walklets模型。Walklets模型是一种用于学习网络中顶点的多尺度表示方法,该模型通过跳过图中的某些节点来修改随机游走策略。本发明实施例中,Walklets模型通过在双序列的每个顶点上对随机游走进行二次采样来体现多尺度关系,从多个尺度来捕获交易的特征信息,从而更好的捕获交易信息中隐含的高阶关系。如图5所示,从原始的采样序列S1 (x1→x7→x3→x9→x4→x6→x5)中通过筛选掉合约节点x3和x6得到只包含用户节点的序列S2(x1→x7→x9→x4→x5),再对序列S1和S2进行不同尺度的特征提取,例如,通过跳过节点序列S1中的一个和两个节点来分别额外得到两个多尺度序列组,连同原阶段序列S1对应的序列组共得到3个多尺度序列组,如图5中第一行的3个序列组,分别为尺度为1的序列组(A1的语料库)、尺度为2的序列组(A2的语料库)和尺度为3的序列组(A3的语料库);通过跳过节点序列S2中的一个和两个节点也分别额外得到两个多尺度序列组,连同原阶段序列S2对应的序列组共得到3个多尺度序列组,如图5中第二行的3个序列组,分别为尺度为1的序列组(A1的语料库)、尺度为 2的序列组(A2的语料库)和尺度为3的序列组(A3的语料库),由此就得到了采样序列在不同维度下的语料库。
步骤S140,将生成的多尺度序列组输入预定的网络嵌入模型将节点映射到向量空间,得到各个节点在向量空间的嵌入表示。
本发明实施例中,为了更准确的检测出网络钓鱼诈骗节点,需要在特征学习过程中更加有效的学习到有向多重交易网络中各节点的特征表示,即学习交易网络中所有节点的嵌入表示得到从节点到节点嵌入空间的映射函数Φ:以尽可能多地保留图的拓扑信息,使其能够最大化相邻节点间的共现频率。其中,d是特征表示的维数,表示映射空间,|V|表示节点数,这些获得的节点嵌入表示可以用作下游异常检测分类任务的特征输入。
在本发明一实施例中,预定的网络嵌入模型为Skip-gram模型,Skip-gram模型能够在给定语料库的情况下,为语料库中的单词产生一个能表达语义的向量。也即,本步骤是将上述采样得到的语料库输入到Skip-gram模型中,得到各个节点的向量表示Φ(u),如图4所示,由此将交易信息嵌入到节点表示的向量空间中。
Skip-gram模型最早在自然语言处理领域被提出,能够在给定无标签的语料库的情况下,为语料库中的单词产生一个能表达语义的向量。本发明实施例中,将其用在图表示学习领域,使用Skip-gram模型优化目标函数,以最大化节点u与邻居节点共现的可能性。
由于Skip-gram模型为现有模型,本发明不再赘述。但本发明不限于Skip-gram模型,还可以是其他网络嵌入模型。
步骤S150,基于各个节点在向量空间的嵌入表示利用分类算法对正常节点地址和异常节点地址进行分类,实现对检测模型的训练。
在本发明实施例中,本发明采用one-class SVM分类算法对钓鱼地址和非钓鱼地址进行分类并得到分类结果,通过将分类结果与训练数据中的标签相比较来反馈至TransWalk模型,从而实现对模型的训练。one-class SVM分类算法可以适应极端正负样本偏差过大和网络异构的问题。
在模型训练好后,便可基于真实的以太坊交易网络来进行诸如网络钓鱼之类的异常行为的检测。因此,在本发明实施例中,基于预训练的模型对真实以太坊交易网络的网络异常检测步骤包括:
步骤S160,利用预训练的检测模型对实际以太坊交易网络进行检测,获得网络异常检测结果。
本发明实施例中,TransWalk算法会对每个节点执行多次固定长度的随机游走。其中在每次选择邻域节点时,根据设计的有偏采样策略综合交易金额和交易时间戳进行选择。随机游走结束后,会对每个节点的双采样序列进行多尺度的特征提取,以获得多维度的特征。最后,将采样序列输入skip-gram模型得到各个节点的嵌入表示。值得一提的是,因为程序预处理时已经结合交易时间和交易金额计算了节点间的转移概率,因此在随机游走过程中可以以o(1)的时间复杂度进行快速游走,加快计算过程。
本发明可以检测整个以太坊网络中的正常交易节点和异常交易节点,从而捕捉区块链上的异常交易,规避潜在的金融风险。本发明实施例的基于图神经网络的以太坊网络异常检测方法和系统将one-class SVM引入到以太坊网络的异常检测中,得到的分类结果更具有针对性、准确性和有效性。
以上是以TransWalk模型作为网络异常检测模型的示例,其结合有偏随机游走、多尺度特征提取算法和Skip-gram模型来实现面向交易网络的有偏采样策略、面向以太坊的多尺度特征提取和节点到向量空间的映射,本发明的算法能更有效的提取节点特征,从而更准确的识别钓鱼节点。另外,本发明的方法具有很强的通用性,可以在随机游走过程中提取到交易网络的多尺度金融信息,可以应用于任何有向多重交易网络的特征提取和行为分析。在本发明另选实施例的网络异常检测模型中,也可以选择其他的特征提取算法。本发明的方法不仅可以进行网络钓鱼节点的检测,若将其他异常金融交易节点作为训练数据来训练网络异常检测模型,也可以实现其他金融交易异常节点的检测。由此本发明不仅能捕捉区块链上的异常交易,规避潜在的金融风险,还能对金融交易进行异常检测。
本发明的以太坊钓鱼诈骗检测方法,通过以太坊数据集进行了大量实验,验证了该方案在识别以太坊钓鱼检测方面非常快速有效,对比经典的检测方法,本发明的检测精确率提高了7.18%,召回率提高了8.25%。
与上述方法相应地,本发明还提供了一种基于图神经网络的以太坊网络异常检测系统,该系统包括计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有计算机指令,所述处理器用于执行所述存储器中存储的计算机指令,当所述计算机指令被处理器执行时该系统实现如前所述方法的步骤。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时以实现前述边缘计算服务器部署方法的步骤。该计算机可读存储介质可以是有形存储介质,诸如随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、软盘、硬盘、可移动存储盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质。
本领域普通技术人员应该可以明白,结合本文中所公开的实施方式描述的各示例性的组成部分、系统和方法,能够以硬件、软件或者二者的结合来实现。具体究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本发明的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。
需要明确的是,本发明并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本发明的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本发明的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。
本发明中,针对一个实施方式描述和/或例示的特征,可以在一个或更多个其它实施方式中以相同方式或以类似方式使用,和/或与其他实施方式的特征相结合或代替其他实施方式的特征。
以上所述仅为本发明的优选实施例,并不用于限制本发明,对于本领域的技术人员来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于图神经网络的以太坊网络异常检测方法,其特征在于,该方法包括检测模型训练步骤和基于预训练检测模型的网络异常检测步骤;
所述检测模型训练步骤包括:
基于获取的以太坊交易数据构建训练用的有向交易图,其中,构建的有向交易图中的节点包括带标签的正常节点样本和异常节点样本,每个节点代表以太坊上的一个地址,所述有向交易图的节点间的每条边表示一条交易记录,所述交易记录包括交易发起者、交易接收者、交易金额和交易时间戳;
选择构建的交易图中的节点,基于选择的当前节点与交易图中的其他节点的交易金额计算当前节点到邻居节点的第一转移概率,并基于当前节点与其他节点的交易时间戳计算当前节点到邻居节点的第二转移概率,基于第一转移概率和第二转移概率确定当前节点到邻居节点的综合转移概率,并基于随机游走算法利用确定的综合转移概率对构建的交易图中的节点进行有偏采样,获得第一节点序列;
从获得的第一节点序列中移除合约节点来生成用户节点序列,通过对第一节点序列和用户节点序列中每个序列的每个顶点上基于随机游走进行多尺度特征提取来生成多尺度序列组;
将生成的多尺度序列组输入预定的网络嵌入模型将节点映射到向量空间,得到各个节点在向量空间的嵌入表示;以及
基于各个节点在向量空间的嵌入表示利用分类算法对正常节点地址和异常节点地址进行分类,实现对检测模型的训练;
所述基于预训练检测模型的网络异常检测步骤利用预训练的检测模型对实际以太坊交易网络进行检测,获得检测结果。
2.根据权利要求1所述的方法,其特征在于,所述异常节点样本为网络钓鱼节点样本。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
收集以太坊交易数据的步骤,根据以太坊提供的API进行两层的广度遍历算法获得以太坊交易网络,获得的以太坊交易网络中包括正常节点样本和异常节点样本。
4.根据权利要求1所述的方法,其特征在于,所述分类算法为one-class SVM算法;
进行所述多尺度特征提取的模型为Walklets模型。
5.根据权利要求1所述的方法,其特征在于,所述有向交易图表示为GX=(V,E,X),其中,V表示节点集,E是边集,X表示所有边的交易信息,所述交易信息包括交易发起者、交易接受者、交易金额和交易时间戳。
6.根据权利要求1所述的方法,其特征在于,所述综合转移概率满足以下公式:
P(u,x)=εPA(u,x)+(1-ε)PT(u,x);
其中,PA(u,x)为节点u到邻居节点x的第一转移概率,PT(u,x)为节点u到邻居节点x的第二转移概率,ε为第一转移概率的权重,1-ε为第二转移概率的权重。
7.根据权利要求6所述的方法,其特征在于,
所述第一转移概率满足以下公式:
其中,N(u)表示节点u的外邻居合集,A(u,n)表示节点u到节点n间发生的所有交易的交易金额合集,A(u,x)表示节点u到邻居节点x间发生的所有交易的交易金额合集,Ai(u,n)表示节点u到节点n间发生的第i条交易的交易金额,Ai(u,x)表示节点u到邻居节点x间发生的第i条交易的交易金额,|A(u,n)|表示节点u到节点n的交易数(边数),|A(u,x)|表示节点u到节点x的交易数(边数),i表示交易编号;
所述第二转移概率满足以下公式:
T(u,n)代表节点u到节点n间发生的所有时间戳合集,T(u,x)代表节点u到邻居节点x间发生的所有时间戳合集,Ti(u,n)代表节点u到节点n间发生的第i条交易的时间戳,Ti(u,x)代表节点u到邻居节点x间发生的第i条交易的时间戳,|T(u,n)|表示表示节点u到节点n的交易数(边数),|T(u,x)|表示表示节点u到节点x的交易数(边数),i表示交易编号。
8.根据权利要求1所述的方法,其特征在于,所述预定的网络嵌入模型为Skip-gram模型。
9.一种基于图神经网络的以太坊网络异常检测系统,包括处理器和存储器,其特征在于,所述存储器中存储有计算机指令,所述处理器用于执行所述存储器中存储的计算机指令,当所述计算机指令被处理器执行时该系统实现如权利要求1至8中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至8中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210520557.2A CN115378629A (zh) | 2022-05-13 | 2022-05-13 | 基于图神经网络的以太坊网络异常检测方法、系统和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210520557.2A CN115378629A (zh) | 2022-05-13 | 2022-05-13 | 基于图神经网络的以太坊网络异常检测方法、系统和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115378629A true CN115378629A (zh) | 2022-11-22 |
Family
ID=84060492
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210520557.2A Pending CN115378629A (zh) | 2022-05-13 | 2022-05-13 | 基于图神经网络的以太坊网络异常检测方法、系统和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115378629A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111368552A (zh) * | 2020-02-26 | 2020-07-03 | 北京市公安局 | 一种面向特定领域的网络用户群组划分方法及装置 |
CN116032670A (zh) * | 2023-03-30 | 2023-04-28 | 南京大学 | 基于自监督深度图学习的以太坊钓鱼欺诈行为检测方法 |
CN116361719A (zh) * | 2023-03-27 | 2023-06-30 | 烟台大学 | 一种以太坊网络钓鱼用户的检测方法和系统 |
CN116738201A (zh) * | 2023-02-17 | 2023-09-12 | 云南大学 | 基于图对比学习的非法账户识别方法 |
-
2022
- 2022-05-13 CN CN202210520557.2A patent/CN115378629A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111368552A (zh) * | 2020-02-26 | 2020-07-03 | 北京市公安局 | 一种面向特定领域的网络用户群组划分方法及装置 |
CN116738201A (zh) * | 2023-02-17 | 2023-09-12 | 云南大学 | 基于图对比学习的非法账户识别方法 |
CN116738201B (zh) * | 2023-02-17 | 2024-01-16 | 云南大学 | 基于图对比学习的非法账户识别方法 |
CN116361719A (zh) * | 2023-03-27 | 2023-06-30 | 烟台大学 | 一种以太坊网络钓鱼用户的检测方法和系统 |
CN116361719B (zh) * | 2023-03-27 | 2024-02-02 | 烟台大学 | 一种以太坊网络钓鱼用户的检测方法和系统 |
CN116032670A (zh) * | 2023-03-30 | 2023-04-28 | 南京大学 | 基于自监督深度图学习的以太坊钓鱼欺诈行为检测方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230013306A1 (en) | Sensitive Data Classification | |
CN115378629A (zh) | 基于图神经网络的以太坊网络异常检测方法、系统和存储介质 | |
WO2022121145A1 (zh) | 一种基于图分类的以太坊网络钓鱼诈骗检测方法及装置 | |
Rashid et al. | Phishing detection using machine learning technique | |
Layton et al. | Automatically determining phishing campaigns using the uscap methodology | |
CN112435137B (zh) | 一种基于社团挖掘的欺诈信息检测方法及系统 | |
US10339526B2 (en) | System and method for risk evaluation in EFT transactions | |
Balasupramanian et al. | User pattern based online fraud detection and prevention using big data analytics and self organizing maps | |
JP2022548501A (ja) | 暗号通貨取引を分析するためのデータ取得方法及び装置 | |
CN116307671A (zh) | 风险预警方法、装置、计算机设备、存储介质 | |
CN114782051A (zh) | 基于多特征学习的以太坊钓鱼诈骗账户检测装置及方法 | |
Wassan et al. | A Smart Comparative Analysis for Secure Electronic Websites. | |
Lokanan | Predicting mobile money transaction fraud using machine learning algorithms | |
CN112750038B (zh) | 交易风险的确定方法、装置和服务器 | |
Alkawaz et al. | Identification and analysis of phishing website based on machine learning methods | |
Zaman et al. | Phishing website detection using effective classifiers and feature selection techniques | |
CN111245815B (zh) | 数据处理方法、装置、存储介质及电子设备 | |
KR102199587B1 (ko) | 암호화폐 거래 분석 방법 및 장치 | |
Kumar et al. | Preserving security of crypto transactions with machine learning methodologies | |
CN110472680B (zh) | 目标分类方法、装置和计算机可读存储介质 | |
CN114298712A (zh) | 一种加密货币异常交易检测方法及应用 | |
Zhao et al. | Detecting fake reviews via dynamic multimode network | |
Singh et al. | A reliable click-fraud detection system for the investigation of fraudulent publishers in online advertising | |
Hanees | Phishing e mail detection in e Banking using data mining techniques | |
CN111626887A (zh) | 一种社交关系评估方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |