利用深度学习方法检测恶意URL及软件定义网络安全分析
1. 基于统计报告的特征与CNN特征提取
在检测恶意URL时,可以将PhishTank、StopBadware等机构提供的统计报告纳入特征空间,这些报告还会不时更新。
对于从卷积神经网络(CNN)提取特征,一个URL可以用矩阵形式表示,即 $u \to x \in R^{L \times k}$,其中序列里的 $x_i$($i = 1, \cdots, L$)可以是字符或单词。字符级别的CNN用于检测恶意URL时,会捕捉URL字符的属性。这可以通过识别数据集中唯一的字母数字和特殊字符来实现,同时将不常见的字符替换为 <UNK> 。
另一种是词级别的CNN,它对单词进行卷积操作。词级CNN的一个挑战是,唯一单词的数量取决于训练语料库的大小,这也是它与字符级CNN的不同之处。所有唯一的单词都以字母数字字符序列的形式获得,使用 <PAD> 标记使URL的长度统一。
最终的URL矩阵可以表示为两个矩阵之和,即 $URL_w + URL_{cw}$。在模型中,CNN同时应用于字符级别和单词级别。每个字符被表示为向量,整个URL被转换为矩阵后进行卷积操作。字符级CNN提取的字符用于检测URL的恶意性,词级CNN则从训练语料库中提取唯一的单词。通过词嵌入,我们可以得到URL的矩阵,随后进行卷积操作。
不过,词嵌入也会产生一些问题,例如在测试时无法检测新单词,在处理恶意URL中的许多唯一单词时,学习过程会受到内存限制。因此,我们考虑采用高级词嵌入技术,它能够学习字符、单词和子单词。
超级会员免费看
订阅专栏 解锁全文
2万+

被折叠的 条评论
为什么被折叠?



