Page 459 - 《软件学报》2026年第3期
P. 459
1422 软件学报 2026 年第 37 卷第 3 期
行分析, 绘制了概率分布直方图如图 5 所示, 智能合约的长度大多集中在 0–2 048 之间, 其中庞氏骗局中约有 58.7%
在此区间, 非庞氏骗局中约 56.05%. 为了评估 DSPGD 算法的有效性, 将 4 种对抗训练算法 (FGM、FreeAT、PGD、
DSPGD) 分别加入 TextCNN 模型中进行对抗训练, 并考虑不同嵌入长度 (1 024、1 536、2 048) 进行实验, 以保留
操作码行为序列的行为特征和语义特征.
0.000 5
0.000 35
0.000 30 0.000 4
Probability 0.000 25 Probability 0.000 3
0.000 20
0.000 15
0.000 2
0.000 10
0.000 1
0.000 05
0 0
0 0
1 024 2 048 3 072 4 096 5 120 6 144 7 168 8 192 9 216 10 240 1 024 2 048 3 072 4 096 5 120 6 144 7 168 8 192
Length Length
(a) 非庞氏骗局行为序列 (b) 庞氏骗局行为序列
图 5 行为序列长度的概率分布直方图
图 6 展示了 4 种对抗训练算法在不同嵌入长度下的精确度、召回率和 F1 分数的表现. 与 FGM、FreeAT 和
PGD 相比, DSPGD 的精确度、召回率和 F1 分数获得最佳的效果, 且当嵌入长度为 1 536 时检测模型的性能最佳.
由此说明, DSPGD 与 TextCNN 结合之后能有效提升庞氏骗局的检测性能.
0.986 0.986
FGM FGM 0.985 FGM
0.984 FreeAT 0.984 FreeAT FreeAT
PGD PGD 0.982 PGD
0.982 DSPGD 0.982 DSPGD 0.979 DSPGD
Precision 0.980 Recall 0.980 F1-score 0.976
0.978
0.978
0.976
0.976
0.973
0.974 0.974
0.970
0.972 0.972
0.970 0.970 0.967
1 024 1 536 2 048 1 024 1 536 2 048 1 024 1 536 2 048
(a) Precision (b) Recall (c) F1-score
图 6 4 种对抗训练算法的性能对比图
为了进一步验证模型抗干扰能力, 后文图 7(a) 中绘制了 4 种对抗训练算法的 ROC 曲线, 其中 DSPGD 的
ROC 曲线 (红色) 更加接近左上角, AUC 为 0.985 5, 更接近 1, 由此说明加入 DSPGD 算法后的模型分类性能更好.
另一方面, 后文图 8 中展示了 4 种对抗训练算法在模型训练中的损失情况, 可以发现在 DSPGD 算法的训练下, 模
型的损失最快收敛且达到最小值. 损失与鲁棒性之间往往是负相关的, 而 DSPGD 不仅获得更小的损失且有更好
的检测效果, 因此可以证明 DSPGD 算法能有效增强模型的鲁棒性.
4.3.2 检测方法的性能比较
针对第 4.2 节中提到的前 4 种庞氏骗局检测方法 RF、XGBoost、LightGBM 以及 CNN_RF 均使用 79 个操作
码频率特征和经过 Doc2vec 提取的 20 个操作码序列特征进行实验. 而 TextCNN、LSTM 使用操作码序列, SAD-
Ponzi 使用字节码文件进行实验. 另外, TextCNN_DSPGD 使用第 3.1 节提取的操作码行为序列作为输入进行实验.
实验结果见表 1.

