一种网络资产数据处理方法

文档序号:1953401 发布日期:2021-12-10 浏览:17次 >En<

阅读说明:本技术 一种网络资产数据处理方法 (Network asset data processing method ) 是由 杨韬 何保林 陈江川 马晓宇 邓红莉 于 2021-09-16 设计创作,主要内容包括:本发明提供一种网络资产数据处理方法,包括以下步骤:通过word2vec中的skip-gram二层神经网络载入语料库进行词向量训练获取词向量模型;对网络资产原始数据进行文本特征列遍历,将遍历的行文本进行分词,采用自适应算法依次通过所述词向量模型匹配单词的词向量;取匹配到的词向量的均值作为文本向量,获取向量化文本列,加入聚类向量数组;对聚类向量数组进行去重,通过Kmeans-SSE算法将聚类向量数组中的向量化文本列进行聚类,其聚类类标作为文本的转换数值。该方法将探测获得的网络资产数据转换为可供机器学习算法训练的数值数据集。(The invention provides a network asset data processing method, which comprises the following steps: loading a corpus through a skip-gram two-layer neural network in the word2vec to perform word vector training to obtain a word vector model; traversing a text feature column of original data of the network assets, segmenting the traversed line text, and matching word vectors of words through the word vector model by adopting a self-adaptive algorithm; taking the mean value of the matched word vectors as a text vector, obtaining a vectorization text column, and adding the vectorization text column into a clustering vector array; and (4) carrying out duplication removal on the clustering vector array, clustering vectorized text columns in the clustering vector array through a Kmeans-SSE algorithm, and taking the clustering class marks as conversion numerical values of the texts. The method converts the network asset data obtained by detection into a numerical data set for training of a machine learning algorithm.)

一种网络资产数据处理方法

技术领域

本发明涉及网络探测技术领域,具体涉及网络资产数据处理方法。

背景技术

网络资产相关数据主要来自于网络资产探测。网络资产探测是指追踪并掌握网络资产状态的过程,目前,网络资产探测技术主要包括基于人工统计或客户端的传统探测方法,与基于网络扫描主动探测、网络流量分析被动探测、搜索引擎非入侵式探测等新型探测方法。随着网络设备的愈发多样与探测技术的不断进步,所采集的资产信息数据日益丰富,因而探测获取的资产数据开始呈现为特征类型异构多样,文本数据繁杂的集合。

目前对网络资产数据的应用与研究,主要是为网络测绘融合分析提供设备信息;为网络安全监控与威胁态势感知提供系统认知基础;为入侵检测系统与安全威胁分析的针对性防御提升效率;为知识图谱提供基础数据等。进行数据处理时,通常使用Neo4j等高性能图引擎导入节点与关系,生成对应的网络图进行观察标注;或只取对相关任务有用的特征进行使用。然而网络资产数据的使用价值绝不仅如此,若能充分利用其获取的特征,将其有效地与机器学习算法相结合,从而进行更深层次的规律学习,网络安全将会在机器学习领域得到强大的技术支持。因此,使用机器学习算法对网络资产进行研究有着重大意义。

然而,由于探测数据的特殊性,将其以能被机器学习算法训练为目的,进行数值转换时,缺乏一种统一全面且有效的转换模式,由此数据无法便捷广泛地适用于机器学习。

为此,本发明提出了一种新的网络资产数据处理方法。

发明内容

为解决上述问题,本发明的目的在于提供一种网络资产数据处理方法。该方法将探测获得的网络资产数据转换为可供机器学习算法训练的数值数据集。

为实现上述目的,本发明提供了如下的技术方案。

一种网络资产数据处理方法,包括以下步骤:

通过word2vec中的skip-gram二层神经网络载入语料库进行词向量训练获取词向量模型;

对网络资产原始数据进行文本特征列遍历,将遍历后文本特征的行文本进行分词,采用自适应算法通过词向量模型匹配单词的词向量;将匹配到的词向量的均值作为文本向量,获取向量化文本列,加入聚类向量数组;

对聚类向量数组进行去重,通过Kmeans-SSE算法将聚类向量数组中的向量化文本列进行聚类,其聚类类标作为文本的转换数值。

优选地,还包括对网络资产数据时间类型数据的转换,包括以下步骤:

对网络资产原始数据中的时间类型数据中的日期与时分秒进行分列,将其中的日期转为时间戳形式,时分秒转为数值0-23;所述时间类型数据包括样本探测时间,资产工作时间,资产存在时间,其为日期加时分秒的结构型数据。

优选地,还包括对网络资产数据IP型特征数值的转换,包括以下步骤:

对网络资产原始数据中的IP型特征数值中的每段转为十六进制,按顺序连接为一段十六进制数值,将该段十六进制数值转为十进制的数值。

优选地,还包括对网络资产数据经纬度信息的转换,包括以下步骤:

对网络资产原始数据中的坐标型特征的数值中的经纬度信息,将经纬度信息进行分列,获取对应的地理位置数值。

优选地,所述词向量模型训练包括以下步骤:

载入语料库,确定词向量维度:

n>8.33log N (1)

其中N是词表的大小,n是选取的词向量维度;

输入为一个中心词的one-hot向量至word2vec中的skip-gram二层神经网络,输出为预测的上下文单词的one-hot向量;

进行模型训练获得作为中心词得出的权重矩阵w和作为上下文得出的w',以及第一个全连接层的权重矩阵,即获得的单词作为中心词训练出的词向量矩阵;其中,对应列i代表第i个单词的词向量。

优选地,所述自适应算法包括以下步骤:

在匹配词向量时,单词切片的极限长度设置为2,依次对其进行大写、小写和切片形式的识别,直到匹配成功;

若单词依旧无法匹配,则识别失败,跳过单词;

文本遍历结束时若无匹配成功单词,则文本向量匹配为异常词向量,否则取匹配到的词向量均值作为文本向量。

优选地,所述聚类类标作为转换数值,为区分出缺失值,将缺失值作为数值0,聚类类标由1开始。

本发明有益效果:

本发明提出一种网络资产数据处理方法,该方法使用特定的规则对特定异构特征进行数值转换,使用AWK算法对文本特征进行有效转换,确保了转换后的数值具有一定的合理性和有效性,能够被广泛应用于机器学习中。

附图说明

图1是本发明实施例转换方法的整体流程图;

图2是本发明实施例时间类型数据转换效果图;

图3是本发明实施例IP型数据转换效果图;

图4是本发明实施例坐标型数据转换效果图;

图5是本发明实施例skip-gram模型图;

图6是本发明实施例自适应算法流程图;

图7是本发明实施例AWK算法进行数值转换效果图;

图8是本发明实施例数学表达模型处理规则图.

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

实施例

一种网络资产数据处理方法,整体流程图如图1所示,包括以下步骤:

对网络资产原始数据中的时间类型数据中的日期与时分秒进行分列,将其中的日期转为时间戳形式,时分秒转为数值0-23。其中,时间类型数据包括样本探测时间,资产工作时间,资产存在时间,其为日期加时分秒的结构型数据。例如:

定义为从格林威治时间1970年01月01日00时00分00秒起至现在的总秒数,日期转换为时间戳的转换公式为:

datestamp=(date-70*365-19)*86400-8*3600 (2)

时间类型数据转换效果图如图2所示。

IP型特征是指形式如1.37.35.22的结构型数据集合,对此类数据进行数值转换时需要考虑转换后数值是否唯一且相互之间保留相关性,故,对网络资产原始数据中的IP型特征数值中的每段转为十六进制,按顺序连接为一段十六进制数值,将该段十六进制数值转为十进制的数值。

其中,十六进制转为十进制公式为:

其中,dec表示得到的十进制数,hexi+1表十六进制第i+1位数。

十进制转十六进制公式为:

hexi=deci-1mod 16 (4)

deci=deci-1/16 (5)

hexi表示获得十六进制数的第i位数,deci表示dec除以i个16后的商,imax取值为deci=0时i的值。

按照上述方法,IP型数据1.37.35.22转换为19211030,IP型数据转换效果图如图3所示。

坐标型特征是指包含了资产经纬度信息,如{"lat":14.5955,"lon":120.9721}形式的数据集合,对于网络资产来说,设备的地理位置与其安全存在隐性的关联,需要分别提取出样本的经度与维度,同时,对坐标进行分列并不会导致维度爆炸,对坐标型特征的数值转换规则为:先提取出复杂字符串内的经纬度信息,随后进行经纬度分列,由此获得目标有用的地理位置数值。坐标型数据转换效果图如图4所示。

文本特征转换方法AWK(Adaptive-Word2vec-Kmeans):

通过word2vec中的skip-gram二层神经网络载入语料库进行词向量训练获取词向量模型。

具体的,词向量模型训练包括以下步骤:

载入语料库,确定词向量维度:

n>8.33log N (1)

其中N是词表的大小,n是选取的词向量维度

输入为一个中心词的one-hot向量至word2vec中的skip-gram二层神经网络,输出为预测的上下文单词的one-hot向量。

进行模型训练获得作为中心词得出的权重矩阵w和作为上下文得出的w',以及第一个全连接层的权重矩阵,即获得的单词作为中心词训练出的词向量矩阵;其中,对应列i代表第i个单词的词向量。skip-gram模型图如图5所示。

对网络资产原始数据进行文本特征遍历,将遍历的行文本进行分词,采用自适应算法依次通过所述词向量模型匹配单词的词向量。

具体的,在匹配词向量时,考虑到词根也蕴含单词的磁性,单个字母并无以及,将单词切片的极限长度设置为2,依次对其进行大写、小写和切片形式的识别,直到匹配成功。

若单词依旧无法匹配,则识别失败,跳过单词;文本遍历结束时若无匹配成功单词,则文本向量匹配为异常词向量,否则取匹配到的词向量均值作为文本向量,mean=all/num,all是定义的初始全为0的向量,记录文本词向量之和,num为文本匹配到的单词计数,mean是匹配词向量的均值。自适应算法流程图如图6所示。

采用Kmeans-SSE聚类算法(最佳K值通过手肘法获取的Kmeans算法),对特征列转换得到的文本向量进行聚类(为了区分缺失值,将其直接定为0类),将文本向量转换为数值(聚类类标,从1开始),在保持数据相关性的前提下,解决了向量数值化的问题。由于将聚类类标作为转换数值,为区分出缺失值,将其作为数值0,聚类类标由1开始;在Kmeans聚类原理中,质心的更新位置处于簇中样本均值处,位于同一位置的样本会影响其质心的更新,因此有必要对最后的聚类词向量组进行去重;考虑到词根也蕴含单词的词性,而单个字母并无意义,单词切片的极限长度设置为2;手肘法是指通过SSE(误差平方和,指所有样本的聚类误差和,代表了聚类效果的好坏)的变化速度(最佳k值处于前后速率变化最大的位置,像一个肘部),判断出最佳K值,SSE具体公式为:

其中,Ci是指第i个簇,p指Ci簇中的样本点,mi是指Ci的质心(Ci中所有样本的均值)。

综上,通过AWK算法进行数值转换效果图如图7所示,文本行通过AWK进行数值化后,转换后的数值保留着部分原文本间的关联性,由此证明了此算法具有有效性。对网络资产数据集进行数值转换的数学表达模型处理规则图如图8所示。

本实施例中,对PH(菲律宾)网络虚拟资产数据集进行数值转换实验。

网络资产探测数据源为使用Nmap工具探测得到的菲律宾虚拟资产数据文件,包含了PH资产数据源文件,漏洞数据文件,和PH资产-漏洞关联文件。将PH资产数据文件与PH-漏洞关联文件、漏洞数据文件构建python程序关联起来,得到关联到漏洞的PH资产数据样本,并通过资产样本是否存在漏洞将每条样本类标定义为1,0两类,由此,得到了实验需要处理的数据集:PH网络资产数据集。PH网络资产数据集包含31列特征,1列类标,共113008个样本数据,其中,包含app_name,app_version,as_org等文本句子型特征;date,ip结构型特征,location坐标特征等异构特征。具体特征及分类如表1所示。

表1使用数据集

数据集特征选取:

在31列特征中,存在id这样的唯一标识符列,也同时存在资产所在城市的英文与中文列,将重复与无意义的特征进行删除;同时,banner特征为Nmap返回的标识信息,作用是从中提取device与app列,没有其他用途,于是也删除。最终提取出19列特征,1列类标作为数据集。

值优化与缺失值填补:

像country_code这样的特征,数据集样本值只有一个,于是直接数值转换为1。同时对于缺失值,为避免聚类时与有值数据分为一类,全部填补为0。

特征数值转换:

首先对异构特征样本分别使用模型中相应规则进行转换。将date特征通过时间特征转换规则转为datestamp,time两列数值特征;使用模型IP特征转换规则对ip列进行数值转换;使用模型坐标转换规则对location列进行转换,得到lat,lon两列数值坐标特征。此时,数据集变为21列特征,1列类标,除文本特征外,全为数值型。

处理文本特征前,由于探测回的文本数据格式复杂随意,存在()、\、/、-等无意义且对文本分词与词向量匹配有影响的符号,因此需要对文本列进行格式优化,在文本内容中将其进行过滤。过滤完成,进行训练词向量模型。

skip-gram词向量模型的训练效果依赖于语料与神经网络参数的选取。语料库的选取应优先考虑数据集相关的专业语料,由于网络资产文本数据存在英文文本,实验采用了17G的wiki英文百科作为语料。对于参数的选取,考虑网络资产文本特点,实验词向量维度选择为128维,训练方法选择为Hierarchical Softmax(此方法对罕见单词有利)。

获得词向量模型后,使用模型AWK算法,依次对数据集文本特征列进行数值转换。数据集文本特征列处理信息如表2所示。

表2文本特征数值转换信息

转换后的数值取值若包括0(有缺失值),则取值数为聚类数+1。至此,PH网络虚拟资产数据集根据模型实现了全数值转换。转换前后样本数据对比如表3所示。

表3数据集转换前后对比

此时数值数据集中量纲之间差异较大,进行规范化以消除量纲影响,随后使用KNN、决策树、朴素贝叶斯等几种传统机器学习分类算法进行效果验证,得到算法精确度、查准度、查全率、F度量(查准率与查全率的调和平均值)四个指标,结果如表4所示。

表4算法分类结果

由表可知,转换后的数据集能被机器学习算法训练,并能获得有良好效果的分类器,证明了转换模型的全面可行性。由先验知识可知app_name文本列对分类的权重占比大,为验证AWK对文本特征的处理效果以及此算法的合理性以及模型的有效性,将app_name列在转换时单独采用ont-hot方法表示并转为对应10进制数,得到app_name-onehot版本数据集,使用相同机器学习算法进行分析,分类结果如表5所示。

表5 app_name-onehot分类结果

将两个数据集同算法分类结果进行对比发现,使用one-hot进制转换的数据集通过算法分类得到的4项指标均高于AWK算法转换数据集,由此可证明,以获得可用数据集为基础,在不升维的前提下,AWK转换保留了源文本数据更多的关联信息,使转换的数据集表现出更原始的数据分布,转换出的数据集对机器学习算法学习特征规律带来更大的挑战性,算法能更好地发现特征真实的权重,更深度地学习到数据集原本规律,因此,AWK转换方法具有合理性。

通过以上实验表明,本发明提出的网络资产数据数学表达模型是全面且有效的,且数据集也能在传统机器学习算法上取得较好效果,实验转换数据集具有可研究价值。将PH网络虚拟资产数据集通过模型转换而来的数据集命名为PH-AWK数据集,可供研究者们作为网路资产方向的完整数据集使用。

以上仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

14页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:基于人工智能的文本内容转换方法、装置、设备和介质

网友询问留言

已有0条留言

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

精彩留言,会给你点赞!