应用程序的访问处理方法及装置与流程

文档序号:12467655阅读:132来源:国知局
应用程序的访问处理方法及装置与流程
本发明涉及应用访问安全领域,尤其涉及应用程序的访问处理方法及装置。
背景技术
:随着智能终端的普及与应用,越来越多的用户在使用智能终端。在智能终端上,用户可以下载各种类型的具有不同功能的应用程序,比如即时通讯类应用程序、影音类应用程序、办公类应用程序等。虽然这些应用程序的使用给我们的生活带来了很多便利,但并不能保证应用程序访问的绝对安全性。比如,有些应用程序会在后台偷偷调用内核网络接口访问服务器,不仅会造成用户网络流量的损失,还会在未经用户允许的情况下自动把系统内隐私数据信息发送至远程服务器,进而侵犯用户隐私。现有技术中,通常在应用程序安装时对应用程序进行安全扫描,扫描应用程序是否有隐藏的带有恶意的接口调用,但此方式仅仅只能在应用程序安装时进行一次安全扫描,如果应用程序安装扫描完成后,再进一步在后台通过远程访问方式更新自身代码的话,则依然存在安全隐患。技术实现要素:本发明的主要目的在于提供一种应用程序的访问处理方法及装置,旨在解决现有技术中,应用程序进行安全扫描后依然存在安全隐患的技术问题。为实现上述目的,本发明提供的一种应用程序的访问处理方法,所述应用程序的访问处理方法包括:检测当前是否存在应用程序通过系统调用访问系统内核接口;当当前存在应用程序通过系统调用访问系统内核接口时,判断所述应用程序是否具有访问所述系统内核接口的权限;当所述应用程序不具有访问所述系统内核接口的权限时,拦截所述系统调用,以防止所述应用程序访问系统内核接口。优选地,所述当当前存在应用程序通过系统调用访问系统内核接口时,判断所述应用程序是否具有访问所述系统内核接口的权限包括:当当前存在应用程序通过系统调用访问系统内核接口时,获取所述应用程序的身份信息、应用程序访问内核接口的权限映射表;根据所述身份信息、所述权限映射表,判断所述应用程序是否具有访问系统内核接口的权限。优选地,所述应用程序的访问处理方法还包括:检测是否存在修改所述权限映射表的指令,若存在,则生成权限修改预警提示。优选地,所述当所述应用程序不具有访问所述系统内核接口的权限时,拦截所述系统调用,以防止所述应用程序访问系统内核接口包括:当所述应用程序不具有访问所述系统内核接口的权限时,拦截所述系统调用,以防止所述应用程序访问系统内核接口,并生成拦截预警提示。优选地,所述当当前存在应用程序通过系统调用访问系统内核接口时,判断所述应用程序是否具有访问所述系统内核接口的权限之后包括:当所述应用程序具有访问所述系统内核接口的权限时,根据预置的函数映射表,确定所述系统调用所对应的内核函数,以供调用执行所述内核函数。此外,为实现上述目的,本发明还提供一种应用程序的访问处理装置,所述应用程序的访问处理装置包括:检测模块,用于检测当前是否存在应用程序通过系统调用访问系统内核接口;判断模块,用于当当前存在应用程序通过系统调用访问系统内核接口时,判断所述应用程序是否具有访问所述系统内核接口的权限;处理模块,用于当所述应用程序不具有访问所述系统内核接口的权限时,拦截所述系统调用,以防止所述应用程序访问系统内核接口。优选地,所述判断模块包括:获取单元,用于当当前存在应用程序通过系统调用访问系统内核接口时,获取所述应用程序的身份信息、应用程序访问内核接口的权限映射表;判断单元,用于根据所述身份信息、所述权限映射表,判断所述应用程序是否具有访问系统内核接口的权限。优选地,所述检测模块还用于:检测是否存在修改所述权限映射表的指令,若存在,则生成权限修改预警提示。优选地,所述处理模块具体还用于:当所述应用程序不具有访问所述系统内核接口的权限时,拦截所述系统调用,以防止所述应用程序访问系统内核接口,并生成拦截预警提示。优选地,所述处理模块还用于:当所述应用程序具有访问所述系统内核接口的权限时,根据预置的函数映射表,确定所述系统调用所对应的内核函数,以供调用执行所述内核函数。本发明中,通常带有恶意的应用程序运行时,其为实现某一功能或目的,一般都会通过系统调用来访问系统内核接口,进而对用户造成安全隐患。因此,可通过检测是否存在应用程序通过系统调用访问系统内核接口,当存在时,则对该应用程序是否具有访问系统内核接口的权限进行判断,若该应用程序不具有相应权限,则拦截该应用程序发出的系统调用,以防止该应用程序非法访问系统内核接口。本发明可在应用程序进行安全扫描的基础上,进一步防止非法应用程序访问系统内核接口,进而提升系统运行的安全性。附图说明图1为本发明应用程序的访问处理方法一实施例的流程示意图;图2为本发明应用程序的访问处理方法中安卓系统一实施例的空间划分示意图;图3为图1中步骤S20的细化流程示意图;图4为本发明应用程序的访问处理装置一实施例的功能模块示意图;图5为图4中判断模块的细化功能模块示意图。本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。具体实施方式应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。本发明的核心思想是:通常带有恶意的应用程序运行时,其为实现某一功能或目的,一般都会通过系统调用来访问系统内核接口,进而对用户造成安全隐患。因此,本发明中,具体在应用程序通过系统调用访问内核时,完成拦截,进而从根本上杜绝应用程序的非法访问,提升系统运行的安全性。此外,为便于对本发明进行说明,下面具体以安卓系统进行举例说明。本发明提供一种应用程序的访问处理方法。参照图1,图1为本发明应用程序的访问处理方法一实施例的流程示意图。在本实施例中,应用程序的访问处理方法包括:步骤S10,检测当前是否存在应用程序通过系统调用访问系统内核接口;安卓系统通常将整个虚拟地址空间划分为两部分:用户空间和内核空间。并且规定,用户空间不能直接访问内核空间,而内核空间则可以访问用户空间。通过这样的级别划分,可以使得内核空间更加稳定、安全。但是,若应用程序进程需要访问内核或使用某个内核函数,则通常需要通过系统调用(SystemCall)来完成。在安卓系统中,系统调用是用户空间访问内核空间的唯一途径。如图2所示。系统调用是内核提供的一组函数接口,它使得用户空间上运行的进程可以和内核之间进行交互。例如,用户进程通过系统调用访问硬件设备或操作系统的某些资源等。安卓系统中所有应用程序运行时,都会通过安卓系统应用编程接口API产生系统调用来访问安卓系统内核,比如网络接口、文件系统接口、CPU调频接口等。本实施例中,对于应用程序通过系统调用访问系统内核接口的类型不限,例如,网络接口、文件系统接口、CPU调频接口等。此外,本实施例中,对于检测应用程序产生的系统调用的方式不限,具体根据实际需要进行设置。步骤S20,当当前存在应用程序通过系统调用访问系统内核接口时,判断所述应用程序是否具有访问所述系统内核接口的权限;本实施例中,当检测到存在应用程序产生的系统调用时,为避免该系统调用所对应的系统内核接口执行相应内核函数,因此,需要先确定该应用程序是否具有访问该系统内核接口的权限。本实施例中,对于判断方式不限,比如,可预先设置相应的权限映射表进行判断。需要进一步说明的是,如图2所示,本实施例中,具体通过系统内核自带的过滤函数对所有应用程序的系统调用进行过滤,进而确定该应用程序是否具有访问相应系统内核接口的权限。此外,由于过滤函数需要在安卓系统的特权级别模式下进行,因此,在对应用程序的系统调用进行过滤之前,需要将系统模式由用户级别模式转换为特权级别模式。其中,用户级别模式和特权级别模式是安卓系统的两种安全级别模式,通常所有的应用程序都运行在用户级别模式,而安卓内核的系统函数则运行在特权级别模式。同时,特权级别模式下,过滤函数可以扫描任何应用程序的任何系统调用。本实施例中,对于用户级别模式转换为特权级别模式的实现方式不限。比如,通过陷阱指令产生系统调用以引发处理机中断的指令,进而由用户级别模式转换为特权级别模式。步骤S30,当所述应用程序不具有访问系统内核接口的权限时,拦截所述系统调用,以防止所述应用程序访问系统内核接口。本实施例中,当确定当前应用程序不具有访问系统内核接口的权限时,则拦截该应用程序所产生的系统调用,进而从根本上杜绝具有恶意的应用程序访问系统内核接口,从而造成安全隐患。本实施例中,对于拦截应用程序产生的系统调用的方式不限,比如,在内核空间中,当安卓系统处于特权级别模式下时,通过系统内核自带的拦截函数对非法应用程序的系统调用进行拦截。本实施例中,通常带有恶意的应用程序运行时,其为实现某一功能或目的,一般都会通过系统调用来访问系统内核接口,进而对用户造成安全隐患。因此,可通过检测是否存在应用程序通过系统调用访问系统内核接口,当存在时,则对该应用程序是否具有访问系统内核接口的权限进行判断,若该应用程序不具有相应权限,则拦截该应用程序发出的系统调用,以防止该应用程序非法访问系统内核接口。本发明可在应用程序进行安全扫描的基础上,进一步防止非法应用程序访问系统内核接口,进而提升系统运行的安全性。参照图3,图3为图1中步骤S20的细化流程示意图。本实施例中,上述步骤S20进一步包括:步骤S201,当当前存在应用程序通过系统调用访问系统内核接口时,获取所述应用程序的身份信息、应用程序访问内核接口的权限映射表;本实施例中,对获取的应用程序的身份信息不限,比如可以是进程PID、应用程序名称、应用程序类别、应用程序可信度等级等。例如,获取的应用程序的身份信息可以是进程PID:1234,应用程序名称:A,应用程序类别:文件管理类、应用程序可信度等级:级别3。本实施例中,应用程序访问内核接口的权限映射表可以预先根据应用程序的类别、应用程序的可信度、内核接口的机密级别等进行设置。例如,根据应用程序的类别设置的应用程序访问内核接口的权限映射表,如表1所示。表1应用程序类别系统内核接口访问权限文件管理接口A、B、C文字处理所有接口图片展示接口A、B、C、D、E例如,根据应用程序的可信度设置的应用程序访问内核接口的权限映射表,如表2所示:表2应用程序可信度系统内核接口访问权限级别1接口A、B、C级别2接口A、B、C级别3接口A、B、C、D、E步骤S202,根据所述身份信息、所述权限映射表,判断所述应用程序是否具有访问系统内核接口的权限。本实施例中,若存在应用程序通过系统调用访问安卓系统内核接口,则获取到如表1所示的应用程序与内核接口的访问权限之间的映射关系,且获取到应用程序的身份信息,根据该应用程序的身份信息得知该应用程序属于图片展示类别,则根据表1可判断该应用程序不具有访问安卓系统内核接口的权限。进一步,在本发明应用程序的访问处理方法另一实施例中,基于上述本发明应用程序的访问处理方法一实施例,在本实施例中,步骤S20之后包括:当所述应用程序具有访问所述系统内核接口的权限时,根据预置的函数映射表,确定所述系统调用所对应的内核函数,以供调用执行所述内核函数。在本实施例中,若应用程序具有访问系统内核网络接口的权限,则该应用程序便只能通过系统调用访问系统内核网络接口。在本发明一可选实施例中,若应用程序通过系统调用访问系统内核网络接口,且判断出该应用程序具有访问系统内核网络接口的权限,则调用系统调用号对应的内核函数,以达到该应用程序访问系统内核网络接口的目的。系统调用号为应用程序通过系统调用访问系统内核时产生。在本实施例中,当应用程序具有合法权限访问系统内核接口时,应用程序通过应用编程接口来使用系统调用,并产生系统调用号,通过在系统调用表中找出的与该系统调用号对应的安卓系统内核函数,从而在安卓系统内核中调用该内核函数,以实现应用程序对安卓系统内核接口的系统调用。进一步,在本发明应用程序的访问处理方法另一实施例中,基于上述本发明应用程序的访问处理方法一实施例,在本实施例中,步骤S30具体还包括:当所述应用程序不具有访问系统内核接口的权限时,拦截所述系统调用,并生成拦截预警提示。本实施例中,当应用程序不具有合法权限访问系统内核时,中止应用程序访问系统内核的方式不限,可以是对该应用程序通过应用编程接口API产生的系统调用进行拦截,也可以直接杀死这个应用程序进程。并退出内核空间返回用户空间,系统将产生入侵报告并推送给用户,例如应用程序名称C,于时间T,非法调用安卓系统内核接口,已阻止”,还可以发出提示声音提示用户。进一步,在本发明应用程序的访问处理方法另一实施例,应用程序的访问处理方法还包括:检测是否存在修改所述权限映射表的指令,若存在,则生成权限修改预警提示。在本实施例中,应用程序与内核接口的访问权限之间的映射关系可以通过预置的规则进行制定。例如,在本发明一可选实施例中,预置规则为:只有智能终端自带的应用程序具有访问内核接口的权限,从而在该智能终端上只有其系统自带的应用程序才具有访问内核接口的权限,安装在智能终端上的其他第三方软件均不具有访问系统内核接口的权限。在本实施例中,应用程序与内核接口的访问权限之间的映射关系还可以由用户预先制定,在本实施例中,用户制定应用程序与安卓系统内核接口的访问权限之间的映射关系的方式不限,例如根据应用程序的名称、应用程序的功能分类、应用程序的可信度等级等进行制定,对安卓系统内核接口的类型不限,例如网络接口、文件系统接口、CPU调频接口等,应用程序可以设置为不具有对安卓系统内核接口的调用权限,也可以设置为具有一种或多种对安卓系统内核接口的调用权限。在本发明一可选实施例中,若用户对一名称为A的应用程序制定的与内核接口的访问权限之间的映射关系为:该应用程序具有调用安卓系统内核网络接口权限,该应用程序A便具有调用安卓系统内核网络接口权限。在本发明另一可选实施例中,若用户对文件管理类别的应用程序制定的与内核接口的访问权限之间的映射关系为:文件管理类别的应用程序具有调用安卓系统内核文件系统接口权限,此时,安卓系统内的所有文件管理类别的应用程序均具有调用安卓系统内核文件系统接口权限。在本发明另一可选实施例中,若用户对可信度为级别5的应用程序制定的与内核接口的访问权限之间的映射关系为:可信度为级别5的应用程序具有调用安卓系统内核CPU调频接口及网络接口的权限,此时,安卓系统内的所有可信度为级别5的应用程序均具有调用安卓系统内核CPU调频接口及网络接口的权限。在本实施例中,用户制定应用程序与安卓系统内核接口的访问权限之间的映射关系的情景不限。例如可以是在应用程序安装时,也可以是在应用程序运行时。在本发明一可选实施例中,当应用程序安装时,弹出一个界面,以供用户制定该应用程序与安卓系统内核接口的访问权限之间的映射关系。进一步,在本发明另一可选实施例中,在用户级别模式下,当某个应用程序使用系统调用访问系统内核时,运行陷阱指令将系统由用户级别模式转换为特权级别模式,并通过在特权级别模式下检测出该应用程序带有的所有接口调用,根据该应用程序带有的接口调用对应的内核接口询问用户该应用程序是否具有调用这些内核接口中一个或多个内核接口的权限。可选的,若用户在应用程序安装时确定了该应用程序与安卓系统内核接口的访问权限之间的映射关系,则将该映射关系长时间存储,直至用户手动删除该映射关系。可选的,若用户每次使用某应用程序时都需确定该应用程序与安卓系统内核接口的访问权限之间的映射关系,可以将该映射关系临时存储,当用户结束此次对该应用程序的使用,关闭该应用程序的进程后自动删除该映射关系。在本实施例中,该权限映射表生成之后,便对该权限映射表的信息进行监控。当应用程序申请修改该权限映射表,在应用程序提交修改权限请求时,例如删除之前某个应用程序与系统内核接口间的映射关系或者新增某个应用程序与系统内核接口之间的映射关系,则生成一个警告画面,提示用户需要进行身份认证,可以是通过密码验证、指纹验证、面部识别等方式,只有通过认证才可完成修改权限映射表的操作;否则不对该权限映射表信息做出修改。本实施例中,通过确定应用程序与安卓系统内核接口的访问权限之间的映射关系,使得只有具有访问系统内核接口权限的应用程序才能调用其权限范围内可以调用的安卓系统内核接口,一方面给了用户更好的使用感受,另一方面提高了安卓内核的安全性。进一步,本发明提供一种应用程序的访问处理装置。参照图4,图4为本发明应用程序的访问处理装置一实施例的功能模块示意图。在本实施例中,应用程序的访问处理装置包括:检测模块10,用于检测当前是否存在应用程序通过系统调用访问系统内核接口;安卓系统通常将整个虚拟地址空间划分为两部分:用户空间和内核空间。并且规定,用户空间不能直接访问内核空间,而内核空间则可以访问用户空间。通过这样的级别划分,可以使得内核空间更加稳定、安全。但是,若应用程序进程需要访问内核或使用某个内核函数,则通常需要通过系统调用(SystemCall)来完成。在安卓系统中,系统调用是用户空间访问内核空间的唯一途径。如图2所示。系统调用是内核提供的一组函数接口,它使得用户空间上运行的进程可以和内核之间进行交互。例如,用户进程通过系统调用访问硬件设备或操作系统的某些资源等。安卓系统中所有应用程序运行时,都会通过安卓系统应用编程接口API产生系统调用来访问安卓系统内核,比如网络接口、文件系统接口、CPU调频接口等。本实施例中,对于应用程序通过系统调用访问系统内核接口的类型不限,例如,网络接口、文件系统接口、CPU调频接口等。此外,本实施例中,对于检测应用程序产生的系统调用的方式不限,具体根据实际需要进行设置。判断模块20,用于当当前存在应用程序通过系统调用访问系统内核接口时,判断所述应用程序是否具有访问系统内核接口的权限;本实施例中,当检测到存在应用程序产生的系统调用时,为避免该系统调用所对应的系统内核接口执行相应内核函数,因此,需要先确定该应用程序是否具有访问该系统内核接口的权限。本实施例中,对于判断方式不限,比如,可预先设置相应的权限映射表进行判断。需要进一步说明的是,如图2所示,本实施例中,具体通过系统内核自带的过滤函数对所有应用程序的系统调用进行过滤,进而确定该应用程序是否具有访问相应系统内核接口的权限。此外,由于过滤函数需要在安卓系统的特权级别模式下进行,因此,在对应用程序的系统调用进行过滤之前,需要将系统模式由用户级别模式转换为特权级别模式。其中,用户级别模式和特权级别模式是安卓系统的两种安全级别模式,通常所有的应用程序都运行在用户级别模式,而安卓内核的系统函数则运行在特权级别模式。同时,特权级别模式下,过滤函数可以扫描任何应用程序的任何系统调用。本实施例中,对于用户级别模式转换为特权级别模式的实现方式不限。比如,通过陷阱指令产生系统调用以引发处理机中断的指令,进而由用户级别模式转换为特权级别模式。处理模块30,用于当所述应用程序不具有访问系统内核接口的权限时,拦截所述系统调用,以防止所述应用程序访问系统内核接口。本实施例中,当确定当前应用程序不具有访问系统内核接口的权限时,则拦截该应用程序所产生的系统调用,进而从根本上杜绝具有恶意的应用程序访问系统内核接口,从而造成安全隐患。本实施例中,对于拦截应用程序产生的系统调用的方式不限,比如,在内核空间中,当安卓系统处于特权级别模式下时,通过系统内核自带的拦截函数对非法应用程序的系统调用进行拦截。本实施例中,通常带有恶意的应用程序运行时,其为实现某一功能或目的,一般都会通过系统调用来访问系统内核接口,进而对用户造成安全隐患。因此,可通过检测是否存在应用程序通过系统调用访问系统内核接口,当存在时,则对该应用程序是否具有访问系统内核接口的权限进行判断,若该应用程序不具有相应权限,则拦截该应用程序发出的系统调用,以防止该应用程序非法访问系统内核接口。本发明可在应用程序进行安全扫描的基础上,进一步防止非法应用程序访问系统内核接口,进而提升系统运行的安全性。参照图5,图5为图4中判断模块的细化功能模块示意图,在本实施例中判断模块20包括:获取单元201,用于当当前存在应用程序通过系统调用访问系统内核接口时,获取所述应用程序的身份信息、应用程序访问内核接口的权限映射表;本实施例中,对获取的应用程序的身份信息不限,比如可以是进程PID、应用程序名称、应用程序类别、应用程序可信度等级等。例如,获取的应用程序的身份信息可以是进程PID:1234,应用程序名称:A,应用程序类别:文件管理类、应用程序可信度等级:级别3。本实施例中,应用程序访问内核接口的权限映射表可以预先根据应用程序的类别、应用程序的可信度、内核接口的机密级别等进行设置。例如,根据应用程序的类别设置的应用程序访问内核接口的权限映射表,如表3所示。表3应用程序类别系统内核接口访问权限文件管理接口A、B、C文字处理所有接口图片展示接口A、B、C、D、E例如,根据应用程序的可信度设置的应用程序访问内核接口的权限映射表,如表4所示:表4应用程序可信度系统内核接口访问权限级别1接口A、B、C级别2接口A、B、C级别3接口A、B、C、D、E判断单元202,用于根据所述身份信息、所述权限映射表,判断所述应用程序是否具有访问系统内核接口的权限。本实施例中,若存在应用程序通过系统调用访问安卓系统内核接口,则获取到如表3所示的应用程序与内核接口的访问权限之间的映射关系,且获取到应用程序的身份信息,根据该应用程序的身份信息得知该应用程序属于图片展示类别,则根据表3可判断该应用程序不具有访问安卓系统内核接口的权限。进一步,在本发明应用程序的访问处理装置另一实施例中,基于上述本发明应用程序的访问处理装置一实施例,在本实施例中,处理模块30还用于:当所述应用程序具有访问所述系统内核接口的权限时,根据预置的函数映射表,确定所述系统调用所对应的内核函数,以供调用执行所述内核函数。在本实施例中,若应用程序具有访问系统内核网络接口的权限,则该应用程序便只能通过系统调用访问系统内核网络接口。在本发明一可选实施例中,若应用程序通过系统调用访问系统内核网络接口,且判断出该应用程序具有访问系统内核网络接口的权限,则调用系统调用号对应的内核函数,以达到该应用程序访问系统内核网络接口的目的。系统调用号为应用程序通过系统调用访问系统内核时产生。在本实施例中,当应用程序具有合法权限访问系统内核接口时,应用程序通过应用编程接口来使用系统调用,并产生系统调用号,通过在系统调用表中找出的与该系统调用号对应的安卓系统内核函数,从而在安卓系统内核中调用该内核函数,以实现应用程序对安卓系统内核接口的系统调用。进一步,在本发明应用程序的访问处理装置另一实施例中,基于上述本发明应用程序的访问处理装置一实施例,在本实施例中,处理模块30具体还用于:当所述应用程序不具有访问系统内核接口的权限时,拦截所述系统调用,并生成拦截预警提示。本实施例中,当应用程序不具有合法权限访问系统内核时,中止应用程序访问系统内核的方式不限,可以是对该应用程序通过应用编程接口API产生的系统调用进行拦截,也可以直接杀死这个应用程序进程。并退出内核空间返回用户空间,系统将产生入侵报告并推送给用户,例如应用程序名称C,于时间T,非法调用安卓系统内核接口,已阻止”,还可以发出提示声音提示用户。进一步,在本发明应用程序的访问处理装置另一实施例中,基于上述本发明应用程序的访问处理装置一实施例,在本实施例中,检测模块10还用于:检测是否存在修改所述权限映射表的指令,若存在,则生成权限修改预警提示。在本实施例中,应用程序与内核接口的访问权限之间的映射关系可以通过预置的规则进行制定。例如,在本发明一可选实施例中,预置规则为:只有智能终端自带的应用程序具有访问内核接口的权限,从而在该智能终端上只有其系统自带的应用程序才具有访问内核接口的权限,安装在智能终端上的其他第三方软件均不具有访问系统内核接口的权限。在本实施例中,应用程序与内核接口的访问权限之间的映射关系还可以由用户预先制定,在本实施例中,用户制定应用程序与安卓系统内核接口的访问权限之间的映射关系的方式不限,例如根据应用程序的名称、应用程序的功能分类、应用程序的可信度等级等进行制定,对安卓系统内核接口的类型不限,例如网络接口、文件系统接口、CPU调频接口等,应用程序可以设置为不具有对安卓系统内核接口的调用权限,也可以设置为具有一种或多种对安卓系统内核接口的调用权限。在本发明一可选实施例中,若用户对一名称为A的应用程序制定的与内核接口的访问权限之间的映射关系为:该应用程序具有调用安卓系统内核网络接口权限,该应用程序A便具有调用安卓系统内核网络接口权限。在本发明另一可选实施例中,若用户对文件管理类别的应用程序制定的与内核接口的访问权限之间的映射关系为:文件管理类别的应用程序具有调用安卓系统内核文件系统接口权限,此时,安卓系统内的所有文件管理类别的应用程序均具有调用安卓系统内核文件系统接口权限。在本发明另一可选实施例中,若用户对可信度为级别5的应用程序制定的与内核接口的访问权限之间的映射关系为:可信度为级别5的应用程序具有调用安卓系统内核CPU调频接口及网络接口的权限,此时,安卓系统内的所有可信度为级别5的应用程序均具有调用安卓系统内核CPU调频接口及网络接口的权限。在本实施例中,用户制定应用程序与安卓系统内核接口的访问权限之间的映射关系的情景不限。例如可以是在应用程序安装时,也可以是在应用程序运行时。在本发明一可选实施例中,当应用程序安装时,弹出一个界面,以供用户制定该应用程序与安卓系统内核接口的访问权限之间的映射关系。进一步,在本发明另一可选实施例中,在用户级别模式下,当某个应用程序使用系统调用访问系统内核时,运行陷阱指令将系统由用户级别模式转换为特权级别模式,并通过在特权级别模式下检测出该应用程序带有的所有接口调用,根据该应用程序带有的接口调用对应的内核接口询问用户该应用程序是否具有调用这些内核接口中一个或多个内核接口的权限。可选的,若用户在应用程序安装时确定了该应用程序与安卓系统内核接口的访问权限之间的映射关系,则将该映射关系长时间存储,直至用户手动删除该映射关系。可选的,若用户每次使用某应用程序时都需确定该应用程序与安卓系统内核接口的访问权限之间的映射关系,可以将该映射关系临时存储,当用户结束此次对该应用程序的使用,关闭该应用程序的进程后自动删除该映射关系。在本实施例中,该权限映射表生成之后,便对该权限映射表的信息进行监控。在应用程序申请修改该权限映射表并提交修改权限请求时,例如删除之前某个应用程序与系统内核接口间的映射关系或者新增某个应用程序与系统内核接口之间的映射关系,则生成一个警告画面,提示用户需要进行身份认证,可以是通过密码验证、指纹验证、面部识别等方式,只有通过认证才可完成修改权限映射表的操作;否则不对该权限映射表信息做出修改。本实施例中,通过确定应用程序与安卓系统内核接口的访问权限之间的映射关系,使得只有具有访问系统内核接口权限的应用程序才能调用其权限范围内可以调用的安卓系统内核接口,一方面给了用户更好的使用感受,另一方面提高了安卓内核的安全性。以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的
技术领域
,均同理包括在本发明的专利保护范围内。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1