本公开涉及管理用于系统调用重定向的系统服务表的系统、方法和设备。
背景技术:
1、诸如windows、linux、macos等的操作系统提供了各种系统服务调用,用户模式进程可调用这些系统服务调用,以便从操作系统请求服务——诸如打开文件、请求存储器分配等。操作系统在内核存储器内维持至少一个系统服务表(例如,windows中的系统服务描述符表)。系统服务表将系统服务调用映射到内核函数地址。
技术实现思路
1、本文描述的至少一些实施例涉及安全系统服务重定向技术,该技术使得操作系统能够安全地将操作系统服务调用重路由到向操作系统注册的经验证的服务调用提供程序。在实施例中,这些服务调用提供程序被动态地且安全地加载到操作系统中,并且提供诸如系统调用监控、系统调用过滤、系统调用沙箱处理等的增值服务。
2、在一些方面中,本文描述的技术涉及一种在包括处理器的计算机系统上实现的方法,用于经由提供程序服务表安全地重定向系统服务例程,该方法包括:在较低信任安全区中执行的操作系统内加载服务调用提供程序,服务调用提供程序包括指示要被重定向到服务调用提供程序的系统服务例程集合的提供程序元数据;至少基于从操作系统到较高信任安全区内的安全操作系统的调用:构建将系统服务例程集合中的系统服务例程重定向到服务调用提供程序的提供程序服务表、硬件保护与提供程序服务表相关联的存储器页,以及向操作系统暴露提供程序服务表的只读视图;将提供程序服务表与在较低信任安全区中执行的用户模式进程相关联;以及至少基于从用户模式进程接收到针对特定系统服务例程的服务调用:确定提供程序服务表与用户模式进程相关联、在提供程序服务表内标识特定系统服务例程,以及将服务调用定向到服务调用提供程序。
3、在一些方面中,本文描述的技术涉及一种用于经由提供程序服务表安全地重定向系统服务例程的计算机系统,包括:处理器;以及硬件存储设备,其存储计算机可执行指令,该计算机可执行指令由处理器可执行以使得计算机系统:在较低信任安全区中执行的操作系统内加载服务调用提供程序,服务调用提供程序包括指示要被重定向到服务调用提供程序的系统服务例程集合的提供程序元数据;至少基于从操作系统到较高信任安全区内的安全操作系统的调用:构建将系统服务例程集合中的系统服务例程重定向到服务调用提供程序的提供程序服务表、硬件保护与提供程序服务表相关联的存储器页,以及向操作系统暴露提供程序服务表的只读视图;将提供程序服务表与在较低信任安全区中执行的用户模式进程相关联;以及至少基于从用户模式进程接收到针对特定系统服务例程的服务调用:确定提供程序服务表与用户模式进程相关联、在提供程序服务表内标识特定系统服务例程,以及将服务调用定向到服务调用提供程序。
4、在一些方面中,本文描述的技术涉及一种计算机程序产品,包括硬件存储设备,该硬件存储设备存储计算机可执行指令,该计算机可执行指令由处理器可执行以使得计算机系统经由提供程序服务表安全地重定向系统服务例程,该计算机可执行指令包括由处理器可执行以使得计算机系统:在较低信任安全区中执行的操作系统内加载服务调用提供程序,服务调用提供程序包括指示要被重定向到服务调用提供程序的系统服务例程集合的提供程序元数据;至少基于从操作系统到较高信任安全区内的安全操作系统的调用:构建将系统服务例程集合中的系统服务例程重定向到服务调用提供程序的提供程序服务表、硬件保护与提供程序服务表相关联的存储器页,以及向操作系统暴露提供程序服务表的只读视图;将提供程序服务表与在较低信任安全区中执行的用户模式进程相关联;以及至少基于从用户模式进程接收到针对特定系统服务例程的服务调用:确定提供程序服务表与用户模式进程相关联、在提供程序服务表内标识特定系统服务例程,以及将服务调用定向到服务调用提供程序。
5、提供本
技术实现要素:
从而以简化的形式介绍将在下面的具体实施方式中进一步描述的一系列构思。本发明内容既不旨在标识要求保护的主题的关键特征或必要特征,其也不旨在用作确定要求保护的主题的范围的辅助工具。
1.一种用于经由提供程序服务表来安全地重定向系统服务例程的计算机系统,包括:
2.根据权利要求1所述的计算机系统,所述计算机可执行指令还包括由所述处理器可执行以使得所述计算机系统在加载所述服务调用提供程序之前验证与所述服务调用提供程序相关联的安全数据的指令。
3.根据权利要求2所述的计算机系统,其中验证与所述服务调用提供程序相关联的安全数据包括验证代码签名或代码发布方中的至少一项。
4.根据权利要求1所述的计算机系统,所述计算机可执行指令还包括由所述处理器可执行以使得所述计算机系统硬件保护与所述服务调用提供程序相关联的代码页的指令。
5.根据权利要求1所述的计算机系统,其中构建所述提供程序服务表包括以下至少一项:
6.根据权利要求1所述的计算机系统,其中加载所述服务调用提供程序包括所述安全操作系统验证所述提供程序元数据。
7.根据权利要求1所述的计算机系统,其中:
8.根据权利要求1所述的计算机系统,其中基于所述操作系统从所述用户模式进程接收到请求选择加入所述服务调用提供程序的使用的调用,所述提供程序服务表与所述用户模式进程相关联。
9.根据权利要求1所述的计算机系统,其中基于所述操作系统确定所述用户模式进程将使用所述服务调用提供程序,所述提供程序服务表与所述用户模式进程相关联。
10.根据权利要求1所述的计算机系统,所述计算机可执行指令还包括由所述处理器可执行的指令,以使得所述计算机系统:
11.一种用于经由提供程序服务表安全地重定向系统服务例程的方法,在包括处理器的计算机系统上实现,所述方法包括:
12.根据权利要求11所述的方法,还包括在加载所述服务调用提供程序之前验证与所述服务调用提供程序相关联的安全数据。
13.根据权利要求12所述的方法,其中验证与所述服务调用提供程序相关联的安全数据包括验证代码签名或代码发布方中的至少一项。
14.根据权利要求11所述的方法,还包括硬件保护与所述服务调用提供程序相关联的代码页。
15.根据权利要求11所述的方法,其中构建所述提供程序服务表包括以下至少一项: