[发明专利]应用程序进程的能力探测方法及装置在审
| 申请号: | 201710824217.8 | 申请日: | 2017-09-13 |
| 公开(公告)号: | CN107643982A | 公开(公告)日: | 2018-01-30 |
| 发明(设计)人: | 冀胜利 | 申请(专利权)人: | 北京元心科技有限公司 |
| 主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F11/34 |
| 代理公司: | 北京金阙华进专利事务所(普通合伙)11224 | 代理人: | 陈建春 |
| 地址: | 100176 北京市大兴区北京经济*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 应用程序 进程 能力 探测 方法 装置 | ||
技术领域
本申请涉及运行Linux系统的终端中的应用程序调试,尤其涉及应用程序进程的能力探测方法及装置。
背景技术
随着移动设备的飞速发展,智能手机、平板电脑等移动设备在企业中的使用也是越来越广泛。在移动操作系统领域,利用Linux能力(capabilities)机制可以解决很多系统的安全性难题。
在Linux系统中,对于应用程序,如果需要特殊能力,需要添加上能力才能正常运行。此外,为了系统安全,应用程序的能力需要被审查。只有明确了具体能力,才能结合应用程序的功能进行有针对性的审查。然而,在使用Linux capabilities机制时,探测进程的能力是一个不太好操作但是非常关键的环节。
为了探测应用进程的能力,现有技术通常在内核(kernel)中添加调试信息,重新编译内核,然后手动执行应用程序,查看调试信息。如果调试信息并不满足要求,重新修改内核中的调试信息,然后再次编译内核,之后手动再次执行应用程序。现有技术的缺点在于,编译内核比较费时,不方便,工作量大;修改调试信息后,需要重新编译内核,如果代码有问题,编译出来的kernel启动时会导致内核崩溃;探测的能力的过程需要手动多次启动,繁琐且增加劳动力成本。
发明内容
为了克服现有技术中存在的不足,本发明要解决的技术问题是提供一种应用程序进程的能力探测方法及装置,其无需重新编译内核即可自动探测进程的能力。
为解决上述技术问题,本发明的一种应用程序进程的能力探测方法,包括:
启动被探测应用程序并执行应用程序流程;
响应于被探测应用程序需要一能力,触发在内核空间探测相应能力的能力值;
在内核空间搜集探测到的能力值并传到用户空间;
响应于在用户空间接收到所述能力值,确定被探测应用程序的运行状态;
响应于确定被探测应用程序已经退出运行,将所接收的能力值添加到被探测应用程序;
响应于所接收的能力值添加到被探测应用程序,重新启动被探测应用程序并执行应用程序流程。
作为本发明所述方法的改进,所述方法还包括:响应于确定被探测应用程序仍在运行,保存所接收的能力值,并继续执行被探测应用程序流程。
作为本发明所述方法的另一种改进,在内核空间探测相应能力的能力值及在内核空间搜集探测到的能力值并传到用户空间通过加载进内核空间的ko模块执行。
作为本发明所述方法的又一种改进,所述响应于被探测应用程序需要一能力,触发在内核空间探测相应能力的能力值包括:基于内核空间的能力检查机制在能力检查点之前把相应的能力值打印出来从而探测到相应的能力值。
作为本发明所述方法的再一种改进,所接收的能力值通过setcap工具添加到被探测应用程序。
为解决上述技术问题,本发明的应用程序进程的能力探测装置,包括:
启动模块,用于启动被探测应用程序并执行应用程序流程;
能力探测模块,用于响应于被探测应用程序需要一能力,在内核空间探测相应能力的能力值;
能力搜集模块,用于在内核空间搜集来自所述能力探测模块的能力值并传给用户空间的能力接收模块;
能力接收模块,用于响应于接收到所述能力值,在用户空间确定被探测应用程序的运行状态;及用于响应于确定被探测应用程序已经退出运行,将所接收的能力值添加到被探测应用程序;
重启模块,用于响应于所接收的能力值添加到被探测应用程序,重新启动被探测应用程序并执行应用程序流程。
作为本发明所述装置的改进,所述能力接收模块还响应于确定被探测应用程序仍在运行,保存所接收的能力值,继续执行被探测应用程序流程。
作为本发明所述装置的另一种改进,所述能力探测模块和所述能力接收模块编译成ko模块并加载进内核空间。
作为本发明所述装置的又一种改进,所述能力探测模块包括打印子模块,用于基于内核空间的能力检查机制,在能力检查点之前把相应的能力值打印出来从而探测到相应的能力值。
作为本发明所述装置的再一种改进,所述能力接收模块使用setcap工具将所接收的能力值添加到被探测应用程序。
为解决上述技术问题,本发明的有形计算机可读介质,包括用于执行本发明的应用程序进程的能力探测方法的计算机程序代码。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京元心科技有限公司,未经北京元心科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710824217.8/2.html,转载请声明来源钻瓜专利网。





