CN115065567B - 用于dga域名研判推理机的插件化执行方法 - Google Patents

用于dga域名研判推理机的插件化执行方法 Download PDF

Info

Publication number
CN115065567B
CN115065567B CN202210995535.1A CN202210995535A CN115065567B CN 115065567 B CN115065567 B CN 115065567B CN 202210995535 A CN202210995535 A CN 202210995535A CN 115065567 B CN115065567 B CN 115065567B
Authority
CN
China
Prior art keywords
model
domain name
dga
conversion
judging
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
Application number
CN202210995535.1A
Other languages
English (en)
Other versions
CN115065567A (zh
Inventor
杨润峰
曲武
胡永亮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jinjing Yunhua Shenyang Technology Co ltd
Beijing Jinjingyunhua Technology Co ltd
Original Assignee
Jinjing Yunhua Shenyang Technology Co ltd
Beijing Jinjingyunhua Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Jinjing Yunhua Shenyang Technology Co ltd, Beijing Jinjingyunhua Technology Co ltd filed Critical Jinjing Yunhua Shenyang Technology Co ltd
Priority to CN202210995535.1A priority Critical patent/CN115065567B/zh
Publication of CN115065567A publication Critical patent/CN115065567A/zh
Application granted granted Critical
Publication of CN115065567B publication Critical patent/CN115065567B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1483Countermeasures against malicious traffic service impersonation, e.g. phishing, pharming or web spoofing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/35Creation or generation of source code model driven

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Complex Calculations (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

本发明属于网络安全技术领域,具体涉及一种用于DGA域名研判推理机的插件化执行方法,包括模型构建、模型转换和模型执行,模型构建通过传统的机器学习框架构建DGA研判模型;并将DGA研判模型导出为模型序列化文件;模型转换包括语义解析、语义转换、平台加速和代码生成;模型执行为将获取的域名字符串执行归一化处理,输入到转换完成的模型中,对域名字符串是否为DGA域名进行研判,输出研判结果。本方法能够适应工业场景下的前端和后台异构大数据环境,推理机的执行性能高,具有海量数据下的可扩展性。

Description

用于DGA域名研判推理机的插件化执行方法
技术领域
本发明属于网络安全技术领域,具体涉及一种用于DGA域名研判推理机的插件化执行方法,用于工业环境下DGA域名研判推理机的工程化实现。
背景技术
DGA域名是一种恶意域名,被网络攻击团伙所使用。这种网络域名在文本形态上具有一些显著的特征,可以被防御者通过文本分析手段进行检测和防控。目前,机器学习和深度学习等技术被应用于DGA域名的检测。这些检测手段的共同点是,针对域名的文本串,提取各类文本特征,并基于这类特征运行DGA域名研判推理机。DGA域名研判推理机被用于判断所输入的域名是否为DGA域名。
推理机是机器学习模型的软件化实现,是机器学习训练过程的产物,其实现依赖于体系化的机器学习基础运算功能,可以通过机器学习框架实现,如sklearn,TensorFlow、Keras、PyTorch等。这些框架在研究场景和实验室环境下的广泛使用使得推理机的软件实现非常简易。用户往往不需要了解推理机所执行的研判逻辑,只需要对机器学习框架输入训练数据,框架自身的底层软件库和预设的推理机生产逻辑解决了推理机的自动化产生和开箱即用。
然而,在许多工业化场景下,软件研发者往往无法自由地选择对机器学习框架的使用。在工业界的工程化实战中,基础的软硬件平台的选型由复杂的业务因素和技术条件所决定,推理机只能基于已有的软硬件平台开发,而这些平台往往并不具备机器学习框架所带来的便利的底层软件库。推理机的开发者必须因地制宜地选择既有平台的底层软件能力,在此基础上构造推理机。综上所述,DGA域名研判推理机典型执行场景如下:
实验室环境:软件研发者通常可以自由地选择和使用机器学习(含深度学习)框架,这些框架通常工作在Python语言软件生态下,通过少量代码即可完成推理机的实现。实验室环境的推理机研发目的通常是技术探索,一般不考虑针对工业环境下海量数据的推理机性能问题。本文提出的方法不针对这类场景。
前端网络侧:这一场景是指,在IDS(入侵检测系统)、IPS(入侵防御系统)等网络通道下线速提取和分析DNS数据包,抽取域名字段,并即时检测DGA域名。这一场景的软件通常执行在C/C++/golang等高性能编程语言环境下,这些语言通常并不能很好地兼容Python生态中的机器学习框架。
后台数据侧:这一场景是指,基于网络数据包中的信息对DNS网络会话进行还原,形成DNS日志形态,在利用流计算或离线计算等大数据分析技术对DNS日志进行处理,检测出其中的DGA域名。这一场景的软件通常执行在Java生态中,并不能很好地兼容Python生态中的机器学习框架。
本发明对前端网络侧和后台数据侧的工程化方法进行探究。
发明内容
为了解决上述技术问题,本发明提供一种用于DGA域名研判推理机的插件化执行方法。
本发明是这样实现的,提供一种用于DGA域名研判推理机的插件化执行方法,包括:
1)模型构建:
101)通过传统的机器学习框架构建DGA研判模型;
102)将DGA研判模型导出为模型序列化文件;
2)模型转换:
201)语义解析:对步骤102)中导出的模型序列化文件进行语义解析,得到抽象语法树;
202)语义转换:将抽象语法树进行语义转换,把抽象语法树中的神经网络计算步骤转化为数学计算步骤;
203)平台加速:根据目标平台提供的计算加速机制,对步骤202)得到的计算步骤进行算力优化;
204)代码生成:根据步骤203)中形成的计算步骤,生成针对目标平台的推理机代码,完成模型转换;
3)模型执行:将获取的域名字符串执行归一化处理,输入到转换完成的模型中,对域名字符串是否为DGA域名进行研判,输出研判结果。
优选的,所述步骤201)中,对模型序列化文件进行语义解析的过程为:
读取模型序列化文件,通过词法分析、语法分析构建抽象语法树,抽象语法树中每个树节点代表一个神经网络计算步骤,树的边对应神经网络计算步骤间的顺序和关联。
进一步优选,所述步骤202)中,数学计算步骤包括对输入值进行有限次卷积乘法操作、标量加法操作、向量移位操作、位屏蔽操作中的单一操作任意次数的组合或两个/多个任意操作的任意次数的组合,具体转换过程为:
将神经网络计算步骤中的神经元连接操作转换为卷积乘法操作,以神经元连接中的权重参数作为卷积乘法的参数;
将神经网络计算步骤中的神经元偏移操作转换为标量加法操作,将神经元中的偏移参数作为标量加法中加数参数;
将神经网络计算步骤中的循环神经网络类模型中的记忆偏移操作转换为向量移位操作,以记忆偏移参数作为移位长度参数;
将神经网络计算步骤中的Dropout操作转为位屏蔽操作。
进一步优选,对于本方法中限定的DGA域名研判推理机,设变量为长度为n的向量,即n×1维的张量,记为x=(x1,x2,...,xn):
将神经元连接操作转换为卷积乘法操作的转换过程表示为:
z←Ax
其中,A为m×n维张量,上述转换过程将x转换为长度为m的变量z;
将神经元偏移操作转换为标量加法操作的转换过程表示为:
z←x+b,那么有zi←xi+b,i=1,2,...,n
其中,b表示单个标量数值;
将记忆偏移操作转换为向量移位操作的转换过程表示为:
z←R(x,k)=(0,...,0, x1,x2,...,xn-k)
其中,R(x,k)表示x右移k步,转换结果表示为:
z=(z1,z2,...,zn),zi=xi-k
Figure 100002_DEST_PATH_IMAGE002
将Dropout操作转换为位屏蔽操作的转换过程表示为:
z ← D(x),使得
Figure 100002_DEST_PATH_IMAGE004
其中,
Figure 100002_DEST_PATH_IMAGE006
表示坐标转换器将x进行扩展定义,d(i)的计算结果作为
Figure 48870DEST_PATH_IMAGE006
的下标,有:
Figure 100002_DEST_PATH_IMAGE008
进一步优选,对于x=(x1,x2,...,xn),若n能够被p整除,商为t,记为:
Figure 100002_DEST_PATH_IMAGE010
如果n不能被p整除,则将x的长度扩展为可以被p整除的整数,记为:
x ←(x1,x2,...,xn,xn+1,...,xpt)
其中,对于i>n,xi =0;
将向量x进行p级并行化处理的结果表示为:
x(j)=(x(j-1)t+1,x(j-1)t+2,...,xjt),j=1,2,...,p,即x(j)为长度为t的向量;
当对x施加任意函数操作f(·)时,可以并行对x(j)执行f(·),再将结果进行聚合,P(f,·)表示系统提供的对f(·)的并行加速操作,S(j,·)表示针对所有j值的结果聚合操作,则有:
f(x)=S(j,P(f,x(j)));
对转换完的卷积乘法操作结果进行p级并行加速,过程为:
取A=(a(1),...,a(i),...,a(n)),其中a(i)为m×1维张量;
取A(j)=(a(j-1)t+1,a(j-1)t+2,...,ajt),j=1,2,...,p,为m×t维张量,则有:
y(j)←∑p j=1A(j)x(j)
z ←∑p j=1y(j)
利用并行加速机制,实现并行卷积乘法,计算y(j)值,从而对卷积乘法运算进行加速处理,如下所示:
y(j)←P(A(j)·,x(j))
z←S(j,y(j))=∑p j=1y(j)
对转换完的标量加法操作结果进行p级并行加速,表示为:
利用并行加速机制,实现并行标量加法运算,计算zi 值,从而进行加速处理,记作:
zi←P(·+b,xi);
对转换完的向量移位操作结果进行并行加速,过程为:
移位操作通过坐标转换器T(i,k)实现,避免构造新的张量z,坐标转换器将x进行扩展定义:
Figure 100002_DEST_PATH_IMAGE012
并将对移位结果的访问映射为对原变量x的访问,并进行下标转换:
Figure 100002_DEST_PATH_IMAGE014
Figure 100002_DEST_PATH_IMAGE016
对转换完的位屏蔽操作的转换结果进行并行加速,过程为:
将位屏蔽操作转换为卷积乘法,则:
Figure 100002_DEST_PATH_IMAGE018
其中,
Figure 100002_DEST_PATH_IMAGE020
;利用对卷积乘法的加速方法实现对位屏蔽操作的加速。
进一步优选,所述步骤3)中,模型执行包括如下步骤:
301)文本预处理:
3011)从获取的域名字符串中提取主域名子串;
3012)设定一个长度参数,对超过这个长度参数的主域名子串进行截断,对不足这个长度参数的主域名子串进行填充;
3013)将主域名子串中的各字符编码转换为Unicode数值向量,对各数值执行归一化处理;
302)将归一化处理后的数值向量输入到所述步骤204)转换完成的模型中,研判步骤3011)中输入的域名字符串是否为DGA域名。
进一步优选,在进行步骤301)之前,需要对域名字符串进行分流,在所述步骤1)模型构建时,针对IDN(即国际化域名,Internationalized Domain Names)训练一个针对IDN的模型,针对非IDN训练一个针对非IDN的模型,通过针对IDN的模型和针对非IDN的模型对分流后的域名进行研判。
与现有技术相比,本发明的优点在于:
能够适应工业场景下的前端和后台异构大数据环境,推理机的执行性能高,具有海量数据下的可扩展性。
具体实施方式
下面结合具体的实施方案,对本发明进行进一步的解释说明,但并不用于限制本发明的保护范围。
本发明通过传统的机器学习框架构建DGA研判模型,并将该模型导出为模型序列化文件。模型转换是指对序列化文件形式的DGA研判模型进行解析,并生成工业环境下的推理机代码,如C函数或Java方法。
本发明将DGA研判推理过程视作对一个变量张量的计算加工过程,将最终计算结果作为DGA研判推理结果。其中变量张量的初始值由输入域名决定。具体的,本发明提供的方法如下:
提供一种用于DGA域名研判推理机的插件化执行方法,其特征在于,包括:
1)模型构建:
101)通过传统的机器学习框架构建DGA研判模型;
102)将DGA研判模型导出为模型序列化文件;
2)模型转换:
201)语义解析:对步骤102)中导出的模型序列化文件进行语义解析,得到抽象语法树;对模型序列化文件进行语义解析的过程为:
读取模型序列化文件,通过词法分析、语法分析构建抽象语法树,抽象语法树中每个树节点代表一个神经网络计算步骤,树的边对应神经网络计算步骤间的顺序和关联。
202)语义转换:将抽象语法树进行语义转换,把抽象语法树中的神经网络计算步骤转化为数学计算步骤;
数学计算步骤包括对输入值进行有限次卷积乘法操作、标量加法操作、向量移位操作、位屏蔽操作中的单一操作任意次数的组合或两个/多个任意操作的任意次数的组合。即,本方法对DGA研判模型提出了限制。LSTM算法是常用的DGA研判模型生成算法,LSTM生成的推理模型的主要计算步骤即可表达为多次卷积乘法、常数加法和向量移位操作的组合。
具体转换过程为:
将神经网络计算步骤中的神经元连接操作转换为卷积乘法操作,以神经元连接中的权重参数作为卷积乘法的参数;
在推理过程中,卷积乘法是指用常量张量同变量张量之间进行向量乘法,常量张量同变量张量的维度满足张量可相乘条件。
作为一个特例,如果常量张量和变量张量都是一个一维的向量,且元素数相等,则卷积乘法的结果相当于相乘双方对应位置的元素的数值乘积之和。
将神经网络计算步骤中的神经元偏移操作转换为标量加法操作,将神经元中的偏移参数作为标量加法中加数参数;标量加法是指对变量张量的所有元素同单个标量数值b相加,保持维度不变。
将神经网络计算步骤中的循环神经网络类模型中的记忆偏移操作转换为向量移位操作,以记忆偏移参数作为移位长度参数;
向量移位操作是指向量中的数值成员的位置发生同方向的一致性的转移,这一过程将使得部分成员溢出向量,而另一侧将产生0值空缺。对于一个长度为n的向量,右移k步的操作R(x,k)将产生一个新的向量。
将神经网络计算步骤中的Dropout操作转为位屏蔽操作。深度学习模型中经常使用Dropout操作随机丢弃一些信号,这相当于针对变量的位屏蔽操作。
对于本方法中限定的DGA域名研判推理机,设变量为长度为n的向量,即n×1维的张量,记为x=(x1,x2,...,xn):
将神经元连接操作转换为卷积乘法操作的转换过程表示为:
z←Ax
其中,A为m×n维张量,上述转换过程将x转换为长度为m的变量z;
将神经元偏移操作转换为标量加法操作的转换过程表示为:
z←x+b,那么有zi←xi+b,i=1,2,...,n
其中,b表示单个标量数值;
将记忆偏移操作转换为向量移位操作的转换过程表示为:
z←R(x,k)=(0,...,0, x1,x2,...,xn-k)
其中,R(x,k)表示x右移k步,转换结果表示为:
z=(z1,z2,...,zn),zi=xi-k
Figure 439048DEST_PATH_IMAGE002
将Dropout操作转换为位屏蔽操作的转换过程表示为:
z ← D(x),使得
Figure 546682DEST_PATH_IMAGE004
其中,
Figure 17590DEST_PATH_IMAGE006
表示坐标转换器将x进行扩展定义,d(i)的计算结果作为
Figure 441749DEST_PATH_IMAGE006
的下标,有:
Figure 326528DEST_PATH_IMAGE008
203)平台加速:根据目标平台提供的计算加速机制,对步骤202)得到的计算步骤进行算力优化;如果计算环境提供SIMD等并行化计算接口API,则可加以利用。假设系统提供p级并发度,即同时处理p个同类计算过程,则:
对于x=(x1,x2,...,xn),若n能够被p整除,商为t,记为:
Figure 937769DEST_PATH_IMAGE010
如果n不能被p整除,则将x的长度扩展为可以被p整除的整数,记为:
x ←(x1,x2,...,xn,xn+1,...,xpt)
其中,对于i>n,xi =0;
将向量x进行p级并行化处理的结果表示为:
x(j)=(x(j-1)t+1,x(j-1)t+2,...,xjt),j=1,2,...,p,即x(j)为长度为t的向量;
当对x施加任意函数操作f(·)时,可以并行对x(j)执行f(·),再将结果进行聚合,P(f,·)表示系统提供的对f(·)的并行加速操作,S(j,·)表示针对所有j值的结果聚合操作,则有:
f(x)=S(j,P(f,x(j)));
对转换完的卷积乘法操作结果进行p级并行加速,过程为:
取A=(a(1),...,a(i),...,a(n)),其中a(i)为m×1维张量;
取A(j)=(a(j-1)t+1,a(j-1)t+2,...,ajt),j=1,2,...,p,为m×t维张量,则有:
y(j)←∑p j=1A(j)x(j)
z ←∑p j=1y(j)
利用并行加速机制,实现并行卷积乘法,计算y(j)值,从而对卷积乘法运算进行加速处理,如下所示:
y(j)←P(A(j)·,x(j))
z←S(j,y(j))=∑p j=1y(j)
对转换完的标量加法操作结果进行p级并行加速,表示为:
利用并行加速机制,实现并行标量加法运算,计算zi 值,从而进行加速处理,记作:
zi←P(·+b,xi);
对转换完的向量移位操作结果进行并行加速,过程为:
移位操作通过坐标转换器T(i,k)实现,避免构造新的张量z,坐标转换器将x进行扩展定义:
Figure 215298DEST_PATH_IMAGE012
并将对移位结果的访问映射为对原变量x的访问,并进行下标转换:
Figure 946494DEST_PATH_IMAGE014
Figure 281136DEST_PATH_IMAGE016
对转换完的位屏蔽操作的转换结果进行并行加速,过程为:
将位屏蔽操作转换为卷积乘法,则:
Figure 645252DEST_PATH_IMAGE018
其中,
Figure 444581DEST_PATH_IMAGE020
;利用对卷积乘法的加速方法实现对位屏蔽操作的加速。
204)代码生成:根据步骤203)中形成的计算步骤,生成针对目标平台的推理机代码,完成模型转换;代码生成阶段负责产生目标平台上的推理机代码,如Java或C代码等。
3)模型执行:将获取的域名字符串执行归一化处理,输入到转换完成的模型中,对域名字符串是否为DGA域名进行研判,输出研判结果。
模型执行包括如下步骤:
301)文本预处理:
3011)从获取的域名字符串中提取主域名子串;
3012)设定一个长度参数,如32,对超过这个长度参数的主域名子串进行截断,对不足这个长度参数的主域名子串进行填充;
3013)将主域名子串中的各字符编码转换为Unicode数值向量,对各数值执行归一化处理;
302)将归一化处理后的数值向量输入到所述步骤204)转换完成的模型中,研判步骤3011)中输入的域名字符串是否为DGA域名。
在进行步骤301)之前,需要对域名字符串进行分流,在所述步骤1)模型构建时,针对IDN训练一个针对IDN的模型,针对非IDN训练一个针对非IDN的模型,通过针对IDN的模型和针对非IDN的模型对分流后的域名进行研判。因此在训练过程中,针对两个子推理机,需要分别构建归一化模型,用于推理机的预处理阶段,根据Unicode数值向量的分别对各数值进行归一化。
模型执行环节的输入为文本预处理的输出结果,即归一化后的数值向量。模型执行过程包含了针对卷积乘法、标量加法、向量移位和位屏蔽等操作的反复调用。模型执行过程的输出是针对目标平台进行定制化代码生成,当目标平台支持SIMD等计算加速机制时,应调用相应的系统接口,实现对卷积乘法、标量加法、向量移位和位屏蔽等操作的加速。

Claims (6)

1.用于DGA域名研判推理机的插件化执行方法,其特征在于,包括:1)模型构建:
101)通过传统的机器学习框架构建DGA研判模型;
102)将DGA研判模型导出为模型序列化文件;
2)模型转换:
201)语义解析:对步骤102)中导出的模型序列化文件进行语义解析,得到抽象语法树;
202)语义转换:将抽象语法树进行语义转换,把抽象语法树中的神经网络计算步骤转化为数学计算步骤;
数学计算步骤包括对输入值进行有限次卷积乘法操作、标量加法操作、向量移位操作、位屏蔽操作中的单一操作任意次数的组合或两个/多个任意操作的任意次数的组合,具体转换过程为:
将神经网络计算步骤中的神经元连接操作转换为卷积乘法操作,以神经元连接中的权重参数作为卷积乘法的参数;
将神经网络计算步骤中的神经元偏移操作转换为标量加法操作,将神经元中的偏移参数作为标量加法中加数参数;
将神经网络计算步骤中的循环神经网络类模型中的记忆偏移操作转换为向量移位操作,以记忆偏移参数作为移位长度参数;
将神经网络计算步骤中的Dropout操作转为位屏蔽操作;
203)平台加速:根据目标平台提供的计算加速机制,对步骤202)得到的数学计算步骤进行算力优化;
204)代码生成:根据步骤203)中形成的计算步骤,生成针对目标平台的推理机代码,完成模型转换;
3)模型执行:将获取的域名字符串执行归一化处理,输入到转换完成的模型中,对域名字符串是否为DGA域名进行研判,输出研判结果。
2.根据权利要求1所述的用于DGA域名研判推理机的插件化执行方法,其特征在于,所述步骤201)中,对模型序列化文件进行语义解析的过程为:
读取模型序列化文件,通过词法分析、语法分析构建抽象语法树,抽象语法树中每个树节点代表一个神经网络计算步骤,树的边对应神经网络计算步骤间的顺序和关联。
3.根据权利要求1所述的用于DGA域名研判推理机的插件化执行方法,其特征在于,对于本方法中限定的DGA域名研判推理机,设变量为长度为n的向量,即n×1维的张量,记为x=(x1,x2,...,xn):
将神经元连接操作转换为卷积乘法操作的转换过程表示为:
z←Ax
其中,A为m×n维张量,上述转换过程将x转换为长度为m的变量z;
将神经元偏移操作转换为标量加法操作的转换过程表示为:
z←x+b,那么有zi←xi+b,i=1,2,...,n
其中,b表示单个标量数值;
将记忆偏移操作转换为向量移位操作的转换过程表示为:
z←R(x,k)=(0,...,0, x1,x2,...,xn-k)
其中,R(x,k)表示x右移k步,转换结果表示为:
z=(z1,z2,...,zn),zi=xi-k
Figure DEST_PATH_IMAGE002
将Dropout操作转换为位屏蔽操作的转换过程表示为:
z ← D(x),使得
Figure DEST_PATH_IMAGE004
其中,
Figure DEST_PATH_IMAGE006
表示坐标转换器将x进行扩展定义,d(i)的计算结果作为
Figure 395413DEST_PATH_IMAGE006
的下标,有:
Figure DEST_PATH_IMAGE008
4.根据权利要求3所述的用于DGA域名研判推理机的插件化执行方法,其特征在于,对于x=(x1,x2,...,xn),若n能够被p整除,商为t,记为:
Figure DEST_PATH_IMAGE010
如果n不能被p整除,则将x的长度扩展为可以被p整除的整数,记为:
x ←(x1,x2,...,xn,xn+1,...,xpt)
其中,对于i>n,xi =0;
将向量x进行p级并行化处理的结果表示为:
x(j)=(x(j-1)t+1,x(j-1)t+2,...,xjt),j=1,2,...,p,即x(j)为长度为t的向量;
当对x施加任意函数操作f(·)时,可以并行对x(j)执行f(·),再将结果进行聚合,P(f,·)表示系统提供的对f(·)的并行加速操作,S(j,·)表示针对所有j值的结果聚合操作,则有:
f(x)=S(j,P(f,x(j)));
对转换完的卷积乘法操作结果进行p级并行加速,过程为:
取A=(a(1),...,a(i),...,a(n)),其中a(i)为m×1维张量;
取A(j)=(a(j-1)t+1,a(j-1)t+2,...,ajt),j=1,2,...,p,为m×t维张量,则有:
y(j)←∑p j=1A(j)x(j)
z ←∑p j=1y(j)
利用并行加速机制,实现并行卷积乘法,计算y(j)值,从而对卷积乘法运算进行加速处理,如下所示:
y(j)←P(A(j)·,x(j))
z←S(j,y(j))=∑p j=1y(j)
对转换完的标量加法操作结果进行p级并行加速,表示为:
利用并行加速机制,实现并行标量加法运算,计算zi值,从而进行加速处理,记作:
zi←P(·+b,xi);
对转换完的向量移位操作结果进行并行加速,过程为:
移位操作通过坐标转换器T(i,k)实现,避免构造新的张量z,坐标转换器将x进行扩展定义:
Figure DEST_PATH_IMAGE012
并将对移位结果的访问映射为对原变量x的访问,并进行下标转换:
Figure DEST_PATH_IMAGE014
Figure DEST_PATH_IMAGE016
对转换完的位屏蔽操作的转换结果进行并行加速,过程为:
将位屏蔽操作转换为卷积乘法,则:
Figure DEST_PATH_IMAGE018
其中,
Figure DEST_PATH_IMAGE020
;利用对卷积乘法的加速方法实现对位屏蔽操作的加速。
5.根据权利要求1所述的用于DGA域名研判推理机的插件化执行方法,其特征在于,所述步骤3)中,模型执行包括如下步骤:
301)文本预处理:
3011)从获取的域名字符串中提取主域名子串;
3012)设定一个长度参数,对超过这个长度参数的主域名子串进行截断,对不足这个长度参数的主域名子串进行填充;
3013)将主域名子串中的各字符编码转换为Unicode数值向量,对各数值执行归一化处理;
302)将归一化处理后的数值向量输入到所述步骤204)转换完成的模型中,研判步骤3011)中输入的域名字符串是否为DGA域名。
6.根据权利要求5所述的用于DGA域名研判推理机的插件化执行方法,其特征在于,在进行步骤301)之前,需要对域名字符串进行分流,在所述步骤1)模型构建时,针对IDN训练一个针对IDN的模型,针对非IDN训练一个针对非IDN的模型,通过针对IDN的模型和针对非IDN的模型对分流后的域名进行研判。
CN202210995535.1A 2022-08-19 2022-08-19 用于dga域名研判推理机的插件化执行方法 Active CN115065567B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210995535.1A CN115065567B (zh) 2022-08-19 2022-08-19 用于dga域名研判推理机的插件化执行方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210995535.1A CN115065567B (zh) 2022-08-19 2022-08-19 用于dga域名研判推理机的插件化执行方法

Publications (2)

Publication Number Publication Date
CN115065567A CN115065567A (zh) 2022-09-16
CN115065567B true CN115065567B (zh) 2022-11-11

Family

ID=83207841

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210995535.1A Active CN115065567B (zh) 2022-08-19 2022-08-19 用于dga域名研判推理机的插件化执行方法

Country Status (1)

Country Link
CN (1) CN115065567B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107682348A (zh) * 2017-10-19 2018-02-09 杭州安恒信息技术有限公司 基于机器学习的dga域名快速判别方法及装置
CN109450845A (zh) * 2018-09-18 2019-03-08 浙江大学 一种基于深度神经网络的算法生成恶意域名检测方法
CN109617909A (zh) * 2019-01-07 2019-04-12 福州大学 一种基于smote和bi-lstm网络的恶意域名检测方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021000362A1 (zh) * 2019-07-04 2021-01-07 浙江大学 一种基于深度神经网络模型的地址信息特征抽取方法
US11972232B2 (en) * 2020-05-15 2024-04-30 Microsoft Technology Licensing, Llc. Neural method completion based on natural language and source code
CN113033276B (zh) * 2020-12-01 2022-05-17 神思电子技术股份有限公司 一种基于转换模块的行为识别方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107682348A (zh) * 2017-10-19 2018-02-09 杭州安恒信息技术有限公司 基于机器学习的dga域名快速判别方法及装置
CN109450845A (zh) * 2018-09-18 2019-03-08 浙江大学 一种基于深度神经网络的算法生成恶意域名检测方法
CN109617909A (zh) * 2019-01-07 2019-04-12 福州大学 一种基于smote和bi-lstm网络的恶意域名检测方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于混合词向量深度学习模型的DGA域名检测方法;杜鹏等;《计算机研究与发展》;20200215(第02期);全文 *

Also Published As

Publication number Publication date
CN115065567A (zh) 2022-09-16

Similar Documents

Publication Publication Date Title
Massarelli et al. Safe: Self-attentive function embeddings for binary similarity
CN113360915B (zh) 基于源代码图表示学习的智能合约多漏洞检测方法及系统
Kushman et al. Using semantic unification to generate regular expressions from natural language
Gibert et al. An end-to-end deep learning architecture for classification of malware’s binary content
CN113596007A (zh) 一种基于深度学习的漏洞攻击检测方法和设备
US11599447B2 (en) Detection of runtime errors using machine learning
Naeem et al. Scalable mutation testing using predictive analysis of deep learning model
CN112613040A (zh) 一种基于二进制程序的漏洞检测方法及相关设备
CN114528015A (zh) 二进制可执行文件同源分析方法、计算机设备及存储介质
CN115065567B (zh) 用于dga域名研判推理机的插件化执行方法
CN116702157A (zh) 一种基于神经网络的智能合约漏洞检测方法
Kim et al. Leveraging large language models to improve REST API testing
Sharif et al. Function identification in android binaries with deep learning
CN112230895B (zh) 一种el表达式解析方法、装置、设备及存储介质
Rudi et al. CodeFlow: A Code Generation System for Flash-X Orchestration Runtime
Imaji et al. Human Skill Quantification for Excavator Operation using Random Forest.
Cerna et al. Towards a clausal analysis of proof schemata
Lugiez Forward analysis of dynamic network of pushdown systems is easier without order
CN117435246B (zh) 一种基于马尔可夫链模型的代码克隆检测方法
Zhang et al. A parallel deep learning-based code clone detection model
CN116502140B (zh) 一种基于控制流图相似性的加密算法识别方法及装置
WO2023162002A1 (ja) ログ解析装置、ログ解析方法、及びプログラム
Ognev et al. Detecting malicious executable files based on static–dynamic analysis using machine learning
Chen et al. Mining API protocols based on a balanced probabilistic model
Minamide et al. Translating regular expression matching into transducers

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