用于终端权限管理的方法和终端的制作方法_3

文档序号:8259306阅读:来源:国知局
时,SI将通过例如上述方式接管该请求操作。然后针对发起ROOT权限请求的应用,对当前加载的白名单进行匹配检查。在一个实施例中,可以通过以下方式来进行匹配检查:首先计算产生该ROOT权限请求的应用的数字摘要(MD5、SHA1等);然后将该数字摘要与白名单中各应用的数字摘要进行比较;如果发现存在相同(匹配)的数字摘要,则确定该应用在白名单中;否则,则确定该应用不在白名单中。在另一个实施例中,也可以简单地通过比较该应用的应用名或同时比较应用名和数字摘要来进行匹配检查。当然,本发明不限于上述匹配检查方式,也可以采用任何其他的匹配方式。
[0061]如果发现该应用或服务Al没有在终端100的白名单列表中,那么SI可以终止当前ROOT权限请求,并可以调用系统消息接口,通过弹出消息窗口方式向用户进行告警。
[0062]在一个实施例中,如果发现该应用或服务Al存在于白名单中,则可以检查白名单列表中的相应应用的“云端检查”标志,该标志指示了是否需要针对该应用在云端服务器上进行进一步检查。如果该标志设定为需要进一步云端检查,则Si可以向云端白名单服务器(例如,服务器200)发出请求,要求对当前发出ROOT权限请求的Al进行最新白名单检查。该请求中可以包括Al的名称、数字摘要等信息,供云端服务器来判断Al是否在云端白名单中。如果该Al存在于云端服务器的最新的白名单中,那么SI将会放开Al发出的ROOT权限请求(即,返回普通ROOT权限请求流程),并可以允许Al对信息资源的后续访问请求。
[0063]当然,在其他实施例中,在判断出应用Al不在终端100本地的白名单中的情况下,也可以根据缺省“云端检查”标志向云端服务器发起云端检查过程,本发明不限于此。
[0064]此外,在白名单检测过程中产生的所有日志都可以通过明文文本文件方式存放在和白名单同级的目录下,例如“/sdcard/whitelist/check.log”。
[0065]此外,对于SI运行中需要检查的各参数配置,可以通过专门的用户界面供用户进行管理配置。该用户界面至少可以包括(但不限于)更新设置、云端检测设置和日志管理等三个部分。更新设置可以设定与是否需要进行更新检查相关的开关。云端检测设置可以设定是否需要进行进一步云端检查,该设置可以针对白名单列表中的每个应用单独设置,也可以针对应用组设置,此外还可以存在缺省设置,以如上所述供白名单列表中不存在的应用来使用。日志管理可以设定日志的管理方式和/或是否需要进行对日志的进一步云端分析。如上所述,在SI运行的所有阶段中产生的日志都可以保存在终端100本地。当通过日志管理来设定需要对日志进行进一步的云端分析时,可以向远程分析服务器(例如,服务器200)提交这些日志,供分析服务器分析之用。该用户界面可以是使用Java语言和Android SDK来开发的。
[0066]此外,该白名单可以基于第三方安全服务提供商提供的云平台中的安全样本库作为基础数据。从而,云平台样本库的持续更新可以保证白名单机制的准确性,减少误报或漏报发生的可能。
[0067]通过使用上述权限管理流程,提出了涉及应用安装和应用(服务)运行时两个阶段的ROOT权限请求的白名单检测机制。其不需要人工参与,自动进行请求安全性检测,保证只有存在于本地或云端白名单中的应用才被允许获得ROOT权限以及读取与用户终端相关的隐私和关键信息数据的访问行为。
[0068]图3是示出了根据本发明实施例的用于管理应用程序的方法400的流程图。如图3所示,方法400可以包括步骤S410、S420和S430。根据本发明,方法400的一些步骤可以单独执行或组合执行,以及可以并行执行或顺序执行,并不局限于图3所示的具体操作顺序。在一些实施例中,方法400可以由图1所示的终端100或安装在终端100中的客户端150执行。
[0069]图4是示出了根据本发明实施例的用于权限管理的示例终端100的框图。如图4所示,终端100可以包括:监听单元110、比对单元120和管理单元130。
[0070]监听单元110用于监听终端100上的权限请求。监听单元110可以是终端100的中央处理单元(CPU)、数字信号处理器(DSP)、微处理器、微控制器等等,其可以通过修改终端100的系统中负责处理权限请求的模块,来监听终端100上的权限请求。
[0071]比对单元120用于将发起权限请求的应用与在终端100上维护的应用白名单进行比对。比对单元120可以是终端100的中央处理单元(CPU)、数字信号处理器(DSP)、微处理器、微控制器等等,其可以与终端100的存储器(RAM、SD卡等)相配合,将发起权限请求的应用与在终端100存储器中上维护的应用白名单进行比对,以确定该应用是否在应用白名单中。
[0072]管理单元130用于根据比对的结果,执行相应的权限管理。管理单元130可以是终端100的中央处理单元(CPU)、数字信号处理器(DSP)、微处理器、微控制器等等,其可以与终端100的存储器(RAM、SD卡等)相配合,根据比对的结果,执行相应的权限管理,从而允许由在应用白名单中的应用发起的权限请求,或向用户提示由不在白名单中的应用发起的权限请求。
[0073]此外,终端100还可以包括图4末示出的其他单元,例如更新单元。在一些实施例中,更新单元可以用于定期或在启动时更新应用白名单。
[0074]以下将结合图3和图4,对根据本发明实施例的用于在终端100上管理权限的方法400和终端100进行详细的描述。
[0075]方法400开始于步骤S410,在步骤S410中,可以由终端100的监听单元110来监听终端100上的权限请求。
[0076]在步骤S420中,可以由终端100的比对单元120将发起权限请求的应用与在终端100上维护的应用白名单进行比对。
[0077]在步骤S430中,可以由终端100的管理单元130根据比对的结果,执行相应的权限管理。
[0078]在一些实施例中,步骤S430可以包括:如果比对的结果是应用在应用白名单中,则许可权限请求;如果比对的结果是应用不在应用白名单中,则向终端100的用户告警。
[0079]在一些实施例中,应用白名单可以是由终端100从服务器200获取的。
[0080]在一些实施例中,终端100的更新单元可以定期或在启动时更新应用白名单。
[0081]在一些实施例中,定期或在启动时更新应用白名单包括:终端100的更新单元可以比较应用白名单的时间戳或版本号和服务器200上的应用白名单的时间戳或版本号,以确定是否需要更新应用白名单;如果需要更新,则从服务器200下载最新的应用白名单,并基于下载的应用白名单来更新终端100上的应用白名单;如果不需要更新,则结束更新过程。
[0082]在一些实施例中,基于下载的应用白名单来更新终端100上的应用白名单包括:终端100的更新单元可以备份终端100上的应用白名单;对下载的应用白名单进行完整性和有效性校验;以及如果校验结果正确,则用下载的应用白名单来替换终端100的上的应用白名单;如果校验结果不正确,则结束更新过程。
[0083]在一些实施例中,终端100的更新单元可以将更新过程中的相关信息以日志方式加以保存。
[0084]在一些实施例中,步骤S410可以包括:在终端100上调用以后台服务模式运行的监听模块,以监听终端100上的权限请求。
[0085]在一些实施例中,应用白名单中还可以包括与各应用分别相关的“
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1