基于接入路由器进行恶意软件网络行为检测的方法及系统的制作方法_4

文档序号:9436024阅读:来源:国知局

[0141]步骤163,根据提取出的所有的网络数据流,构建该应用软件的网络行为重构图。
[0142]步骤164,分别计算该应用软件的网络行为重构图与恶意应用软件网络行为重构图和正常应用软件网络行为重构图之间的相似度。
[0143]步骤165,若计算得到的与恶意应用软件网络行为重构图的相似度大于正常应用软件网络行为重构图的相似度,则该应用是恶意应用。
[0144]步骤166,若计算得到的与恶意应用软件网络行为重构图的相似度小于正常应用软件网络行为重构图的相似度,则该应用是正常应用。
[0145]当用户需要使用该模型时,只需要输入用户移动终端应用软件所产生的网络流量,构建出网络行为重构图,然后分别计算其与该图相似匹配模型中的正常应用软件的网络行为重构图的相似度,以及与恶意应用软件的网络行为重构图的相似度。若计算得到的与恶意应用软件网络行为重构图的相似度大于正常应用软件网络行为重构图的相似度,则说明用户安装了恶意软件。
[0146]图7为利用机器学习的无监督学习算法和有监督学习算法构建具有发现未知恶意软件检测模型的过程图(如图7所示)。首先,在原始特征集的基础上,采用无监督学习算法发现未知的恶意软件;其次,提取未知恶意软件的特征,建立新的特征集;最后,在新的特征集的基础上采用有监督的学习算法获得检测模型。
[0147]图8为利用机器学习的无监督学习算法和有监督学习算法建立具有发现未知恶意软件检测模型的流程图,如图8所示。该方法包括:
[0148]步骤170,提取采集到的网络流量数据中的基本特征。这些特征类型主要是数值类型特征和标称类型特征,包括流量上传和下载比值、流的连接持续时间、流中包的平均到达时间、源端口号、目的端口号等。
[0149]步骤171,以无监督学习算法中的聚类算法为主,对提取到的网络行为的基本特征进行聚类,来发现未知的恶意软件。
[0150]步骤172,利用聚类算法发现了新的未知的移动终端恶意软件。
[0151]步骤173,从新发现的未知恶意软件中提取出新的特征,加入到原始特征集中,形成新的特征集。
[0152]步骤174,以有监督学习算法中的分类算法为主,利用新的特征集训练模型,得到模型的最优参数。
[0153]步骤175,得到模型的最优参数后,获得检测模型。
[0154]图8为实施例以机器学习无监督学习算法的K均值方法对原始特征集进行聚类的流程图,如图8所示,该方法包括:
[0155]步骤181,输入要聚类的簇的个数为K。
[0156]步骤182,在原始特征集上随机初始化K个聚类中心。
[0157]步骤183,计算每个对象与K个聚类中心之间的距离,并将其分配到最近距离的类中。
[0158]步骤184,分配完毕后,计算新类的聚类中心。
[0159]步骤185,新类的聚类中心是否收敛,收敛条件设置为迭代次数。
[0160]步骤186,若迭代次数达到了设定的次数,则输出聚类结果。
[0161]步骤187,若迭代次数没有达到设定的次数则返回步骤183。直到达到设定的迭代次数。
[0162]图10为实施例建立机器学习的SVM模型流程图,如图10所示,该方法包括:
[0163]步骤191,采集正常应用软件和恶意应用软件的移动终端网络流量,分别选取其中的部分数据作为训练集,另一部分数据作为测试集。
[0164]步骤192,经过预处理后,从训练集的网络流量数据中提取出数值类型的网络流量特征,例如,上传和下载比值,流持续时间等信息。
[0165]步骤193,依次提取出训练集的网络流量数据中所有的数值类型特征。
[0166]步骤194,对SVM模型的参数进行编码。
[0167]步骤195,初始化工作,完成对数据的预处理,包括特征的归一化,模型参数的初始化等。
[0168]步骤196,在训练集提取的网络流量特征集上训练SVM模型。
[0169]步骤197,用测试集评估模型的分类效果。
[0170]步骤198,评估分类效果是否满足结束条件。结束条件可以设置为误差精度或者模型的训练次数等。
[0171]步骤199,若已经达到结束条件,则获得了 SVM模型的各个参数。
[0172]步骤200,由获取的参数得到SVM模型。
[0173]步骤201,若没有满足结束条件,则继续返回到步骤196,继续训练模型,直到满足结束条件为止。
[0174]图11实施例用户使用SVM模型检测流程图,如图11所示。
[0175]步骤211,获取用户移动终端应用软件所产生的网络流量。
[0176]步骤212,在采集到的用户移动终端应用软件所产生的网络流量中,提取出数值型特征和标称型特征。
[0177]步骤213,对提取到的数值型特征和标称型特征进行归一化等预处理。
[0178]步骤214,对归一化后的特征,使用训练好的SVM模型进行检测。
[0179]图12实施例流量检测模型服务器结构图,如图12所示。
[0180]该检测模型服务器结构在工作时包括:
[0181]步骤220,移动终端网络流量数据集中的数据流量进入检测模型服务器中的流量行为分析模块。
[0182]步骤221,特征提取程序从网络流量数据中提取出能够有效表征恶意软件网络行为的特征。
[0183]步骤222,对于规则类的特征划分为一类,例如DNS请求域名的特征。
[0184]步骤223,对于图类的特征划分为另一类,例如行为序列图特征。
[0185]步骤224,对于数值型和标称型特征划分为第三类,例如流的持续时间,目的端口号等特征。
[0186]步骤225,对于规则类的特征建立规则匹配模型。
[0187]步骤226,对于图类特征建立图相似匹配模型。
[0188]步骤227,对于数值类特征和标称型特征,训练得到机器学习模型。
[0189]步骤228,更新控制功能负责完成检测模型服务器对接入路由器中各个检测模型更新的过程。
[0190]步骤229,模型选择功能负责完成用户对模型的选择。同时,对具有多种特征类型的模型,用户还可以继续完成对指定特征类型的选择。
[0191]步骤230,获取输出功能完成从模型获取输出的检测结果。
[0192]步骤231,检测模型将检测结果通过用户接口向用户反馈。
[0193]步骤232,更新接口定时将更新的检测模型推送到接入路由器的检测模型中。
[0194]移动终端网络流量数据集的获取是通过主动式移动终端恶意软件网络流量数据集获取,获取方法包括以下步骤:
[0195]对移动终端恶意软件进行反编译,反编译后得到与恶意软件相对应的配置文件;
[0196]从与恶意软件相对应的配置文件中提取移动终端恶意软件自动安装和运行所需要的参数;
[0197]根据提取的移动终端恶意软件自动安装和运行所需要的参数进行移动终端恶意软件的自动安装;
[0198]利用激活优先机制实现对移动终端恶意软件激活与运行,移动终端恶意软件激活与运行后获取移动终端恶意软件网络流量;
[0199]根据获取的移动终端恶意软件网络流量信息建立移动终端恶意目标列表;
[0200]根据建立的移动终端恶意目标列表分离出移动终端恶意软件与远程控制服务器之间或恶意服务器之间所产生的恶意交互流量。
[0201]在对移动终端恶意软件进行反编译时,对大规模恶意软件的原文件,通过自动化脚本程序来控制执行反编译工具得到所有恶意软件反编译后的文件,在每个恶意软件样本反编译后的文件中,均有一个对应的配置文件。
[0202]在提取移动终端恶意软件自动安装和运行所需要的参数时,若反编译成功,从配置文件中提取出该恶意软件的包名和主activity名,作为移动终端恶意软件自动安装和运行程序所需要的参数,对于反编译失败的恶意软件,则重新选择新的反编译工具,直到反编译成功。
[0203]在移动终端恶意软件的自动安装时,将所有恶意软件的包名写入文本文件,每一行的内容为一个app的包名,调试命令每次调用文本文件中一行,完成对一个恶意软件的自动化安装,调试命令循环调用文本文件的每一行,依次实现对所有恶意软件的安装。
[0204]激活优先机制即移动终端操作系统重启 > 系统事件 > 电池电量状态 > 收发短信>网络状态改变>USB接入 > 接打电话,若重启终端操作系统能够产生有效流量,则表明该恶意软件已被激活并运行,反之,则继续使用下一级别“系统事件”激活方式对恶意软件进行激活,按照激活优先机制的激活方式直到能够采集到有效网络流量为止。
[0205]移动终端恶意软件网络流量获取时,在移动终端接入网络的路由器节点部署镜像端口,通过镜像端口可以把所有上、下行的移动终端网络流量镜像到数据存储
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1