CN111324437A - 操作系统的内核函数调用方法及计算机设备 - Google Patents
操作系统的内核函数调用方法及计算机设备 Download PDFInfo
- Publication number
- CN111324437A CN111324437A CN202010097374.5A CN202010097374A CN111324437A CN 111324437 A CN111324437 A CN 111324437A CN 202010097374 A CN202010097374 A CN 202010097374A CN 111324437 A CN111324437 A CN 111324437A
- Authority
- CN
- China
- Prior art keywords
- target
- user process
- operating system
- kernel function
- kernel
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本申请公开了一种操作系统的内核函数调用方法及计算机设备,涉及计算机技术领域。该方法可以根据获取到的目标用户进程发送的调用请求中携带的目标内核函数的标识以及该目标用户进程的标识,检测该目标用户进程是否满足调用条件。若该目标用户进程满足调用条件,则通过系统调用接口向操作系统的内核发送调用请求。由于本申请提供的方法在调用目标内核函数时,能力服务模块可以确定恶意的用户进程不满足调用条件,不会向操作系统的内核发送调用请求,从而有效避免恶意的用户进程的攻击,避免恶意的用户进程对操作系统造成影响,操作系统的安全性能较高。
Description
技术领域
本申请涉及计算机技术领域,特别涉及一种操作系统的内核函数调用方法及计算机设备。
背景技术
Linux操作系统(operating system,OS)的内核中具有系统调用(system call)接口,以及一系列具备预定功能的内核函数。系统调用接口是用户空间中的用户进程调用内核中的内核函数的入口。
相关技术中,任一用户进程调用Linux操作系统的内核中的内核函数时,可以通过系统调用接口向Linux操作系统的内核发送请求,Linux操作系统的内核接收到该请求后可以调用相应的内核函数以对该请求进行处理。待处理完成后,Linux操作系统的内核可以将处理结果返回给用户进程。
但是,由于任一用户进程均可以通过系统调用接口调用Linux操作系统的内核中的内核函数,因此恶意的用户进程在通过系统调用接口调用内核函数时可能会对Linux操作系统造成影响,Linux操作系统的安全性能较低。
发明内容
本申请提供了一种操作系统的内核函数调用方法及计算机设备,可以解决相关技术中Linux操作系统的安全性能较低的问题。所述技术方案如下:
一方面,提供了一种操作系统的内核函数调用方法,应用于运行于所述操作系统的用户空间的能力服务模块;所述方法包括:
获取目标用户进程发送的针对所述操作系统的内核的目标内核函数的调用请求,所述调用请求中携带有所述目标用户进程的标识和所述目标内核函数的标识;
根据所述目标内核函数的标识确定所述目标内核函数的调用条件,所述调用条件包括:用户进程的标识在所述目标内核函数的白名单进程列表中;
检测所述目标用户进程是否满足所述调用条件;
若所述目标用户进程满足所述调用条件,通过系统调用接口向所述操作系统的内核发送所述调用请求,所述调用请求用于指示所述操作系统的内核调用所述目标内核函数。
另一方面,提供了一种计算机设备,所述计算机设备包括:硬件层,以及运行与硬件层上的操作系统;其中,所述硬件层包括处理器和存储器,所述操作系统包括:内核,以及运行于用户空间的能力服务模块;所述能力服务模块用于
块获取目标用户进程发送的针对操作系统的内核的目标内核函数的调用请求,所述调用请求中携带有所述目标用户进程的标识和所述目标内核函数的标识;
根据所述目标内核函数的标识确定所述目标内核函数的调用条件,所述调用条件包括:用户进程的标识在所述目标内核函数的白名单进程列表中;
检测所述目标用户进程是否满足所述调用条件;
若所述目标用户进程满足所述调用条件,通过系统调用接口向所述操作系统的内核发送所述调用请求,所述调用请求用于指示所述操作系统的内核调用所述目标内核函数。
本申请提供的技术方案带来的有益效果至少包括:
本申请提供了一种操作系统的内核函数调用方法及计算机设备,该方法可以根据获取到的目标用户进程发送的调用请求中携带的目标内核函数的标识以及该目标用户进程的标识,检测该目标用户进程是否满足调用条件。若该目标用户进程满足调用条件,则通过系统调用接口向操作系统的内核发送调用请求。由于本申请提供的方法在调用目标内核函数时,能力服务模块可以确定恶意的用户进程不满足调用条件,不会向操作系统的内核发送调用请求,从而有效避免恶意的用户进程的攻击,避免恶意的用户进程对操作系统造成影响,操作系统的安全性能较高。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供一种计算机设备的结构示意图;
图2是本申请实施例提供的一种操作系统中各进程的示意图;
图3是本申请实施例提供的一种操作系统的结构示意图;
图4是本申请实施例提供的一种操作系统的内核函数调用方法的流程图;
图5是本申请实施例提供的另一种操作系统的内核函数调用方法的流程图;
图6是本申请实施例提供的一种计算机设备中硬件层的结构示意图;
图7是本申请实施例提供的另一种计算机设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
图1是本申请实施例提供一种计算机设备的结构示意图。该计算机设备10可以为智能电视、台式电脑、笔记本电脑、智能手机、平板电脑、车载导航仪、多媒体播放器或者可穿戴式设备等。
在Linux操作系统中,为了对用户进程进行权限检查,可以将用户进程分为两类:特权进程和非特权进程。其中,Linux操作系统为该特权进程配置的标识为0,该特权进程具有系统权限(root权限)。Linux操作系统为该非特权进程配置的标识为非0。
若操作系统的内核确定某个用户进程的标识为0,则操作系统的内核可以允许该用户进程调用该操作系统的内核的任意内核函数。也即是,若某个用户进程具有系统权限,则操作系统的内核可以允许该用户进程执行任意操作,包括改动或删除系统文件。
若操作系统的内核确定某个用户进程的标识为非0,则操作系统的内核可以对该用户进程进行检查,例如,操作系统的内核可以基于该用户进程的标识,该用户进程所属的进程组的标识,以及用户进程所属的补充组的标识对该用户进程进行检查。
若某个恶意的用户进程获取到系统权限,则该用户进程可以调用Linux操作系统的内核中的任意内核函数,Linux操作系统的安全性能较低。因此,Linux操作系统的内核从版本2.2开始,Linux操作系统将系统权限划分为多个独立的权限单元,其中每个权限单元也称为能力(capability)。
其中,参考图2,初始化进程可以用于对各个进程进行初始化,启动(launcher)进程可以具有系统权限,其他进程均为用户进程,例如命令行程序的宿主进程(console),应用程序性能管理(application performance management,APM)进程,电视机主进程(TVmain)均为用户进程,各个用户进程的标识不同。各个用户进程(例如图2所示的第一进程,第二进程,第三进程,以及第四进程)的能力均由启动进程分配。也即是,Linux操作系统可以将能力赋予用户进程,以使用户进程能够调用某些内核函数以执行某些操作。由此可以避免某些恶意的用户进程获取到系统权限。此时,Linux操作系统的内核无需检测用户进程是特权进程还是非特权进程,而是直接检测该用户进程是否具备执行操作的能力。示例的,当用户进程需要设置系统时间,则Linux操作系统的内核可以检测该用户进程是否具有设置系统时间的能力。
每个用户进程可以包括一个或多个子进程。例如,参考图2,第二进程包括第一子进程和第二子进程,该第一子进程和第二子进程具备的能力可以为第二进程具备的能力。第三进程包括第三子进程,该第三子进程具备的能力可以为第三进程具备的能力。
但是,若某个恶意的用户进程获取到某个能力,例如,某个用户进程具有忽略文件本身的访问限制去对文件进行读,写或操作的能力(CAP_DAC_OVERRIDE),则该用户进程可以直接绕过使用文件属性控制读写执行的机制(Linux DAC)限制,从而会对Linux操作系统造成影响,Linux操作系统的安全性能较低。
为了提高Linux操作系统的安全性能,本申请实施例提供了一种操作系统,该操作系统可以运行于计算机设备的硬件层之上。参考图3,该操作系统可以包括:用户空间和内核空间。各个用户进程(第一用户进程,第二用户进程,第三用户进程,第四用户进程,以及第五用户进程)和能力服务模块均运行于用户空间,操作系统的内核的各个内核函数运行于内核空间。
图4是本申请实施例提供的一种操作系统的内核函数调用方法的流程图,该方法可以应用于图3所示的能力服务模块。参考图4,该方法可以包括:
步骤201、获取目标用户进程发送的针对操作系统的内核的目标内核函数的调用请求。
在本申请实施例中,目标用户进程为用户空间中包括的多个用户进程中的一个进程,目标内核函数为内核空间中包括的多个内核函数中的一个内核函数。目标用户进程不能直接调用操作系统的内核的内核函数,只能通过能力服务模块调用操作系统的内核的内核函数。
目标用户进程在需要调用操作系统的内核中的目标内核函数时,可以向用户空间的能力服务模块发送调用请求。该能力服务模块可以接收并获取到该目标用户进程发送的该调用请求。其中,该调用请求中可以携带有目标用户进程的标识和目标内核函数的标识。
其中,该目标用户进程的标识可以为唯一指示该目标用户进程的字符串,例如,可以为唯一指示该目标用户进程的标识(identification,ID)。该目标内核函数的标识可以为唯一指示该目标内核函数的字符串,例如,可以为该目标内核函数的名称。
步骤202、根据目标内核函数的标识确定目标内核函数的调用条件。
在本申请实施例中,能力服务模块中可以预先存储有操作系统的内核中每个内核函数的标识与调用条件的对应关系。能力服务模块在接收到目标用户进程发送的针对操作系统的内核的目标内核函数的调用请求时,可以基于该调用请求中携带的目标内核函数的标识,以及内核函数的标识与调用条件的对应关系,确定该目标内核函数的调用条件。
可选的,该调用条件可以包括:用户进程的标识在目标内核函数的白名单进程列表中。该目标内核函数的白名单进程列表可以包括:至少一个用户进程的标识。该白名单进程列表中包括的每个用户进程的标识所指示的用户进程满足调用该目标内核函数的调用条件。
示例的,能力服务模块中可以预先存储有每个内核函数的标识与白名单进程列表的关系列表。能力服务模块可以基于调用请求中携带的目标内核函数的标识,以及其预先存储的多个内核函数中每个内核函数的标识与白名单进程列表的关系列表,将该目标内核函数的标识对应的白名单进程列表确定为该目标内核函数的目标白名单进程列表。
步骤203、检测目标用户进程是否满足调用条件。
在本申请实施例中,能力服务模块可以基于接收到的调用请求中携带的目标用户进程的标识检测该用户用户进程是否满足调用条件。若能力服务模块检测到目标用户进程满足调用条件,则执行下述步骤204;若能力服务模块检测到目标用户进程不满足调用条件,则可以忽略该目标用户进程发送的调用请求。
示例的,能力服务模块在基于调用请求中携带的目标内核函数的标识确定出该目标内核函数的目标白名单进程列表之后,可以根据目标用户进程的标识,确定该目标白名单进程列表中是否包括目标用户进程的标识。若该目标白名单进程列表中包括目标用户进程的标识,则能力服务模块可以确定该目标用户进程满足调用条件,执行下述步骤204。若该目标白名单进程列表中不包括目标用户进程的标识,则能力服务模块可以确定该目标用户进程不满足调用条件,忽略该目标用户进程发送的调用请求。
步骤204、若目标用户进程满足调用条件,通过系统调用接口向操作系统的内核发送调用请求。
在本申请实施例中,若能力服务模块检测到目标用户进程满足调用条件,则可以通过操作系统的内核的系统调用接口向操作系统的内核发送调用请求。该调用请求可以用于指示操作系统的内核调用目标内核函数。也即是,若能力服务模块检测到目标用户进程满足调用条件,操作系统的内核即可调用目标内核函数以执行相应的操作。
综上所述,本申请实施例提供了一种操作系统的内核函数调用方法,该方法可以根据获取到的目标用户进程发送的调用请求中携带的目标内核函数的标识以及该目标用户进程的标识,检测该目标用户进程是否满足调用条件。若该目标用户进程满足调用条件,则通过系统调用接口向操作系统的内核发送调用请求。由于本申请实施例提供的方法在调用目标内核函数时,能力服务模块可以确定恶意的用户进程不满足调用条件,不会向操作系统的内核发送调用请求,从而有效避免恶意的用户进程的攻击,避免恶意的用户进程对操作系统造成影响,操作系统的安全性能较高。
图5是本申请实施例提供的一种操作系统的内核函数调用方法的流程图。该方法可以应用于用户空间的能力服务模块。参考图5可以看出,该方法可以包括:
步骤301、目标用户进程通过目标子模块中的目标封装接口向能力服务模块发送针对操作系统的内核的目标内核函数的调用请求。
在本申请实施例中,操作系统为Linux操作系统,该操作系统的内核为Linux操作系统的内核。目标用户进程为用户空间中包括的多个用户进程中的一个进程,目标内核函数为内核空间中包括的多个内核函数中的一个内核函数。能力服务模块具有对操作系统的系统权限进行划分得到的多个能力,而目标用户进程不具备能力。并且,能力服务模块包括多个能力子模块,每个能力子模块具有至少一个能力,且各个能力子模块具有的能力不同。
需要说明的是,开发人员可以根据系统权限划分得到的多个能力的应用场景类型的不同,将该多个能力配置至不同的能力子模块。也即是,对于每个能力子模块,开发人员可以为其配置一个或多个能力。并且,不同能力子模块所具备的能力的应用场景类型不同,且同一个能力子模块所具备的一个或多个能力的应用场景类型相同。
可选的,能力子模块中可以存储有该能力子模块具备的能力的列表。应用场景类型可以包括:挂载(mount)场景,网络(network)场景,时间(time)设置场景,以及浏览器(browser)场景等。
示例的,若某个能力子模块具备的能力为系统权限划分出的多个能力中属于挂载场景的能力,该能力子模块可以称为挂载能力子模块,参考表1,该挂载能力子模块具备的能力可以包括:ServiceMount,ServiceRemount,ServiceUmount,以及ServiceUmount2等7种能力。
表1
能力 | 解释 |
ServiceMount | 挂载文件系统 |
ServiceRemount | 重新加载文件系统 |
ServiceUmount | 卸载文件系统 |
ServiceUmount2 | 创建设备节点路径 |
ServiceMknod | 创建设备节点路径 |
ServiceSettimeofday | 设置系统时间 |
ServiceSethostname | 设置主机名称 |
若某个能力子模块具备的能力为系统权限划分出的多个能力中属于网络场景的能力,该能力子模块可以称为网络能力子模块,参考表2,该网络能力子模块具备的能力可以包括:ServiceNetwork_SetInterfaceFlag,ServiceNetwork_SetMac,以及ServiceNetwork_SetIPv4Ip等36种能力。
表2
在本申请实施例中,每个能力子模块具有至少一个封装接口。每个封装接口用于接收针对其所对应的一个内核函数的调用请求,即每个封装接口能够调用其对应的一个内核函数。
在本申请实施例中,目标用户进程不能直接调用操作系统的内核的内核函数,只能通过能服务模块调用操作系统的内核的内核函数。因此,目标用户进程在向能力服务模块发送针对操作系统的内核的目标内核函数的调用请求之前,可以根据其调用请求中携带的目标内核函数的标识,确定与该目标内核函数对应的目标封装接口,该目标封装接口为与目标内核函数对应的封装接口,该目标封装接口能够调用对应的目标内核函数。之后,目标用户进程向该目标封装接口发送针对操作系统的内核的目标内核函数的调用请求。该目标封装接口所属的目标能力子模块即可接收并获取到该目标用户进程发送的该调用请求。其中,该调用请求中可以携带有目标用户进程的标识和目标内核函数的标识。
其中,该目标用户进程的标识可以为唯一指示该目标用户进程的字符串,例如,可以为唯一指示该目标用户进程的ID。该目标内核函数的标识可以为唯一指示该目标内核函数的字符串,例如,可以为该目标内核函数的名称。
步骤302、能力服务模块根据目标内核函数的标识确定目标内核函数的调用条件。
在本申请实施例中,能力服务模块中每个能力子模块可以预先存储有该能力子模块能够调用的每个内核函数的标识与调用条件的对应关系。目标能力子模块在接收到目标用户进程发送的针对操作系统的内核的目标内核函数的调用请求时,可以基于该调用请求中携带的目标内核函数的标识,以及内核函数的标识与调用条件的对应关系,确定该目标内核函数的调用条件。
该调用条件可以包括:用户进程的标识在目标内核函数的白名单列表中。该目标内核函数的白名单进程列表可以包括:至少一个用户进程的标识。该白名单进程列表中包括的至少一个用户进程的标识所指示的用户进程满足调用该目标内核函数的调用条件。其中,该白名单列表可以为允许调用目标内核函数的合法用户进程的标识列表。
示例的,该能力子模块中可以预先存储有该能力子模块能够调用的每个内核函数的标识与白名单进程列表的关系列表。该能力子模块在接收到目标用户进程发送的调用请求时,可以基于该调用请求中携带的目标内核函数的标识,以及其预先存储的内核函数的标识与白名单进程列表的关系列表,将该目标内核函数的标识对应的白名单进程列表确定为目标白名单进程列表。
需要说明的是,若调用请求为挂载请求,即目标用户进程向能力服务模块中挂载服务子模块发送针对操作系统的内核的目标内核函数的挂载请求。该调用请求还可以携带有:挂载节点标识,挂载设备标识,挂载制式标识,文件系统类型标识以及挂载类型标识。调用条件还可以包括下述条件中的至少一种:
用户进程的挂载节点标识在允许的挂载节点列表中;用户进程的挂载设备标识在允许的挂载设备列表中;用户进程的挂载制式标识在允许的挂载制式类型列表中;用户进程的文件系统类型标识在允许的文件系统类型列表中;用户进程的挂载类型标识在允许的可读写挂载列表中。
其中,用户进程的挂载节点为操作系统中磁盘文件系统的入口目录。用户进程的挂载设备为该用户进程所需挂载的外接设备。用户进程的挂载制式类型为该用户进程所需挂载的外接设备的格式类型。用户进程的文件系统类型为该用户进程所需挂载的外接设备的磁盘类型。用户进程的挂载类型包括:只读挂载和可读写挂载。用户进程的挂载类型标识可以用于指示该用户进程是只读挂载还是可读写挂载。
步骤303、能力服务模块检测目标用户进程是否满足调用条件。
在本申请实施例中,能力子模块可以基于接收到的调用请求中携带的目标用户进程的标识检测该目标用户进程是否满足调用条件。若能力子模块检测到目标用户进程满足调用条件,则执行下述步骤304至步骤305;若能力子模块检测到目标用户进程不满足调用条件,则可以忽略该目标用户进程发送的调用请求。
能力子模块在基于调用请求中携带的目标内核函数的标识确定出该目标内核函数的目标白名单进程列表之后,可以根据目标用户进程的标识,确定该目标白名单进程列表中是否包括目标用户进程的标识。若该目标白名单进程列表中包括目标用户进程的标识,则能力子模块可以确定该目标用户进程满足调用条件,执行下述步骤304至步骤306。若该白名单进程列表中不包括目标用户进程的标识,则能力子模块可以确定该目标用户进程不满足调用条件。
若能力子模块获取到的调用请求为挂载请求,则能力子模块还可以基于上述步骤302中记载的调用条件对目标用户进程进行检测。其中,能力子模块中可以预先存储有允许的挂载节点列表,允许的挂载设备列表,允许的挂载制式类型列表,允许的文件系统类型列表,以及允许的可读写挂载列表。该允许的挂载节点列表可以包括至少一个挂载节点标识,该允许的挂载设备列表可以包括至少一个挂载设备标识,该允许的挂载制式类型列表可以包括至少一个挂载制式标识,该允许的文件系统类型列表可以包括至少一个文件系统类型标识,该允许的可读写挂载列表可以包括至少一个挂载类型标识。
若能力子模块检测到目标用户进程的挂载节点标识在允许的挂载节点列表中,目标用户进程的挂载设备标识在允许的挂载设备列表中,目标用户进程的挂载制式标识在允许的挂载制式列表中,目标用户进程的文件系统类型标识在允许的文件系统类型列表中,目标用户进程的挂载类型标识在可读写挂载列表中,则该能力子模块可以确定该目标用户进程满足调用条件。
步骤304、若目标用户进程满足调用条件,通过系统调用接口向操作系统的内核发送调用请求。
在本申请实施例中,若能力子模块检测到目标用户进程满足调用条件,则可以通过操作系统的内核的系统调用接口向操作系统的内核发送调用请求。调用请求用于指示操作系统的内核调用目标内核函数。
步骤305、操作系统的内核通过系统调用接口向能力服务模块发送目标内核函数的处理结果。
在本申请实施例中,若能力子模块检测到目标用户进程满足调用条件,并向操作系统的内核发送调用请求之后,该操作系统的内核即可根据调用请求中携带的目标内核函数的标识调用目标内核函数。该目标内核函数可以对该调用请求进行处理,待处理完成后,该操作系统的内核即可通过系统调用接口将该目标内核函数的处理结果发送给能力子模块,能力子模块即可接收到该操作系统的内核发送的处理结果。
步骤306、能力服务模块向目标用户进程发送处理结果。
在本申请实施例中,能力子模块在接收到操作系统的内核通过系统调用接口发送的目标内核函数的处理结果之后,可以将该处理结果转发给目标用户进程。
综上所述,本申请实施例提供了一种操作系统的内核函数调用方法,该方法可以根据获取到的目标用户进程发送的调用请求中携带的目标内核函数的标识以及该目标用户进程的标识,检测该目标用户进程是否满足调用条件。若该目标用户进程满足调用条件,则通过系统调用接口向操作系统的内核发送调用请求。由于本申请实施例提供的方法在调用目标内核函数时,能力服务模块可以确定恶意的用户进程不满足调用条件,不会向操作系统的内核发送调用请求,从而有效避免恶意的用户进程的攻击,避免恶意的用户进程对操作系统造成影响,操作系统的安全性能较高。
本申请实施例提供的一种计算机设备,该计算机设备可以包括:硬件层,以及运行于该硬件层上的操作系统。参考图6,该硬件层101可以包括:处理器1011和存储器1012。操作系统可以包括:内核,以及运行与用户空间的能力服务模块。该能力服务模块可以用于:
获取目标用户进程发送的针对操作系统的内核的目标内核函数的调用请求,该调用请求中携带有该目标用户进程的标识和该目标内核函数的标识;根据目标内核函数的标识确定该目标内核函数的调用条件,该调用条件包括:用户进程的标识在该目标内核函数的白名单进程列表中;检测该目标用户进程是否满足该调用条件;若该目标用户进程满足该调用条件,通过系统调用接口向该操作系统的内核发送该调用请求,该调用请求用于指示该操作系统的内核调用该目标内核函数。
可选的,该能力服务模块具有对操作系统的系统权限进行划分得到的多个能力,目标用户进程不具备能力。
可选的,该能力服务模块可以包括多个能力子模块,每个能力子模块具有至少一个能力,且各个能力子模块具有的能力不同,每个能力子模块具有至少一个封装接口。
能力服务模块,可以用于:
通过目标能力子模块中的目标封装接口获取目标用户进程发送的针对操作系统的内核的目标内核函数的调用请求。其中,目标能力子模块的目标封装接口为与目标内核函数对应的封装接口。
可选的,若调用请求为挂载请求,该调用请求还包括:挂载节点标识,挂载设备标识,挂载制式标识,文件系统类型标识以及挂载类型标识;调用条件还包括下述条件中的至少一种:
用户进程的挂载节点标识在允许的挂载节点列表中;用户进程的挂载设备标识在允许的挂载设备列表中;用户进程的挂载制式标识在允许的挂载制式类型列表中;用户进程的文件系统类型标识在允许的文件系统类型列表中;用户进程的挂载类型标识在允许的可读写挂载列表中。
可选的,能力服务模块,还可以用于:
通过能力服务模块接收操作系统的内核通过系统调用接口发送的目标内核函数的处理结果;将处理结果发送至目标用户进程。
综上所述,本申请实施例提供了一种计算机设备,该计算机设备可以根据获取到的目标用户进程发送的调用请求中携带的目标内核函数的标识以及该目标用户进程的标识,检测该目标用户进程是否满足调用条件。若该目标用户进程满足调用条件,则通过系统调用接口向操作系统的内核发送调用请求。由于本申请实施例提供的计算机设备在调用目标内核函数时,能力服务模块可以确定恶意的用户进程不满足调用条件,不会向操作系统的内核发送调用请求,从而有效避免恶意的用户进程的攻击,避免恶意的用户进程对操作系统造成影响,操作系统的安全性能较高。
图7是本申请实施例提供的一种计算机设备的结构示意图。参考图7,计算机设备10可以包括控制器110、调谐解调器120、通信器130、检测器140、外部装置接口150、存储器190、用户输入接口、视频处理器1601、音频处理器1602、显示器180、音频输出接口170、供电电源。
调谐解调器120,通过有线或无线方式接收广播电视信号,可以进行放大、混频和谐振等调制解调处理,用于从多个无线或有线广播电视信号中解调出用户所选择电视频道的频率中所携带的音视频信号,以及附加信息(例如EPG数据信号)。
调谐解调器120,可根据用户选择,以及由控制器110控制,响应用户选择的电视频道频率以及该频率所携带的电视信号。
调谐解调器120,根据电视信号广播制式不同,可以接收信号的途径有很多种,诸如,地面广播、有线广播、卫星广播或互联网广播等;以及根据调制类型不同,可以数字调制方式,也可以模拟调制方式;以及根据接收电视信号种类不同,可以解调模拟信号和数字信号。
在其他一些示例性实施例中,调谐解调器120也可在外置设备中,如外置机顶盒等。这样,机顶盒通过调制解调后输出电视音视频信号,经过输入/输出接口150输入至计算机设备10中。
通信器130是用于根据各种通信协议类型与外部设备或外部服务器进行通信的组件。例如,通信器130可以包括无线保真(wireless fidelity,WIFI)模块131,蓝牙通信协议模块132,有线以太网通信协议模块133等其他网络通信协议模块或近场通信协议模块。
计算机设备10可以通过通信器130与外部控制设备或内容提供设备之间建立控制信号和数据信号的连接。例如,通信器可根据控制器的控制接收遥控设备的控制信号。
检测器140,是计算机设备10用于采集外部环境或与外部交互的信号的组件。检测器140可以包括光接收器142,用于采集环境光线强度的传感器,可以通过采集环境光来自适应显示参数变化等;还可以包括图像采集器141,如相机、摄像头等,可以用于采集外部环境场景,以及用于采集用户的属性或与用户交互手势,可以自适应变化显示参数,也可以识别用户手势,以实现与用户之间互动的功能。
在其他一些示例性实施例中,检测器140,还可包括温度传感器,如通过感测环境温度,计算机设备10可自适应调整图像的显示色温。示例性的,当温度偏高的环境时,可调整计算机设备10显示图像色温偏冷色调;当温度偏低的环境时,可以调整计算机设备10显示图像色温偏暖色调。
在其他一些示例性实施例中,检测器140还可包括声音采集器,如麦克风,可以用于接收用户的声音,包括用户控制计算机设备10的控制指令的语音信号,或采集环境声音,用于识别环境场景类型,计算机设备10可以自适应环境噪声。
外部装置接口150,提供控制器110控制计算机设备10与外部其他设备间数据传输的组件。外部装置接口可按照有线/无线方式与诸如机顶盒、游戏装置、笔记本电脑等的外部设备连接,可接收外部设备的诸如视频信号(例如运动图像)、音频信号(例如音乐)、附加信息(例如EPG)等数据。
其中,外部装置接口150可以包括:高清多媒体接口(high definitionmultimedia interface,HDMI)端子151、复合视频消隐同步(composite video broadcastsignal,CVBS)端子152、模拟或数字分量端子153、通用串行总线(universal serial bus,USB)端子154、红绿蓝(RGB)端子(图中未示出)等任一个或多个。
控制器110,通过运行存储在存储器190上的各种软件控制程序(如操作系统和各种应用程序),来控制计算机设备10的工作和响应用户的操作。例如,存储器19中存储有计算机程序,控制器110执行该计算机程序时可以实现上述方法实施例所提供的操作系统的内核函数调用方法。
如图7所示,控制器110包括随机存取存储器(random access memory,RAM)113、只读存储器(read-only memory,ROM)114、图形处理器116、中央处理器(central processingunit,CPU)112、通信接口118、以及通信总线。其中,RAM 113和ROM 114以及图形处理器116、CPU 112、通信接口118通过总线相连接。
ROM 113,用于存储各种系统启动的指令。如在收到开机信号时,计算机设备10电源开始启动,CPU 112运行ROM 114中系统启动指令,将存储在存储器190的操作系统拷贝至RAM 114中,以开始运行启动操作系统。当操作系统启动完成后,CPU 112再将存储器190中各种应用程序拷贝至RAM 114中,然后,开始运行启动各种应用程序。
图形处理器116,用于产生各种图形对象,如,图标、操作菜单、以及用户输入指令显示图形等。包括运算器,通过接收用户输入各种交互指令进行运算,根据显示属性显示各种对象。以及包括渲染器,产生基于运算器得到的各种对象,进行渲染的结果显示在显示器180上。
CPU 112,用于执行存储在存储器190中操作系统和应用程序指令。以及根据接收外部输入的各种交互指令,来执行各种应用程序、数据和内容,以便最终显示和播放各种音视频内容。
在一些示例性实施例中,CPU 112,可以包括多个处理器。多个处理器可包括一个主处理器以及多个或一个子处理器。主处理器,用于在预加电模式中执行计算机设备10一些操作,和/或在正常模式下显示画面的操作。多个或一个子处理器,用于执行在待机模式等状态下的一种操作。
通信接口,可包括第一接口1181到第n接口118n。这些接口可以是经由网络被连接到外部设备的网络接口。
控制器110可以控制计算机设备10的整体操作。例如,响应于接收到用于选择在显示器180上显示用户界面(user interface,UI)对象的用户命令,控制器110便可以执行与由用户命令选择的对象有关的操作。
其中,对象可以是可选对象中的任何一个,例如超链接或图标。与所选择的对象有关操作,例如,显示连接到超链接页面、文档、图像等操作,或者执行与图标相对应程序的操作。用于选择UI对象用户命令,可以是通过连接到计算机设备10的各种输入装置(例如,鼠标、键盘、触摸板等)输入命令或者与由用户说出语音相对应的语音命令。
存储器190,包括存储用于驱动和控制计算机设备10的各种软件模块。如,存储器190中存储的各种软件模块,包括:基础模块、检测模块、通信模块、显示控制模块、浏览器模块、和各种服务模块等。
其中,基础模块是用于计算机设备10中各个硬件之间信号通信、并向上层模块发送处理和控制信号的底层软件模块。检测模块是用于从各种传感器或用户输入接口中收集各种信息,并进行数模转换以及分析管理的管理模块。
例如,语音识别模块中包括语音解析模块和语音指令数据库模块。显示控制模块是用于控制显示器180进行显示图像内容的模块,可以用于播放多媒体图像内容和UI等信息。通信模块,是用于与外部设备之间进行控制和数据通信的模块。浏览器模块,是用于执行浏览服务器之间数据通信的模块。服务模块,是用于提供各种服务以及各类应用程序在内的模块。
同时,存储器190还用于存储接收外部数据和用户数据、各种用户界面中各个项目的图像以及焦点对象的视觉效果图等。
用户输入接口,用于将用户的输入信号发送给控制器110,或者,将从控制器输出的信号传送给用户。示例的,控制装置(例如移动终端或遥控器)可将用户输入的诸如电源开关信号、频道选择信号、音量调节信号等输入信号发送至用户输入接口,再由用户输入接口转送至控制器;或者,控制装置可接收经控制器处理从用户输入接口输出的音频、视频或数据等输出信号,并且显示接收的输出信号或将接收的输出信号输出为音频或振动形式。
在一些实施例中,用户可在显示器180上显示的图形用户界面(graphical userinterface,GUI)输入用户命令,则用户输入接口通过GUI接收用户输入命令。或者,用户可通过输入特定的声音或手势进行输入用户命令,则用户输入接口通过传感器识别出声音或手势,来接收用户输入命令。
视频处理器1601,用于接收视频信号,根据输入信号的标准编解码协议,进行解压缩、解码、缩放、降噪、帧率转换、分辨率转换、图像合成等视频数据处理,可得到直接在显示器180上显示或播放的视频信号。
示例的,视频处理器1601,包括解复用模块、视频解码模块、图像合成模块、帧率转换模块、显示格式化模块等。
其中,解复用模块,用于对输入音视频数据流进行解复用处理,如输入MPEG-2,则解复用模块进行解复用成视频信号和音频信号等。
视频解码模块,用于对解复用后的视频信号进行处理,包括解码和缩放处理等。
图像合成模块,如图像合成器,其用于将图形生成器根据用户输入或自身生成的GUI信号,与缩放处理后视频图像进行叠加混合处理,以生成可供显示的图像信号。
帧率转换模块,用于对输入视频的帧率进行转换,如将输入的24Hz(赫兹)、25Hz、30Hz、60Hz视频的帧率转换为60Hz、120Hz或140Hz的帧率,其中,输入帧率可以与源视频流有关,输出帧率可以与显示器的更新率有关。输入有通常的格式采用如插帧方式实现。
显示格式化模块,用于将帧率转换模块输出的信号,改变为符合诸如显示器显示格式的信号,如将帧率转换模块输出的信号进行格式转换以输出RGB数据信号。
显示器180,用于接收源自视频处理器1601输入的图像信号,进行显示视频内容和图像以及菜单操控界面。显示器180包括用于呈现画面的显示器组件以及驱动图像显示的驱动组件。显示视频内容,可以来自调谐解调器120接收的广播信号中的视频,也可以来自通信器或外部设备接口输入的视频内容。显示器120,同时显示计算机设备10中产生且用于控制计算机设备10的用户操控界面UI。
以及,根据显示器180类型不同,还包括用于驱动显示的驱动组件。或者,倘若显示器180为一种投影显示器,还可以包括一种投影装置和投影屏幕。
音频处理器1602,用于接收音频信号,根据输入信号的标准编解码协议,进行解压缩和解码,以及降噪、数模转换、和放大处理等音频数据处理,得到可以在扬声器172中播放的音频信号。
音频输出接口170,用于在控制器110的控制下接收音频处理器1602输出的音频信号,音频输出接口可包括扬声器172,或输出至外接设备的发生装置的外接音响输出端子174,如外接音响端子或耳机输出端子等。
在其他一些示例性实施例中,视频处理器1601可以包括一个或多个芯片组成。音频处理器1602,也可以包括一个或多个芯片组成。
以及,在其他一些示例性实施例中,视频处理器1601和音频处理器1602,可以为单独的芯片,也可以与控制器110一起集成在一个或多个芯片中。
供电电源,用于在控制器110控制下,将外部电源输入的电力为计算机设备10提供电源供电支持。供电电源可以包括安装计算机设备10内部的内置电源电路,也可以是安装在计算机设备10外部的电源,如在计算机设备10中提供外接电源的电源接口。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当该计算机可读存储介质在计算机上运行时,使得计算机执行如上述方法实施例所提供的操作系统的内核函数调用方法。
基于本申请中示出的示例性实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。此外,虽然本申请中公开内容按照示范性一个或几个实例来介绍,但应理解,可以就这些公开内容的各个方面也可以单独构成一个完整技术方案。
应当理解,本申请中说明书和权利要求书及上述附图中的术语“第一”和“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,例如能够根据本申请实施例图示或描述中给出那些以外的顺序实施。
此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖但不排他的包含,例如,包含了一系列组件的产品或设备不必限于清楚地列出的那些组件,而是可包括没有清楚地列出的或对于这些产品或设备固有的其它组件。
本申请中使用的术语“模块”,是指任何已知或后来开发的硬件、软件、固件、人工智能、模糊逻辑或硬件或/和软件代码的组合,能够执行与该元件相关的功能。
以上所述仅为本申请的示例性实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种操作系统的内核函数调用方法,其特征在于,应用于运行于所述操作系统的用户空间的能力服务模块;所述方法包括:
获取目标用户进程发送的针对所述操作系统的内核的目标内核函数的调用请求,所述调用请求中携带有所述目标用户进程的标识和所述目标内核函数的标识;
根据所述目标内核函数的标识确定所述目标内核函数的调用条件,所述调用条件包括:用户进程的标识在所述目标内核函数的白名单进程列表中;
检测所述目标用户进程是否满足所述调用条件;
若所述目标用户进程满足所述调用条件,通过系统调用接口向所述操作系统的内核发送所述调用请求,所述调用请求用于指示所述操作系统的内核调用所述目标内核函数。
2.根据权利要求1所述的方法,其特征在于,所述能力服务模块具有对所述操作系统的系统权限进行划分得到的多个能力,所述目标用户进程不具备所述能力。
3.根据权利要求2所述的方法,其特征在于,所述能力服务模块包括多个能力子模块,每个所述能力子模块具有至少一个所述能力,且各个所述能力子模块具有的能力不同,每个所述能力子模块具有至少一个封装接口;
所述获取目标用户进程发送的针对所述操作系统的内核的目标内核函数的调用请求,包括:
通过目标能力子模块中的目标封装接口获取目标用户进程发送的针对所述操作系统的内核的目标内核函数的调用请求;
其中,所述目标能力子模块的所述目标封装接口为与所述目标内核函数对应的封装接口。
4.根据权利要求1至3任一所述的方法,其特征在于,若所述调用请求为挂载请求,所述调用请求还包括:挂载节点标识,挂载设备标识,挂载制式标识,文件系统类型标识以及挂载类型标识;所述调用条件还包括下述条件中的至少一种:
所述用户进程的挂载节点标识在允许的挂载节点列表中;
所述用户进程的挂载设备标识在允许的挂载设备列表中;
所述用户进程的挂载制式标识在允许的挂载制式类型列表中;
所述用户进程的文件系统类型标识在允许的文件系统类型列表中;
所述用户进程的挂载类型标识在允许的可读写挂载列表中。
5.根据权利要求1至3任一所述的方法,其特征在于,在所述向系统调用接口发送所述调用请求之后,所述方法还包括:
接收所述操作系统的内核通过所述系统调用接口发送的所述目标内核函数的处理结果;
将所述处理结果发送至所述目标用户进程。
6.一种计算机设备,其特征在于,所述计算机设备包括:硬件层,以及运行于所述硬件层上的操作系统;其中,所述硬件层包括处理器和存储器,所述操作系统包括:内核,以及运行于用户空间的能力服务模块;所述能力服务模块用于:
获取目标用户进程发送的针对操作系统的内核的目标内核函数的调用请求,所述调用请求中携带有所述目标用户进程的标识和所述目标内核函数的标识;
根据所述目标内核函数的标识确定所述目标内核函数的调用条件,所述调用条件包括:用户进程的标识在所述目标内核函数的白名单进程列表中;
检测所述目标用户进程是否满足所述调用条件;
若所述目标用户进程满足所述调用条件,通过系统调用接口向所述操作系统的内核发送所述调用请求,所述调用请求用于指示所述操作系统的内核调用所述目标内核函数。
7.根据权利要求6所述的计算机设备,其特征在于,所述能力服务模块具有对所述操作系统的系统权限进行划分得到的多个能力,所述目标用户进程不具备所述能力。
8.根据权利要求7所述的计算机设备,其特征在于,所述能力服务模块包括多个能力子模块,每个所述能力子模块具有至少一个所述能力,且各个所述能力子模块具有的能力不同,且每个所述能力子模块具有至少一个封装接口;
所述能力服务模块,用于:
通过目标能力子模块中的目标封装接口获取目标用户进程发送的针对所述操作系统的内核的目标内核函数的调用请求;
其中,所述目标能力子模块的所述目标封装接口为与所述目标内核函数对应的封装接口。
9.根据权利要求6至8任一所述的计算机设备,其特征在于,若所述调用请求为挂载请求,所述调用请求还包括:挂载节点标识,挂载设备标识,挂载制式标识,文件系统类型标识以及挂载类型标识;所述调用条件还包括下述条件中的至少一种:
所述用户进程的挂载节点标识在允许的挂载节点列表中;
所述用户进程的挂载设备标识在允许的挂载设备列表中;
所述用户进程的挂载制式标识在允许的挂载制式类型列表中;
所述用户进程的文件系统类型标识在允许的文件系统类型列表中;
所述用户进程的挂载类型标识在允许的可读写挂载列表中。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当所述计算机可读存储介质在计算机上运行时,使得计算机执行如权利要求1至5任一所述的操作系统的内核函数调用方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010097374.5A CN111324437A (zh) | 2020-02-17 | 2020-02-17 | 操作系统的内核函数调用方法及计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010097374.5A CN111324437A (zh) | 2020-02-17 | 2020-02-17 | 操作系统的内核函数调用方法及计算机设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111324437A true CN111324437A (zh) | 2020-06-23 |
Family
ID=71163564
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010097374.5A Pending CN111324437A (zh) | 2020-02-17 | 2020-02-17 | 操作系统的内核函数调用方法及计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111324437A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114818012A (zh) * | 2022-06-29 | 2022-07-29 | 麒麟软件有限公司 | 基于白名单列表的Linux文件完整性度量方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106156622A (zh) * | 2016-07-04 | 2016-11-23 | 北京金山安全软件有限公司 | 服务进程注册方法、装置和终端设备 |
CN106203108A (zh) * | 2016-06-29 | 2016-12-07 | 北京市国路安信息技术股份有限公司 | 基于内核模块的Linux白名单系统保护方法和装置 |
CN107066884A (zh) * | 2017-02-21 | 2017-08-18 | 郑州云海信息技术有限公司 | 一种Linux系统软件白名单兼容性处理方法 |
CN107742076A (zh) * | 2017-10-12 | 2018-02-27 | 广东欧珀移动通信有限公司 | 禁止系统提权的方法、装置、存储介质及终端设备 |
CN108280349A (zh) * | 2018-01-10 | 2018-07-13 | 维沃移动通信有限公司 | 保护系统内核层的方法、移动终端及计算机可读存储介质 |
CN109543400A (zh) * | 2017-09-21 | 2019-03-29 | 华为技术有限公司 | 一种动态管理内核节点的方法和设备 |
-
2020
- 2020-02-17 CN CN202010097374.5A patent/CN111324437A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106203108A (zh) * | 2016-06-29 | 2016-12-07 | 北京市国路安信息技术股份有限公司 | 基于内核模块的Linux白名单系统保护方法和装置 |
CN106156622A (zh) * | 2016-07-04 | 2016-11-23 | 北京金山安全软件有限公司 | 服务进程注册方法、装置和终端设备 |
CN107066884A (zh) * | 2017-02-21 | 2017-08-18 | 郑州云海信息技术有限公司 | 一种Linux系统软件白名单兼容性处理方法 |
CN109543400A (zh) * | 2017-09-21 | 2019-03-29 | 华为技术有限公司 | 一种动态管理内核节点的方法和设备 |
CN107742076A (zh) * | 2017-10-12 | 2018-02-27 | 广东欧珀移动通信有限公司 | 禁止系统提权的方法、装置、存储介质及终端设备 |
CN108280349A (zh) * | 2018-01-10 | 2018-07-13 | 维沃移动通信有限公司 | 保护系统内核层的方法、移动终端及计算机可读存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114818012A (zh) * | 2022-06-29 | 2022-07-29 | 麒麟软件有限公司 | 基于白名单列表的Linux文件完整性度量方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111954044B (zh) | 通道切换方法和显示设备 | |
CN111757171A (zh) | 一种显示设备及音频播放方法 | |
CN111752518A (zh) | 一种显示设备投屏方法及显示设备 | |
CN112214189B (zh) | 图像显示方法及显示设备 | |
CN112135180B (zh) | 一种内容显示方法和显示设备 | |
CN111970549B (zh) | 菜单显示方法和显示设备 | |
CN111836115B (zh) | 一种屏保展示方法、屏保跳转方法及显示设备 | |
US11960674B2 (en) | Display method and display apparatus for operation prompt information of input control | |
CN111176603A (zh) | 一种用于显示设备的图像显示方法及显示设备 | |
CN112165641A (zh) | 一种显示设备 | |
CN111954059A (zh) | 屏保的展示方法及显示设备 | |
US11669216B2 (en) | Display device and interface switching method | |
CN109857972B (zh) | 一种页面更新方法及显示设备 | |
CN112269668A (zh) | 一种应用资源共享及显示设备 | |
CN114079819A (zh) | 一种内容显示方法及显示设备 | |
CN112040340A (zh) | 资源文件获取方法及显示设备 | |
CN111324437A (zh) | 操作系统的内核函数调用方法及计算机设备 | |
CN114390190B (zh) | 显示设备及监测应用启动摄像头的方法 | |
CN113141532B (zh) | 图形识别码的识别方法和显示设备 | |
CN115185392A (zh) | 显示设备、图像处理方法及装置 | |
CN113971049A (zh) | 一种后台服务管理方法及显示设备 | |
CN112363683A (zh) | 一种网页应用支持多图层显示的方法及显示设备 | |
CN111931692A (zh) | 显示设备及图像识别方法 | |
CN112134855A (zh) | Cookie加密方法和显示设备 | |
CN111918132A (zh) | 一种显示设备及多接口设备判断方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20221014 Address after: 83 Intekte Street, Devon, Netherlands Applicant after: VIDAA (Netherlands) International Holdings Ltd. Address before: 266061 room 131, 248 Hong Kong East Road, Laoshan District, Qingdao City, Shandong Province Applicant before: QINGDAO HISENSE MEDIA NETWORKS Ltd. |
|
TA01 | Transfer of patent application right | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200623 |
|
RJ01 | Rejection of invention patent application after publication |