CN116527313B - 一种区块链钓鱼行为检测方法及装置 - Google Patents
一种区块链钓鱼行为检测方法及装置 Download PDFInfo
- Publication number
- CN116527313B CN116527313B CN202310289882.7A CN202310289882A CN116527313B CN 116527313 B CN116527313 B CN 116527313B CN 202310289882 A CN202310289882 A CN 202310289882A CN 116527313 B CN116527313 B CN 116527313B
- Authority
- CN
- China
- Prior art keywords
- node
- graph
- nodes
- transaction
- behavior
- 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.)
- Active
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 34
- 230000014509 gene expression Effects 0.000 claims abstract description 67
- 238000000034 method Methods 0.000 claims abstract description 45
- 238000012549 training Methods 0.000 claims abstract description 22
- 238000010586 diagram Methods 0.000 claims abstract description 16
- 230000006399 behavior Effects 0.000 claims description 85
- 230000000737 periodic effect Effects 0.000 claims description 34
- 238000004422 calculation algorithm Methods 0.000 claims description 20
- 230000007246 mechanism Effects 0.000 claims description 19
- 239000013598 vector Substances 0.000 claims description 16
- 230000003993 interaction Effects 0.000 claims description 13
- 238000013528 artificial neural network Methods 0.000 claims description 11
- 238000005070 sampling Methods 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 6
- 238000013507 mapping Methods 0.000 claims description 4
- 230000004931 aggregating effect Effects 0.000 claims description 3
- 230000015654 memory Effects 0.000 claims description 3
- 239000013604 expression vector Substances 0.000 claims description 2
- 238000005457 optimization Methods 0.000 claims description 2
- 230000002354 daily effect Effects 0.000 description 20
- 238000012546 transfer Methods 0.000 description 18
- 230000000694 effects Effects 0.000 description 16
- 238000010276 construction Methods 0.000 description 8
- 238000007637 random forest analysis Methods 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 7
- 235000019580 granularity Nutrition 0.000 description 6
- 230000002776 aggregation Effects 0.000 description 4
- 238000004220 aggregation Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 238000005065 mining Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000012512 characterization method Methods 0.000 description 2
- 230000003203 everyday effect Effects 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 210000002569 neuron Anatomy 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000001212 derivatisation Methods 0.000 description 1
- 238000012407 engineering method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000005295 random walk Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 238000000547 structure data Methods 0.000 description 1
- 230000001502 supplementing effect Effects 0.000 description 1
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
- G06N3/0442—Recurrent networks, e.g. Hopfield networks characterised by memory or gating, e.g. long short-term memory [LSTM] or gated recurrent units [GRU]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
- G06N3/0455—Auto-encoder networks; Encoder-decoder networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/0895—Weakly supervised learning, e.g. semi-supervised or self-supervised learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/09—Supervised learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/096—Transfer learning
-
- 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
- H04L63/1425—Traffic logging, e.g. anomaly detection
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种区块链钓鱼行为检测方法及装置。本方法为:1)以区块链中标记的各钓鱼节点为中心构建二阶区块链有向交易图G;2)基于交易图G对编码器进行训练:每轮训练时首先对交易图G进行两次图结构级的数据增强,形成两种不同的视图G1,G2,然后将视图G1,G2分别输入共享参数的编码器,得到视图G1,G2中每一节点v对应的一组特征:日周期行为特征、生命周期内周期行为特征、图结构语义特征,根据节点特征生成视图G1,G2中每一节点的特征表达根据的差异优化编码器;3)将待检测目标节点的交易图输入训练后的编码器,得到目标节点的特征表达并输入分类器进行分类,确定是否为钓鱼节点。
Description
技术领域
本发明涉及计算机网络安全领域,用于发现区块链上的钓鱼行为,更具体地,是一种区块链钓鱼行为检测方法及装置。
背景技术
相比于传统钓鱼方法的检测,区块链上钓鱼行为具有隐蔽性更强,持久性更长、智能合约代码可能不开源等特性,而且造成的经济损失严重。传统检测方法通常采用主机信息、URL信息、网页内容、跳转路径、文件分析等特征,对钓鱼者进行基于模式或明文的检测,在区块链上使用具有一定局限性,从而需研究更有针对性的检测方法。
由于钓鱼节点的稀疏性,区块链上的钓鱼分析方法一般先进行数据不平衡处理,基于处理后的数据进行检测算法设计。一般采用过采样、欠采样或以钓鱼节点为中心的一阶、二阶子图来缓解钓鱼节点稀疏的问题。但是过采样与欠采样易引发信息过拟合或丢失的问题。子图的方法虽保留了更丰富的行为模式但对抗恶意节点邻居控制的能力较弱。对于检测算法的设计,早期特征工程法耗时耗力、通用性低、存在知识局限性。中期衍生的基于图的检测算法通过图分割、图表示等学习结构语义信息,但是多数忽略了时序行为信息与统计信息,效果仍有待提高。近期基于行为建模法多使用于智能合约漏洞的挖掘,基于钓鱼行为建模的研究仍有提高余地。
综上,目前的核心问题是如何高效准确地区分良性行为与钓鱼行为,基于此,存在三个主要挑战:(1)不同人对钓鱼行为有不同的表达方式,超高维度的结构化数据导致目前算法提取相关可用信息困难,缺少综合且全面刻画行为表达方式的区块链钓鱼检测算法。(2)检测算法要考虑到钓鱼行为随时间衍化的问题,时序行为信息的研究有待增强。(3)当前数据不平衡处理方法存在过拟合、信息丢失或被恶意对抗的问题,缺少可适配的数据增强方法。
发明内容
本发明提出了一种区块链钓鱼行为检测方法及装置。通过在图像领域颇为流行的数据增强算法——对比学习,处理不平衡数据,充分挖掘稀疏节点信息。通过使用LSTM(长短期记忆网络),GAT(图注意力网络)与注意力机制,整合一组包含时序行为特征、图结构特征与语义特征的综合信息以刻画区块链上的钓鱼行为,实现自动化提取各类行为并加以融合。在精确度、召回率、F1值方面相对前人均有所提升。
为达到上述目的,本发明采用的具体技术方案是:
一种区块链恶意行为检测方法,其步骤包括:
1)以区块链中标记的各钓鱼节点为中心构建二阶区块链有向交易图G=(V,E,F),其中,V表示以已知的钓鱼节点为中心的二阶节点集合,E表示节点之间的有向边集合,F表示节点属性集合;
2)基于所述二阶区块链有向交易图G对编码器进行训练:每轮训练时首先对所述二阶区块链有向交易图G进行两次图结构级的数据增强,形成两种不同的视图G1,G2,然后将视图G1,G2分别输入共享参数的编码器,得到视图G1,G2中每一节点v对应的一组特征根据节点特征生成视图G1中每一节点v对应的特征表达/>以及视图G2中每一节点v对应的特征表达/>然后根据同一节点对应的两特征表达/>的差异,优化所述编码器;其中,/>为日周期行为特征、/>为生命周期内周期行为特征、Sv为图结构语义特征;
3)将待检测目标节点的二阶区块链有向交易图输入训练后的编码器,得到该目标节点的特征表达并将其输入分类器进行分类,确定该目标节点是否为钓鱼节点。
进一步的,得到所述二阶区块链有向交易图G的方法为:以每一所述钓鱼节点为中心,采用广度优先算法进行二阶节点采样,得到时序多图;计算所述时序多图的最大连通子图;将所述最大连通子图中的多边信息以元组方式聚合至有向边,得到二阶区块链有向交易图G。
进一步地,交易图构建中所述的聚合部分是将最大连通子图中的多边信息以元组方式聚合至有向边,使得最终交易图G为有向图。
进一步地,交易图构建中所述的节点属性包括:每日(30天内)总计转入交易金额、转出交易金额、入度、出度、活跃节点个数(入度+出度)、转入笔均金额、转出笔均金额、入度与出度比、交易笔数、内部交互时间序列,其中内部交互时间序列为每个节点在连续100个交易集合内,每两个交易的时间间隔。
进一步地,所述钓鱼节点为从情报中获取的已标记为钓鱼节点的区块链地址,将图中钓鱼节点标记为1,良性节点标记为0。数据增强:对交易图G进行两次图结构级的数据增强,形成两种不同的视图G1,G2用于后续编码器的训练,每轮编码器训练前均需要对交易图G进行两次数据增强。
进一步地,所述图结构级的数据增强具体为:若节点标记为钓鱼,则不会在数据增强中被丢弃。若未被标记为钓鱼的节点,按照权重wpage进行节点丢弃操作,wpage越高被丢弃的概率就越小。丢弃节点后,保留剩余节点原始连边,得到增强后子图。
进一步地,权重wpage是每个节点的按照网页重要度算法(PageRank算法)计算出的值。
特征表达:视图G1,G2分别输入共享参数的编码器,按照二者在节点日周期行为生命周期内周期行为/>图结构语义Sv的维度差异,采用基于注意力机制的GAT-LSTM网络进行节点细粒度特征表达,其中v∈V。
进一步地,特征表达中所述编码器具体为:将节点分为日周期行为表达、生命周期内周期行为表达与图结构语义表达三部分进行特征表达,最终将三种表达的向量连接后得到节点的区块链地址表达。
进一步地,日周期行为表达具体为:每个节点在30天内按天粒度对属性分割后得到行为序列c={c1,c2,…,c30},将F中的每日(30天内)总计转入交易金额、转出交易金额、入度、出度、活跃节点个数(入度+出度)、转入笔均金额、转出笔均金额、入度与出度比、交易笔数分配至每一天的序列ci,i∈{1,2,3,…,30}中,ci是节点第i日的属性数据。若当天没有活动,则填充0向量,最终将每个节点的行为序列作为基于注意力机制的LSTM网络的输入,得到特征提取后的日周期行为表达/>30天是实验做出来的,最适合研究钓鱼行为周期。
进一步地,生命周期内周期行为表达具体为:每个节点在其100个交易数据构成一集合,该集合内相邻两交易的时间间隔构成内部交互时间序列{ΔT1,ΔT2,…,ΔT99},将其作为基于注意力机制的LSTM网络的输入,得到特征提取后的生命周期内周期行为表达若节点总计交易数小于100个,则用0补齐交互时间序列;此处的100也是实验得到,最适合研究钓鱼行为的数值。
进一步地,图结构语义表达Sv具体为:将日周期行为表达与生命周期内周期行为表达/>加入节点属性集合F后,将每个节点的属性输入GAT神经网络后,得到图结构语义表达Sv。
进一步地,将日周期行为表达生命周期内周期行为表达/>与图结构语义表达Sv向量连接后得到节点细粒度特征表达Hv,作为损失计算部分的输入。对比学习损失计算:在得到视图G1,G2中每个节点分别在两次不同数据增强下的特征表达/>与/>后,通过有监督对比学习进行编码器的参数训练;其中,根据视图G1中每一节点v对应的一组特征生成视图G1中节点v对应的特征表达/>根据视图G2中每一节点v对应的一组特征/> 生成视图G2中节点v对应的特征表达/>
进一步地,所述有监督对比学习具体为:将与/>映射为m维向量,采用损失函数进行梯度下降,使得相同标签的地址表达向量距离更近,以此更新编码器参数,进行迭代,其中N为一个视图中的节点个数,P(i)为正样本集合,hP为Hn经过映射后的向量,/>为两个视图内所有节点中的第i个节点对应的特征表达经过映射后的向量,/>为节点集合V(i)中第a个节点对应的特征表达经过映射后的向量,/>为P(i)中第p个正样本对应的特征表达经过映射后的向量,·为内积操作,τ∈R+为可调整的标量因子,又叫温度系数。
进一步地,正样本P(i)≡{p∈All(i):yp=yi},其中i∈{1,2,..2N},All(i)≡{1,2,…,2N}\{i},y为节点标签类型,图中所有节点的节点表达均可作为样本,两个视图G1,G2共计包含2N个节点。目标节点检测:获得稳定的编码器后,采用现有数据训练分类器。对于待检测的目标节点,以目标节点为中心构建二阶区块链有向交易图,经过已获得的编码器后得到特征表达,进行分类,得到目标节点类别(良性或钓鱼)。
进一步地,将交易图G中所有节点通过稳定的编码器后得到特征表达,作为有监督机器学习的训练样本,得到训练好的分类器。
进一步地,待检测目标节点通过训练完成后的编码器得到节点表达,采用训练好的分类器进行分类。
进一步地,所述机器学习的方法包括:随机森林。
一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序执行上述任一方法。
一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一所述方法。
与现有技术相比,本发明的创造性在于:
1)在区块链钓鱼检测领域,首次尝试使用对比学习进行图结构级别的数据增强,解决数据极度不平衡中可能发生的过拟合、信息丢失或被恶意对抗的问题,充分挖掘已确定为钓鱼节点的稀疏节点信息并获得了良好的效果,更具泛化与鲁棒性。
2)从区块链交易网络的统计特征、时序、图结构以及语义等角度分析并挖掘了区块链钓鱼行为特征。加入细粒度更高的时序行为,从日周期行为与生命周期内周期行为两种不同时间粒度上进行时序特征提取。与注意力机制联合,建立了一个基于注意力机制的GAT-LSTM的深度神经网络,以自动化的方式提取节点表征并进行多行为融合,无需手工特征工程,缓解了背景技术部分所提现有方法的局限性同时大幅提高了检测的精确度、召回率与F1值。
附图说明
图1是本发明中区块链上钓鱼行为检测方法整体架构图。
图2是本发明中用于特征表达的编码器网络结构示意图。
图3是本发明中不同LSTM序列长度对方法效果的影响图;
(a)序列长度对召回率的影响,(b)序列长度对精准率的影响,(c)序列长度对F1值的影响。
图4是本发明中不同注意力大小对方法效果的影响图;
(a)注意力尺寸对召回率的影响,(b)注意力尺寸对精准率的影响,(c)注意力尺寸对F1值的影响。
图5是本发明中不同温度系数对方法效果的影响图;
(a)温度系数对召回率的影响,(b)温度系数对精准率的影响,(c)温度系数对F1值的影响。
具体实施方式
为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明的目的、特征和优点能够更加明显易懂,下面结合附图和事例对本发明中技术核心作进一步详细的说明。
本发明提出了一种区块链钓鱼行为检测方法及装置。所述方法基于区块链上公开透明且不可篡改的数据,将地址间的交互行为图结构化,在语义信息的基础上也保留了时序信息。根据区块链上钓鱼行为在统计特征、日周期行为、生命周期内周期行为与图结构语义间的差异,采用对比学习的方式深入挖掘钓鱼行为节点信息,训练出了一种基于注意力机制的GAT-LSTM深度神经网络编码器,以自动化的方式提取节点表征并进行多行为融合;最后当需识别目标节点时,则先使用稳定的编码器进行节点特征表达,最后使用随机森林有监督学习技术对其进行分类,达到了较好的检测效果,在精确度、召回率与F1值方面均有所提升。
本发明的区块链钓鱼行为检测方法,主要由带有时序与语义信息的交易图构建、为充分挖掘钓鱼行为信息的数据增强、自动化提取节点特征表达的基于注意力机制的GAT-LSTM的深度神经网络、减小类内差距,增大类间差距的对比学习损失计算网络和目标节点检测五部分组成,如图1所示,包括步骤100-500。
步骤100:带有时序与语义信息的交易图构建,主要包括种子数据获取、广度优先游走采样与多边聚合转换为有向图。
本步骤最终形成一张有向同质图,表示区块链地址间的交互行为。通过情报数据库(Etherscan)所披露的区块链钓鱼行为,以所有钓鱼节点为中心,向外获取其所有的二阶节点,形成种子数据(时序多图)。由于此时数据过于庞大,所以采用广度优先的游走方式,以钓鱼节点为中心向外游走,形成种子数据的子图,后计算子图的最大连通子图(时序多图),进行多边聚合,将时序多图转换为有向图。
在一示例中,步骤100包括步骤110-130:
步骤110:种子数据获取。
本示例对于从情报数据库获取的钓鱼行为数据集Vphishing,以Vphishing为中心向外扩展得到一阶与二阶节点及其所有交易连边Emulti与链上记录属性Fmulti。本示例遍历数据集Vphishing,将上述一阶与二阶节点添加到时序多图节点Vmulti中。
步骤120:广度优先游走采样。
由于时序多图节点Vmulti的数据量过于庞大,故仍以Vphishing为中心,在Vmulti上进行广度优先游走,采样得到Vmulti的子图,计算最大连通子图,最终最大连通子图为采样后的时序多图。
步骤130:多边聚合,将时序多图转换为有向图。
将同方向边进行聚合,使得边上信息转移至节点,得到节点属性集合F:每日(30天内)总计转入交易金额AI、转出交易金额AO、入度I、出度O、活跃节点个数(入度+出度)J、转入笔均金额MI、转出笔均金额MO、入度与出度比D、交易笔数Num、内部交互时间序列ΔT,其中内部交互时间序列为每个节点在连续100个交易集合内,每两个交易的时间间隔。
步骤200:交易图结构数据增强。
本步骤用于每轮编码器参数训练前,步骤100中构建的图,按照数据增强策略分别进行两次增强,形成两种增强后的视图。
在一示例中,步骤200主要包括步骤210-230:
步骤210:根据网页重要度算法(PageRank算法)计算出所有节点的网页重要度(PageRank)值,作为节点权重wpage。
步骤220:若节点标记为钓鱼,则不会在数据增强中被丢弃;未标记为钓鱼的节点,按照wpage权重进行丢弃操作,即wpage越高被丢弃的概率就越小。
步骤230:节点经过丢弃操作后,保留剩余节点连边,得到增强后子图。
步骤300:自动化提取节点特征表达的基于注意力机制的GAT-LSTM深度神经网络,主要包括日周期行为特征表达、生命周期内周期行为表达与图结构语义表达。
本步骤最终得到所有节点的融合后的特征表达,在一示例中,如图2所示,包含步骤310-340:
步骤310:日周期行为表达
将每个节点的日行为(30天内)序列c={c1,c2,…,c30}作为基于注意力机制的LSTM网络的输入,得到其中ci={AI,AO,I,O,J,MI,MO,D,Num},i∈{1,2,3,…,30},若第i天该节点没有活动,则ci={0,0,0,0,0,0,0,0,0}。
步骤320:生命周期内周期行为表达
将每个节点的生命周期内,内部交互时间序列(100个连续交易)ΔT={ΔT1,ΔT2,…,ΔT99}作为基于注意力机制的LSTM网络的输入,得到若交易总数小于100,则用0填充。
步骤330:图结构语义表达Sv。
将日周期行为表达与生命周期内周期行为表达/>加入节点属性集合F,将每个节点的属性作为GAT神经网络的输入,得到Sv。
步骤340:将日周期行为表达生命周期内周期行为表达/>与图结构语义表达Sv连接后得到节点特征表达,两个视图所得特征表达分别为/>与/>
步骤400:减小类内差距,增大类间差距的对比学习损失计算网络,主要包括向量映射,采用损失函数进行梯度下降以更新步骤300中编码器参数。
在一示例中,包含步骤410-430:
步骤410:将与/>通过一具有m个神经元的全连接层,得到m维向量,/>与/>
步骤420:使用与/>计算损失函数最小化类内距离,最大化类间距离,其中N为图节点个数,P(i)≡{p∈All(i):yp=yi}为正样本集合,其中i∈{1,2,..2N},All(i)≡{1,2,…,2N}\{i},y为节点标签类型,hP为Hn经过映射后的向量,·为内积操作,τ∈R+为可调整的标量因子,又叫温度系数。
步骤430:返回步骤200,继续进行编码器参数迭代,直至Loss值稳定后进入步骤500。
步骤500:目标节点检测。主要包括训练分类器,目标节点特征表达,检测分类。
本步骤采用有监督机器学习的方式对节点特征表达进行分类,实现钓鱼行为发现。包括步骤510-530。
步骤510:在编码器达到稳定后,将所有节点属性输入编码器得到特征表达作为随机森林分类器的训练样本,得到训练好的随机森林分类器。
步骤520:目标节点经过步骤100后形成以其为中心的交易结构图,通过编码器后得到目标节点的特征表达。
步骤530:随机森林分类器对目标节点的特征表达进行分类,得到标签l,1为钓鱼,0为良性,以检测目标节点。
本发明还公开了一种区块链钓鱼行为检测装置,包括交易图构建模块、数据增强模块、基于注意力机制的GAT-LSTM深度神经网络模块、对比学习损失计算网络模块和目标节点检测模块,包括以下步骤:
步骤100,交易图构建模块。具体步骤包括:
步骤110,使用python的request、json库爬虫技术从情报数据库获取的钓鱼行为数据集Vphishing,以Vphishing为中心向外扩展得到一阶与二阶节点及其所有交易连边Emulti与链上记录属性Fmulti。遍历数据集Vphishing,将上述一阶与二阶节点添加到时序多图节点Vmulti中。
步骤120,使用python的NetworkX库,以Vphishing为中心,在Vmulti上进行广度优先游走,采样得到Vmulti的子图,计算最大连通子图,最终最大连通子图为采样后的时序多图Gmulti=(Vmulti,Emulti,Fmulti)。
步骤130,使用python的NetworkX库,将同方向边进行聚合,使得边上信息转移至节点,得到最终交易图G=(V,E,F),其中F=(AI,AO,I,O,J,MI,MO,D,Num,ΔT)。
步骤200,数据增强模块。具体步骤包括:
步骤210,使用python的NetworkX库,计算所有节点的PageRank值,作为节点权重wpage。
步骤220,若节点标记为钓鱼,则不会在数据增强中被丢弃;未标记为钓鱼的节点,按照wpage权重进行丢弃操作,即wpage越高被丢弃的概率就越小。
步骤230,节点经过丢弃操作后,保留剩余节点连边,得到增强后子图。
步骤300,基于注意力机制的GAT-LSTM深度神经网络模块,具体步骤包括:
步骤310,使用pytorch库中的LSTM,将每个节点的日行为(30天内)序列c={c1,c2,…,c30}作为基于注意力机制的LSTM网络的输入,得到其中ci={AI,AO,I,O,J,MI,MO,D,Num},i∈{1,2,3,…,30},若第i天该节点没有活动,则ci={0,0,0,0,0,0,0,0,0}。
步骤320:使用pytorch库中的LSTM,将每个节点的生命周期内,内部交互时间序列(100个连续交易)ΔT={ΔT1,ΔT2,…,ΔT99}作为基于注意力机制的LSTM网络的输入,得到若交易总数小于100,则用0填充。
步骤330:将日周期行为表达与生命周期内周期行为表达/>加入节点属性集合F,使用pytorch库中的GNN卷积核,将每个节点的属性作为GAT神经网络的输入,得到Sv。
步骤340:将日周期行为表达生命周期内周期行为表达/>与图结构语义表达Sv连接后得到节点特征表达,两个视图所得特征表达分别为/>与/>
步骤400,对比学习损失计算网络模块,具体步骤包括:
步骤410,使用pytorch库中的全连接层,将与/>通过一具有m个神经元的全连接层,得到m维向量,/>与/>
步骤420,使用GCL模型库中的DualBranchContrast库,采用与/>计算损失函数采用Adam优化算法进行反向传播,以迭代编码器参数。
步骤430:返回步骤200,继续进行编码器参数迭代,直至Loss值稳定后进入步骤500。
步骤500,目标节点检测模块,具体步骤包括:
步骤510,使用python中的sklearn库,将交易图G中的节点属性输入编码器得到特征表达作为随机森林分类器的训练样本,得到训练好的随机森林分类器。
步骤520,目标节点经过步骤100后形成以其为中心的交易结构图,通过编码器后得到目标节点的特征表达。
步骤530,使用训练好的随机森林分类器对目标节点的特征表达进行分类,得到标签l,1为钓鱼,0为良性,以检测目标节点。
实验数据:
在图构建模块中,经过4次随机游走采样得到实验用数据,大量实验(如图4-图5)证明了本区块链钓鱼行为检测方法与系统的有效性与实用性。
具体地,通过实验发现,在区块链钓鱼行为检测表现方面,本发明对比了目前流行的9种相关算法,分别为仅统计特征、DeepWalk、Node2vec、Trans2vec、T-Edge、GraphSAGE、GAT、E-GCN与TTAGN,结果如表1所示。结果表明,在精确率(Pr)、召回率(Rc)与F1值方面均超过其余算法。
表1本发明中所提检测方法的整体检测性能结果
本发明在效率方面,对比了4种流行相关算法的训练时间,分别为Trans2vec、T-Edge、E-GCN与TTAGN,结果如表2所示。结果表明,本发明随着数据集节点的线性增长,其时间也呈现出线性增长,这说明本发明适用于大规模网络。其中,本发明比Trans2vec与T-Edge的训练时间都快,主要因为Trans2vec与T-Edge的采样阶段耗时较长,而且本发明的准确度也高于这两种方法。E-GCN与TTAGN的计算速度更快,拥有更小的每epoch的训练时间代价,主要因为这两种方法在训练时是单视图的而且使用更小集合的特征。但是,这样不利于挖掘小样本的钓鱼节点特征,所以其指标也没有本发明好。尽管本发明不是最快的,但是在GPU的加持下,时间差距是可以缩小的。而且在真实检测环境下一般采用大规模集群进行计算,时间差距更加可以忽略。从召回率与F1的角度下考虑,本发明的表现高于剩余的算法。所以综合考虑准确率与计算时间,本发明更好。
表2本发明中所提检测方法在编码器训练中每轮训练时间结果
本发明的各个模块对于方法的整体影响如表3所示。钓鱼检测中日周期行为贡献最大,在短时间内,钓鱼节点与良性节点行为特征表现差距较大。在架构设计方面,注意力机制贡献也很大,因为不同时间段的行为特征对预测结果的重要程度有所不同,引入后可大大提高预测准确性。
表3本发明的各个模块对于方法的整体影响结果
图3~图5也展示了所提方法与系统的参数敏感度等信息。
综上,本发明尝试将有监督对比学习应用于区块链钓鱼检测问题。提出了一个基于注意力机制的GAT-LSTM对比深度神经网络架构,融合了日周期行为特征、生命周期内周期行为特征与图结构语义特征。本发明更全面地刻画挖掘了以太坊钓鱼节点的行为,提高了检测的精确度、召回率与F1值。
最后所应说明的是,以上实施案例仅用以说明本发明的技术方案而非限制,尽管使用事例对本发明进行了详细说明,本领域的普通技术人员应当理解,可对本发明的技术方案进行修改或者等价替换,而不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。
Claims (10)
1.一种区块链钓鱼行为检测方法,其步骤包括:
1)以区块链中标记的各钓鱼节点为中心构建二阶区块链有向交易图G=(V,E,F),其中,V表示以已知的钓鱼节点为中心的二阶节点集合,E表示节点之间的有向边集合,F表示节点属性集合;
2)基于所述二阶区块链有向交易图G对编码器进行训练:每轮训练时首先对所述二阶区块链有向交易图G进行两次图结构级的数据增强,形成两种不同的视图G1,G2,然后将视图G1,G2分别输入共享参数的编码器,得到视图G1,G2中每一节点v对应的一组特征根据节点特征生成视图G1中每一节点v对应的特征表达/>以及视图G2中每一节点v对应的特征表达/>然后根据同一节点对应的两特征表达/> 的差异,优化所述编码器;其中,/>为日周期行为特征、/>为生命周期内周期行为特征、Sv为图结构语义特征;
3)将待检测目标节点的二阶区块链有向交易图输入训练后的编码器,得到该目标节点的特征表达并将其输入分类器进行分类,确定该目标节点是否为钓鱼节点。
2.根据权利要求1所述的方法,其特征在于,得到所述二阶区块链有向交易图G的方法为:以每一所述钓鱼节点为中心,采用广度优先算法进行二阶节点采样,得到时序多图;计算所述时序多图的最大连通子图;将所述最大连通子图中的多边信息以元组方式聚合至有向边,得到二阶区块链有向交易图G。
3.根据权利要求2所述的方法,其特征在于,所述节点属性包括:最近T天内的每日总计转入交易金额、最近T天内的每日总计转出交易金额、节点的入度、节点的出度、活跃节点个数、转入笔均金额、转出笔均金额、入度与出度比、交易笔数、内部交互时间序列,所述内部交互时间序列为节点在连续M个交易内相邻两个交易的时间间隔构成的序列。
4.根据权利要求3所述的方法,其特征在于,所述编码器采用基于注意力机制的GAT-LSTM网络生成节点日周期行为特征生命周期内周期行为特征/>图结构语义特征Sv。
5.根据权利要求4所述的方法,其特征在于,得到所述日周期行为特征的方法为:按天粒度对所述节点属性进行分割后得到行为序列c={c1,c2,…,cN},ci是第i日的节点属性数据,i=1~N;然后将每个节点的行为序列作为基于注意力机制的LSTM网络的输入,得到特征提取后的日周期行为特征/>得到所述生命周期内周期行为特征/>的方法为:将节点的所述内部交互时间序列作为基于注意力机制的LSTM网络的输入,得到特征提取后的生命周期内周期行为特征/>得到所述图结构语义特征Sv的方法为:将节点v的日周期行为特征生命周期内周期行为特征/>及节点v的节点属性输入GAT神经网络,得到节点v的图结构语义特征Sv。
6.根据权利要求1~5任一所述的方法,其特征在于,所述图结构级的数据增强方法为:若节点标记为钓鱼节点,则不会在数据增强中被丢弃,对于未被标记为钓鱼节点的节点,按照权重wpage进行节点丢弃操作,wpage越高被丢弃的概率就越小;丢弃节点后,保留剩余节点之间的边,得到增强后的视图;其中按照网页重要度算法计算得到每一节点的权重wpage。
7.根据权利要求1~5任一所述的方法,其特征在于,通过有监督对比学习进行编码器的参数训练优化;所述有监督对比学习方法为:将与/>映射为m维向量,采用损失函数进行梯度下降,使得相同标签的地址表达向量距离更近,以此更新编码器参数,进行迭代训练;其中,N为节点个数,P(i)为正样本集合,/>为P(i)中第i个正样本对应的特征表达经过映射后的向量,/>为节点集合V(i)中第a个节点对应的特征表达经过映射后的向量,/>为P(i)中第p个正样本对应的特征表达经过映射后的向量,·为内积操作,τ为可调整的标量因子。
8.根据权利要求7所述的方法,其特征在于,正样本集合P(i)≡{p∈All(i):yp=yi},其中i∈{1,2,..2N},All(i)≡{1,2,…,2N}\{i},yi为节点i的标签类型,yp为节点p的标签类型。
9.根据权利要求1~5任一所述的方法,其特征在于,以目标节点为中心进行二阶节点采样与计算,得到该目标节点的二阶区块链有向交易图。
10.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行权利要求1~9任一所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310289882.7A CN116527313B (zh) | 2023-03-23 | 2023-03-23 | 一种区块链钓鱼行为检测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310289882.7A CN116527313B (zh) | 2023-03-23 | 2023-03-23 | 一种区块链钓鱼行为检测方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116527313A CN116527313A (zh) | 2023-08-01 |
CN116527313B true CN116527313B (zh) | 2024-04-19 |
Family
ID=87407242
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310289882.7A Active CN116527313B (zh) | 2023-03-23 | 2023-03-23 | 一种区块链钓鱼行为检测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116527313B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112738034A (zh) * | 2020-12-17 | 2021-04-30 | 杭州趣链科技有限公司 | 一种基于垂直联邦学习的区块链钓鱼节点检测方法 |
CN113283902A (zh) * | 2021-06-11 | 2021-08-20 | 浙江工业大学 | 一种基于图神经网络的多通道区块链钓鱼节点检测方法 |
CN114187106A (zh) * | 2021-09-23 | 2022-03-15 | 云南财经大学 | 区块链中非法节点识别方法和装置 |
KR20220066823A (ko) * | 2020-11-16 | 2022-05-24 | 포항공과대학교 산학협력단 | 블록체인 기반 피싱 방지 시스템, 장치 및 방법 |
CN114925759A (zh) * | 2022-05-12 | 2022-08-19 | 东北大学 | 一种以太坊钓鱼行为账户的特征分析方法 |
CN115438751A (zh) * | 2022-10-18 | 2022-12-06 | 中山大学 | 一种基于图神经网络的区块链钓鱼诈骗识别的方法 |
CN115510948A (zh) * | 2022-08-24 | 2022-12-23 | 浙江工业大学 | 一种基于鲁棒图分类的区块链钓鱼检测方法 |
-
2023
- 2023-03-23 CN CN202310289882.7A patent/CN116527313B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20220066823A (ko) * | 2020-11-16 | 2022-05-24 | 포항공과대학교 산학협력단 | 블록체인 기반 피싱 방지 시스템, 장치 및 방법 |
CN112738034A (zh) * | 2020-12-17 | 2021-04-30 | 杭州趣链科技有限公司 | 一种基于垂直联邦学习的区块链钓鱼节点检测方法 |
CN113283902A (zh) * | 2021-06-11 | 2021-08-20 | 浙江工业大学 | 一种基于图神经网络的多通道区块链钓鱼节点检测方法 |
CN114187106A (zh) * | 2021-09-23 | 2022-03-15 | 云南财经大学 | 区块链中非法节点识别方法和装置 |
CN114925759A (zh) * | 2022-05-12 | 2022-08-19 | 东北大学 | 一种以太坊钓鱼行为账户的特征分析方法 |
CN115510948A (zh) * | 2022-08-24 | 2022-12-23 | 浙江工业大学 | 一种基于鲁棒图分类的区块链钓鱼检测方法 |
CN115438751A (zh) * | 2022-10-18 | 2022-12-06 | 中山大学 | 一种基于图神经网络的区块链钓鱼诈骗识别的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN116527313A (zh) | 2023-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Din et al. | Online reliable semi-supervised learning on evolving data streams | |
US7724784B2 (en) | System and method for classifying data streams using high-order models | |
Qi et al. | Deep face clustering using residual graph convolutional network | |
Wang et al. | Novel and efficient randomized algorithms for feature selection | |
CN112906770A (zh) | 一种基于跨模态融合的深度聚类方法及系统 | |
CN112464233B (zh) | 一种云平台上基于rnn的恶意软件检测方法 | |
Wankhade et al. | A clustering and ensemble based classifier for data stream classification | |
Genender-Feltheimer | Visualizing high dimensional and big data | |
Fadaei et al. | Enhanced K-means re-clustering over dynamic networks | |
Chu et al. | Co-training based on semi-supervised ensemble classification approach for multi-label data stream | |
Hong et al. | Variational gridded graph convolution network for node classification | |
Zhang et al. | An intrusion detection method based on stacked sparse autoencoder and improved gaussian mixture model | |
Wang et al. | Network intrusion detection method based on improved CNN in internet of things environment | |
Huang et al. | SOPA‐GA‐CNN: Synchronous optimisation of parameters and architectures by genetic algorithms with convolutional neural network blocks for securing Industrial Internet‐of‐Things | |
Priya et al. | Community Detection in Networks: A Comparative study | |
Ma et al. | Unbalanced abnormal traffic detection based on improved Res-BIGRU and integrated dynamic ELM optimization | |
Kithulgoda et al. | The incremental Fourier classifier: Leveraging the discrete Fourier transform for classifying high speed data streams | |
CN116527313B (zh) | 一种区块链钓鱼行为检测方法及装置 | |
Ma et al. | Few-shot IoT attack detection based on SSDSAE and adaptive loss weighted meta residual network | |
CN111209611A (zh) | 一种基于双曲几何的有向网络空间嵌入方法 | |
CN116055209A (zh) | 基于深度强化学习的网络攻击检测方法 | |
Aljibawi et al. | A survey on clustering density based data stream algorithms | |
Guo et al. | Stream classification algorithm based on decision tree | |
Hu et al. | Using graph representation in host-based intrusion detection | |
CN114218445A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |