CN115841113A - 一种域名标号检测方法、存储介质及电子设备 - Google Patents
一种域名标号检测方法、存储介质及电子设备 Download PDFInfo
- Publication number
- CN115841113A CN115841113A CN202310160084.4A CN202310160084A CN115841113A CN 115841113 A CN115841113 A CN 115841113A CN 202310160084 A CN202310160084 A CN 202310160084A CN 115841113 A CN115841113 A CN 115841113A
- Authority
- CN
- China
- Prior art keywords
- label
- detected
- character string
- preset condition
- domain name
- 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
Images
Landscapes
- Machine Translation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及数据处理领域,特别是涉及一种域名标号检测方法、存储介质及电子设备,该方法包括:若待检测标号满足第一预设条件或第二预设条件,则基于训练后的第一检测模型确定出待检测标号对应的检测结果;第一预设条件为对应的标号由第一类字符串组成,第二预设条件为对应的标号由第一类字符串和目标类字符串组成,若待检测标号满足第三预设条件或第四预设条件,则基于训练后的第二检测模型确定出待检测标号对应的检测结果;第三预设条件为对应的标号由第一类字符组成,第四预设条件为对应的标号由第一类字符和目标类字符串组成。由此,本发明可以提高确定待检测标号是否为基于域名生成算法生成的域名标号的准确度。
Description
技术领域
本发明涉及数据处理领域,特别是涉及一种域名标号检测方法、存储介质及电子设备。
背景技术
域名生成算法(DGA)用于生成随机的域名标号,恶意软件利用该域名标号组成的域名可有效地绕过黑名单检测,因此检测域名标号是否是基于域名生成算法生成的是十分必要的。
目前在对待检测标号进行是否为基于域名生成算法生成的域名标号的检测时,一般首先会采用若干训练域名标号对初始检测模型进行训练,得到训练完成的模型,然后基于训练完成的模型检测待检测标号是否为基于域名生成算法生成的域名标号。
但是,由于域名标号的构建原理较为多样化,例如一般会基于英文单词或汉字的拼音的全写或简写进行域名标号的构建,因此在对初始检测模型进行训练时,采用不同构建原理构建的训练域名标号相互之间会产生训练效果的干扰,进而会造成基于训练完成的模型检测待检测标号是否为基于域名生成算法生成的域名标号的准确度较低。
发明内容
针对上述技术问题,本发明采用的技术方案为:
根据本发明的一方面,提供了一种域名标号检测方法,包括:
S100,获取待检测域名中的待检测标号。
S200,确定待检测标号是否满足第一预设条件或第二预设条件;若是,则进入步骤S300,否则,进入步骤S400;第一预设条件为对应的标号由至少预设数量的第一类字符串组成,第一类字符串为英文单词或汉字的拼音;第二预设条件为对应的标号由至少预设数量的第一类字符串和至少一个目标类字符串组成,目标类字符串为由数字或连字符组成的字符串。
S300,基于训练后的第一检测模型,在第一检测结果和第二检测结果中确定出待检测标号对应的检测结果;训练后的第一检测模型为根据若干第一训练样本对初始检测模型进行训练得到的,若干第一训练样本中的每一正样本均为满足第一预设条件或第二预设条件的标号;第一检测结果用于表示对应的标号为基于域名生成算法生成的域名标号,第二检测结果用于表示对应的标号不为基于域名生成算法生成的域名标号。
S400,确定待检测标号是否满足第三预设条件或第四预设条件;若是,则进入步骤S500;第三预设条件为对应的标号由若干第一类字符组成,第一类字符为英文单词的首个字母或汉字的拼音的首个字符;第四预设条件为对应的标号由若干第一类字符和至少一个目标类字符串组成。
S500,基于训练后的第二检测模型,在第一检测结果和第二检测结果中确定出待检测标号对应的检测结果;训练后的第二检测模型为根据若干第二训练样本对初始检测模型进行训练得到的,若干第二训练样本中的每一正样本均为满足第三预设条件或第四预设条件的标号。
根据本发明的另一方面,还提供了一种非瞬时性计算机可读存储介质,存储介质中存储有至少一条指令或至少一段程序,至少一条指令或至少一段程序由处理器加载并执行以实现上述域名标号检测方法。
根据本发明的另一方面,还提供了一种电子设备,包括处理器和上述非瞬时性计算机可读存储介质。
本发明至少具有以下有益效果:
在本发明中,若待检测标号满足第一预设条件或第二预设条件,则说明待检测标号是基于英文单词或汉字的拼音的全写构建的,此时可以基于训练后的第一检测模型检测出待检测标号是否为基于域名生成算法生成的域名标号,若待检测标号满足第三预设条件或第四预设条件,则说明待检测标号是基于英文单词或汉字的拼音的简写构建的,此时可以基于训练后的第二检测模型检测出待检测标号是否为基于域名生成算法生成的域名标号。
相比于相关技术中构建原理不同的待检测标号使用同一检测模型进行是否为基于域名生成算法生成的域名标号的检测,本发明中训练后的第一检测模型和训练后的第二检测模型由于训练过程中使用的正样本满足的条件不同,因此训练后的第一检测模型和训练后的第二检测模型进行检测的待检测标号的类别也不同,基于此,在本发明中,由于训练后的第一检测模型在训练过程中受到不满足第一预设条件和第二预设条件的正样本的影响较少,且训练后的第二检测模型在训练过程中受到不满足第三预设条件和第四预设条件的正样本的影响较少,因此训练后的第一检测模型针对基于英文单词或汉字的拼音的全写构建的待检测标号进行检测的准确度更高,训练后的第二检测模型针对基于英文单词或汉字的拼音的简写构建的待检测标号进行检测的准确度更高,综上,本发明可以提高确定待检测标号是否为基于域名生成算法生成的域名标号的准确度。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的域名标号检测方法的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种域名标号检测方法,其中,该方法可以由以下任意一项或其任意组合完成:终端、服务器、其他具备处理能力的设备,本发明实施例对此不作限定。
本发明实施例以服务器为例,下面将参照图1所示的域名标号检测方法的流程图,对域名标号检测方法进行介绍。
该方法包括以下步骤:
S100,获取待检测域名中的待检测标号。
上述步骤S100的一种具体的实施方式可以为,服务器可以先获取待检测域名,然后将获取到的待检测域名中的全部标号中不为预设标号的标号作为待处理标号,并将待处理标号中的任一作为待检测标号。预设标号可以为com和www等常见正常标号。
待检测域名中的任一标号被检测为基于域名生成算法生成的域名标号,则待检测域名为基于域名生成算法生成的域名;待检测域名中的每一标号均未被检测为基于域名生成算法生成的域名标号,则待检测域名不为基于域名生成算法生成的域名。
S200,确定待检测标号是否满足第一预设条件或第二预设条件;若是,则进入步骤S300,否则,进入步骤S400。
其中,第一预设条件为对应的标号由至少预设数量的第一类字符串组成,第一类字符串为英文单词或汉字的拼音;第二预设条件为对应的标号由至少预设数量的第一类字符串和至少一个目标类字符串组成,目标类字符串为由数字或连字符组成的字符串。
可选的,预设数量为大于2且小于5的整数,优选的,预设数量为3。
具体的,第一类字符串为单个英文单词或单个汉字的拼音。
示例性的,预设数量为3,基于此,对于标题为卓越青年设计师的网页,若该网页的一个域名标号为“卓越青年设计师”的英文或拼音,并将该域名标号作为待检测标号,则待检测标号为ExcellentYoungDesign或ZhuoYueQingNianSheJiShi,由于ExcellentYoungDesign是由Excellent、Young和Design这3个第一类字符串组成,ZhuoYueQingNianSheJiShi是由Zhuo、Yue、Qing、Nian、She、Ji和Shi这7个第一类字符串组成,因此该待检测标号是由至少预设数量的第一类字符串组成的,因此该待检测标号满足第一预设条件。
S300,基于训练后的第一检测模型,在第一检测结果和第二检测结果中确定出待检测标号对应的检测结果。
其中,训练后的第一检测模型为根据若干第一训练样本对初始检测模型进行训练得到的,若干第一训练样本中的每一正样本均为满足第一预设条件或第二预设条件的标号;第一检测结果用于表示对应的标号为基于域名生成算法生成的域名标号,第二检测结果用于表示对应的标号不为基于域名生成算法生成的域名标号。
具体的,上述初始检测模型可以为长短期记忆网络(Long Short-Term Memory,LSTM)和卷积神经网络(Convolutional Neural Networks,CNN)算法、随机森林(RandomForest)、LightGBM、CatBoost或XGBoost等模型。
S400,确定待检测标号是否满足第三预设条件或第四预设条件;若是,则进入步骤S500。
其中,第三预设条件为对应的标号由若干第一类字符组成,第一类字符为英文单词的首个字母或汉字的拼音的首个字符;第四预设条件为对应的标号由若干第一类字符和至少一个目标类字符串组成。
示例性的,若待检测标号为EYD或ZYQNSJS,且EYD由Excellent、Young和Design的首个字符组成,ZYQNSJS由Zhuo、Yue、Qing、Nian、She、Ji和Shi的首个字符组成,则该待检测标号满足第三预设条件。
S500,基于训练后的第二检测模型,在第一检测结果和第二检测结果中确定出待检测标号对应的检测结果。
其中,训练后的第二检测模型为根据若干第二训练样本对初始检测模型进行训练得到的,若干第二训练样本中的每一正样本均为满足第三预设条件或第四预设条件的标号。
由此可知,在本发明中,若待检测标号满足第一预设条件或第二预设条件,则说明待检测标号是基于英文单词或汉字的拼音的全写构建的,此时可以基于训练后的第一检测模型检测出待检测标号是否为基于域名生成算法生成的域名标号,若待检测标号满足第三预设条件或第四预设条件,则说明待检测标号是基于英文单词或汉字的拼音的简写构建的,此时可以基于训练后的第二检测模型检测出待检测标号是否为基于域名生成算法生成的域名标号。
相比于相关技术中构建原理不同的待检测标号使用同一检测模型进行是否为基于域名生成算法生成的域名标号的检测,本发明中训练后的第一检测模型和训练后的第二检测模型由于训练过程中使用的正样本满足的条件不同,因此训练后的第一检测模型和训练后的第二检测模型进行检测的待检测标号的类别也不同,基于此,在本发明中,由于训练后的第一检测模型在训练过程中受到不满足第一预设条件和第二预设条件的正样本的影响较少,且训练后的第二检测模型在训练过程中受到不满足第三预设条件和第四预设条件的正样本的影响较少,因此训练后的第一检测模型针对基于英文单词或汉字的拼音的全写构建的待检测标号进行检测的准确度更高,训练后的第二检测模型针对基于英文单词或汉字的拼音的简写构建的待检测标号进行检测的准确度更高,综上,本发明可以提高确定待检测标号是否为基于域名生成算法生成的域名标号的准确度。
可选的,在步骤S100之后且在步骤S200之前,该方法还包括以下处理:
根据全部训练正样本数据训练初始检测模型,得到训练后的第二检测模型;
在一种可能的实施方式中,在上述得到训练后的第二检测模型之后,且在步骤S400之前,该方法还包括:
将待检测域名中的待检测标号中的每一数字和每一连字符均作为切分字符。
获取待检测标号对应的子标号组LET=(let1,let2,...,letvar8,...,letnum8),var8=1,2,...,num8。
其中,letvar8为根据全部切分字符对待检测标号进行切分得到的第var8个子标号,num8为根据全部切分字符对待检测标号进行切分得到的子标号的数量;每一子标号均由字母组成。
具体的,切分字符用于将待检测标号中除切分字符以外的字符串切分成若干子标号。例如,若待检测标号为women52xiongmao,则通过52这一切分字符可以将该待检测标号切分为women和xiongmao这两个子标号,或者也可以通过5和2这两个切分字符将该待检测标号切分为women和xiongmao这两个子标号。
基于此,步骤S500包括:
基于训练后的第二检测模型,在第一检测结果和第二检测结果中确定出letvar8对应的检测结果;
S802,确定let1、let2、...、letvar8、...letnum8-1和letnum8中的任一对应的检测结果是否为第一检测结果;若是,则待检测标号对应的检测结果为第一检测结果;否则,待检测标号对应的检测结果为第二检测结果。
由此可知,本发明中将待检测标号中的数字和连字符均作为切分字符,并对待检测标号中除数字和连字符以外的每一子标号分开进行检测,进而可以不考虑数字和连字符对确定待检测标号是否为基于域名生成算法生成的域名标号的影响,进而对数字和连字符的处理方式较为简单,节省计算资源。
在另一种可能的实施方式中,在上述得到训练后的第二检测模型之后,且再步骤S400之前,该方法还包括:
将待检测域名中的待检测标号中包括的每一数字和每一连字符均删除,得到处理后待检测标号。
获取处理后待检测标号对应的第一目标特征向量vec1。
获取待检测标号对应的第二目标特征向量组VEC2=(vec21,vec22,...,vecvar9,...,vecnum9),var9=1,2,...,num9,vecvar9=(satevar9,lenvar9);vecvar9为待检测标号中包括的第var9个第二类字符串对应的第二目标特征向量,第二类字符串由连字符或数字组成,且在待检测标号中,每一第二类字符串相邻的字符均为字母;num9为待检测标号中包括的第二类字符串的数量。
satevar9为待检测标号中包括的第var9个第二类字符串对应的位置标识。其中,在一种可能的实施方式中,若待检测标号中包括的第var9个第二类字符串中的首个字符为待检测标号的首个字符,或待检测标号中包括的第var9个第二类字符串中的末个字符为待检测标号的末个字符,则satevar9=0;若待检测标号中包括的第var9个第二类字符串中的首个字符不为待检测标号的首个字符,且待检测标号中包括的第var9个第二类字符串中的末个字符不为待检测标号的末个字符,则satevar9=1。在另一种可能的实施方式中,若待检测标号中包括的第var9个第二类字符串中的首个字符为待检测标号的首个字符,则satevar9=00,若待检测标号中包括的第var9个第二类字符串中的末个字符为待检测标号的末个字符,则satevar9=01;若待检测标号中包括的第var9个第二类字符串中的首个字符不为待检测标号的首个字符,且待检测标号中包括的第var9个第二类字符串中的末个字符不为待检测标号的末个字符,则satevar9=11。
lenvar9为待检测标号中包括的第var9个第二类字符串的字符数量。
vec1与VEC2中的全部第二目标特征向量进行拼接,得到拼接后特征向量VEC3。
基于此,步骤S500包括:
通过训练后的第二检测模型对VEC3进行处理,得到训练后的第二检测模型输出的第一检测结果或第二检测结果。
由此可知,该方案考虑到了待检测标号中的数字和连字符,对确定待检测标号是否为基于域名生成算法生成的域名标号的影响,进而可以提高确定待检测标号是否为基于域名生成算法生成的域名标号的准确度。
上述步骤S200的一种具体的实施方式为:
步骤S200包括以下步骤:
S201,获取第一参考字符串组a0=(a01,a02,...,a0u,...,a0v),u=1,2,...,v。
其中,a0u为a0中的第u个第一参考字符串,每一第一参考字符串均为英文单词或汉字的拼音;v为第一参考字符串的数量。
例如,第一参考字符串可以为tian、ming或designer等,本发明实施例对此不作限定。
S202,根据a0对待检测标号进行字符串切分,得到第一切分后字符串组b0=(b01,b02,...,b0c,...,b0d),c=1,2,...,d。
其中,b0c为第c个第一切分后字符串,d为根据a0对待检测标号进行字符串切分后得到的字符串的数量。
上述步骤S202的一种具体的实施方式可以为,服务器将a0中的每一第一参考字符串按照字符数量由大至小的顺序进行排列,以得到排序后第一参考字符串组a0´,然后按照a0´中排序后第一参考字符串的排列顺序依次确定待检测标号是否包括a0´中的排序后第一参考字符串。
其中:
若待检测标号包括任一排序后第一参考字符串,则将该排序后第一参考字符串作为一个第一切分后字符串。
基于此:
若该排序后第一参考字符串不为a0´中的最后一个字符串,则在将该排序后第一参考字符串作为一个第一切分后字符串之后,且在确定待检测标号是否包括a0´中的下一个排序后第一参考字符串之前,服务器还进行以下目标处理:将待检测标号中的该排序后第一参考字符串替换为预设的分割符号,a0中不包括该分割符号,并使用已替换该排序后第一参考字符串的待检测标号替换目前的待检测标号,以更新待检测标号。
若该排序后第一参考字符串为a0´中的最后一个字符串,则在将该排序后第一参考字符串作为一个第一切分后字符串之后,服务器还进行上述目标处理,接着将当前的待检测字符串中的首个分割符号之前的字符串、任意两个相邻的分割符号之间的字符串和末个分割符号之后的字符串均作为第一切分后字符串。
若待检测标号不包括任一排序后第一参考字符串,则直接确定待检测标号是否包括a0´中的下一个排序后第一参考字符串。
示例性的,待检测标号为ExcellentYoungDesign111,a0中包括Excellent、Young和Design这3个第一参考字符串,则根据Excellent、Young和Design这3个第一参考字符串可以得到b0,b01为Excellent,b02为Young,b03为Design,b04为111,对应的d=4。
S203,获取第一目标字符串组b0 1=(b01 1,b02 1,...,b0e 1,...,b0g 1),e=1,2,...,g。
其中,b0e 1为在b0中且与a0中的任一第一参考字符串相同的第x个第一目标字符串;g为b0 1中的第一目标字符串的数量,g≤d。
S204,确定g是否大于或等于预设数量;若是,则待检测标号满足第一预设条件或第二预设条件,此时进入步骤S300;否则,待检测标号不满足第一预设条件和第二预设条件,此时进入步骤S400。
基于此,若g小于预设数量,则进入上述步骤S400,上述步骤S400的一种具体的实施方式可以为,基于预先训练完成的神经网络模型确定待检测标号是否满足第三预设条件或第四预设条件;若是,则进入步骤S500。
由此可知,在本发明中,根据a0对待检测标号进行切分,并将切分得到的第一切分后字符串中与任意第一参考字符串相同的第一切分后字符串的数量g与预设数量进行比较,若g大于预设数量,说明g较大,此时可以近似说明待检测标号满足第一预设条件或第二预设条件。相比于相关技术中通过神经网络模型确定待检测标号是否满足第一预设条件和第二预设条件,本发明中确定待检测标号是否满足第一预设条件或第二预设条件无需收集大量的正样本并对神经网络模型进行训练,可以提高对待检测标号进行检测的效率。
上述步骤S300的一种具体的实施方式为:
步骤S300包括以下步骤:
S301,根据b0 1,获取待检测标号对应的第一特征向量F1=(d,h1,h2,...,he,...,hg)。
其中,he为b0e 1对应的权重系数。
具体的,上述F1可以为根据n-gram或word2vec等模型产生的向量。he为b0e 1在预设文本中的词频或出现概率等,本发明实施例对此不作限定。
上述第一特征向量还可以包括待检测标号的熵、辅音字母数量和/或数字数量等。
S302,通过训练后的第一检测模型对F1进行处理,得到训练后的第一检测模型输出的第一检测结果或第二检测结果。
由此可知,上述实施方式不考虑待检测标号中的连字符和数字对检测待检测标号的影响,进而第一特征向量F1无需考虑待检测标号中的连字符和数字,节省计算资源。
可选的,在待检测标号中b0(w-1)位于b0w之前,w=2,3,...,d。
基于此,上述步骤S300的另一种具体的实施方式为:
步骤S300包括以下步骤:
S303,将b01和b0d中不属于b0 1的第一切分后字符串在b0中删除,得到筛选后字符串组b0 2=(b01 2,b02 2,...,b0r 2,...,b0s 2),r=1,2,...,s。
其中,b0r 2为b0 2中的第r个筛选后字符串;s为b0 2中的筛选后字符串的数量,s≤d。
S304,根据b0 1,获取待检测标号对应的第二特征向量F2=(d,h1 1,h2 1,...,hr 1,...,hs 1)。
其中,hr 1为根据b0r 2确定的权重系数。
具体的,上述F2可以为根据n-gram或word2vec等模型产生的向量。hr 1为b0r 2在预设文本中的词频或出现概率等,本发明实施例对此不作限定。
S305,通过训练后的第一检测模型对F2进行处理,得到训练后的第一检测模型输出的第一检测结果或第二检测结果。
由此可知,由此可知,上述实施方式考虑了待检测标号中位于待检测标号中间的连字符和数字对检测待检测标号的影响,进而可以提高对待检测标号进行检测的准确度。同时该第一特征向量F1无需考虑待检测标号头部和尾部的连字符和数字对检测待检测标号的影响,节省计算资源。
可选的,若b0r 2属于b0 1,则hr 1为b0r 2对应的权重系数;若b0r 2不属于b0 1,则hr 1为预设字符串对应的权重系数。
上述步骤S200的另一种具体的实施方式为:
步骤S200包括以下步骤:
S205,获取第二参考字符串列表A=(a1,a2,...,ai,...,an),ai=(ai1,ai2,...,aij,...,aip(i)),i=1,2,...,n,j=1,2,...,p(i)。
其中,ai为A中的第i个第二参考字符串组,每一第二参考字符串组具有对应的国家,n为预设的国家的数量;aij为第i个第二参考字符串组中的第j个第二参考字符串,p(i)为第i个第二参考字符串组中的第二参考字符串的数量;每一第二参考字符串均为所在的第二参考字符串组对应的国家对应的常用字符串;每一第二参考字符串均为英文单词或汉字的拼音;
S206,根据A对待检测域名的待检测标号进行字符串切分,得到第二切分后字符串列表B=(b1,b2,...,bi,...,bn),bi=(bi1,bi2,...,bik,...,biq(i)),k=1,2,...,q(i)。
其中,bi为第i个第二切分后字符串组,bik为根据ai对待检测标号进行字符串切分得到的第i个第二切分后字符串,q(i)为根据ai对待检测标号进行字符串切分得到的第二切分后字符串的数量;
S207,获取第二目标字符串列表B1=(b1 1,b2 1,...,bi 1,...,bn 1),bi 1=(bi1 1,bi2 1,...,bix 1,...,biy(i) 1),x=1,2,...,y(i)。
其中,bi 1为bi对应的第二目标字符串组,bix 1为在bi中且与ai中的任一第二参考字符串相同的第x个第二目标字符串;y(i)为bi 1中的第二目标字符串的数量,y(i)≤q(i);
S208,确定y(1)、y(2)、...、y(x)、...、y(n-1)和y(n)中的任一是否大于或等于预设数量;若是,则进入步骤S300;否则,进入步骤S400。
由此可知,本发明通过采用不同国家的常用字符串得到若干第二参考字符串组,因此在待检测标号包括若干国家对应的常用字符串,且包括的每一国家对应的常用字符串数量较少的情况下,该待检测标号会被检测为不满足第一预设条件和第二预设条件。由于不为基于域名生成算法生成的域名标号一般是由人为编写的,进而包括若干国家对应的常用字符串,且包括的每一国家对应的常用字符串数量较少的待检测标号,大概率为基于域名生成算法生成的域名标号。因此本发明中将上述情况对应的待检测标号确定为不满足第一预设条件和第二预设条件,可以减小上述情况对应的待检测标号通过训练后的第一检测模型被确定为正常域名标号的可能性,达到了提高对待检测标号进行检测的准确度。
可选的,上述步骤S400包括以下步骤:
S401,确定待检测标号是否满足第三预设条件或第四预设条件;若是,则进入步骤S500;否则,进入步骤S600。
基于此,该方法还包括以下步骤:
S600,基于训练后的第三检测模型,在第一检测结果和第二检测结果中确定出待检测标号对应的检测结果。
其中,训练后的第三检测模型为根据若干第三训练样本对初始检测模型进行训练得到的,若干第三训练样本中的每一正样本均为不满足第一预设条件、第二预设条件、第三预设条件和第四预设条件中任一条件的标号。
基于此,步骤S200的另一种具体的实施方式为:
步骤S200包括以下步骤:
S209,基于目标检测模型,在第一标识、第二标识和第三标识中确定出待检测标号对应的标识。
其中,第一标识用于表示待检测标号满足第一预设条件或第二预设条件,第二标识用于表示待检测标号满足第三预设条件或第四预设条件;第三标识用于表示待检测标号不满足第一预设条件、第二预设条件、第三预设条件和第四预设条件;第一标识、第二标识和第三标识中的任意两个均不相同。
S2010,确定待检测标号对应的标识是否为第一标识;若是,则进入步骤S300;否则,进入步骤S401。
基于此,步骤S401包括以下步骤:
步骤S4011,确定待检测标号对应的标识是否为第二标识;若是,则进入步骤S500,否则,进入步骤S600。
具体的,上述目标检测模型可以为LSTM(Long Short-Term Memory,长短期记忆网络)模型等。
进一步的,在上述步骤S100之后且在步骤S200之前,该方法还包括以下步骤:
S101,获取语句组Z=(z1,z2,...,zvar1,...,znum1),var1=1,2,...,num1。
其中,zvar1为Z中的第var1个语句,num1为Z中的语句的数量;每一语句均至少包括汉字的拼音或英文单词。
上述步骤S101的一种具体的实施方式可以为,服务器首先可以获取到若干网页,每一网页内均包括文本,然后在每一网页内的文本中确定出若干标点符号,服务器再将每一网页内的文本中每两个相邻排列的标点符号之间的句子作为目标句,并将全部目标句中包括汉字的拼音或英文单词的句子作为语句,得到语句组Z。例如,网页内的文本为“,WordMall.Young Design,”,则Word Mall和Young Design均为目标句,且由于Word Mall和Young Design均包括英文单词,因此Word Mall和Young Design均包括英文单词,因此AsiaPacific和YoungDesign均为Z中的一个语句。
S102,根据Z,获取特征类字符串列表T=(t1,t2,...,tvar1,...,tnum1),tvar1=(tvar1 1,tvar1 2,...,tvar1 var2,...,tvar1 num2(var1)),var2=1,2,...,num2(var1)。
其中,tvar1为T中的第var1个特征类字符串组;tvar1 var2为zvar1中包括的第var2个特征类字符串,特征类字符串为汉字的拼音或英文单词,num2(var1)为zvar1中包括的特征类字符串的数量;在zvar1中tvar1 var3-1在tvar1 var3之前,var3=2,3,...,num2(var1)。
S103,将num2(1)、num2(2)、...、num2(var1)、...、num2(num1-1)和num2(num1)中,满足大于目标数量num0的每一数量对应的特征类字符串组在T中删除,得到第一特征类字符串列表T1=(t11,t12,...,t1var4,...,t1num4),var4=1,2,...,num4。
其中,t1var4为T1中的第var4个特征类字符串组,num4为T1中的特征类字符串组的数量。
S104,根据T1,获取待补充字符串组T2=(t21,t22,...,t2var4,...,t2num4)。
其中,t2var4为t1var4中的至少部分特征类字符串的首个字符按照对应的特征类字符串在t1var4中的排列顺序组成的待补充字符串。
在一种可能的实施方式中,t2var4为t1var4中除停用词以外的每一特征类字符串的首个字符按照对应的特征类字符串在t1var4中的排列顺序组成的待补充字符串。停用词为预设得到的,例如of或and等均为停用词。例如,t11为“I love tianmen and Beifang”,则t21为“IltB”。
S105,将T2中至少部分待补充字符串和每一候选域名标号均作为训练正样本数据。
其中,全部的训练正样本数据即为全部第二训练样本中的全部正样本,一个训练正样本数据为全部第二训练样本中的一个正样本。
其中,每一候选域名标号均满足第三预设条件或第四预设条件,且均不为基于域名生成算法生成的域名标号。
上述步骤S105的一种具体的实施方式可以为,服务器在得到T2后,将每一候选域名标号和T2中至少部分待补充字符串中的每一待补充字符串均作为训练正样本数据。
具体的,域名标号为域名中的标号,域名标号由字母、数字和/或连字符“-”组成。
由此可知,在本发明中,首先获取每一语句中的特征类字符串,然后根据特征类字符串的数量小于或等于num0的每一语句中的特征类字符串的首个字符,得到若干待补充字符串,并将至少部分待补充字符串和每一候选域名标号均作为训练正样本数据,训练正样本数据用于对初始检测模型进行训练得到训练后的第二检测模型,训练后的第二检测模型用于检测满足第三预设条件或第四预设条件的域名标号是否为基于域名生成算法生成的域名标号。
而在相关技术中,由于对初始检测模型进行训练时使用的正样本中基于若干词语的简写构建的域名标号较少,进而检测基于若干词语的简写构建的域名标号是否为基于域名生成算法生成的域名标号的准确度较低。
相比于相关技术,本发明中的每一待补充字符串均由有语义的语句中的至少部分单词或拼音的首个字符组成,进而待补充字符串为有语义的语句的简写,由于基于若干词语的简写构建的且不为基于域名生成算法生成的域名标号一般为有语义的语句的简写,因此基于待补充字符串对训练正样本数据进行补充是较为合理的,综上,本发明中基于待补充字符串对训练正样本数据进行补充,可以使对初始检测模型进行训练时使用的正样本中基于若干词语的简写构建的域名标号较多,可以提高检测基于若干词语的简写构建的待检测标号是否为基于域名生成算法生成的域名标号的准确度,达到了提高检测基于若干词语的简写构建的域名标号是否为基于域名生成算法生成的域名标号的准确度的目的。
可选的,在步骤S104之后,且在步骤S105之前,该方法还包括以下步骤:
S1041,获取字符串列表STR=(str1,str2,...,strvar5,...,strnum5),var5=1,2,...,num5,strvar5=(strvar5 1,strvar5 2,...,strvar5 var6,...,strvar5 num6(var5)),var6=1,2,...,num6(var5)。
其中,strvar5为STR中的第var5个字符串组,STR中的每一字符串组均具有对应的取值范围;STR中任意两个字符串组对应的取值范围的交集均为空集;strvar5 var6(var5)为T2中满足字符数量在strvar5对应的取值范围内的第num6(var5)个待补充字符串;STR包括T2中的每一待补充字符;[num6(1)+num6(2)+...+num6(var5)+...+num6(num5)]=num4。
S1042,获取比值组RAT=(rat1,rat2,...,ratvar5,...,ratnum5);其中,ratvar5为RAT中的第var5个比值;ratvar5=quavar5/QUA,quavar5为全部候选域名标号中满足字符数量在strvar5对应的取值范围内的候选域名标号的数量,QUA为候选域名标号的数量。
步骤S105包括以下步骤:
S1051,将在STR的strvar5中随机获取的bervar5个待补充字符串均作为训练正样本数据;bervar5为第var5个待获取数量,bervar5=ratvar5*num4;
S1052,将每一候选域名标号均作为训练正样本数据。
由此可知,上述被作为训练正样本数据的待补充字符串可以根据候选域名标号的字符数量待补充字符串中进行等比例筛选,相比于将全部的待补充字符串均作为训练正样本数据,本发明可以使作为训练正样本数据的待补充字符串与候选域名标号更为相似,由于训练后的第二检测模型是基于训练正样本数据训练得到的,因此达到了提高训练后的第二检测模型对域名标号进行检测的准确度的目的。
可选的,num0=max(num01,num02,...,num0var7,...,num0QUA),var7=1,2,...,QUA;max()为预设的最大值确定函数,num0var7为第var7个候选域名标号的字符数量,QUA为候选域名标号的数量。
可选的,7≤num0≤10。
本发明的实施例还提供了一种非瞬时性计算机可读存储介质,该存储介质可设置于电子设备之中以保存用于实现方法实施例中一种方法相关的至少一条指令或至少一段程序,该至少一条指令或该至少一段程序由该处理器加载并执行以实现上述实施例提供的方法。
本发明的实施例还提供了一种电子设备,包括处理器和前述的非瞬时性计算机可读存储介质。
本发明的实施例还提供一种计算机程序产品,其包括程序代码,当程序产品在电子设备上运行时,程序代码用于使该电子设备执行本说明书上述描述的根据本发明各种示例性实施方式的方法中的步骤。
虽然已经通过示例对本发明的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本发明的范围。本领域的技术人员还应理解,可以对实施例进行多种修改而不脱离本发明的范围和精神。本发明公开的范围由所附权利要求来限定。
Claims (10)
1.一种域名标号检测方法,其特征在于,所述方法包括以下步骤:
S100,获取待检测域名中的待检测标号;
S200,确定所述待检测标号是否满足第一预设条件或第二预设条件;若是,则进入步骤S300,否则,进入步骤S400;第一预设条件为对应的标号由至少预设数量的第一类字符串组成,第一类字符串为英文单词或汉字的拼音;第二预设条件为对应的标号由至少预设数量的第一类字符串和至少一个目标类字符串组成,目标类字符串为由数字或连字符组成的字符串;
S300,基于训练后的第一检测模型,在第一检测结果和第二检测结果中确定出所述待检测标号对应的检测结果;第一检测结果用于表示对应的标号为基于域名生成算法生成的,第二检测结果用于表示对应的标号不为基于域名生成算法生成的;
S400,确定所述待检测标号是否满足第三预设条件或第四预设条件;若是,则进入步骤S500;第三预设条件为对应的标号由若干第一类字符组成,第一类字符为英文单词的首个字母或汉字的拼音的首个字符;第四预设条件为对应的标号由若干第一类字符和至少一个目标类字符串组成;
S500,基于训练后的第二检测模型,在第一检测结果和第二检测结果中确定出待检测标号对应的检测结果。
2.根据权利要求1所述的方法,其特征在于,所述步骤S200包括以下步骤:
S201,获取第一参考字符串组a0=(a01,a02,...,a0u,...,a0v),u=1,2,...,v;其中,a0u为a0中的第u个第一参考字符串,每一所述第一参考字符串均为英文单词或汉字的拼音;v为所述第一参考字符串的数量;
S202,根据a0对所述待检测标号进行字符串切分,得到第一切分后字符串组b0=(b01,b02,...,b0c,...,b0d),c=1,2,...,d;其中,b0c为第c个第一切分后字符串,d为根据a0对所述待检测标号进行字符串切分后得到的字符串的数量;
S203,获取第一目标字符串组b0 1=(b01 1,b02 1,...,b0e 1,...,b0g 1),e=1,2,...,g;其中,b0e 1为在b0中且与a0中的任一第一参考字符串相同的第x个第一目标字符串;g为b0 1中的第一目标字符串的数量,g≤d;
S204,确定g是否大于或等于所述预设数量;若是,则所述待检测标号满足所述第一预设条件或所述第二预设条件,此时进入所述步骤S300;否则,所述待检测标号不满足所述第一预设条件和所述第二预设条件,此时进入所述步骤S400。
3.根据权利要求2所述的方法,其特征在于,所述步骤S300包括以下步骤:
S301,根据b0 1,获取所述待检测标号对应的第一特征向量F1=(d,h1,h2,...,he,...,hg);其中,he为b0e 1对应的权重系数;
S302,通过所述训练后的第一检测模型对F1进行处理,得到所述训练后的第一检测模型输出的第一检测结果或第二检测结果。
4.根据权利要求2所述的方法,其特征在于,在所述待检测标号中b0(w-1)位于b0w之前,w=2,3,...,d;
所述步骤S300包括以下步骤:
S303,将b01和b0d中不属于b0 1的第一切分后字符串在b0中删除,得到筛选后字符串组b0 2=(b01 2,b02 2,...,b0r 2,...,b0s 2),r=1,2,...,s;其中,b0r 2为b0 2中的第r个筛选后字符串;s为b0 2中的筛选后字符串的数量,s≤d;
S304,根据b0 1,获取所述待检测标号对应的第二特征向量F2=(d,h1 1,h2 1,...,hr 1,...,hs 1);其中,hr 1为根据b0r 2确定的权重系数;
S305,通过所述训练后的第一检测模型对F2进行处理,得到所述训练后的第一检测模型输出的第一检测结果或第二检测结果。
5.根据权利要求4所述的方法,其特征在于,若b0r 2属于b0 1,则hr 1为b0r 2对应的权重系数;若b0r 2不属于b0 1,则hr 1为预设字符串对应的权重系数。
6.根据权利要求1所述的方法,其特征在于,所述步骤S200包括以下步骤:
S205,获取第二参考字符串列表A=(a1,a2,...,ai,...,an),ai=(ai1,ai2,...,aij,...,aip(i)),i=1,2,...,n,j=1,2,...,p(i);其中,ai为A中的第i个第二参考字符串组,每一所述第二参考字符串组具有对应的国家,n为预设的国家的数量;aij为第i个第二参考字符串组中的第j个第二参考字符串,p(i)为第i个第二参考字符串组中的第二参考字符串的数量;每一所述第二参考字符串均为所在的第二参考字符串组对应的国家对应的常用字符串;每一所述第二参考字符串均为英文单词或汉字的拼音;
S206,根据A对待检测域名的待检测标号进行字符串切分,得到第二切分后字符串列表B=(b1,b2,...,bi,...,bn),bi=(bi1,bi2,...,bik,...,biq(i)),k=1,2,...,q(i);其中,bi为第i个第二切分后字符串组,bik为根据ai对所述待检测标号进行字符串切分得到的第i个第二切分后字符串,q(i)为根据ai对所述待检测标号进行字符串切分得到的第二切分后字符串的数量;
S207,获取第二目标字符串列表B1=(b1 1,b2 1,...,bi 1,...,bn 1),bi 1=(bi1 1,bi2 1,...,bix 1,...,biy(i) 1),x=1,2,...,y(i);其中,bi 1为bi对应的第二目标字符串组,bix 1为在bi中且与ai中的任一第二参考字符串相同的第x个第二目标字符串;y(i)为bi 1中的第二目标字符串的数量,y(i)≤q(i);
S208,确定y(1)、y(2)、...、y(x)、...、y(n-1)和y(n)中的任一是否大于或等于所述预设数量;若是,则进入所述步骤S300;否则,进入所述步骤S400。
7.根据权利要求1所述的方法,其特征在于,所述步骤S400包括以下步骤:
S401,确定所述待检测标号是否满足第三预设条件或第四预设条件;若是,则进入步骤S500;否则,进入步骤S600;
所述方法还包括以下步骤:
S600,基于训练后的第三检测模型,在所述第一检测结果和所述第二检测结果中确定出所述待检测标号对应的检测结果。
8.根据权利要求7所述的方法,其特征在于,所述步骤S200包括以下步骤:
S209,基于目标检测模型,在第一标识、第二标识和第三标识中确定出所述待检测标号对应的标识;所述第一标识用于表示所述待检测标号满足所述第一预设条件或所述第二预设条件,所述第二标识用于表示所述待检测标号满足所述第三预设条件或所述第四预设条件;所述第三标识用于表示所述待检测标号不满足所述第一预设条件、所述第二预设条件、所述第三预设条件和所述第四预设条件;所述第一标识、所述第二标识和所述第三标识中的任意两个均不相同;
S2010,确定所述待检测标号对应的标识是否为所述第一标识;若是,则进入所述步骤S300;否则,进入所述步骤S401;
所述步骤S401包括以下步骤:
步骤S4011,确定所述待检测标号对应的标识是否为所述第二标识;若是,则进入所述步骤S500,否则,进入所述步骤S600。
9.一种非瞬时性计算机可读存储介质,所述存储介质中存储有至少一条指令或至少一段程序,其特征在于,所述至少一条指令或所述至少一段程序由处理器加载并执行以实现如权利要求1-8中任意一项的所述方法。
10.一种电子设备,其特征在于,包括处理器和权利要求9中的所述非瞬时性计算机可读存储介质。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310160084.4A CN115841113B (zh) | 2023-02-24 | 2023-02-24 | 一种域名标号检测方法、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310160084.4A CN115841113B (zh) | 2023-02-24 | 2023-02-24 | 一种域名标号检测方法、存储介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115841113A true CN115841113A (zh) | 2023-03-24 |
CN115841113B CN115841113B (zh) | 2023-05-12 |
Family
ID=85580148
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310160084.4A Active CN115841113B (zh) | 2023-02-24 | 2023-02-24 | 一种域名标号检测方法、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115841113B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108600200A (zh) * | 2018-04-08 | 2018-09-28 | 腾讯科技(深圳)有限公司 | 域名检测方法、装置、计算机设备及存储介质 |
CN109495475A (zh) * | 2018-11-19 | 2019-03-19 | 中国联合网络通信集团有限公司 | 域名检测方法及装置 |
CN110781276A (zh) * | 2019-09-18 | 2020-02-11 | 平安科技(深圳)有限公司 | 文本抽取方法、装置、设备及存储介质 |
CN112183166A (zh) * | 2019-07-04 | 2021-01-05 | 北京地平线机器人技术研发有限公司 | 确定训练样本的方法、装置和电子设备 |
CN112926647A (zh) * | 2021-02-23 | 2021-06-08 | 亚信科技(成都)有限公司 | 模型训练方法、域名检测方法及装置 |
WO2021179708A1 (zh) * | 2020-10-20 | 2021-09-16 | 平安科技(深圳)有限公司 | 命名实体识别方法、装置、计算机设备及可读存储介质 |
CN113691491A (zh) * | 2020-05-18 | 2021-11-23 | 安碁资讯股份有限公司 | 域名系统中恶意域名的检测方法与检测装置 |
WO2022116419A1 (zh) * | 2020-12-03 | 2022-06-09 | 平安科技(深圳)有限公司 | 域名侵权的自动化判定方法、装置、电子设备和存储介质 |
WO2022126988A1 (zh) * | 2020-12-18 | 2022-06-23 | 平安科技(深圳)有限公司 | 实体命名识别模型的训练方法、装置、设备及存储介质 |
CN114818689A (zh) * | 2022-05-25 | 2022-07-29 | 杭州安恒信息安全技术有限公司 | 一种域名检测方法、装置、设备、存储介质 |
CN115473726A (zh) * | 2022-09-08 | 2022-12-13 | 中国银联股份有限公司 | 一种识别域名的方法及装置 |
-
2023
- 2023-02-24 CN CN202310160084.4A patent/CN115841113B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108600200A (zh) * | 2018-04-08 | 2018-09-28 | 腾讯科技(深圳)有限公司 | 域名检测方法、装置、计算机设备及存储介质 |
CN109495475A (zh) * | 2018-11-19 | 2019-03-19 | 中国联合网络通信集团有限公司 | 域名检测方法及装置 |
CN112183166A (zh) * | 2019-07-04 | 2021-01-05 | 北京地平线机器人技术研发有限公司 | 确定训练样本的方法、装置和电子设备 |
CN110781276A (zh) * | 2019-09-18 | 2020-02-11 | 平安科技(深圳)有限公司 | 文本抽取方法、装置、设备及存储介质 |
CN113691491A (zh) * | 2020-05-18 | 2021-11-23 | 安碁资讯股份有限公司 | 域名系统中恶意域名的检测方法与检测装置 |
WO2021179708A1 (zh) * | 2020-10-20 | 2021-09-16 | 平安科技(深圳)有限公司 | 命名实体识别方法、装置、计算机设备及可读存储介质 |
WO2022116419A1 (zh) * | 2020-12-03 | 2022-06-09 | 平安科技(深圳)有限公司 | 域名侵权的自动化判定方法、装置、电子设备和存储介质 |
WO2022126988A1 (zh) * | 2020-12-18 | 2022-06-23 | 平安科技(深圳)有限公司 | 实体命名识别模型的训练方法、装置、设备及存储介质 |
CN112926647A (zh) * | 2021-02-23 | 2021-06-08 | 亚信科技(成都)有限公司 | 模型训练方法、域名检测方法及装置 |
CN114818689A (zh) * | 2022-05-25 | 2022-07-29 | 杭州安恒信息安全技术有限公司 | 一种域名检测方法、装置、设备、存储介质 |
CN115473726A (zh) * | 2022-09-08 | 2022-12-13 | 中国银联股份有限公司 | 一种识别域名的方法及装置 |
Non-Patent Citations (2)
Title |
---|
PIN LV等: "Detection of Malicious Domain Names Based on Hidden Markov Model", IEEE * |
王毅;谢娟;成颖;: "结合LSTM和CNN混合架构的深度神经网络语言模型", 情报学报 * |
Also Published As
Publication number | Publication date |
---|---|
CN115841113B (zh) | 2023-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7478033B2 (en) | Systems and methods for translating Chinese pinyin to Chinese characters | |
CN108874996B (zh) | 网站分类方法及装置 | |
CN108595679B (zh) | 一种标签确定方法、装置、终端和存储介质 | |
CN110750993A (zh) | 分词方法及分词器、命名实体识别方法及系统 | |
de Oliveira et al. | Fs-ner: a lightweight filter-stream approach to named entity recognition on twitter data | |
CN110941959A (zh) | 文本违规检测、文本还原方法、数据处理方法及设备 | |
CN112052331A (zh) | 一种处理文本信息的方法及终端 | |
CN111753086A (zh) | 一种垃圾邮件识别方法和装置 | |
JP2018045524A (ja) | 学習プログラム、学習方法及び学習装置 | |
Choudhury et al. | How difficult is it to develop a perfect spell-checker? A cross-linguistic analysis through complex network approach | |
US10248646B1 (en) | Token matching in large document corpora | |
CN111737464A (zh) | 文本分类方法、装置和电子设备 | |
CN111914554A (zh) | 领域新词识别模型的训练方法、领域新词识别方法及设备 | |
Han et al. | Towards effective extraction and linking of software mentions from user-generated support tickets | |
CN113705203A (zh) | 文本纠错方法、装置、电子设备及计算机可读存储介质 | |
CN113204956A (zh) | 多模型训练方法、摘要分段方法、文本分段方法及装置 | |
CN115841113A (zh) | 一种域名标号检测方法、存储介质及电子设备 | |
CN115455416A (zh) | 一种恶意代码检测方法、装置、电子设备及存储介质 | |
CN113688240B (zh) | 威胁要素提取方法、装置、设备及存储介质 | |
CN113553853B (zh) | 命名实体识别方法、装置、计算机设备及存储介质 | |
CN115841115B (zh) | 一种数据补充方法、存储介质及电子设备 | |
CN115150354A (zh) | 一种生成域名的方法、装置、存储介质及电子设备 | |
Le et al. | A maximum entropy approach to sentence boundary detection of Vietnamese texts | |
JP6597250B2 (ja) | 学習プログラム、学習方法及び学習装置 | |
JP5879150B2 (ja) | フレーズ検出装置およびそのプログラム |
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 |