目录
前言
📅大四是整个大学期间最忙碌的时光,一边要忙着备考或实习为毕业后面临的就业升学做准备,一边要为毕业设计耗费大量精力。近几年各个学校要求的毕设项目越来越难,有不少课题是研究生级别难度的,对本科同学来说是充满挑战。为帮助大家顺利通过和节省时间与精力投入到更重要的就业和考试中去,学长分享优质的选题经验和毕设项目与技术思路。
🚀对毕设有任何疑问都可以问学长哦!
大家好,这里是海浪学长毕设专题,本次分享的课题是
🎯毕业设计-基于对抗模型的恶意域名检测方法
课题背景和意义
互联网作为人类近代发展史上一个重要的里程碑,人类创新与智慧的象征,是科技 高速发展的重要标准。短短四十年的时间,它已经完全融入到军事、民用、商用等各 个领域。很大程度上改变了人们的生活方式、变革了社会的组织结构。 互联网从诞生之初便是一把双刃剑,随着互联网规模的不断扩大,网络出现异常和 遭受攻击的可能性将越来越大。同样伴随互联网技术的发展而来的黑客攻击技术也不断 更新换代。在互联网安全防范人员和黑客之间形成了道高一尺魔高一丈的局面。这对互 联网的稳定运行构成了严重的威胁。从宏观角度来说,安全威胁主要分为硬件方面的安 全威胁和软件方面的安全威胁。这都对互联网的稳定运行和人们的财产构成严重的安全威胁。网络安全形势迫 在眉睫。从个人用户、企业、国家的角度来说,个人用户的敏感信息包含用户的隐私、 涉及到个人利益,企业内部网络涉及到企业的财产利益,国家核心部门的网络安全受到 威胁将直接导致国家机密信息的泄露、损害国家利益等严重后果。因此保卫个人、企业、 国家的信息安全将是互联网大环境静下的重中之重。
实现技术思路
一、课题相关研究
DNS安全
域名系统(Domain Name System,DNS)[ 29]作为互联网通信的基础服务, 主要功能是将易于人为记忆理解的域名翻译成机器可以理解的主机IP地址。 DNS是一个具备全球性、一致性、可扩展性强和可靠性高的动态数据库系统。 主要包括域名空间、域名服务器、和域名解析器(Client)三个系统。
HTTP僵尸网络
僵尸网络(Botnet)是基于传统木马、蠕虫、后门等工具诞生的新型大规 模网络攻击形式,是一种大规模入侵网络空间内的终端主机并被攻击者远程集 中操控的计算平台。
恶意域名解析
恶意域名的解析与正常域名的解析相类似。以解析恶意域名 ‘google.xx.com’为列,描述恶意域名在DNS系统中的解析流程。恶意域名多数 为新近出现的域名,本地服务器中一般不会留有缓存数据,需要到DNS系统中 继续查询,查询流程如图所示:
DGA恶意域名
1、DGA恶意域名分析
域名在构造上可分为两部分:主机名和域名(包括顶级域及可能的二级域、 三级域等)。DGA域名在构造上一般用随机算法来生成主机名,域名部分相对 固定或变化较少。如symmi的DGA域名hakueshoubar.ddns.net,其域名是由元 辅音字符生成器生成的字符和ddns.net组合而成;Conficker.C的DGA域名 plrjgcjzf.net、gkrobqo.info等也是由同频率的字符生成器和一级域名组合而成。 因此在生成类似DGA域名时不考虑域名数据集中的一、二级域名部分, 只对DGA算法生成器的主机名的字符特性进行分析。目前已经出现的部分 DGA算法的示例域名如表所示:
2、DGA域名特征
从多个维度对DGA算法够构造的真实域名和基于GAN域名字符生成 框架生成的域名进行特征提取,并采用WEKA机器学习平台中的分类算法进行 分类验证。
1.域名长度:由DGA算法随意产生的域名一般多为短域名或者长度固定 的域名,Alexa Top 1 M正常域名则是由于在构造域名时更加符合人类语言,因 此随机性相对较大,域名长度长短不一,差异明显。
2.n-gram频率:n-gram字符方法来源于自然语言处理领域,它的主要思想是对字符串进行n(n可取1,2,3,4,5…)元子字符串的定义与分割。
3.n-gram正态得分:假设域名字符串为d,d S)(n表示正态得分, n t表示 域名字符串d的n-gram字符集合,那么正态得分可表示为公式:
4.域名元音频率:假设域名字符串中的元音字符个数为d V)(,其中d为域 名字符串,|d|为域名长度,则域名字符中的元音频率可以写成公式:
5.域名辅音频率:假设域名字符串中的辅音字符个数为d C)(,其中d为域 名字符串,|d|为域名长度,则域名字符中的辅音频率可以写成公式:
分类算法简述
1、贝叶斯
贝叶斯分类器的核心思想是最大后验概率准则,其主要是根据分类对象的 在所有类别中的先验概率去计算其在类别中的后验概率,然后选择计算出的具 备最大后验概率的某个类作为该对象即将被分类的类。
算法可简要描述如 下: 假设待分类的对象有n个特征属性,特征向量表示为:(f1,f2,f3,f4,,,,, Fn),类 别空间为m维并假设为,...,,,(C1,C2,C3,C4,,,,,,Cm)根据最大后验概率准则可知,当且仅当满足公式:
2、决策树
决策树算法在分类性能上相对于其他分类算法有许多优点,如运算速度快、 较少的计算量、分类规则的易转化、分类规则的性能良好等。基于以上优点, 决策树算法被应用到多个领域。决策树本质上是一种归纳学习算法,其主要思 想是根据无次序、无规则的数据构建分类规则。决策树的分类过程和一般的分类算法基本相同,如图:
3、J48
J48分类器实际是经典的决策树算法之一,也即C4.5决策树算法。决策树 算法具备良好的鲁棒性,算法的核心是一种归纳分类,它从大批量的杂乱无章 的无规则样本数据集中自动推导出分类规则去构建分类树的结构。
4、随机森林
随机森林算法是由Bremain于2001年提出,其结合了Bagging的有放回随 机抽样的方法和Tin的随机子空间划分方法对随机森林算法进行了系统性的论 述。其本质上是多个小随机树的组合。
随机森林算法中构建的子树是CART决策树,每个子树在随机抽样数据 集和分裂参数随机选取的基础上均有所不同,得到每个子树的分类结果后采用 投票法选取最后的投票结果。随机森林算法的简易构建模型如图:
分类器评估
分类器评估通常包括对平衡数据集和不平衡数据集性能的两种评估,平衡 数据集是指正负样本数量相同,不平衡数据集是指正样本和负样本数量不同。 考虑到样本的不平衡特性,在基于混淆矩阵(二分类)的基础上,学术界提出 了其他常规分类器的性能指标。混淆矩阵反映了分类器对未知样本的预测能 力。如表所示的混淆矩阵参数表。
生成对抗网络的理论研究
1、生成对抗思想
生成对抗网络GAN(Generative adversarial networks)思想于2014年由 Goodfellow团队提出以来,已经发展成为人工智能领域中无监督式学习的一个 热门且重要的研究方向。GAN思想启发来自博弈论中的纳什均衡,GAN由 一对网络模型组成,即一个生成模型(Generative Model,G)和一个判别模型 (Discriminative Model,D),两者通过对抗学习的训练算法来提升网络的权重。
GAN的学习过程就是G网络和D网络之间的一种 竞争训练过程,Goodfellow将这一思想表示成公式:
2、网络的架构
GAN的网络架构主要由一对神经网络模型组成,即一个生成模型G (Generative Model,G)和一个判别模型(Discriminative Model,D)如图所示的GAN网络结构示意图。
3、网络的训练
GAN网络模型中G和D实际上在进行一个min-max最大最小对抗游戏, 对于G网络,其需要最小化值函数V(D,G),即公式。
二、字符级域名生成模型的设计与序列生成的理论探讨
基于GAN的字符级域名生成模型的整体架构
字符级生成模型的核心架构思想是GAN神经网络,该模型在GAN的架构 上设计了域名字符的编码器和解码器,如图所示。
编码器将域名字符d编 码成域名向量d,用于表示域名字符数据,解码器则将域名向量解码器成域名 字符d,用于生成数据的字符还原。
域名编码器设计
编码器的主要功能是将字符级域名编码成对应的域名向量,输入生成对抗 网络的识别网络。这里假设去除顶级和二级域的域名字符为d顺序散列后组成 的向量为 d,,其中n为域名长度,(di=1,2,3,...,i为域名字符)。 字符AscaII码值转换函数为:
字符级生成对抗网络的设计
神经网络中的神经元是类生物神经元的构成和传导激活原理的抽象模型 表示,是神经网络运算的基本单元,人工神经网络中的神经元模型如图所 示
神经元的输入为x1,x2,x3,x4,x5和偏置b1,神经元的输出可以表示为公式:
生成网络结构设计
生成网络的主要作用是在识别网络的引导下去学习真实数据的概率分布 模型,其网络结构主要由四层网络层组成。主要包括输入层、两层隐藏层及输出层。其中输入层节点数为n,该层的激活函数采用ReLu函数,隐藏层则包含 两层,节点数目分别为sizeh_1,sizeh_ 2 ,节点的激活函数部分仍然采用ReLu 函数,输出层部分节点数目为域名向量的维度sizereset_,考虑解码器的输入数 据区间为[0,1]之间的元素,因此为减少生成网络的计算量只在输出层的激活函 数采用sigmoid函数。网络结构图如图所示。
识别网络结构设计
判别网络和识别网络相类似,同样包括输入层、隐含层和输出层。其中输 入层的数据来源有二,一部分来源于真实数据,另一部分来源于生成网络生成 的生成数据,本文将DGA域名长度设置为sizereset_,因此输入数据维度为 *2size_reset。
基于LSTM模型生成序列的理论探讨
对域名字符的生成序列信息用于后续GAN的数据生成 做理论上的探讨,主要思想是将域名字符的序列信息进行编码并经过LSTM模 型训练生成序列作为GAN的输入序列。
1、one-hot编码方式
one-hot编码即独热编码、一位有效编码,主要思想是采用N位状态寄存 器对N个状态进行编码,在任意时刻只有一位独立的寄存器位有效。假设某篇 文章有n个不同的词,并对文章中的每个不同的词进行序列编号,然后构建一 个维度为n的向量。
2、域名序列向量的构建
为了将域名的序列信息编排进域名序列向量,本文启发于one-hot编码方 式,并将n-gram(n取1、2)字符信息融合进one-hot编码方式对域名的序列 信息进行了编码。
3、基于LSTM模型生成序列的理论设计
长短时记忆网络(Long Short-Term Memory)由循环神经网络RNN演化 而来,它解决了RNN神经网络中的针对时间间隔较长的帧无法产生前后联系的问题,即时间越长,帧的输入对后续隐藏层、输出层节点的权值影响将越小。 LSTM模型在RNN的基础上增加了输入门、输出门和遗忘门。LSTM的模型如 图:
实现效果图样例
恶意域名检测方法:
我是海浪学长,创作不易,欢迎点赞、关注、收藏、留言。
毕设帮助,疑难解答,欢迎打扰!