内核安全检测方法、装置、设备及存储介质制造方法及图纸

技术编号:24456991 阅读:26 留言:0更新日期:2020-06-10 15:50
本发明专利技术提出了一种内核安全检测方法、装置、设备及存储介质。响应于系统调用,对与进程权限相关的至少部分数据进行检测;以及根据检测结果,判断进程的权限是否被恶意修改。通过在攻击者对系统执行进一步操作时检测其权限是否合法,使得攻击者即使获取到高于自身的权限也很难对内核形成根本的危害,从而可以一定程度上提升内核漏洞攻击的难度,降低内核漏洞攻击的成功率。

Kernel security detection methods, devices, devices and storage media

【技术实现步骤摘要】
内核安全检测方法、装置、设备及存储介质
本专利技术涉及内核安全领域,特别是涉及一种内核安全检测方法、装置、设备及存储介质。
技术介绍
近年来,Linux系统应用范围不断扩大,现已广泛应用于服务器、桌面以及嵌入式设备等领域,随着Linux系统在全世界范围内的普及与使用,系统的安全问题也日益受到关注。目前攻击者主要是通过内核漏洞获取高于自身的权限,然后利用此权限对系统执行进一步的危害以达到其目的。现有的内核保护方案主要是将内核cred结构体分为只读和可写两部分分别保护,但内核进程结构体中保存着cred结构体的指针(而不是结构体本身),虽然对cred关键数据形成了只读保护,但若进程结构体中cred的指针被修改,则可绕过该方案。因此,需要一种更为有效的内核安全检测方案。
技术实现思路
本专利技术的一个目的在于提供一种更为有效的内核安全检测方法、装置、设备及存储介质,以增强内核安全。根据本专利技术的第一个方面,提供了一种内核安全检测方法,包括:响应于系统调用,对与进程权限相关的至少部分数据进行检测;以及根据检测结果,判断进程的权限是否被恶意修改。可选地,至少部分数据包括以下至少一项:进程可访问的地址空间;组ID;用户ID;有效用户ID;能力;安全上下文。可选地,响应于系统调用对与进程权限相关的至少部分数据进行检测的步骤包括:在由用户态模式进入内核态模式,且在内核处理函数调用前,对与进程权限相关的至少部分数据进行检测;并且/或者在内核处理函数内部插入权限检查模块,以对与进程权限相关的至少部分数据进行检测;并且/或者在内核处理函数调用后,对与进程权限相关的至少部分数据进行检测。可选地,对与进程权限相关的至少部分数据进行检测的步骤包括:将与进程权限相关的至少部分数据与预先生成的检测集中的相应部分进行比较,以确定至少部分数据是否被恶意修改。可选地,检测集是基于安全方式对与进程权限相关的至少部分数据进行修改后得到的白名单,或者检测集是对基于安全方式对与进程权限相关的至少部分数据进行修改后得到的数据,分别进行哈希计算得到的哈希表。可选地,安全方式为调用标准接口函数。可选地,该方法还包括:在判定进程的权限被恶意修改的情况下,结束进程或者使系统崩溃。根据本专利技术的第二个方面,还提供了一种内核安全检测装置,包括:检测模块,用于响应于系统调用,对与进程权限相关的至少部分数据进行检测;和判断模块,用于根据检测结果,判断进程的权限是否被恶意修改。可选地,至少部分数据包括以下至少一项:进程可访问的地址空间;组ID;用户ID;有效用户ID;能力;安全上下文。可选地,检测模块在由用户态模式进入内核态模式,且在内核处理函数调用前,对与进程权限相关的至少部分数据进行检测;并且/或者检测模块在内核处理函数内部插入权限检查模块,以对与进程权限相关的至少部分数据进行检测;并且/或者检测模块在内核处理函数调用后,对与进程权限相关的至少部分数据进行检测。可选地,检测模块将与进程权限相关的至少部分数据与预先生成的检测集中的相应部分进行比较,以确定至少部分数据是否被恶意修改。可选地,检测集是基于安全方式对与进程权限相关的至少部分数据进行修改后得到的白名单,或者检测集是对基于安全方式对与进程权限相关的至少部分数据进行修改后得到的数据,分别进行哈希计算得到的哈希表。可选地,安全方式为调用标准接口函数。可选地,该装置还包括提权处理模块,用于在检测到存在被恶意修改的字段的情况下,结束进程或者使系统崩溃。根据本专利技术的第三个方面,还提供了一种计算设备,包括:处理器;以及存储器,其上存储有可执行代码,当可执行代码被处理器执行时,使处理器执行如本专利技术第一个方面述及的方法。根据本专利技术的第四个方面,还提供了一种非暂时性机器可读存储介质,其上存储有可执行代码,当可执行代码被电子设备的处理器执行时,使处理器执行如本专利技术第一个方面述及的方法。本专利技术会在攻击者对系统执行进一步操作时检测其权限是否合法,使得攻击者即使获取到高于自身的权限也很难对内核形成根本的危害,从而可以一定程度上提升内核漏洞攻击的难度,降低内核漏洞攻击的成功率。附图说明通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。图1示出了内存地址空间的一种示意图。图2是示出了根据本专利技术一实施例的内核安全检查方法的示意性流程图。图3是示出了根据本专利技术一实施例的内核安全检测装置的结构的示意性方框图。图4示出了根据本专利技术一实施例可用于实现上述内核安全检测方法的数据处理的计算设备的结构示意图。具体实施方式下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。【术语解释】内核提权:利用内核漏洞为进程获取高于系统指定权限的攻击方法。内核结构体:每个进程在内核均有一个task_struct结构体的实例对应,在内核看来,此结构体即代表此进程。cred结构体:每个进程的内核结构体中都有两个cred结构体指针,cred结构体内记录了当前进程作为主/客体的身份与权限,包括uid、gid、euid、capability、安全上下文等。uid为UserId,即用户ID,用来标识每个用户的唯一标示符。gid为GroupId,即组ID,用来标识用户组的唯一标识符。euid为有效用户ID,表示进程对于文件和资源的访问权限。capability:能力,从2.1版开始,Linux内核有了能力(capability)的概念,它打破了UNIX/LINUX操作系统中超级用户/普通用户的概念,由普通用户也可以做只有超级用户可以完成的工作。addr_limit:进程可访问的地址空间。在操作系统(如Linux操作系统)中,代码执行模式通常至少包括两种:用户态模式和内核态模式,内核态模式拥有高于用户态模式的权限。在操作系统中,内存的虚拟地址空间通常也被分为用户态地址空间和内核态地址空间两部分。通常用户态地址空间在低地址空间,内核态地址空间在高地址空间,硬件单元MMU及页表保证用户态模式只能访问用户态地址空间,内核态模式可以访问用户态及内核态地址空间。以4G内存,3:1模式为例,内存地址空间可以表示为图1所示。系统调用是内核提供给用户态进程的访问接口,内核态的代码、数据存在于内核态地址空间,由于用户态不能访问内核态地址空间,用户态进程与系统的所有交互,如命令执行、文件访问最终又均需通过内核态处理,所以操作系统提供系统调用作为用户态与内核态的接口,用户态可以通过一条指令(如ARM的SWI指本文档来自技高网...

【技术保护点】
1.一种内核安全检测方法,其特征在于,包括:/n响应于系统调用,对与进程权限相关的至少部分数据进行检测;以及/n根据检测结果,判断进程的权限是否被恶意修改。/n

【技术特征摘要】
1.一种内核安全检测方法,其特征在于,包括:
响应于系统调用,对与进程权限相关的至少部分数据进行检测;以及
根据检测结果,判断进程的权限是否被恶意修改。


2.根据权利要求1所述的内核安全检测方法,其特征在于,所述至少部分数据包括以下至少一项:
进程可访问的地址空间;
组ID;
用户ID;
有效用户ID;
能力;
安全上下文。


3.根据权利要求1所述的内核安全检测方法,其特征在于,所述响应于系统调用对与进程权限相关的至少部分数据进行检测的步骤包括:
在由用户态模式进入内核态模式,且在内核处理函数调用前,对与进程权限相关的至少部分数据进行检测;并且/或者
在内核处理函数内部插入权限检查模块,以对与进程权限相关的至少部分数据进行检测;并且/或者
在内核处理函数调用后,对与进程权限相关的至少部分数据进行检测。


4.根据权利要求1所述的内核安全检测方法,其特征在于,所述对与进程权限相关的至少部分数据进行检测的步骤包括:
将与进程权限相关的至少部分数据与预先生成的检测集中的相应部分进行比较,以确定所述至少部分数据是否被恶意修改。


5.根据权利...

【专利技术属性】
技术研发人员:李丹许来光裘绍翔
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛;KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1