CN103902891A - 一种通过Android模拟器检测病毒程序的方法及系统 - Google Patents

一种通过Android模拟器检测病毒程序的方法及系统 Download PDF

Info

Publication number
CN103902891A
CN103902891A CN201210567869.5A CN201210567869A CN103902891A CN 103902891 A CN103902891 A CN 103902891A CN 201210567869 A CN201210567869 A CN 201210567869A CN 103902891 A CN103902891 A CN 103902891A
Authority
CN
China
Prior art keywords
simulator
random
program
apk
suspicious
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
Application number
CN201210567869.5A
Other languages
English (en)
Inventor
林坚明
李敏怡
傅盛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Kingsoft Internet Security Software Co Ltd
Shell Internet Beijing Security Technology Co Ltd
Zhuhai Juntian Electronic Technology Co Ltd
Beijing Kingsoft Internet Science and Technology Co Ltd
Original Assignee
Beijing Kingsoft Internet Security Software Co Ltd
Shell Internet Beijing Security Technology Co Ltd
Zhuhai Juntian Electronic Technology Co Ltd
Beijing Kingsoft Internet Science and Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Kingsoft Internet Security Software Co Ltd, Shell Internet Beijing Security Technology Co Ltd, Zhuhai Juntian Electronic Technology Co Ltd, Beijing Kingsoft Internet Science and Technology Co Ltd filed Critical Beijing Kingsoft Internet Security Software Co Ltd
Priority to CN201210567869.5A priority Critical patent/CN103902891A/zh
Publication of CN103902891A publication Critical patent/CN103902891A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明属于计算机技术领域,具体公开了一种通过Android模拟器检测病毒程序的方法及系统。该方法包括以下步骤:(1)提供随机的模拟器基本信息给所述可疑APK程序;(2)在模拟器中运行所述可疑APK程序检测其运行过程是否具有恶意行为。该系统包括相对应的随机信息提供模块和运行检测模块。本发明通过提供随机的模拟器基本信息给所述可疑APK程序,使其判定的运行环境非模拟器,而不会将一些恶意行为程序关闭,从而无法逃过模拟器的检测,进而提高病毒程序的检出率。

Description

一种通过Android模拟器检测病毒程序的方法及系统
技术领域
本发明属于计算机技术领域,具体涉及一种通过Android模拟器检测病毒程序的方法及系统。
背景技术
Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于便携设备,如智能手机和平板电脑。目前尚未有统一中文名称,中国大陆地区较多人使用“安卓”或“安致”。Android操作系统最初由Andy Rubin开发,主要支持手机。2005年由Google收购注资,并组建开放手机联盟开发改良随后,逐渐扩展到平板电脑及其他领域上。第一部Android智能手机发布于2008年10月。2011年第一季度,Android在全球的市场份额首次超过塞班系统,跃居全球第一。2012年11月数据显示,Android占据全球智能手机操作系统市场76%的份额,中国市场占有率为90%。
Android模拟器是Android SDK(Software Development Kit,即软件开发工具包)自带一个移动模拟器。它是一个可以运行在电脑上的虚拟设备。Android模拟器可以不需使用物理设备即可预览、开发和测试Android应用程序。
APK是AndroidPackage的缩写,即Android安装包(apk)。APK是类似Symbian Sis或Sisx的文件格式。通过将APK文件直接传到Android模拟器或Android手机中执行即可安装。apk文件和sis一样,把android sdk编译的工程打包成一个安装程序文件,格式为apk。APK文件其实是zip格式,但后缀名被修改为apk,通过UnZip解压后,可以看到Dex文件,Dex是Dalvik VM executes的全称,即Android Dalvik执行程序,并非Java ME的字节码而是Dalvik字节码。
为了检测一个APK程序是否为病毒程序,目前的做法是将其安装到Android模拟器中运行,通过判断其运行行为是否具有恶意行为,比如盗取手机号码、手机型号、手机ID号、SM卡编号等行为。但通过申请人研究发现上述方法病毒程序的检出率越来越低,已经不能适应现有病毒的发展。
通过申请人的仔细研究发现,现有模拟器的基本信息都是一些特定的信息,比如手机号为13000000000。病毒程序在运行时首先通过获取模拟器中的这些基本信息,然后比对这些基本信息与其收集的模拟器常用的特定信息进行比对,如匹配则判定其运行的当前环境为模拟器。然后,将其恶意行为部分的程序关闭,进而逃过模拟器的检测。
发明内容
为了上述问题,本发明的目的在于提供一种通过Android模拟器检测病毒程序的方法及系统,以提高病毒程序的检出率。
为了实现上述发明目的,本发明采取的技术方案如下:
一种通过Android模拟器检测病毒程序的方法,其特征在于包括以下步骤:
(1)提供随机的模拟器基本信息给所述可疑APK程序;
(2)在模拟器中运行所述可疑APK程序检测其运行过程是否具有恶意行为。
进一步的,所述第(1)步具体是:直接根据随机算法将模拟器基本信息随机化以提供给所述可疑APK程序。
进一步的,所述第(1)步具体包括以下子步骤:
(11)将所述可疑APK程序进行反编译;
(12)在反编译出的程序代码中查找出能够获取模拟器信息的应用程序接口(API);
(13)修改所述应用程序接口(API)的返回值,以使所述可疑APK程序获取一个随机的模拟器基本信息;
(14)重新编译所述程序代码。
进一步的,所述第(1)步具体是:通过钩挂系统函数的应用程序接口(API),返回随机的模拟器基本信息给所述可疑APK程序。
一种通过Android模拟器检测病毒程序的系统,包括以下模块:
随机信息提供模块,用于提供随机的模拟器基本信息给所述可疑APK程序;
运行检测模块,用于在模拟器中运行所述可疑APK程序检测其运行过程是否具有恶意行为。
进一步的,所述随机信息提供模块提供随机的模拟器基本信息给所述可疑APK程序,具体是:直接根据随机算法将模拟器基本信息随机化以提供给所述可疑APK程序。
进一步的,所述随机信息提供模块具体包括以下子模块:
反编译模块,将所述可疑APK程序进行反编译;
查找模块,在反编译出的程序代码中查找出能够获取模拟器信息的应用程序接口(API);
修改模块,修改所述应用程序接口(API)的返回值,以使所述可疑APK程序获取一个随机的模拟器基本信息;
编译模块,重新编译所述程序代码。
进一步的,所述随机信息提供模块提供随机的模拟器基本信息给所述可疑APK程序,具体是:通过钩挂系统函数的应用程序接口(API),返回随机的模拟器基本信息给所述可疑APK程序。
本发明通过提供随机的模拟器基本信息给所述可疑APK程序,使其判定的运行环境非模拟器,而不会将一些恶意行为程序关闭,从而无法逃过模拟器的检测,进而提高病毒程序的检出率。
附图说明
此附图说明所提供的图片用来辅助对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的不当限定,在附图中:
图1是本发明方法对应的流程图;
图2是本发明系统对应的框图;
图3是实施例3第(1)步的流程图;
图4是实施例3随机信息提供模块的框图。
具体实施方式
实施例1
如图1所示,本实施例公开了一种通过Android模拟器检测病毒程序的方法,包括以下步骤:
(1)提供随机的模拟器基本信息给所述可疑APK程序,具体可以直接根据随机算法将模拟器基本信息随机化以提供给所述可疑APK程序;
(2)在模拟器中运行所述可疑APK程序检测其运行过程是否具有恶意行为。
如图2所示,本实施例还公开了一种与上述方法对应的通过Android模拟器检测病毒程序的系统,其包括以下模块:
随机信息提供模块1,用于提供随机的模拟器基本信息给所述可疑APK程序,具体可以直接根据随机算法将模拟器基本信息随机化以提供给所述可疑APK程序;
运行检测模块2,用于在模拟器中运行所述可疑APK程序检测其运行过程是否具有恶意行为。
其中,所示基本信息包括手机号、IMEI等,IMEI(International Mobile Equipment Identity)是国际移动设备身份码的缩写,国际移动装备辨识码,是由15位数字组成的″电子串号″,它与每台手机一一对应,而且该码是全世界唯一的。每一只手机在组装完成后都将被赋予一个全球唯一的一组号码,这个号码从生产到交付使用都将被制造生产的厂商所记录。
因为病毒程序通过获取模拟器的上述基本信息来判断其运行的环境,本实施例就是基于此研究,将其基本信息随机化,而不是某个固定的值,以骗过病毒程序的反侦查,从而使其在运行过程中不会关闭其恶意行为相关程序,进而提高本实施例的病毒检出率。
实施例2
如图1所示,本实施例公开了一种通过Android模拟器检测病毒程序的方法,包括以下步骤:
(1)提供随机的模拟器基本信息给所述可疑APK程序,具体可以通过钩挂系统函数的应用程序接口(API),返回随机的模拟器基本信息给所述可疑APK程序;
(2)在模拟器中运行所述可疑APK程序检测其运行过程是否具有恶意行为。
如图2所示,本实施例还公开了一种与上述方法对应的通过Android模拟器检测病毒程序的系统,其包括以下模块:
随机信息提供模块1,用于提供随机的模拟器基本信息给所述可疑APK程序,具体可以通过钩挂系统函数的应用程序接口(API),返回随机的模拟器基本信息给所述可疑APK程序;所述的钩挂,即是替换的意思;
运行检测模块2,用于在模拟器中运行所述可疑APK程序检测其运行过程是否具有恶意行为。
本实施例不再修改模拟器本身的基本信息,而是通过钩挂系统函数的应用程序接口(API),返回随机的模拟器基本信息给所述可疑APK程序,以骗过病毒程序的反侦查,从而使其在运行过程中不会关闭其恶意行为相关程序,进而提高本实施例的病毒检出率。
实施例3
如图1所示,本实施例公开了一种通过Android模拟器检测病毒程序的方法,包括以下步骤:
(1)提供随机的模拟器基本信息给所述可疑APK程序;
(2)在模拟器中运行所述可疑APK程序检测其运行过程是否具有恶意行为。
如图3所示,所述第(1)步具体包括以下子步骤:
(11)将所述可疑APK程序进行反编译;
(12)在反编译出的程序代码中查找出能够获取模拟器信息的应用程序接口(API);
(13)修改所述应用程序接口(API)的返回值,以使所述可疑APK程序获取一个随机的模拟器基本信息;
(14)重新编译所述程序代码。
如图2所示,本实施例还公开了一种与上述方法对应的通过Android模拟器检测病毒程序的系统,其包括以下模块:
随机信息提供模块1,用于提供随机的模拟器基本信息给所述可疑APK程序,具体可以通过钩挂系统函数的应用程序接口(API),返回随机的模拟器基本信息给所述可疑APK程序;
运行检测模块2,用于在模拟器中运行所述可疑APK程序检测其运行过程是否具有恶意行为。
如图4所示,所述随机信息提供模块具体包括以下子模块:
反编译模块11,将所述可疑APK程序进行反编译;
查找模块12,在反编译出的程序代码中查找出能够获取模拟器信息的应用程序接口(API);
修改模块13,修改所述应用程序接口(API)的返回值,以使所述可疑APK程序获取一个随机的模拟器基本信息;
编译模块14,重新编译所述程序代码。
本实施例不再修改模拟器本身的基本信息,而是修改APK程序本身给其提供随机的模拟器基本信息,以骗过病毒程序的反侦查,从而使其在运行过程中不会关闭其恶意行为相关程序,进而提高本实施例的病毒检出率。
上详细描述了本发明的较佳具体实施例,应当理解,本领域的普通技术无需创造性劳动就可以根据本发明的构思做出诸多修改和变化。因此,凡本技术领域中技术人员依本发明构思在现有技术基础上通过逻辑分析、推理或者根据有限的实验可以得到的技术方案,均应该在由本权利要求书所确定的保护范围之中。

Claims (8)

1.一种通过Android模拟器检测病毒程序的方法,其特征在于包括以下步骤:
(1)提供随机的模拟器基本信息给所述可疑APK程序;
(2)在模拟器中运行所述可疑APK程序检测其运行过程是否具有恶意行为。
2.根据权利要求1所述的通过Android模拟器检测病毒程序的方法,其特征在于:
所述第(1)步具体是:直接根据随机算法将模拟器基本信息随机化以提供给所述可疑APK程序。
3.根据权利要求1所述的通过Android模拟器检测病毒程序的方法,其特征在于,所述第(1)步具体包括以下子步骤:
(11)将所述可疑APK程序进行反编译;
(12)在反编译出的程序代码中查找出能够获取模拟器信息的应用程序接口(API);
(13)修改所述应用程序接口(API)的返回值,以使所述可疑APK程序获取一个随机的模拟器基本信息;
(14)重新编译所述程序代码。
4.根据权利要求1所述的通过Android模拟器检测病毒程序的方法,其特征在于:
所述第(1)步具体是:通过钩挂系统函数的应用程序接口(API),返回随机的模拟器基本信息给所述可疑APK程序。
5.一种通过Android模拟器检测病毒程序的系统,其特征在于包括以下模块:
随机信息提供模块,用于提供随机的模拟器基本信息给所述可疑APK程序;
运行检测模块,用于在模拟器中运行所述可疑APK程序检测其运行过程是否具有恶意行为。
6.根据权利要求5所述的通过Android模拟器检测病毒程序的系统,其特征在于,所述随机信息提供模块提供随机的模拟器基本信息给所述可疑APK程序,具体是:
直接根据随机算法将模拟器基本信息随机化以提供给所述可疑APK程序。
7.根据权利要求5所述的通过Android模拟器检测病毒程序的系统,其特征在于,所述随机信息提供模块具体包括以下子模块:
反编译模块,将所述可疑APK程序进行反编译;
查找模块,在反编译出的程序代码中查找出能够获取模拟器信息的应用程序接口(API);
修改模块,修改所述应用程序接口(API)的返回值,以使所述可疑APK程序获取一个随机的模拟器基本信息;
编译模块,重新编译所述程序代码。
8.根据权利要求5所述的通过Android模拟器检测病毒程序的系统,其特征在于所述随机信息提供模块提供随机的模拟器基本信息给所述可疑APK程序,具体是:
通过钩挂系统函数的应用程序接口(API),返回随机的模拟器基本信息给所述可疑APK程序。
CN201210567869.5A 2012-12-24 2012-12-24 一种通过Android模拟器检测病毒程序的方法及系统 Pending CN103902891A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210567869.5A CN103902891A (zh) 2012-12-24 2012-12-24 一种通过Android模拟器检测病毒程序的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210567869.5A CN103902891A (zh) 2012-12-24 2012-12-24 一种通过Android模拟器检测病毒程序的方法及系统

Publications (1)

Publication Number Publication Date
CN103902891A true CN103902891A (zh) 2014-07-02

Family

ID=50994203

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210567869.5A Pending CN103902891A (zh) 2012-12-24 2012-12-24 一种通过Android模拟器检测病毒程序的方法及系统

Country Status (1)

Country Link
CN (1) CN103902891A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106155717A (zh) * 2015-04-01 2016-11-23 北京蓝海讯通科技有限公司 一种将sdk集成到第三方apk的方法和装置
CN117954057A (zh) * 2024-01-29 2024-04-30 东莞市厚街医院 一种基于安卓智能模组的医学影像安全处理装置及方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004075060A1 (ja) * 2003-02-21 2004-09-02 Tabei, Hikaru コンピュータウィルス検出装置
CN102750484A (zh) * 2012-06-28 2012-10-24 腾讯科技(深圳)有限公司 一种防止病毒样本自检的方法及装置
CN102779255A (zh) * 2012-07-16 2012-11-14 腾讯科技(深圳)有限公司 判断恶意程序的方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004075060A1 (ja) * 2003-02-21 2004-09-02 Tabei, Hikaru コンピュータウィルス検出装置
CN102750484A (zh) * 2012-06-28 2012-10-24 腾讯科技(深圳)有限公司 一种防止病毒样本自检的方法及装置
CN102779255A (zh) * 2012-07-16 2012-11-14 腾讯科技(深圳)有限公司 判断恶意程序的方法及装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106155717A (zh) * 2015-04-01 2016-11-23 北京蓝海讯通科技有限公司 一种将sdk集成到第三方apk的方法和装置
CN117954057A (zh) * 2024-01-29 2024-04-30 东莞市厚街医院 一种基于安卓智能模组的医学影像安全处理装置及方法
CN117954057B (zh) * 2024-01-29 2024-06-11 东莞市厚街医院 一种基于安卓智能模组的医学影像安全处理装置及方法

Similar Documents

Publication Publication Date Title
CN102810143B (zh) 基于Android平台手机应用程序的安全检测系统及方法
JP5992622B2 (ja) 悪意あるアプリケーション診断装置及び方法
US10116451B2 (en) File backups using a trusted storage region
Kim et al. ScanDal: Static analyzer for detecting privacy leaks in android applications
US9600668B2 (en) Method and device for extracting characteristic code of APK virus
CN104834859B (zh) 一种Android应用中恶意行为的动态检测方法
CN104834858A (zh) 一种android应用中恶意代码的静态检测方法
Kim et al. RevARM: A platform-agnostic ARM binary rewriter for security applications
CN104050417B (zh) 一种在移动终端对软件状态进行检测的方法及装置
CN106796640A (zh) 分类恶意软件检测和抑制
CN104809397A (zh) 一种基于动态监控的Android恶意软件的检测方法及系统
CN103839005A (zh) 移动操作系统的恶意软件检测方法和恶意软件检测系统
CN107678875B (zh) 一种故障检测及自动修复方法、装置、终端及存储介质
CN105630518A (zh) Android应用软件资源更新的方法和装置
CN103778373A (zh) 病毒检测方法及装置
CN103049696A (zh) 一种虚拟机躲避识别的方法及装置
CN108197476B (zh) 一种智能终端设备的漏洞检测方法及装置
CN103902890A (zh) 一种Android程序行为的监控方法及监控系统
CN104092579A (zh) 网络类型的模拟方法及装置
CN104021023A (zh) 一种突破内核模块版本控制解决方法
KR101256468B1 (ko) 악성 파일 진단 장치 및 방법
CN105488414A (zh) 一种防止恶意代码探测虚拟环境的方法及系统
CN106845235B (zh) 一种基于机器学习方法的安卓平台回调函数检测方法
CN105718793A (zh) 基于修改沙箱环境防止恶意代码识别沙箱的方法及系统
CN109145598B (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

Application publication date: 20140702

RJ01 Rejection of invention patent application after publication