Fig. 1.
表2
PsyBoG
数据集的摘要。
域名类型样本数
合法722,975
非法34,045
方面表3显示了域名集合的词汇特征列表。
与人类生成的域名相比,机器生成的域名具有具有相同长度和相
关令牌的趋势(
Porras
等人,
2009
年)。人工生成的域名比人工生
成的域名更复杂,因为人类试图通过避免组合字母,数字和连字符来
构建易于书写,阅读和记忆的域名。此外,人类避免使用不明确的
术语。他们喜欢使用易于记忆和书写的有意义的术语,这样他们就不
会与其他域名混淆(即,在外观或发音上部分相似)。机器生成的
域名通常更长,包含字母、数字和连字符的混合。与人工生成的域
名相比,机器生成的域名可能包含不常见的单词或无意义的随机单
词。因此,我们相信,通过创建一个包含前面提到的属性的评分系
统,我们将能够判断域名是真实域名还是机器生成的域名(即,基
于
DGA
的域名)。
域名通常由字母、数字和连字符组成,它们之间没有空格因此,
确定域名特征的第一步即使域名之间没有空格,人类也可以通过大脑
的理解能力来判断域名是否是一个有意义的短语为了完成人类能做的
事情,计算机必须
使用语言算法。出于上述目的,我们将使用(
Norvig 2009
)中的算
法来确定域名单词是否构成有效短语。在这个意义上,我们采用了一
种 分割技 术 , 该技术利 用 万 亿 单 词数 据 集 来 生 成大型 术 语 词典
(
Brants
和
Franz 2006
)。建议的方法是基于一个
unigram
和一个
bigram
从所利用的语料库,确定的可能性,在域名中有一个或两个
字。一个
segmentation
函数被定义为接受一个没有空格的字符串作
为输入,并返回一个可能的单词列表,这些单词反映了域名的最佳如
果分割程序成功,我们将有一个域名注册术语列表。可以基于域名构
造词来提取或计算额外的特征,诸如域名中的词的数量、域名词的稀
有性、域名中的有意义的词的数量、域名词的键入难度、域名可读性
指数、域名词的随机性、以及域名词的所有可能的拼写校正的列表。
判断句子中有意义的词的数量是判断句子是由人还是计算机生成
的关键步骤因为域名可以是非间隔词的句子,所以将域名中的术语与
语言词典进行比较可以帮助区分人类生成的短语和机器生成的短语。
如果在词典中找不到该术语,则可能是被置换、打乱或拼写错误
.
因
此,将分析其他单词可能被篡改、混淆或拼写错误的可能性,并根据
需要提供更正以验证拼写。此外,一个内置的字典将用于发现可能的
域 名 单 词 的 含 义 。 内 置 字 典 是
PyEnchant
(
Perkins
,
2014a
,
b
),由
Python
提供
PyEnchant
的好处是它能够处理多种语言。此
外,
PyEnchant
可以使用来自许多流行
Python
拼写检查器包之一的
拼写检查器,例如
ispell
、
aspell
和
myspell
(
Alegria
例如,
2008
年)。拼写检查器仅用于确定域名是由人还是机器形成的,这是基于
机器生成的单词更有可能存在语法和
/
或语义问题的事实因此,指示
将是域名中有意义的单词总数和拼写错误的单词总数总之,域名中的
语法或语义问题越多,它就越有可能是由算法生成的。
单词被分为不常见或经常使用取决于
如何 频繁 他们 是 使用, 要么 可听地 或 以书面