一种权限控制方法和装置的制造方法

文档序号:9708636阅读:204来源:国知局
一种权限控制方法和装置的制造方法
【技术领域】
[0001 ]本发明涉及计算机领域,尤其涉及一种权限控制方法和装置。
【背景技术】
[0002]在目前的操作系统中,恶意软件可能通过代理人攻击间接获得非法访问权限,例如:应用程序A无权访问应用程序C的资源,但是应用程序B有权限访问应用程序C的资源,并且应用程序B对外提供了接口,允许其他应用程序通过该接口访问应用程序C的资源,则应用程序A可能通过应用程序B间接访问应用程序C的资源,以达到未授权访问的目的,导致操作系统的安全性不高。

【发明内容】

[0003]本发明实施例所要解决的技术问题在于,提供一种权限控制方法和装置。可有效避免代理人攻击,提高操作系统的安全性。
[0004]为了解决上述技术问题,本发明第一方面提供了一种权限控制方法。
[0005]在一种可能的设计中,参考监控器接收第一节点向第二节点发起的IPC调用请求,第一节点为发起方,第二节点为被调方,第一节点和第二节点属于不同的进程,参考监控器查询预设的调用链缓存中是否存在以第一节点为终止节点的关联调用链,调用链缓存用于存储调用链,调用链表示不同节点间的调用关系的有向图,如果调用链缓存中存在以第一节点为终止节点的关联调用链,将第二节点添加到关联调用链的后面生成新的调用链,参考监控器判断新的调用链中除第二节点的节点是否均具有对第二节点执行IPC调用请求的权限,例如,IPC调用请求用于读取第二节点的联系人信息,则参考监控器判断新的调用链中除第二节点以外的其他节点是否均具有读取第二节点的联系人信息的权限,如果判断结果为是,参考监控器将第一节点发起的IPC调用请求转发给第二节点,第二节点根据该IPC调用请求直接向第一节点返回IPC调用结果;或者,第二节点根据IPC调用请求得到的IPC调用结果返回给参考监控器,参考监控器再将该IPC调用结果转发给第一节点,这样在发起方发起IPC调用请求时,不仅对发起方进行鉴权,同时对发起方关联的调用链中所有的节点进行鉴权,在同时满足具有对被调方有访问权限的情况下,发起方才能得到调用结果,能有效避免代理人攻击,提高操作系统的安全性。
[0006]在另一种可能的设计中,参考监控器接收第一节点向第二节点发起的IPC请求,参考监控器查询预设的调用链缓存中是否存在以第一节点为终止节点的关联调用链,在查询结果为是的情况下,参考监控器判断关联调用链中所有的节点是否均具有对第二节点执行该IPC调用请求的权限,在判断结果为是的情况下,参考监控器将该IPC调用请求转发给第二节点,第二节点根据该IPC调用请求直接向第一节点返回IPC调用结果;或者,第二节点根据IPC调用请求得到的IPC调用结果返回给参考监控器,参考监控器再将该IPC调用结果转发给第一节点,这样能有效避免代理人攻击,提高操作系统的安全性。
[0007]在另一种设计中,参考监控器接收第一节点向第二节点发起的IPC调用请求,第一节点为调用方,第二节点为被调方,参考监控器查询预设的调用链缓存中是否存在以第一节点为终止节点的关联调用链,在查询结果为否的情况下,参考监控器继续判断第一节点是否具有对第二节点执行该IPC调用请求的权限,在判断结果为是的情况下,根据第一节点和第二节点创建初始调用链,初始调用链包含第一节点和第二节点,第一节点为起始节点,第二节点为终止节点,将创建的初始调用链存储至调用链缓存中;在判断结果为否的情况下,参考监控器向第一节点返回不具备对第二节点执行该IPC调用请求的权限的通知消息。
[0008]在另一种可能的设计中,参考监控器判断生成的新的调用链中至少有一个节点不具备对第二节点执行IPC调用请求的权限的情况下,从新的调用链中删除第二节点,表明此时的IPC调用请求可能发生代理人攻击的风险,参考监控器向第一节点返回表示鉴权失败的通知消息,阻止IPC调用请求发送给第二节点,避免代理人攻击。
[0009]在另一种可能的设计中,第一节点和第二节点的节点类型为进程或线程,如果第一节点和第二节点为进程时,属于不同的进程;第一节点和第二节点的节点类型为线程时,各自的线程属于不同的进程。
[0010]在另一种可能的设计中,参考监控器接收第一节点向第二节点发起的IPC调用请求,参考监控器判断第一节点是否为非系统服务进程或线程,在判断结果为是的情况下,参考监控器查询预设的调用链缓存中是否存在以第一节点为终止节点的关联调用链,在查询结果为是的情况下,将第二节点添加到关联调用链中生成新的调用链,参考监控器判断新的调用链中除第二节点之外的节点是否均具有对第二节点执行该IPC调用请求的权限,在判断结果为是的情况下,参考监控器将该IPC调用请求转发给第二节点。
[0011]如果参考监控器识别出第一节点为系统服务进程或线程,由于系统服务进程或线程发起的调用是可信的,不需要对系统服务进程或线程的调用关系进行跟踪和鉴权,参考监控器直接将该IPC调用请求转发给第二节点,这样能减少参考控制器的处理开销,优化处理流程。
[0012]在另一种可能的设计中,参考监控器接收第一节点向第二节点发起的IPC调用请求,参考监控器判断第一节点是否具有对第二节点执行该IPC调用请求的权限,在判断结果为是的情况下,继续查询预设的调用链缓存中是否存在以第一节点为终止节点的关联调用链,在查询结果为是的情况下,判断关联调用链中除第一节点的其他节点是否均具有对第二节点的执行该IPC调用请求的权限,在判断结果为是的情况下,参考监控器将该IPC调用请求转发给第二节点。
[0013 ]本发明第二方面还提供了一种权限控制装置。
[0014]在一种可能的设计中,接收模块接收第一节点向第二节点发起的IPC调用请求,查询模块查询预设的调用链缓存中是否存在以第一节点为终止节点的关联调用链,生成模块在查询模块的查询结果为是的情况下,将第二节点添加到关联调用链中生成新的调用链,权限控制模块判断新的调用链中除第二节点的每个节点是否均具有对第二节点执行该IPC调用请求的权限,第一转发模块在权限控制模块的判断结果为是的情况下,将IPC调用请求转发给第二节点,第二节点可根据接收到的IPC调用请求直接向第一节点返回IPC调用结果;或者经过第一转发模块将IPC调用结果转发给第一节点。
[0015]在另一种可能的设计中,判断模块在查询模块的查询结果为否的情况下,继续判断第一节点是否具有对第二节点执行IPC调用请求的权限,存储模块在判断模块的判断结果为是的情况下,根据第一节点和第二节点创建初始调用链,初始调用链包含第一节点和第二节点,第一节点为起始节点,第二节点为终止节点,将初始调用链存储至调用链缓存中,第二转发模块将IPC调用请求转发给第二节点,由第二节点直接将根据IPC调用请求对应的IPC调用结果返回给第一节点,或者,第二节点将根据IPC调用请求对应的IPC调用结果返回给参考监控器,由参考监控器将IPC调用结果转发给第一节点。
[0016]在另一种可能的设计中,删除模块在权限控制模块的判断结果为否的情况下,从新的调用链中删除第二节点,阻止IPC调用请求发送给第二节点,返回模块向第一节点返回表示鉴权失败的通知消息。
[0017]在另一种可能的设计中,第一节点和第二节点的节点类型为进程或线程,如果第一节点和第二节点为进程时,属于不同的进程;第一节点和第二节点的节点类型为线程时,各自的线程属于不同的进程。
[0018]在另一种可能的设计中,接收模块接收第一节点向第二节点发起的IPC调用请求,识别模块识别第一节点是否为非系统进程或线程,指示模块在识别模块的识别结果为是的情况下,指示查询模块开始工作,查询模块查询预设的调用链缓存中是否存在以第一节点为终止节点的关联调用链,生成模块在查询模块的查询结果为是的情况下,将第二节点添加到关联调用链中生成新的调用链,权限控制模块判断新的调用链中除第二节点的每个节点是否均具有对第二节点执行该IPC调用请求的权限,第一转发模块在权限控制模块的判断结果为是的情况下,将IPC调用请求转发给第二节点,第二节点可根据接收到的IPC调用请求直接向第一节点返回IPC调用结果;或者经过第一转发模块将IPC调用结果转发给第一节点。
[0019]第三转发模块在识别模块的识别结果为否的情况下,将IPC调用请求转发给第二节点,第二节点可根据接收到的IPC调用请求直接向第一节点返回IPC调用结果;或者经过第一转发模块将IPC调用结果转发给第一节点。
[0020]第三方面,本申请实施例提供了一种终端设备,包括上述权限控制装置中的任意一种。终端设备包括智能手机、平板电脑、笔记本电脑、智能电视等。
[0021]第四方面,本申请实施例提供了一种权限控制装置,包括:
[0022]一个或多个处理器、存储器、总线系统、收发器以及一个或多个程序,处理器、存储器和收发
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1