操作系统防护方法、装置及存储介质与流程

专利2022-06-29  57


本发明涉及计算机领域,具体而言,涉及一种操作系统防护方法、装置及存储介质。



背景技术:

伴随各类操作系统的日渐迭代完善,其内核代码量也在急剧增长。这导致内核变得庞大臃肿的同时,也给系统带来了较大的安全隐患,并为攻击者达成其目的提供了更多的便利条件。鉴于此,各类操作系统在提供强大功能与兼容性的同时如何保证操作系统的安全性就成为了一个急需待解决的问题。

其中,操作系统的服务进程作为服务器对外暴露的接口,往往是操作系统所有安全保障环节中至关重要的一环。按照常见攻击方式,对服务器的一般入侵过程应当是攻击者先扫描目标机器上所有打开的端口以及运行在这些端口上的服务进程,并尝试劫持目标服务进程的控制流,然后利用被控制进程本身己具有的权限进一步渗透系统,最终达成各类非法目的。

而现有技术中,会通过对操作系统的服务进程进行访问控制,或者通过管理员配置各种访问权限的方式进行安全防护,但由于操作系统内的数据和文件等日渐增加,会使得配置过程复杂,进而产生易用性较差的问题,这对操作系统的防护安全性也会产生较大的影响;或者会对进程进行完整性的检测,进而通过对可执行文件的hash值与从完整性数据库中的预先存储的与该可行性文件的hash值进行比较,从而来限制进程的访问的方式进行安全防护,但在入侵者利用具备完整性的进程或者说正常的进程的情况下,该方式容易被入侵者利用内核漏洞,进而完成恶意行为,换言之,应用该方式的操作系统防护安全,也存在安全隐患。

即,现有技术中存在操作系统的防护安全性较低的问题。

针对上述的问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明实施例提供了一种操作系统防护方法、装置及存储介质,以至少解决操作系统的防护安全性较低的技术问题。

根据本发明实施例的一个方面,提供了一种操作系统防护方法,包括:在运行操作系统中的目标应用程序的过程中,获取上述目标应用程序中当前被调用的第一内核函数,其中,上述第一内核函数为上述目标应用程序中第一目标进程当前所调用的内核函数;比对上述第一内核函数与第二内核函数,其中,上述第二内核函数为上述第一目标进程在安全运行环境下所调用的内核函数;在上述第一内核函数与上述第二内核函数的比对结果指示不匹配的情况下,处理上述第一目标进程。

根据本发明实施例的另一方面,还提供了一种操作系统防护装置,包括:第一获取单元,用于在运行操作系统中的目标应用程序的过程中,获取上述目标应用程序中当前被调用的第一内核函数,其中,上述第一内核函数为上述目标应用程序中第一目标进程当前所调用的内核函数;比对单元,用于比对上述第一内核函数与第二内核函数,其中,上述第二内核函数为上述第一目标进程在安全运行环境下所调用的内核函数;处理单元,用于在上述第一内核函数与上述第二内核函数的比对结果指示不匹配的情况下,处理上述第一目标进程。

根据本发明实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述操作系统防护方法。

根据本发明实施例的又一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,上述处理器通过计算机程序执行上述的操作系统防护方法。

在本发明实施例中,在运行操作系统中的目标应用程序的过程中,获取上述目标应用程序中当前被调用的第一内核函数,以及比对上述第一内核函数与第二内核函数,并在上述第一内核函数与上述第二内核函数的比对结果指示不匹配的情况下,处理上述第一目标进程,利用进程的异常调用难以绕过内核函数的调用的特性,通过对操作系统内核函数的调用进行监控,进而达到了检测进程是否被异常调用的目的,从而实现了提高操作系统防护的安全性的技术效果,进而解决了操作系统的防护安全性较低的技术问题。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明实施例的一种可选的操作系统防护方法的流程图的示意图;

图2是根据本发明实施例的一种可选的操作系统防护方法的示意图;

图3是根据本发明实施例的一种可选的操作系统防护装置的示意图;

图4是根据本发明实施例的另一种可选的操作系统防护装置的示意图;

图5是根据本发明实施例的另一种可选的操作系统防护装置的示意图;

图6是根据本发明实施例的一种可选的电子装置的结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

可选地,作为一种可选的实施方式,如图1所示,操作系统防护方法包括:

s102,在运行操作系统中的目标应用程序的过程中,获取目标应用程序中当前被调用的第一内核函数,其中,第一内核函数为目标应用程序中第一目标进程当前所调用的内核函数;

s104,比对第一内核函数与第二内核函数,其中,第二内核函数为第一目标进程在安全运行环境下所调用的内核函数;

s106,在第一内核函数与第二内核函数的比对结果指示不匹配的情况下,处理第一目标进程。

可选的,在本实施例中,操作系统防护方法可以但不限于应用在各类操作系统中等。目标应用程序可以但不限于为一种操作系统中任何应用程序,如浏览器、播放器等。内核函数可以但不限于为在内核模式下才被允许调用的例程或子程序。目标进程可以但不限于为计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,以及是操作系统结构的基础。安全运行环境可以但不限于为预设的不会被恶意入侵的应用程序正常运行时的环境。

需要说明的是,在运行操作系统中的目标应用程序的过程中,获取目标应用程序中当前被调用的第一内核函数,以及比对第一内核函数与第二内核函数,并在第一内核函数与第二内核函数的比对结果指示不匹配的情况下,处理第一目标进程。

进一步举例说明,可选的例如,目标应用程序中第一目标进程为1,且第一目标进程1当前调用的第一内核函数为“a”,而第一目标进程1在安全运行环境下所调用的第二内核函数为“b、c、d”,比对第一内核函数“a”以及第二内核函数“b、c、d”,比对结果为第二内核函数“b、c、d”中不包含第一内核函数“a”,则确定二者的比对结果指示不匹配,进一步提示与第一内核函数“a”对应的报警信息。

通过本申请提供的实施例,利用比对第一内核函数与第二内核函数,并在第一内核函数与第二内核函数的比对结果指示不匹配的情况下,处理第一目标进程的方式,通过确定所调用的内核函数存在异常,进而达到了判断运行操作系统中的目标应用程序的过程存在异常的目的,实现了提高操作系统防护的安全性的效果。

作为一种可选的方案,获取目标应用程序中当前被调用的第一内核函数包括:

s1,获取第一目标进程的第一进程标识符;

s2,根据第一进程标识符获取第一目标进程所触发的内核函数的调用列表;

s3,从调用列表中获取第一内核函数。

可选的,进程标识符可以但不限于为应用程序在操作系统内运行时产生进程的唯一标识。根据第一进程标识符获取第一目标进程所触发的内核函数的调用列表可以但不限于通过ftrace技术,其中,ftrace可以但不限于为一种linux进行代码级实践分析的工具,可以但不限于用于追踪动态的内核函数,以及该函数的调用栈以及该栈的使用情况。

需要说明的是,获取第一目标进程的第一进程标识符,并根据第一进程标识符获取第一目标进程所触发的内核函数的调用列表,以及从调用列表中获取第一内核函数。

进一步举例说明,可选的例如,获取第一目标进程的第一进程标识符,并配置ftrace以对应进程所触发的内核函数进行追踪;进一步,通过反复读取ftrace的追踪结果,进而累计性地得到被追踪进程的内核函数的调用列表,其中,该调用列表中包含第一内核函数,且可以通过第一进程标识符获取。

通过本申请提供的实施例,获取第一目标进程的第一进程标识符,并根据第一进程标识符获取第一目标进程所触发的内核函数的调用列表,以及从调用列表中获取第一内核函数,达到了获取第一目标进程调用的第一内核函数的目的,实现了提高第一内核函数的获取效率的效果。

作为一种可选的方案,从调用列表中获取第一内核函数包括:

s1,在调用列表中检测到预先插入的探测点的情况下,执行在探测点插入的回调函数;

s2,确定与探测点相邻的内核函数为第一内核函数,并暂停调用第一内核函数。

可选的,从调用列表中获取第一内核函数可以但不限于通过kprobes技术,其中,kprobes可以但不限于为定义回调函数,并在内核或者模块中的函数中动态插入探测点,当内核执行流程执行到指定的探测函数时,调用该回调函数,进而获取对应信息。

需要说明的是,在调用列表中检测到预先插入的探测点的情况下,执行在探测点插入的回调函数,以及确定与探测点相邻的内核函数为第一内核函数,并暂停调用第一内核函数。

进一步举例说明,可选的例如,利用kprobes技术,通过自定义回调函数,在所有被监控的内核函数中动态的插入探测点,并插入定义的回调函数,展开对它们的实时调用监控,以及当内核执行流程执行到插入的探测点时,执行该回调函数,同时暂停对该内核函数的调用,通过回调函数确定该内核函数被调用的情况。可选的,内核函数被调用的情况可以但不限于包括进程调用的内核函数,以及内核函数被调用进程的相关信息。

通过本申请提供的实施例,利用在调用列表中检测到预先插入的探测点的情况下,确定与探测点相邻的内核函数为第一内核函数,并暂停调用第一内核函数的方式,达到了确定第一内核函数的目的,实现了提高第一内核函数的确定效率的效果。

作为一种可选的方案,在比对第一内核函数与第二内核函数之前,还包括:

从白名单中获取第二内核函数。

需要说明的是,从白名单中获取第二内核函数,其中,白名单中记录有在安全运行环境下运行的过程中,获取到的目标应用程序中各个目标进程所触发的内核函数的调用列表。

进一步举例说明,可选的例如,获取目标应用程序中各个目标进程的所有进程标识符,并配置ftrace以对应进程所触发的内核函数进行追踪;进一步,通过反复读取ftrace的追踪结果,进而累计性地得到被追踪进程的内核函数的调用列表(白名单),其中,该白名单中包含目标应用程序中各个目标进程所触发的内核函数,且可以通过对应进程标识符获取。

进一步举例说明,可选的如图2所示,可以但不限于通过白名单模块202、内核函数调用列表204、监测内核函数模块206以及异常情况处理模块208实现上述操作系统防护方法。

可选的,例如构建白名单模块202,进而构建好的白名单模块202可以但不限于从内核函数调用列表204中调用对应的内核函数,以及内核函数调用列表204可以但不限于自动追踪监测内核函数模块206中的进程标识符对应的内核函数,并将累计性地得到与进程标识符对应的内核函数,并进一步补充至内核函数调用列表204中。

可选的,例如从监测内核函数模块206中调用第一内核函数以及第一内核函数对应的进程标识符,进而通过上述进程标识符在内核函数调用列表204中确定第一目标进程,并根据第一目标进程获取第二内核函数。

可选的,例如在上述第二内核函数与第一内核函数比对结果指示不匹配的情况下,监测内核函数模块206将上述第一目标进程报告给异常情况处理模块208,进一步,异常情况处理模块208处理第一目标进程。

通过本申请提供的实施例,利用白名单中记录有在安全运行环境下运行的过程中,获取到的目标应用程序中各个目标进程所触发的内核函数的调用列表的方式,达到了从白名单中获取第二内核函数的目的,实现了提高第二内核函数的获取效率的效果。

作为一种可选的方案,在从白名单中获取第二内核函数之前,还包括:

搭建安全运行环境。

需要说明的是,搭建安全运行环境,其中,安全运行环境包括:安全等级大于或等于第一阈值的运行环境、目标地域范围内网络的运行环境、位于安全操作系统中的运行环境。

进一步举例说明,可选的例如,搭建安全环境可以但不限于为搭建不会被恶意入侵的应用程序正常运行时的环境,可选的通过构造断网或构造安全等级高的网络环境,以及安装没有被恶意入侵的操作系统实现上述安全环境的搭建。

通过本申请提供的实施例,利用搭建安全运行环境的方式,达到了保证构建的白名单不会被污染,以及白名单内的应用程序调用的内核函数的情况是正常的调用的目的,进而实现了提高白名单内的第二内核函数准确性的效果。

作为一种可选的方案,处理第一目标进程包括以下至少之一:

s1,确定与第一内核函数的安全等级相匹配的预警操作;

s2,对第一目标进程执行预警操作,并提示与安全等级相匹配的报警信息,其中,预警操作包括以下之一:暂停第一目标进程、杀死第一目标进程。

需要说明的是,确定与第一内核函数的安全等级相匹配的预警操作,并对第一目标进程执行预警操作,并提示与安全等级相匹配的报警信息,其中,预警操作包括以下之一:暂停第一目标进程、杀死第一目标进程。可选的,安全等级可以但不限于包括高、中、低三个安全等级。

进一步举例说明,可选的例如安全等级分为高、中、低三个安全等级;

可选的,高安全等级的内核函数可以但不限于为能够直接帮助攻击者达成提升权限、控制系统或破坏系统稳定性与完整性等目的内核函数,例如文件描述符的关键函数,truncate系列函数可以截断文件内容、控制文件的长度,可能导致敏感文件内容发生变化,所以被视为高安全等级的内核函数的调用;

可选的,中安全等级的内核函数可以但不限于为有可能被用来组织恶意行为或是辅助完成恶意行为的内核函数。例如,userfaultfd、eventfd、signaifd等函数则用来创建错误处理,事件处理和信号处理专用的特殊文件,并返回文件描述符,并不会对已有的敏感文件产生影响,但不排除其有被用来恶意填充磁盘,浪费系统资源的可能,所以设为中安全等级;

可选的,低安全等级的内核函数可以但不限于包括一些执行如信息查看等类型的低风险或无风险操作的函数,例如:stat系列函数获取文件的各类基本信息,access函数检查用户对指定文件的访问权限等。

通过本申请提供的实施例,利用生成与安全等级相匹配的报警信息的方式,达到了设置不同报警信息的目的,实现了提高针对不同的异常情况的处理灵活度的效果。

作为一种可选的方案,对第一目标进程执行预警操作包括:

s1,在第一内核函数的安全等级为第一等级的情况下,对第一目标进程执行直接杀死操作,并生成第一内核日志记录,其中,第一内核日志记录中携带有与第一等级相匹配的第一类提示标签;

s2,在第一内核函数的安全等级为第二等级的情况下,对第一目标进程执行暂停操作或杀死操作,并生成第二内核日志记录,其中,第二内核日志记录中携带有与第二等级相匹配的第二类提示标签;

s3,在第一内核函数的安全等级为第三等级的情况下,生成第三内核日志记录,其中,第三内核日志记录中携带有与第三等级相匹配的第三类提示标签;

s4,其中,第一等级的报警优先级高于第一等级的报警优先级,第二等级的报警优先级高于第三等级的报警优先级。

需要说明的是,在第一内核函数的安全等级为第一等级的情况下,对第一目标进程执行直接杀死操作,并生成第一内核日志记录,并在第一内核函数的安全等级为第二等级的情况下,对第一目标进程执行暂停操作或杀死操作,并生成第二内核日志记录,以及在第一内核函数的安全等级为第三等级的情况下,生成第三内核日志记录。

进一步举例说明,可选的例如,在安全等级为第一等级的情况下,可以但不限于直接杀死触发异常调用的服务进程,同时产生带有紧急标签的内核日志记录,并向用户发出紧急报警;在安全等级为第二等级的情况下,可以但不限于立即暂停或杀死对应服务进程的执行,同时产生带有警告标签的内核日志记录,并向用户发出警告报警,还可以重启或继续该服务进程,判断是否再次出现异常调用,若再次出现则直接杀死进程定义为恶意攻击;在安全等级为第三等级的情况下,产生异常调用日志记录,并向用户发出异常提醒。

通过本申请提供的实施例,利用增在第一内核函数的不同安全等级的情况下,对第一目标进程执行对应操作的方式,实现了提高了对第一目标进程的处理灵活度的效果。

需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。

根据本发明实施例的另一个方面,还提供了一种用于实施上述操作系统防护方法的操作系统防护装置。如图3所示,该装置包括:

第一获取单元302,用于在运行操作系统中的目标应用程序的过程中,获取目标应用程序中当前被调用的第一内核函数,其中,第一内核函数为目标应用程序中第一目标进程当前所调用的内核函数;

比对单元304,用于比对第一内核函数与第二内核函数,其中,第二内核函数为第一目标进程在安全运行环境下所调用的内核函数;

处理单元306,用于在第一内核函数与第二内核函数的比对结果指示不匹配的情况下,处理第一目标进程。

可选的,在本实施例中,操作系统防护方法可以但不限于应用在各类操作系统中等。目标应用程序可以但不限于为一种操作系统中任何应用程序,如浏览器、播放器等。内核函数可以但不限于为在内核模式下才被允许调用的例程或子程序。目标进程可以但不限于为计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,以及是操作系统结构的基础。安全运行环境可以但不限于为预设的不会被恶意入侵的应用程序正常运行时的环境。

需要说明的是,在运行操作系统中的目标应用程序的过程中,获取目标应用程序中当前被调用的第一内核函数,以及比对第一内核函数与第二内核函数,并在第一内核函数与第二内核函数的比对结果指示不匹配的情况下,处理第一目标进程。

进一步举例说明,可选的例如,目标应用程序中第一目标进程为1,且第一目标进程1当前调用的第一内核函数为“a”,而第一目标进程1在安全运行环境下所调用的第二内核函数为“b、c、d”,比对第一内核函数“a”以及第二内核函数“b、c、d”,比对结果为第二内核函数“b、c、d”中不包含第一内核函数“a”,则确定二者的比对结果指示不匹配,进一步提示与第一内核函数“a”对应的报警信息。

通过本申请提供的实施例,利用比对第一内核函数与第二内核函数,并在第一内核函数与第二内核函数的比对结果指示不匹配的情况下,处理第一目标进程的方式,通过确定所调用的内核函数存在异常,进而达到了判断运行操作系统中的目标应用程序的过程存在异常的目的,实现了提高操作系统防护的安全性的效果。

作为一种可选的方案,第一获取单元302包括:

第一获取模块,用于获取第一目标进程的第一进程标识符;

第二获取模块,用于根据第一进程标识符获取第一目标进程所触发的内核函数的调用列表;

第三获取模块,用于从调用列表中获取第一内核函数。

可选的,进程标识符可以但不限于为应用程序在操作系统内运行时产生进程的唯一标识。根据第一进程标识符获取第一目标进程所触发的内核函数的调用列表可以但不限于通过ftrace技术,其中,ftrace可以但不限于为一种linux进行代码级实践分析的工具,可以但不限于用于追踪动态的内核函数,以及该函数的调用栈以及该栈的使用情况。

需要说明的是,获取第一目标进程的第一进程标识符,并根据第一进程标识符获取第一目标进程所触发的内核函数的调用列表,以及从调用列表中获取第一内核函数。

进一步举例说明,可选的例如,获取第一目标进程的第一进程标识符,并配置ftrace以对应进程所触发的内核函数进行追踪;进一步,通过反复读取ftrace的追踪结果,进而累计性地得到被追踪进程的内核函数的调用列表,其中,该调用列表中包含第一内核函数,且可以通过第一进程标识符获取。

通过本申请提供的实施例,获取第一目标进程的第一进程标识符,并根据第一进程标识符获取第一目标进程所触发的内核函数的调用列表,以及从调用列表中获取第一内核函数,达到了获取第一目标进程调用的第一内核函数的目的,实现了提高第一内核函数的获取效率的效果。

作为一种可选的方案,第三获取模块包括:

执行子模块,用于在调用列表中检测到预先插入的探测点的情况下,执行在探测点插入的回调函数;

暂停子模块,用于确定与探测点相邻的内核函数为第一内核函数,并暂停调用第一内核函数。

可选的,从调用列表中获取第一内核函数可以但不限于通过kprobes技术,其中,kprobes可以但不限于为定义回调函数,并在内核或者模块中的函数中动态插入探测点,当内核执行流程执行到指定的探测函数时,调用该回调函数,进而获取对应信息。

需要说明的是,在调用列表中检测到预先插入的探测点的情况下,执行在探测点插入的回调函数,以及确定与探测点相邻的内核函数为第一内核函数,并暂停调用第一内核函数。

进一步举例说明,可选的例如,利用kprobes技术,通过自定义回调函数,在所有被监控的内核函数中动态的插入探测点,并插入定义的回调函数,展开对它们的实时调用监控,以及当内核执行流程执行到插入的探测点时,执行该回调函数,同时暂停对该内核函数的调用,通过回调函数确定该内核函数被调用的情况。可选的,内核函数被调用的情况可以但不限于包括进程调用的内核函数,以及内核函数被调用进程的相关信息。

通过本申请提供的实施例,利用在调用列表中检测到预先插入的探测点的情况下,确定与探测点相邻的内核函数为第一内核函数,并暂停调用第一内核函数的方式,达到了确定第一内核函数的目的,实现了提高第一内核函数的确定效率的效果。

作为一种可选的方案,还包括:

第二获取单元,用于在比对第一内核函数与第二内核函数之前,从白名单中获取第二内核函数,其中,白名单中记录有在安全运行环境下运行的过程中,获取到的目标应用程序中各个目标进程所触发的内核函数的调用列表。

需要说明的是,从白名单中获取第二内核函数,其中,白名单中记录有在安全运行环境下运行的过程中,获取到的目标应用程序中各个目标进程所触发的内核函数的调用列表。

进一步举例说明,可选的例如,获取目标应用程序中各个目标进程的所有进程标识符,并配置ftrace以对应进程所触发的内核函数进行追踪;进一步,通过反复读取ftrace的追踪结果,进而累计性地得到被追踪进程的内核函数的调用列表(白名单),其中,该白名单中包含目标应用程序中各个目标进程所触发的内核函数,且可以通过对应进程标识符获取。

进一步举例说明,可选的如图2所示,可以但不限于通过白名单模块202、内核函数调用列表204、监测内核函数模块206以及异常情况处理模块208实现上述操作系统防护方法。

可选的,例如构建白名单模块202,进而构建好的白名单模块202可以但不限于从内核函数调用列表204中调用对应的内核函数,以及内核函数调用列表204可以但不限于自动追踪监测内核函数模块206中的进程标识符对应的内核函数,并将累计性地得到与进程标识符对应的内核函数,并进一步补充至内核函数调用列表204中。

可选的,例如从监测内核函数模块206中调用第一内核函数以及第一内核函数对应的进程标识符,进而通过上述进程标识符在内核函数调用列表204中确定第一目标进程,并根据第一目标进程获取第二内核函数。

可选的,例如在上述第二内核函数与第一内核函数比对结果指示不匹配的情况下,监测内核函数模块206将上述第一目标进程报告给异常情况处理模块208,进一步,异常情况处理模块208处理第一目标进程。

通过本申请提供的实施例,利用白名单中记录有在安全运行环境下运行的过程中,获取到的目标应用程序中各个目标进程所触发的内核函数的调用列表的方式,达到了从白名单中获取第二内核函数的目的,实现了提高第二内核函数的获取效率的效果。

作为一种可选的方案,包括:

搭建单元,用于在从白名单中获取第二内核函数之前,搭建安全运行环境,其中,安全运行环境包括:安全等级大于或等于第一阈值的运行环境、目标地域范围内网络的运行环境、位于安全操作系统中的运行环境。

需要说明的是,搭建安全运行环境,其中,安全运行环境包括:安全等级大于或等于第一阈值的运行环境、目标地域范围内网络的运行环境、位于安全操作系统中的运行环境。

进一步举例说明,可选的例如,搭建安全环境可以但不限于为搭建不会被恶意入侵的应用程序正常运行时的环境,可选的通过构造断网或构造安全等级高的网络环境,以及安装没有被恶意入侵的操作系统实现上述安全环境的搭建。

通过本申请提供的实施例,利用搭建安全运行环境的方式,达到了保证构建的白名单不会被污染,以及白名单内的应用程序调用的内核函数的情况是正常的调用的目的,进而实现了提高白名单内的第二内核函数准确性的效果。

作为一种可选的方案,处理单元306包括以下至少之一:

确定模块402,用于确定与第一内核函数的安全等级相匹配的预警操作;

提示模块404,用于对第一目标进程执行预警操作,并提示与安全等级相匹配的报警信息,其中,预警操作包括以下之一:暂停第一目标进程、杀死第一目标进程。

需要说明的是,确定与第一内核函数的安全等级相匹配的预警操作,并对第一目标进程执行预警操作,并提示与安全等级相匹配的报警信息,其中,预警操作包括以下之一:暂停第一目标进程、杀死第一目标进程。可选的,安全等级可以但不限于包括高、中、低三个安全等级。

进一步举例说明,可选的例如安全等级分为高、中、低三个安全等级;

可选的,高安全等级的内核函数可以但不限于为能够直接帮助攻击者达成提升权限、控制系统或破坏系统稳定性与完整性等目的内核函数,例如文件描述符的关键函数,truncate系列函数可以截断文件内容、控制文件的长度,可能导致敏感文件内容发生变化,所以被视为高安全等级的内核函数的调用;

可选的,中安全等级的内核函数可以但不限于为有可能被用来组织恶意行为或是辅助完成恶意行为的内核函数。例如,userfaultfd、eventfd、signaifd等函数则用来创建错误处理,事件处理和信号处理专用的特殊文件,并返回文件描述符,并不会对已有的敏感文件产生影响,但不排除其有被用来恶意填充磁盘,浪费系统资源的可能,所以设为中安全等级;

可选的,低安全等级的内核函数可以但不限于包括一些执行如信息查看等类型的低风险或无风险操作的函数,例如:stat系列函数获取文件的各类基本信息,access函数检查用户对指定文件的访问权限等。

通过本申请提供的实施例,利用生成与安全等级相匹配的报警信息的方式,达到了设置不同报警信息的目的,实现了提高针对不同的异常情况的处理灵活度的效果。

作为一种可选的方案,提示模块404包括:

第一操作子模块,用于在第一内核函数的安全等级为第一等级的情况下,对第一目标进程执行直接杀死操作,并生成第一内核日志记录,其中,第一内核日志记录中携带有与第一等级相匹配的第一类提示标签;

第二操作子模块,用于在第一内核函数的安全等级为第二等级的情况下,对第一目标进程执行暂停操作或杀死操作,并生成第二内核日志记录,其中,第二内核日志记录中携带有与第二等级相匹配的第二类提示标签;

第三操作子模块,用于在第一内核函数的安全等级为第三等级的情况下,生成第三内核日志记录,其中,第三内核日志记录中携带有与第三等级相匹配的第三类提示标签;

其中,第一等级的报警优先级高于第一等级的报警优先级,第二等级的报警优先级高于第三等级的报警优先级。

需要说明的是,在第一内核函数的安全等级为第一等级的情况下,对第一目标进程执行直接杀死操作,并生成第一内核日志记录,并在第一内核函数的安全等级为第二等级的情况下,对第一目标进程执行暂停操作或杀死操作,并生成第二内核日志记录,以及在第一内核函数的安全等级为第三等级的情况下,生成第三内核日志记录。

进一步举例说明,可选的例如,在安全等级为第一等级的情况下,可以但不限于直接杀死触发异常调用的服务进程,同时产生带有紧急标签的内核日志记录,并向用户发出紧急报警;在安全等级为第二等级的情况下,可以但不限于立即暂停或杀死对应服务进程的执行,同时产生带有警告标签的内核日志记录,并向用户发出警告报警,还可以重启或继续该服务进程,判断是否再次出现异常调用,若再次出现则直接杀死进程定义为恶意攻击;在安全等级为第三等级的情况下,产生异常调用日志记录,并向用户发出异常提醒。

通过本申请提供的实施例,利用增在第一内核函数的不同安全等级的情况下,对第一目标进程执行对应操作的方式,实现了提高了对第一目标进程的处理灵活度的效果。

根据本发明实施例的又一个方面,还提供了一种用于实施上述操作系统防护方法的电子装置,如图6所示,该电子装置包括存储器602和处理器604,该存储器602中存储有计算机程序,该处理器604被设置为通过计算机程序执行上述任一项方法实施例中的步骤。

可选地,在本实施例中,上述电子装置可以位于计算机网络的多个网络设备中的至少一个网络设备。

可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:

s1,在运行操作系统中的目标应用程序的过程中,获取目标应用程序中当前被调用的第一内核函数,其中,第一内核函数为目标应用程序中第一目标进程当前所调用的内核函数;

s2,比对第一内核函数与第二内核函数,其中,第二内核函数为第一目标进程在安全运行环境下所调用的内核函数;

s3,在第一内核函数与第二内核函数的比对结果指示不匹配的情况下,处理第一目标进程。

可选地,本领域普通技术人员可以理解,图6所示的结构仅为示意,电子装置也可以是智能手机(如android手机、ios手机等)、平板电脑、掌上电脑以及移动互联网设备(mobileinternetdevices,mid)、pad等终端设备。图6其并不对上述电子装置的结构造成限定。例如,电子装置还可包括比图6中所示更多或者更少的组件(如网络接口等),或者具有与图6所示不同的配置。

其中,存储器602可用于存储软件程序以及模块,如本发明实施例中的操作系统防护方法和装置对应的程序指令/模块,处理器604通过运行存储在存储器602内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的操作系统防护方法。存储器602可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器602可进一步包括相对于处理器604远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。其中,存储器602具体可以但不限于用于存储第一内核函数、第二内核函数以及比对结果等信息。作为一种示例,如图6所示,上述存储器602中可以但不限于包括上述操作系统防护装置中的第一获取单元302、比对单元304及处理单元306。此外,还可以包括但不限于上述操作系统防护装置中的其他模块单元,本示例中不再赘述。

可选地,上述的传输装置606用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置606包括一个网络适配器(networkinterfacecontroller,nic),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置606为射频(radiofrequency,rf)模块,其用于通过无线方式与互联网进行通讯。

此外,上述电子装置还包括:显示器608,用于显示上述第一内核函数、第二内核函数以及比对结果等信息;和连接总线610,用于连接上述电子装置中的各个模块部件。

根据本发明的实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。

可选地,在本实施例中,上述计算机可读的存储介质可以被设置为存储用于执行以下步骤的计算机程序:

s1,在运行操作系统中的目标应用程序的过程中,获取目标应用程序中当前被调用的第一内核函数,其中,第一内核函数为目标应用程序中第一目标进程当前所调用的内核函数;

s2,比对第一内核函数与第二内核函数,其中,第二内核函数为第一目标进程在安全运行环境下所调用的内核函数;

s3,在第一内核函数与第二内核函数的比对结果指示不匹配的情况下,处理第一目标进程。

可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(read-onlymemory,rom)、随机存取器(randomaccessmemory,ram)、磁盘或光盘等。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。

在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。


技术特征:

1.一种操作系统防护方法,其特征在于,包括:

在运行操作系统中的目标应用程序的过程中,获取所述目标应用程序中当前被调用的第一内核函数,其中,所述第一内核函数为所述目标应用程序中第一目标进程当前所调用的内核函数;

比对所述第一内核函数与第二内核函数,其中,所述第二内核函数为所述第一目标进程在安全运行环境下所调用的内核函数;

在所述第一内核函数与所述第二内核函数的比对结果指示不匹配的情况下,处理所述第一目标进程。

2.根据权利要求1所述的方法,其特征在于,所述获取所述目标应用程序中当前被调用的第一内核函数包括:

获取所述第一目标进程的第一进程标识符;

根据所述第一进程标识符获取所述第一目标进程所触发的内核函数的调用列表;

从所述调用列表中获取所述第一内核函数。

3.根据权利要求2所述的方法,其特征在于,所述从所述调用列表中获取所述第一内核函数包括:

在所述调用列表中检测到预先插入的探测点的情况下,执行在所述探测点插入的回调函数;

确定与所述探测点相邻的内核函数为所述第一内核函数,并暂停调用所述第一内核函数。

4.根据权利要求1所述的方法,其特征在于,在所述比对所述第一内核函数与第二内核函数之前,还包括:

从白名单中获取所述第二内核函数,其中,所述白名单中记录有在所述安全运行环境下运行的过程中,获取到的所述目标应用程序中各个目标进程所触发的内核函数的调用列表。

5.根据权利要求4所述的方法,其特征在于,在所述从白名单中获取所述第二内核函数之前,还包括:

搭建所述安全运行环境,其中,所述安全运行环境包括:安全等级大于或等于第一阈值的运行环境、目标地域范围内网络的运行环境、位于安全操作系统中的运行环境。

6.根据权利要求1所述的方法,其特征在于,所述处理所述第一目标进程包括以下至少之一:

确定与所述第一内核函数的安全等级相匹配的预警操作;

对所述第一目标进程执行所述预警操作,并提示与所述安全等级相匹配的报警信息,其中,所述预警操作包括以下之一:暂停所述第一目标进程、杀死所述第一目标进程。

7.根据权利要求6所述的方法,其特征在于,所述对所述第一目标进程执行预警操作包括:

在所述第一内核函数的所述安全等级为第一等级的情况下,对所述第一目标进程执行直接杀死操作,并生成第一内核日志记录,其中,所述第一内核日志记录中携带有与所述第一等级相匹配的第一类提示标签;

在所述第一内核函数的所述安全等级为第二等级的情况下,对所述第一目标进程执行暂停操作或杀死操作,并生成第二内核日志记录,其中,所述第二内核日志记录中携带有与所述第二等级相匹配的第二类提示标签;

在所述第一内核函数的所述安全等级为第三等级的情况下,生成第三内核日志记录,其中,所述第三内核日志记录中携带有与所述第三等级相匹配的第三类提示标签;

其中,所述第一等级的报警优先级高于所述第一等级的报警优先级,第二等级的报警优先级高于所述第三等级的报警优先级。

8.一种操作系统防护装置,其特征在于,包括:

第一获取单元,用于在运行操作系统中的目标应用程序的过程中,获取所述目标应用程序中当前被调用的第一内核函数,其中,所述第一内核函数为所述目标应用程序中第一目标进程当前所调用的内核函数;

比对单元,用于比对所述第一内核函数与第二内核函数,其中,所述第二内核函数为所述第一目标进程在安全运行环境下所调用的内核函数;

处理单元,用于在所述第一内核函数与所述第二内核函数的比对结果指示不匹配的情况下,处理所述第一目标进程。

9.一种计算机可读的存储介质,所述计算机可读的存储介质包括存储的程序,其中,所述程序运行时执行上述权利要求1至7任一项中所述的方法。

10.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至7任一项中所述的方法。

技术总结
本发明公开了一种操作系统防护方法、装置及存储介质。其中,该方法包括:在运行操作系统中的目标应用程序的过程中,获取目标应用程序中当前被调用的第一内核函数,以及比对第一内核函数与第二内核函数,并在第一内核函数与第二内核函数的比对结果指示不匹配的情况下,处理第一目标进程。本发明解决了操作系统的防护安全性较低的技术问题。

技术研发人员:徐静;王方前;崔九梅;王守峰;唐洁
受保护的技术使用者:青岛海尔科技有限公司
技术研发日:2020.01.09
技术公布日:2020.06.09

转载请注明原文地址: https://bbs.8miu.com/read-22129.html

最新回复(0)