CN120408618A - 一种基于bert-cnn和分层注意力机制的恶意url检测方法 - Google Patents
一种基于bert-cnn和分层注意力机制的恶意url检测方法Info
- Publication number
- CN120408618A CN120408618A CN202510540987.4A CN202510540987A CN120408618A CN 120408618 A CN120408618 A CN 120408618A CN 202510540987 A CN202510540987 A CN 202510540987A CN 120408618 A CN120408618 A CN 120408618A
- Authority
- CN
- China
- Prior art keywords
- model
- bert
- attention
- url
- attention mechanism
- 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
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
- H04L63/1416—Event detection, e.g. attack signature detection
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/10—Pre-processing; Data cleansing
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/213—Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/25—Fusion techniques
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/16—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using machine learning or artificial intelligence
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Software Systems (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Hardware Design (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Molecular Biology (AREA)
- Virology (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了基于BERT‑CNN和分层注意力机制的恶意URL检测方法,包括以下步骤:S1、获取URL数据集,将URL数据集分为恶意URL、正常URL数据集,整理并分析数据特征;S2、通过对样本数据进行预处理,将数据集细化为训练集、测试集以及验证集,并对不平衡数据进行处理;S3、进行特征提取,使用BERT模型将文本转换为数值特征;S4、分别部署融合注意力机制和卷积神经网络的算法、融合注意力机制和门控循环单元的算法、融合注意力机制和长短时记忆网络算法模型,将处理过的样本数据输入模型进行训练;S5、通过评估指标对模型进行评估,判断模型是否能够准确识别恶意URL和正常URL。本发明能够解决传统模型处理URL数据时可能丢失重要局部特征,通过词级别注意力捕捉URL关键子词重要性以及句子级别注意力整合整个URL语义结构,通过动态权重分配降低噪声部分的注意力权重。
Description
技术领域
本发明涉及人工智能检测领域,具体涉及一种基于BERT-CNN和分层注意力机制的恶意URL检测方法。
背景技术
随着互联网的快速发展,网络安全问题日益突出,恶意URL(Uniform ResourceLocator)检测成为保护用户免受网络攻击的重要任务。恶意URL通常被用于传播恶意软件、发起网络钓鱼攻击或窃取用户敏感信息,给个人和企业带来了巨大的安全风险。传统的恶意URL检测方法主要依赖于基于规则的黑名单或机器学习模型,但这些方法在面对新型恶意URL时往往表现不佳,难以应对攻击手段的不断演变。
近年来,深度学习技术在自然语言处理领域取得了显著进展,尤其是预训练语言模型的出现,为文本分类和序列建模任务提供了强大的工具。BERT通过双向Transformer架构捕捉文本的上下文信息,能够有效理解恶意URL文本的语义结构。然而,BERT模型在处理长URL时可能难以捕捉局部特征,而卷积神经网络在提取局部特征方面具有显著优势。因此,结合BERT的全局语义理解能力和CNN的局部特征提取能力,构建一种混合模型,成为提升恶意URL检测性能的重要研究方向。
尽管现有的深度学习方法在恶意URL检测任务中取得了一定的成果,但仍存在一些挑战。首先,传统模型在处理长URL时难以同时捕捉全局和局部特征,导致检测精度有限。其次,恶意URL的多样性和隐蔽性使得模型在检测新型恶意URL时表现不佳。此外,现有方法通常忽略了恶意URL文本中不同部分的重要性差异,未能充分利用注意力机制来增强模型对关键信息的捕捉能力。随着网络攻击的复杂化,传统的基于规则的恶意URL检测方法逐渐显露出局限性。基于机器学习的恶意URL检测算法通过从大量数据中学习模式,能够更有效地识别新型恶意URL。恶意URL的形式多样,难以通过单一规则识别。攻击者不断更新恶意URL,传统方法难以应对;且恶意URL常伪装成正常URL,难以区分。
发明内容
为解决传统模型在复杂场景下对正常URL和恶意URL数据之间区分度不大的问题,本发明的目的在于提供一种基于BERT-CNN和分层注意力机制的恶意URL检测方法,通过BERT模块捕捉恶意URL的全局语义信息,通过CNN模块提取恶意URL的局部特征,并通过分层注意力机制动态分配注意力权重,增强模型对关键信息的捕捉能力。
为了实现上述目标,本发明提供以下技术方案:
本发明提供一种基于BERT-CNN和分层注意力机制的恶意URL检测方法,包括以下步骤:
S1、获取URL数据集,将URL数据集分为恶意URL、正常URL数据集,整理并分析数据特征;
S2、通过对样本数据进行预处理,将数据集细化为训练集、测试集以及验证集,并对不平衡数据进行处理;
S3、进行特征提取,使用BERT模型将文本转换为数值特征;
S4、分别部署融合注意力机制和卷积神经网络的算法、融合注意力机制和门控循环单元的算法、融合注意力机制和长短时记忆网络算法模型,将处理过的样本数据输入模型进行训练;
S5、通过评估指标对模型进行评估,判断模型是否能够准确识别恶意URL和正常URL。
本发明的核心架构融合了分层注意力机制和空间通道重构卷积模块,该模型首先通过预训练的BERT编码器将原始URL字符串转换为上下文相关的token嵌入表示,保留URL的序列语义信息。在编码阶段,采用改进的BERT作为基础模块,编码器依次包含3×3卷积层、批量归一化、ReLU激活函数,其中卷积模块CNN通过分离式卷积和动态通道加权有效提取URL的局部n-gram特征并抑制噪声。为增强特征表达能力,在编码器深层引入多阶段通道注意力机制,通过跳跃连接将局部特征与全局上下文融合。词级注意力对BERT输出的每个token表示应用注意力机制,计算每个token在句子中的重要性权重,在CNN提取的局部特征上应用第二层注意力层,关注不同n-gram特征的重要性。CNN特征提取层使用多个不同尺寸的卷积核,每个卷积核后面接入ReLu激活函数和最大池化,将不同尺寸卷积核的输出拼接形成最终特征表示。解码器部分采用对称的卷积结构。整个模型采用无监督训练方式,通过重构正常URL样本的语义和结构特征来学习决策边界,最终通过预测误差实现异常检测。引入分层注意力机制的BERT-CNN网络架构如图1所示。该架构充分利用了BERT的语义理解能力和CNN的局部特征提取优势,通过分层注意力机制实现URL不同层次特征的自适应加权,显著提升了对模棱两可URL的检测鲁棒性。
优选的,步骤S4中,融合注意力机制具体为:
在加入单词注意力机制的基础上加入了句子注意力层,对URL进行整条的文本特征和权重进行分配;
单词注意力层利用CNN提取关于单个字符的上下文语义信息特征并且进行训练,单词注意力机制对提取的关键特征进行权重计算;句子注意力层利用CNN提取整个URL文本的上下文语义特征进行模型训练,句子注意力机制对提取的关键句子特征进行权重计算。
进一步的,单词注意力层具体为:
BERT输出的上下文嵌入形状为(batch_size,seq_len,hidden_size)的张量,其中批次大小batch_size=32;输入序列长度seq_len=50;隐藏层维度hidden_size=768;单词级别注意力机制计算每个词的注意力分数,通过激活函数softmax进行单词向量Uit以及上下文向量Uw之间的关系,通过归一化得到注意力权重,单词级别注意力层的输出公式计算如公式(3)~(5)所示:
(3)
(4)
(5)
式中,Wit为权重参数,bit为偏置参数,hit为BERT网络隐藏层状态输出信息,Si为单词注意力层输出。
进一步的,句子注意力层具体为:
将词级别的注意力表示作为输入,应用句子级别注意力机制,计算句子级别的重要性权重,包括一个全连接层,用于将BERT的隐藏层维度hidden_size映射为标量注意力分数;句子级别注意力机制计算该文本注意力分数,通过激活函数softmax进行句子向量Uit以及上下文向量Uw之间的关系,通过归一化得到注意力权重,句子级别注意力层的输出公式计算如公式(6)~(8)所示:
(6)
(7)
(8)
式中,Wi为权重参数,bi为偏置参数,hi为BERT网络隐藏层状态输出信息,Oi为句子注意力层输出。
优选的,步骤S4中,卷积网络层具体为:
在基于分层注意力机制的BERT-CNN模型的恶意URL分类任务中,卷积网络模块负责提取URL文本的局部特征;使用一维卷积(1D CNN)对BERT输出的上下文嵌入表示进行处理;
定义卷积核个数128,每个卷积核的大小k为3个,卷积核的高度即覆盖的词数为3个,BERT的嵌入维度768;在序列数据中,一维卷积Conv1D 比二维卷积更适用,能够直接建模序列的局部依赖性,相邻时间点的关系,避免二维卷积因虚假空间维度引入的冗余计算;
选择k=3的卷积核能有效捕捉短程模式三元词组,同时通过堆叠多层小核实现与大核相近的感受野;
对卷积输出的特征图进行平均池化,降低特征维度并保留重要信息,公式如式子(9)所示:
(9)
将所有卷积核的池化输出拼接在一起生成最终的输出向量。
优选的,步骤S5中,输出网络层具体为:
恶意URL检测为分类问题,本发明采用一个全连接层作为输出网络进行恶意URL检测分类;通过将分层注意力机制中的句子注意力层输出0作为下一层全连接层的输入,然后通过softmax 函数对全连接层输出的向量进行归一化处理,最后得到模型的输出向量f,计算公式如式(10)所示:
(10)
式中,Wo是权重参数,b是偏置参数;
测试结果只输出一个预测类别,选取概率值最大的类别作为该URL的分类结果;模型在训练集上进行训练时,通过比较全连接层输出的预测类别和实际类别,得到模型的训练误差,然后通过正向传播和反向传播不断的进行模型参数训练,直至得到一个分类效果比较好的模型;
恶意URL检测是分类问题,本发明模型的训练采用一个有监督学习的框架利用反向传播方法使得损失函数对所有模型参数进行求导,采用Adam优化方法进行优化更新所有参数,使用最小化交叉熵损失函数作为目标函数来优化模型,公式如式(11)所示:
(11)
式中,D 表示训练集的数据量大小,C代表URL分类的类别数,任务中的C大小为2,为预测类别,y为数据的实际类别,为交叉正则项。
本发明通过BERT模块捕捉URL的全局语义信息,并通过卷积神经网络(CNN)提取URL的局部特征。在BERT和CNN之间引入分层注意力机制,使模型能够在不同层次上动态分配注意力权重,从而更好地捕捉URL中的关键信息。此外,通过引入稀疏注意力机制,减少了模型的计算复杂度和内存开销,同时保留了BERT的全局语义理解能力。
本发明能够解决传统模型处理URL数据时可能丢失重要局部特征,通过词级别注意力捕捉URL关键子词重要性以及句子级别注意力整合整个URL语义结构,通过动态权重分配降低噪声部分的注意力权重。并且分层注意力层能够平衡局部与全局特征,分层融合CNN模块和BERT模块通过语义-局部特征协同感知,显著提升了模型对恶意URL检测的准确率。
本发明的有益技术效果为:
(1)本发明提出了一种结合BERT和CNN的混合模型,充分利用BERT的全局语义理解能力和CNN的局部特征提取能力;引入了分层注意力机制,通过词级别和句子级别注意力捕捉恶意URL文本的关键信息。
(2)本发明在公开数据集上进行了实验验证,结果表明该模型在恶意URL检测任务中具有较高的准确率和鲁棒性。
(3)本发明为恶意URL检测提供了一种高效且准确的解决方案,具有重要的理论意义和实际应用价值,未来的研究方向包括进一步优化注意力机制、探索多模态数据融合技术,以及将模型应用于其他网络安全任务中。
附图说明
图1为引入分层注意力机制的BERT-CNN网络架构。
图2为输入序列表示示意图。
图3为生成词向量表示示意图。
图4为BERT基线模型和引入分层注意力机制模块的模型的精度曲线和损失曲线结果图。
图5为BERT-LSTM模型ROC曲线效果图和混淆矩阵。
图6为ERT-GRU模型ROC曲线效果图和混淆矩阵。
图7为BERT-CNN模型ROC曲线效果图和混淆矩阵。
图8为引入分层注意力机制后的 BERT-CNN、BERT-GRU、BERT-LSTM恶意URL检测模型效果对比图。
具体实施方式
下面结合附图和具体实施例对本发明技术方案作进一步详细描述。
实施例1
本实施例提出一种基于BERT-CNN和分层注意力机制的恶意URL检测方法,将引入分层注意力机制层的BERT模型分别与CNN、LSTM、GRU三个深度学习网络架构层相结合进行对比实验,进而验证CNN网络与引入注意力机制的BERT模型融合能够更好的提高模型性能,提高实验的精度,具体为:
步骤1、获取URL数据集,将URL数据集分为恶意URL、正常URL数据集,整理并分析数据特征;
Alexa的数据主要来源于用户安装的用于记录用户的浏览行为的工具条,包括访问的网站、页面浏览数等。从第三方平台Kaggle获取存有的Alexa历史数据集作为训练数据用于构建分类模型。 1SCX-URL-2016是一个公开的网络数据集,主要用于研究恶意URL检测。收集了30000条URL数据集用于训练模型。Phishing Tank是一个专门收集钓鱼网站数据的平台,提供钓鱼URL的实时更新和分类信息,从Phishing Tank中收集了30000条URL数据作为训练数据。Kaggle作为数据科学平台,提供多种类型的数据集,从中收集了共40000条URL数据。用于构建分类模型的数据集总共包含100000条URL数据。
数据集包含URL和对应的的标签文件,例如:
URL,Label
feechka.ru/wdxwxoa,BAD
google.com,GOOD
example.com/login,BAD
URL的类别标签为BAD(恶意URL)和GOOD(正常URL)。定义标注规则通过是否包含可疑查询参数和检查路径层级是否超过5层来区分正常和异常URL数据,使用正则表达式提取路径部分和查询参数,将定义规则转化为代码进行自动化标注。其中正常URL数据集包含60800条URL数据,恶意URL数据集则包括39200条URL数据,两者的比例大约是7:3。将数据划分为训练集和测试集,样本数量比例调整至8:2,用来更好地评估模型的性能。模型的准确率与效果受到词向量表达方式的影响,详细的数据集分布可参考表1。
表1 数据采集详情
| 训练集(条) | 测试集(条) | 总计(条) | |
| 正常 | 52074 | 8726 | 60800 |
| 恶意 | 35260 | 3940 | 39200 |
| 总计 | 87334 | 12666 | 100000 |
步骤2、通过对样本数据进行预处理,将数据集细化为训练集、测试集以及验证集,并对不平衡数据进行处理;
通过BERT分词器按字符对URL进行分词。使用正则化表达式从文本提取URL,使用Python中的urllib.parse.quote()函数对URL进行编码。将数据集中的URL全部转换为小写以统一格式,移除“www”和“/”等冗余部分,通过填充和截断将URL标准化为固定长度120,使用BERT的WordPiece分词器将URL分割为子单元,并按分隔符进行分词,例如‘feechka.ruwdxwxoa’ → ‘[“fee”, “##chka”, “.”, “ru”, “wdxwxoa”]’。
步骤3、进行特征提取,使用BERT模型将文本转换为数值特征;
通过BERT预训练模型输入词向量Token Embeddings、分段向量SegmentEmbeddings和位置向量Position Embeddings三者的组合向量e,每个嵌入层的表示如图2所示;
因为经过BERT预训练模型所生成的词向量包含位置编码信息,所以即使在本发明设计的恶意URL检测模型中输入两个含有相同单词的链接,只要单词出现在不同的位置以及不同的语义环境内,输出的单词向量也是不一样的;这种编码方式使得模型处理文本时学习字符以及单词前后顺序的能力,将BERT输入词向量维度设置为demb,并且将位置向量和分段向量维度设置为相同的大小;
将每个字符的位置通过不同频率的正余弦函数进行编码,得到位置向量公式(1)~(2):
(1)
(2)
其中,pos代表第pos个词,i代表embedding中的第i维,dp代表注意力头的维度。
词嵌入层将输入单词以及字符转换成768维的词向量表示,BERT模型能够处理的单词字符序列最长为512;引入one-hot编码生成方面向量并进行线性转换,将转换后的向量与BERT生成的词向量e相加从而减少因忽略对方面进行编码而导致的分类结果偏差;将最终的向量输入到特征提取网络进行学习,生成词向量表示如图3所示。
步骤4、分别部署融合注意力机制和卷积神经网络的算法、融合注意力机制和门控循环单元的算法、融合注意力机制和长短时记忆网络算法模型,将处理过的样本数据输入模型进行训练;
融合注意力机制具体为:
在加入单词注意力机制的基础上加入了句子注意力层,对URL进行整条的文本特征和权重进行分配;
单词注意力层利用CNN提取关于单个字符的上下文语义信息特征并且进行训练,单词注意力机制对提取的关键特征进行权重计算;句子注意力层利用CNN提取整个URL文本的上下文语义特征进行模型训练,句子注意力机制对提取的关键句子特征进行权重计算。
进一步的,单词注意力层具体为:
BERT输出的上下文嵌入形状为(batch_size,seq_len,hidden_size)的张量,其中批次大小batch_size=32;输入序列长度seq_len=50;隐藏层维度hidden_size=768;单词级别注意力机制计算每个词的注意力分数,通过激活函数softmax进行单词向量Uit以及上下文向量Uw之间的关系,通过归一化得到注意力权重,单词级别注意力层的输出公式计算如公式(3)~(5)所示。
(3)
(4)
(5)
式中,Wit为权重参数,bit为偏置参数,hit为BERT网络隐藏层状态输出信息,Si为单词注意力层输出。
进一步的,句子注意力层具体为:
将词级别的注意力表示作为输入,应用句子级别注意力机制,计算句子级别的重要性权重,包括一个全连接层,用于将BERT的隐藏层维度hidden_size映射为标量注意力分数;句子级别注意力机制计算该文本注意力分数,通过激活函数softmax进行句子向量Uit以及上下文向量Uw之间的关系,通过归一化得到注意力权重,句子级别注意力层的输出公式计算如公式(6)~(8)所示:
(6)
(7)
(8)
式中,Wi为权重参数,bi为偏置参数,hi为BERT网络隐藏层状态输出信息,Oi为句子注意力层输出。
卷积网络层具体为:
在基于分层注意力机制的BERT-CNN模型的恶意URL分类任务中,卷积网络模块负责提取URL文本的局部特征;使用一维卷积(1D CNN)对BERT输出的上下文嵌入表示进行处理;
定义卷积核个数128,每个卷积核的大小k为3个,卷积核的高度即覆盖的词数为3个,BERT的嵌入维度768;在序列数据中,一维卷积Conv1D 比二维卷积更适用,能够直接建模序列的局部依赖性,相邻时间点的关系,避免二维卷积因虚假空间维度引入的冗余计算;
选择k=3的卷积核能有效捕捉短程模式三元词组,同时通过堆叠多层小核实现与大核相近的感受野;
对卷积输出的特征图进行平均池化,降低特征维度并保留重要信息,公式如式子(9)所示:
(9)
将所有卷积核的池化输出拼接在一起生成最终的输出向量。
步骤5、通过评估指标对模型进行评估,判断模型是否能够准确识别恶意URL和正常URL;
输出网络层具体为:
恶意URL检测为分类问题,本发明采用一个全连接层作为输出网络进行恶意URL检测分类;通过将分层注意力机制中的句子注意力层输出0作为下一层全连接层的输入,然后通过softmax 函数对全连接层输出的向量进行归一化处理,最后得到模型的输出向量f,计算公式如式(10)所示:
(10)
式中,Wo是权重参数,b是偏置参数;
测试结果只输出一个预测类别,选取概率值最大的类别作为该URL的分类结果;模型在训练集上进行训练时,通过比较全连接层输出的预测类别和实际类别,得到模型的训练误差,然后通过正向传播和反向传播不断的进行模型参数训练,直至得到一个分类效果比较好的模型;
恶意URL检测是分类问题,本发明模型的训练采用一个有监督学习的框架利用反向传播方法使得损失函数对所有模型参数进行求导,采用Adam优化方法进行优化更新所有参数,使用最小化交叉熵损失函数作为目标函数来优化模型,公式如式(11)所示:
(11)
式中,D 表示训练集的数据量大小,C代表URL分类的类别数,任务中的C大小为2,为预测类别,y为数据的实际类别,为交叉正则项。
模型参数配置:
采取深度学习框架PyTorch作为实验基本框架,采用了Nvidia GPU用于此次模型的计算工作,以便能够达到提高模型训练速度,减少模型训练所需要时间消耗的目的。通过多轮迭代训练,对模型所需参数进行优化和调整,最终选取模型参数配置如表2所示。
表2 模型参数配置
评估指标:
采用混淆矩阵。正值表示恶意URL,负值表示正常URL。CM的结构如表3所示。
表3混淆矩阵
混淆矩阵的统计方法是针对恶意URL分类模型性能的评估指标。我们将混淆矩阵分为真阳性(TP)、假阴性(TN)、真阴性(TN)和假阳性(FP) 4种。实验通过计算Recall、PrecisionF1 Score、Receiver Operating Characteristic (ROC)、Area Under Curve(AUC)和confusion Matrix提供了评价指标。通常,模型有四种类型的值,如混淆矩阵所示。正值表示恶意URL。accuracy、precision、recall以及F1四个指标构建的混合矩阵可以有效地衡量研究提出的恶意URL检测算法的效果。准确地计算出混淆矩阵的各个参数。
实施例2:引入分层注意力机制前后BERT-CNN模型实验对比
引入改进的注意力机制,通过分层注意力机制对 BERT-CNN 模型进行优化,目的提升模型性能,提升长序列建模能力。为了对比引入注意力机制前后的BERT 模型。设计以下实验:通过基础模型原始BERT-CNN模型和在BERT -CNN模型中引入分层注意力机制的改进模型在URL数据集上的分类实验,通过准确率作为评价指标进行性能评估如表4所示。
表4 基础BERT-CNN模型和引入分层注意力机制的BERT-CNN模型训练结果对比
| BERT-CNN | BERT-CNN(分层注意力机制) | |
| 准确率 | 94.3% | 96.8% |
| F1分数 | 93.2% | 95.3% |
| 训练时间(小时) | 2.5 | 2.1 |
| 内存占用(GB) | 8 | 7 |
实验结果表明,引入分层注意力机制的BERT-CNN模型在准确率和F1分数上均略优于标准BERT模型,其中准确率从94.3%提升至96.8%,F1分数从93.2%提升至95.3%。尽管性能提升幅度较小,但分层注意力机制通过动态分配注意力权重,使模型能够更好地捕捉URL文本中的关键信息,从而提高了分类效果。此外,分层注意力机制的引入还显著减少了训练时间和内存占用,训练时间从2.5小时缩短至2.1小时,内存占用从8GB降低至7GB,表明该机制在提升模型效率方面具有明显优势。此外,实验可视化了BERT基线模型和引入分层注意力机制模块的模型训练后的精度曲线和损失曲线,结果如图4所示。
通过分析BERT基线模型和引入分层注意力机制模块的模型训练后的精度曲线和损失曲线,引入分层注意力机制模块的的训练损失为0.08,测试损失是0.07;训练精度为0.9682,测试精度为0.9658;未引入分层注意力机制模块的的BERT模型训练损失为0.09,测试损失为0.10;训练精度为0.9322,测试精度为0.9402。
实施例3:引入分层注意力机制的BERT模型与不同深度学习网络实验对比图
将引入分层注意力机制模块的BERT模型分别与CNN、LSTM、GRU三个深度学习网络架构层相结合进行对比实验,在相同的URL数据集上进行训练。将实验结果可视化,得到BERT-LSTM,BERT-GRU,BERT-CNN模型的ROC曲线和混淆矩阵结果图如图5~8所示;
分析实验ROC曲线图和混淆矩阵结果,得出引入结合注意机制的BERT模型后,三个研究模型网络框架中BERT-LSTM模型AUC值为0.86,证实该模型具有良好的分类性能。BERT-GRU模型AUC值为0.95,证实该模型分类性能优异。BERT-CNN模型AUC值为0.98,证实该模型具有优异的分类性能。经过比较BERT-CNN模型AUC值最高,可视化的ROC曲线以及混淆矩阵效果最佳。
经过实验比较并且分析结果后,发现模型BERT-CNN、BERT-GRU、BERT-LSTM三类基于深度学习的算法性能表现良好。其中引入分层注意力机制模块的BERT-GRU模型能够更好捕捉到数据集中的远处关联,利用遗传算法的优势来调整数据集的权重,从而大大改善分类结果的准确性。引入注意力机制的BERT-CNN模型算法性能最优越,BERT-CNN模型能够更全面处理大量数据信息,并快速识别问题。BERT-CNN能够从URL数据集中抽取出大量的显著特征,经过引入分层注意力机制模块的BERT-CNN模型处理后其表现要比未引入分层注意力机制模块的模型准确率更高,能够达到96%。
实施例4:基于深度学习的三类模型算法性能评估
实验通过与应用传统随机森林算法的恶意URL检测实验进行比较,通过准确率、精确率、召回率和F1分数进行评估,将实验结果整理为表格5,从表格5结果中可以看出,引入分层注意力机制模块的三类基于深度学习的模型算法中,BERT-CNN模型的准确率最高,达到96%,是这四个模型算法中准确率最高的,说明其预测正确的样本比例最高。BERT-GRU模型的准确率为93%,紧随其后。BERT-LSTM模型的准确率为87%,相对较低。随机森林模型的准确率为81%,是这四个模型中准确率最低的。与随机森林模型的对比突显了深度学习模型在复杂特征提取和非线性关系建模上的优势:随机森林依赖手工特征和决策树的集成,适合结构化数据且解释性强,但可能难以捕捉序列或高维数据中的深层模式;深度学习模型通过自动学习多层次特征,对比结果可验证深度学习在恶意URL检测任务中具备显著性能提升。
表5 不同分类模型性能实验评估结果
| 模型 | Accuracy | Precision | Recall | F1-score |
| BERT-CNN | 96% | 96% | 96% | 96% |
| BERT-GRU | 93% | 93% | 93% | 93% |
| BERT-LSTM | 87% | 88% | 86% | 88% |
| 随机森林 | 81% | 81% | 81% | 81% |
本发明验证了提出的模型性能,在公开的恶意URL检测数据集上进行了对比实验、消融实验以及可视化实验。经过实验验证,基于分层注意力机制的BERT-CNN模型在检测新型恶意URL时的准确率达到了96.8%,相比基线模型在检测准确率上提高了2.5%;F1分数达到了95.3%,相比基线模型在F1分数上提高了2.1%。实验结果表明,引入注意力机制的恶意URL检测模型在捕捉URL全局和局部特征方面具有显著优势。
本发明实现了一种引入改进注意力机制的恶意URL检测算法BERT-CNN,通过与为引入分层注意力机制的BERT模型在URL数据集上的对比实验,验证了引入分层注意力机制后的基于深度神经网络的准确率最高,达到96%。BERT-CNN模型通过引入改进的注意力机制,成功地在复杂的网络流量数据中捕捉到了对恶意URL检测至关重要的特征,显著提高了检测的准确性和效率。实验结果显示,相较于传统的应用随机森林算法的异常URL检测模型,引入分层注意力机制的BERT-CNN模型在样本数据集上均展现出了更高的分类准确率。这一成果不仅证明了注意力机制在增强模型特征提取能力方面的有效性,也体现了引入分层注意力机制的BERT-CNN模型在网络安全领域,特别是在恶意URL检测任务中的巨大潜力。但是,引入分层注意力机制的BERT-CNN模型尽管其性能优于传统方法,但在处理极端复杂或高度混淆的数据时,仍面临一定的挑战。此外,尤其是在资源受限的环境下,模型的计算复杂度和训练时间也是需要考虑的因素。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
Claims (6)
1.一种基于BERT-CNN和分层注意力机制的恶意URL检测方法,其特征在于,包括以下步骤:
S1、获取URL数据集,将URL数据集分为恶意URL、正常URL数据集,整理并分析数据特征;
S2、通过对样本数据进行预处理,将数据集细化为训练集、测试集以及验证集,并对不平衡数据进行处理;
S3、进行特征提取,使用BERT模型将文本转换为数值特征;
S4、分别部署融合注意力机制和卷积神经网络的算法、融合注意力机制和门控循环单元的算法、融合注意力机制和长短时记忆网络算法模型,将处理过的样本数据输入模型进行训练;
S5、通过评估指标对模型进行评估,判断模型是否能够准确识别恶意URL和正常URL。
2.根据权利要求1所述一种基于BERT-CNN和分层注意力机制的恶意URL检测方法,其特征在于,步骤S4中,采用融合注意力机制,具体为:
在加入单词注意力机制的基础上加入了句子注意力层,对URL进行整条的文本特征和权重进行分配;
单词注意力层利用CNN提取关于单个字符的上下文语义信息特征并且进行训练,单词注意力机制对提取的关键特征进行权重计算;句子注意力层利用CNN提取整个URL文本的上下文语义特征进行模型训练,句子注意力机制对提取的关键句子特征进行权重计算。
3.根据权利要求2所述一种基于BERT-CNN和分层注意力机制的恶意URL检测方法,其特征在于,单词注意力层具体为:
BERT输出的上下文嵌入形状为(batch_size,seq_len,hidden_size)的张量,其中批次大小batch_size=32;输入序列长度seq_len=50;隐藏层维度hidden_size=768;单词级别注意力机制计算每个词的注意力分数,通过激活函数softmax进行单词向量Uit以及上下文向量Uw之间的关系,通过归一化得到注意力权重,单词级别注意力层的输出公式计算如公式(3)~(5)所示:
(3)
(4)
(5)
式中,Wit为权重参数,bit为偏置参数,hit为BERT网络隐藏层状态输出信息,Si为单词注意力层输出。
4.根据权利要求2所述一种基于BERT-CNN和分层注意力机制的恶意URL检测方法,其特征在于,句子注意力层具体为:
将词级别的注意力表示作为输入,应用句子级别注意力机制,计算句子级别的重要性权重,包括一个全连接层,用于将BERT的隐藏层维度hidden_size映射为标量注意力分数;句子级别注意力机制计算该文本注意力分数,通过激活函数softmax进行句子向量Uit以及上下文向量Uw之间的关系,通过归一化得到注意力权重,句子级别注意力层的输出公式计算如公式(6)~(8)所示:
(6)
(7)
(8)
式中,Wi为权重参数,bi为偏置参数,hi为BERT网络隐藏层状态输出信息,Oi为句子注意力层输出。
5.根据权利要求1所述一种基于BERT-CNN和分层注意力机制的恶意URL检测方法,其特征在于,步骤S4中,卷积网络层具体为:
在基于分层注意力机制的BERT-CNN模型的恶意URL分类任务中,卷积网络模块负责提取URL文本的局部特征;使用一维卷积(1D CNN)对BERT输出的上下文嵌入表示进行处理;
定义卷积核个数128,每个卷积核的大小k为3个,卷积核的高度即覆盖的词数为3个,BERT的嵌入维度768;在序列数据中,一维卷积Conv1D 比二维卷积更适用,能够直接建模序列的局部依赖性,相邻时间点的关系,避免二维卷积因虚假空间维度引入的冗余计算;
选择k=3的卷积核能有效捕捉短程模式三元词组,同时通过堆叠多层小核实现与大核相近的感受野;
对卷积输出的特征图进行平均池化,降低特征维度并保留重要信息,公式如式子(9)所示:
(9)
将所有卷积核的池化输出拼接在一起生成最终的输出向量。
6.根据权利要求1所述一种基于BERT-CNN和分层注意力机制的恶意URL检测方法,其特征在于,步骤S5中,输出网络层具体为:
恶意URL检测为分类问题,本发明采用一个全连接层作为输出网络进行恶意URL检测分类;通过将分层注意力机制中的句子注意力层输出0作为下一层全连接层的输入,然后通过softmax 函数对全连接层输出的向量进行归一化处理,最后得到模型的输出向量f,计算公式如式(10)所示:
(10)
式中,Wo是权重参数,b是偏置参数;
测试结果只输出一个预测类别,选取概率值最大的类别作为该URL的分类结果;模型在训练集上进行训练时,通过比较全连接层输出的预测类别和实际类别,得到模型的训练误差,然后通过正向传播和反向传播不断的进行模型参数训练,直至得到一个分类效果比较好的模型;
恶意URL检测是分类问题,本发明模型的训练采用一个有监督学习的框架利用反向传播方法使得损失函数对所有模型参数进行求导,采用Adam优化方法进行优化更新所有参数,使用最小化交叉熵损失函数作为目标函数来优化模型,公式如式(11)所示:
(11)
式中,D 表示训练集的数据量大小,C代表URL分类的类别数,任务中的C大小为2,为预测类别,y为数据的实际类别,为交叉正则项。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202510540987.4A CN120408618A (zh) | 2025-04-27 | 2025-04-27 | 一种基于bert-cnn和分层注意力机制的恶意url检测方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202510540987.4A CN120408618A (zh) | 2025-04-27 | 2025-04-27 | 一种基于bert-cnn和分层注意力机制的恶意url检测方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN120408618A true CN120408618A (zh) | 2025-08-01 |
Family
ID=96515099
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202510540987.4A Pending CN120408618A (zh) | 2025-04-27 | 2025-04-27 | 一种基于bert-cnn和分层注意力机制的恶意url检测方法 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN120408618A (zh) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN120856460A (zh) * | 2025-09-16 | 2025-10-28 | 苏州工学院 | 融合结构与语义特征的多任务url检测方法及系统 |
-
2025
- 2025-04-27 CN CN202510540987.4A patent/CN120408618A/zh active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN120856460A (zh) * | 2025-09-16 | 2025-10-28 | 苏州工学院 | 融合结构与语义特征的多任务url检测方法及系统 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11631007B2 (en) | Method and device for text-enhanced knowledge graph joint representation learning | |
| US12361124B2 (en) | Unstructured text classification | |
| CN113806746B (zh) | 基于改进cnn网络的恶意代码检测方法 | |
| CN113657450B (zh) | 基于注意机制的陆战场图像-文本跨模态检索方法及其系统 | |
| CN112217787B (zh) | 一种基于ed-gan的仿冒域名训练数据生成方法及系统 | |
| CN112069397A (zh) | 自注意力机制与生成对抗网络相结合的谣言检测方法 | |
| CN116049419B (zh) | 融合多模型的威胁情报信息抽取方法及系统 | |
| CN116722992A (zh) | 一种基于多模态融合的诈骗网站识别方法及装置 | |
| CN110830489B (zh) | 基于内容抽象表示的对抗式欺诈网站检测方法及系统 | |
| CN110929080A (zh) | 基于注意力和生成对抗网络的光学遥感图像检索方法 | |
| CN116186251B (zh) | 一种基于混合二叉神经树的恶意url检测方法 | |
| CN116719936A (zh) | 一种基于集成学习的网络不可靠信息早期检测方法 | |
| CN113806564B (zh) | 多模态信息性推文检测方法及系统 | |
| CN117729003B (zh) | 基于机器学习的威胁情报可信分析系统及方法 | |
| CN113222002A (zh) | 一种基于生成式鉴别性对比优化的零样本分类方法 | |
| CN118199969A (zh) | 一种Transformer与神经网络的入侵检测方法及系统 | |
| CN113726730A (zh) | 基于深度学习算法的dga域名检测方法及系统 | |
| CN117237688A (zh) | 一种基于融合特征的apt恶意样本攻击组织溯源方法 | |
| CN116644366A (zh) | 基于rbl-cnn-ma的dga域名家族多分类检测方法 | |
| CN120408618A (zh) | 一种基于bert-cnn和分层注意力机制的恶意url检测方法 | |
| CN114863194A (zh) | 科技资讯跨媒体检索特征映射网络训练方法、检索方法及装置 | |
| Shen et al. | Patentgrapher: a plm-gnns hybrid model for comprehensive patent plagiarism detection across full claim texts | |
| CN115730312A (zh) | 一种基于深度哈希的家族恶意软件检测方法 | |
| CN116561323A (zh) | 一种基于方面词嵌入图卷积网络的情感分析方法 | |
| CN118229465B (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 |