一种apk病毒特征码的提取方法及装置的制作方法

文档序号:6362776阅读:1475来源:国知局
专利名称:一种apk病毒特征码的提取方法及装置的制作方法
技术领域
本申请涉及计算机安全的技术领域,特别是涉及ー种APK病毒特征码的提取方法,以及,ー种APK病毒特征码的提取装置。
背景技术
Android是ー种以Linux为基础的开放源码操作系统,主要使用于手机等移动终端,目前尚未有统一中文名称。Android平台由操作系统、中间件、用户界面和应用软件组成。APK是Android application package file 的缩写,即 Android安装包,也可以理解为Android终端上安装的应用软件。APK是类似Symbian Sis或Sisx的文件格式。通过将APK文件直接传到Android模拟器或Android终端中执行即可安装。apk文件和sis 一祥,把android sdk编译的工程打包成一个安装程序文件,格式为apk。APK文件其实是zip格式,但后缀名被修改为apk,通过UnZip解压后,可以看到Dex文件,Dex是DalvikVMexecutes的全称,即Android Dalvik执行程序,并非标准的Java字节码而是Dalvik字节码。Android在运行ー个程序时首先需要UnZip,然后类似Symbian那样直接运行,和Windows Mobile中的PE文件有区别。具体而言,APK文件的结构如下表所示
权利要求
1.ー种APK病毒特征码的提取方法,其特征在于,包括 扫描Android安装包APK中的指定文件; 提取所述指定文件中的操作指令,判断所述操作指令是否包含病毒信息; 若是,则根据所述操作指令生成病毒特征码。
2.如权利要求I所述的方法,其特征在于,所述指定文件包括可执行文件,所述可执行文件包括Dex文件,所述Dex文件包括classes, dex文件,扩展名为.jar的文件,以及,Dex格式的文件。
3.如权利要求2所述的方法,其特征在于,还包括 提取所述可执行文件的常量池中的常量,判断所述常量中是否包含病毒信息; 若是,则根据所述常量生成病毒特征码。
4.如权利要求3所述的方法,其特征在于,还包括 提取所述可执行文件的头部信息,判断所述头部信息中是否包含病毒信息; 若是,则根据所述头部信息生成病毒特征码。
5.如权利要求1、2、3或4所述的方法,其特征在于,所述操作指令包括操作码和操作数,所述判断操作指令是否包含病毒信息的步骤包括 判断所述操作数中是否包含预定义的非法操作数; 和/或, 判断所述操作码和操作数的组合是否符合预定义的非法组合规则。
6.如权利要求5所述的方法,其特征在干,所述根据操作指令生成病毒特征码的步骤包括 将所述操作指令本身作为病毒特征码; 和/或, 将所述操作指令的操作码,以及,操作数的字符串或通配符作为病毒特征码。
7.如权利要求3所述的方法,其特征在干,所述可执行文件的常量池中的常量包括字符串strings、类型types、域fields和方法methods中的常量,所述判断常量中是否包含病毒信息的步骤包括 判断所述字符串strings中的常量是否包含预定义的恶意网址信息、恶意文件名或恶意号码信息; 和/或, 判断所述类型types、域fields和方法methods中的常量是否有调用自定义的类名、自定义的函数名或Android系统SDK类名、Android系统函数名; 所述根据常量生成病毒特征码的步骤为,将所述常量中的病毒信息作为病毒特征码。
8.如权利要求4所述的方法,其特征在干,所述可执行文件的头部信息中包括摘要信息checksum和签名信息Signature,所述判断头部信息中是否包含病毒信息的步骤包括 判断所述摘要信息checksum和/或签名信息Signature中是否包含预定义的非法字符串; 所述根据头部信息生成病毒特征码的步骤为,将所述摘要信息checksum和/或签名信息Signature作为病毒特征码。
9.如权利要求I所述的方法,其特征在于,所述指定文件还包括文本文件,所述操作指令为Iinux命令, 所述判断操作指令是否包含病毒信息的步骤为,判断所述Iinux命令是否符合预置的恶意Iinux命令; 所述根据操作指令生成病毒特征码的步骤为,将所述Iinux命令作为病毒特征码。
10.如权利要求1、2、3、4、6、7、8、9或10所述的方法,其特征在于,还包括 将所述病毒特征码保存至数据库中。
11.如权利要求10所述的方法,其特征在于,所述病毒特征码包括头部信息特征码、常量特征码、操作数特征码、指令特征码、指令特征码序列、类名函数名特征码;所述将病毒特征码保存至数据库中的步骤包括 将所述头部信息特征码、常量特征码、操作数特征码、指令特征码、指令特征码序列、类名函数名特征码分别保存在数据库中不同的存储区域; 或者, 将所述头部信息特征码、常量特征码、操作数特征码、指令特征码、指令特征码序列、类名函数名特征码保存在数据库中,井分别标记分类标签。
12.—种APK病毒特征码的提取装置,其特征在于,包括 扫描模块,用于扫描Android安装包APK中的指定文件; 指令提取模块,用于提取所述指定文件中的操作指令; 指令判断模块,用于判断所述操作指令是否包含病毒信息; 第一特征码生成模块,用于在所述操作指令包含病毒信息时,根据所述操作指令生成病毒特征码。
13.如权利要求12所述的装置,其特征在于,所述指定文件包括可执行文件,所述可执行文件包括Dex文件,所述Dex文件包括classes, dex文件,扩展名为.jar的文件,以及,Dex格式的文件。
14.如权利要求13所述的装置,其特征在于,还包括 常量提取模块,用于提取所述可执行文件常量池中的常量; 常量判断模块,用于判断所述常量中是否包含病毒信息; 第二特征码生成模块,用于在所述常量中包含病毒信息时,根据所述常量生成病毒特征码。
15.如权利要求14所述的装置,其特征在于,还包括 头部信息提取模块,用于提取所述可执行文件的头部信息; 头部信息判断模块,用于判断所述头部信息中是否包含病毒信息; 第三特征码生成模块,用于在所述头部信息中包含病毒信息时,根据所述头部信息生成病毒特征码。
16.如权利要求12、13、14或15所述的装置,其特征在于,所述操作指令包括操作码和操作数两部分,所述指令判断模块包括 第一判断子模块,用于判断所述操作数中是否包含预定义的非法操作数; 和/或, 第二判断子模块,用于判断所述操作码和操作数的组合是否符合预定义的非法组合规则。
17.如权利要求16所述的装置,其特征在于,所述第一特征码生成模块包括 直接生成子模块,用于将所述操作指令本身作为病毒特征码; 和/或, 转换生成子模块,用于将所述操作指令的操作码,以及,操作数的字符串或通配符作为病毒特征码。
18.如权利要求14所述的装置,其特征在于,所述可执行文件中常量池中的常量包括字符串strings、类型types、域fields和方法methods中的常量,所述常量判断模块包括 第三判断子模块,用于判断所述字符串strings中的常量是否包含预定义的恶意网址信息、恶意文件名或恶意号码信息; 和/或, 第四判断子模块,用于判断所述类型types、域fields和方法methods中的常量是否有调用自定义的类名、自定义的函数名或Android系统SDK类名、Android系统函数名。
19.如权利要求12所述的装置,其特征在于,所述指定文件还包括文本文件,所述操作指令为Iinux命令,所述指令判断模块包括 第五判断子模块,用于判断所述Iinux命令是否符合预置的恶意Iinux命令。
20.如权利要求12、13、14、16、17、18或19所述的装置,其特征在于,还包括 存储模块,用于将所述病毒特征码保存至数据库中。
21.如权利要求20所述的装置,其特征在于,所述病毒特征码包括头部信息特征码、常量特征码、操作数特征码、指令特征码、指令特征码序列、类名函数名特征码;所述存储模块包括 分区存储子模块,用于将所述头部信息特征码、常量特征码、操作数特征码、指令特征码、指令特征码序列、类名函数名特征码分别保存在数据库中不同的存储区域; 或者, 标签存储子模块,用于将所述头部信息特征码、常量特征码、操作数特征码、指令特征码、指令特征码序列、类名函数名特征码保存在数据库中,井分别标记分类标签。
全文摘要
本申请提供了一种APK病毒特征码的提取方法及装置,其中所述方法包括扫描Android安装包APK中的指定文件;提取所述指定文件中的操作指令,判断所述操作指令是否包含病毒信息;若是,则根据所述操作指令生成病毒特征码。本申请可以准确、有效地提取出病毒APK特征码,以帮助提高病毒APK及其变种识别的效率和准确性,从而提高APK应用的安全性。
文档编号G06F21/00GK102663285SQ20121007672
公开日2012年9月12日 申请日期2012年3月21日 优先权日2012年3月21日
发明者张旭, 王栒 申请人:奇智软件(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1