一种基于容器的多系统的入侵监控方法和装置的制造方法

文档序号:9708670阅读:169来源:国知局
一种基于容器的多系统的入侵监控方法和装置的制造方法
【技术领域】
[0001]本申请涉及电数字数据处理领域,尤其涉及一种在基于容器的多系统中监测和控制入侵的方法和装置。
【背景技术】
[0002]Root权限是指Unix类操作系统(包括Linux、Android)的系统管理员权限。Root权限可以访问和修改用户的移动终端中几乎所有的文件。目前移动终端系统对于Root权限的管理是非常严格的。通常情况下,多数应用或程序都不具备Root权限。一些系统攻击、恶意软件都是试图获取Root权限进而控制整个操作系统。一旦入侵者获得了 Root权限,便能完全控制操作系统。同样,如果入侵者获得了一些其他敏感权限如读取联系人信息、读取短信信息等,移动终端用户的隐私无法得到保护。

【发明内容】

[0003]本申请的目标在于提供一种能及时监测到系统被提权并进行相应处理、且不易受到入侵者破坏的方法和装置,以避免因系统被提权而可能导致的损失。
[0004]在本说明书中,术语“提权”指app应用在原有权限(能力)基础上获得到更多权限,可以只是增加一些权限但没有获取root权限。获取Root权限意味着获取到了操作系统的最高权限。
[0005]本申请的目标由一种基于容器的多系统的入侵监控方法实现,所述多系统至少包括第一系统和第二系统并共用内核,所述方法包括:
[0006]所述内核在发现应用和/或服务程序的权限发生变化时向第一系统发送检查能力信号;
[0007]所述第一系统根据接收到的所述检查能力信号确定权限变化类型,其中所述权限变化类型包括正常和异常;
[0008]在确定所述权限变化类型为异常时,所述第一系统向所述第二系统发送停止服务信号;及
[0009]所述第二系统根据接收到的所述停止服务信号向其中的权限变化异常的应用和/或服务发送终止进程信号以终止相应应用和/或服务。
[0010]本申请的目标还由一种基于容器的多系统的入侵监控装置实现,所述多系统至少包括第一系统和第二系统并共用内核,所述装置包括:
[0011]内核中的权限变化判别模块,用于在发现应用和/或服务程序的权限发生变化时向第一系统发送检查能力信号;
[0012]第一系统中的入侵识别模块,用于根据接收到的所述检查能力信号确定权限变化类型,其中所述权限变化类型包括正常和异常;及用于在确定所述权限变化类型为异常时,向所述第二系统发送停止服务信号;及
[0013]第二系统中的应用和服务进程管理模块,用于根据接收到的所述停止服务信号向第二系统的权限变化异常的应用和/或服务发送终止进程信号以终止相应应用和/或服务。
[0014]在Unix类操作系统如Android系统中,每一个app应用和服务(有界面和无界面显示)都是有一些能力的,例如能做哪些系统调用、能访问哪些文件等等。这些能力都是预定义好的,并且在系统的内核中具有相应的标志位。这是其固有的机制。本发明借助于基于容器的多系统中系统间相互独立,利用第一系统如非Android系统监测第二系统如Android系统的app应用和服务的权限变化,一旦Android系统遭到入侵,本发明方法和装置能实现提权的监测和限制。相较于单一系统自身对提权的监测(该监测系统可能被入侵者直接停掉从而不起作用),本发明方法和装置具有独立性,不易受到干扰。
[0015]除非明确指出,在此所用的单数形式“一”、“该”均包括复数含义(即具有“至少一”的意思)。应当进一步理解,说明书中使用的术语“具有”、“包括”和/或“包含”表明存在所述的特征、步骤、操作、元件和/或部件,但不排除存在或增加一个或多个其他特征、步骤、操作、元件、部件和/或其组合。如在此所用的术语“和/或”包括一个或多个列举的相关项目的任何及所有组合。除非明确指出,在此公开的任何方法的步骤不必精确按照所公开的顺序执行。
【附图说明】
[0016]本发明将在下面参考附图并结合优选实施例进行更完全地说明。
[0017]图1为根据本发明方法的一实施例的流程图。
[0018]图2为根据本发明方法的另一实施例的流程图。
[0019]图3为根据本发明装置的一实施例的结构示意图。
[0020]为清晰起见,这些附图均为示意性及简化的图,它们只给出了对于理解本发明所必要的细节,而省略其他细节。
【具体实施方式】
[0021]通过下面给出的详细描述,本发明的适用范围将显而易见。然而,应当理解,在详细描述和具体例子表明本发明优选实施例的同时,它们仅为说明目的给出。
[0022]图1示出了本发明方法的第一实施例,其用于在基于容器的多系统中对入侵提权进行监测和控制,其中多系统至少包括第一系统和第二系统,二者共用内核,在该实施例中,第一系统为非Android系统,及第二系统为Android系统。在其他实施例中,第一系统和第二系统也可为其他适用的操作系统。该方法开始于步骤S10,内核保存了Android系统的所有app应用和服务程序的初始权限的快照,内核通过将Android系统的应用和/或服务程序的当前权限与保存的所有应用和服务程序的初始权限的快照进行比较,如果发现某一app突然增加能力(即权限提升),则向非Android系统发送自定义的检查能力信号signalcheck_cap,检查能力信号包含发生权限变化的程序名称及用于指明哪些权限发生变化即指明增加了哪些能力的能力变化参数。之后,处理进行到步骤S20,非Android系统根据接收到的检查能力信号及预设的能力集确定权限变化类型属于正常还是异常。不同的权限变化类型具有不同的处理方式。预设的能力集可根据用户的实际情况、移动终端的应用场景等任意设置。例如,进程原本只有读的权限,没有写的权限,为了正常保存一下信息,分给该进程写入到临时文件夹temp的能力,这样的权限变化属于正常权限变化。再例如,CAP_CH0WN改变所属权、CAP_DAC_OVERRIDE忽略访问限制、CAP_SETPCAP允许向其它进程转移能力以及删除其它进程的任意能力、CAP_NET_BIND_SERVICE允许绑定到小于1024的端口(小于1024端口通常是服务器开的服务端口)等能力都是非常敏感的,普通进程不能拥有这些能力。当发现进程具有这样的能力时,属于异常权限变化。在确定权限变化类型为正常时,即属于程序运行中必要的能力提升,不对检查能力信号做进一步处理。在确定权限变化类型为异常时,即权限过高的升,例如调用了多个敏感的系统调用,非Andro i d系统通过内核接口向Android系统发送系统间的自定义停止服务信号signal stop_sys。之后,处理进行到步骤S30,Android系统根据接收到的来自非Android系统的停止服务信号,向其中的权限变化异常的应用
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1