[发明专利]一种安卓样本的病毒检测方法及装置在审
申请号: | 201410659234.7 | 申请日: | 2014-11-18 |
公开(公告)号: | CN104318161A | 公开(公告)日: | 2015-01-28 |
发明(设计)人: | 李智鹏;徐传宇;党亮;王士聪 | 申请(专利权)人: | 北京奇虎科技有限公司;奇智软件(北京)有限公司 |
主分类号: | G06F21/56 | 分类号: | G06F21/56 |
代理公司: | 北京中强智尚知识产权代理有限公司 11448 | 代理人: | 姜精斌;王书彪 |
地址: | 100088 北京市西城区新*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 样本 病毒 检测 方法 装置 | ||
技术领域
本发明涉及网络安全技术领域,尤其涉及一种安卓样本的病毒检测方法及装置。
背景技术
随着社会的信息化发展,终端(包括电脑、手机等多种设备)在人们生活中越来越重要。人们越来越多地依赖终端保存个人信息,例如,各种账号信息、私人聊天记录甚至一些图片照片等信息。因此,若终端系统遭到恶意文件(如恶意网址或者电脑病毒等)的威胁,容易造成个人信息的泄露,对用户造成难以估计的损失。在现有技术中,使用特征码扫描进行病毒样本识别是比较常用的技术,特征码扫描是指采用事先提取的病毒特征对未知样本进行扫描和判断的方法。特征的提取是由人工分析或自动分析识别确定为病毒后,对病毒样本提取的二进制或其它特征。查毒时,反病毒软件依次使用其病毒库中的特征对未知文件进行扫描,如果某一特征匹配成功,则表示该文件为该特征所代表的病毒,如果所有特征均未匹配,则认为该文件不是病毒,是正常文件。目前,对于普通android的杀毒技术主要是基于dex文件(dalvik虚拟机执行程序)的字符串进行查杀,将提取的字符串特征与病毒库中的特征进行匹配,但是Android病毒,例如木马病毒,可以很容易地修改病毒代码引用(dex文件中)的字符串,从而达到免杀的目的。
发明内容
有鉴于此,本发明要解决的一个技术问题是提供一种安卓样本的病毒检测方法,能够进行代码级的病毒定位。
一种安卓样本的病毒检测方法,其中:解析dex文件获取代码信息;所述代码信息包括:包、类、方法信息;定位dex文件中与所述代码信息对应的程序体,并获取与所述程序体对应的opcode序列;将所述opcode序列与病毒信息进行匹配,判断所述opcode序列是否包含病毒。
根据本发明的一个实施例,进一步的,从APK安装包中的dex文件头中获取方法名以及与方法名对应的程序体的位置信息;根据所述程序体的位置信息定位到此程序体,并对所述程序体中的方法指令序列进行反汇编,获取所述opcode序列。
根据本发明的一个实施例,进一步的,从dex文件头中的方法列表中获取方法名、以及与方法名对应的进入标识、绝对偏移值;根据所述进入标识、绝对偏移值定位到此方法的程序体,并驱动dalvik虚拟机指令反汇编引擎对此方法的程序体的指令序列进行反汇编,获取所述opcode序列。
根据本发明的一个实施例,进一步的,驱动多个病毒引擎联合进行病毒检测;其中,将所述opcode序列与所述多个病毒引擎的病毒库文件中的记录进行匹配,如果匹配成功则判断所述opcode序列包含病毒;所述多个病毒引擎包括:AVE引擎、AVM引擎、云查杀引擎、机器学习引擎。
根据本发明的一个实施例,进一步的,从dex文件头中的类名列表中获取类名,并驱动AVM引擎通过病毒检测脚本将所述类名与AVE引擎的病毒库文件中的类名特征值或规则进行匹配,如果匹配成功则判断此类为病毒。
根据本发明的一个实施例,进一步的,当AVM引擎判断所述opcode序列包含病毒时,则进行告警信息上报并进行杀毒操作,在执行杀毒操作成功后,将病毒信息添加到病毒库文件中,并将查杀结果同步到其它的病毒引擎中。
根据本发明的一个实施例,进一步的,所述病毒引擎包括:服务端和客户端;所述服务端通过将所述opcode序列与病毒库文件中的记录匹配进行病毒检测;所述服务端将病毒检测结果下发到所述客户端,并下发修复方案;所述修复方案包括:文件类型、与文件类型对应的查杀方法。
本发明要解决的一个技术问题是提供一种安卓样本的病毒检测装置,能够进行代码级的病毒定位。
一种安卓样本的病毒检测装置,包括:代码解析单元,用于解析dex文件获取代码信息;所述代码信息包括:包、类、方法信息;指令序列获取单元,用于定位dex文件中与代码信息对应的程序体,并获取与所述程序体对应的opcode序列;病毒查杀单元,用于将所述opcode序列与病毒信息进行匹配,判断所述opcode序列是否包含病毒。
根据本发明的一个实施例,进一步的,所述代码解析单元,还用于从APK安装包中的dex文件头中获取方法名以及与方法名对应的程序体的位置信息;所述指令序列获取单元,还用于根据所述程序体的位置信息定位到此程序体,并对所述程序体中的方法指令序列进行反汇编,获取所述opcode序列。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇虎科技有限公司;奇智软件(北京)有限公司,未经北京奇虎科技有限公司;奇智软件(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410659234.7/2.html,转载请声明来源钻瓜专利网。