[发明专利]一种基于词嵌入的多阶段网络攻击检测方法有效
申请号: | 202010660792.0 | 申请日: | 2020-07-10 |
公开(公告)号: | CN112019497B | 公开(公告)日: | 2021-12-03 |
发明(设计)人: | 周鹏;周公延 | 申请(专利权)人: | 上海大学 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;G06K9/62;G06N3/08;G06N20/20 |
代理公司: | 上海上大专利事务所(普通合伙) 31205 | 代理人: | 何文欣 |
地址: | 200444*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 嵌入 阶段 网络 攻击 检测 方法 | ||
1.一种基于词嵌入的多阶段网络攻击检测方法,其特征在于,包括如下步骤:
1)对已经发生攻击后的网络流量特征所构成的数据集进行特征选择;
2)使用词嵌入方法向量化网络流量数据;
3)分别构建当前向量和历史向量,使用负采样方法构建训练样本;
4)建立基于词嵌入的多阶段攻击检测模型,计算关联向量,使用监督学习分类算法计算关联概率,判断当前数据属于多阶段攻击的可能性。
2.根据权利要求1所述的基于词嵌入的多阶段网络攻击检测方法,其特征在于,所述步骤1)中的特征选择包括下列步骤:
步骤1.1、将由大量攻击样本构成的数据集随机划分为训练集、验证集和测试集,令X=(x1,x2,x3,…,xi)表示一个序列数据,xi=(xi(1),xi(2),xi(3),…,xi(j))表示单个数据包,其中xi(j)表示数据包xi的第j个特征;
步骤1.2、根据网络数据包组成和网络传输协议,分析攻击数据,进行初步特征选择和特征构造,选取n个特征;
所述步骤2)中的向量化网络流量数据包括下列步骤:
步骤2.1、根据特征选择得到的n个网络流量特征,删除原数据集中没有选中的其它网络流量特征,所述网络流量是指单位时间内通过网络设备或传输介质的信息量;
步骤2.2、将数据集划分为特征所对应的序列,即S=(s(1),s(2),s(3),...,s(j)),其中单个特征序列表示为s(j)=(x1(j),x2(j),x3(j),...,xi(j)),最终得到不多于特征数量的序列;
步骤2.3、利用得到的多个特征序列,使用word2vec中skip-gram词嵌入方法,即将单个特征序列作为语料库,每次选取窗口范围内值作为样本,窗口的中心词作为输入,其余词作为输出,构建神经网络使用中心词预测其余词,将神经网络隐藏层权重作为输入词的向量;同理,对其他特征序列进行词嵌入,得到每个特征对应的词嵌入向量,表示为vij∈Rk;
步骤2.4、将多个特征所对应的词嵌入向量拼接,得到网络流量数据的向量表示,即vi=(vi(1),vi(2),vi(3),...,vi(j))。
3.根据权利要求1所述的基于词嵌入的多阶段网络攻击检测方法,其特征在于,所述步骤3)中构建训练样本包括下列步骤:
步骤3.1、创建一个长度为m的向量H∈Rm×k,存储多阶段攻击的历史信息,将任意时间t的数据表示为D∈Rk,D表示当前数据向量的信息,令Ai表示对应的攻击阶段;
步骤3.2、初始化H为第一攻击阶段的数据,取第二阶段攻击中数据D+∈A2作为正例,将[H,D+]作为一个正样本,对应的标签为1,任取其他时刻数据作为负例,将[H,D-]作为一个负样本,对应的标签为0,正负样本构造比为1:g,g1为算法参数,采样训练时人工设置;
步骤3.3、根据攻击阶段更新H,新的向量包含了当前已经出现的攻击阶段信息,重复步骤3.2中的样本构造过程,构建M个训练样本。
4.根据权利要求2所述的基于词嵌入的多阶段网络攻击检测方法,其特征在于,所述步骤4)中的建立基于词嵌入的多阶段攻击检测模型包括下列步骤:
步骤4.1、基于步骤3构建的训练样本将序列建模问题转化为分类问题,基于当前数据向量D和历史向量H计算关联向量,记为R(H,D),训练基于词嵌入的多阶段攻击检测模型;
关联向量R(H,D)的计算方法为
R(H,D)=D⊙[h1,h2,…,hm]
其中hm表示H中的第m个向量,上式表示D对H中每一个向量hm作哈达玛积;
优化目标为
其中S表示训练集合的大小,H和D为模型的输入,y为标签,标签y表示模型的真实输出,p(D,H)表示当前数据向量D与已发生攻击的历史向量H间的关联概率;
步骤4.2、初始化历史向量H,读取实时网络流量数据,初始化H为多阶段攻击的第一阶段;
步骤4.3、根据步骤1.2中选取的网络流量特征来选取读入的实时网络流量数据所使用的特征,并根据步骤2将其向量化,得到当前数据向量D;
步骤4.4、使用步骤4.1中建立的模型,判断D与已发生的攻击阶段之间的联系,输出关联概率Pa=p(D|H);
步骤4.5、定义阈值,如果Pa大于给定阈值,将D加入缓存,当缓存大小达到指定大小时,更新H,阈值根据模型的召回率和准确率选取,缓存大小设置为50;
步骤4.6、重复步骤4.3到4.5。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海大学,未经上海大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010660792.0/1.html,转载请声明来源钻瓜专利网。