一种基于向量空间下语言建模的IPv6目标生成方法和装置

文档序号:701006 发布日期:2021-04-13 浏览:3次 >En<

阅读说明:本技术 一种基于向量空间下语言建模的IPv6目标生成方法和装置 (IPv6 target generation method and device based on language modeling under vector space ) 是由 熊刚 王炳旭 崔天宇 李镇 苟高鹏 刘梦严 于 2020-11-24 设计创作,主要内容包括:本发明涉及一种基于向量空间下语言建模的IPv6目标生成方法和装置。本发明将整个活动地址空间映射到语义向量空间,实验证明这可以有效地对活动地址空间进行地址分类;通过使用Transformer网络进行建模,采用基于余弦相似度和softmax温度参数的方法来替换语言模型中的概率预测,实验证明该方案可以全面考虑多个序列关系,并生成与数据集具有语义相似且更富有创造性的地址序列。本发明首次探索了IPv6语义空间的构建,可以有效地提取地址的语义信息并对活跃地址空间分类,采用了新的生成方法完善了语言模型以获得富有创意性的地址序列,能够在有限数据集下生成更多的活跃目标。(The invention relates to an IPv6 target generation method and device based on language modeling in a vector space. The invention maps the whole active address space to the semantic vector space, and experiments prove that the address classification can be effectively carried out on the active address space; by modeling by using a Transformer network and replacing probability prediction in a language model by adopting a method based on cosine similarity and softmax temperature parameters, experiments prove that the scheme can comprehensively consider a plurality of sequence relations and generate address sequences which are semantically similar to a data set and are more creative. The invention explores the construction of IPv6 semantic space for the first time, can effectively extract the semantic information of the address and classify the active address space, adopts a new generation method to perfect a language model to obtain an address sequence with creativity, and can generate more active targets under a limited data set.)

一种基于向量空间下语言建模的IPv6目标生成方法和装置

技术领域

本发明属于网络技术领域,具体涉及一种基于向量空间下语言建模的IPv6目标生成方法和装置。

背景技术

主机发现一直是网络测量领域中至关重要的研究方法。通过利用现代硬件和连接能力,诸如Zmap和Masscan等工具已经能够完成对全球IPv4地址空间的探索,从根本上增强了研究人员对互联网服务进行广泛评估的能力。

但是,众所周知,IPv6更大的地址空间使得彻底的探测是完全不可行的。最近提出的解决方案是设计目标生成算法以推断和生成可能处于活动状态的主机候选集,最终通过扫描候选集以发现活跃主机。这种方案需要系统分析活动地址集的潜在分布特征并推断目标聚集区域。有效分析算法的设计直接决定了模型学习的能力以及生成的候选集的质量。

虽然先前的工作已经对活跃地址的分布有了初步的了解,但是结果通常缺乏可解释性,因为完全由数字组成的IPv6地址缺少语义,这限制了我们无法依据序列关系来推断活跃地址组成。其原因主要来自众多可定制的IPv6寻址方案。IPv6地址由全局网络标识符,子网前缀和接口标识符组成。其寻址方案很多,并且网络运营商通常要求将接口标识符视为语义上不透明的。管理员可以选择使用各种标准来自定义地址的寻址方案。另外,某些IPv6地址具有SLAAC地址格式,即接口标识符通常根据EUI-64标准嵌入MAC地址或使用完全伪随机。地址组成的复杂性导致算法推理困难。

代表性的目标生成算法包括Entropy/IP和6Gen,它们是基于人类观察和对网络数据的假设而设计的。人为干预可能导致算法过分依赖经验,并失去对数据集的适应性。如何将算法生成的候选集从数量推向质量的问题仍然存在。

发明内容

为了解决上述问题,本发明考虑了一种采用深度学习的新方法来促进有效的IPv6目标生成。词向量和语言建模是需要建模长期依赖项的系统的关键组成部分,并且已经具有了很多成功的应用案例,例如摘要生成和机器翻译。通过词到向量的空间映射,词向量揭示了各个词之间的语义关系。语言模型可以通过监督学习来估计地址词序列的概率分布。基于这些原理,本发明构造具有一定语义关系的IPv6向量空间。通过学习语义,语言模型可以自主推断活动地址的组成部分以生成更有效的候选结果。常规语言模型用于对确定性序列依赖性进行建模。预测的序列结果基本上与原始数据集一致。在目标生成工作中,需要对语言模型增加创新机制以生成新的IPv6目标。

本发明的目的在于提供一种基于向量空间下语言建模的IPv6目标生成方法和装置。本发明的技术方案称为6VecLM架构。该架构可以将地址映射到向量空间中以解释语义关系,并使用Transformer网络构建IPv6语言模型来预测地址序列。实验表明,本发明可以对地址空间进行语义分类。通过添加新的生成方法,与传统语言模型相比,本发明的模型具有可控的词创新能力。通过达到更高质量的候选集,这项工作在两个活跃地址数据集上的表现优于最新的目标生成算法。

本发明采用的技术方案如下:

一种基于向量空间下语言建模的IPv6目标生成方法,其特征在于,包括以下步骤:

将IPv6地址映射到语义向量空间,获得具有语义关系的IPv6地址向量;

利用获得的IPv6地址向量,采用Transformer网络建立IPv6语言模型,利用IPv6语言模型生成IPv6目标。

进一步地,所述将IPv6地址映射到语义向量空间,获得具有语义关系的IPv6地址向量,包括:

在IPv6地址中定义第i位的地址值为Vi,其中V∈{0,1,...,f},定义第i位的索引值为Si,其中S∈{0,1,...,v},第i位地址词由地址值Vi和索引值Si组成,即ViSi,从种子集地址构建的所有地址词组成词汇表;

对地址词进行词选择,选择输入地址词和上下文地址词来生成训练样本;

利用训练样本训练神经网络,神经网络的输出层表示在输入地址词的上下文中出现特定地址词的可能性,隐藏层表示输入地址词在模型中的内部表示;训练后最终的隐藏层结果是训练完成的输入地址词的向量表示,即IPv6地址向量。

进一步地,所述选择输入地址词和上下文地址词来生成训练样本,是将来自输入地址词周围的在窗口内的地址词选择为上下文地址词,以构建训练样本。

进一步地,所述神经网络的输入和输出神经元的数量同样等于词汇表的大小,输出层使用softmax分类器以表示特定地址词在特定上下文中出现的概率。

进一步地,所述IPv6语言模型中堆叠n层Transformer编码器模块,以将地址词向量编码为记忆向量,Transformer编码器模块包含一个多头自注意子层和两个完全连接的前馈网络子层;Transformer解码器模块插入第二个多头自注意子层,该子层使用Transformer编码器输出的记忆向量作为注意输入K和V以进行注意权重计算;所述IPv6语言模型最终通过线性层和Sigmoid激活函数预测下一个地址词向量,新生成的地址词依次被选择作为Transformer解码器的当前输入,并确保模型的预测仅基于过去的地址词,直到完成整个地址生成过程为止。

进一步地,所述IPv6语言模型使用余弦距离作为损失函数;在每轮生成地址词向量后,计算生成的地址词向量与每个当前位置的地址词向量之间的余弦相似度,并使用softmax函数将余弦相似度转换为地址词采样概率P,以此作为对预测词进行采样的基础。

进一步地,在生成IPv6目标的过程中采用两种词采样策略:贪婪采样和随机采样;所述贪婪采样在每轮选择具有最高采样概率的地址词,生成的地址始终与训练集地址相似,从而提高重复率;所述随机采样忽略采样概率,并且总是随机选择地址词;并且,使用softmax temperature来调整概率分布。

一种采用上述方法的基于向量空间下语言建模的IPv6目标生成装置,其包括:

IPv6向量空间映射模块,用于将IPv6地址映射到语义向量空间,获得具有语义关系的IPv6地址向量;

IPv6目标生成模块,用于利用获得的IPv6地址向量,采用Transformer网络建立IPv6语言模型,利用IPv6语言模型生成IPv6目标。

本发明的关键点包括:

1)本发明通过深度学习开发了目标生成算法的一种新的具体实例6VecLM,其中包括两个机制IPv62Vec和Transformer-IPv6。

2)IPv62Vec将整个活动地址空间映射到语义向量空间,其中具有相似序列的地址将被分类到同一群集中。实验证明IPv62Vec可以有效地对活动地址空间进行地址分类。

3)Transformer-IPv6将学习语义地址向量,以实现IPv6语言建模。通过使用Transformer网络进行建模,采用基于余弦相似度和softmax temperature参数的方法来替换语言模型中的概率预测。实验证明Transformer-IPv6可以全面考虑多个序列关系,并生成与数据集具有语义相似且更富有创造性的地址序列。

利用本发明提供的基于向量空间下语言建模的IPv6目标生成,具有如下优点:

1)本发明首次探索了IPv6语义空间的构建。IPv62Vec组件可以有效地提取地址的语义信息并对活跃地址空间分类。

2)本发明设计了一种新的目标生成算法Transformer-IPv6,用于向量空间中的语言建模。新的生成方法完善了语言模型以获得富有创意性的地址序列。

3)相比于传统语言模型和前沿的地址生成技术Entropy/IP和6Gen,本发明能够在有限数据集下生成更多的活跃目标。

附图说明

图1是IPv62Vec组件框架图。

图2是Transformer-IPv6组件框架图。

图3是地址词向量分布图。

图4是地址向量分布图。

具体实施方式

为使本发明的上述目的、特征和优点能够更加明显易懂,下面通过具体实施例和附图,对本发明做进一步详细说明。

本实施例提供的基于向量空间下语言建模的IPv6目标生成方法,包括以下几个技术步骤:

1.6VecLM架构

1)IPv62Vec

IPv62Vec是6VecLM中的第一个组件,即IPv6向量空间映射技术。其方法主要包括三个部分:构词方法、样本生成和模型训练,如图1所示。

a)构词方法

构造有效的语义信息需要定义地址的新语义表示。本发明重新表示了十六进制的地址中的每一位,以创建地址词。在地址中定义第i位的地址值为Vi,其中V∈{0,1,...,f},即包含数字0到9和字母a~f。第i位的索引值定义为Si,其中S∈{0,1,...,v},即包含数字0到9和字母a~v。新表示形式中的第i位地址词由地址值Vi和索引值Si组成,即ViSi(例如,第11位地址值2表示为地址词2a)。从种子集地址构建的所有地址词组成词汇表(也称为单词表,词汇表中的地址词也称为单词)。该方法的目的是区分不同索引处的地址值。相同的地址值通常根据其在地址中的位置而具有不同程度的语义重要性。区分工作有助于发现关键位置的语义信息(例如,SLAAC EUI-64地址的第23至26位标志fffe)。

b)样本生成

确定地址词后,本发明将进行词选择过程,选择输入地址词和上下文来生成训练样本。本发明对种子集中的每个地址词序列执行词选择操作。当选择序列中的某个地址词作为输入地址词时,会将来自输入地址词周围的在窗口内的地址词选择为上下文地址词,以构建训练样本。本发明使用的窗口大小为5。

c)模型训练

由于无法为神经网络直接输入地址词,因此每个地址词都表示为一个One-Hot向量,并且该向量的长度等于词汇表大小。神经网络的输入和输出神经元的数量同样等于地址词表的大小。此外,输出层使用softmax分类器以表示特定地址词在特定上下文中出现的概率。向神经网络提供输入地址词,并尝试预测上下文地址词的概率。对于本发明使用的训练样本,上下文地址词的概率为1,其他词的概率为0。神经网络的输出层表示在输入地址词的上下文中出现特定地址词的可能性。隐藏层表示输入地址词在模型中的内部表示。训练后,最终的隐藏层结果是训练完成的输入地址词的向量表示,即IPv6地址向量。本发明隐藏层中使用了100个神经元。

2)Transformer-IPv6

在获取IPv6地址向量之后,下一步就是如何应用此语义向量空间来完成与网络相关的任务。本发明将通过在6VecLM中的第二个组件Transformer-IPv6来利用IPv6地址向量实现IPv6目标生成。

a)语言建模

语言模型通常依赖给定地址词序列以预测下一个地址词的概率。为了对地址词概率进行建模,本发明训练了一个Transformer网络来处理地址词序列。Transformer是一个基于自我注意的深度网络。考虑地址词序列中地址词的语义重要性,以便在给定先前地址词序列的情况下对下一个地址词的概率进行建模,直到获得完整的地址词序列。

根据IPv62Vec的构词方法,种子集中的地址被转换为地址词序列。将序列的前16个地址词的向量表示(由预训练的IPv62Vec确定)输入IPv6语言模型中,以预测后16个地址词。IPv6语言模型中堆叠n层Transformer编码器模块,以将地址词向量编码为记忆向量。Transformer编码器模块包含一个多头自注意子层和两个完全连接的前馈网络子层。两个子层(多头自注意子层和完全连接的前馈网络子层)中的每个子层都遵循残余连接和层归一化。注意机制可以帮助地址在预测地址词时考虑序列的关键部分,而多头注意机制则通过训练多个注意来观察更多地址词组合。多头注意力计算公式如下:

MultiHead(Q,K,V)=Concat(head1,...,headh)WO

headi=Attention(QWi Q,KWi K,VWi V)

其中,Q,K,V为Transformer编码器模块的输入(在本发明中Q,K,V值相等),其中Q表示查询向量,K表示被查询信息与其他信息的相关性的向量,V表示被查询信息的向量。dq,dk,dv为参数矩阵Wi Q,Wi K,Wi V的维度,该模块通过计算Attention(Q,K,V)值以得到每个注意力头headi,通过Concat连接h个注意力头最终计算得到模块的多头注意力MultiHead(Q,K,V)。

相比于编码器模块,Transformer解码器模块插入第二个多头自注意子层,该子层使用编码器输出的记忆向量作为注意输入K和V以进行注意权重计算。IPv6语言模型最终通过线性层和Sigmoid激活函数预测下一个地址词向量,新生成的地址词依次被选择作为Transformer解码器的当前输入,并确保模型的预测仅基于过去的地址词,直到完成整个地址生成过程为止。本发明的IPv6语言模型使用的Transformer块的层数n=6,注意头数h=10,参数矩阵尺寸dq=dk=dv=10。

b)生成方法

为了完成向量空间中的目标生成任务,本发明期望生成的词向量ypred与目标词向量ytrue具有高度的语义相似性。因此,IPv6语言模型使用余弦距离作为损失函数。

与直接对地址词概率进行直接建模的常规语言模型不同,本发明的方法预测地址词向量以保留向量空间的语义信息。由于训练样本是具有通过IPv62Vec获得的具有语义关系的地址向量,因此,最小化余弦距离可以获得具有与种子地址相似的上下文结构的预测目标。该方法旨在选择向量空间中最接近的地址词,这有助于发现活跃地址簇区域。

在每轮生成地址词向量后,计算生成的地址词向量与每个当前位置的地址词向量之间的余弦相似度,并使用softmax函数将余弦相似度cos(θ)转换为地址词采样概率P,以此作为对预测词进行采样的基础。

其中C是词汇表中具有当前索引的地址词数,i、j表示列举词汇表中的地址词。

为了建立有效的生成模型,考虑了两种词采样策略:贪婪采样和随机采样。贪婪采样会在每轮选择具有最高采样概率的地址词,而生成的地址始终与训练集地址相似,从而提高了重复率。随机采样会忽略采样概率,并且总是随机选择地址词,而生成的地址具有较高的随机性,并且会过多地失去语义,从而导致生成地址的活跃率较低。为了在保持语义和创造性之间寻求平衡,本发明使用softmax temperature(softmax温度参数)来调整概率分布。

其中,Pr(i)表示调整后的采样概率,t是超参数。较高的t值导致每个地址词的采样概率接近,因此采样的地址更加随机。较低的t值会增加原始采样概率的差异,从而导致生成的地址具有很强的序列性。

2.数据集

本发明的实验数据集主要来自于两部分,即每日更新的公开数据集IPv6 Hitlist以及真实在线数据集CERN 2018。公开数据集IPv6 Hitlist来自于Gasser等人扫描IPv6公开列表提供的每日活跃地址的扫描数据。与此同时,实验中在2018年3月-2018年7月在中国教育网下被动收集地址集并持续进行扫描跟踪,将到2020年1月9日为止仍活跃的IP作为数据集CERN 2018。

3.评估标准

为对生成地址的活跃性进行评估,本发明使用Zmap工具的v6扩展对生成地址进行ICMPv6,TCP/80,TCP/443,UDP/53,UDP/443扫描,当任意扫描方法发出的询问得到响应时,即将该地址判定为活跃的。由于不同时间主机时活跃性存在差别,本发明保持在3天内对主机的持续扫描工作,以保证方法的准确性。

4.本发明的实例:

实例1地址向量空间映射实验

为了说明本发明方法的有效性,本实例使用活跃地址集IPv6 Hitlist并构建培训样本。训练模型后提取模型的隐藏层参数,建立地址词与词向量之间的映射关系。

a)词向量空间

由于地址词向量具有高维特点,因此本发明使用t-SNE技术来降低词向量的维度以方便展示。图3显示了地址词向量空间中地址词之间的语义关系。具有相似上下文的地址词在向量空间中表现出紧密的簇。本发明发现大多数地址词根据其索引属性进行聚类,这表明具有相同索引的不同地址值具有相似的上下文。具有相同地址值的地址词之间的长距离表明不同的索引处的相同地址值具有不同的上下文。地址值0是一个例外,因为在某些索引处具有地址值0的地址词表现出一定程度的聚类,例如索引值4-5,g-1。本发明推测地址中出现的连续零是这种情况的原因。此外,索引值为0-7的地址词很接近,这表明地址的网络前缀通常具有相似的结构。通过实验,本发明方法证明能够学习到地址词在向量空间下的语义关系。

b)地址向量空间

通过组合地址集中每个地址中包含的地址词向量来确定地址向量。同样本发明使用t-SNE技术来降低地址向量的维度,并使用DBSCAN完成用于显示的无监督聚类过程。图4显示了向量空间中的地址分布。本发明成功地将地址分为6类。同一类别下的地址具有高度相似性。实验揭露了本发明成功完成了地址语义信息的挖掘并发现活跃地址聚集区域。

实例2地址生成实验

本发明用于对比的实验基准主要包括:(1)常规语言模型。RNN,LSTM和GCNN是先前的范例,在语言建模中显示出显着的成果。(2)目标生成算法。Entropy/IP和6Gen是最新的地址生成工具并可以有效地生成活跃的IPv6目标。我们使用了Entropy/IP的开源代码,并根据原作者的算法描述实现了6Gen。

表1展示了基于公共数据集IPv6 Hitlist的所有对比模型的性能。结果表明本发明的6VecLM优于所有对比实例,这证实了IPv62Vec和Transformer-IPv6机制的优势。常规语言模型由于缺乏序列创造性能力而无法胜任此项任务。由于缺乏IPv6语义和对数据集的适应性,因此Entropy/IP和6Gen与本发明相比性能较差。本发明的模型利用IPv62Vec和Transformer-IPv6中的多地址关注机制和新的生成方法分别克服了语义缺失和创造性缺失的困难,因而更胜任目标生成任务。

表1模型对比结果

模型 生成个数 活跃个数 新的活跃目标
RNN 34604 995 851
LSTM 34636 727 564
GCNN 34817 787 649
Entropy/IP 69167 8321 2540
6Gen 67712 4612 1638
6VecLM 46461 15406 2883

基于同一发明构思,本发明的另一个实施例提供一种采用上述方法的基于向量空间下语言建模的IPv6目标生成装置,其包括:

IPv6向量空间映射模块,用于将IPv6地址映射到语义向量空间,获得具有语义关系的IPv6地址向量;

IPv6目标生成模块,用于利用获得的IPv6地址向量,采用Transformer网络建立IPv6语言模型,利用IPv6语言模型生成IPv6目标。

其中各模块的具体实施过程参见前文对本发明方法的描述。

基于同一发明构思,本发明的另一实施例提供一种电子装置(计算机、服务器、智能手机等),其包括存储器和处理器,所述存储器存储计算机程序,所述计算机程序被配置为由所述处理器执行,所述计算机程序包括用于执行本发明方法中各步骤的指令。

基于同一发明构思,本发明的另一实施例提供一种计算机可读存储介质(如ROM/RAM、磁盘、光盘),所述计算机可读存储介质存储计算机程序,所述计算机程序被计算机执行时,实现本发明方法的各个步骤。

以上实施例仅用以说明本发明的技术方案而非对其进行限制,本领域的普通技术人员可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明的原理和范围,本发明的保护范围应以权利要求书所述为准。

12页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种识别互联网技术社区中众包设计有效参与者的方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!