CN118413402A - 一种基于大语言模型的恶意域名检测方法 - Google Patents
一种基于大语言模型的恶意域名检测方法 Download PDFInfo
- Publication number
- CN118413402A CN118413402A CN202410875232.5A CN202410875232A CN118413402A CN 118413402 A CN118413402 A CN 118413402A CN 202410875232 A CN202410875232 A CN 202410875232A CN 118413402 A CN118413402 A CN 118413402A
- Authority
- CN
- China
- Prior art keywords
- layer
- domain name
- output
- model
- attention
- 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.)
- Granted
Links
Classifications
-
- 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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
- G06F18/2431—Multiple classes
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/25—Fusion techniques
- G06F18/253—Fusion techniques of extracted features
-
- 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/0464—Convolutional networks [CNN, ConvNet]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
-
- 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
- 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)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Computer Networks & Wireless Communication (AREA)
- Evolutionary Biology (AREA)
- Signal Processing (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Databases & Information Systems (AREA)
- Computing Systems (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Molecular Biology (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Machine Translation (AREA)
Abstract
本发明涉及一种基于大语言模型的恶意域名检测方法,与现有技术相比解决了难以针对恶意域名进行检测的缺陷。本发明包括以下步骤:预训练数据集和微调训练数据集的构建;设定URL‑BERT模型;URL‑BERT模型的预训练;URL‑BERT模型的微调;待检测域名的获得;恶意域名检测结果的获得。本发明采用了大语言模型BERT来处理恶意域名,利用大语言模型强大的语义理解能力,可以更好地捕捉域名中的隐含信息和语境,提高恶意域名的识别准确性。
Description
技术领域
本发明涉及网络空间安全与人工智能技术领域,具体来说是一种基于大语言模型的恶意域名检测方法。
背景技术
随着互联网的快速发展,网络安全遭受威胁,各类恶意网站和恶意软件泛滥成灾,许多用户和网站都容易受到安全威胁,其中,恶意域名是网络攻击的主要路径之一。每天涌现出数以万计的新域名,这些域名中除大量正常注册的良性域名(Benign Domain)外,还存在大量被恶意注册用于进行非法活动的恶意域名(Malicious Domain),恶意域名成为各种网络非法活动的主要攻击路径之一。
域名作为桥梁,将用户与恶意代理(如勒索软件、恶意软件和木马)连接起来,恶意域名通常用于实施非法窃取和存储个人敏感信息、非法控制和管理受感染的主机等恶意行为。几乎所有网络攻击都依赖恶意域名的使用,域名系统受到攻击者的滥用。因此,如何有效地检测恶意域名是网络安全领域的热点和难点问题。
现有的恶意域名检测方法主要分为基于规则、机器学习和深度学习三类。基于规则的方法通过黑白名单检测域名的合法性,这类方法简单直接;基于机器学习的方法从域名中提取特征(例如域名长度、不同IP地址的数量等),然后构建基于机器学习的分类器来区分良性域名和恶意域名;基于深度学习的方法通过深度神经网络对域名的文本进行编码建模。
现有的恶意域名检测方法在一定程度上都取得了很好的效果。但是基于规则的方法面对爆炸性增长的恶意域名时效果有限;基于机器学习的方法严重依赖于专家知识和受限于特征表达能力,且攻击者可以通过添加最小特征扰动(改变域的长度或修改网络参数,如TTL)轻松绕过模型检测;基于深度学习的方法具有忽视了位置嵌入对域名向量的重要性以及缺乏可解释性等缺陷。
域名通常由多个部分组成,如二级域名、顶级域名等,它们通过点(.)连接,如图2所示。去除域名中的“.”、“-”、等特殊字符,以“.”为分隔符对域名进行分词后得到域名的Token,深度学习方法通常将域名视为纯文本数据,忽略了域名中Token对于位置的敏感性,即相同的Token位于Domain/Top Level Domain(TLD)/Path时应具有不同的含义和表示方法。
那么,如何基于域名的特殊文本信息,设计一种恶意域名检测方法已经成为急需解决的技术问题。
发明内容
本发明的目的是为了解决现有技术中难以针对恶意域名进行检测的缺陷,提供一种基于大语言模型的恶意域名检测方法来解决上述问题。
为了实现上述目的,本发明的技术方案如下:
一种基于大语言模型的恶意域名检测方法,包括以下步骤:
11)预训练数据集和微调训练数据集的构建:构建预训练数据集和微调训练数据集,并进行数据预处理;
12)设定URL-BERT模型;
13)URL-BERT模型的预训练:利用预训练数据集对URL-BERT模型进行预训练;
14)URL-BERT模型的微调:利用微调训练数据集对预训练后的URL-BERT模型进行微调;
15)待检测域名的获得:获得待检测的域名;
16)恶意域名检测结果的获得:将待检测的域名输入微调后的URL-BERT模型,获得恶意域名检测结果。
所述预训练数据集和微调训练数据集的构建包括以下步骤:
21)设定预训练数据集,预训练数据集为无标记域名数据,无标记的域名数据从公开的DNS查询日志、WHOIS数据库来源获取;
22)设定微调训练数据集,微调训练数据集为有标记域名数据,有标记域名数据从网络安全公司或公开的恶意域名数据库中获得,其中正样本和负样本数量均衡;
23)对预训练数据集和微调训练数据集进行去重、去除无关字符、转换为小写字母、标准化步骤的预处理;
24)对预处理后的预训练数据集和微调训练数据集进行分词处理。
所述设定URL-BERT模型包括以下步骤:
31)设定URL-BERT模型包括输入层、URL-BERT预训练层、字符级嵌入特征提取层、标记级别嵌入特征提取层、特征融合层和全连接分类层;
设定输入层:输入层接收分词处理后的文本作为模型的输入;
32)设定URL-BERT预训练层:预训练阶段通过设定MLM任务,对大量的无标记域名数据进行训练,学习捕获域名文本中的丰富语义信息和结构特征;
33)设定字符级嵌入特征提取层:字符级嵌入提取层提取域名文本的字符级别嵌
入,利用BiGRU生成双向的向量表示,其中包含了域名内部字符间的复杂关联信息;对微调
训练数据集,利用双向门控单元BiGRU对有标记域名数据进行字符级别的嵌入提取,BiGRU
通过利用两个不同方向的GRU,在前向和后向方向上结合隐藏层状态,从而实现双向信息的
整合,得到域名字符级别的嵌入向量;
34)设定标记级别嵌入特征提取层,进行标记级别嵌入;
35)设定特征融合层:
特征融合层将提取的字符级别嵌入特征向量和标记级别嵌入特征向量进行拼接,然后引入多个 Transformer 层来捕获特征之间的复杂关系;
在Transformer层之间的异构交互模块,用于将字符级嵌入和标记级嵌入在每个Transformer层之后进行组合和分离,组合操作丰富了不同表示之间的关联性,分离操作保留了字符级和标记级特征的独立性,促进了模型在双通道区分方面的表现;
36)设定全连接分类层:全连接分类层用于微调整个URL-BERT模型以适应特定的恶意域名检测任务,通过将特征融合层输出的特征向量输入到全连接层中,通过反向传播算法最小化损失函数。
所述URL-BERT模型的预训练包括以下步骤:
41)将预训练数据集分词处理后的文本输入URL-BERT模型;
42)URL-BERT预训练层进行Masked Language Model预训练,即MLM预训练:
设是随机用[MASK]替换中的一小部分token的分词序列, 中有15%的token被随机进行[MASK],其中表示第i个token被随
机替换,MLM预训练过程的目标是根据上下文来预测被[MASK]的token的内容;
将输入到URL-BERT模型中,所对应的隐层向量, 由经过BERT的编码器编
码得到;
421)编码器处理过程:编码输入层的输入数据是嵌入向量;
422)自注意力机制:
输入通过线性变换得到查询矩阵、键矩阵K和值矩阵,其中, , 是编
码器的超参数:
,
,
,
然后计算注意力权重,使用缩放点积注意力,这一步产生的输出包含对输入序列内部的全局依赖关系的表示,
其中是键向量的维度,用于缩放点积,防止出现梯度消失问题,是
注意力权重矩阵,是一个注意力头的输出,
,
多头注意力的输出:
将多个头的输出拼接起来,然后通过另一个线性变换,公式如下,
,
其中,是第个头的输出,是一个超参数
矩阵;
423)前馈神经网络:
对于多头注意力的输出用一个前馈神经网络进一步处理特征表示,前馈网络由两个线性层和一个激活函数组成,
,
其中、、、是可学习的参数;
接着进行残差连接和层归一化,用于增强模型的训练稳定性和收敛速度:
,
这里表示层归一化操作;
编码器输出层:最终输出编码器的编码序列;
接着,经过Sigmoid操作得到对应的token分布;
MLM过程的公式如下,
,
其中表示目标概率分布,即整个序列的概率分布,表示给定序列
所有token的情况下,第i个token的预测概率,表示模型参数,表示第i个token是否被
[MASK],如果第i个token被[MASK],则, 否则,目的是对被[MASK]的token进
行加权,被[MASK]的token对整个序列的概率产生影响;
在MLM预训练中,目标是最大化模型对整个序列的预测准确率,基于这一预测,
计算交叉熵损失函数,并通过反向传播算法更新模型参数,最终得到预训练好的模型,
,
其中,是模型参数,是交叉熵损失函数,是第i个token的真实标签,如果
该token被[MASK]即该token的真实值,是第i个token的预测概率,即通
过反向传播算法最小化损失函数更新模型参数,最终得到预训练好的URL-BERT模型。
所述URL-BERT模型的微调包括以下步骤:
51)字符级嵌入特征提取层和标记级别嵌入特征提取层的训练,进行字符级别嵌入;
微调数据集经过分词后形成了分词序列一方面,经过字符级别嵌入特征提取
层嵌入,得到了嵌入向量;另一方面经过标记级别嵌入特征提取层嵌入,即经过预训练好的模型的嵌入,再加上注意力掩码向量,进行位置嵌入
处理,得到带位置嵌入的标记级别嵌入向量;
最后,将标记级别嵌入向量与字符级别嵌入向量
连接在一起,即在向量末尾连接向量,形成一个更长的嵌入
向量,
;
52)设定特征融合层:设定特征融合层为模型,模型包含一个被冻结参数的模
型层、多个Transformer层、多个异构交互层、一个全连接层和一个Sigmoid层;通过模块
间的交互,特征融合层能够捕获url字符级别和标记级别间的复杂关系;
进行特征融合层的训练:
521)设定被冻结参数的模型层为预训练好的URL-BERT模型,
522)设定Transformer模块:
Transformer由编码器和解码器组成,编码器用于处理输入数据,解码器负责生成输出,
编码器包括编码输入层、自注意力机制、多头注意力、前馈神经网络、残差连接和层归一化、编码器输出层;
解码器包括解码输入层、自注意力机制、编码器-解码器注意力机制、前馈神经网络、残差连接和层归一化、解码器输出层;
5221)编码器处理过程:编码输入层的输入数据是嵌入向量;
自注意力机制:
对于每个头,将输入通过线性变换得到查询矩阵、键矩阵和
值矩阵,其中, , ,是编码器的超参数:
,
,
,
接下来,对每个头计算注意力权重,使用缩放点积注意力,这一步产生的输出包含对输入序列内部的全局依赖关系的表示,
其中是键向量的维度,用于缩放点积,防止出现梯度消失问题,是注意力权重矩阵,是
一个头的注意力机制的输出,
,
多头注意力的输出:
将多个头的输出拼接起来,然后通过另一个线性变换,公式如下,
,
其中,是每个注意力头的输出,
是一个超参数矩阵;
前馈神经网络:
对于多头注意力的输出用一个前馈神经网络进一步处理特征表示,前馈网络由两个线性层和一个激活函数组成,
,
其中、、、是可学习的参数;
残差连接和层归一化:用于增强模型的训练稳定性和收敛速度,
,
这里表示层归一化操作;
编码器输出层:最终输出编码器的编码序列;
5222)解码器处理过程:
解码输入层的输入数据为嵌入向量
自注意力机制:通过线性变换得到查询矩阵、键矩阵和值矩阵,其中, , ,是解码器的超参数,
,
,
,
对每个头计算注意力权重,使用缩放点积注意力;
将多个头的输出拼接起来,经过残差连接和层归一化得到解码器的自注意力输出;
编码器-解码器注意力机制:解码器对编码器的输出进行注意力计算,以捕捉输入序列和输出序列之间的关系,允许解码器根据编码器的信息调整自身的注意力以生成目标序列;
对于解码器的每个位置,使用解码器的输出作为查询,编码器的输出、作为键和值,计算注意力权重:
,
,
多头注意力的输出:将解码器的自注意力输出和编码器-解码器注意力输出进行结合,得到最终的注意力输出;
将它们按元素加权相加,其表达式如下:
,
其中,最终的注意力输出为,是一个可学习的权重参数:
前馈神经网络:对最终的注意力输出为进行一次前馈神经网络处理,以进一步
提取和转换特征表示:
;
残差连接和层归一化:在前馈神经网络的输出上应用残差连接和层归一化,以增强模型的训练稳定性和收敛速度:
,
解码器输出:解码器的输出序列为;
523)设定异构交互模块:异构交互层中将标记级和字符级表示视为两种不同类型的特征表示,在每个Transformer转换层后,将这两种表示进行组合和分离操作;
全连接网络负责将标记和字符表示映射到相同的特征空间中,以确保它们具有一致的维度和语义表示,然后通过CNN层进行连接和集成,最后经过残差连接和层归一化操作;
5231)分离与组合处理:
将解码器输出的向量按长度分离成标记级表示和字符级表示, 表示
第i个位置的标记/字符表示,分别对和应用专用的全连接网络进行转换:
,
,
接着将转换后的标记和字符表示连接起来形成融合后的表示:
;
5232)CNN卷积:对融合后的表示应用CNN操作,用于集成特征,
,
其中,表示从到的嵌入的拼接,表示第j个滤波器的窗口大
小;
5233)分离:将经过卷积后的组合表示分离为两个不同通道的特征表示,
,
,
其中,GELU是激活函数,用于分离融合后的特征表示;
5234)残差连接和层归一化:将分离后的特征表示与初始标记和字符表示进行相加,以重组两个通道的表示:
,
,
最后对重组后的表示进行层归一化操作,以确保稳定性:
,
,
分离后的特征将连接后将得到下一层Transformer的输入;
524)设定全连接和Sigmoid 分类模块:
进行全连接层的训练:
将最后一层Transformer的输出传递给具有个隐藏单元的全连
接层,其数学表达如下:
,
其中,是输入向量,和是层的权重和偏置,
是激活函数;
Sigmoid 用于将全连接层的输出映射到类别概率分布,Sigmoid层将全连接层的
输出结果传递给Sigmoiod函数,Sigmoid函数将输入的实数值映射到0到1之间的概率值,
全连接层的输出为,经过Sigmoid函数后的输出表示为:
;
53)URL-BERT模型微调过程:
将微调数据集的标记级别嵌入向量与字符级别嵌入向量进行处理后的嵌入向量,使用预训练好的URL-BERT模型构建出的微调
模型通过将数据输入模型,将输出结果与真实标签进行比较,然后计算损失函数,通
过反向传播算法更新模型参数,迭代训练模型直至收敛,使得微调后的URL-BERT模型进行
恶意域名分类。
所述对预处理后的预训练数据集和微调训练数据集进行分词处理包括以下步骤:
61)针对预训练数据集和微调训练数据集中的域名数据,分词操作将整个域名字符串按照其结构特性进行拆分,去除域名中的特殊字符,以“/”、“.”、“-”为分隔符对域名进行分词:
输入一个经过预处理后的域名,定义一个分词函数f来表示这一过程:
,
分词函数f()输入是一个经过预处理的字符串形式的域名,输出是一个由该域名
分词后的片段组成的分词列表,其中, 为中单词内容的
数量;其表达式如下:
,
经过初步分词后,利用BERT分词器对进行嵌入处理;
62)进行词嵌入处理:为了标识输入序列的开始和结束,在开头添加[CLS]标记,
在结尾添加[SEP]标记,并将token序列长度限制为128,对于长度未达到128个标记的输入
序列,使用特定的填充标记[PAD]来扩展序列长度,直至其达到128个标记的限制,得;
63)进行段嵌入处理:将段嵌入全部设置为0,即:
与相同长度的[0,0,0,…,0,0]相加;
64)进行位置嵌入处理:位置嵌入根据中token的不同位置信息编码位置向量,向
URL-BERT模型引入token的位置关系,位置嵌入全部设置为0,即:
经过段嵌入处理的序列,与相同长度全为0的序列相加;
65)生成注意力掩码向量:使用注意力掩码向量区分输入序列中的实际标记与填充标记,
对于序列中的每个真实标记,其对应的注意力设定为1;对于每个填充标记[PAD],
其对应的注意力设定为0;生成注意力掩码向,其中1的个数为即:
经过位置嵌入处理的序列,与序列[1,1,1,…,0,0]相加。
所述进行字符级别嵌入包括以下步骤:
71)输入序列表示:首先,对于输入序列其中每个是子
词分词的标记,是序列中子词的总数,每个标记由字符组成,其中表示子
词的长度,
字符输入的总长度表示为;
72)字符向量生成:对于每个字符,都生成一个字符嵌入向量,
这通过将字符与字符嵌入矩阵相乘来完成,即,该过程将每个字
符映射到一个高维空间中的向量表示;
73)BiGRU处理:生成的字符嵌入向量被送入BiGRU中进行处理,BiGRU操作的结果
是生成每个字符的隐藏状态向量,
,隐藏状态向量包含了字符的上下文信息;
74)构建字符级嵌入:对于每个标记,其字符级嵌入向量组成了一个序列,这个序列被处理成一个标记级别的嵌入向量;
对于每个标记,将其第一个和最后一个字符的隐藏状态向量进行连接,得到标
记级嵌入向量,通过对整个输入序列的字符进行处理,获得了每个标
记的上下文字符嵌入向量,即域名字符级别的嵌入向量,其表达式如下:
。
有益效果
本发明的一种基于大语言模型的恶意域名检测方法,与现有技术相比采用了大语言模型BERT来处理恶意域名,利用大语言模型强大的语义理解能力,可以更好地捕捉域名中的隐含信息和语境,提高恶意域名的识别准确性。同时,在预训练时引入了位置嵌入技术,充分考虑了域名中Token的位置信息对于表示的重要性。通过将位置信息与Token的语义向量相结合,能够更准确地表达不同位置上的Token含义,从而提高了模型对于恶意域名的检测性能。
本发明还利用BiGRU提取字符级别嵌入,充分利用双向信息,更好地捕捉更细粒度的上下文信息,从而更全面地理解url数据,提高嵌入的准确性和表达能力。
在与传统的基于机器学习的特征提取方法相比,本发明可以避免手动设计特征,并且可以自动学习更高级别的特征表示。这种端到端的训练方式可以更好地适应数据的变化和复杂性,从而提高模型的泛化性能和可迁移性,提高应对对抗攻击的能力。与深度学习方法相比,本发明引入了位置嵌入,改善模型对序列数据的处理能力。同时还通过预训练任务以最大限度地提高模型的泛化能力和迁移能力,即使面对新的恶意域名分类任务,模型也能够快速适应并取得良好的效果。
综上所述,基于大语言模型的恶意域名检测方法在准确性和普适性方面具有明显优势。
附图说明
图1为本发明的方法顺序图;
图2为现有技术中的URL结构图;
图3为BiGRU网络的结构图;
图4为异构交互层的结构图;
图5为模型总体架构图。
具体实施方式
为使对本发明的结构特征及所达成的功效有更进一步的了解与认识,用以较佳的实施例及附图配合详细的说明,说明如下:
传统的基于特征工程的检测方法在面对复杂网络变化的时候难以取得很好的效果,其次,域名中相同的Token位于Domain/TLD/Path时应具有不同的含义和表示方法,即域名的Token具有位置敏感性。现有研究将域名视为纯文本序列,并应用语言模型来表征域名。许多研究使用“词袋”模型对域名标记进行建模,并提取词汇特征,例如使用n-gram特征用于域名分类,完全忽略了Token的位置敏感性。
本发明通过无标记域名数据预训练BERT,再有效结合域名的字符级嵌入特征和标记级嵌入特征对URL-BERT进行微调。利用BERT模型的上下文理解能力和位置敏感性,捕捉域名深层的语义信息,避免了单纯基于特征的方法中对手工定义规则或特征的严重依赖。
如图1所示,本发明所述的一种基于大语言模型的恶意域名检测方法,包括以下步骤:
第一步,预训练数据集和微调训练数据集的构建:构建预训练数据集和微调训练数据集,并进行数据预处理。
(1)设定预训练数据集,预训练数据集为无标记域名数据,无标记的域名数据从公开的DNS查询日志、WHOIS数据库来源获取。
(2)设定微调训练数据集,微调训练数据集为有标记域名数据,有标记域名数据从网络安全公司或公开的恶意域名数据库中获得,其中正样本和负样本数量均衡。
(3)对预训练数据集和微调训练数据集进行去重、去除无关字符、转换为小写字母、标准化步骤的预处理。
(4)对预处理后的预训练数据集和微调训练数据集进行分词处理。其包括以下步骤:
针对预训练数据集和微调训练数据集中的域名数据,分词操作将整个域名字符串按照其结构特性进行拆分,去除域名中的特殊字符,以“/”、“.”、“-”为分隔符对域名进行分词:
输入一个经过预处理后的域名,定义一个分词函数f来表示这一过程:
,
分词函数f()输入是一个经过预处理的字符串形式的域名,输出是一个由该域名
分词后的片段组成的分词列表,其中, 为中单词内
容的数量;其表达式如下:
,
经过初步分词后,利用BERT分词器对进行嵌入处理;
进行词嵌入处理:为了标识输入序列的开始和结束,在开头添加[CLS]标记,在结
尾添加[SEP]标记,并将token序列长度限制为128,对于长度未达到128个标记的输入序列,
使用特定的填充标记[PAD]来扩展序列长度,直至其达到128个标记的限制,得;
进行段嵌入处理:将段嵌入全部设置为0,即:
与相同长度的[0,0,0,…,0,0]相加;
进行位置嵌入处理:位置嵌入根据中token的不同位置信息编码位置向量,向
URL-BERT模型引入token的位置关系,位置嵌入全部设置为0,即:
经过段嵌入处理的序列,与相同长度全为0的序列相加;
生成注意力掩码向量:使用注意力掩码向量区分输入序列中的实际标记与填充标记,
对于序列中的每个真实标记,其对应的注意力设定为1;对于每个填充标记[PAD],
其对应的注意力设定为0;生成注意力掩码向,其中1的个数为即:
经过位置嵌入处理的序列,与序列[1,1,1,…,0,0]相加。
第二步,设定URL-BERT模型。
在此,设计了模型的整体架构,考虑到域名文本的特殊性,综合考虑了字符级和标记级的特征提取、特征融合和分类等多个方面,设计了一个综合性的模型结构。
在预训练阶段,URL-BERT模型通过MLM任务对大规模无标记域名数据进行预训练,学习捕获域名文本中的丰富语义信息和结构特征;在特征提取和融合阶段,设计了合适的特征提取方法来整合字符级和标记级的特征,并利用Transformer层来捕获特征之间的复杂关系,以提高模型的表征能力和分类性能。
这种设计的好处在于能够综合利用不同级别的信息,从而提高模型的表征能力和分类性能。字符级嵌入特征可以捕捉域名文本的细粒度特征,如单个字符的语义信息和顺序关系;而标记级嵌入特征则能够捕捉更高级别的语义信息。通过特征融合,模型可以同时考虑到这两个层面的特征,使得模型能够更全面地理解域名文本的含义。
URL-BERT架构设计中,特征融合能够综合利用字符级和标记级的嵌入特征,使模型能够更全面地理解域名文本;而Transformer能够处理域名文本中的长距离依赖关系,并更好地捕捉上下文信息。这些优势共同作用,提高了URL-BERT模型在恶意域名检测任务中的准确性和泛化能力。
其具体步骤如下:
(1)如图5所示,设定URL-BERT模型包括输入层、URL-BERT预训练层、字符级嵌入特征提取层、标记级别嵌入特征提取层、特征融合层和全连接分类层;
设定输入层:输入层接收分词处理后的文本作为模型的输入。
(2)设定URL-BERT预训练层:预训练阶段通过设定MLM任务,对大量的无标记域名数据进行训练,学习捕获域名文本中的丰富语义信息和结构特征。
(3)设定字符级嵌入特征提取层:字符级嵌入提取层提取域名文本的字符级别嵌
入,利用BiGRU生成双向的向量表示,其中包含了域名内部字符间的复杂关联信息;对微调
训练数据集,如图3所示,利用双向门控单元BiGRU对有标记域名数据进行字符级别的嵌入
提取,BiGRU通过利用两个不同方向的GRU,在前向和后向方向上结合隐藏层状态,从而实现
双向信息的整合,得到域名字符级别的嵌入向量。
(4)设定标记级别嵌入特征提取层,进行标记级别嵌入。
(5)设定特征融合层:
特征融合层将提取的字符级别嵌入特征向量和标记级别嵌入特征向量进行拼接,然后引入多个 Transformer 层来捕获特征之间的复杂关系;
在Transformer层之间的异构交互模块,用于将字符级嵌入和标记级嵌入在每个Transformer层之后进行组合和分离,组合操作丰富了不同表示之间的关联性,分离操作保留了字符级和标记级特征的独立性,促进了模型在双通道区分方面的表现。
(6)设定全连接分类层:全连接分类层用于微调整个URL-BERT模型以适应特定的恶意域名检测任务,通过将特征融合层输出的特征向量输入到全连接层中,通过反向传播算法最小化损失函数。
第三步,URL-BERT模型的预训练:利用预训练数据集对URL-BERT模型进行预训练。
本发明利用大量无标记的域名数据对BERT(Bidirectional EncoderRepresentations from Transformers)进行预训练得到URL-BERT模型,URL-BERT模型将通过自监督学习的方式学习域名数据中的丰富语义信息和结构特征,理解域名文本中的语义关系、词汇规律和结构特征,为后续的恶意域名检测任务提供更为深入和全面的语言理解能力。
该预训练过程涉及到自然语言处理、深度学习等多个领域的知识。该提高了自然语言处理的应用于url的效果和效率,可以大幅提升模型的对于url文本理解的准确性和模型的下游泛化能力。同时预训练降低了模型的训练成本,缩短训练时间,并可以将已有的url数据库有效利用,提高数据的利用率。
(1)将预训练数据集分词处理后的文本输入URL-BERT模型。
(2)URL-BERT预训练层进行Masked Language Model预训练,即MLM预训练:
设是随机用[MASK]替换中的一小部分token的分词序列,
中有15%的token被随机进行[MASK],其中表示第i个token被随机替换,MLM预训练过程的
目标是根据上下文来预测被[MASK]的token的内容;
将输入到URL-BERT模型中,所对应的隐层向量,由经过BERT的编码器编
码得到;
A1)编码器处理过程:编码输入层的输入数据是嵌入向量;
A2)自注意力机制:
将输入通过线性变换得到查询矩阵、键矩阵K和值矩阵,其中, ,
是编码器的超参数:
,
,
,
然后计算注意力权重,使用缩放点积注意力,这一步产生的输出包含对输入序列内部的全局依赖关系的表示,
其中是键向量的维度,用于缩放点积,防止出现梯度消失问题,
是注意力权重矩阵,是一个头的注意力机制的输出,
,
多头注意力的输出:
将多个头的输出拼接起来,然后通过另一个线性变换,公式如下,
,
其中,是第个头的输出,是一个超参数矩
阵;
A3)前馈神经网络:
对于多头注意力的输出用一个前馈神经网络进一步处理特征表示,前馈网络由两个线性层和一个激活函数组成,
,
其中、、、是可学习的参数;
残差连接和层归一化:用于增强模型的训练稳定性和收敛速度,
,
这里表示层归一化操作;
编码器输出层:最终输出编码器的编码序列;
接着,经过Sigmoid操作得到对应的token分布;
MLM过程的公式如下,
,
其中表示目标概率分布,即整个序列的概率分布,表示给定序
列所有token的情况下,第i个token的预测概率,表示模型参数,表示第i个token是否
被[MASK],如果第i个token被[MASK],则, 否则,目的是对被[MASK]的
token进行加权,被[MASK]的token对整个序列的概率产生影响;
在MLM预训练中,目标是最大化模型对整个序列的预测准确率,基于这一预测,
计算交叉熵损失函数,并通过反向传播算法更新模型参数,最终得到预训练好的模型,
,
其中,是模型参数,是交叉熵损失函数,是第i个token的真实标签,如果该
token被[MASK]即该token的真实值,是第i个token的预测概率,即,通过
反向传播算法最小化损失函数,更新模型参数,最终得到预训练好的URL-BERT模型。
第四步,URL-BERT模型的微调:利用微调训练数据集对预训练后的URL-BERT模型进行微调。
微调步骤需要对模型进行优化和调整,主要是针对特征融合层中各个模块进行训练,选择合适的超参数以及调整模型的学习力,达到最佳的微调效果。模型的微调过程在预训练的基础上,进一步提高了恶意域名检测的分类准确性, 通过特征融合和Transformer的应用,模型具有更好的特征表达和文本建模能力,可以加速恶意域名检测的分类效率。同时微调过程可以适用于多个领域,如应用于url的恶意家族分类、url多分类、判断url对关系、生成对抗样本等问题,具有广泛的应用前景。
本方法通过微调,有效结合域名的字符级特征和标记级特征征。通过字符特征捕捉域名文本在单个字符级别的顺序关系信息,不依赖语义理解的同时直观地反应了域名文本的重要信息;利用BERT模型的上下文理解能力和位置敏感性,通过标记级特征捕捉域名深层的语义信息,避免了单纯基于特征的方法中对手工定义规则或特征的严重依赖。
(1)字符级嵌入特征提取层和标记级别嵌入特征提取层的训练,进行字符级别嵌入;
进行字符级别嵌入包括以下步骤:
输入序列表示:首先,对于输入序列,其中每个是子词
分词的标记,是序列中子词的总数,每个标记由字符组成,其中表示子
词的长度,
字符输入的总长度表示为;
字符向量生成:对于每个字符,都生成一个字符嵌入向量,
这通过将字符与字符嵌入矩阵相乘来完成,即,该过程将每个字
符映射到一个高维空间中的向量表示;
BiGRU处理:生成的字符嵌入向量被送入BiGRU中进行处理,BiGRU操作的结果是
生成每个字符的隐藏状态向量,
,隐藏状态向量包含了字符的上下文信息;
构建字符级嵌入:对于每个标记,其字符级嵌入向量组成了一个序列,这个序列被处理成一个标记级别的嵌入向量;
对于每个标记,将其第一个和最后一个字符的隐藏状态向量进行连接,得到标记
级嵌入向量,通过对整个输入序列的字符进行处理,获得了每个标
记的上下文字符嵌入向量,即域名字符级别的嵌入向量,其表达式如下:
。
微调数据集经过分词后形成了分词序列一方面,经过字符级别嵌入特征提取
层嵌入,得到了嵌入向量;另一方面经过标记级别嵌入特征提取层嵌入,即经过预训练好的模型的嵌入,再加上注意力掩码向量,进行位置嵌入
处理,得到带位置嵌入的标记级别嵌入向量;
最后,将标记级别嵌入向量与字符级别嵌入向量
连接在一起,即在向量末尾连接向量,形成一个更长的嵌入
向量,
。
(2)设定特征融合层:设定特征融合层为模型,模型包含一个被冻结参数的模
型层、多个Transformer层、多个异构交互层、一个全连接层和一个Sigmoid层;通过模块
间的交互,特征融合层能够捕获url字符级别和标记级别间的复杂关系;
进行特征融合层的训练:
B1)设定被冻结参数的模型层为预训练好的URL-BERT模型,
B2)设定Transformer模块:
Transformer由编码器和解码器组成,编码器用于处理输入数据,解码器负责生成输出,
编码器包括编码输入层、自注意力机制、多头注意力、前馈神经网络、残差连接和层归一化、编码器输出层;
解码器包括解码输入层、自注意力机制、编码器-解码器注意力机制、前馈神经网络、残差连接和层归一化、解码器输出层;
B21)编码器处理过程:编码输入层的输入数据是嵌入向量;
自注意力机制:
对于每个头,将输入通过线性变换得到查询矩阵、键矩阵和
值矩阵,其中, , ,是编码器的超参数:
,
,
,
接下来,对每个头计算注意力权重,使用缩放点积注意力,这一步产生的输出包含对输入序列内部的全局依赖关系的表示,
其中是键向量的维度,用于缩放点积,防止出现梯度消失问题。是注意力权重矩阵,
是一个头的注意力机制的输出,
多头注意力的输出:
将多个头的输出拼接起来,然后通过另一个线性变换,公式如下,
,
其中,是每个注意力头的输出,是一个超参数矩阵;
前馈神经网络:
对于多头注意力的输出用一个前馈神经网络进一步处理特征表示,前馈网络由两个线性层和一个激活函数组成,
,
其中、、、是可学习的参数;
残差连接和层归一化:用于增强模型的训练稳定性和收敛速度,
,
这里表示层归一化操作;
编码器输出层:最终输出编码器的编码序列;
B22)解码器处理过程:
解码输入层的输入数据为嵌入向量;
自注意力机制:通过线性变换得到查询矩阵、键矩阵和值矩阵,其中, , ,是解码器的超参数,
,
,
,
对每个头计算注意力权重,使用缩放点积注意力;
将多个头的输出拼接起来,经过残差连接和层归一化得到解码器的自注意力输出;
编码器-解码器注意力机制:解码器对编码器的输出进行注意力计算,以捕捉输入序列和输出序列之间的关系,允许解码器根据编码器的信息调整自身的注意力以生成目标序列;
对于解码器的每个位置,使用解码器的输出作为查询,编码器的输出、作为键和值,计算注意力权重:
,
,
多头注意力的输出:将解码器的自注意力输出和编码器-解码器注意力输出进行结合,得到最终的注意力输出;
将它们按元素加权相加,其表达式如下:
,
其中,最终的注意力输出为,是一个可学习的权重参数:
前馈神经网络:对最终的注意力输出为进行一次前馈神经网络处理,以进一步
提取和转换特征表示:
;
残差连接和层归一化:在前馈神经网络的输出上应用残差连接和层归一化,以增强模型的训练稳定性和收敛速度:
,
解码器输出:解码器的输出序列为;
B3)设定异构交互模块:如图4所示,异构交互层中将标记级和字符级表示视为两种不同类型的特征表示,在每个Transformer转换层后,将这两种表示进行组合和分离操作;
全连接网络负责将标记和字符表示映射到相同的特征空间中,以确保它们具有一致的维度和语义表示,然后通过CNN层进行连接和集成,最后经过残差连接和层归一化操作;
B31)分离与组合处理:
将解码器输出的向量按长度分离成标记级表示和字符级表示, 表示
第i个位置的标记/字符表示,分别对和应用专用的全连接层进行转换:
,
,
接着将转换后的标记和字符表示连接起来形成融合后的表示:
;
B32)CNN卷积:对融合后的表示应用CNN操作,用于集成特征,
,
其中,表示从到的嵌入的拼接,表示第j个滤波器的窗口大
小;
B33)分离:将经过卷积后的组合表示分离为两个不同通道的特征表示,
,
,
其中,GELU是激活函数,用于分离融合后的特征表示;
B34)残差连接和层归一化:将分离后的特征表示与初始标记和字符表示进行相加,以重组两个通道的表示:
,
,
最后对重组后的表示进行层归一化操作,以确保稳定性:
,
,
分离后的特征将连接后将得到下一层Transformer的输入;
B4)设定全连接和Sigmoid 分类模块:
进行全连接层的训练:
将最后一层Transformer的输出传递给具有个隐藏单元的全连接
层,其数学表达如下
,
其中,是输入向量,和是层的权重和偏置,是
激活函数;
Sigmoid 用于将全连接层的输出映射到类别概率分布,Sigmoid层将全连接层的
输出结果传递给Sigmoiod函数,Sigmoid函数将输入的实数值映射到0到1之间的概率值,
全连接层的输出为,经过Sigmoid函数后的输出表示为:
。
(3)URL-BERT模型微调过程:
将微调数据集的标记级别嵌入向量与字符级别嵌入向量进行处理后的嵌入向量,使用预训练好的URL-BERT模型构建出的微调
模型通过将数据输入模型,将输出结果与真实标签进行比较,然后计算损失函数,通
过反向传播算法更新模型参数,迭代训练模型直至收敛,使得微调后的URL-BERT模型进行
恶意域名分类。
第五步,待检测域名的获得:获得待检测的域名。
第六步,恶意域名检测结果的获得:将待检测的域名输入微调后的URL-BERT模型,获得恶意域名检测结果。
本发明提出了一种基于BERT模型的恶意域名检测方法。与传统的基于规则和黑名单的检测方法相比,本发明能够更深层次地理解域名的语义信息和上下文关系,从而大幅提高了恶意域名的识别准确率。通过结合字符级嵌入和标记级嵌入,本方法引入了的位置信息,还捕捉了不同维度间的信息关系,进一步增强了模型对于域名结构的理解能力;其次,预训练BERT模型作为标记级别特征提取器,可以利用大规模预训练数据中学到的丰富语言知识。通过引入特征融合层,本发明能够灵活适应恶意域名分类任务的特定需求,提供了一种既高效又准确的恶意域名检测方案。总体而言,本发明的方法有高效、准确、易于实施等优点,对提升网络安全防护水平有积极效果。
本发明所述方法以域名为研究对象,域名作为一种特殊的文本,可以借助大型语言模型的强大表示能力,捕获域名字符级特征和标记级特征之间的相互关系,从不同尺度挖掘域名的特征,为恶意域名检测提供了创新性解决方案。
以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是本发明的原理,在不脱离本发明精神和范围的前提下本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明的范围内。本发明要求的保护范围由所附的权利要求书及其等同物界定。
Claims (7)
1.一种基于大语言模型的恶意域名检测方法,其特征在于,包括以下步骤:
11)预训练数据集和微调训练数据集的构建:构建预训练数据集和微调训练数据集,并进行数据预处理;
12)设定URL-BERT模型;
13)URL-BERT模型的预训练:利用预训练数据集对URL-BERT模型进行预训练;
14)URL-BERT模型的微调:利用微调训练数据集对预训练后的URL-BERT模型进行微调;
15)待检测域名的获得:获得待检测的域名;
16)恶意域名检测结果的获得:将待检测的域名输入微调后的URL-BERT模型,获得恶意域名检测结果。
2.根据权利要求1所述的一种基于大语言模型的恶意域名检测方法,其特征在于,所述预训练数据集和微调训练数据集的构建包括以下步骤:
21)设定预训练数据集,预训练数据集为无标记域名数据,无标记的域名数据从公开的DNS查询日志、WHOIS数据库来源获取;
22)设定微调训练数据集,微调训练数据集为有标记域名数据,有标记域名数据从网络安全公司或公开的恶意域名数据库中获得,其中正样本和负样本数量均衡;
23)对预训练数据集和微调训练数据集进行去重、去除无关字符、转换为小写字母、标准化步骤的预处理;
24)对预处理后的预训练数据集和微调训练数据集进行分词处理。
3.根据权利要求1所述的一种基于大语言模型的恶意域名检测方法,其特征在于,所述设定URL-BERT模型包括以下步骤:
31)设定URL-BERT模型包括输入层、URL-BERT预训练层、字符级嵌入特征提取层、标记级别嵌入特征提取层、特征融合层和全连接分类层;
设定输入层:输入层接收分词处理后的文本作为模型的输入;
32)设定URL-BERT预训练层:预训练阶段通过设定MLM任务,对大量的无标记域名数据进行训练,学习捕获域名文本中的丰富语义信息和结构特征;
33)设定字符级嵌入特征提取层:字符级嵌入提取层提取域名文本的字符级别嵌入,利用BiGRU生成双向的向量表示,其中包含了域名内部字符间的复杂关联信息;对微调训练数据集,利用双向门控单元BiGRU对有标记域名数据进行字符级别的嵌入提取,BiGRU通过利用两个不同方向的GRU,在前向和后向方向上结合隐藏层状态,从而实现双向信息的整合,得到域名字符级别的嵌入向量;
34)设定标记级别嵌入特征提取层,进行标记级别嵌入;
35)设定特征融合层:
特征融合层将提取的字符级别嵌入特征向量和标记级别嵌入特征向量进行拼接,然后引入多个 Transformer 层来捕获特征之间的复杂关系;
在Transformer层之间的异构交互模块,用于将字符级嵌入和标记级嵌入在每个Transformer层之后进行组合和分离,组合操作丰富了不同表示之间的关联性,分离操作保留了字符级和标记级特征的独立性,促进了模型在双通道区分方面的表现;
36)设定全连接分类层:全连接分类层用于微调整个URL-BERT模型以适应特定的恶意域名检测任务,通过将特征融合层输出的特征向量输入到全连接层中,通过反向传播算法最小化损失函数。
4.根据权利要求1所述的一种基于大语言模型的恶意域名检测方法,其特征在于,所述URL-BERT模型的预训练包括以下步骤:
41)将预训练数据集分词处理后的文本输入URL-BERT模型;
42)URL-BERT预训练层进行Masked Language Model预训练,即MLM预训练:
设是随机用[MASK]替换中的一小部分token的分词序列,中有15%的token被随机进行[MASK],其中表示第i个token被随机替换,MLM预训练过程的目标是根据上下文来预测被[MASK]的token的内容;
将输入到URL-BERT模型中,所对应的隐层向量, 由经过BERT的编码器编码得到;
421)编码器处理过程:编码输入层的输入数据是嵌入向量;
422)自注意力机制:
输入通过线性变换得到查询矩阵、键矩阵K和值矩阵,其中, , 是编码器的超参数:
,
,
,
然后计算注意力权重,使用缩放点积注意力,这一步产生的输出包含对输入序列内部的全局依赖关系的表示,
其中是键向量的维度,用于缩放点积,防止出现梯度消失问题,是注意力权重矩阵,是一个注意力头的输出,
,
多头注意力的输出:
将多个头的输出拼接起来,然后通过另一个线性变换,公式如下,
,
其中,是第个头的输出,是一个超参数矩阵;
423)前馈神经网络:
对于多头注意力的输出用一个前馈神经网络进一步处理特征表示,前馈网络由两个线性层和一个激活函数组成,
,
其中、、、是可学习的参数;
接着进行残差连接和层归一化,用于增强模型的训练稳定性和收敛速度:
,
这里表示层归一化操作;
编码器输出层:最终输出编码器的编码序列;
接着,经过Sigmoid操作得到对应的token分布;
MLM过程的公式如下,
,
其中表示目标概率分布,即整个序列的概率分布,表示给定序列所有token的情况下,第i个token的预测概率,表示模型参数,表示第i个token是否被[MASK],如果第i个token被[MASK],则, 否则,目的是对被[MASK]的token进行加权,被[MASK]的token对整个序列的概率产生影响;
在MLM预训练中,目标是最大化模型对整个序列的预测准确率,基于这一预测,计算交叉熵损失函数,并通过反向传播算法更新模型参数,最终得到预训练好的模型,
,
其中,是模型参数,是交叉熵损失函数,是第i个token的真实标签,如果该token被[MASK]即该token的真实值,是第i个token的预测概率,即通过反向传播算法最小化损失函数更新模型参数,最终得到预训练好的URL-BERT模型。
5.根据权利要求1所述的一种基于大语言模型的恶意域名检测方法,其特征在于,所述URL-BERT模型的微调包括以下步骤:
51)字符级嵌入特征提取层和标记级别嵌入特征提取层的训练,进行字符级别嵌入;
微调数据集经过分词后形成了分词序列一方面,经过字符级别嵌入特征提取层嵌入,得到了嵌入向量;另一方面经过标记级别嵌入特征提取层嵌入,即经过预训练好的模型的嵌入,再加上注意力掩码向量,进行位置嵌入处理,得到带位置嵌入的标记级别嵌入向量;
最后,将标记级别嵌入向量与字符级别嵌入向量连接在一起,即在向量末尾连接向量,形成一个更长的嵌入向量,
;
52)设定特征融合层:设定特征融合层为模型,模型包含一个被冻结参数的模型层、多个Transformer层、多个异构交互层、一个全连接层和一个Sigmoid层;通过模块间的交互,特征融合层能够捕获url字符级别和标记级别间的复杂关系;
进行特征融合层的训练:
521)设定被冻结参数的模型层为预训练好的URL-BERT模型,
522)设定Transformer模块:
Transformer由编码器和解码器组成,编码器用于处理输入数据,解码器负责生成输出,
编码器包括编码输入层、自注意力机制、多头注意力、前馈神经网络、残差连接和层归一化、编码器输出层;
解码器包括解码输入层、自注意力机制、编码器-解码器注意力机制、前馈神经网络、残差连接和层归一化、解码器输出层;
5221)编码器处理过程:编码输入层的输入数据是嵌入向量;
自注意力机制:
对于每个头,将输入通过线性变换得到查询矩阵、键矩阵和值矩阵,其中, , ,是编码器的超参数:
,
,
,
接下来,对每个头计算注意力权重,使用缩放点积注意力,这一步产生的输出包含对输入序列内部的全局依赖关系的表示,
其中是键向量的维度,用于缩放点积,防止出现梯度消失问题,是注意力权重矩阵,是一个头的注意力机制的输出,
,
多头注意力的输出:
将多个头的输出拼接起来,然后通过另一个线性变换,公式如下,
,
其中,是每个注意力头的输出,是一个超参数矩阵;
前馈神经网络:
对于多头注意力的输出用一个前馈神经网络进一步处理特征表示,前馈网络由两个线性层和一个激活函数组成,
,
其中、、、是可学习的参数;
残差连接和层归一化:用于增强模型的训练稳定性和收敛速度,
,
这里表示层归一化操作;
编码器输出层:最终输出编码器的编码序列;
5222)解码器处理过程:
解码输入层的输入数据为嵌入向量;
自注意力机制:通过线性变换得到查询矩阵、键矩阵和值矩阵,其中, , ,是解码器的超参数,
,
,
,
对每个头计算注意力权重,使用缩放点积注意力;
将多个头的输出拼接起来,经过残差连接和层归一化得到解码器的自注意力输出;
编码器-解码器注意力机制:解码器对编码器的输出进行注意力计算,以捕捉输入序列和输出序列之间的关系,允许解码器根据编码器的信息调整自身的注意力以生成目标序列;
对于解码器的每个位置,使用解码器的输出作为查询,编码器的输出、作为键和值,计算注意力权重:
,
,
多头注意力的输出:将解码器的自注意力输出和编码器-解码器注意力输出进行结合,得到最终的注意力输出;
将它们按元素加权相加,其表达式如下:
,
其中,最终的注意力输出为,是一个可学习的权重参数:
前馈神经网络:对最终的注意力输出为进行一次前馈神经网络处理,以进一步提取和转换特征表示:
;
残差连接和层归一化:在前馈神经网络的输出上应用残差连接和层归一化,以增强模型的训练稳定性和收敛速度:
,
解码器输出:解码器的输出序列为;
523)设定异构交互模块:异构交互层中将标记级和字符级表示视为两种不同类型的特征表示,在每个Transformer转换层后,将这两种表示进行组合和分离操作;
全连接网络负责将标记和字符表示映射到相同的特征空间中,以确保它们具有一致的维度和语义表示,然后通过CNN层进行连接和集成,最后经过残差连接和层归一化操作;
5231)分离与组合处理:
将解码器输出的向量按长度分离成标记级表示和字符级表示, 表示第i个位置的标记/字符表示,分别对和应用专用的全连接网络进行转换:
,
,
接着将转换后的标记和字符表示连接起来形成融合后的表示:
;
5232)CNN卷积:对融合后的表示应用CNN操作,用于集成特征,
,
其中,表示从到的嵌入的拼接,表示第j个滤波器的窗口大小;
5233)分离:将经过卷积后的组合表示分离为两个不同通道的特征表示,
,
,
其中,GELU是激活函数,用于分离融合后的特征表示;
5234)残差连接和层归一化:将分离后的特征表示与初始标记和字符表示进行相加,以重组两个通道的表示:
,
,
最后对重组后的表示进行层归一化操作,以确保稳定性:
,
,
分离后的特征将连接后将得到下一层Transformer的输入;
524)设定全连接和Sigmoid 分类模块:
进行全连接层的训练:
将最后一层Transformer的输出传递给具有个隐藏单元的全连接层,其数学表达如下:
,
其中,是输入向量,和是层的权重和偏置,是激活函数;
Sigmoid 用于将全连接层的输出映射到类别概率分布,Sigmoid层将全连接层的输出结果传递给Sigmoiod函数,Sigmoid函数将输入的实数值映射到0到1之间的概率值,全连接层的输出为,经过Sigmoid函数后的输出表示为:
;
53)URL-BERT模型微调过程:
将微调数据集的标记级别嵌入向量与字符级别嵌入向量进行处理后的嵌入向量,使用预训练好的URL-BERT模型构建出的微调模型通过将数据输入模型,将输出结果与真实标签进行比较,然后计算损失函数,通过反向传播算法更新模型参数,迭代训练模型直至收敛,使得微调后的URL-BERT模型进行恶意域名分类。
6.根据权利要求2所述的一种基于大语言模型的恶意域名检测方法,其特征在于,所述对预处理后的预训练数据集和微调训练数据集进行分词处理包括以下步骤:
61)针对预训练数据集和微调训练数据集中的域名数据,分词操作将整个域名字符串按照其结构特性进行拆分,去除域名中的特殊字符,以“/”、“.”、“-”为分隔符对域名进行分词:
输入一个经过预处理后的域名,定义一个分词函数f来表示这一过程:
,
分词函数f()输入是一个经过预处理的字符串形式的域名,输出是一个由该域名分词后的片段组成的分词列表,其中, 为中单词内容的数量;其表达式如下:
,
经过初步分词后,利用BERT分词器对进行嵌入处理;
62)进行词嵌入处理:为了标识输入序列的开始和结束,在开头添加[CLS]标记,在结尾添加[SEP]标记,并将token序列长度限制为128,对于长度未达到128个标记的输入序列,使用特定的填充标记[PAD]来扩展序列长度,直至其达到128个标记的限制,得;
63)进行段嵌入处理:将段嵌入全部设置为0,即:
与相同长度的[0,0,0,…,0,0]相加;
64)进行位置嵌入处理:位置嵌入根据中token的不同位置信息编码位置向量,向URL-BERT模型引入token的位置关系,位置嵌入全部设置为0,即:
经过段嵌入处理的序列,与相同长度全为0的序列相加;
65)生成注意力掩码向量:使用注意力掩码向量区分输入序列中的实际标记与填充标记,
对于序列中的每个真实标记,其对应的注意力设定为1;对于每个填充标记[PAD],其对应的注意力设定为0;生成注意力掩码向,其中1的个数为即:
经过位置嵌入处理的序列,与序列[1,1,1,…,0,0]相加。
7.根据权利要求5所述的一种基于大语言模型的恶意域名检测方法,其特征在于,所述进行字符级别嵌入包括以下步骤:
71)输入序列表示:首先,对于输入序列其中每个是子词分词的标记,是序列中子词的总数,每个标记由字符组成,其中表示子词的长度,
字符输入的总长度表示为;
72)字符向量生成:对于每个字符,都生成一个字符嵌入向量,
这通过将字符与字符嵌入矩阵相乘来完成,即,该过程将每个字符映射到一个高维空间中的向量表示;
73)BiGRU处理:生成的字符嵌入向量被送入BiGRU中进行处理,BiGRU操作的结果是生成每个字符的隐藏状态向量,
,隐藏状态向量包含了字符的上下文信息;
74)构建字符级嵌入:对于每个标记,其字符级嵌入向量组成了一个序列,这个序列被处理成一个标记级别的嵌入向量;
对于每个标记,将其第一个和最后一个字符的隐藏状态向量进行连接,得到标记级嵌入向量,通过对整个输入序列的字符进行处理,获得了每个标记的上下文字符嵌入向量,即域名字符级别的嵌入向量,其表达式如下:
。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202410875232.5A CN118413402B (zh) | 2024-07-02 | 2024-07-02 | 一种基于大语言模型的恶意域名检测方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202410875232.5A CN118413402B (zh) | 2024-07-02 | 2024-07-02 | 一种基于大语言模型的恶意域名检测方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN118413402A true CN118413402A (zh) | 2024-07-30 |
| CN118413402B CN118413402B (zh) | 2024-09-06 |
Family
ID=92003295
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202410875232.5A Active CN118413402B (zh) | 2024-07-02 | 2024-07-02 | 一种基于大语言模型的恶意域名检测方法 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN118413402B (zh) |
Cited By (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN118585632A (zh) * | 2024-08-06 | 2024-09-03 | 浪潮云信息技术股份公司 | 一种交通行业的大模型问答方法、装置、设备及存储介质 |
| CN118657439A (zh) * | 2024-08-19 | 2024-09-17 | 宁波宁途智能科技有限公司 | 一种基于spc检测的工业生产数据质量管理方法及装置 |
| CN118675073A (zh) * | 2024-08-23 | 2024-09-20 | 牡丹区公路事业发展中心 | 一种公路边坡位移预测方法 |
| CN118972123A (zh) * | 2024-08-05 | 2024-11-15 | 威海蓝海银行股份有限公司 | 基于大语言模型恶意域名访问的识别方法 |
| CN119071023A (zh) * | 2024-08-02 | 2024-12-03 | 清华大学 | 一种恶意流量检测对抗攻击方法及装置 |
| CN119204232A (zh) * | 2024-11-28 | 2024-12-27 | 齐鲁工业大学(山东省科学院) | 一种改进语言处理模型准确率的方法 |
| CN119276539A (zh) * | 2024-09-09 | 2025-01-07 | 鹏城实验室 | 恶意域名识别方法、装置、计算机设备及可读存储介质 |
| CN119357965A (zh) * | 2024-12-25 | 2025-01-24 | 浙江工业大学 | 一种基于规则与深度学习双驱动的恶意url检测方法 |
| CN119649599A (zh) * | 2024-12-12 | 2025-03-18 | 南京邮电大学 | 融合时空特征与大语言模型的城市交通流预测方法及系统 |
| CN119675890A (zh) * | 2024-10-15 | 2025-03-21 | 北京亚鸿世纪科技发展有限公司 | 一种基于搜索引擎和生成式语言模型的恶意域名研判方法 |
| CN119720193A (zh) * | 2024-11-25 | 2025-03-28 | 交通银行股份有限公司 | 程序检测方法、装置、计算机设备及存储介质 |
| CN120277500A (zh) * | 2025-06-10 | 2025-07-08 | 苏州工学院 | 基于字符级语言模型与结构特征融合的恶意url检测方法 |
Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20220158979A1 (en) * | 2019-04-02 | 2022-05-19 | Bright Data Ltd. | System and method for managing non-direct url fetching service |
| CN116167084A (zh) * | 2023-02-24 | 2023-05-26 | 北京工业大学 | 一种基于混合策略的联邦学习模型训练隐私保护方法及系统 |
| CN116385808A (zh) * | 2023-06-02 | 2023-07-04 | 合肥城市云数据中心股份有限公司 | 大数据跨域图像分类模型训练方法、图像分类方法和系统 |
| CN116633623A (zh) * | 2023-05-24 | 2023-08-22 | 北京邮电大学 | 一种面向物联僵尸网络的dga域名检测方法 |
| US20230367833A1 (en) * | 2021-07-26 | 2023-11-16 | Bright Data Ltd. | Emulating Web Browser in a Dedicated Intermediary Box |
| CN117675238A (zh) * | 2022-08-23 | 2024-03-08 | 腾讯云计算(北京)有限责任公司 | 数据访问方法、装置、电子设备及存储介质 |
| CN118054951A (zh) * | 2024-02-26 | 2024-05-17 | 东北大学 | 一种基于无监督学习的恶意域名检测方法 |
-
2024
- 2024-07-02 CN CN202410875232.5A patent/CN118413402B/zh active Active
Patent Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20220158979A1 (en) * | 2019-04-02 | 2022-05-19 | Bright Data Ltd. | System and method for managing non-direct url fetching service |
| US20230367833A1 (en) * | 2021-07-26 | 2023-11-16 | Bright Data Ltd. | Emulating Web Browser in a Dedicated Intermediary Box |
| CN117675238A (zh) * | 2022-08-23 | 2024-03-08 | 腾讯云计算(北京)有限责任公司 | 数据访问方法、装置、电子设备及存储介质 |
| CN116167084A (zh) * | 2023-02-24 | 2023-05-26 | 北京工业大学 | 一种基于混合策略的联邦学习模型训练隐私保护方法及系统 |
| CN116633623A (zh) * | 2023-05-24 | 2023-08-22 | 北京邮电大学 | 一种面向物联僵尸网络的dga域名检测方法 |
| CN116385808A (zh) * | 2023-06-02 | 2023-07-04 | 合肥城市云数据中心股份有限公司 | 大数据跨域图像分类模型训练方法、图像分类方法和系统 |
| CN118054951A (zh) * | 2024-02-26 | 2024-05-17 | 东北大学 | 一种基于无监督学习的恶意域名检测方法 |
Non-Patent Citations (2)
| Title |
|---|
| RUITONG LIU: "Malicious URL Detection via Pretrained Language Model Guided Multi-Level Feature Attention Network", ARXIV.ORG, 21 November 2023 (2023-11-21) * |
| 姚忠将;葛敬国;张潇丹;郑宏波;邹壮;孙焜焜;许子豪;: "流量混淆技术及相应识别、追踪技术研究综述", 软件学报, no. 10, 15 October 2018 (2018-10-15) * |
Cited By (16)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN119071023A (zh) * | 2024-08-02 | 2024-12-03 | 清华大学 | 一种恶意流量检测对抗攻击方法及装置 |
| CN118972123A (zh) * | 2024-08-05 | 2024-11-15 | 威海蓝海银行股份有限公司 | 基于大语言模型恶意域名访问的识别方法 |
| CN118585632A (zh) * | 2024-08-06 | 2024-09-03 | 浪潮云信息技术股份公司 | 一种交通行业的大模型问答方法、装置、设备及存储介质 |
| CN118657439A (zh) * | 2024-08-19 | 2024-09-17 | 宁波宁途智能科技有限公司 | 一种基于spc检测的工业生产数据质量管理方法及装置 |
| CN118675073A (zh) * | 2024-08-23 | 2024-09-20 | 牡丹区公路事业发展中心 | 一种公路边坡位移预测方法 |
| CN118675073B (zh) * | 2024-08-23 | 2024-12-27 | 牡丹区公路事业发展中心 | 一种公路边坡位移预测方法 |
| CN119276539B (zh) * | 2024-09-09 | 2025-09-09 | 鹏城实验室 | 恶意域名识别方法、装置、计算机设备及可读存储介质 |
| CN119276539A (zh) * | 2024-09-09 | 2025-01-07 | 鹏城实验室 | 恶意域名识别方法、装置、计算机设备及可读存储介质 |
| CN119675890A (zh) * | 2024-10-15 | 2025-03-21 | 北京亚鸿世纪科技发展有限公司 | 一种基于搜索引擎和生成式语言模型的恶意域名研判方法 |
| CN119720193A (zh) * | 2024-11-25 | 2025-03-28 | 交通银行股份有限公司 | 程序检测方法、装置、计算机设备及存储介质 |
| CN119204232A (zh) * | 2024-11-28 | 2024-12-27 | 齐鲁工业大学(山东省科学院) | 一种改进语言处理模型准确率的方法 |
| CN119649599A (zh) * | 2024-12-12 | 2025-03-18 | 南京邮电大学 | 融合时空特征与大语言模型的城市交通流预测方法及系统 |
| CN119649599B (zh) * | 2024-12-12 | 2025-12-09 | 南京邮电大学 | 融合时空特征与大语言模型的城市交通流预测方法及系统 |
| CN119357965A (zh) * | 2024-12-25 | 2025-01-24 | 浙江工业大学 | 一种基于规则与深度学习双驱动的恶意url检测方法 |
| CN120277500B (zh) * | 2025-06-10 | 2025-08-12 | 苏州工学院 | 基于字符级语言模型与结构特征融合的恶意url检测方法 |
| CN120277500A (zh) * | 2025-06-10 | 2025-07-08 | 苏州工学院 | 基于字符级语言模型与结构特征融合的恶意url检测方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN118413402B (zh) | 2024-09-06 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN118413402B (zh) | 一种基于大语言模型的恶意域名检测方法 | |
| CN113596007B (zh) | 一种基于深度学习的漏洞攻击检测方法和设备 | |
| CN114444516B (zh) | 一种基于深度语义感知图卷积网络的粤语谣言检测方法 | |
| CN111459491B (zh) | 一种基于树形神经网络的代码推荐方法 | |
| CN115033670A (zh) | 多粒度特征融合的跨模态图文检索方法 | |
| CN112183064B (zh) | 基于多任务联合学习的文本情绪原因识别系统 | |
| CN115759092A (zh) | 一种基于albert的网络威胁情报命名实体识别方法 | |
| CN115329776B (zh) | 基于少样本学习的网络安全协同处置的语义分析方法 | |
| CN113705218A (zh) | 基于字符嵌入的事件元素网格化抽取方法、存储介质及电子装置 | |
| CN115169285A (zh) | 一种基于图解析的事件抽取方法及系统 | |
| CN114416479A (zh) | 一种基于流外正则化的日志序列异常检测方法 | |
| CN112668013A (zh) | 一种面向Java源码的语句级模式探索的漏洞检测方法 | |
| CN117688560A (zh) | 一种面向语义分析的恶意软件智能检测方法 | |
| CN114169329A (zh) | 一种面向信息安全领域的命名实体识别方法 | |
| CN115422945A (zh) | 一种融合情感挖掘的谣言检测方法及系统 | |
| CN120150993A (zh) | 基于语法语义特征融合网络的sql注入检测方法、系统及存储介质 | |
| CN117332411B (zh) | 一种基于Transformer模型的异常登录检测方法 | |
| CN117390189B (zh) | 基于前置分类器的中立文本生成方法 | |
| CN115242539A (zh) | 基于特征融合的电网信息系统网络攻击检测方法及装置 | |
| CN120105149A (zh) | 一种网络威胁情报分析方法及其系统 | |
| CN113886593A (zh) | 一种利用指代依赖提升关系抽取性能的方法 | |
| CN117176422A (zh) | 一种dns隐蔽信道检测方法及系统 | |
| CN113342982B (zh) | 融合RoBERTa和外部知识库的企业行业分类方法 | |
| CN120277500A (zh) | 基于字符级语言模型与结构特征融合的恶意url检测方法 | |
| CN117010382A (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 |