CN109858250B - 一种基于级联分类器的安卓恶意代码检测模型方法 - Google Patents
一种基于级联分类器的安卓恶意代码检测模型方法 Download PDFInfo
- Publication number
- CN109858250B CN109858250B CN201910126764.8A CN201910126764A CN109858250B CN 109858250 B CN109858250 B CN 109858250B CN 201910126764 A CN201910126764 A CN 201910126764A CN 109858250 B CN109858250 B CN 109858250B
- Authority
- CN
- China
- Prior art keywords
- classifier
- malicious
- detection
- training
- android
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明提供一种基于级联分类器的安卓恶意代码检测模型方法,获取待检测的apk文件;使用apktool反汇编apk提取资源文件,图片文件和布局文件;使用dex2jar将apk反编译成java源码;使用jd‑gui查看APK中classes.dex转化出的jar文件,即源码文件;从反汇编的文件中提取操作码序列和api调用;将操作码序列和api调用特征合并为一个特征;用特征训练级联分类器,降低恶意代码误检率。本发明有效的区分良性样本和恶意软件,降低恶意软件的误检率,实现安卓端的应用安全;本发明是一种检测率高,成功率高,误检率低的检测方法;通过级联分类器的检测恶意软件,有效的降低恶意代码的误报率,同时比单个分类器的检测高效,比多个分类器的检测节约时间,大大提升了安卓端恶意代码检测的效率。
Description
技术领域
本发明属于手机应用技术领域,具体涉及一种基于级联分类器的安卓恶意代码检测模型方法。
背景技术
近年来,伴随着移动网络和手机智能化的快速发展,智能手机越来越流行,人们在手机上花费的时间也越来越长,如今的手机己不仅仅满足于拨打电话、发送短信等基本功能,还可以进行浏览网页、聊天、购物、看视频、处理office文档、收发邮件等以前只能在PC端完成的业务。在公交上、地铁上和餐厅里等各种场所,智能手机几乎无处不在。在生活中接触手机的时间早己经远远超过接触电脑的时间,可以说智能手机的出现,人们的工作和生活得到了极大的便利。自2007年第一台载有安卓系统手机的产生,安卓手机系统就以其良好的用户体验、较低的成本开销和较高的开源性赢得了众多手机使用者、手机生产商、软件开发者和的广泛认可,并迅速的在竞争激烈的手机市场占据了极大的份额。IT研究和咨询公司高德纳发布了2016年第一季度的全球智能手机市场报告,移动端操作系统占比如表1-1所示,其中Android以84.1%的比重牢牢占据头把交椅。
表1-1移动端操作系统占比
操作系统 | 2016第一季度占比 | 2017第一季度占比 |
Android | 78.8 | 84.1 |
IOS | 17.9 | 14.8 |
Windows | 2.5 | 0.7 |
Blackberry | 0.4 | 0.2 |
Others | 0.5 | 0.2 |
由于Android手机使用人数众多,并且开发Android应用门槛低,因此Android手机系统的应用软件种类繁多、数量巨大。最新统计显示:2015全年,360互联网安全中心累计截获Android平台新增恶意程序样本1874万个。分别是2013年,2014年的27.9倍、2.7倍。平均每天截获新增恶意程序样本也高达51342个。2017年第一季度新增恶意程序样本339.6万个。平均每天新增手机恶意程序样本近3.7万个。
安卓手机市场恶意应用的大量存在主要有以下几个方面的原因:首先是Android手机系统的开源特性。在Android手机系统中应用程序可通过申请来调用系统的关键API,用户在使用应用程序时只能被迫的同意API的申请,否则无法使用该应用,因此很多恶意应用开发者利用这一特点在开发应用时调用哪些关键的API来实现自己的恶意行为,如发送短信、获取手机识别码、获取通讯录等。其次是Android手机应用的下载来源广泛。苹果手机下载应用程序只允许用户在App Store上进行下载,App Store是苹果的官方应用市场,严格管理着苹果手机系统应用安装来源。虽然Android手机也有自己的官方应用商店GooglePlay,但是安卓手机允许通过其他途径来下载并且安装应用程序,并且国内无法使用Google Play服务,用户的应用安装大多都来源于第三方市场,如豌豆荚、安智平台等以及各个品牌手机自带的应用市场。大量的第三方市场存在不可避免的会出现对开发者应用的审核力度不严,对应用市场出现的恶意应用管理不及时以及他们对Android应用的恶意应用检测能力较弱,因此恶意软件通过各种途径会很容易的下载并安装在用户的手机中。最后一个原因是很多用户并没有移动端的安全意识,智能手机在近几年得到了很大的普及,但是很多用户并没有关注手机端的安全问题,扫描来历不明的二维码、轻信第三方市场、盲目的下载那些便利应用,用户在下载恶意应用后往往很晚才会意识到安全问题,并且很多应用只是单纯的窃取用户的信息,因此很多用户至今都未发现。这些原因造成安卓手机平台上的恶意软件泛滥。
发明内容
本发明的目的在于提供了一种基于级联分类器的安卓恶意代码检测模型方法,针对安卓平台的恶意代码,最大效率的降低误检率。
本发明的目的是这样实现的:
一种基于级联分类器的安卓恶意代码检测模型方法,具体的实现步骤为:
步骤1.将待检测的apk文件使用apktool反汇编,提取资源文件、图片文件、布局文件;
步骤2.扫描字节码文件和java代码中的API,从中提取API调用序列;
步骤3.以API的调用序列对API调用的参数进行查找,判断调用是否为用户个人隐私,是否通过网络将个人数据发送到指定服务器或者邮箱;
步骤4.提取的API调用序列和操作码序列各提取十个特征值记录,采用矩阵相乘方法将两个特征合并为一个新的特征;
步骤5.进行弱分类器的训练,计算每次分类的误差,求出分类误差的最小值,得到训练的最优弱分类器;
步骤6.进行强分类器的训练,设定每次强分类器的最小检测率和最大误检率,作为训练结束的标志;
步骤7.将多个弱分类器组合成强分类器,将多个强分类器组合成级联分类器;
步骤8.将新的特征输入级联分类器,当样本软件被判定为恶意样本的时候,则不再对该样本进行检测。
所述步骤1的具体过程为,使用dex2jar将apk反编译成java源码,查看源码文件,提取的字节码文件和AndroidManifest.xml文件作为数据源,提取操作码序列和api调用作为特征。
所述步骤5的具体步骤为,将特征值按递增顺序排列,分别计算良性软件和恶意软件的权重和,将排序的训练样本权重和训练,计算分类误差取得分类误差最小值,得到最优的弱分类器。
所述步骤6的具体步骤为,设置迭代次数后,初始化正负样本权重,初始化样本权重,训练后选出本次最优弱分类器计算错误率,调整权重后计算弱分类器在强分类器的权值,将弱分类器加权组合得到强分类器。
所述步骤6的强分类器的训练采用“自举”的方法收集负样本。
本发明的有益效果在于:本发明是为了解决安卓端恶意软件检测的问题,有效的区分良性样本和恶意软件,降低恶意软件的误检率,实现安卓端的应用安全;本发明采用的级联分类器检测恶意软件模型是一种检测率高,成功率高,误检率低的检测方法,可以降低安卓手机安卓恶意软件的风险,提高安卓手机的使用安全性;通过级联分类器的检测恶意软件,有效的降低恶意代码的误报率,同时比单个分类器的检测高效,比多个分类器的检测节约时间,大大提升了安卓端恶意代码检测的效率。
附图说明
图1为本发明提供的安卓应用反汇编流程图。
图2为本发明提供的级联分类器检测恶意代码的应用图。
具体实施方式
下面结合附图对本发明做进一步的描述:
实施例1
图1和图2为本发明实施例提供的一种安卓apk安装包反汇编的流程图和级联分类器的二分类检测恶意代码原理图,本发明应用于安卓端口恶意代码检测,包括以下步骤:
步骤1.将待检测的apk文件使用apktool反汇编,提取资源文件,图片文件和布局文件;
步骤2.使用dex2jar将apk反编译成java源码,查看源码文件;
步骤3.以提取的字节码文件和AndroidManifest.xml文件作为数据源,准备提取操作码序列和API调用作为后面使用的特征;
步骤4.扫描字节码文件和java代码中的API,从中提取关键的API调用序列;
步骤5.以API的调用序列对API调用的参数进行查找,判断调用是否为用户个人隐私,如短消息,通讯录等,是否通过网络将个人数据发送到指定服务器或者邮箱;
步骤6.提取的api调用和操作码序列各提取十个特征值记录,采用矩阵相乘方法将两个特征合并为一个新的特征;
步骤7.进行弱分类器的训练,计算每次分类的误差,求出分类误差的最小值,得到训练的最优弱分类器;
步骤8.进行强分类器的训练,设定每次强分类器的最小检测率和最大误检率,作为训练结束的标志;
步骤9.将多个弱分类器组合成强分类器,将多个强分类器组合成级联分类器;
步骤10.将新的特征输入级联分类器,级联分类器的设计思想是在保证良性软件有较高的通过率的情况下,尽量排除恶意软件,也就是当判断一个样本为良性软件时,有可能也是恶意样本,但一旦判定为恶意样本的时候,则不再对该样本进行检测,最大效率的降低误检率。
Claims (3)
1.一种基于级联分类器的安卓恶意代码检测模型方法,其特征在于,具体的实现步骤为:
步骤1:将待检测的apk文件使用apktool反汇编,提取资源文件、图片文件和布局文件;
步骤2:扫描字节码文件和java代码中的API,从中提取API调用序列;
步骤3:以API的调用序列对API调用的参数进行查找,判断调用是否为用户个人隐私,是否通过网络将个人数据发送到指定服务器或者邮箱;
步骤4:对API调用序列和操作码序列各提取十个特征值记录,采用矩阵相乘方法将两个特征合并为一个新的特征;
步骤5:进行弱分类器的训练;
将特征值按递增顺序排列,分别计算良性软件和恶意软件的权重和,将排序的训练样本权重和训练,计算分类误差取得分类误差最小值,得到最优的弱分类器;
步骤6:进行强分类器的训练;
设定每次强分类器的最小检测率和最大误检率,作为训练结束的标志;设置迭代次数后,初始化正负样本权重,训练后选出本次最优弱分类器计算错误率,调整权重后计算弱分类器在强分类器的权值,将弱分类器加权组合得到强分类器;
步骤7:将多个弱分类器组合成强分类器,将多个强分类器组合成级联分类器;
步骤8:将新的特征输入级联分类器,当样本软件被判定为恶意样本的时候,则不再对该样本进行检测。
2.根据权利要求1所述的一种基于级联分类器的安卓恶意代码检测模型方法,其特征在于:所述步骤1的具体过程为,使用dex2jar将apk反编译成java源码,查看源码文件,提取的字节码文件和AndroidManifest.xml文件作为数据源,提取操作码序列和api调用作为特征。
3.根据权利要求1所述的一种基于级联分类器的安卓恶意代码检测模型方法,其特征在于:所述步骤6的强分类器的训练采用“自举”的方法收集负样本。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910126764.8A CN109858250B (zh) | 2019-02-20 | 2019-02-20 | 一种基于级联分类器的安卓恶意代码检测模型方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910126764.8A CN109858250B (zh) | 2019-02-20 | 2019-02-20 | 一种基于级联分类器的安卓恶意代码检测模型方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109858250A CN109858250A (zh) | 2019-06-07 |
CN109858250B true CN109858250B (zh) | 2023-01-03 |
Family
ID=66898280
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910126764.8A Active CN109858250B (zh) | 2019-02-20 | 2019-02-20 | 一种基于级联分类器的安卓恶意代码检测模型方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109858250B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110489968B (zh) * | 2019-08-15 | 2021-02-05 | 东北大学秦皇岛分校 | 基于RNN和CNN的Android恶意软件检测方法及系统 |
CN112100621B (zh) * | 2020-09-11 | 2022-05-20 | 哈尔滨工程大学 | 一种基于敏感权限和api的安卓恶意应用检测方法 |
CN112989346B (zh) * | 2021-04-09 | 2021-08-10 | 鹏城实验室 | 对抗样本生成方法、装置、终端设备以及存储介质 |
WO2024122904A1 (ko) * | 2022-12-08 | 2024-06-13 | 레드펜소프트 주식회사 | 수요자 관점의 sbom 기반 설치파일 비교 분석을 통한 위협 요인 검출시스템과 검출방법 |
CN116821902B (zh) * | 2023-05-04 | 2024-02-06 | 湖北省电子信息产品质量监督检验院 | 一种基于机器学习的恶意应用检测方法、装置及设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107180192A (zh) * | 2017-05-09 | 2017-09-19 | 北京理工大学 | 基于多特征融合的安卓恶意应用程序检测方法和系统 |
CN108595955A (zh) * | 2018-04-25 | 2018-09-28 | 东北大学 | 一种安卓手机恶意应用检测系统及方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102193826B (zh) * | 2011-05-24 | 2012-12-19 | 哈尔滨工程大学 | 一种异构多核处理器高效任务调度方法 |
CN102346829B (zh) * | 2011-09-22 | 2013-09-18 | 重庆大学 | 基于集成分类的病毒检测方法 |
CN104809395A (zh) * | 2015-04-23 | 2015-07-29 | 天津大学 | 一种轻量级安卓恶意软件快速判断方法 |
CN107180190A (zh) * | 2016-03-11 | 2017-09-19 | 深圳先进技术研究院 | 一种基于混合特征的Android恶意软件检测方法及系统 |
US10552609B2 (en) * | 2016-12-30 | 2020-02-04 | Intel Corporation | Malicious object detection in a runtime environment |
CN108280348B (zh) * | 2018-01-09 | 2021-06-22 | 上海大学 | 基于rgb图像映射的安卓恶意软件识别方法 |
CN108388822B (zh) * | 2018-01-25 | 2021-03-23 | 微梦创科网络科技(中国)有限公司 | 一种检测二维码图像的方法和装置 |
-
2019
- 2019-02-20 CN CN201910126764.8A patent/CN109858250B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107180192A (zh) * | 2017-05-09 | 2017-09-19 | 北京理工大学 | 基于多特征融合的安卓恶意应用程序检测方法和系统 |
CN108595955A (zh) * | 2018-04-25 | 2018-09-28 | 东北大学 | 一种安卓手机恶意应用检测系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109858250A (zh) | 2019-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109858250B (zh) | 一种基于级联分类器的安卓恶意代码检测模型方法 | |
US9277378B2 (en) | Short message service validation engine | |
US9973517B2 (en) | Computing device to detect malware | |
US11151176B2 (en) | Method and apparatus for processing text information | |
CN104935744A (zh) | 一种验证码显示方法、验证码显示装置及移动终端 | |
US20120222120A1 (en) | Malware detection method and mobile terminal realizing the same | |
US8984632B1 (en) | Systems and methods for identifying malware | |
WO2012107255A1 (en) | Detecting a trojan horse | |
KR20150044490A (ko) | 안드로이드 악성 애플리케이션의 탐지장치 및 탐지방법 | |
WO2012065381A1 (zh) | 一种防止恶意软件发送数据的方法及装置 | |
US20100162240A1 (en) | Consistent security enforcement for safer computing systems | |
US8565396B1 (en) | Systems and methods to detect a scam on a communications device | |
CN105657479A (zh) | 一种视频处理方法及装置 | |
CN112232881A (zh) | 一种数据检测方法、装置、电子设备及存储介质 | |
CN110826068A (zh) | 安全检测方法和安全检测系统 | |
US9609142B2 (en) | Application processing method and mobile terminal | |
KR101657667B1 (ko) | 악성 앱 분류 장치 및 악성 앱 분류 방법 | |
KR20150003506A (ko) | 이동통신 단말기, 이동통신 단말기에서의 악성 문자메시지 차단 방법 및 시스템 | |
Gangula et al. | Survey on mobile computing security | |
US20130303118A1 (en) | Mobile device security | |
CN105188064B (zh) | 一种屏蔽骚扰电话和短信的方法及装置 | |
CN109104702B (zh) | 信息拦截方法、装置及存储介质 | |
CN109194734B (zh) | 消息推送方法、装置、服务器及可读存储介质 | |
CN107222559B (zh) | 信息调用方法 | |
CN111191234A (zh) | 一种病毒信息检测的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |