[发明专利]一种内核栈保护方法和系统在审
申请号: | 202310303025.8 | 申请日: | 2023-03-23 |
公开(公告)号: | CN116415254A | 公开(公告)日: | 2023-07-11 |
发明(设计)人: | 李晖;许人杰;王富帅 | 申请(专利权)人: | 北京邮电大学 |
主分类号: | G06F21/57 | 分类号: | G06F21/57;G06F21/55;G06F21/64 |
代理公司: | 北京金咨知识产权代理有限公司 11612 | 代理人: | 宋教花 |
地址: | 100876 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 内核 保护 方法 系统 | ||
本发明提供一种内核栈保护方法和系统,该方法包括:监控在富执行环境下内核中的事件函数,拦截与内核栈操作相关的事件函数,并设置勾住点;接收事件函数触发的SMC指令,在可信执行环境下的监视器模式中基于SMC指令包含的调用号判断SMC指令是否为预设范围内需执行内核栈操作的SMC指令,若不是则返回勾住点取消对事件函数的拦截,若是则对被拦截事件函数的内核栈操作执行合法性检查步骤;合法性检查步骤:检查被拦截事件函数对应的内核栈操作的合法性,安全内存是在Linux内核初始化阶段在可信执行环境下分配的;当检查到的内核栈操作不合法将系统锁死,当检查到的内核栈操作合法返回勾住点取消对事件函数的拦截。本发明能够安全有效的防护内核栈。
技术领域
本发明涉及操作系统内核安全技术领域,尤其涉及一种内核栈保护方法和系统。
背景技术
随着智能移动终端技术的飞速发展,手机等智能移动终端已然成为了人们日常生活和工作中不可或缺的重要设备。但智能移动终端中运行着多种多样的应用,涉及设备拥有者的日常工作、生活、财务等多方面的隐私和重要数据,智能移动终端带来的安全问题日益凸显。手机的Android操作系统的内核为Linux系统(即Linux内核),在Linux系统中,程序执行系统调用时会使用内核栈,内核栈中包括关键的控制流数据和非控制流数据,如果利用内核漏洞修改控制流数据,如函数指针和返回地址,便会造成控制流改变,攻击者可以利于控制流执行内核中的提权代码,进一步获取root权限,危害Linux内核。其中,内核栈最容易受到的攻击是栈溢出攻击。栈中存放的有调用函数的参数、执行完函数后的返回地址和被调用函数的局部变量,如果恶意利用字符串溢出漏洞,将函数返回地址修改为恶意代码地址来达成攻击。
现有的内核栈保护方案根据保护工具所处位置可以分为两大类:坐落于Linux内核的内核栈保护方案与基于Hypervisor的内核栈保护方案。坐落于Linux内核的内核栈保护方案是将保护工具放置在与Linux内核相同的地址空间与特权级别,但针对Linux内核的攻击同样可以对这些内核保护工具发起攻击,所以这种保护方法并不安全。基于Hypervisor的内核栈保护方案是将保护工具放置在比Linux内核特权级别更高的Hypervisor中,监控Linux内核栈关键事件,在必要时利用Hypervisor将内核栈内存区域设置为只读以防止内核栈数据被修改,能够提供比第一种保护方法更高的安全性,但这种保护方法的安全性完全依赖于Hypervisor,且Hypervisor需要执行很多的系统管理和资源分配任务,容易存在漏洞,所以这种保护方法也存在问题。
为此,如何提供一种具备更好的安全防护性能的内核栈保护方法,是一个亟待解决的技术问题。
发明内容
鉴于此,本发明实施例提供了一种内核栈保护方法和系统,以消除或改善现有技术中存在的一个或更多个缺陷。
本发明的一个方面提供了一种内核栈保护方法,该方法包括以下步骤:
监控在富执行环境下内核中的事件函数,拦截与内核栈操作相关的事件函数,并在被拦截的与内核栈操作相关的事件函数设置勾住点;
接收与内核栈相关的事件函数所触发的SMC指令,在可信执行环境下的监视器模式中基于SMC指令包含的调用号判断所述SMC指令是否为预设范围内需执行内核栈操作的SMC指令,若SMC指令不是预设范围内需执行内核栈操作的,则返回勾住点取消对事件函数的拦截,若SMC指令是预设范围内需执行内核栈操作的,则对被拦截事件函数的内核栈操作执行合法性检查步骤;
合法性检查步骤:基于被拦截事件函数的内核栈操作对应的线程标识和所请求的内核栈基地址与安全内存中存储的线程标识和线程标识对应的内核栈基地址,检查被拦截事件函数对应的内核栈操作的合法性,其中,所述安全内存是在Linux内核初始化阶段在可信执行环境下分配的;
当检查到的被拦截事件函数对应的内核栈操作不合法将系统锁死,当检查到的被拦截事件函数对应的内核栈操作合法返回勾住点取消对事件函数的拦截。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京邮电大学,未经北京邮电大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310303025.8/2.html,转载请声明来源钻瓜专利网。