The invention provides a security detection method for Android applications, which belongs to the field of information security. The specific methods include: obtaining the characteristic information of APK to be detected; detecting the similarity of APK from multiple dimensions according to preset scoring rules; obtaining the similarity sequence according to preset statistical algorithm and preset ranking rules; and comparing the similarity sequence with the preset security threshold. The security of APK to be detected is judged and the similar relationship between APK to be detected and APK in standard library is obtained. This application effectively improves the accuracy of detection results by multi-dimension similarity detection of detection APK. At the same time, the similarity between applications is obtained by preset scoring rules and preset statistical rules, which solves the defect that more applications can not find common ground in the existing technology.
【技术实现步骤摘要】
一种Android应用程序的安全检测方法
本专利技术属于信息安全领域,尤其涉及一种Android应用程序的安全检测方法。技术背景随着科学技术的不断进步,网络技术日益发达,智能手机已经成为人们生活中不可或缺的一部分,其中Android操作系统占据了主导地位。Android平台的应用软件使用Java语言编写,但Java语言的特性导致Android应用软件容易被逆向和破解,同时,Android平台允许应用程序的开发者使用自己的证书对安装包进行签名,也允许系统从第三方应用市场中安装应用,因此,当Android应用软件被逆向后,可以修改其代码与资源等文件,重新签名生成新的安装包,发布到第三方应用市场供用户安装使用。很多恶意软件与广告软件开发者利用这种方法,将正常软件中植入恶意代码或者广告代码,以达到更加广泛的传播并欺骗用户安装使用的目的,从而获取更多的利益。但是,为保证原应用软件的正常使用,恶意软件通常不会对原应用软件做大量修改,且恶意代码与广告代码通常是相对独立的模块,因此如何利用这一特性对已经植入恶意代码或者广告代码的软件进行检测是目前急需解决的问题。申请号为201210221959.9的专利提出了一种Android应用程序的安全检测方法及系统,虽然能够利用安全应用与木马应用之间的差异检测出APK的安全性,但其因检测维度较少导致检测结果不准确,且检测结果不能展示待检测APK与库中APK的相似关系,因此,如何解决上述问题是目前亟需解决的问题。
技术实现思路
本专利技术提供了一种Android应用程序的安全检测方法,旨在解决上述问题。本专利技术提供一种Android ...
【技术保护点】
1.一种Android应用程序的安全检测方法,其特征在于,包括以下步骤:通过解包和反编译提取Android应用程序安装包(AndroidPackage,简称APK)的特征信息,所述特征信息是存在所述APK中的用于做安全检测的特征信息,其中包括签名权限信息、目录信息、文件信息、代码行为和时间戳信息;将待检测APK与预设的标准APK库中的多个目标应用作关于所述APK特征信息的相似性检测;将根据预设排序规则得到的相似度序列与预设的安全阈值做比较,判断待检测APK是否是安全应用。
【技术特征摘要】
1.一种Android应用程序的安全检测方法,其特征在于,包括以下步骤:通过解包和反编译提取Android应用程序安装包(AndroidPackage,简称APK)的特征信息,所述特征信息是存在所述APK中的用于做安全检测的特征信息,其中包括签名权限信息、目录信息、文件信息、代码行为和时间戳信息;将待检测APK与预设的标准APK库中的多个目标应用作关于所述APK特征信息的相似性检测;将根据预设排序规则得到的相似度序列与预设的安全阈值做比较,判断待检测APK是否是安全应用。2.如权利要求1所述方法,其特征在于,通过解包和反编译提取Android应用程序安装包(AndroidPackage,简称APK)的特征信息,所述特征信息是存在所述APK中的用于做安全检测的特征信息,其中包括签名权限信息、目录信息、文件信息、代码行为和时间戳信息,具体为:首先通过解压Android应用程序安装包得到编译后的代码文件、资源文件和布局文件,其次通过反编译过程从上述已编译的文件获得相应的未编译的文件,最后得到APK的签名权限信息、目录信息、文件信息、代码行为和时间戳特征信息,其中每个APK只提取一个距离当前时间最近的时间戳。3.如权利要求1所述方法,其特征在于,将待检测APK与预设的标准APK库中的多个目标应用做关于所述APK特征信息的相似性检测,所述预设的标准APK库具体为:预先建立包含安全应用和木马应用的标准APK库,并存储库中所有应用的关于做安全检测的特征信息。4.如权利要求1所述方法,其特征在于,将待检测APK与预设的标准APK库中的多个目标应用做关于所述APK特征信息的相似性检测,具体检测过程为:待检测APK与标准APK库中的目标应用按照预设得分规则分别从签名权限信息、目录信息、文件信息和代码行为四个维度作相似性检测,并根据预设统计算法利用检测结果得到待检测APK与该目标应用的相似度。5.如权利要求4所述,其特征在于,所述预设得分规则具体为:所述预设得分规则包括签名权限得分规则、目录信息得分规则、文件信息得分规则和代码行为得分规则。6.如权利要求5所述,其特征在于,所述签名权限信息得分规则具体为:设应用程序A和B,A和B做签名权限信息的相似性检测时的得分公式为:其中其中,y1为签名信息做相似性检测的第一参数,y2为权限信息做相似性检测的第二参数,其中y1+y2=1,且均大于0;T1为签名权限信息做相似性检测的预设满分值;为权限信息做相似性检测后的得分,y21为权限信息中危险权限做相似性检测的第三参数,n1和m1分别为从应用程序A和B中提取的危险权限总个数,s1为应用程序A和B包含相同的危险权限个数;y22为权限信息中普通权限做相似性检测的第四参数,n2和m2分别为从应用程序A和B中提取的普通权限总个数,s2为应用程序A和B包含相同的普通权限个数,其中n1、m1、n2、m2均为正整数,s1、s2可为0,也可为正整数,其中y21+y22=1,且均大于0。7.如权利要求5所述,其特征在于,所述目录信息得分规则具体为:设应用程序A和B,A和B做目录信息相似性检测时的得分公式为:其中,i为当前相似性检测的目录层数(i为正整数),当检测根目录时i=1,下层目录i=2,依次类推;p为待检测APK的目录结构总层数(p为正整数);T2为目录信息做相似性检测的预设满分值;ni为应用程序A中第i层的目录个数,si为应用程序A和B在第i层做相似性检测时具有相同目录信息的个数,此时ni和si需要满足,当应用程序A和B在第i-1(i≠1)层做目录信息检测时,若Ae与Bf的目录信息相同,则Ae与Bf目录下所有层数的目录不再做相似性检测,且当统计第i层到第p层的ni和si值时,Ae与Bf目录下所有层数的目录不参与统计,ni、si≥0。8.如权利要求5所述,其特征在于,所述文件信息得分规则具体为:设应用程序A和B,A和B做文件信息相似性检测时的得分公式为:其中其...
【专利技术属性】
技术研发人员:黄晓强,夏婷,朱永强,张彤彤,
申请(专利权)人:成都网安科技发展有限公司,
类型:发明
国别省市:四川,51
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。