一种Android恶意软件静态检测方法

文档序号:26006101发布日期:2021-07-23 21:24阅读:83来源:国知局
一种Android恶意软件静态检测方法

本发明涉及一种android恶意软件静态检测方法,可用于软件检测技术领域。



背景技术:

随着网络互联网的发展,手机成为人们日常生活中不可缺少的社交工具。自2007年google公司开发了android操作系统并开放源代码以来,android成为了目前占据全球市场份额第一的智能手机操作系统。android操作系统主要具有三大优点,代码的开源性给了开发者们一个很好的发挥平台,丰富的硬件选择性促成了当下的手机品牌百花齐放,互相竞争,可选性很大,而android也拥有着百万级别的app应用市场,比如谷歌应用商店。但由于其代码开源性和丰富的软件,导致其成为了恶意软件的主要攻击目标之一。恶意软件的开发者们开始试图在软件中写入恶意代码或者解析别的软件在里面植入恶意代码再打包发布在应用商城上,吸引用户点击下载。现如今,恶意软件的增长给移动智能手机用户带来了巨大的危害。这些恶意软件带来的危害轻则吸引用户点击链接骗取点击浏览量,重则盗取用户账户,窃取资金等重大恶劣行为。网络安全正面临着日益增长的威胁,为了应对这一问题,人们提出了许多检测方法,大致分为静态检测方法和动态检测方法。

操作系统的开源代码使得许多开发商可以在android代码的基础上进行个性化修改,使其符合各自产品的需求。随着国内外手机开发商的产品更新迭代,手机的普及率也在不断提高,基本能做到人人手里都有一两部手机。随着手机的卖出,开发商开始把经济重心转移到应用商店的垄断。自从google把android系统进行开源,基于android操作系统进行开发的手机品牌便越来越多,应用商店也越来越多。有了平台,许多app开发者也在平台中上传自己的作品。虽然一个用户产生的利润不是很多,但全球的用户基数所产生的利益也使得那些投机倒把的人产生侵占的心理。手机app这方面从2000年以来才开始进入大众的视线,还是一个可口的大蛋糕,里面充满着引诱人犯罪的气息。有些黑客开始在手机app里面移植病毒木马的代码,从而可以在用户安装该软件后窃取用户的信息等隐私相关的数据进行贩卖。

用户在使用手机的过程中,一般很少会安装杀毒软件,防范意识没有在使用电脑时高,而不良软件(即恶意软件)会悄悄在用户不知情的情况下,悄悄的进行一些有损用户账户信息安全的行为操作。随着恶意软件数量的增长,手机系统也在不断升级,但近几年恶意软件不断发展、变化,市面上已知的恶意软件已经越过数百万量级,app在安装时也不能尽数识别出来,恶意软件会千方百计利用系统漏洞实施恶意行为。

静态检测方法主要是在软件安装之前对软件进行检测,主要是基于特征码通过将待检测的特征码与已知的恶意代码进行匹配识别,这种方式很容易被恶意代码识别出来做出变形从而逃过检测,后来人们在传统特征码的基础上开发了语义特征码,通过解析native里的代码等检测进行判断软件是否为恶意软件。静态检测方法一般在检测过程中扮演着重要的角色,它是用户操作系统安全防护的第一道门,但是随着技术的发展,开发者们为了防止他人反编译开发的软件,对软件打包进行了混淆加壳等技术加工,另一方面恶意软件也利用这些技术伪装自己逃脱静态检测,静态检测方法起到的作用也就日渐式微。

动态检测方法主要是通过对软件运行的环境进行模拟,并且检测在软件运行过程中的行为是否存在恶意行为。典型的恶意行为有隐私泄露、权限提升、软件描述与实际行为不一致。在研究过程中,研究人员发现如果在静态检测过程中提高检测效率,将有效缓解后期动态检测的时间开销,因为动态检测方法虽然检测效率比静态检测高,但是成本开销比较大。由此可见,在恶意软件不断更新增长的现下,现有的恶意软件检测方式还不能很有效的检测出各类恶意软件,我们需要有一种新的软件检测方式来提高检测效率。

由此可见,在恶意软件不断更新增长的现下,现有的恶意软件检测方式还不能很有效的检测出各类恶意软件,需要有一种新的软件检测方式来提高检测效率。



技术实现要素:

本发明的目的就是为了解决现有技术中存在的上述问题,提出一种android恶意软件静态检测方法。

本发明的目的将通过以下技术方案得以实现:一种android恶意软件静态检测方法,该方法包括以下步骤:

s1:对数据集检测样本进行统计、分类,

s2:对待测软件进行下载,在安装的过程对待测软件进行检测,

s3:对待测软件进行预处理,

s4:判断待测软件签名是否一致,如一致的话,则判断待测软件是否包含恶意代码,如不一致,则判断待测软件是否有权限特征码,

s5:如判断待测软件签名不一致,则判断软件为恶意软件,取消安装并提示软件有问题,

s6:如判断待测软件包含恶意代码,则判断软件为恶意软件,取消安装并提示软件有问题,

s7:如待测软件有权限特征码,则判断软件为恶意软件,取消安装并提示软件有问题,

s8:如待测软件签名一致,没有包含恶意代码,且没有包含权限特征码,则为良性软件,对待测软件进行安装。

优选地,在所述s2步骤中,分析良性软件样本调用的api和权限和恶意软件样本所调用的权限,并对这些软件进行统计。

优选地,在所述s3步骤中,使用apktool对待测样本进行反编译预处理,获取应用程序的androidmanifest.xml、smail、代码等文件信息,将预处理的结果整理出待测样本的包名、权限列表、签名信息。

优选地,在所述s5步骤中,根据android的签名机制检测apk的签名文件,检查apk的签名是否一致。

优选地,在apk的签名验证中,首先检测apk是否具有签名方案v3,如果具有则直接进行验证,如果不具有则检测apk是否具有签名方案v2,如果具有则直接进行签名验证,如果不具有则直接验证apk是否具有签名方案v1,如果软件安装包不具有签名方案或者签名不一致则拒绝安装。

优选地,在所述s6步骤中,根据数据集内具有恶意行为的恶意代码,检测待测样本的代码是否存在和恶意代码相似的代码。

优选地,需要检测恶意行为代码和被检测代码之间的相似性,当相似性程度超过阈值就判定为恶意软件。

优选地,在所述s7步骤中,手机权限分为正常权限和危险权限。

本发明采用以上技术方案与现有技术相比,具有以下技术效果:通过该检测方法,采集智能手机软件中的权限、api、签名信息、代码等信息,保护用户在安装软件过程中的安全性,保护用户的隐私、资金等信息不被恶意软件窃取,增加智能手机安全性的应用功能,提高智能手机系统的可靠性。

附图说明

图1为本发明方法中恶意软件静态检测方法的流程示意图。

具体实施方式

本发明的目的、优点和特点,将通过下面优选实施例的非限制性说明进行图示和解释。这些实施例仅是应用本发明技术方案的典型范例,凡采取等同替换或者等效变换而形成的技术方案,均落在本发明要求保护的范围之内。

本发明揭示了一种android恶意软件静态检测方法,如图1所示,该方法包括以下步骤:

s1:对数据集检测样本进行统计、分类,首先对待测的软件样本进行分类,分类的依据可以根据手机平台的软件商店进行分类,比如小米应用商店、苹果的applestore或者华为的应用商店,也可以自己制定分类将待测样本进行分类,以便后续的工作得以进行。

:对待测软件进行下载,在安装的过程对待测软件进行检测,

s3:对待测软件进行预处理,

s4:判断待测软件签名是否一致,如一致的话,则判断待测软件是否包含恶意代码,如不一致,则判断待测软件是否有权限特征码,

s5:如判断待测软件签名不一致,则判断软件为恶意软件,取消安装并提示软件有问题,

s6:如判断待测软件包含恶意代码,则判断软件为恶意软件,取消安装并提示软件有问题,

s7:如待测软件有权限特征码,则判断软件为恶意软件,取消安装并提示软件有问题,

s8:如待测软件签名一致,没有包含恶意代码,且没有包含权限特征码,则为良性软件,对待测软件进行安装。

在所述s1步骤中,软件的类型可以不受限制,每个手机开发商平台的类型也不一致,所有进行标记统计的软件都应该把软件所对应的类别整理一遍,防止一个软件出现在两个分类中。

在所述s2步骤中,恶意待测样本和良性待测样本在数据测试中也是依据指定的软件分类进行统计,统计每一类的良性和恶意待测软件,通过数据可以清晰的了解软件权限申请的直观状况。

在所述s3步骤中,有的软件开发者为了防止软件被破解,使用了加密软件对软件进行加密处理,这些软件需要先进行去壳处理才可以进行反编辑预处理。

在所述s4步骤中,手机权限有100多种,权限里面有的是软件申请就可以使用的,对用户的隐私安全产生的威胁很小,这些属于正常权限;有些是需要申请过后用户同意才可以使用的,这些内容里面涉及了用户的隐私信息,对用户的隐私安全产生的威胁较大,这些属于危险权限。该检测方案主要是针对危险权限进行统计。在危险权限中,将恶意软件良性软件不会申请但恶意软件会申请的权限,这些权限的申请会使得恶意软件产生恶意行为,以这些权限作为权限特征码。不同软件类型的权限特征码也会有所区别,可以一致也可以不一致。

在所述s5步骤中,恶意软件的恶意行为的产生是因为软件中存在恶意代码,这些恶意代码不一定会完全相似,需要检测恶意行为代码和被检测代码之间的相似性,当相似性程度超过阈值就判定为恶意软件。

在所述s6步骤中,在apk的签名验证中,首先检测apk是否具有签名方案v3,如果具有则直接进行验证,如果不具有则检测apk是否具有签名方案v2,如果具有则直接进行签名验证,如果不具有则直接验证apk是否具有签名方案v1,如果软件安装包不具有签名方案或者签名不一致则拒绝安装。

应用本发明的技术解决方案,通过检测方法,采集智能手机软件中的权限、api、签名信息、代码等信息,保护用户在安装软件过程中的安全性,提高智能手机系统的可靠性。

该方法与一般的恶意软件检测方法的切入点不同,本发明的检测环境是把软件进行隔离,使软件不能检测到外部系统的特征码,改变自身表现形式来进行判断。

本发明尚有多种实施方式,凡采用等同变换或者等效变换而形成的所有技术方案,均落在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1