一种移动终端文件检测方法

文档序号:9708666阅读:347来源:国知局
一种移动终端文件检测方法
【技术领域】
[0001]本发明涉及计算机数据安全,特别涉及一种移动终端文件检测方法。
【背景技术】
[0002]随着Internet的不断发展与普及,各种网络安全事件层出不穷,整个移动互联网的环境受到了严重的威胁,给社会带来了巨大的损失。网络安全事件多是黑客入侵行为引起,而内在原因是软件或文档自身的安全漏洞。入侵者利用了该漏洞,对移动设备中的页面文件进行篡改或伪装,使普通用户无法识别,借机执行或分发非法程序。现有的页面文件检测包括静态检测和动态检测,但均涉及监控文件运行时触发的函数和事件,而没有考虑入侵者使用的模糊处理技术,因而恶意脚本代码识别率很低,并且现有的检测模型使用了仿真技术,使移动设备端的计算资源消耗过大。

【发明内容】

[0003]为解决上述现有技术所存在的问题,本发明提出了一种移动终端文件检测方法,包括:
[0004]对页面文件中的代码进行预处理,提取所述代码的特征,通过对所述特征进行分类实现代码的检测。
[0005]优选地,所述对页面文件中的代码进行预处理,进一步包括:
[0006]当判断文件的入侵方式是基于脚本代码的入侵时,根据对基于脚本代码入侵方式和页面文件结构的分析,首先对页面文件中可执行脚本代码进行定位,判断脚本代码存在于哪个对象中,根据对象之间的引用关系,将对象中的脚本代码提取出来,存储在新的文本文件中;然后根据脚本代码的编码方式,对经过编码的脚本代码进行解码,还原原始的脚本代码;最后,对脚本代码进行反模糊处理,去掉脚本代码中的冗余信息,最后得到原始脚本代码;
[0007]所述提取所述代码的特征,进一步包括:
[0008]首先将脚本代码从页面文件中提取出来,然后以词为单位,进行特征提取,对提取到的特征向量进行特征选择处理,并增加关键特征向量的权重;在页面文件中,根据关键字定位脚本代码的入口位置;其中,下面对脚本代码的提取具体包括:
[0009]1.打开页面文件;
[0010]2.初始化内部数据结构;
[0011 ] 3.进行目录字典检索,寻找活动字典入口地址;
[0012]4.对含有脚本代码的候选位置进行搜索,并检测字典条目的数据类型;
[0013]5.如果其数据类型为预定义关键字集合中的元素,则此字典中便含有脚本代码,对脚本代码进行提取;
[0014]6.对脚本代码进行解压;
[0015]对经过编码后的脚本代码流进行解码,判断流中的字符是否经过编码,即判断代码流的头部中是否含有编码方式字段,如果有,调用解码函数进行解码;最后保存结果;
[0016]对脚本代码进行反模糊处理,进一步包括:
[0017]针对脚本代码中的字符串分割和冗余内容,首先移除与脚本代码运行无关的注释,其次需要将被分割后的字符串进行还原,还原为原始的字符串,在脚本代码中,若变量长度超过50字节,则进行统一命名,经过前期的数据预处理,将脚本代码转换为原始的脚本代码。
[0018]优选地,所述特征向量通过以下过程来提取:
[0019]步骤1.将脚本代码划分为以词为单位的字符串s;
[0020]步骤2.建立词频查找表m;
[0021 ] 步骤3.遍历字符串s,查看词w是否在m中,如果在,跳转至步骤4,否则,跳转至步骤5;
[0022]步骤4.查找表中词w的词频m[w]增1 ;
[0023]步骤5.查找表中词w的词频m[w] = 1 ;
[0024]步骤6.遍历m,其遍历指针为ptr;
[0025]步骤7.如果m为关键词,将ptr对应的特征权值增加至最大值;
[0026]步骤8.选取前五个特征向量作为最后的特征向量集。
[0027]本发明相比现有技术,具有以下优点:
[0028]本发明提出了一种文件检测识别方法,对不同入侵方式利用不同的分类方式进行检测,引入模糊处理防止恶意代码的伪装,提高了检测成功率。
【附图说明】
[0029]图1是根据本发明实施例的移动终端文件检测方法的流程图。
【具体实施方式】
[0030]下文与图示本发明原理的附图一起提供对本发明一个或者多个实施例的详细描述。结合这样的实施例描述本发明,但是本发明不限于任何实施例。本发明的范围仅由权利要求书限定,并且本发明涵盖诸多替代、修改和等同物。在下文描述中阐述诸多具体细节以便提供对本发明的透彻理解。出于示例的目的而提供这些细节,并且无这些具体细节中的或者所有细节也可以根据权利要求书实现本发明。
[0031]本发明的一方面提供了一种移动终端文件检测方法。图1是根据本发明实施例的移动终端文件检测方法流程图。
[0032]本发明针对两种不同的入侵方式针对性作出检测,采用两种不同的特征提取和分类方法建立识别模块,然后对识别模块进行并联,对页面文件中的脚本代码进行完整的反模糊预处理,保证基于脚本代码攻击的特征向量集的有效性。基于多级分类过程,对不同入侵方式利用不同的分类过程进行检测,提高了检测成功率。
[0033]本发明的页面文件检测方法主要有三大模块:数据预处理、特征提取和页面文件识别。
[0034](1)数据预处理:针对基于脚本代码入侵方式的文本集进行预处理。根据对基于脚本代码入侵方式和页面文件结构的分析,首先对页面文件中可执行脚本代码进行定位,判断脚本代码存在于哪个对象中,根据对象之间的引用关系,将对象中的脚本代码提取出来,存储在新的文本文件中;然后根据脚本代码的编码方式,对经过编码的脚本代码进行解码,以还原原始的脚本代码;最后,对脚本代码进行反模糊处理,去掉脚本代码中的冗余信息,最后得到原始脚本代码。
[0035](2)特征提取:本发明提出了两种不同的特征提取方式,对于基于脚本代码入侵的页面文件,提取特征是基本单位为词,减少了提取所需时间;对于基于非脚本代码入侵方式实现的页面文件,提取特征时,将页面文件进行划分,然后依然采用与现有特征提取相同的方法,在特征提取结束之后,通过特征选择算法,有效降低特征的维度即选择辨识度较高的特征。
[0036](3)页面文件识别:根据两种不同的特征提取方式,基于Bayes分类过程和判定树分类过程,建立两个不同的分类模型,然后采用并联的方式,将两个分类过程进行组合,提高了模型的检测率。
[0037]在特征向量提取前,首先需要确定脚本代码在页面文件中的位置,从页面文件中将脚本代码提取出来,如果该脚本代码是经过编码、压缩和模糊等处理,则需要还原最原始的脚本代码,最后根据特征提取算法提取特征向量集。
[0038]在对未知页面文件检测时,首先需要从未知页面文件中提取可执行脚本代码,并且对脚本代码进行解码和去模糊化处理,得到原始的脚本代码。然后根据字符串匹配算法,进行特征向量匹配,判断脚本代码中存在哪些特征向量。最后根据Bayes算法及由训练样本得到的数据,判断该未知页面文件的类别。
[0039]针对基于非脚本代码入侵的页面文件检测可以采用通用的检测:首先提取训练样本集的特征向量。训练样本集分为两类:基于非脚本代码入侵的恶意文件样本集和不含脚本代码的安全文件样本集。在特征提取时,需要分别提取两个不同样本集的特征向量集,根据一定的特征选择算法,将两个特征向量集进行处理,以得到学习算法需要的特征向量集。然后根据学习算法和提取的特征向量集,建立识别模型。本发明采用判定树分类过程建立识别模型。最后对未知页面文件进行识别。
[0040]在对未知页面文件进行识别时,首先需要提取未知页面文件的特征向量集,该特征向量集可以有效的表明该未知页面文件,可以利用该特征向量集代替页面文件进行识另|J。然后将特征向量集作为识别器的输入,识别器根据己建立的识别,对特征向量集进行识别分类。最后得出未知页面文件的分类结果。
[0041]本发明提出的特征提取模块,根据现有的页面文件入侵方式,采用两种不同的特征提取方式提取特征向量。针对基于脚本代码入侵方式的特征向量提取,首先将脚本代码从页面文件中提取出来,对该脚本代码进行反模糊等处理,得到原始的脚本代码。然后以词为单位,进行特征提取。最后对提取到的特征向量进行特征选择处理,并增加关键特征向量的权重,保证最后得到的特征向量集具有较高的有效性。针对基于非脚本代码入侵方式的特征向量集提取,采用将页面文件分块,分别提取特征向量,然后进行特征选择处理,得出最后的特征向量。
[0042]在对基于脚本代码入侵方式的特征向量提取之前,对页面文件的预处理分为两个步骤,第一步对页面文件中的可执行脚本代码进行定位并提取,第二步将提取出来的脚本代码进行解码和反模糊等处理,最终得到原始的脚本代码。
[0043]在页面文件中,脚本代码通常在字典中存在。字典包含的若干组条目,每组条目都由键和值组成,其中键必须是名字对象,并且一个字典内的键是唯一的;值可以是任何的合法对象。脚本代码有两种嵌入方式:一种为直接以十六进制或者文本方式的字符串,另一种存储在另一个对象中,通过指针间接调用。在后一种情况下,它通常存储在一个经过加密的流。
[0044]为了可靠地提取脚本代码,需要对文中在语义层次上进行处理。在一般页面文件中,可以根据关键字定位脚本代码的入口位置。脚本代码除了直接嵌入到页面文件中以外,还可以驻留在本地主机的其他页面文件中,甚至有可能驻留在远程主机上。脚本代码支持动态调用。
[0045]下面对脚本代码的提取进行描述
[0046]1.打开页面文件;
[0047]2.初始化内部数据结构;
[0048]3.进行目录字典检索,寻找活动字典入口地址;
[0049]4.对上述可能含有脚本代码的候选位置进行搜索,并检测字典条目的数据类型;
[0050]5.如果其数据类型为预定义关键字集合中的元素,则此字典中便含有脚本代码,对脚本代码进行提取;
[0051 ] 6.对脚本代码进行解
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1