[发明专利]检测智能终端中恶意代码的方法及装置有效
申请号: | 201310746115.0 | 申请日: | 2013-12-30 |
公开(公告)号: | CN103902910A | 公开(公告)日: | 2014-07-02 |
发明(设计)人: | 杨康;陈卓;唐海 | 申请(专利权)人: | 北京奇虎科技有限公司 |
主分类号: | G06F21/56 | 分类号: | G06F21/56 |
代理公司: | 北京华沛德权律师事务所 11302 | 代理人: | 刘杰 |
地址: | 100088 北京市西城区新*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 检测 智能 终端 恶意代码 方法 装置 | ||
1.一种检测智能终端中恶意代码的方法,其特征在于,包括:
从智能终端操作系统的应用程序层,获取应用程序的虚拟机执行文件;
对所述虚拟机执行文件进行反编译,得到反编译的函数信息结构;
解析所述反编译的函数信息结构,得到具有对应关系的虚拟机指令序列和虚拟机助记符序列;
分析确定所述虚拟机助记符序列的函数功能,根据具有所述函数功能的所述虚拟机助记符序列对应的虚拟机指令序列确定目标特征;
利用预先设置的恶意代码特征库,对所述目标特征进行匹配,如果匹配成功,则确定所述应用程序的虚拟机执行文件包含恶意代码。
2.如权利要求1所述的方法,其特征在于,分析确定所述虚拟机助记符序列的函数功能包括:
从所述虚拟机助记符序列中提取得到函数调用序列;
通过分析按照顺序执行的多个函数调用序列的指令,确定所述虚拟机助记符序列的函数功能。
3.如权利要求2所述的方法,其特征在于,所述多个函数调用序列按照顺序执行的指令包括:解密字符串、创建消息签名实例、获取字符串子针、哈希加密。
4.如权利要求1所述的方法,其特征在于,所述根据具有所述函数功能的所述虚拟机助记符序列对应的虚拟机指令序列确定目标特征包括:
将具有所述函数功能的所述虚拟机助记符序列对应的虚拟机指令序列作为所述目标特征,或者,
将具有所述函数功能的所述虚拟机助记符序列对应的虚拟机指令序列的子集作为所述目标特征。
5.如权利要求1所述的方法,其特征在于,所述利用预先设置的恶意代码特征库,对所述目标特征进行匹配包括:
利用预先设置的恶意代码特征库,对所述目标特征进行函数相似度匹配,和/或,对所述函数调用序列进行函数特征模糊匹配。
6.如权利要求1所述的方法,其特征在于,对所述虚拟机执行文件进行样本特征查杀、基于虚拟机查杀、启发式查杀,和/或,相似样本聚类。
7.如权利要求1所述的方法,其特征在于,所述对所述虚拟机执行文件进行反编译,得到反编译的函数信息结构包括:
根据虚拟机执行文件格式对虚拟机执行文件进行解析,得到每个类的函数信息结构体;
根据所述函数信息结构体中的字段,确定所述虚拟机执行文件的函数的位置及大小,得到所述反编译的函数信息结构。
8.如权利要求7所述的方法,其特征在于,所述根据函数信息结构体中的字段,确定所述虚拟机执行文件的函数的位置及大小包括:
解析所述函数信息结构体,得到指示虚拟机执行文件的函数位置的字节码数组字段以及指示虚拟机执行文件的函数大小的列表长度字段;
根据所述字节码数组字段以及所述列表长度字段,确定所述虚拟机执行文件的函数的位置及大小。
9.一种检测智能终端中恶意代码的装置,其特征在于,包括:
文件获取单元,用于从智能终端操作系统的应用程序层,获取应用程序的虚拟机执行文件;
反编译单元,用于对所述虚拟机执行文件进行反编译,得到反编译的函数信息结构;
解析单元,用于通过解析所述反编译的函数信息结构,具有对应关系的虚拟机指令序列和虚拟机助记符序列;
目标特征确定单元,用于分析确定所述虚拟机助记符序列的函数功能,根据具有所述函数功能的所述虚拟机助记符序列对应的虚拟机指令序列确定目标特征;
检测单元,用于利用预先设置的恶意代码特征库,对所述目标特征进行匹配,如果匹配成功,则确定所述应用程序的虚拟机执行文件包含恶意代码。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇虎科技有限公司,未经北京奇虎科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310746115.0/1.html,转载请声明来源钻瓜专利网。