CN112269644B - 一种子进程调用的验证方法、系统、设备及可读存储介质 - Google Patents
一种子进程调用的验证方法、系统、设备及可读存储介质 Download PDFInfo
- Publication number
- CN112269644B CN112269644B CN202011109320.2A CN202011109320A CN112269644B CN 112269644 B CN112269644 B CN 112269644B CN 202011109320 A CN202011109320 A CN 202011109320A CN 112269644 B CN112269644 B CN 112269644B
- Authority
- CN
- China
- Prior art keywords
- tree
- child
- white list
- directory
- determining
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 364
- 238000012795 verification Methods 0.000 title claims abstract description 41
- 230000008569 process Effects 0.000 claims abstract description 300
- 230000026676 system process Effects 0.000 claims abstract description 43
- 230000006870 function Effects 0.000 claims description 32
- 238000004590 computer program Methods 0.000 claims description 6
- 238000010276 construction Methods 0.000 claims description 5
- 230000009286 beneficial effect Effects 0.000 abstract description 2
- 101150108030 ppiD gene Proteins 0.000 description 9
- 238000010586 diagram Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012550 audit Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
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
技术领域
本申请涉及计算机软件领域,特别涉及一种子进程调用的验证方法、系统、设备及可读存储介质。
背景技术
作为计算机软件领域的常见技术手段,子进程调用是计算机操作系统内每时每刻都在发生的行为。对于大多数的调用过程而言,子进程对其调用者是不关心的,换言之其对任意父进程的调用都一视同仁。然而,对于某些特殊的程序,比如对安全软件掌握着“生杀大权”的卸载程序,其调用的合法性则是需要验证的。
一般而言,对于用户交互模式来说,这种合法性的验证往往是通过口令输入,或者USB Key之类的硬件校验方式。然而,当程序处于某种“静默运行”的模式下时,弹出对话框要求用户输入核校信息的方式会影响用户体验。
因此,如何实现对子进程调用过程的合法性验证是本领域技术人员目前需要解决的技术问题。
发明内容
本申请的目的是提供一种子进程调用的验证方法、系统、设备及可读存储介质,用于实现对子进程调用过程的合法性验证。
为解决上述技术问题,本申请提供一种子进程调用的验证方法,该方法包括:
获取系统进程信息,并根据所述系统进程信息生成对应的进程树;
获取子进程的白名单,并判断所述进程树中是否有存在于所述白名单中的进程;
若存在,则认定合法性校验成功;
若不存在,则认定合法性校验失败。
可选的,所述根据所述系统进程信息生成对应的进程树,包括:
根据所述系统进程信息确定操作系统;
当所述操作系统为Windows系统时,通过第一预设函数创建进程列表;
利用第二预设函数和第三预设函数对所述进程列表进行遍历,并通过收集所述子进程的进程名、进程路径及所述子进程与父进程的对应关系,生成所述子进程所在调用关系的进程树。
可选的,根据所述系统进程信息生成对应的进程树,包括:
根据所述系统进程信息确定操作系统;
当所述操作系统为Linux系统时,遍历所述Linux系统的进程目录;
在所述进程目录中查找所述子进程对应的子目录,并从所述子目录中获取父进程的名称字段;
根据所述父进程的名称字段将所述子进程更新为所述父进程,并返回执行在所述进程目录中查找所述子进程对应的子目录,并从所述子目录中获取父进程的名称字段的步骤,直至所述子进程所在调用关系的进程树构建完成。
可选的,判断所述进程树中是否有存在于所述白名单中的进程,包括:
遍历所述进程树,并判断所述进程树当前节点的进程名是否存在于所述白名单中;
若是,则调用第四预设函数根据所述进程树当前节点的进程名获取进程路径;
判断所述进程路径是否存在于所述白名单中;
若所述进程路径存在于所述白名单中,则认定合法性校验成功。
可选的,当所述进程树当前节点的进程名不存在于所述白名单中时,还包括:
判断所述进程树是否遍历完成;
若否,则返回执行遍历所述进程树,并判断所述进程树当前节点的进程名是否存在于所述白名单中的步骤;
若是,则认定合法性校验失败。
可选的,当所述进程路径不存在于所述白名单中时,还包括:
判断所述进程树是否遍历完成;
若否,则返回执行遍历所述进程树,并判断所述进程树当前节点的进程名是否存在于所述白名单中的步骤;
若是,则认定合法性校验失败。
本申请还提供一种子进程调用的验证系统,该系统包括:
第一获取模块,用于获取系统进程信息,并根据所述系统进程信息生成对应的进程树;
第二获取模块,用于获取子进程的白名单,并判断所述进程树中是否有存在于所述白名单中的进程;
第一认定模块,用于当所述进程树中有存在于所述白名单中的进程时,认定合法性校验成功;
第二认定模块,用于当所述进程树中没有存在于所述白名单中的进程时,认定合法性校验失败。
可选的,所述第一获取模块包括:
第一确定子模块,用于根据所述系统进程信息确定操作系统;
创建子模块,用于当所述操作系统为Windows系统时,通过第一预设函数创建进程列表;
生成子模块,用于利用第二预设函数和第三预设函数对所述进程列表进行遍历,并通过收集所述子进程的进程名、进程路径及所述子进程与父进程的对应关系,生成所述子进程所在调用关系的进程树。
本申请还提供一种子进程调用的验证设备,该子进程调用的验证设备包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述任一项所述子进程调用的验证方法的步骤。
本申请还提供一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一项所述子进程调用的验证方法的步骤。
本申请所提供子进程调用的验证方法,包括:获取系统进程信息,并根据系统进程信息生成对应的进程树;获取子进程的白名单,并判断进程树中是否有存在于白名单中的进程;若存在,则认定合法性校验成功;若不存在,则认定合法性校验失败。
本申请所提供的技术方案,通过获取系统进程信息,并根据系统进程信息生成对应的进程树,然后根据进程树中是否有存在于子进程的白名单中的进程来判定此次合法性校验是否成功,不需要用户输入核校信息,而是通过进程树与白名单进行比对的方式实现了自动对子进程调用过程的合法性验证,在提高了合法性验证效率的同时,提升了用户体验。本申请同时还提供了一种子进程调用的验证系统、设备及可读存储介质,具有上述有益效果,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例所提供的一种子进程调用的验证方法的流程图;
图2为本申请实施例所提供的另一种子进程调用的验证方法的流程图;
图3为本申请实施例所提供的一种子进程调用的验证系统的结构图;
图4为本申请实施例所提供的一种子进程调用的验证设备的结构图。
具体实施方式
本申请的核心是提供一种子进程调用的验证方法、系统、设备及可读存储介质,用于实现对子进程调用过程的合法性验证。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参考图1,图1为本申请实施例所提供的一种子进程调用的验证方法的流程图。
其具体包括如下步骤:
S101:获取系统进程信息,并根据系统进程信息生成对应的进程树;
基于现有技术中,对于大多数的调用过程而言,子进程对其调用者是不关心的,换言之其对任意父进程的调用都一视同仁。然而,对于某些特殊的程序,比如对安全软件掌握着“生杀大权”的卸载程序,其调用的合法性则是需要验证的。而对于用户交互模式来说,这种合法性的验证往往是通过口令输入,或者USB Key之类的硬件校验方式。然而,当程序处于某种“静默运行”的模式下时,弹出对话框要求用户输入核校信息的方式会影响用户体验;故本申请提供了一种子进程调用的验证方法,用于解决上述问题。
在本步骤中,根据系统进程信息生成对应的进程树的目的在于,通过进程树与白名单进行比对的方式来实现自动对子进程调用过程的合法性验证,进而在提高了合法性验证效率的同时提升用户体验;
可选的,由于Windows系统和Linux系统的进程机制不同,对于Windows系统和Linux系统的进程树的创建过程也并不相同,因此当操作系统为Windows系统时,这里提到的根据系统进程信息生成对应的进程树,其具体可以通过执行如下步骤实现:
根据系统进程信息生成对应的进程树,包括:
根据系统进程信息确定操作系统;
当操作系统为Windows系统时,通过第一预设函数创建进程列表;
利用第二预设函数和第三预设函数对进程列表进行遍历,并通过收集子进程的进程名、进程路径及子进程与父进程的对应关系,生成子进程所在调用关系的进程树。
在一个具体实施例中,这里提到的第一预设函数具体可以为CreateToolhelp32Snapshot函数,第二预设函数具体可以为Process32First函数,第三预设函数具体可以为Process32Next函数,上述过程可以通过执行如下步骤实现:
调用CreateToolhelp32Snapshot函数创建当前进程列表快照;
调用Process32First和Process32Next函数,遍历所有进程;
形成pid/ppid映射表,以及pid/进程名映射表;
遍历pid/ppid映射表,生成当前进程所处的进程树;
其中,pid为子进程的进程名,ppid为父进程的进程名。
可选的,由于Windows系统和Linux系统的进程机制不同,对于Windows系统和Linux系统的进程树的创建过程也并不相同,因此当操作系统为Linux系统时,这里提到的根据系统进程信息生成对应的进程树,其具体可以通过执行如下步骤实现:
根据系统进程信息确定操作系统;
当操作系统为Linux系统时,遍历Linux系统的进程目录;
在进程目录中查找子进程对应的子目录,并从子目录中获取父进程的名称字段;
根据父进程的名称字段将子进程更新为父进程,并返回执行在进程目录中查找子进程对应的子目录,并从子目录中获取父进程的名称字段的步骤,直至子进程所在调用关系的进程树构建完成。
在一个具体实施例中,上述过程可以通过执行如下步骤实现:
遍历/proc/目录下的纯数字目录;
找到以当前进程pid命名的目录;
打开目录下的stat文件,取“)”后第二个空格与第三个空格之间的部分,即为ppid;
判断该ppid是否为0,若为0则确认进程树建立完成,若不为0则在/proc/目录下打开以此ppid命名的目录;
当以此ppid命名的目录能够打开时,则返回执行打开目录下的stat文件,取“)”后第二个空格与第三个空格之间的部分,即为ppid的步骤;
当以此ppid命名的目录不能够打开时,则确认父进程树构建完成。
S102:获取子进程的白名单,并判断进程树中是否有存在于白名单中的进程;
若是,则进入步骤S103;若否,则进入步骤S103。
当判断进程树中有存在于白名单中的进程时,则证明调用当前子进程的父进程存在于该白名单中,即调用当前子进程的父进程是合法的,此时认定合法性校验成功;当判断进程树中没有存在于白名单中的进程时,则证明调用当前子进程的父进程未存在于该白名单中,即调用当前子进程的父进程是不合法的,此时认定合法性校验失败。
S103:认定合法性校验成功;
S104:认定合法性校验失败。
基于上述技术方案,本申请所提供的一种子进程调用的验证方法,通过获取系统进程信息,并根据系统进程信息生成对应的进程树,然后根据进程树中是否有存在于子进程的白名单中的进程来判定此次合法性校验是否成功,不需要用户输入核校信息,而是通过进程树与白名单进行比对的方式实现了自动对子进程调用过程的合法性验证,在提高了合法性验证效率的同时,提升了用户体验。
本申请实施例还公开了另一种设备控制的方法,相对于前几个实施例,本实施例对技术方案作了进一步的说明和优化,具体请参考图2,图2为本申请实施例所提供的另一种子进程调用的验证方法的流程图。
其具体包括如下步骤:
S201:获取系统进程信息,并根据系统进程信息生成对应的进程树;
S202:获取子进程的白名单;
S203:遍历进程树,并判断进程树当前节点的进程名是否存在于白名单中;
若是,则进入步骤S204;若否,则进入步骤S207。
S204:调用第四预设函数根据进程树当前节点的进程名获取进程路径;
S205:判断进程路径是否存在于白名单中;
若是,则进入步骤S206;若否,则进入步骤S207。
S206:认定合法性校验成功;
S207:判断进程树是否遍历完成;
若是,则进入步骤S208;若否,则返回执行S203。
S208:认定合法性校验失败。
请参考图3,图3为本申请实施例所提供的一种子进程调用的验证系统的结构图。
该系统可以包括:
第一获取模块100,用于获取系统进程信息,并根据系统进程信息生成对应的进程树;
第二获取模块200,用于获取子进程的白名单,并判断进程树中是否有存在于白名单中的进程;
第一认定模块300,用于当进程树中有存在于白名单中的进程时,认定合法性校验成功;
第二认定模块400,用于当进程树中没有存在于白名单中的进程时,认定合法性校验失败。
在上述实施例的基础上,在一个具体实施例中,第一获取模块100可以包括:
第一确定子模块,用于根据系统进程信息确定操作系统;
创建子模块,用于当操作系统为Windows系统时,通过第一预设函数创建进程列表;
生成子模块,用于利用第二预设函数和第三预设函数对进程列表进行遍历,并通过收集子进程的进程名、进程路径及子进程与父进程的对应关系,生成子进程所在调用关系的进程树。
在上述实施例的基础上,在一个具体实施例中,第一获取模块100可以包括:
第二确定子模块,用于根据系统进程信息确定操作系统;
第一遍历子模块,用于当操作系统为Linux系统时,遍历Linux系统的进程目录;
第一获取子模块,用于在进程目录中查找子进程对应的子目录,并从子目录中获取父进程的名称字段;
第一返回子模块,用于根据父进程的名称字段将子进程更新为父进程,并返回执行在进程目录中查找子进程对应的子目录,并从子目录中获取父进程的名称字段的步骤,直至子进程所在调用关系的进程树构建完成。
在上述实施例的基础上,在一个具体实施例中,第二获取模块200可以包括:
第二遍历子模块,用于遍历进程树,并判断进程树当前节点的进程名是否存在于白名单中;
第一调用子模块,用于当进程树当前节点的进程名存在于白名单中时,调用第四预设函数根据进程树当前节点的进程名获取进程路径;
第一判断子模块,用于判断进程路径是否存在于白名单中;
第一认定子模块,用于若进程路径存在于白名单中,则认定合法性校验成功。
在上述实施例的基础上,在一个具体实施例中,第二获取模块200还可以包括:
第二判断子模块,用于当进程树当前节点的进程名不存在于白名单中时,判断进程树是否遍历完成;
第二返回子模块,用于当进程树未遍历完成时,返回执行遍历进程树,并判断进程树当前节点的进程名是否存在于白名单中的步骤;
第二认定子模块,用于当进程树遍历完成时,认定合法性校验失败。
在上述实施例的基础上,在一个具体实施例中,第二获取模块200还可以包括:
第三判断子模块,用于当进程路径不存在于白名单中时,判断进程树是否遍历完成;
第三返回子模块,用于当进程树未遍历完成时,返回执行遍历进程树,并判断进程树当前节点的进程名是否存在于白名单中的步骤;
第三认定子模块,用于当进程树遍历完成时,认定合法性校验失败。
由于系统部分的实施例与方法部分的实施例相互对应,因此系统部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
请参考图4,图4为本申请实施例所提供的一种子进程调用的验证设备的结构图。
该子进程调用的验证设备500可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)522(例如,一个或一个以上处理器)和存储器532,一个或一个以上存储应用程序542或数据544的存储介质530(例如一个或一个以上海量存储设备)。其中,存储器532和存储介质530可以是短暂存储或持久存储。存储在存储介质530的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对装置中的一系列指令操作。更进一步地,处理器522可以设置为与存储介质530通信,在子进程调用的验证设备500上执行存储介质530中的一系列指令操作。
子进程调用的验证设备500还可以包括一个或一个以上电源525,一个或一个以上有线或无线网络接口550,一个或一个以上输入输出接口558,和/或,一个或一个以上操作系统541,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
上述图1至图2所描述的子进程调用的验证方法中的步骤由子进程调用的验证设备基于该图4所示的结构实现。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置、设备和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,功能调用装置,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上对本申请所提供的一种子进程调用的验证方法、系统、设备及可读存储介质进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (7)
1.一种子进程调用的验证方法,其特征在于,包括:
获取系统进程信息,并根据所述系统进程信息生成对应的进程树;
获取子进程的白名单,并判断所述进程树中是否有存在于所述白名单中的进程;
若存在,则认定合法性校验成功;
若不存在,则认定合法性校验失败;
所述根据所述系统进程信息生成对应的进程树,包括:
根据所述系统进程信息确定操作系统;
当所述操作系统为Windows系统时,通过第一预设函数创建进程列表;
利用第二预设函数和第三预设函数对所述进程列表进行遍历,并通过收集所述子进程的进程名、进程路径及所述子进程与父进程的对应关系,生成所述子进程所在调用关系的进程树;
或者,根据所述系统进程信息生成对应的进程树,包括:
根据所述系统进程信息确定操作系统;
当所述操作系统为Linux系统时,遍历所述Linux系统的进程目录;
在所述进程目录中查找所述子进程对应的子目录,并从所述子目录中获取父进程的名称字段;
根据所述父进程的名称字段将所述子进程更新为所述父进程,并返回执行在所述进程目录中查找所述子进程对应的子目录,并从所述子目录中获取父进程的名称字段的步骤,直至所述子进程所在调用关系的进程树构建完成。
2.根据权利要求1所述的验证方法,其特征在于,判断所述进程树中是否有存在于所述白名单中的进程,包括:
遍历所述进程树,并判断所述进程树当前节点的进程名是否存在于所述白名单中;
若是,则调用第四预设函数根据所述进程树当前节点的进程名获取进程路径;
判断所述进程路径是否存在于所述白名单中;
若所述进程路径存在于所述白名单中,则认定合法性校验成功。
3.根据权利要求2所述的验证方法,其特征在于,当所述进程树当前节点的进程名不存在于所述白名单中时,还包括:
判断所述进程树是否遍历完成;
若否,则返回执行遍历所述进程树,并判断所述进程树当前节点的进程名是否存在于所述白名单中的步骤;
若是,则认定合法性校验失败。
4.根据权利要求2所述的验证方法,其特征在于,当所述进程路径不存在于所述白名单中时,还包括:
判断所述进程树是否遍历完成;
若否,则返回执行遍历所述进程树,并判断所述进程树当前节点的进程名是否存在于所述白名单中的步骤;
若是,则认定合法性校验失败。
5.一种子进程调用的验证系统,其特征在于,包括:
第一获取模块,用于获取系统进程信息,并根据所述系统进程信息生成对应的进程树;
第二获取模块,用于获取子进程的白名单,并判断所述进程树中是否有存在于所述白名单中的进程;
第一认定模块,用于当所述进程树中有存在于所述白名单中的进程时,认定合法性校验成功;
第二认定模块,用于当所述进程树中没有存在于所述白名单中的进程时,认定合法性校验失败;
所述第一获取模块包括:
第一确定子模块,用于根据所述系统进程信息确定操作系统;
创建子模块,用于当所述操作系统为Windows系统时,通过第一预设函数创建进程列表;
生成子模块,用于利用第二预设函数和第三预设函数对所述进程列表进行遍历,并通过收集所述子进程的进程名、进程路径及所述子进程与父进程的对应关系,生成所述子进程所在调用关系的进程树;
或者,所述第一获取模块包括:
第二确定子模块,用于根据所述系统进程信息确定操作系统;
第一遍历子模块,用于当所述操作系统为Linux系统时,遍历所述Linux系统的进程目录;
第一获取子模块,用于在所述进程目录中查找所述子进程对应的子目录,并从所述子目录中获取父进程的名称字段;
第一返回子模块,用于根据所述父进程的名称字段将所述子进程更新为所述父进程,并返回执行在所述进程目录中查找所述子进程对应的子目录,并从所述子目录中获取父进程的名称字段的步骤,直至所述子进程所在调用关系的进程树构建完成。
6.一种子进程调用的验证设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至4任一项所述子进程调用的验证方法的步骤。
7.一种可读存储介质,其特征在于,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述子进程调用的验证方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011109320.2A CN112269644B (zh) | 2020-10-16 | 2020-10-16 | 一种子进程调用的验证方法、系统、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011109320.2A CN112269644B (zh) | 2020-10-16 | 2020-10-16 | 一种子进程调用的验证方法、系统、设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112269644A CN112269644A (zh) | 2021-01-26 |
CN112269644B true CN112269644B (zh) | 2022-07-08 |
Family
ID=74338928
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011109320.2A Active CN112269644B (zh) | 2020-10-16 | 2020-10-16 | 一种子进程调用的验证方法、系统、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112269644B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114329447A (zh) * | 2021-12-14 | 2022-04-12 | 北京三快在线科技有限公司 | 一种基于进程白名单的检测方法及装置 |
CN115310084A (zh) * | 2022-07-28 | 2022-11-08 | 上海爱数信息技术股份有限公司 | 一种防篡改的数据保护方法及系统 |
CN116089955B (zh) * | 2022-12-01 | 2023-09-26 | 之江实验室 | 一种基于windows操作系统的系统调用去噪方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017123011A (ja) * | 2016-01-06 | 2017-07-13 | 三菱電機株式会社 | 処理実行装置、処理実行方法及び制御プログラム |
CN108197041A (zh) * | 2017-12-28 | 2018-06-22 | 北京奇虎科技有限公司 | 一种确定子进程的父进程的方法、设备及其存储介质 |
CN111177706A (zh) * | 2019-12-25 | 2020-05-19 | 北京珞安科技有限责任公司 | 一种基于信任软件库的进程白名单更新方法 |
-
2020
- 2020-10-16 CN CN202011109320.2A patent/CN112269644B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017123011A (ja) * | 2016-01-06 | 2017-07-13 | 三菱電機株式会社 | 処理実行装置、処理実行方法及び制御プログラム |
CN108197041A (zh) * | 2017-12-28 | 2018-06-22 | 北京奇虎科技有限公司 | 一种确定子进程的父进程的方法、设备及其存储介质 |
CN111177706A (zh) * | 2019-12-25 | 2020-05-19 | 北京珞安科技有限责任公司 | 一种基于信任软件库的进程白名单更新方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112269644A (zh) | 2021-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112269644B (zh) | 一种子进程调用的验证方法、系统、设备及可读存储介质 | |
US20040205411A1 (en) | Method of detecting malicious scripts using code insertion technique | |
CN110445769B (zh) | 业务系统的访问方法及装置 | |
CN110278192B (zh) | 外网访问内网的方法、装置、计算机设备及可读存储介质 | |
CN107835228B (zh) | 一种基于动态广义路由的指令处理方法及装置 | |
CN109995523B (zh) | 激活码管理方法及装置、激活码生成方法及装置 | |
CN115378735B (zh) | 一种数据处理方法、装置、存储介质及电子设备 | |
CN115374481B (zh) | 数据脱敏处理的方法、装置、存储介质及电子设备 | |
Kim et al. | Attack detection application with attack tree for mobile system using log analysis | |
CN110795174A (zh) | 一种应用程序接口调用方法、装置、设备及可读存储介质 | |
CN113779625A (zh) | 一种数据访问的方法、装置、电子设备及存储介质 | |
CN115357940A (zh) | 一种数据处理的方法、装置、存储介质及电子设备 | |
CN110990798A (zh) | 应用程序权限配置方法、装置、电子设备及存储介质 | |
CN115186269A (zh) | 一种漏洞挖掘方法、装置、存储介质及电子设备 | |
CN107392010B (zh) | 执行Root操作的方法及装置、终端设备、存储介质 | |
CN115659340A (zh) | 一种仿冒小程序识别方法、装置、存储介质及电子设备 | |
US20210240820A1 (en) | Device and Method for Validation of Virtual Function Pointers | |
CN115827589A (zh) | 一种权限验证方法、装置、电子设备及存储介质 | |
CN102270132A (zh) | Linux操作系统中脚本行为的控制方法 | |
CN111369246A (zh) | 智能合约的调用鉴权方法、装置、电子设备及存储介质 | |
CN111177660A (zh) | 一种开放平台脚本代码的权限校验方法 | |
CN116383823A (zh) | 一种漏洞检测的方法、装置、存储介质及电子设备 | |
CN115357762A (zh) | 一种数据校验方法、装置、存储介质及电子设备 | |
CN116881900A (zh) | 一种基于Vue的去中心化身份验证方法、设备及介质 | |
Tóth et al. | Supporting Secure Coding for Erlang |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |