CN108491722A - 一种恶意软件检测方法及系统 - Google Patents

一种恶意软件检测方法及系统 Download PDF

Info

Publication number
CN108491722A
CN108491722A CN201810299726.8A CN201810299726A CN108491722A CN 108491722 A CN108491722 A CN 108491722A CN 201810299726 A CN201810299726 A CN 201810299726A CN 108491722 A CN108491722 A CN 108491722A
Authority
CN
China
Prior art keywords
under testing
software under
malware
software
function
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
CN201810299726.8A
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.)
GUANGZHOU HUIZHI COMMUNICATION TECHNOLOGY CO LTD
Original Assignee
GUANGZHOU HUIZHI COMMUNICATION 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 GUANGZHOU HUIZHI COMMUNICATION TECHNOLOGY CO LTD filed Critical GUANGZHOU HUIZHI COMMUNICATION TECHNOLOGY CO LTD
Priority to CN201810299726.8A priority Critical patent/CN108491722A/zh
Publication of CN108491722A publication Critical patent/CN108491722A/zh
Pending legal-status Critical Current

Links

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

本发明公开了一种恶意软件检测方法及系统,该方法包括:基于待测软件的安装包确定待测软件申请的权限对应功能;基于所述待测软件的安装包在测试环境中安装并运行所述待测软件,实时监测所述待测软件在运行过程中实现的动作及具有的特征;如果监测到所述待测软件实现对应功能时获取了预设隐私信息、且具有可达到始终运行目的和/或被迫终止后自动恢复运行目的的非功能特征,则初步确定所述待测软件为恶意软件。由此,在判断待测软件是否获取预设隐私信息的同时,还监测待测软件是否具有可达到始终运行目的和/或被迫终止后自动恢复运行目的的非功能特征,从而通过上述两项判断,大大增加了恶意软件检测的准确性。

Description

一种恶意软件检测方法及系统
技术领域
本发明涉及恶意软件检测技术领域,更具体地说,涉及一种恶意软件检测方法及系统。
背景技术
Android系统是一款基于Linux内核的开源操作系统,因为其有着良好的开放特性,所以受到各大厂商和用户的青睐,目前Android系统已经成为用户量最大的操作系统。但Android系统的开放性使它成为恶意软件最大的发展平台,随着Android恶意软件的发展规模逐年扩大,如何将其快速高效地分析并检测出来已经成为目前的研究热点。
目前对恶意软件的检测中,检测的目标通常都是软件本身具有的特征,但是这种方式并不能够有效准确的判断出恶意软件;因此,如何提供一种能够有效准确的实现恶意软件检测的技术方案,是目前本领域技术人员亟待解决的问题。
发明内容
本发明的目的是提供一种恶意软件检测方法及系统,能够有效准确的实现恶意软件的检测。
为了实现上述目的,本发明提供如下技术方案:
一种恶意软件检测方法,包括:
基于待测软件的安装包确定待测软件申请的权限对应功能;
基于所述待测软件的安装包在测试环境中安装并运行所述待测软件,实时监测所述待测软件在运行过程中实现的动作及具有的特征;
如果监测到所述待测软件实现对应功能时获取了预设隐私信息、且具有可达到始终运行目的和/或被迫终止后自动恢复运行目的的非功能特征,则初步确定所述待测软件为恶意软件。
优选的,初步确定所述待测软件为恶意软件之后,还包括:
监测所述待测软件是否将获取到的预设隐私信息上传至网络,如果是,则最终确定所述待测软件为恶意软件。
优选的,确定所述待测软件申请的权限对应功能,包括:
对所述待测软件的安装包进行反编译,得到对应反编译文件,由该反编译文件中获取所述待测软件的权限列表,并确定与该权限列表中各项权限对应的功能。
优选的,在测试环境中安装并运行所述待测软件,包括:
在真机具有的测试环境中安装并运行所述待测软件。
优选的,监测所述待测软件在运行过程中实现的动作之前,还包括:
确定所述待测软件对应的能够获取所述预设隐私信息的功能为目标功能,使用所述真机装有的Xposed框架的HOOK技术将实现所述目标功能时需调用的函数做标记,以基于该标记监测所述待测软件是否调用对应函数实现了预设隐私信息的获取。
优选的,监测所述待测软件在运行过程中实现的动作之前,还包括:
散发预设隐私广播,以触发所述待测软件在监听到所述预设隐私广播后实现对应预设隐私信息的获取。
一种恶意软件检测系统,包括:
主控制端,用于:提供待测软件的安装包;
静态检测模块,用于:基于待测软件的安装包确定待测软件申请的权限对应功能;
动态检测模块,用于:基于待测软件的安装包在测试环境中安装并运行所述待测软件,实时监测所述待测软件在运行过程中实现的动作及具有的特征;如果监测到所述待测软件实现对应功能时获取了预设隐私信息、且具有可达到始终运行目的和/或被迫终止后自动恢复运行目的的非功能特征,则初步确定所述待测软件为恶意软件。
优选的,所述动态检测模块还包括:
动态检测单元,用于:初步确定所述待测软件为恶意软件之后,监测所述待测软件是否将获取到的预设隐私信息上传至网络,如果是,则最终确定所述待测软件为恶意软件。
优选的,所述静态检测模块包括:
静态检测单元,用于:对所述待测软件的安装包进行反编译,得到对应反编译文件,由该反编译文件中获取所述待测软件的权限列表,并确定与该权限列表中各项权限对应的功能。
优选的,所述动态检测模块包括:
软件安装单元,用于:在真机具有的测试环境中安装并运行所述待测软件。
本发明提供了一种恶意软件检测方法及系统,其中该方法包括:基于待测软件的安装包确定待测软件申请的权限对应功能;基于所述待测软件的安装包在测试环境中安装并运行所述待测软件,实时监测所述待测软件在运行过程中实现的动作及具有的特征;如果监测到所述待测软件实现对应功能时获取了预设隐私信息、且具有可达到始终运行目的和/或被迫终止后自动恢复运行目的的非功能特征,则初步确定所述待测软件为恶意软件。本发明实施例提供的技术方案中,基于待测软件的安装包确定其能够实现的功能,进而在安装及运行该待测软件后,实时监测该待测软件的动作及特征,如果监测到待测软件实现对应功能时获取了预设隐私信息、且具有可达到始终运行目的和/或被迫终止后自动恢复运行目的的非功能特征,则初步确定待测软件为恶意软件;可见,本申请公开的技术方案中,在判断待测软件是否获取预设隐私信息的同时,还监测待测软件是否具有可达到始终运行目的和/或被迫终止后自动恢复运行目的的非功能特征,从而通过上述两项判断,大大增加了恶意软件检测的准确性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种恶意软件检测方法的流程图;
图2为本发明实施例提供的一种恶意软件检测系统的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,其示出了本发明实施例提供的一种恶意软件检测方法的流程图,可以包括:
S11:基于待测软件的安装包确定待测软件申请的权限对应功能。
需要说明的是,本发明实施例提供的一种恶意软件检测方法的执行主语可以为对应的系统,也可以为具有该系统的装置、如手机终端等,均在本发明的保护范围之内。另外,本发明实施例提供的一种恶意软件检测方法及系统可以应用于Android系统,对应的待测软件的安装包可以为APK(AndroidPackage,Android安装包)。通过对待测软件的安装包可以分析出待测软件申请的权限,进而确定出这些权限对应的功能,其中,权限指具有特定的系统资源使用权力,如访问数据库的权限、打电话的权限、发信息的权限等,而功能则为待测软件行驶对应的权限时能够实现的作用,如访问数据库的权限对应功能则为能够访问数据库、打电话的权限对应功能则为能够打电话,发信息的权限对应功能则为能够发信息等。
S12:基于待测软件的安装包在测试环境中安装并运行待测软件,实时监测待测软件在运行过程中实现的动作及具有的特征。
基于待测软件的安装包在指定的测试环境中实现待测软件的安装及运行为现有技术,实现待测软件的安装及运行后,待测软件在运行过程中可以实现每项权限对应的功能,而在获知待测软件申请的权限对应功能之后,能够在对待测软件进行监测的过程中有方向的实现对应的监测、即监测待测软件在实现每项功能时对应的动作。
S13:如果监测到待测软件实现对应功能时获取了预设隐私信息、且具有可达到始终运行目的和/或被迫终止后自动恢复运行目的的非功能特征,则初步确定待测软件为恶意软件。
其中,预设隐私信息为预先由设计人员或者用户设定的隐私信息,如通讯录、短信聊天记录等,如果待测软件实现对应功能的过程中获取了上述预设隐私信息,则可以认为待测软件很可能为恶意软件;而可达到始终运行目的和/或被迫终止后自动恢复运行目的的非功能特征可以为现有技术或者其他能够实现上述目的的非功能特征,在监测待测软件的过程中,如果监测到待测软件存在上述非功能特征,则可以进一步认为待测软件很可能为恶意软件,由此,如果通过待测软件的动作及特征均认为待测软件很可能为恶意软件,则初步认为该待测软件为恶意软件,否则,则认为该待测软件不是恶意软件。
本发明实施例提供的技术方案中,基于待测软件的安装包确定其能够实现的功能,进而在安装及运行该待测软件后,实时监测该待测软件的动作及特征,如果监测到待测软件实现对应功能时获取了预设隐私信息、且具有可达到始终运行目的和/或被迫终止后自动恢复运行目的的非功能特征,则初步确定待测软件为恶意软件;可见,本申请公开的技术方案中,在判断待测软件是否获取预设隐私信息的同时,还监测待测软件是否具有可达到始终运行目的和/或被迫终止后自动恢复运行目的的非功能特征,从而通过上述两项判断,大大增加了恶意软件检测的准确性。
具体来说,本申请中恶意软件的特征包括隐私信息获取特征和非功能特征;隐私信息获取特征是一般恶意软件的主要目标,即通过获取用户隐私以达到盈利的目的,但是正常软件也可能对其进行获取;而非功能特征则不同,为了达到恶意软件在终端中一直运行或者即使被杀死也可以恢复运行的目的,恶意软件通常使用对应系统中的安全隐患来实现。如果一个软件同时获取了用户的隐私信息,又使用了非功能特征的方法来达到常驻在系统中的目的,则可以定义其为恶意软件,侵害的用户的隐私权益。
本发明实施例提供的一种恶意软件检测方法,初步确定待测软件为恶意软件之后,还可以包括:
监测待测软件是否将获取到的预设隐私信息上传至网络,如果是,则最终确定待测软件为恶意软件。
需要说明的是,一般恶意软件获取预设隐私信息后会将获取的预设隐私信息通过网络发送至其他终端或模块,从而达到盈利等目的,因此,本申请中还初步判断出待测软件为恶意软件后还会继续监测恶意软件的行为,只要其出现将获取的预设隐私信息上传至网络的行为,则最终确定待测软件为恶意软件,从而进一步增加了恶意软件的检测准确性;并在最终确定出待测软件为恶意软件后,实现禁止其运行、或者将相应提示信息发送给指定终端等操作,以避免恶意软件对所在终端的恶意影响。
本发明实施例提供的一种恶意软件检测方法,确定待测软件申请的权限对应功能,可以包括:
对待测软件的安装包进行反编译,得到对应反编译文件,由该反编译文件中获取待测软件的权限列表,并确定与该权限列表中各项权限对应的功能。
以本发明实施例提供的一种恶意软件检测方法应用于Android系统为例对上述步骤进行说明,可以使用apktool工具的“apktool d xxx.apk”命令对APK(待测软件的安装包)反编译,得到AndroidManifest.xml文件(反编译文件);使用正则表达式,过滤AndroidManifest.xml文件中的<uses-permission>标签,获取APK申请的权限列表;分析该权限列表确定出APK将使用何种功能(与权限列表中各项权限对应的功能);当然,当本发明实施例提供的一种恶意软件检测方法应用于其他系统时上述步骤对应具体实现过程可以参见现有技术中对应原理,在此不再过多赘述。另外,本实施例中的上述步骤可以由静态检测模块实现,而确定出的上述功能可以通知给动态检测模块,即可以由动态检测模块实现待测软件安装、运行及实时监测等步骤。由此,仅需利用动态检测模块确定出待测软件对应的功能,无需实现静态分析代码及特征码识别等操作,大大减少了操作复杂性,增加了执行效率。
其中需要说明的是,apktool工具是一个第三方的android二进制逆向工程工具,能够将app解码为接近原状态,并在做了某些修改后能够重新编译app;由于app具有相似的文件结构,因此该工具使app的反编译更容易,一些重复性的任务如编译apk也可以自动化。
本发明实施例提供的一种恶意软件检测方法,在测试环境中安装并运行待测软件,可以包括:
在真机具有的测试环境中安装并运行待测软件。
需要说明的是,真机即为能够提供测试环境的终端、如手机终端等。从而在真机具有的测试环境中实现待测软件的安装、运行及后续监测等步骤,不同于现有技术在虚拟机中实现恶意软件的检测相关步骤,也就不存在在虚拟机中实现恶意软件的检测相关步骤时存在的资源加载过慢等问题,同时也可以避免恶意软件检测出当前环境,进一步保证了对于恶意软件的有效监测。
可见,本申请中通过上述步骤采用了静态分析与动态检测相结合,借助静态分析方法只需要在分析待测软件的权限时使用,不会静态分析其他代码,也不会涉及到静态分析中比较棘手的特征码识别问题,恶意软件的判定基于简单的规则,不同于现有方案一些常见的算法模型建立,更加易于实现。由于在使用动态检测方法时可以在真机的环境下进行,解决了虚拟机资源加载过慢问题,同时也避免恶意软件可以检测出当前环境。
本发明实施例提供的一种恶意软件检测方法,监测待测软件在运行过程中实现的动作之前,还包括:
确定待测软件对应的能够获取预设隐私信息的功能为目标功能,使用真机装有的Xposed框架的HOOK技术将实现目标功能时需调用的函数做标记,以基于该标记监测待测软件是否调用对应函数实现了预设隐私信息的获取。
需要说明的是,本申请中真机可以装有任何能够方便工作人员对其进行有效控制的框架,如Xposed框架,进而基于该框架实现真机的控制以实现待测软件的监测。其中,恶意软件的行为都是通过对系统提供的各种API(函数)的调用来完成的,因此,本申请中可以预先使用Xposed框架的HOOK技术在实现目标功能时需要调用的函数的特定位置(可以为工作人员根据实际需要预先指定)做标记,由此,当存在软件调用这些做标记的函数时,系统能够得到一个对应的信号,以获知该函数被调用,进而实现对待测软件的监测,从而以最简单的方式实现了对待测软件的有效监测。
另外需要说明的是,以本发明实施例提供的一种恶意软件检测方法及系统应用于Android系统为例对实现目标功能时需要调用的各个函数进行说明,以下各个具体实例中需要调用的函数即为实现目标功能时需要调用的函数。具体来说,隐私信息可以包括短信、通话记录、通讯录等数据的获取,具体来说短信、通话记录、通讯录等数据作为系统中最重要的几种隐私数据,常常被恶意软件作为窃取的对象。一般在Android系统中,短信、通话记录、通讯录等数据均存储于SQLite数据库中,系统提供ContentResolver供第三方软件对以上数据进行访问。使用ContentResolver通过URI访问数据库步骤如下:
(1)调用Context.getContentResolver()方法获取ContentResolver实例;
(2)获得待访问数据库的URI实例;
(3)调用ContentResolver.query()访问数据库,参数为URI与查询条件,返回值为数据库的查询结果集Cursor;
(4)遍历Cursor中的每一条记录,获得数据。
录音为对隐私信息的另一种获取方式,使用MediaRecorder类录音并保存的过程如下:
(1)创建android.media.MediaRecorder的实例;
(2)调用MediaRecorder.setAudioSource()方法设置音频源,设备麦克风的音频源为MediaRecorder.AudioSource.MIC;
(3)调用MediaRecorder.setOutputFormat()方法设置输出文件的格式;
(4)调用MediaRecorder.setOutputFile()方法设置输出文件名;
(5)使用MediaRecorder.setAudioEncoder()方法设置音频编码;
(6)调用MediaRecorder.prepare()完成准备工作,锁定音频源;
(7)调用MediaRecorder.start()方法开始获取并记录音频数据;
(8)调用MediaRecorder.stop()方法停止录音;
(9)录音完成,调用MediaRecorder.release()方法释放音频源资源。
GPS数据是另一重要隐私数据,恶意软件通过系统平台提供的GPS定位接口,可获取设备当前所处的位置。Android系统中可使用LocationManager类来获取GPS数据,步骤如下:
(1)调用Context.getSystemService()获得LocationManager实例;
(2)编写LocationListener的派生类,实现onLocationChanged()方法用于处理位置变化事件;
(3)调用LocationManager.requestLocationUpdates()请求GPS数据更新。
当然还可能存在其他多种隐私信息,具体来说,可以如表1所示,其中数据名称即为隐私信息的名称,表中的API为能够正常获取数据名称对应数据的软件,这些数据名称对应数据同样会被恶意软件作为获取对象。
表1
数据名称 API
IMEI android.telephony.TelephonyManager.getDeviceId()
IMSI android.telephony.TelephonyManager.getSubscriberId()
WIFI信息 android.net.wifi.WifiManager.connectionInfo()
基站信息 android.telephony.TelephonyManager.getCellLocation()
而具有可达到始终运行目的和/或被迫终止后自动恢复运行目的的非功能特征可以包括以下几种特征:
Jobscheduler组件:该组件能够实现正常的保活功能,但是在Android的一些低版本系统中,无法对这种组件实现控制,导致其可以定时在被杀死之后重新启动;一般软件会调用JobService的回调函数JobScheduleService.onStartJob(Intent intent,intflags,int startId)来启动该组件的功能。
Foreground服务:为了提高优先级,防止在终端低内存的情况下被杀死,恶意软件会将其一个内部服务提升到前台,然后再在软件内部杀死该内部服务,导致软件外部的服务也会提高自己的优先级,具体会调用到android.app.Service.startForeground(intid,Notification notification)函数来完成。
设备管理器:该特征为android的一个设备管理器漏洞,已激活设备管理器权限的恶意软件利用该漏洞可以在设置程序的设备管理器列表中隐藏,这样用户就无法通过正常途径取消该恶意软件的设备管理器权限,从而达到无法卸载的目的;利用代码可以如下所示:List<ResolveInfo>avail=getActivity().getPackageManager().queryBroadcastReceivers(
new Intent(DeviceAdminReceiver.ACTION_DEVICE_ADMIN_ENABLED),
PackageManager.GET_META_DATA);//通过查询广播"android.app.action.DEVICE_ADMIN_ENABLED"来得到可用的设备管理器int count=avail==null?0:avail.size();
无界面拍照:对于一个恶意软件来说,要实现拍照功能就不能暴露自己的拍照行为,在android开发照相功能时是绕不过预览界面的,因此恶意软件通常都是将其缩小到1像素,这样在用户难以察觉的情况下完成拍照;设置预览界面的方法是android.view.ViewManager.addView(View view,LayoutParams params),其中的LayoutParams参数如果给定的长和宽为1,便可以实现隐藏预览界面的目的。
另外需要说明的是,Xposed框架可以在不修改APK的情况下影响程序运行(修改系统)的框架服务,基于它可以制作出许多功能强大的模块,且在功能不冲突的情况下同时运作。在这个框架下,可以加载很多插件App,这些插件App可以直接或间接操纵系统层面的东西,比如操纵一些本来只对系统厂商才开放的功能(实际上是因为Android系统很多API是不公开的,而第三方APP又没有权限)。有了Xposed后,理论上插件APP可以hook到系统任意一个Java进程,如zygote,systemserver,systemui等系统进程。Hook(钩子)技术,是Windows消息处理机制的一个平台,软件程序可以在上面设置子程以监视指定窗口的某种消息,而且所监视的窗口可以是其他进程所创建的。当消息到达后,在目标窗口处理函数之前处理它。钩子机制允许软件程序截获处理window消息或特定事件。钩子实际上是一个处理消息的程序段,通过系统调用,把它挂入系统。每当特定的消息发出,在没有到达目的窗口前,钩子程序就先捕获该消息,亦即钩子函数先得到控制权。这时钩子函数即可以加工处理(改变)该消息,也可以不作处理而继续传递该消息,还可以强制结束消息的传递。在android系统中,通过hook技术也可以实现对系统函数的捕获。
本发明实施例提供的一种恶意软件检测方法,监测待测软件在运行过程中实现的动作之前,还可以包括:
散发预设隐私广播,以触发待测软件在监听到预设隐私广播后实现对应预设隐私信息的获取。
需要说明的是,恶意软件从控制方式来说可以大体分为两类,一类是有远控命令的高级恶意软件,可以接受服务器命令,然后执行相应动作并返回给服务器,对于这种行为较少的软件需要一定时间的检测才可能得到结果;而另一种比较低级的恶意软件则是通过监听系统的一些隐私广播来出发自身的行为,具体的广播可以如表2所示。
表2
通过将这些隐私广播都触发一遍,同时检测恶意软件的动作并记录,通过这种方式来模拟用户的正常使用,简单快速的实现了对于恶意软件行为的触发及检测。
本申请还公开了一种恶意软件检测系统,如图2所示,可以包括:
主控制端11,用于:提供待测软件的安装包;
静态检测模块12,用于:基于待测软件的安装包确定待测软件申请的权限对应功能;
动态检测模块13,用于:基于待测软件的安装包在测试环境中安装并运行待测软件,实时监测待测软件在运行过程中实现的动作及具有的特征;如果监测到待测软件实现对应功能时获取了预设隐私信息、且具有可达到始终运行目的和/或被迫终止后自动恢复运行目的的非功能特征,则初步确定待测软件为恶意软件。
本申请公开的一种恶意软件检测系统,动态检测模块还可以包括:
动态检测单元,用于:初步确定待测软件为恶意软件之后,监测待测软件是否将获取到的预设隐私信息上传至网络,如果是,则最终确定待测软件为恶意软件。
本申请公开的一种恶意软件检测系统,静态检测模块可以包括:
静态检测单元,用于:对待测软件的安装包进行反编译,得到对应反编译文件,由该反编译文件中获取待测软件的权限列表,并确定与该权限列表中各项权限对应的功能。
本申请公开的一种恶意软件检测系统,动态检测模块可以包括:
软件安装单元,用于:在真机具有的测试环境中安装并运行待测软件。
本申请公开的一种恶意软件检测系统,主控制端还可以包括:
标记模块,用于:监测待测软件在运行过程中实现的动作,确定待测软件对应的能够获取预设隐私信息的功能为目标功能,使用真机装有的Xposed框架的HOOK技术将实现目标功能时需调用的函数做标记,以基于该标记监测待测软件是否调用对应函数实现了预设隐私信息的获取。
本申请公开的一种恶意软件检测系统,动态检测模块还可以包括:
动作触发模块,用于:监测待测软件在运行过程中实现的动作之前,散发预设隐私广播,以触发待测软件在监听到预设隐私广播后实现对应预设隐私信息的获取。
本申请公开的上述系统中,本申请中实现恶意软件检测方法的系统、即恶意软件检测系统可以包括主控制端、静态检测模块及动态检测模块,其中主控制端可以为装有Xposed框架的真机,静态检测模块具有静态分析APK的功能,动态检测模块可以设置在主控制端,具有动态检测恶意软件的行为的功能。从而将静态分析与动态检测相结合,借助静态分析实现APK权限的分析,基于动态检测实现恶意软件行为的检测,进而实现了对恶意软件的检测。
需要说明的是,本发明实施例提供的一种恶意软件检测系统中相关部分的说明请参见本发明实施例提供的一种恶意软件检测方法中对应部分的详细说明,在此不再赘述。另外本发明实施例提供的上述技术方案中与现有技术中对应技术方案实现原理一致的部分并未详细说明,以免过多赘述。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种恶意软件检测方法,其特征在于,包括:
基于待测软件的安装包确定待测软件申请的权限对应功能;
基于所述待测软件的安装包在测试环境中安装并运行所述待测软件,实时监测所述待测软件在运行过程中实现的动作及具有的特征;
如果监测到所述待测软件实现对应功能时获取了预设隐私信息、且具有可达到始终运行目的和/或被迫终止后自动恢复运行目的的非功能特征,则初步确定所述待测软件为恶意软件。
2.根据权利要求1所述的方法,其特征在于,初步确定所述待测软件为恶意软件之后,还包括:
监测所述待测软件是否将获取到的预设隐私信息上传至网络,如果是,则最终确定所述待测软件为恶意软件。
3.根据权利要求1所述的方法,其特征在于,确定所述待测软件申请的权限对应功能,包括:
对所述待测软件的安装包进行反编译,得到对应反编译文件,由该反编译文件中获取所述待测软件的权限列表,并确定与该权限列表中各项权限对应的功能。
4.根据权利要求1所述的方法,其特征在于,在测试环境中安装并运行所述待测软件,包括:
在真机具有的测试环境中安装并运行所述待测软件。
5.根据权利要求4所述的方法,其特征在于,监测所述待测软件在运行过程中实现的动作之前,还包括:
确定所述待测软件对应的能够获取所述预设隐私信息的功能为目标功能,使用所述真机装有的Xposed框架的HOOK技术将实现所述目标功能时需调用的函数做标记,以基于该标记监测所述待测软件是否调用对应函数实现了预设隐私信息的获取。
6.根据权利要求4所述的方法,其特征在于,监测所述待测软件在运行过程中实现的动作之前,还包括:
散发预设隐私广播,以触发所述待测软件在监听到所述预设隐私广播后实现对应预设隐私信息的获取。
7.一种恶意软件检测系统,其特征在于,包括:
主控制端,用于:提供待测软件的安装包;
静态检测模块,用于:基于待测软件的安装包确定待测软件申请的权限对应功能;
动态检测模块,用于:基于待测软件的安装包在测试环境中安装并运行所述待测软件,实时监测所述待测软件在运行过程中实现的动作及具有的特征;如果监测到所述待测软件实现对应功能时获取了预设隐私信息、且具有可达到始终运行目的和/或被迫终止后自动恢复运行目的的非功能特征,则初步确定所述待测软件为恶意软件。
8.根据权利要求7所述的系统,其特征在于,所述动态检测模块还包括:
动态检测单元,用于:初步确定所述待测软件为恶意软件之后,监测所述待测软件是否将获取到的预设隐私信息上传至网络,如果是,则最终确定所述待测软件为恶意软件。
9.根据权利要求7所述的系统,其特征在于,所述静态检测模块包括:
静态检测单元,用于:对所述待测软件的安装包进行反编译,得到对应反编译文件,由该反编译文件中获取所述待测软件的权限列表,并确定与该权限列表中各项权限对应的功能。
10.根据权利要求7所述的系统,其特征在于,所述动态检测模块包括:
软件安装单元,用于:在真机具有的测试环境中安装并运行所述待测软件。
CN201810299726.8A 2018-03-30 2018-03-30 一种恶意软件检测方法及系统 Pending CN108491722A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810299726.8A CN108491722A (zh) 2018-03-30 2018-03-30 一种恶意软件检测方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810299726.8A CN108491722A (zh) 2018-03-30 2018-03-30 一种恶意软件检测方法及系统

Publications (1)

Publication Number Publication Date
CN108491722A true CN108491722A (zh) 2018-09-04

Family

ID=63314826

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810299726.8A Pending CN108491722A (zh) 2018-03-30 2018-03-30 一种恶意软件检测方法及系统

Country Status (1)

Country Link
CN (1) CN108491722A (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109413414A (zh) * 2018-12-10 2019-03-01 南京大学 一种基于安卓系统的静默拍照检测方法
CN110889115A (zh) * 2019-11-07 2020-03-17 国家计算机网络与信息安全管理中心 恶意推送行为检测方法及装置
CN111259382A (zh) * 2018-11-30 2020-06-09 中国电信股份有限公司 恶意行为识别方法、装置、系统和存储介质
CN112257067A (zh) * 2020-11-02 2021-01-22 上海小麦互动企业发展有限公司 一种基于arm云游戏木马病毒服务器检测装置
CN112463606A (zh) * 2020-11-26 2021-03-09 深信服科技股份有限公司 一种软件检测方法、装置、设备及可读存储介质
CN112860550A (zh) * 2021-02-01 2021-05-28 北京小米移动软件有限公司 一种检测应用隐私项的方法、装置及存储介质
CN113158186A (zh) * 2021-03-19 2021-07-23 南京邮电大学 一种Android恶意软件静态检测方法
CN113918933A (zh) * 2021-09-26 2022-01-11 北京鲸鲮信息系统技术有限公司 前端进程查杀方法、装置、设备和存储介质
CN117131497A (zh) * 2023-02-28 2023-11-28 荣耀终端有限公司 一种软件检测方法及电子设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102945347A (zh) * 2012-09-29 2013-02-27 中兴通讯股份有限公司 一种检测Android恶意软件的方法、系统及设备
CN104794051A (zh) * 2014-01-21 2015-07-22 中国科学院声学研究所 一种Android平台恶意软件自动化检测方法
CN104866763A (zh) * 2015-05-28 2015-08-26 天津大学 基于权限的Android恶意软件混合检测方法
CN106845240A (zh) * 2017-03-10 2017-06-13 西京学院 一种基于随机森林的Android恶意软件静态检测方法
US20170264619A1 (en) * 2016-03-11 2017-09-14 Netskope, Inc. Middle ware security layer for cloud computing services
CN107832610A (zh) * 2017-09-25 2018-03-23 暨南大学 基于组合特征模式的Android恶意软件检测方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102945347A (zh) * 2012-09-29 2013-02-27 中兴通讯股份有限公司 一种检测Android恶意软件的方法、系统及设备
CN104794051A (zh) * 2014-01-21 2015-07-22 中国科学院声学研究所 一种Android平台恶意软件自动化检测方法
CN104866763A (zh) * 2015-05-28 2015-08-26 天津大学 基于权限的Android恶意软件混合检测方法
US20170264619A1 (en) * 2016-03-11 2017-09-14 Netskope, Inc. Middle ware security layer for cloud computing services
CN106845240A (zh) * 2017-03-10 2017-06-13 西京学院 一种基于随机森林的Android恶意软件静态检测方法
CN107832610A (zh) * 2017-09-25 2018-03-23 暨南大学 基于组合特征模式的Android恶意软件检测方法

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111259382A (zh) * 2018-11-30 2020-06-09 中国电信股份有限公司 恶意行为识别方法、装置、系统和存储介质
CN109413414A (zh) * 2018-12-10 2019-03-01 南京大学 一种基于安卓系统的静默拍照检测方法
CN109413414B (zh) * 2018-12-10 2020-01-31 南京大学 一种基于安卓系统的静默拍照检测方法
CN110889115A (zh) * 2019-11-07 2020-03-17 国家计算机网络与信息安全管理中心 恶意推送行为检测方法及装置
CN112257067A (zh) * 2020-11-02 2021-01-22 上海小麦互动企业发展有限公司 一种基于arm云游戏木马病毒服务器检测装置
CN112257067B (zh) * 2020-11-02 2023-01-06 上海小麦互动企业发展有限公司 一种基于arm云游戏木马病毒服务器检测装置
CN112463606A (zh) * 2020-11-26 2021-03-09 深信服科技股份有限公司 一种软件检测方法、装置、设备及可读存储介质
CN112463606B (zh) * 2020-11-26 2023-11-03 深信服科技股份有限公司 一种软件检测方法、装置、设备及可读存储介质
CN112860550A (zh) * 2021-02-01 2021-05-28 北京小米移动软件有限公司 一种检测应用隐私项的方法、装置及存储介质
CN113158186A (zh) * 2021-03-19 2021-07-23 南京邮电大学 一种Android恶意软件静态检测方法
CN113918933A (zh) * 2021-09-26 2022-01-11 北京鲸鲮信息系统技术有限公司 前端进程查杀方法、装置、设备和存储介质
CN117131497A (zh) * 2023-02-28 2023-11-28 荣耀终端有限公司 一种软件检测方法及电子设备

Similar Documents

Publication Publication Date Title
CN108491722A (zh) 一种恶意软件检测方法及系统
US10929266B1 (en) Real-time visual playback with synchronous textual analysis log display and event/time indexing
CN103078949B (zh) 显示电话号码信息的方法及系统
CN106126562B (zh) 一种弹窗拦截方法及终端
US8791817B2 (en) System and method for monitoring a location
US8750828B2 (en) Enabling remote and anonymous control of mobile and portable multimedia devices for security, tracking and recovery
CN104462952B (zh) 一种禁止应用自启动的方法及装置
JP4955669B2 (ja) 無線デバイス上の未認証の実行可能命令を検出及び管理するための装置及び方法
CN102006588B (zh) 智能手机网络行为监控的方法和系统
KR20080017047A (ko) 무선 장치상에서 데이터를 보호하는 장치 및 방법
CN111123388B (zh) 房间摄像装置的检测方法、装置及检测设备
WO2013189263A1 (zh) 在移动终端中监控api函数调用的方法和装置
CN109542715A (zh) 采集应用程序性能数据的方法、装置及终端设备
CN104038612A (zh) 来电呼叫拦截方法及装置
CN113645253A (zh) 一种攻击信息获取方法、装置、设备及存储介质
CN105553770B (zh) 一种数据采集控制方法和装置
CN104426710A (zh) 监控取证方法及系统
WO2017140154A1 (zh) 一种基于智能平台的安全信息管理方法及系统
Khan et al. Anti-theft application for android based devices
WO2017097258A1 (zh) 垃圾信息的拦截方法、装置、计算机程序及可读介质
CN105512552A (zh) 参数检测方法及装置
CN104158851B (zh) 一种网络业务的分发系统、方法和设备
CN104506413B (zh) 信息处理的方法、服务器和终端
Nisioti et al. You can run but you cannot hide from memory: Extracting IM evidence of Android apps
JP2013182500A (ja) Api実行制御装置およびプログラム

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20180904