[发明专利]一种恶意软件检测装置及方法在审
申请号: | 201610902851.4 | 申请日: | 2016-10-17 |
公开(公告)号: | CN107958154A | 公开(公告)日: | 2018-04-24 |
发明(设计)人: | 蔡芷铃;赵鹤;张巍;姜青山 | 申请(专利权)人: | 中国科学院深圳先进技术研究院 |
主分类号: | G06F21/56 | 分类号: | G06F21/56 |
代理公司: | 深圳市科进知识产权代理事务所(普通合伙)44316 | 代理人: | 赵勍毅 |
地址: | 518055 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 恶意 软件 检测 装置 方法 | ||
技术领域
本发明涉及安全检测技术领域,特别涉及一种恶意软件检测装置及方法。
背景技术
近年来,移动智能终端发展迅速,极大地改变了人们使用手机的习惯,手机不再仅仅用于接打电话,而是更多地渗透进个人生活的方方面面。与此同时,手机中也存储了越来越多的个人隐私,一旦手机遭到恶意软件的入侵,可能面临着手机信息被窃取、账号、密码被盗用等危害,造成个人财产或利益的损失,或由于后台恶意程序的非法操作,使得手机功能发生异常,影响用户正常使用。
Android作为当前流行的智能手机操作系统之一,有极高的市场占有率,但是由于其自身的开放性,使之成为恶意软件攻击的主要对象。奇虎360公司发布的《2015年中国手机安全状况报告》[1]显示截获的Android手机恶意软件样本数量仍在不断增加,数量高达1874.0万个,感染人数也较前两年有所增长,高达3.7亿人次。随着技术的发展,Android平台的恶意程序制作成本逐渐降低,且可批量生成恶意程序,致使针对移动终端的攻击行为逐渐规模化,不仅威胁用户的个人利益,也置各大安全厂商于巨大的挑战之中。海量出现的恶意软件和日益庞大的恶意特征库大大增加了安全厂商在恶意软件样本截获、处理方面的难度,传统的检测方式已经不能及时有效的处理这种海量数据。
随着人工智能的飞速发展,目前已有诸多研究将数据挖掘的分类算法应用于恶意软件检测中。数据挖掘的方法通过“学习”恶意软件的特征来构建分类模型进行恶意软件的检测,各种数据挖掘的检测方法都是使用不同的特征或特征的组合,结合相关分类算法进行检测。因此,基于数据挖掘的恶意软件检测效果依赖于特征的表达和模型的选取。Android的安全机制要求,应用程序在调用一些可能影响到其他应用程序、操作系统或是用户的,如读写用户的隐私数据、使用网络连接、保持手机唤醒状态等的API(Application Programming Interface,应用程序编程接口)时,要申请相应的权限,只有获取授权以后才能调用这些API,因此权限在一定程度上能够描述应用行为。相比权限,API更直接反应应用行为,因此,现有的数据挖掘的检测方法主要针对Android应用软件的权限和API特征。
基于数据挖掘的检测方法所采用的权限特征虽然易于提取,但由于应用程序声明的权限未必在实际中有使用,并且有研究表明存在大量应用软件滥用权限,因此直接使用权限作为特征来描述应用行为,可靠性欠佳,而使用API特征又面临着API数量庞大的问题,需要依靠人工选取部分API作为特征,无法实现完全自动化检测。此外,现有技术的恶意软件检测方法大多基于单机版实现,无法应对数量庞大的软件样本。
发明内容
本发明提供了一种恶意软件检测装置及方法,旨在至少在一定程度上解决现有技术中的上述技术问题之一。
为了解决上述问题,本发明提供了如下技术方案:
一种恶意软件检测装置,包括:
反编译模块:用于对输入的应用软件安装包进行反编译,获取反编译文件;
特征提取模块:用于从所述反编译文件中提取API特征文件;
特征格式化模块:用于将所提取的API特征文件格式化为设定的文件格式;
模型训练及检测模块:用于通过格式化后的API特征文件训练随机森林分类模型,通过随机森林分类模型进行恶意软件的检测。
本发明实施例采取的技术方案还包括:所述反编译模块采用Apktool反编译工具对输入的应用软件安装包进行反编译,所述反编译文件为Smali文件。
本发明实施例采取的技术方案还包括:所述特征提取模块提取API特征文件的提取方式为:遍历Smali文件,找到与API调用相关的Dalvik指令;根据Dalvik指令随后的参数获取应用程序所调用的API,并对API进行字符串匹配,如果该API是受权限保护的API,则将该受权限保护的API存储在该应用程序对应的API特征文件中。
本发明实施例采取的技术方案还包括:所述特征格式化模块对API特征文件进行格式化的方法为:为API特征文件中的每个API设置一个编号,如果应用软件中使用了该API特征文件中存储的API,该API对应的编号项值为1,如果应用软件中没有使用该API特征文件中存储的API,则该API对应的编号项值为0。
本发明实施例采取的技术方案还包括:所述模型训练及检测模块训练随机森林分类模型的方式为:将格式化后的API特征文件输入到Spark MLlib提供的随机森林分类模型训练接口,训练获取分布式随机森林分类模型。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院深圳先进技术研究院,未经中国科学院深圳先进技术研究院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610902851.4/2.html,转载请声明来源钻瓜专利网。