一种基于频繁项集描述的移动互联网恶意应用检测方法_2

文档序号:9767834阅读:来源:国知局
本文检测方法的原始数据输入。
[0037]数据整理后每条HTTP流量中的关键字段如表1所示:
[0038]表 1
[0039]
[0040] 需要为每条数据确定其所指向的APP(应用),本发明实施例中,采用相对简单的特 征匹配方式,以domain(域名)、dport(目标端口)和dip(目标IP)组成特征字符串,匹配其属 于何种APP(应用);
[0041] 步骤2-2、将固定周期内每个用户的应用流量数据按照应用种类进行分组;
[0042]本发明实施例中,如图3所示,将每条数据(来自现网HTTP流)按照APP_ID进行分 组,每组数据以APP_ID进行标记,某分组的部分数据列表如表2所示:
[0043]表 2 [
[
[0046] 注:url为客户端访问的网址;host为用户端访问的目标主机;head为所用http协 议头;User-Agent为客户端访问网络使用的终端类型;
[0047] 步骤2-3、对每个用户的各个应用按照时间顺序将流量数据进行分组;
[0048] 本发明实施例中,将表2中数据按照不同终端用户分开,形成每个终端对某一APP_ ID按照时间顺序的访问记录,形成表3:
[0049] 表3:某一用户的特定应用产生的HTTP流量记录 [0
[0051]步骤2-4、获取恶意应用样本库内流量数据的最大时间间隔,将该时间间隔作为切 分窗口对应用流量数据进行切分;
[0052] 本发明实施例中,利用恶意应用样本库中已知恶意样本的HTTP流量,训练提取同 一样本产生的流量间的最大时间间隔It,作为表3中数据记录的切分窗口,当相邻两条记录 的时间间隔小于It时,将两条记录视为由移动端应用程序在某一时间的某一特定功能产生 的连续数据。
[0053]本发明实施例中,通过获取样本库中每个恶意应用的最大时间间隔,再求取平均 值,获取所述的最大时间间隔11。
[0054]步骤2-5、将每个切分窗口内的流量数据进行向量化获得项集集合,并提取该项集 集合的频繁项集;
[0055]本发明实施例中,如图3所示,针对某一特定应用APPi,当其使用的终端数量增多 时,在一定时间内,所有终端用户对此应用的操作能够完全覆盖此应用的所有功能,并且, 用户使用频率较多的功能,其对应网络流量数据也会较多;因此,对特定应用,提取每位用 户在特定时间窗口上的流量序列作为此应用的一个描述实例,将来自所有用户的应用描述 数据作为基础数据集合,在此集合基础上,抽取集合中的一个或多个频繁项集作为此应用 的描述;
[0056] 本发明实施例中,按照顺序,抽取每组连续数据的PARAM_C0NTENT字段,形式化为 向量τ,其中,向量I是一个序列,序列中的元素 i由PARAM_C0NTENT得到,每条PARAM_C0NTENT 对应一个元素 i ;如只抽取PARAM_C0NTENT中的请求方法和使用的协议,则i的一个取值可能 为GET+HTTPS,向量11为:[GET+HTTP,GET+HTTP,P0ST+HTTP,P0ST+HTTP ];
[0057]本发明实施例中一等由所有用户得到的向量通为集合^山山^^^丄表示所 有用户在使用特定应用时,各行为片段产生的特征流量;基于大量用户的流量数据构建的 集合I,挖掘出其中的频繁项集,这些频繁项集能够稳定和全面的描述某一特定移动端应 用;项集集合1 = {1^1213,...,}中的每项都代表一段应用的行为,只需要挖掘其中的1项频 繁项集,所以只需要对整个集合扫描一次,本发明实施例中,利用aprior算法实现频繁项集 的挖掘工作。
[0058] 步骤3、将步骤2所获取的频繁项集与恶意应用样本库进行比对,判断各应用是否 为恶意应用,若是,则提醒该移动终端此应用为恶意应用;否则,返回执行步骤2。
[0059] 本发明实施例中,如图4所示,对已有特征描述的应用,可分别采用分类和聚类进 行分析;利用恶意样本知识库和移动互联网历史流量数据,构建训练样本集并对特定应用 进行分类分析;对已分类的应用进行相似性分析,利用字符串编辑距离、图相似度等度量应 用间的相似性,对应用进行应用族的分类分析;
[0060] 本发明实施例中,如图4所示,利用已知恶意样本作为训练数据,通过1项频繁项集 的挖掘,提取已知恶意样本的频繁项集;将挖掘得到的各应用的频繁项集与已知恶意样本 的频繁项集计算Jaccard距离,对各应用是否属于恶意进行分类,具体如下:
[0061] 确定频繁项集内每一项的相似度3^^诉(1^1」),再根据每项的相似度获得各应用 的频繁项集与已知恶意样本的频繁项集之间的Jaccard距离.
> 若Jaccard距离小于设定的0.2,则为恶意应用,否则,为正常应用。
[0062] 本发明实施例中,对分类过程中输出的部分恶意应用,利用网络搜索引擎和 PARAM_C0NTENT的url等信息,获取得到了各应用的样本程序及文件名。
[0063] 将这些样本程序提交安全分析工具进行分析,本发明实施例中,反馈的安全分析 报告结果如表4:
[0064] 表 4
[
【主权项】
1. 一种基于频繁项集描述的移动互联网恶意应用检测方法,其特征在于,包括以下步 骤: 步骤1、采用已知移动端恶意应用样本历史流量数据作为训练数据,提取恶意应用样本 的频繁项集,建立恶意应用样本库; 步骤2、在移动互联网中采集并保存各个移动终端的网络流量数据,对上述流量数据按 照应用种类和时间进行分组并按照切分窗口进行切分,获得每个移动终端各应用的频繁项 集; 步骤3、将步骤2所获取的频繁项集与恶意应用样本库进行比对,判断各应用是否为恶 意应用,若是,则提醒该移动终端此应用为恶意应用;否则,返回执行步骤2。2. 根据权利要求1所述的基于频繁项集描述的移动互联网恶意应用检测方法,其特征 在于,步骤2所述的在移动互联网中采集各个移动终端的历史流量数据,对上述流量数据按 照应用种类和时间进行分组并按照切分窗口进行切分,获得每个移动终端各应用的频繁项 集,具体步骤如下: 步骤2-1、在移动互联网中采集各个移动终端的网络流量数据并保存; 步骤2-2、将固定周期内每个用户的应用流量数据按照应用种类进行分组; 步骤2-3、对每个用户的各个应用按照时间顺序将流量数据进行分组; 步骤2-4、获取恶意应用样本库内流量数据的最大时间间隔,将该时间间隔作为切分窗 口对应用流量数据进行切分; 步骤2-5、将每个切分窗口内的流量数据进行向量化获得项集集合,并提取该项集集合 的频繁项集。3. 根据权利要求1所述的基于频繁项集描述的移动互联网恶意应用检测方法,其特征 在于,步骤2所述的在移动互联网中采集各个移动终端的历史流量数据,具体为:在移动互 联网运营商Gn设备旁侧设置流量采集装置。4. 根据权利要求1所述的基于频繁项集描述的移动互联网恶意应用检测方法,其特征 在于,步骤3所述的将步骤2所获取的频繁项集与恶意应用样本库进行比对,具体为:确定频 繁项集内每一项的相似度,再根据每项的相似度获得各应用的频繁项集与已知恶意样本的 频繁项集之间的Jaccard距离,若Jaccard距离小于设定的阈值,则为恶意应用,否则,为正 常应用。5. 根据权利要求2所述的基于频繁项集描述的移动互联网恶意应用检测方法,其特征 在于,步骤2-4所述的获取恶意应用样本库内流量数据的最大时间间隔,即获取样本库中每 个应用的最大时间间隔,再求取平均值。6. 根据权利要求2所述的基于频繁项集描述的移动互联网恶意应用检测方法,其特征 在于,步骤2-5所述的频繁项集,采用aprior算法进行挖掘,即挖掘出该应用频繁出现的行 为。
【专利摘要】本发明涉及一种基于频繁项集描述的移动互联网恶意应用检测方法,属于移动互联网网络安全技术领域,该方法通过全面采集移动互联网中的各类数据,包括网络数据包、业务日志、安全设备事件等,构建大数据分析环境,利用大数据分析技术,构建移动端应用的特征数据,描述应用,解决同一样本在不同的移动终端上抽取得到的样本数据差异问题;本方法不需要移动设备客户端应用的支持,便于调整和部署;本方法分析的数据对象针对恶意应用的网络行为,不受恶意应用加壳、加密、动态加载执行等技术的影响。
【IPC分类】H04L29/06
【公开号】CN105530265
【申请号】CN201610060564
【发明人】李青山
【申请人】李青山
【公开日】2016年4月27日
【申请日】2016年1月28日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1