CN113780368A - 一种基于增强高斯过程的恶意域名检测方法 - Google Patents
一种基于增强高斯过程的恶意域名检测方法 Download PDFInfo
- Publication number
- CN113780368A CN113780368A CN202110957833.7A CN202110957833A CN113780368A CN 113780368 A CN113780368 A CN 113780368A CN 202110957833 A CN202110957833 A CN 202110957833A CN 113780368 A CN113780368 A CN 113780368A
- Authority
- CN
- China
- Prior art keywords
- domain name
- model
- gaussian process
- function
- malicious
- 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
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000001514 detection method Methods 0.000 title claims abstract description 23
- 238000012549 training Methods 0.000 claims abstract description 29
- 238000012360 testing method Methods 0.000 claims abstract description 25
- 238000007781 pre-processing Methods 0.000 claims abstract description 4
- 230000006870 function Effects 0.000 claims description 45
- 239000013598 vector Substances 0.000 claims description 12
- 238000009826 distribution Methods 0.000 claims description 10
- 238000013507 mapping Methods 0.000 claims description 5
- 239000011159 matrix material Substances 0.000 claims description 4
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 claims description 3
- 230000002708 enhancing effect Effects 0.000 claims description 3
- 230000006698 induction Effects 0.000 claims description 3
- 238000012706 support-vector machine Methods 0.000 abstract description 7
- 230000003190 augmentative effect Effects 0.000 description 4
- 238000003058 natural language processing Methods 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 230000003416 augmentation Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000007637 random forest analysis Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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; CALCULATING OR 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
- G06F18/2415—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Abstract
本发明公开了一种基于增强高斯过程的恶意域名检测方法,具体步骤如下;S1、读取正常域名和恶意域名数据;S2、对数据进行shuffle重排序、划分训练集和测试集等预处理;S3、编写字符向量化模块,并对域名和标签进行向量化,并针对训练集和测试集进行归一化处理。本发明通过对域名进行向量化时直接基于字符,不依赖专家经验,模型基于增强高斯过程构建,使用逻辑斯蒂或贝叶斯支持向量机作为似然函数,通过差分推断计算后验概率,不同于常规模型通过优化恶意域名分类损失函数从而计算唯一参数的方法。
Description
技术领域
本发明涉及恶意域名检测领域,具体涉及一种基于增强高斯过程(AugmentedGaussian Processes)的恶意域名检测方法。
背景技术
恶意域名情报是威胁情报的重要组成部分,包括恶意域名检测(MaliciousDomains Detection)、域名生成算法识别(DGA Recognition)等,相对于图像处理、自然语言处理等领域,基于人工智能研究安全领域的工作并不是很多。以往很多检测模型的构建严重依赖专家经验。例如,对于域名一般使用域名字符熵、域名长度、域名级别、域名数字数量、特征字符数量、字符类型变换次数、最长非顶级域名、数字子域名数量、成词子域名数量等等。基于专家经验对域名进行向量化后,再通过随机森林、CNN(卷积神经网络)、LSTM等来构建有监督的检测模型。不过,不同的专家会有不同的分析经验,无法穷举,且该类模型没有真正发挥深度学习端到端的优势,由于依赖专家经验进行向量化,模型的性能收到一定的约束。
另外,由于近年来在人工智能自然语言处理(NLP)领域,Transformer框架得到长足的发展,特别是GPT-3取得了很大的成果,同时该类模型的训练需要超大的语料库和多达上千显卡集群的强大的算力,非普通公司所能承受,另外从原理上,该类模型训练的语料库是正常的人类语言,而并非指向网络空间安全领域,在网络空间安全领域,一些恶意域名使用DGA域名,这些域名产生的原理与正常的人类语言截然不同。
目前,域名的向量化严重依赖专家经验,不仅一些专家经验不会公开,同时专家经验依赖于个人,也无法穷举域名的统计特征,因为束缚了后期模型的性能,使得该类模型无法真正实现端到端的自动学习,且通常基于Transformer框架构建检测模型,一来模型较重,不易部署,二来从原理上,该类模型训练的语料库是正常的人类语言,而并非指向网络空间安全领域,在网络空间安全领域,一些恶意域名使用DGA域名,这些域名产生的原理与正常的人类语言截然不同。
因此,发明一种基于增强高斯过程(Augmented Gaussian Processes)的恶意域名检测方法来解决上述问题很有必要。
发明内容
本发明的目的是提供一种基于增强高斯过程(Augmented Gaussian Processes)的恶意域名检测方法,通过对域名进行向量化时直接基于字符,不依赖专家经验,模型基于增强高斯过程构建,使用逻辑斯蒂或贝叶斯支持向量机作为似然函数,通过差分推断计算后验概率,不同于常规模型通过优化恶意域名分类损失函数从而计算唯一参数的方法,本发明的方法能输出分类的分布,在多分类任务中,对于恶意域名训练集中没有出现的分类,该方法能避免非黑即白的分类逻辑错误,以解决技术中的上述不足之处。
为了实现上述目的,本发明提供如下技术方案:一种基于增强高斯过程(Augmented Gaussian Processes)的恶意域名检测方法,具体步骤如下;
S1、读取正常域名和恶意域名数据;
S2、对数据进行shuffle重排序、划分训练集和测试集等预处理;
S3、编写字符向量化模块,并对域名和标签进行向量化,并针对训练集和测试集进行归一化处理;
S4、设定建模方式、增强高斯过程的核函数、似然函数以及与之配套的模型推断方法、是否引入诱导点以及数量、优化器指定以及学习率;
S5、设定模型相关参数,进行训练和测试;
S6、保存模型。
优选的,在S1中,使用Julia语言,启用分布式计算,并基于此方式进行编程,分别读取正常域名数据和恶意域名数据,共11000条样本数据,其中恶意域名数据中包含钓鱼网站域名和恶意软件域名。
优选的,在S2中,设定MersenneTwister参数,并传给shuffle函数,用以对原始数据进行重排序操作,打乱排列顺序,并划分训练集和测试集。
优选的,在S3中,编写字符向量化模块,建立域名每一种字符与整数的映射词典,共159个,在对域名进行向量化时,如果有未出现的字符,统一填充为160,在本例中,统一所有域名向量化长度为30,对于长度大于30的域名向量,只截取前30,对于长度小于30的域名向量,在向量组后部分填0,将数据的类型由DataFrame转换为Matrix,单个向量由Int64转换为Float64,并对于处理后的训练集进行均值方差归一化,基于训练集的均值和方差对测试集进行归一化。
优选的,S4包括以下步骤:
S4.1、设定模型的建模方式为差分高斯过程;
S4.2、设定模型的核函数为平方指数核函数(Squared Exponential Kernel),该核函数亦称为高斯核函数(Gaussian Kernel)或径向基核函数(Radio Basis FunctionKernel);
S4.3、设定模型的似然函数为逻辑斯蒂似然函数,差分推断求解器设为AnalyticVI函数;
S4.4、设定优化器使用adam,学习率为0.01。
优选的,在S5中,设定模型训练迭代次数为50,在测试集模型精确率达到97.8%,召回率达到92.2%。
优选的,在S6中,保存训练的模型以及针对每个测试点隐正态分布的均值和方差参数集。
在上述技术方案中,本发明提供的技术效果和优点:
1、通过基于增强高斯过程建立恶意域名检测的贝叶斯机器学习模型,在域名向量化时直接基于字符进行映射,避免以往模型依赖专家经验提取域名统计特征的问题;
2、为了提高检测恶意域名在未见分类时的可信度,本模型可以给出计算待测域名的分类概率分布,同时对于常见的二分类问题,也可以直接计算正常/恶意的概率或转换后的类别标签。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1为本发明的流程图。
具体实施方式
为了使本领域的技术人员更好地理解本发明的技术方案,下面将结合附图对本发明作进一步的详细介绍。
本发明提供了如图1所示的一种基于增强高斯过程的恶意域名检测方法,具体步骤如下;
S1、读取正常域名和恶意域名数据;
S2、对数据进行shuffle重排序、划分训练集和测试集等预处理;
S3、编写字符向量化模块,并对域名和标签进行向量化,并针对训练集和测试集进行归一化处理;
S4、设定建模方式、增强高斯过程的核函数、似然函数以及与之配套的模型推断方法、是否引入诱导点以及数量、优化器指定以及学习率;
S5、设定模型相关参数,进行训练和测试;
S6、保存模型。
进一步的,在上述技术方案中,在S1中,使用Julia语言,启用分布式计算,并基于此方式进行编程,分别读取正常域名数据和恶意域名数据,共11000条样本数据,其中恶意域名数据中包含钓鱼网站域名和恶意软件域名,进行样本采集,方便后续对正常域名数据和恶意域名数据数据进行分析。
进一步的,在上述技术方案中,在S2中,设定MersenneTwister参数,并传给shuffle函数,用以对原始数据进行重排序操作,打乱排列顺序,并划分训练集和测试集,通过设定MersenneTwister参数,并通过shuffle函数对原始数据进行重排序操作,方便划分出训练集和测试集。
进一步的,在上述技术方案中,在S3中,编写字符向量化模块,建立域名每一种字符与整数的映射词典,共159个,在对域名进行向量化时,如果有未出现的字符,统一填充为160,在本例中,统一所有域名向量化长度为30,对于长度大于30的域名向量,只截取前30,对于长度小于30的域名向量,在向量组后部分填0,将数据的类型由DataFrame转换为Matrix,单个向量由Int64转换为Float64,并对于处理后的训练集进行均值方差归一化,基于训练集的均值和方差对测试集进行归一化,在多分类任务中,对于恶意域名训练集中没有出现的分类,避免非黑即白的分类逻辑错误。
进一步的,在上述技术方案中,S4包括以下步骤:
S4.1、设定模型的建模方式为差分高斯过程;
S4.2、设定模型的核函数为平方指数核函数(Squared Exponential Kernel),该核函数亦称为高斯核函数(Gaussian Kernel)或径向基核函数(Radio Basis FunctionKernel);
S4.3、设定模型的似然函数为逻辑斯蒂似然函数,差分推断求解器设为AnalyticVI函数;
S4.4、设定优化器使用adam,学习率为0.01。
进一步的,在上述技术方案中,在S5中,设定模型训练迭代次数为50,在测试集模型精确率达到97.8%,召回率达到92.2%,在检测恶意域名时不仅可以通过均值给出与常规检测模型相同的结果类型,还可以给出其概率分布。
进一步的,在上述技术方案中,在S6中,保存训练的模型以及针对每个测试点隐正态分布的均值和方差参数集,完成模型的训练。
实施方式具体为:其中,增强高斯过程(AGP,Augmented Gaussian Processes)是普通高斯过程模型的升级,该模型设定隐函数f先验服从高斯过程分布,即f~GP(μ0,k),其中k是核函数。标签值y通过非共轭似然概率p(y|f)与f联系,X为特征数据矩阵,则:
p(f)=GP(μ0,k)
而AGP模型通过设定参数w为潜在的增强(potential augmentation),来寻找一种模型的增强表达形式,使得p(y|f)与f满足条件共轭。
其中,增强联合概率分布为:
p(y,f,w)=p(y|f,w)p(w)p(f)
这样通过边缘化可以计算得到最初的概率模型:
P(y,f)=∫p(y,f,w)dw
AGP模型通过引入增强参数w,使得增强似然p(y|f,w)与先验分布p(f)和p(w)共轭,这样后验分布的对数期望log(p(w|f,y))和log(p(w|f,y))可以计算得到,计算依数据量大小而变,对于小量数据,采用马尔科夫蒙特卡洛(MCMC)Gibbs采样器得到精准的后验概率,对于上百万的大量数据,采用差分推断得到后验概率。其中:
p(f|y,w)=N(f|μ,∑)
另外,基于隐高斯过程的似然函数的选择需要根据具体问题来选择,比如对于二分类问题,可以选择逻辑斯蒂似然函数和贝叶斯支持向量机(Bayesian SVM),对于回归问题可以选择学生-t似然函数。
本方法不依赖专家经验,直接基于字符对域名进行向量化,使用逻辑斯蒂或贝叶斯支持向量机作为似然函数,通过差分推断计算后验概率,不同于常规模型通过优化恶意域名分类损失函数从而计算唯一参数的方法,本发明的方法能输出分类的分布,在多分类任务中,对于恶意域名训练集中没有出现的分类,该方法能避免非黑即白的分类逻辑错误,在测试集模型精确率达到97.8%,召回率92.2%。
以上只通过说明的方式描述了本发明的某些示范性实施例,毋庸置疑,对于本领域的普通技术人员,在不偏离本发明的精神和范围的情况下,可以用各种不同的方式对所描述的实施例进行修正。因此,上述附图和描述在本质上是说明性的,不应理解为对本发明权利要求保护范围的限制。
Claims (7)
1.一种基于增强高斯过程的恶意域名检测方法,其特征在于:具体步骤如下;
S1、读取正常域名和恶意域名数据;
S2、对数据进行shuffle重排序、划分训练集和测试集等预处理;
S3、编写字符向量化模块,并对域名和标签进行向量化,并针对训练集和测试集进行归一化处理;
S4、设定建模方式、增强高斯过程的核函数、似然函数以及与之配套的模型推断方法、是否引入诱导点以及数量、优化器指定以及学习率;
S5、设定模型相关参数,进行训练和测试;
S6、保存模型。
2.根据权利要求1所述的一种基于增强高斯过程的恶意域名检测方法,其特征在于:在S1中,使用Julia语言,启用分布式计算,并基于此方式进行编程,分别读取正常域名数据和恶意域名数据,共11000条样本数据,其中恶意域名数据中包含钓鱼网站域名和恶意软件域名。
3.根据权利要求1所述的一种基于增强高斯过程的恶意域名检测方法,其特征在于:在S2中,设定MersenneTwister参数,并传给shuffle函数,用以对原始数据进行重排序操作,打乱排列顺序,并划分训练集和测试集。
4.根据权利要求1所述的一种基于增强高斯过程的恶意域名检测方法,其特征在于:在S3中,编写字符向量化模块,建立域名每一种字符与整数的映射词典,共159个,在对域名进行向量化时,如果有未出现的字符,统一填充为160,在本例中,统一所有域名向量化长度为30,对于长度大于30的域名向量,只截取前30,对于长度小于30的域名向量,在向量组后部分填0,将数据的类型由DataFrame转换为Matrix,单个向量由Int64转换为Float64,并对于处理后的训练集进行均值方差归一化,基于训练集的均值和方差对测试集进行归一化。
5.根据权利要求1所述的一种基于增强高斯过程的恶意域名检测方法,其特征在于:S4包括以下步骤:
S4.1、设定模型的建模方式为差分高斯过程;
S4.2、设定模型的核函数为平方指数核函数(Squared Exponential Kernel),该核函数亦称为高斯核函数(Gaussian Kernel)或径向基核函数(Radio Basis FunctionKernel);
S4.3、设定模型的似然函数为逻辑斯蒂似然函数,差分推断求解器设为AnalyticVI函数;
S4.4、设定优化器使用adam,学习率为0.01。
6.根据权利要求1所述的一种基于增强高斯过程的恶意域名检测方法,其特征在于:在S5中,设定模型训练迭代次数为50,在测试集模型精确率达到97.8%,召回率达到92.2%。
7.根据权利要求1所述的一种基于增强高斯过程的恶意域名检测方法,其特征在于:在S6中,保存训练的模型以及针对每个测试点隐正态分布的均值和方差参数集。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110957833.7A CN113780368A (zh) | 2021-08-20 | 2021-08-20 | 一种基于增强高斯过程的恶意域名检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110957833.7A CN113780368A (zh) | 2021-08-20 | 2021-08-20 | 一种基于增强高斯过程的恶意域名检测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113780368A true CN113780368A (zh) | 2021-12-10 |
Family
ID=78838347
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110957833.7A Pending CN113780368A (zh) | 2021-08-20 | 2021-08-20 | 一种基于增强高斯过程的恶意域名检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113780368A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103974311A (zh) * | 2014-05-21 | 2014-08-06 | 哈尔滨工业大学 | 基于改进高斯过程回归模型的状态监测数据流异常检测方法 |
US20150128263A1 (en) * | 2013-11-07 | 2015-05-07 | Cyberpoint International, LLC | Methods and systems for malware detection |
CN106557552A (zh) * | 2016-10-27 | 2017-04-05 | 国家计算机网络与信息安全管理中心 | 一种网络话题热度预测方法 |
CN108496328A (zh) * | 2015-12-21 | 2018-09-04 | 赛门铁克公司 | 恶意bgp劫持的精确实时识别 |
CN109617909A (zh) * | 2019-01-07 | 2019-04-12 | 福州大学 | 一种基于smote和bi-lstm网络的恶意域名检测方法 |
-
2021
- 2021-08-20 CN CN202110957833.7A patent/CN113780368A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150128263A1 (en) * | 2013-11-07 | 2015-05-07 | Cyberpoint International, LLC | Methods and systems for malware detection |
CN103974311A (zh) * | 2014-05-21 | 2014-08-06 | 哈尔滨工业大学 | 基于改进高斯过程回归模型的状态监测数据流异常检测方法 |
CN108496328A (zh) * | 2015-12-21 | 2018-09-04 | 赛门铁克公司 | 恶意bgp劫持的精确实时识别 |
CN106557552A (zh) * | 2016-10-27 | 2017-04-05 | 国家计算机网络与信息安全管理中心 | 一种网络话题热度预测方法 |
CN109617909A (zh) * | 2019-01-07 | 2019-04-12 | 福州大学 | 一种基于smote和bi-lstm网络的恶意域名检测方法 |
Non-Patent Citations (4)
Title |
---|
THEOGF: "AugmentedGaussianProcesses v0.10.0", Retrieved from the Internet <URL:https://github.com/theogf/AugmentedGaussianProcesses.jl/releases/tag/v0.10.0> * |
THEOGF: "AugmentedGaussianProcesses", pages 1 - 11, Retrieved from the Internet <URL:《https://github.com/theogf/AugmentedGaussianProcesses.jl/releases/tag/v0.10.0》> * |
李楠芳;王旭;邵巍;马学智;张菊玲;梁涛;: "基于隐高斯模型的多元离散数据异常检测", 计算机应用与软件, no. 08, 12 August 2018 (2018-08-12) * |
黄熠, 王娟: "PSO-GP中文文本情感分类方法研究", 计算机科学, vol. 44, no. 6, 30 June 2017 (2017-06-30), pages 446 - 450 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103077720B (zh) | 一种说话人识别方法及系统 | |
CN107480688B (zh) | 基于零样本学习的细粒度图像识别方法 | |
CN110472417B (zh) | 基于卷积神经网络的恶意软件操作码分析方法 | |
CN111866004B (zh) | 安全评估方法、装置、计算机系统和介质 | |
CN112711953A (zh) | 一种基于注意力机制和gcn的文本多标签分类方法和系统 | |
CN113344700B (zh) | 一种基于多目标优化的风控模型构建方法、装置和电子设备 | |
CN110084609B (zh) | 一种基于表征学习的交易欺诈行为深度检测方法 | |
CN116308754B (zh) | 一种银行信贷风险预警系统及其方法 | |
CN110288079B (zh) | 特征数据获取方法、装置和设备 | |
CN110119355B (zh) | 一种基于知识图谱向量化推理通用软件缺陷建模方法 | |
CN113434683B (zh) | 文本分类方法、装置、介质及电子设备 | |
CN111984792A (zh) | 网站分类方法、装置、计算机设备及存储介质 | |
CN112418320A (zh) | 一种企业关联关系识别方法、装置及存储介质 | |
CN111782804A (zh) | 基于TextCNN同分布文本数据选择方法、系统及存储介质 | |
CN114117048A (zh) | 一种文本分类的方法、装置、计算机设备及存储介质 | |
CN115080748B (zh) | 一种基于带噪标签学习的弱监督文本分类方法和装置 | |
CN113780368A (zh) | 一种基于增强高斯过程的恶意域名检测方法 | |
CN111582647A (zh) | 用户数据处理方法、装置及电子设备 | |
CN111159397B (zh) | 文本分类方法和装置、服务器 | |
CN112733144A (zh) | 一种基于深度学习技术的恶意程序智能检测方法 | |
Song et al. | Handwriting Digit Generation Based on GAN Model | |
CN117435511B (zh) | 一种基于图神经网络的流量监测软件的测试方法、装置及存储介质 | |
CN115374884B (zh) | 基于对比学习的摘要生成模型的训练方法和摘要生成方法 | |
CN114840852B (zh) | 一种基于双判别器生成对抗网络的硬件木马检测方法 | |
CN113298049B (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 |