移动终端及其设备管理器权限的拦截方法

文档序号:6638678阅读:384来源:国知局
移动终端及其设备管理器权限的拦截方法【专利摘要】本发明实施例提供了一种移动终端及其设备管理器权限的拦截方法,所述方法包括:监听到设备管理器权限的获取请求后,拦截所述请求,并确定出发送所述请求的程序;确定出所述程序与安全识别库中所记载的恶意程序相匹配后,提示用户有恶意程序尝试获取设备管理器权限;在接收到用户输入的禁止指令后,清除所述请求。本发明的技术方案中,移动终端在拦截安全识别库中所记载的恶意程序发送的设备管理器权限的获取请求时,提示用户,并引导用户清除该获取请求,可以防止恶意程序获得设备管理器权限,从而可以卸载清除恶意程序,保护移动终端不受恶意程序的危害,保护用户隐私财产安全等,提高用户的体验。【专利说明】移动终端及其设备管理器权限的拦截方法【
技术领域
】[0001]本发明涉及移动终端【
技术领域
】,具体而言,本发明涉及一种移动终端及其设备管理器权限的拦截方法。【
背景技术
】[0002]随着通信技术和计算机技术的发展,移动终端越来越普及,用户借助移动终端中安装的应用程序可以实现学习、娱乐、交流等诸多用途。然而,一些恶意程序(例如木马或病毒程序)伪装成或携带于应用程序,进入到用户的移动终端,侵害移动终端系统安全,盗取用户个人信息,远程操作移动终端等,造成用户隐私泄露、财产损失等危害。[0003]为了消除恶意程序的危害,现有的解决方法通常是杀毒程序扫描移动终端中安装的各种应用程序,对于扫描出的应用程序,若在预存的恶意程序的安全识别库中查找到该应用程序的名称或特征码,则将该应用程序确定为恶意程序,并展示给用户,以便于用户对恶意程序进行查杀、卸载或者隔离等操作;从而有效地保护用户的移动终端,进而可以保护用户个人信息财产等。[0004]然而,本发明的发明人发现,目前一些恶意程序具备了防卸载性,即使检测出来了,仍然无法对其进行清除、强制停止或者卸载,从而导致用户的移动终端仍然遭受恶意程序的侵害。[0005]因此,有必要提供一种移动终端及其设备管理器权限的拦截方法,可以在恶意应用请求设备管理器权限时,对其进行拦截,从而保护移动终端不受恶意程序的侵害,进而有效的保护用户隐私财产安全等,提高用户的体验。【
发明内容】[0006]本发明针对现有技术方案的缺点,提出一种移动终端及其设备管理器的拦截方法,用以解决恶意应用无法卸载的问题。[0007]本发明根据一个方面,提出一种移动终端设备管理器权限的拦截方法,包括:[0008]监听到设备管理器权限的获取请求后,拦截所述请求,并确定出发送所述请求的程序;[0009]确定出所述程序与安全识别库中所记载的恶意程序相匹配后,提示用户有恶意程序尝试获取设备管理器权限;[0010]在接收到用户输入的禁止指令后,清除所述请求。[0011]较佳地,所述提示用户有恶意程序尝试获取设备管理器权限,具体包括:[0012]在弹窗中显示所述程序的名称、以及所述程序“尝试激活设备管理器”。[0013]进一步,所述弹窗中还显示有“允许”和“禁止(推荐)”的按键;以及[0014]所述接收到用户输入的禁止指令具体为:接收到用户在所述弹窗中点击“禁止(推荐)”而生成的点击事件。[0015]进一步,在所述清除所述请求后,还包括:[0016]从所述设备管理器的交互界面所涉及的交互事件中,查找出携带有所述请求的事件后进行删除。[0017]进一步,所述监听到设备管理器权限的获取请求之前,还包括:[0018]当检测到有新的程序安装到所述移动终端中时,启动对设备管理器权限的获取请求的监听。[0019]较佳地,所述启动对设备管理器权限的获取请求的监听,具体包括:[0020]开启监听程序,由该监听程序对setactiveadmin函数进行hook。[0021]本发明根据另一个方面,还提供了一种移动终端,包括:[0022]监听拦截模块,用于监听到设备管理器权限的获取请求后,拦截所述请求,并确定出发送所述请求的程序;并在接收到禁止通知时,清除所述请求。[0023]恶意程序匹配模块,用于确定出所述程序与安全识别库中所记载的恶意程序相匹配后,输出提不通知;[0024]提示模块,用于接收到提示通知后,提示用户有恶意程序尝试获取设备管理器权限;并在接收到用户输入的禁止指令后,输出所述禁止通知。[0025]较佳地,所述提示模块具体用于在弹窗中显示所述程序的名称、以及所述程序“尝试激活设备管理器”。[0026]进一步,所述提示模块还用于在所述弹窗中显示“允许”和“禁止(推荐)”的按键;并在接收到用户在所述弹窗中点击“禁止(推荐)”而生成的点击事件后,输出清除通知。[0027]进一步,所述移动终端,还包括:[0028]事件清除模块,用于从所述设备管理器的交互页面所涉及的交互事件中,查找出携带有所述请求的事件后进行删除。[0029]本发明实施例的技术方案中,移动终端在拦截安全识别库中所记载的恶意程序发送的设备管理器权限的获取请求时,提示用户,并引导用户清除该获取请求,可以防止恶意程序获得设备管理器权限,从而可以卸载清除恶意程序,保护移动终端不受恶意程序的危害,保护用户隐私财产安全等,提高用户的体验。[0030]本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。【专利附图】【附图说明】[0031]本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:[0032]图1为本发明实施例的包括拦截恶意程序发送的设备管理器权限的获取请求的弹窗提示界面、以及恶意程序所调用的设备管理器的交互界面的示意图;[0033]图2为本发明实施例的移动终端的设备管理器权限的拦截方法的流程示意图;[0034]图3为本发明实施例的移动终端的内部结构的框架示意图。【具体实施方式】[0035]下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。[0036]本【
技术领域
】技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。[0037]本【
技术领域
】技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。[0038]本【
技术领域
】技术人员可以理解,这里所使用的“终端”、“终端设备”既包括无线信号接收器的设备,其仅具备无发射能力的无线信号接收器的设备,又包括接收和发射硬件的设备,其具有能够在双向通信链路上,执行双向通信的接收和发射硬件的设备。这种设备可以包括:蜂窝或其他通信设备,其具有单线路显示器或多线路显示器或没有多线路显示器的蜂窝或其他通信设备;PCS(PersonalCommunicat1nsService,个人通信系统),其可以组合语音、数据处理、传真和/或数据通信能力;PDA(PersonalDigitalAssistant,个人数字助理),其可以包括射频接收器、寻呼机、互联网/内联网访问、网络浏览器、记事本、日历和/或GPS(GlobalPosit1ningSystem,全球定位系统)接收器;常规膝上型和/或掌上型计算机或其他设备,其具有和/或包括射频接收器的常规膝上型和/或掌上型计算机或其他设备。这里所使用的“终端”、“终端设备”可以是便携式、可运输、安装在交通工具(航空、海运和/或陆地)中的,或者适合于和/或配置为在本地运行,和/或以分布形式,运行在地球和/或空间的任何其他位置运行。这里所使用的“终端”、“终端设备”还可以是通信终端、上网终端、音乐/视频播放终端,例如可以是PDA、MID(MobileInternetDevice,移动互联网设备)和/或具有音乐/视频播放功能的移动电话,也可以是智能电视、机顶盒等设备。[0039]所谓云查杀,是指将病毒样本放入服务器,通过成千上百的服务器智能检测,自动判断文件是否病毒。可见,云查杀系统包括云端和客户端,。云查杀必须联网才有效,,因为只有联网后才能与杀毒软件的服务器相连接,从而达到快速查杀而减低误杀。[0040]Android安装包(APK文件)一般通过Android应用市场下载、安装到手机上,也可以通过USB数据线等数据线接口或无线数据传输的方式从PC安装。Android上的病毒、木马和其他恶意软件想要进入用户的手机,也必须打包成APK的形式。反过来说,如果不是一个合法的APK文件,它就无法安装到用户手机上,也就不会对用户产生危害。基于这一点,杀毒引擎就可以把查杀的目标集中到对APK文件的扫描上,从而大大提高扫描的效率。[0041]那么,Android安装包(APK文件)中的哪些信息可以作为扫描的重点,针对此问题本申请进行了分析,具体如下:[0042]I)包名[0043]Android操作系统通过APK的包名(packagename)对各个安装的APK进行管理。“包名”源自于Java的package的概念,按照Java的package的命名风格,例如某个Android安装包的包名是com.qihoo360.mobilesafe。Android系统要求每个应用都声明一个唯一的包名。如果要安装的APK的包名和当前手机上某个已有的应用的包名重复了,那么Android系统会拒绝安装。Android平台下的恶意软件也需要声明一个包名,因此,包名就可以作为识别恶意软件的一个重要特征。[0044]2)数字签名[0045]出于安全性的目的,Android系统要求每个APK都要包含数字签名(digitalsignature)。Android系统在安装APK文件的时候会检查APK内部各文件的数字签名是否与其预先设定的数字签名一致,如果不一致,或者没有数字签名,则认为文件已被篡改,拒绝该APK的安装和运行。Android平台下的恶意软件也不例外,所以APK文件的数字签名也可以作为识别恶意软件的一个重要特征。[0046]3)AndroidManifest.xml中列出的各模块的入口信息[0047]AndroidManifest.xml是每个APK文件所必需的全局描述文件,里面列出了Android安装包中应用的每个模块的入口信息。在Android系统中,只有在AndroidManifest.xml中列出了的模块,才能够被系统调用。Android平台下的木马,往往会伪装成正常的应用或游戏来诱骗用户安装,其中有很多木马就是寄生在一个正常的应用或游戏中,用户运行它的时候,看上去是原来的软件或游戏,但寄生在其中的木马模块在合适的时机就被激活,从而感染用户的手机。而因为Android系统要求所有的模块都要在AndroidManifest.xml中列出,这就为寻找寄生的木马提供了重要线索。因此,AndroidManifest.xml中列出的各模块的信息,也是识别恶意软件的重要特征。[0048]4)Dex文件和ELF文件[0049]Android应用通常是用Java语言开发的,它用Android开发工具编译之后变成了二进制的字节码(bytecode),这些字节码被打包成classes,dex文件,由Android平台的Dalvik虚拟机来解释执行。为了能够调用Android系统功能,Android系统提供了一套运行环境(AndroidFramework),Android应用调用系统各功能都是通过调用AndroidFramework的库来实现的。[0050]另一方面,Android系统也支持应用程序通过JNI或者nativeexecutable直接运行。此时应用执行的是直接在CPU上运行的二进制机器码,不需要经过虚拟机解释,可以直接调用Android库如libc、WebKit、SQLite、OpenGL/ES等来调用系统各功能。如果Android应用要通过JNI或者nativeexecutable运行,就需要将要执行的代码编译成ELF文件格式。ELF是ExecutableandLinkableFormat的缩写,是Android/Linux操作系统中可执行程序、共享库的文件格式。[0051]Android上的恶意软件要想在Android系统中运行起来,也要遵循上述架构规范。因此,在识别恶意软件的过程中,可以分别从Dex文件(即字节码文件)和ELF文件提取相应的特征。[0052]此外,除上述列举之外,Android安装包的版本号、Android安装包目录下各文件的MD5值等信息,也可以作为识别恶意软件的重要特征。其中,上述的恶意软件包括病毒、木马和其他恶意软件。[0053]本发明的发明人发现,恶意程序通常在安装时发出设备管理器权限的获取请求,利用用户通常无法识别恶意程序的现状,诱导用户授予设备管理器的权限,从而具备防卸载性,并可以具备监控移动终端的位置信息、解锁等有损于用户的危害。[0054]基于上述发现,本发明的发明人考虑到,可以由专业的技术人员或者专业的程序(例如木马查杀程序)预先识别出多种恶意程序,并记载在安全识别库中;当移动终端监听到有程序发送了设备管理器权限的获取请求时,若判断出该程序与安全识别库中的恶意程序相匹配,则确定出该程序为恶意程序,提示用户并提供清除该请求的途径;用户根据提示清除该请求后,可以防止恶意程序获得设备管理器权限,从而可以卸载清除恶意程序,保护用户隐私财产安全等,提高用户的体验。[0055]下面结合附图详细说明本发明技术方案。[0056]本发明实施例的技术方案中,移动终端可以采用多种方法获取安全识别库中记载的恶意程序。[0057]其中,一种获取安全识别库中所记载的恶意程序的方法可以是:云端的服务器中安装的病毒或木马云查杀程序,通过互联网,对多个移动终端中已安装的程序进行云扫描;将从中识别出的病毒程序、木马程序、流氓程序以及安全性未知的程序等都作为恶意程序;将恶意程序的名称与其特征码对应记录后,生成恶意程序的程序列表,并将生成的程序列表存储到安全识别库中。移动终端可以从服务器下载安全识别库并进行存储。[0058]另一种获取安全识别库所记载的恶意程序的方法可以是:安装在移动终端中的病毒或木马查杀程序,根据记载有本移动终端中已安装程序的名称或特征码等程序信息的系统文件,识别出恶意程序,进而生成恶意程序的程序列表,并将生成的程序列表存储到安全识别库中。[0059]病毒或木马(云)查杀程序确定出恶意程序的具体方法过程为本领域技术人员所熟知,此处不再赘述。[0060]本发明实施例的技术方案中,程序在安装到移动终端中的过程中,通常会调用并显示设备管理器的交互界面,通过交互界面接收到用户输入的启动指令后,根据启动指令发送设备管理器权限的获取请求。[0061]例如,图1中的背景所表示的界面,即为“一键锁屏”程序所调用并显示的设备管理器的交互界面,该界面中显示有“取消”和“启动”的按键;“一键锁屏”程序通过该界面接收到用户点击“启动”按键而生成的互交事件后,确定接收到用户输入的启动指令,根据接收的启动指令后,发送设备管理器权限的获取请求。[0062]移动终端在对设备管理器权限的获取请求进行拦截之前,获取智能终端系统的ROOT权限。[0063]具体而言,ROOT权限是系统权限的一种,与SYSTEM权限可以理解成一个概念,但高于Administrators权限,ROOT是Linux和unix系统中的超级管理员用户帐户,获得ROOT权限之后就意味着已经获得了移动终端的最高权限,这时可以对手机中的任何文件(包括系统文件)执行所有增、删、改、查的操作。[0064]基于此,本发明实施例中,需要向系统发送一次Root权限获取请求,具体可通过调用系统内置的SU(SuperUser,超级用户)命令获取Root权限,或者通过获取具有Root权限的shell获取Root权限并在shell中启动进程,然后在获取所述系统的Root权限授权后,即可使后续其他调用进程需执行相关操作时无需重复申请Root权限;具体Root权限获取过程可参照现有技术的Root权限调用函数,本发明在此不再赘述。[0065]移动终端可以采用如图2所示的方法流程,对设备管理器权限的获取请求进行拦截,包括以下步骤:[0066]S201:移动终端监听到设备管理器权限的获取请求后,拦截该请求,并确定出发送该请求的程序。[0067]具体地,移动终端周期性检测是否有新的程序安装到本移动终端中,若是,则启动对设备管理器权限的获取请求的监听。[0068]对于操作系统而言,操作系统为用户分了6个组,并给每个组赋予不同的操作权限,依次为:管理员组(Administrators)、高权限用户组(PowerUsers)、普通用户组(Users)、备份操作组(BackupOperators)、文件复制组(Replicator)、来宾用户组(Guests),其中备份操作组和文件复制组为维护系统而设置,平时不会被使用。除了上面提到的6个默认权限分组,系统还存在一些特殊权限成员,这些成员是为了特殊用途而设置,分别是=SYSTEM(系统)、Everyone(所有人)、CREATOROWNER(创建者)等,这些特殊成员不被任何内置用户组吸纳,属于完全独立出来的账户。[0069]虽然权限给用户做了不同范围的束缚,但是这些束缚并不是各自独立的,它们全都依靠于同样的指令完成工作,这给用户提供了“提升权限”(AdjustTokenPrivilege,简称提权)的基础。所谓“提升权限”,就是指用户使用各种系统漏洞和手段,突破系统指派的权限级别,从而把自己当前的权限提高多个级别甚至管理员级别的方法,提升权限得以成功的前提是管理员设置的失误(例如没有按照“最小权限”思路来配置服务器)或者业界出现了新的溢出漏洞等(例如利用SASS溢出,直接拿到SYSTEM权限),常见的提权有手机刷机、手机Root权限、手机越狱等。[0070]在本发明实施例中,可以通过注入拦截程序等方式实现对特定行为的拦截,所述拦截程序可以为一个拦截动态库程序。在智能终端的操作系统中可以有很多种服务,在本发明实施例中,所述的服务是指通知栏服务,预先在操作系统中找到通知栏服务所在的进程,在所述进程的位置加载拦截动态库程序(可以通过安卓系统所基于的Linux系统提供的应用程序编程接口(Applicat1nProgrammingInterface,API)dlopen(以指定模式打开一个动态链接库)来将该拦截动态库加载到所述服务所在的进程中),替换浏览器进程中的相关函数为拦截动态库程序中相对应的函数。[0071]以Android为例,服务进程基于Android系统所提供的Binder机制,向SystemManager注册,通过Android提供的固有的Binder机制,在服务进程与其监听的客户端服务进程之间建立C/S架构的沟通管道。具体而言,当获取到系统的Root权限后,为了便于后续实现对系统中其它进程的监听以及相关操作功能,本发明首先启动具有已经获得Root权限的由本方法实例化后得以运行而形成的主进程,通过主进程在系统中插入所述系统服务进程,例如具体可通过系统调用函数ServiceManager.addService()来实现插入操作,由此实现对本方法实例化程序所构造的系统服务进程的成功注册,系统服务进程由此成为系统底层级别的系统服务进程。需要注意的是,所述系统服务进程通过上述的配置,已经成为系统级别的服务进程,其权限显然高于其他用户层服务进程或应用进程的权限,因此该系统服务进程可以作为通信基础,为其他调用它的进程提供通信保障,完成系统与其他调用它的进程之间的通信连接。由此也可以进一步推知,其他任何遵守本发明的系统服务进程的接口规范的客户端,均可通过Binder机制与本发明的系统服务进程进行通信,从而服务进程相配合执行一系列的操作。[0072]在本发明实施例中,可以将拦截模块注入到系统服务进程中。[0073]具体地,将拦截模块注入到系统服务进程,具体包括以下步骤:[0074]首先,暂停系统服务进程;[0075]然后,将修改后的系统服务进程的库文件覆盖原库文件;其中,修改后的库文件中的函数中包含有拦截模块的功能代码;此外,修改后的库文件还包括架包、SO和动态链接库。[0076]将拦截模块注入到系统服务进程中的原库文件中的过程具体为:[0077]进入系统服务进程中,在系统服务进程中调用MAP函数,direopen函数的地址;把相应的SO的地址写到对应的内存中,以找到对应的direopen函数;调用对应的direopen函数,调用SO库,将SO库加载到systemServer目标进程中,获得目标进程的虚拟机,以用于加载相应的架包。[0078]需要说明的是,通过C代码来加载用于钩入卸载应用程序的钩子点、架包,以及调用与钩子点对应的函数点;通过JAVA代码来加载用于注入卸载应用程序的钩子点,以及调用与卸载应用程序的hook拦截对应的函数;拦截模块利用hook技术拦截到应用程序的卸载操作信息。[0079]在上述拦截模块利用hook技术拦截到应用程序的卸载操作信息的过程中,根据获取的反射点调用相应接口函数,并进行放行,如果要进一步完善上述过程,需要把所有的点堵住,数据的点不同,进行放行操作,Hook的点也是不同的。[0080]具体地,在利用反射机制调用addPerferredActivate函数的方法中,使用的Hook技术为ElfHook,Hook点均为system_server进程,libbinder.so的1ctl方法;在1ctl内,对原本需要分发给各系统服务特定方法的数据进行解析,需要解析并放行的点为:包管理器中addPreferredActivity函数的调用点。而在本实施例中当移动终端开启监听程序,该监听程序对setactiveadmin(激活管理器权限)函数进行hook(挂钩),当hook到该函数时,则确定有程序发送设备管理器权限的获取请求。[0081]移动终端若未检测到有新的程序安装到本移动终端中,则不启动对设备管理器权限的获取请求的监听。[0082]移动终端检测到有程序发送设备管理器权限的获取请求后,拦截该请求,例如,中止setactiveadmin函数的传递;并且,移动终端根据setactiveadmin函数中的相关参数确定出发送该请求的程序的名称或特征码等程序信息。[0083]S202:移动终端对于发送设备管理器权限的获取请求的程序,确定出该程序与安全识别库中所记载的恶意程序相匹配后,提示用户恶意程序尝试获取设备管理器权限。[0084]本发明实施例可以用黑名单来进行恶意程序的匹配,也可以通过安全识别库的方式,如果所述请求的程序在安全识别库中属于危险或者木马,则提示用户恶意程序尝试获取设备管理器权限。[0085]所述安全识别库通常需要预先设置在客户端本地,如手机文件系统中,安全识别库中预置了多条特征记录,其中,单个特征信息可以构成一条特征记录,多个特征信息的组合也可以构成一条特征记录。例如,一个安全识别库中预置了几十条特征记录,其中,第一条特征记录中列出了某种病毒的Android安装包包名,第二条特征记录中列出了某个正常应用的Android安装包版本号及其数字签名的MD5值,第三条特征记录中列出了某个正常应用的Android安装包包名及其receiver特征,第四条特征记录中列出了某种木马的Android安装包包名、版本号及其ELF文件中的特定字符串,等等。[0086]本实施例中,服务器可以将客户端中正在运行的进程和/或应用所关联的安全规则下发给客户端,客户端根据该些安全规则进行查杀或者拦截等操作。通过该方式,一方面可以保证客户端中对于恶意行为及时的处理;另一方面也可以减少向客户端下发的信息量,进而节约了网络流量,以及客户端和服务器中的资源。[0087]客户端向服务端发送的更新请求中除了包括应用版本信息外,还可以包括其他信息,例如,用户标识、避免被恶意攻击的验证信息等信息。举例而言,验证信息可以为随机数。为确保服务器中存储的优化规则的安全性,可以对请求信息和/或响应信息进行压缩加密。[0088]由此,通过在服务器端进行版本信息的比较,可以确定出需要更新的规则,将该规则下发给客户端。[0089]总之,安全识别库中既收集了识别病毒、木马等各种恶意软件的特征信息,也收集了识别正常应用的特征信息,而不同于很多仅仅用于识别恶意软件的数据库。[0090]因此,所述安全识别库中收集的特征信息可以包括以下列举的:[0091]各种样本Android安装包的包名,和/或,版本号,和/或,数字签名,和/或,Android组件receiver的特征,和/或,Android组件service的特征,和/或,Android组件activity的特征,和/或,可执行文件中的指令或字符串,和/或,Android安装包目录下各文件的MD5值;[0092]如前所述,所述“和/或”也是指从各种样本的Android安装包中可以单独提取出其中任意一项特征信息用作安全检测,也可以提取出多项特征信息的组合用作安全检测。[0093]本申请实施例列举出安全、危险、谨慎和木马四个安全级别。其中,各种安全级别的定义如下:[0094]安全:该应用是一个正常的应用,没有任何威胁用户手机安全的行为;[0095]危险:该应用存在安全风险,有可能该应用本身就是恶意软件;也有可能该应用本来是正规公司发布的正常软件,但是因为存在安全漏洞,导致用户的隐私、手机安全受到威胁;[0096]谨慎:该应用是一个正常的应用,但是存在一些问题,例如会让用户不小心被扣费,或者有不友好的广告遭到投诉等;当发现这类应用之后,会提示用户谨慎使用并告知该应用可能的行为,但是由用户自行决定是否清除该应用;[0097]木马:该应用是病毒、木马或者其他恶意软件,此处为了简单统称为木马,但并不表示该应用仅仅是木马。[0098]所以,在设置安全识别库时,可以将安全、危险、谨慎和木马四个级别下的Android安装包都作为样本Andrοid安装包,从而由样本中的单个特征或特征组合得到的特征记录可分别对应着一种安全级别及相关的行为和描述等信息。[0099]例如,上述的第一条特征记录和第四条特征记录分别对应的安全级别均为木马级另Ij,上述的第二条特征记录和第三条特征记录分别对应的安全级别均为安全级别。[0100]当然,安全识别库中还可以设置一条特征记录,列出某种木马的Android安装包版本号及其数字签名的MD5值,虽然这条特征记录使用的特征组合与上述第二条特征记录相同,都使用了版本号与数字签名MD5值的组合,但是这条特征记录对应的安全级别则为“木马”。[0101]所以,安全级别并不与某一种特定的特征或特征组合相对应,而是与具体的特征或特征组合的取值相对应。因此,如上所述,对于相同的特征或特征组合,具体取值不同,对应的安全级别也是不同的。[0102]而且,上述安全、危险、谨慎和木马四个级别的定义仅作为举例说明,根据实际应用,当然也可以有其他的安全级别分类及定义,本申请的保护范围并不限定于此。[0103]那么,所述在预置的安全识别库中查找与指定的单个特征信息或其组合相匹配的特征记录,并将查找到的特征记录对应的安全级别包含在所述Android安装包的安全检测结果的步骤,可以理解为:[0104]在安全识别库中查找特征记录,如果提取出的指定单个特征与第一条特征记录相匹配,则可以判定当前的Android安装包为木马级别;如果提取出的指定特征进行组合后与第二条特征记录或者第三条特征记录相匹配,则可以判定当前的Android安装包为安全级别;如果提取出的指定特征进行组合后与第四条特征记录相匹配,则可以判定当前的Android安装包也为木马级别。[0105]所以,针对某个Android安装包的安全检测结果可以是包含安全、危险、谨慎或木马四个表示安全级别的信息,此外所述安全检测结果中还可以包括与安全级别相关的行为描述、软件描述、时间戳等至少一项提示信息,如对应“谨慎”级别的提示信息可以是“可能造成扣费,是否选择删除该应用”。[0106]更具体地,在一优选实施例中,所述安全检测结果可以包含安全级别、行为描述信息、软件描述信息和时间戳信息。其中:[0107]安全级别:可以用32位整数表示,可表示安全、危险、谨慎或木马四个安全级别,每个安全级别的定义如上所述。[0108]行为描述信息:也可以用32位(O?31)整数表示,可以表示出各个安全级别的软件行为描述。其中,可以选取一位表示标志位,标志位为O表示没有恶意行为,如果有恶意行为,则可以定义:第I位代表“后台偷偷下载”,第2位代表“私自发送短信”,第3位代表“包含广告”,等等。即,每一位都可以单独表示一种软件的行为描述。[0109]例如,对于检测为“木马级别”的Android应用程序,如果恶意行为=3,翻译成二进制就是11,第I位=1,第2位=1,表示的恶意行为是:同时具有后台偷偷下载和私自发送短信的行为。[0110]再例如,对于检测为“谨慎级别”的Android应用程序,如果行为描述=4,翻译成二进制就是100,第I位=O,第2位=O,第2位=I,表示的行为是:包含广告。由于这个广告可能是用户允许的,也可能是用户不允许的,所以会提示用户谨慎使用,由用户自行决定是否清除。[0111]软件描述信息:通常表示为字符串,是对Android应用程序的说明,如发布者、发布时间等信息。[0112]时间戳信息:表明Android应用程序的特征信息(如正常特征、木马特征等)是什么时候入库的。具体地,移动移动对于上述步骤S201中确定出的发送设备管理器权限的获取请求的程序,判断是否可以在安全识别库中所记载的恶意程序的程序列表中,查找到该程序的名称或特征码:若是,则判断出该程序与安全识别库中所记载的恶意程序相匹配,进而判断出该程序为恶意程序,并弹窗提示用户有恶意程序尝试获取设备管理器权限。[0113]例如,如图1所示,移动终端判断出发送设备管理器权限的获取请求的程序为恶意程序(安全性未知的程序)后,在弹窗中显示该恶意程序的名称“一键锁屏”,对应显示“尝试激活“设备管理器””、以及“应用安全性未知,激活“设备管理器”可能造成该应用无法正常卸载,请谨慎使用!”等提示信息。[0114]此外,移动终端对于上述步骤S201中确定出的发送设备管理器权限的获取请求的程序,若在安全识别库中所记载的恶意程序的程序列表中,查找不到该程序的名称或特征码,则判断出该程序与安全识别库中所记载的恶意程序不匹配,进而判断出该程序不是恶意程序,不提示用户该程序尝试获取设备管理器权限。[0115]S203:移动终端在接收到用户输入的禁止指令后,清除设备管理器权限的获取请求。[0116]具体地,移动终端接收用户输入的禁止指令后,清除步骤S201中拦截的设备管理器权限的获取请求。[0117]例如,图1显示的弹窗中对应恶意程序“一键锁屏”还显示有“允许”和“禁止(推荐)”的按键,移动终端通过该弹窗接收到用户点击“禁止(推荐)”按键而生成的点击事件后,确定接收到用户输入的禁止指令,清除步骤S201中拦截的设备管理器权限的获取请求。[0118]更优的,移动终端从设备管理器涉及的系统记录中,确定出设备管理器的交互页面所涉及的交互事件;从中查找出携带有设备管理器权限的获取请求的事件后,删除该事件。[0119]更优的,上述步骤S202中,移动终端对于上述步骤S201中确定出的发送设备管理器权限的获取请求的程序,若在安全识别库中所记载的恶意程序的程序列表中,查找不到该程序的名称或特征码,则还可以将该程序作为不认识的程序,向云端的服务器发送。[0120]服务器接收到移动终端所上传的不认识的程序后,利用云端的病毒或木马查杀程序对该程序进行检测,得到检测结果返回移动终端。[0121]例如,服务器中的病毒或木马查杀程序若检测出该不认识的程序是安全合法的,则将该不认识的程序作为安全合法程序(即白色级别的程序),并将该程序安全的信息作为检测结果返回移动终端。[0122]或者,服务器中的病毒或木马查杀程序若检测出该不认识的程序的安全性未知,则将该不认识的程序作为需谨慎处理的程序(即灰色级别的程序),查找出该程序的操作建议信息,作为检测结果返回移动终端。[0123]或者,服务器中的病毒或木马查杀程序若检测出该不认识的程序是病毒程序、木马程序或流氓程序,则将该不认识的程序作为恶意程序(即黑色级别的程序),并将该程序是恶意程序的信息作为检测结果返回移动终端。[0124]移动终端根据接收到的检测结果进行操作。例如,移动终端接收到不认识的程序安全的信息后,则放行该程序发送的设备管理器权限的获取请求;或者,移动终端接收到不认识的程序的操作建议信息后,根据操作建议进行操作;或者,移动终端接收到不认识的程序是恶意程序的信息后,可以依照上述步骤S203中的方法执行。[0125]基于上述移动终端的设备管理器权限的拦截方法,本发明实施例提供了一种移动终端,其内部结构的框架示意图如图3所示,包括:监听拦截模块301、恶意程序匹配模块302、提示模块303。[0126]监听拦截模块301用于监听到设备管理器权限的获取请求后,拦截该请求,并确定出发送设备管理器权限的获取请求的程序;并在接收到禁止通知时,清除该请求。[0127]较佳地,监听拦截模块301还用于当检测到有新的程序安装到移动终端中时,启动对设备管理器权限的获取请求的监听。[0128]恶意程序匹配模块302用于确定出发送设备管理器权限的获取请求的程序与安全识别库中所记载的恶意程序相匹配后,输出提示通知。[0129]提示模块303用于接收到恶意程序匹配模块302输出的提示通知后,提示用户有恶意程序尝试获取设备管理器权限;并在接收到用户输入的禁止指令后,输出禁止通知。[0130]具体地,提示模块303用于在弹窗中显示与安全识别库中所记载的恶意程序相匹配的程序的名称、以及该程序“尝试激活设备管理器”。[0131]较佳地,提示模块303还用于在弹窗中显示“允许”和“禁止(推荐)”的按键;并在接收到用户在弹窗中点击“禁止(推荐)”而生成的点击事件后,输出清除通知。[0132]更优的,如图3所示,本发明实施例的移动终端中,还包括:事件清除模块305。[0133]事件清除模块304用于从设备管理器的交互页面所涉及的交互事件中,查找出携带有设备管理器权限的获取请求的事件后进行删除。[0134]上述监听拦截模块301、恶意程序匹配模块302、提示模块303、和事件清除模块304的功能的具体实现方法,可以参考上述如图2所示的方法流程步骤的具体内容,此处不再赘述。[0135]本发明实施例的技术方案中,移动终端在拦截安全识别库中所记载的恶意程序发送的设备管理器权限的获取请求时,提示用户,并引导用户清除该获取请求,可以防止恶意程序获得设备管理器权限,从而可以卸载清除恶意程序,保护移动终端不受恶意程序的危害,保护用户隐私财产安全等,提高用户的体验。[0136]本【
技术领域
】技术人员可以理解,本发明包括涉及用于执行本申请中所述操作中的一项或多项的设备。这些设备可以为所需的目的而专门设计和制造,或者也可以包括通用计算机中的已知设备。这些设备具有存储在其内的计算机程序,这些计算机程序选择性地激活或重构。这样的计算机程序可以被存储在设备(例如,计算机)可读介质中或者存储在适于存储电子指令并分别耦联到总线的任何类型的介质中,所述计算机可读介质包括但不限于任何类型的盘(包括软盘、硬盘、光盘、⑶-ROM、和磁光盘)、R0M(Read-OnlyMemory,只读存储器)、RAM(RandomAccessMemory,随即存储器)、EPROM(ErasableProgrammableRead-OnlyMemory,可擦写可编程只读存储器)、EEPROM(ElectricalIyErasableProgrammableRead-OnlyMemory,电可擦可编程只读存储器)、闪存、磁性卡片或光线卡片。也就是,可读介质包括由设备(例如,计算机)以能够读的形式存储或传输信息的任何介质。[0137]本【
技术领域
】技术人员可以理解,可以用计算机程序指令来实现这些结构图和/或框图和/或流图中的每个框以及这些结构图和/或框图和/或流图中的框的组合。本【
技术领域
】技术人员可以理解,可以将这些计算机程序指令提供给通用计算机、专业计算机或其他可编程数据处理方法的处理器来实现,从而通过计算机或其他可编程数据处理方法的处理器来执行本发明公开的结构图和/或框图和/或流图的框或多个框中指定的方案。[0138]本【
技术领域
】技术人员可以理解,本发明中已经讨论过的各种操作、方法、流程中的步骤、措施、方案可以被交替、更改、组合或删除。进一步地,具有本发明中已经讨论过的各种操作、方法、流程中的其他步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。进一步地,现有技术中的具有与本发明中公开的各种操作、方法、流程中的步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。[0139]以上所述仅是本发明的部分实施方式,应当指出,对于本【
技术领域
】的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。【权利要求】1.一种移动终端的设备管理器权限的拦截方法,其特征在于,包括:监听到设备管理器权限的获取请求后,拦截所述请求,并确定出发送所述请求的程序;确定出所述程序与安全识别库中所记载的恶意程序相匹配后,提示用户有恶意程序尝试获取设备管理器权限;在接收到用户输入的禁止指令后,清除所述请求。2.根据权利要求1所述的方法,其特征在于,所述提示用户有恶意程序尝试获取设备管理器权限,具体包括:在弹窗中显示所述程序的名称、以及所述程序“尝试激活设备管理器”。3.根据权利要求2所述的方法,其特征在于,所述弹窗中还显示有“允许”和“禁止(推荐)”的按键;以及所述接收到用户输入的禁止指令具体为:接收到用户在所述弹窗中点击“禁止(推荐)”而生成的点击事件。4.根据权利要求1-3任一所述的方法,在所述清除所述请求后,还包括:从所述设备管理器的交互界面所涉及的交互事件中,查找出携带有所述请求的事件后进行删除。5.根据权利要求1所述的方法,其特征在于,所述监听到设备管理器权限的获取请求之前,还包括:当检测到有新的程序安装到所述移动终端中时,启动对设备管理器权限的获取请求的监听。6.根据权利要求5所述的方法,其特征在于,所述启动对设备管理器权限的获取请求的监听,具体包括:开启监听程序,由该监听程序对setactiveadmin函数进行hook。7.一种移动终端,其特征在于,包括:监听拦截模块,用于监听到设备管理器权限的获取请求后,拦截所述请求,并确定出发送所述请求的程序;并在接收到禁止通知时,清除所述请求。恶意程序匹配模块,用于确定出所述程序与安全识别库中所记载的恶意程序相匹配后,输出提不通知;提示模块,用于接收到提示通知后,提示用户有恶意程序尝试获取设备管理器权限;并在接收到用户输入的禁止指令后,输出所述禁止通知。8.根据权利要求7所述的移动终端,其特征在于,所述提示模块具体用于在弹窗中显示所述程序的名称、以及所述程序“尝试激活设备管理器”。9.根据权利要求8所述的移动终端,其特征在于,所述提示模块还用于在所述弹窗中显示“允许”和“禁止(推荐)”的按键;并在接收到用户在所述弹窗中点击“禁止(推荐)”而生成的点击事件后,输出清除通知。10.根据权利要求9所述的移动终端,其特征在于,还包括:事件清除模块,用于从所述设备管理器的交互页面所涉及的交互事件中,查找出携带有所述请求的事件后进行删除。【文档编号】G06F21/56GK104392176SQ201410773355【公开日】2015年3月4日申请日期:2014年12月12日优先权日:2014年12月12日【发明者】王浩,李辰申请人:北京奇虎科技有限公司,奇智软件(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1