CN103902908A - 一种对Android加固应用的恶意代码检测方法及系统 - Google Patents
一种对Android加固应用的恶意代码检测方法及系统 Download PDFInfo
- Publication number
- CN103902908A CN103902908A CN201310725137.9A CN201310725137A CN103902908A CN 103902908 A CN103902908 A CN 103902908A CN 201310725137 A CN201310725137 A CN 201310725137A CN 103902908 A CN103902908 A CN 103902908A
- Authority
- CN
- China
- Prior art keywords
- simulation
- execution environment
- detected
- resource
- virtual
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/566—Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
Abstract
本发明公开了一种对Android加固应用的恶意代码检测方法及系统,首先,加载待检测目标APK,启动虚拟执行环境;模拟安装待检测目标APK,模拟全局消息变量的注册过程,模拟资源加载,模拟代码加载和执行;判断模拟流程是否能够正常进行,若是,则获取虚拟内存中出现的新增文件,并对所述新增文件进行是否恶意的检测,否则中断模拟流程,对虚拟内存数据进行完整扫描和检测,并输出检测结果。从而实现对经过加密和混淆技术处理的应用进行恶意代码的检测。
Description
技术领域
本发明涉及移动终端恶意代码检测技术领域,尤其涉及一种对Android加固应用的恶意代码检测方法及系统。
背景技术
随着移动互联网的高速发展,移动开发者的数量急剧增多,开发技术不断的升级,目前出现了大量的对移动应用进行安全防护和保护的技术。其通过对开发者已有的应用采取加密,混淆等技术,从而实现对开发者的程序进行保护。
由于在Android系统上,大多数情况下,正常应用都不具备最高的Root权限,也无法访问到其它应用的内存数据。因此无法对其它应用的内存中的数据进行检测。同时目前现有的Android恶意代码检测方法通常都是针对Android应用的APK文件或DEX文件来进行检测的。而对于加固之后的应用,其往往采取各种保护机制和动态加载机制,使得真实的代码数据都不以任何文件的形态明文出现,因此使得目前已有的恶意代码检测方法都无法进行有效的检测。
发明内容
针对上述技术问题,本发明提供了一种对Android加固应用的恶意代码检测方法及系统,该发明通过在虚拟环境中模拟执行待检测APK,监控其新增文件,并对所述新增文件进行是否恶意的检测,从而有效解决加固应用无法有效检测的问题。
本发明采用如下方法来实现:一种对Android加固应用的恶意代码检测方法,包括:
加载待检测目标APK,启动虚拟执行环境;
模拟安装待检测目标APK,模拟全局消息变量的注册过程,模拟资源加载,模拟代码加载和执行;
判断模拟流程是否能够正常进行,若是,则获取虚拟内存中出现的新增文件,并对所述新增文件进行是否恶意的检测,否则中断模拟流程,对虚拟内存数据进行完整扫描和检测,并输出检测结果。
进一步地,所述虚拟执行环境需要模拟执行环境所需的数据资源和系统功能资源,包括:模拟系统内存环境、模拟磁盘环境、系统消息注册功能和系统调用功能。
本发明采用如下系统来实现:一种对Android加固应用的恶意代码检测系统,包括:
准备模块,用于加载待检测目标APK,启动虚拟执行环境;
模拟模块,用于模拟安装待检测目标APK,模拟全局消息变量的注册过程,模拟资源加载,模拟代码加载和执行;
判定模块,用于判断模拟流程是否能够正常进行,若是,则获取虚拟内存中出现的新增文件,并对所述新增文件进行是否恶意的检测,否则中断模拟流程,对虚拟内存数据进行完整扫描和检测,并输出检测结果。
进一步地,所述虚拟执行环境需要模拟执行环境所需的数据资源和系统功能资源,包括:模拟系统内存环境、模拟磁盘环境、系统消息注册功能和系统调用功能。
综上所述,本发明提供了一种对Android加固应用的恶意代码检测方法及系统,本发明基于Dalvik运行时执行机理,通过模仿构造dex的执行的前置准备环节,实现对目标APK的仿真执行加载,从而在内存中获得目标APK的虚拟内存数据,进而可以实现对加固应用的代码数据进行恶意代码检测。并进而有效的解决现有Android恶意代码检测技术无法有效检测Android加固应用的现状。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的一种对Android加固应用的恶意代码检测方法流程图;
图2为本发明提供的一种对Android加固应用的恶意代码检测系统结构图。
具体实施方式
本发明给出了一种对Android加固应用的恶意代码检测方法及系统,为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明中技术方案作进一步详细的说明:
本发明首先提供了一种对Android加固应用的恶意代码检测方法,如图1所示,包括:
S101加载待检测目标APK,启动虚拟执行环境;
S102模拟安装待检测目标APK,模拟全局消息变量的注册过程,模拟资源加载,模拟代码加载和执行;
S103判断模拟流程是否能够正常进行,若是,则获取虚拟内存中出现的新增文件,并对所述新增文件进行是否恶意的检测,否则中断模拟流程,对虚拟内存数据进行完整扫描和检测,并输出检测结果。
优选地,所述虚拟执行环境需要模拟执行环境所需的数据资源和系统功能资源,包括:模拟系统内存环境、模拟磁盘环境、系统消息注册功能和系统调用功能。
本发明还提供了一种对Android加固应用的恶意代码检测系统,如图2所示,包括:
准备模块201,用于加载待检测目标APK,启动虚拟执行环境;
模拟模块202,用于模拟安装待检测目标APK,模拟全局消息变量的注册过程,模拟资源加载,模拟代码加载和执行;
判定模块203,用于判断模拟流程是否能够正常进行,若是,则获取虚拟内存中出现的新增文件,并对所述新增文件进行是否恶意的检测,否则中断模拟流程,对虚拟内存数据进行完整扫描和检测,并输出检测结果。
进一步地,所述虚拟执行环境需要模拟执行环境所需的数据资源和系统功能资源,包括:模拟系统内存环境、模拟磁盘环境、系统消息注册功能和系统调用功能。
如上所述,本发明给出了一种对Android加固应用的恶意代码检测方法及系统的具体实施例,其与传统方法的区别在于,传统的android系统恶意代码检测方法是针对APK文件或者DEX文件来进行检测的,而对于进行加密或者混淆处理之后的应用程序没有检测能力。本发明通过准备虚拟执行环境,并在此虚拟执行环境中模拟安装APK,并模拟资源加载,模拟代码加载和模拟代码执行过程,并判断模拟执行过程是否正常进行,若是,则获取虚拟系统内存中的新增文件,判断所述新增文件的安全性,否则对虚拟内存数据进行完整检测和判定。本发明基于Dalvik的执行机理,在虚拟环境中模拟待检测应用的安装和执行过程,从而有效获取待检测APK虚拟内存数据,从而有效检测其APK的安全性。
以上实施例用以说明而非限制本发明的技术方案。不脱离本发明精神和范围的任何修改或局部替换,均应涵盖在本发明的权利要求范围当中。
Claims (4)
1.一种对Android加固应用的恶意代码检测方法,其特征在于,包括:
加载待检测目标APK,启动虚拟执行环境;
模拟安装待检测目标APK,模拟全局消息变量的注册过程,模拟资源加载,模拟代码加载和执行;
判断模拟流程是否能够正常进行,若是,则获取虚拟内存中出现的新增文件,并对所述新增文件进行是否恶意的检测,否则中断模拟流程,对虚拟内存数据进行完整扫描和检测,并输出检测结果。
2.如权利要求1所述的方法,其特征在于,所述虚拟执行环境需要模拟执行环境所需的数据资源和系统功能资源,包括:模拟系统内存环境、模拟磁盘环境、系统消息注册功能和系统调用功能。
3.一种对Android加固应用的恶意代码检测系统,其特征在于,包括:
准备模块,用于加载待检测目标APK,启动虚拟执行环境;
模拟模块,用于模拟安装待检测目标APK,模拟全局消息变量的注册过程,模拟资源加载,模拟代码加载和执行;
判定模块,用于判断模拟流程是否能够正常进行,若是,则获取虚拟内存中出现的新增文件,并对所述新增文件进行是否恶意的检测,否则中断模拟流程,对虚拟内存数据进行完整扫描和检测,并输出检测结果。
4.如权利要求3所述的系统,其特征在于,所述虚拟执行环境需要模拟执行环境所需的数据资源和系统功能资源,包括:模拟系统内存环境、模拟磁盘环境、系统消息注册功能和系统调用功能。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310725137.9A CN103902908A (zh) | 2013-12-25 | 2013-12-25 | 一种对Android加固应用的恶意代码检测方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310725137.9A CN103902908A (zh) | 2013-12-25 | 2013-12-25 | 一种对Android加固应用的恶意代码检测方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103902908A true CN103902908A (zh) | 2014-07-02 |
Family
ID=50994220
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310725137.9A Pending CN103902908A (zh) | 2013-12-25 | 2013-12-25 | 一种对Android加固应用的恶意代码检测方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103902908A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016188134A1 (zh) * | 2015-05-22 | 2016-12-01 | 中兴通讯股份有限公司 | 一种实现应用加固的方法及装置 |
CN108182363A (zh) * | 2017-12-25 | 2018-06-19 | 哈尔滨安天科技股份有限公司 | 嵌入式office文档的检测方法、系统及存储介质 |
CN108256324A (zh) * | 2016-12-29 | 2018-07-06 | 武汉安天信息技术有限责任公司 | 一种针对加固apk样本的检测方法及系统 |
US10586045B2 (en) | 2016-08-11 | 2020-03-10 | The Mitre Corporation | System and method for detecting malware in mobile device software applications |
CN111027062A (zh) * | 2019-03-29 | 2020-04-17 | 哈尔滨安天科技集团股份有限公司 | 一种靶场应用失陷状态的评估方法及装置 |
CN112560018A (zh) * | 2020-12-23 | 2021-03-26 | 苏州三六零智能安全科技有限公司 | 样本文件检测方法、装置、终端设备以及存储介质 |
CN112860536A (zh) * | 2019-11-26 | 2021-05-28 | 深圳市帝迈生物技术有限公司 | 模拟样本检测的方法、系统、装置及计算机存储介质 |
-
2013
- 2013-12-25 CN CN201310725137.9A patent/CN103902908A/zh active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016188134A1 (zh) * | 2015-05-22 | 2016-12-01 | 中兴通讯股份有限公司 | 一种实现应用加固的方法及装置 |
US10586045B2 (en) | 2016-08-11 | 2020-03-10 | The Mitre Corporation | System and method for detecting malware in mobile device software applications |
CN108256324A (zh) * | 2016-12-29 | 2018-07-06 | 武汉安天信息技术有限责任公司 | 一种针对加固apk样本的检测方法及系统 |
CN108182363A (zh) * | 2017-12-25 | 2018-06-19 | 哈尔滨安天科技股份有限公司 | 嵌入式office文档的检测方法、系统及存储介质 |
CN108182363B (zh) * | 2017-12-25 | 2022-01-07 | 安天科技集团股份有限公司 | 嵌入式office文档的检测方法、系统及存储介质 |
CN111027062A (zh) * | 2019-03-29 | 2020-04-17 | 哈尔滨安天科技集团股份有限公司 | 一种靶场应用失陷状态的评估方法及装置 |
CN112860536A (zh) * | 2019-11-26 | 2021-05-28 | 深圳市帝迈生物技术有限公司 | 模拟样本检测的方法、系统、装置及计算机存储介质 |
CN112560018A (zh) * | 2020-12-23 | 2021-03-26 | 苏州三六零智能安全科技有限公司 | 样本文件检测方法、装置、终端设备以及存储介质 |
CN112560018B (zh) * | 2020-12-23 | 2023-10-31 | 苏州三六零智能安全科技有限公司 | 样本文件检测方法、装置、终端设备以及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103902908A (zh) | 一种对Android加固应用的恶意代码检测方法及系统 | |
JP6326497B2 (ja) | 動的アプリケーションセキュリティ検証 | |
CN111353146B (zh) | 应用程序敏感权限的检测方法、装置、设备和存储介质 | |
US20180260199A1 (en) | Method and apparatus for intermediate representation of applications | |
KR101503785B1 (ko) | 동적 라이브러리를 보호하는 방법 및 장치 | |
CN103440456B (zh) | 一种应用程序安全评估的方法及装置 | |
CN104517054B (zh) | 一种检测恶意apk的方法、装置、客户端和服务器 | |
CN108197476B (zh) | 一种智能终端设备的漏洞检测方法及装置 | |
CN104331662A (zh) | Android恶意应用检测方法及装置 | |
CN109255235B (zh) | 基于用户态沙箱的移动应用第三方库隔离方法 | |
Sellwood et al. | Sleeping android: The danger of dormant permissions | |
CN102867143A (zh) | 一种恶意应用程序的快速过滤方法 | |
CN104049973A (zh) | 安卓应用程序的安全验证方法及装置 | |
Jeong et al. | A kernel-based monitoring approach for analyzing malicious behavior on android | |
CN104217139A (zh) | 处理系统 | |
CN105630659A (zh) | 应用崩溃日志的获取方法及装置 | |
CN107102885A (zh) | 利用adb方式检测安卓模拟器的方法及装置 | |
CN112231702A (zh) | 应用保护方法、装置、设备及介质 | |
CN113778877A (zh) | 检测应用程序安装包的方法和其相关产品 | |
CN104036193B (zh) | 一种应用程序的本地跨域漏洞检测方法及装置 | |
Yang et al. | A tool for volatile memory acquisition from Android devices | |
CN106156621A (zh) | 一种检测虚拟机逃逸的方法及装置 | |
CN110414218B (zh) | 内核检测方法、装置、电子设备及存储介质 | |
CN105468970A (zh) | 一种基于防御网的Android应用防篡改方法及系统 | |
CN106960138B (zh) | 虚拟机指令的校验方法及装置、系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140702 |