发明名称 基于A_Kohonen神经网络的恶意代码分类方法
摘要 本发明公开了一种基于A_Kohonen神经网络的恶意代码分类方法,属于计算机网络安全技术领域。本发明首次将人工神经网络引入恶意代码的分类,并对现有无监督学的Kohonen神经网络进行改进,在第一阶段的无监督学后,加入一个有监督的学过程,从而提高了分类准确率。本发明方法可实现对未知恶意代码的快速准确分类,且算法简单,实时性好。
申请公布号 CN102651088B 申请公布日期 2014.03.26
申请号 CN201210100282.3 申请日期 2012.04.09
申请人 南京邮电大学 发明人 徐小龙;熊婧夷;杨庚;孙燕飞;陈丹伟;曹嘉伦;张义龙;邹勤文;曹玲玲;周静岚
分类号 G06N3/02(2006.01)I;G06F21/56(2013.01)I 主分类号 G06N3/02(2006.01)I
代理机构 南京经纬专利商标代理有限公司 32200 代理人 许方
主权项 1.基于A_Kohonen神经网络的恶意代码分类方法,其特征在于,包括以下步骤:步骤1、提取各已知恶意代码样本的特征向量和其所属类别,构成训练集;步骤2、利用所述训练集对A_Kohonen神经网络进行训练;所述A_Kohonen神经网络为三层结构,第一层为输入层,该层的神经元个数与样本特征向量位数一致,是单层单维度的神经元;第二层为竞争层,该层的节点呈二维阵列分布,各神经元以匹配程度为依据进行竞争,确定匹配程度大的神经元获胜;第三层为输出层,该层结点个数同数据类别数目相同,每个节点代表一类数据;其中输入层节点和竞争层节点以可变权值连接,输出节点和竞争节点通过权值全连接;所述训练具体按照以下步骤:步骤21、网络初始化:包括网络连接权值、学习效率、邻域范围的初始化;步骤22、计算输入向量与竞争层各神经元之间的欧氏距离,选择与输入向量的欧氏距离最短的竞争层神经元作为获胜神经元;输入向量<img file="2012101002823100001DEST_PATH_IMAGE001.GIF" wi="122" he="25" />与竞争层神经元<i>j</i>之间的欧氏距离<i>d</i><sub><i>j</i></sub>按照下式计算:<img file="146599DEST_PATH_IMAGE002.GIF" wi="161" he="66" />式中,<img file="2012101002823100001DEST_PATH_IMAGE003.GIF" wi="17" he="25" />为输入样本特征,<i>m</i>代表特征的总数,<img file="87879DEST_PATH_IMAGE004.GIF" wi="22" he="26" />为输入神经元和输出神经元的连接权值;步骤23、根据下式调整获胜神经元及其邻域范围内其它神经元的连接权值:<img file="2012101002823100001DEST_PATH_IMAGE005.GIF" wi="140" he="26" /><img file="136475DEST_PATH_IMAGE006.GIF" wi="154" he="28" />式中,<img file="2012101002823100001DEST_PATH_IMAGE007.GIF" wi="22" he="24" />表示第<i>i</i>个输入层神经元与第<i>j</i>个竞争层神经元之间的连接权值;<img file="39621DEST_PATH_IMAGE008.GIF" wi="25" he="26" />表示第<i>j</i>个竞争层神经元与第<i>k</i>个输出层神经元之间的连接权值;<img file="2012101002823100001DEST_PATH_IMAGE009.GIF" wi="14" he="18" />为一次学习效率;<img file="282515DEST_PATH_IMAGE010.GIF" wi="20" he="25" />为二次学习效率;<img file="2012101002823100001DEST_PATH_IMAGE011.GIF" wi="21" he="25" />为输入样本特征向量;<img file="898042DEST_PATH_IMAGE012.GIF" wi="18" he="25" />为样本所属类别;步骤24、判断训练是否结束,如未结束,则分别调整一次学习效率<img file="110848DEST_PATH_IMAGE009.GIF" wi="14" he="18" />、二次学习效率<img file="692002DEST_PATH_IMAGE010.GIF" wi="20" he="25" />、邻域半径<img file="2012101002823100001DEST_PATH_IMAGE013.GIF" wi="13" he="14" />,具体如下:<img file="338753DEST_PATH_IMAGE014.GIF" wi="216" he="26" />,<img file="2012101002823100001DEST_PATH_IMAGE015.GIF" wi="240" he="28" />,<img file="441576DEST_PATH_IMAGE016.GIF" wi="208" he="26" />,其中,<i>i</i>为当前迭代次数,<i>maxgen</i>代表预先设定的总迭代次数,<img file="DEST_PATH_IMAGE017.GIF" wi="28" he="26" />和<img file="333440DEST_PATH_IMAGE018.GIF" wi="26" he="26" />分别为预先设定的一次学习效率的最大取值和最小取值,<img file="DEST_PATH_IMAGE019.GIF" wi="34" he="28" />和<img file="160580DEST_PATH_IMAGE020.GIF" wi="33" he="28" />分别为预先设定的二次学习效率的最大取值和最小取值,<img file="DEST_PATH_IMAGE021.GIF" wi="25" he="26" />和<img file="306128DEST_PATH_IMAGE022.GIF" wi="24" he="26" />分别为预先设定的邻域半径的最大取值和最小取值;然后转至步骤22;步骤3、利用完成训练的A_Kohonen神经网络对未知代码进行分类,具体按照以下方法:提取未知恶意代码样本的特征向量并将其输入A_Kohonen神经网络;计算输入向量与竞争层各神经元之间的欧氏距离,选择与输入向量的欧氏距离最短的竞争层神经元作为获胜神经元;与获胜神经元连接权值最大的输出层节点所代表类别即为该未知恶意代码类别。
地址 210003 江苏省南京市新模范马路66号