一种基于可信内核的防攻击数据处理器转让专利

申请号 : CN201710648239.3

文献号 : CN107463856B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 崔晓夏李春强侯光恩陈理

申请人 : 杭州中天微系统有限公司

摘要 :

本发明提供一种基于可信内核的防攻击数据处理器,包括:可信内核异常向量表,用于提供内核切换的处理入口;可信内核堆栈指针寄存器,用于存储指向可信内核堆栈空间的可信内核堆栈指针;可信内核堆栈空间中的可信现场,可信现场包括用于存储内核切换的起始内核标志位的程序状态寄存器、程序指针和通用寄存器;其中,数据处理器在执行非可信内核向可信内核的内核切换时,所述可信内核寻址到所述内核切换的处理入口并执行切换。本发明能够对可信内核切换入口提供底层软件保护机制,使得可信内核和非可信内核切换时更加安全。

权利要求 :

1.一种基于可信内核的防攻击数据处理器,其特征在于,包括:

可信内核异常向量表,用于提供内核切换的处理入口;

可信内核堆栈空间中的可信现场,所述可信现场包括程序状态寄存器、程序指针和通用寄存器,其中所述程序状态寄存器适于存储内核切换的起始内核标志位;

其中所述数据处理器在执行非可信内核向可信内核的内核切换时,所述可信内核通过内核切换指令、内核切换返回指令或中断响应方式,依据所述可信内核异常向量表寻址到所述内核切换的处理入口并执行切换,所述可信内核通过所述内核切换返回指令执行切换时,根据所述程序状态寄存器存储的起始内核标志位判断返回起始内核或停留在当前内核。

2.根据权利要求1所述的数据处理器,其特征在于,所述内核切换的处理入口包括内核切换指令异常入口和可信中断处理入口。

3.根据权利要求1所述的数据处理器,其特征在于,所述可信内核通过所述内核切换指令或者内核切换返回指令执行切换时,通过所述可信内核异常向量表寻址到所述内核切换指令异常入口。

4.根据权利要求1所述的数据处理器,其特征在于,所述可信内核通过所述中断响应方式执行切换时,通过所述可信内核异常向量表寻址到可信中断处理入口。

5.根据权利要求1所述的数据处理器,还包括:

可信内核堆栈指针寄存器,用于存储指向可信内核堆栈空间的可信内核堆栈指针;

其中

当所述可信内核响应非可信中断而切换到所述非可信内核时,所述可信内核将所述可信现场保存在所述可信内核堆栈指针指向的可信内核堆栈空间中;

当所述非可信内核处理完非可信中断后,再调用所述内核切换返回指令切换到所述可信内核时,所述可信内核会从所述可信内核堆栈空间恢复可信现场。

6.根据权利要求5所述的数据处理器,其特征在于,所述可信现场是所述可信内核为响应非可信中断而切换到所述非可信内核前的现场。

7.根据权利要求5所述的数据处理器,其特征在于,当所述非可信内核修改所述程序状态寄存器的起始内核标志位并且执行所述内核切换返回指令切换到所述可信内核时,所述可信内核会依据所述可信内核堆栈指针从所述可信内核堆栈空间恢复可信现场。

8.根据权利要求7所述的数据处理器,其特征在于,所述可信现场是所述可信内核第一次主动切换到所述非可信内核前的现场。

说明书 :

一种基于可信内核的防攻击数据处理器

技术领域

[0001] 本发明涉及信息安全技术领域,尤其涉及一种基于可信内核的防攻击数据处理器。

背景技术

[0002] 随着移动互联网以及物联网的发展及信息技术在生产、经营、管理方面的广泛应用,人类经济社会越来越依赖网络和信息系统。而不时发生的病毒侵袭、黑客攻入和信息窃取等事件,使得系统安全保障工作日益重要并倍受人们关注。
[0003] 目前,通过引入安全模式,系统信息的安全得到了一定程度的保障。在安全模式中,系统真正实现了硬件隔离。系统内核运行在整个系统的最高特权层,管理和控制底层硬件资源,为上层应用程序提供安全隔离的资源抽象和访问接口,是整个系统的基础。在安全模式下,运行可信内核的操作系统与在非安全模式下运行的操作系统相互独立。可信内核提供安全认证、加解密、敏感数据存储等服务。通过硬件安全组件进行物理隔离,确保非安全模式下的操作系统无法直接访问安全模式下的资源,从而缩小攻击面。
[0004] 但是,攻击者依然可以在非安全模式下通过一系列手段对可信内核进行攻击来获取敏感数据等,甚至可以导致系统崩溃。
[0005] 因此,亟需在可信内核中设计一种程序控制,用于防范此类攻击。

发明内容

[0006] 本发明提供的一种基于可信内核的防攻击数据处理器,能够针对现有技术的不足,在可信内核中提供底层软件保护机制,增强可信内核的安全性。
[0007] 本发明提供一种基于可信内核的防攻击数据处理器,其中包括:
[0008] 可信内核异常向量表,用于提供内核切换的处理入口;
[0009] 可信内核堆栈指针寄存器,用于存储指向可信内核堆栈空间的可信内核堆栈指针;
[0010] 可信内核堆栈空间中的可信现场,所述可信现场包括用于存储内核切换的起始内核标志位的程序状态寄存器、程序指针和通用寄存器;
[0011] 所述数据处理器在执行非可信内核向可信内核的内核切换时,所述可信内核寻址到所述内核切换的处理入口并执行切换。
[0012] 可选地,上述提供内核切换的处理入口包括内核切换指令异常入口和可信中断处理入口。
[0013] 可选地,上述可信内核通过内核切换指令、内核切换返回指令或中断响应方式寻址到所述内核切换的处理入口并执行切换。
[0014] 可选地,上述可信内核通过内核切换返回指令执行切换时,需根据所述程序状态寄存器的起始内核的标志位判断返回所述起始内核或停留在当前内核。
[0015] 可选地,上述可信内核通过跨内核任务调用的入口向量表寻址到所述内核切换指令异常入口。
[0016] 可选地,上述可信内核通过所述可信内核异常向量表寻址到可信中断处理入口。
[0017] 可选地,当上述可信内核响应非可信中断而切换到所述非可信内核时,所述可信内核将可信现场保存在所述可信内核堆栈空间中;
[0018] 当上述非可信内核处理完非可信中断后,再调用所述内核切换返回指令切换到所述可信内核时,所述可信内核会从所述可信内核堆栈空间恢复可信现场。
[0019] 可选地,上述可信现场是所述可信内核为响应非可信中断而切换到所述非可信内核前的现场。
[0020] 可选地,当上述非可信内核修改所述程序状态寄存器的起始内核标志并且执行所述内核切换返回指令切换到所述可信内核时,所述可信内核会从所述可信内核堆栈空间恢复可信现场。
[0021] 可选地,上述可信现场是所述可信内核第一次主动切换到所述非可信内核前的现场。
[0022] 本发明实施例提供的基于可信内核的防攻击数据处理器,对所有可信内核切换入口提供了底层软件保护机制,能够使得可信内核和非可信内核切换时更加安全。

附图说明

[0023] 图1为本发明提供的基于可信内核的防攻击数据处理器的基本架构示意图;
[0024] 图2为本发明一实施例的数据处理器正常执行内核切换指令时的运行示意图;
[0025] 图3为本发明一实施例的可信内核响应非可信内核中断后、由非可信内核执行内核切换返回指令返回可信内核的运行示意图;
[0026] 图4为本发明一实施例的非法内核切换异常的运行示意图。

具体实施方式

[0027] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0028] 本发明提供一种基于可信内核的防攻击数据处理器。图1示出了本发明提供的数据处理器的基本架构示意图。如图1所示,数据处理器包括可信内核异常向量表、可信内核堆栈指针寄存器、可信内核堆栈空间内的可信现场。
[0029] 具体地,可信内核异常向量表包括两种内核切换的处理入口,即内核切换指令异常入口和可信中断处理入口,数据处理器在执行非可信内核向可信内核的内核切换时,可信内核会根据不同的方式寻址到内核切换的处理入口并执行切换。可信内核堆栈指针寄存器是指可信内核拥有的独立的堆栈指针,其指向可信内核堆栈空间;可信内核堆栈空间保存可信现场,可信现场包含当前可信内核上下文,典型地,包含上次可信内核切换前的程序状态寄存器、程序指针、通用寄存器。特别的,所述程序状态寄存器包含内核切换的起始内核的标志位。
[0030] 具体地,数据处理器的内核切换方式包括内核切换指令、内核切换返回指令和中断响应三种方式。特别的,在使用内核切换返回指令执行内核切换时,可以根据程序状态寄存器的起始内核标志位置,判断返回起始内核还是停留在当前内核。
[0031] 特别的,在使用内核切换指令、内核切换返回指令进行内核切换时,可信内核根据可信内核跨内核任务调用的入口向量表,寻址到内核切换指令异常入口。而在中断响应执行内核切换时,可信内核根据可信内核异常向量表寻址到可信中断处理入口。
[0032] 图2示出了本发明一个实施例的数据处理器正常执行内核切换指令时的运行示意图。如图所示,当前数据处理器在非可信内核中正常执行内核切换命令。数据处理器保存位于非可信内核中的非可信现场,并且通过切换过程切换到可信内核。
[0033] 进一步的,数据处理器在可信内核的异常向量表中寻址到内核切换指令异常入口并执行,可信内核的内核切换异常处理代码执行内核切换指令,通过切换过程返回到非可信内核,数据处理器恢复非可信现场后继续执行。
[0034] 图3示出了本发明一个实施例的可信内核响应非可信内核中断后、由非可信内核执行内核切换返回指令返回可信内核的运行示意图。如图所示,当前数据处理器在可信内核中执行。当非可信内核有中断发生时,数据处理器保存可信现场到可信内核堆栈空间后,通过切换过程切换到非可信内核响应中断,特别的,可信堆栈指针寄存器指向上述可信内核堆栈空间。
[0035] 进一步的,非可信内核的中断处理函数执行内核切换指令返回可信内核。数据处理器根据可信内核堆栈指针寄存器指向的可信内核堆栈空间恢复可信现场后继续执行。
[0036] 图4示出了本发明一个实施例的非法内核切换异常的运行示意图。如图所示,在可信内核里设置可信内核第一次切换到非可信内核前的现场,并且保存现场到可信内核堆栈指针寄存器指向的可信内核堆栈空间,然后执行内核切换指令切换到非可信内核。
[0037] 进一步的,非可信内核修改程序状态寄存器的起始内核标志位,并且执行内核切换返回指令切换到可信内核执行。数据处理器保存非可信内核现场后,切换到可信内核内执行。
[0038] 进一步的,数据处理器根据可信内核堆栈指针寄存器指向的可信内核堆栈空间恢复可信现场。数据处理器执行非法内核切换异常处理代码后,能够重启或抛出异常,从而防止非法内核侵入。
[0039] 本发明实施例提供的基于可信内核的防攻击数据处理器,对所有可信内核切换入口提供了底层软件保护机制,能够使得可信内核和非可信内核切换时更加安全。
[0040] 以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。