CN111125721A - 一种进程启动的控制方法、计算机设备和可读存储介质 - Google Patents
一种进程启动的控制方法、计算机设备和可读存储介质 Download PDFInfo
- Publication number
- CN111125721A CN111125721A CN201911416395.2A CN201911416395A CN111125721A CN 111125721 A CN111125721 A CN 111125721A CN 201911416395 A CN201911416395 A CN 201911416395A CN 111125721 A CN111125721 A CN 111125721A
- Authority
- CN
- China
- Prior art keywords
- path
- target
- parent
- target process
- started
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 739
- 230000008569 process Effects 0.000 title claims abstract description 689
- 238000012216 screening Methods 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 7
- 238000004891 communication Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000013404 process transfer Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种进程启动的控制方法,能够解决现有技术中进程白名单中保护项目数较多使得进程白名单非常冗长且占用资源较多的技术问题,所述方法包括:在检测到目标进程的启动请求时,获取所述目标进程的属性值;根据所述目标进程的属性值判断是否允许所述目标进程启动;在判定禁止所述目标进程启动时,获取所述目标进程的父进程的属性值;根据所述父进程的属性值判断是否允许所述目标进程启动。本发明还公开了一种计算机设备和一种计算机可读存储介质。
Description
技术领域
本发明涉及计算机技术领域,具体涉及一种进程启动的控制方法、装置、计算机设备和计算机可读存储介质。
背景技术
现有技术中,经常采用进程白名单的方式实现对服务器的安全防护。但是一些大型服务的后台会调用很多软件和工具,这就需要在进程白名单中增加诸多允许启动的项目。
但是,发明人研究发现,如果把这些工具软件进程全部列入进程白名单中,会使进程白名单变得非常冗长,占用资源较多。
针对现有技术中进程白名单中保护项目数较多使得进程白名单非常冗长且占用资源较多的技术问题,目前尚未提供有效的解决方案。
发明内容
本发明的目的在于提供了一种进程启动的控制方法、装置、计算机设备和计算机可读存储介质,能够解决现有技术中进程白名单中保护项目数较多使得进程白名单非常冗长且占用资源较多的技术问题。
本发明的一个方面提供了一种进程启动的控制方法,所述方法包括:在检测到目标进程的启动请求时,获取所述目标进程的属性值;根据所述目标进程的属性值判断是否允许所述目标进程启动;在判定禁止所述目标进程启动时,获取所述目标进程的父进程的属性值;根据所述父进程的属性值判断是否允许所述目标进程启动。
可选地,获取所述目标进程的属性值的步骤包括:获取所述目标进程的路径;相应地,根据所述目标进程的属性值判断是否允许所述目标进程启动的步骤包括:获取允许启动的进程的路径,得到第一路径集合;判断所述第一路径集合中是否包含所述目标进程的路径,其中,若否则执行获取所述目标进程的父进程的属性值的步骤。
可选地,根据所述目标进程的属性值判断是否允许所述目标进程启动的步骤还包括:在判定所述第一路径集合中包含所述目标进程的路径时,计算所述目标进程的哈希值;从所述第一路径集合中筛选出与所述目标进程的路径相匹配的路径,得到第一路径;确定所述第一路径对应的允许启动的进程,得到第一进程;获取所述第一进程的哈希值;判断所述目标进程的哈希值与所述第一进程的哈希值是否一致;其中,若一致则允许所述目标进程启动,否则执行获取所述目标进程的父进程的属性值的步骤。
可选地,获取所述目标进程的父进程的属性值的步骤包括:获取所述目标进程的父进程的路径;相应地,根据所述父进程的属性值判断是否允许所述目标进程启动的步骤包括:获取允许其直接子进程启动的进程的路径,得到第二路径集合;判断所述第二路径集合中是否包含所述父进程的路径。
可选地,根据所述父进程的属性值判断是否允许所述目标进程启动的步骤还包括:在判定所述第二路径集合中包含所述父进程的路径时,计算所述父进程的哈希值;从所述第二路径集合中筛选出与所述父进程的路径相匹配的路径,作为第二路径;确定所述第二路径对应的允许其直接子进程启动的进程,作为第二进程;获取所述第二进程的哈希值;判断所述父进程的哈希值与所述第二进程的哈希值是否一致;其中,若一致则允许所述目标进程启动。
可选地,所述方法还包括:在判定所述第二路径集合中不包含所述父进程的路径时,将所述父进程作为第三进程,并继续判断是否允许根据所述第三进程的父进程的路径判断是否允许所述目标进程启动;若是,则获取所述第三进程的父进程的路径;判断所述第二路径集合中是否包含所述第三进程的父进程的路径,其中,若否则禁止所述目标进程启动。
可选地,所述方法还包括:在判定所述第二路径集合中包含所述第三进程的父进程的路径时,计算所述第三进程的父进程的哈希值;从所述第二路径集合中筛选出与所述第三进程的父进程的路径相匹配的路径,作为第三路径;确定所述第三路径对应的允许其直接子进程启动的进程,作为第四进程;获取所述第四进程的哈希值;判断所述第三进程的父进程的哈希值与所述第四进程的哈希值是否一致;其中,若一致则允许所述目标进程启动,否则禁止所述目标进程启动。
可选地,在获取所述目标进程的属性值的步骤之后,所述方法还包括:获取所述目标进程的父进程的标志符;相应地,获取所述目标进程的父进程的属性值的步骤包括:根据所述父进程的标志符获取所述父进程的属性值。
本发明的另一个方面提供了一种进程启动的控制装置,所述装置包括:第一获取模块,用于在检测到目标进程的启动请求时,获取所述目标进程的属性值;第一判断模块,用于根据所述目标进程的属性值判断是否允许所述目标进程启动;第二获取模块,用于在判定禁止所述目标进程启动时,获取所述目标进程的父进程的属性值;第二判断模块,用于根据所述父进程的属性值判断是否允许所述目标进程启动。
可选地,第一获取模块还用于:获取所述目标进程的路径;相应地,第一判断模块还用于:获取允许启动的进程的路径,得到第一路径集合;判断所述第一路径集合中是否包含所述目标进程的路径,其中,若否则执行获取所述目标进程的父进程的属性值的步骤。
可选地,第一判断模块还用于:在判定所述第一路径集合中包含所述目标进程的路径时,计算所述目标进程的哈希值;从所述第一路径集合中筛选出与所述目标进程的路径相匹配的路径,得到第一路径;确定所述第一路径对应的允许启动的进程,得到第一进程;获取所述第一进程的哈希值;判断所述目标进程的哈希值与所述第一进程的哈希值是否一致;其中,若一致则允许所述目标进程启动,否则执行获取所述目标进程的父进程的属性值的步骤。
可选地,第二获取还用于:获取所述目标进程的父进程的路径;相应地,第二判断模块还用于:获取允许其直接子进程启动的进程的路径,得到第二路径集合;判断所述第二路径集合中是否包含所述父进程的路径。
可选地,第二判断模块还用于:在判定所述第二路径集合中包含所述父进程的路径时,计算所述父进程的哈希值;从所述第二路径集合中筛选出与所述父进程的路径相匹配的路径,作为第二路径;确定所述第二路径对应的允许其直接子进程启动的进程,作为第二进程;获取所述第二进程的哈希值;判断所述父进程的哈希值与所述第二进程的哈希值是否一致;其中,若一致则允许所述目标进程启动。
可选地,所述装置还包括:第三判断模块,用于在判定所述第二路径集合中不包含所述父进程的路径时,将所述父进程作为第三进程,并继续判断是否允许根据所述第三进程的父进程的路径判断是否允许所述目标进程启动;第三获取模块,用于在判定允许根据所述第三进程的父进程的路径判断是否允许所述目标进程启动时,获取所述第三进程的父进程的路径;第四判断模块,用于判断所述第二路径集合中是否包含所述第三进程的父进程的路径,其中,若否则禁止所述目标程序启动。
可选地,所述装置还包括:计算模块,用于在判定所述第二路径集合中包含所述第三进程的父进程的路径时,计算所述第三进程的父进程的哈希值;筛选模块,用于从所述第二路径集合中筛选出与所述第三进程的父进程的路径相匹配的路径,作为第三路径;确定模块,用于确定所述第三路径对应的允许其直接子进程启动的进程,作为第四进程;第四获取模块,用于获取所述第四进程的哈希值;第五判断模块,用于判断所述第三进程的父进程的哈希值与所述第四进程的哈希值是否一致;其中,若一致则允许所述目标进程启动,否则禁止所述目标进程启动。
可选地,在获取所述目标进程的属性值的步骤之后,所述装置还包括:第五获取模块,用于获取所述目标进程的父进程的标志符;相应地,第二获取模块还用于:根据所述父进程的标志符获取所述父进程的属性值。
本发明的再一个方面提供了一种计算机设备,所述计算机设备包括:存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一实施例所述的进程启动的控制方法。
本发明的又一个方面提供了一种计算机可读存储介质,其上存储有计算机程序,上述计算机程序被处理器执行时实现上述任一实施例所述的进程启动的控制方法。
本发明提供的进程启动的控制方法,并不是将所有的进程判定均设置在白名单中,而是一部分通过目标进程本身作为一个判定项来判断是否允许启动,另一部分通过目标进程的父进程作为一个判定项来判断是否允许目标进程,由于父进程可能涵盖很多子进程,而每个子进程均可以通过作为一个目标进程执行本发明的判定逻辑,因此,本发明不必根据每个进程本身判定,也不必针对每个进程本身设定一套判定逻辑,极大地降低了设置判定项的数量,也简化了判定程序,故本发明提供的技术方案解决了现有技术中进程白名单中保护项目数较多使得进程白名单非常冗长且占用资源较多的技术问题。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示意性示出了根据本发明实施例的进程启动的控制方法的流程图;
图2示意性示出了根据本发明另一实施例的进程启动的控制方法的流程图;
图3示意性示出了根据本发明实施例的进程启动的控制方案的示意图;
图4示意性示出了根据本发明实施例的进程启动的控制装置的框图;
图5示意性示出了根据本发明实施例的适于实现进程启动的控制方法的计算机设备的框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
图1示意性示出了根据本发明实施例的进程启动的控制方法的流程图。如图1所示,该进程启动的控制方法可以包括步骤S1~步骤S4,其中:
步骤S1,在检测到目标进程的启动请求时,获取所述目标进程的属性值。
其中,目标进程的属性值可以包括目标进程的路径,获取目标进程的属性值可以是获取目标进程的路径。目标进程上运行有可执行程序,目标进程的路径即为可执行程序的路径。
步骤S2,根据所述目标进程的属性值判断是否允许所述目标进程启动。
其中,步骤S2具体为:获取允许启动的进程的属性值,得到第一属性值集合;判断所述第一属性值集合中是否包含所述目标进程的属性值,其中,若否则执行获取所述目标进程的父进程的属性值的步骤。
作为一种可选地实施例,在目标进程的属性值包括目标进程的路径时,步骤S2可以包括:获取允许启动的进程的路径,得到第一路径集合;判断所述第一路径集合中是否包含所述目标进程的路径,其中,若否则执行获取所述目标进程的父进程的属性值的步骤。
本实施例中,在第一白名单中可以包括允许启动的进程的路径,在目标进程的路径匹配到的任一路径时,可以认为允许该目标进程启动,在目标进程的路径未匹配到第一白名单中包括的路径时,则可以执行步骤S3。
然而,考虑到若只是单纯的依靠路径判断目标进程是否为合法来源,可能不够准确,因为有些非法分子可能会在正常来源的程序中添加恶意代码,因此,作为另一种可选地实施例,步骤S2还可以包括:在判定所述第一路径集合中包含所述目标进程的路径时,计算所述目标进程的哈希值;从所述第一路径集合中筛选出与所述目标进程的路径相匹配的路径,得到第一路径;确定所述第一路径对应的允许启动的进程,得到第一进程;获取所述第一进程的哈希值;判断所述目标进程的哈希值与所述第一进程的哈希值是否一致;其中,若一致则允许所述目标进程启动,否则执行步骤S3。
本实施例中,计算目标进程的哈希值实质上就是计算目标进程上运行的项目(如程序、文件等)的哈希值,由于哈希值具有唯一表征某个数据的特征,而一旦该数据发生变化,哈希值必然会发生变化,因此本实施例还可以预先计算每个允许启动的进程的哈希值,并在判定第一路径集合中包含目标进程的路径时,计算目标进程的哈希值,然后从第一路径集合中筛选出与目标进程相匹配的第一路径,由于第一路径表征第一进程的路径,因此可以继续判断目标进程的哈希值是否与第一进程的哈希值一致,若一致,则认为目标进程即为允许启动的该第一进程,进而可以允许目标进程启动,在哈希值不一致时,可以继续通过步骤S3判断是否允许目标进程启动。可选地,每个允许启动的进程的哈希值也可以存储在第一白名单中。
步骤S3,在判定禁止所述目标进程启动时,获取所述目标进程的父进程的属性值。
本步骤中的判定禁止目标进程启动可以是判定目标进程的路径不在第一路径集合中,或者虽然目标进程的路径在第一路径集合中,但是目标进程的哈希值与第一进程的哈希值不一致。其中,目标进程的父进程的属性值也可以包括目标进程的父进程的路径,获取所述目标进程的父进程的属性值的步骤包括:获取所述目标进程的父进程的路径。
可选地,在获取所述目标进程的属性值的步骤之后,所述方法还包括:获取所述目标进程的父进程的标志符;相应地,获取所述目标进程的父进程的属性值的步骤包括:根据所述父进程的标志符获取所述父进程的属性值。
具体地,由于可能会涉及到基于目标进程的父进程判断是否允许目标进程启动的步骤,也可能不会涉及,但若在检测到目标进程的启动请求后,便获取该父进程的属性值,由于获取目标进程的父进程的属性值较为繁琐,可能会导致***执行不必要的流程,而获取目标进程的父进程的标志符是相对比较容易的,因此在获取所述目标进程的属性值之后,且根据所述目标进程的属性值判断是否允许所述目标进程启动之前,可以获取目标进程的父进程的标志符,而在确定需要执行步骤S3时,可以再根据该父进程的标志符获取目标进程的父进程的属性值。
步骤S4,根据所述父进程的属性值判断是否允许所述目标进程启动。
其中,步骤S4具体为:获取允许其直接子进程启动的进程的属性值,得到第二属性值集合;判断所述第二属性值径集合中是否包含所述父进程的属性值。
作为一种可选地实施例,在目标进程的父进程的属性值包括目标进程的父进程的路径时,步骤S4可以包括:获取允许其直接子进程启动的进程的路径,得到第二路径集合;判断所述第二路径集合中是否包含所述父进程的路径。
本实施例中,在第二白名单中可以包括允许其直接子进程启动的进程的路径,在目标进程的父进程的路径匹配到的任一路径时,可以认为允许该目标进程的父进程的直接子进程启动,即允许目标进程启动。
然而,考虑到若只是单纯的依靠路径判断目标进程的父进程是否为合法来源,可能不够准确,因为有些非法分子可能会在正常来源的程序中添加恶意代码,因此,作为另一种可选地实施例,步骤S4还可以包括:在判定所述第二路径集合中包含所述父进程的路径时,计算所述父进程的哈希值;从所述第二路径集合中筛选出与所述父进程的路径相匹配的路径,作为第二路径;确定所述第二路径对应的允许其直接子进程启动的进程,作为第二进程;获取所述第二进程的哈希值;判断所述父进程的哈希值与所述第二进程的哈希值是否一致;其中,若一致则允许所述目标进程启动。
本实施例中,计算目标进程的父进程的哈希值实质上就是计算目标进程的父进程上运行的项目(如程序、文件等)的哈希值,由于哈希值具有唯一表征某个数据的特征,而一旦该数据发生变化,哈希值必然会发生变化,因此本实施例还可以预先计算每个允许其直接子进程启动的进程的哈希值,并在判定第二路径集合中包含目标进程的父进程的路径时,计算目标进程的父进程的哈希值,然后从第二路径集合中筛选出与目标进程的父进程相匹配的第二路径,由于第二路径表征第二进程的路径,因此可以继续判断目标进程的父进程的哈希值是否与第二进程的哈希值一致,若一致,则认为目标进程的父进程即为允许其直接子进程启动的该第二进程,进而可以允许该父进程的直接子进程即目标进程启动。可选地,每个允许其直接子进程启动的进程的哈希值也可以存储在第二白名单中。
另外,一般情况下,在目标进程的父进程的路径未匹配到第二路径集合中的路径,或者在目标进程的父进程的路径匹配到第二路径,但是目标进程的父进程的哈希值与第二进程的哈希值不一致时,可以认为禁止目标进程启动。但是,考虑到有些进程的重要程度较高,并且对于相关网络服务进程可能需要启动较多子孙进程的情况,本发明还可以进一步判断是否允许更深层次的进程判定逻辑。具体地,作为一种可选地实施例,所述方法还可以包括:在判定所述第二路径集合中不包含所述父进程的路径时,将所述父进程作为第三进程,并继续判断是否允许根据所述第三进程的父进程的路径判断是否允许所述目标进程启动;若是,则获取所述第三进程的父进程的路径;判断所述第二路径集合中是否包含所述第三进程的父进程的路径,其中,若否则禁止所述目标进程启动。
本实施例中,可以设置第三白名单,该第三白名单的规则为:允许根据第三白名单包含的进程的父进程判断第三白名单包含的进程的直接子进程是否可以启动,在第三白名单包括的进程的父进程在第二白名单中时,则认为允许在第二白名单中的该父进程的子孙进程启动。进而判断是否允许根据所述第三进程的父进程的路径判断是否允许所述目标进程启动可以是,判断第三进程是否在第三白名单中,若是则根据该第三进程的父进程的属性值判断是否允许目标进程启动,在该属性值包括路径时,可以判断第二路径集中是否包含第三进程的父进程的路径,若包含可以认为允许目标进程启动,否则认为禁止目标进程启动。
作为另一种可选地实施例,所述方法还可以包括:在判定所述第二路径集合中包含所述第三进程的父进程的路径时,计算所述第三进程的父进程的哈希值;从所述第二路径集合中筛选出与所述第三进程的父进程的路径相匹配的路径,作为第三路径;确定所述第三路径对应的允许其直接子进程启动的进程,作为第四进程;获取所述第四进程的哈希值;判断所述第三进程的父进程的哈希值与所述第四进程的哈希值是否一致;其中,若一致则允许所述目标进程启动,否则禁止所述目标进程启动。
本实施例中,计算第三进程的父进程的哈希值实质上就是计算第三进程的父进程上运行的项目(如程序、文件等)的哈希值,在判定第二路径集合中包含第三进程的父进程的路径时,计算第三进程的父进程的哈希值,然后从第二路径集合中筛选出与第三进程的父进程相匹配的第三路径,由于第三路径表征第四进程的路径,因此可以继续判断第三进程的父进程的哈希值是否与第四进程的哈希值一致,若一致,则认为第三进程的父进程即为允许其直接子进程启动的该第四进程,且由于已经判定允许根据第三进程的父进程的路径判断是否允许目标进程启动,即第三进程在第三白名单中,因此,认为允许第四进程的子孙进程启动,即允许目标进程启动。反之,禁止目标进程启动。
本发明提供的进程启动的控制方法,并不是将所有的进程判定均设置在白名单中,而是一部分通过目标进程本身作为一个判定项来判断是否允许启动,另一部分通过目标进程的父进程作为一个判定项来判断是否允许目标进程,由于父进程可能涵盖很多子进程,而每个子进程均可以通过作为一个目标进程执行本发明的判定逻辑,因此,本发明不必根据每个进程本身判定,也不必针对每个进程本身设定一套判定逻辑,极大地降低了设置判定项的数量,也简化了判定程序,故本发明提供的技术方案解决了现有技术中进程白名单中保护项目数较多使得进程白名单非常冗长且占用资源较多的技术问题。
另外,对于比较重要的进程,并且对于相关网络服务进程可能需要启动较多子孙进程的情况,本发明还增加了父进程允许传递规则项:即在目标进程的父进程的路径不在第二路径集合或者目标进程的父进程的路径为第二路径集合中的第一路径但是目标进程的父进程的哈希值与第一路径表征的第一进程的哈希值不一致时,继续判断是否允许根据目标进程的父进程的父进程判断是否允许目标进程启动,若是,则判断目标进程的父进程的父进程的路径是否在第二路径集合中,若在,则可认为允许目标进程的父进程的父进程的子孙进程启动,即允许目标进程启动;否则禁止目标进程启动。进一步,为了保险起见,本发明还增加了对目标进程的父进程的父进程的哈希值的判断逻辑。通过增加父进程允许传递规则项,有针对性的保护了有关网络服务进程可能启动较多子孙进程,在填写便利与安全性之间达到较好的平衡。
图2示意性示出了根据本发明另一实施例的进程启动的控制方法的流程图。
如图2所示,在接收到目标进程的启动请求后,读取白名单(即第一白名单),然后进入模式1(模式1为允许进程本身启动)的匹配逻辑,即根据目标进程的属性值判断是否允许目标进程启动,若是则允许启动,否则进一步查找目标进程的父进程的属性值,并进入模式2(模式2为允许本进程和直接子进程启动)的匹配逻辑,即根据目标进程的父进程的属性值判断是否允许目标进程启动,若是则允许启动,否则进入模式3(模式3为允许执行父进程传递模式)的匹配逻辑,即判断是否允许根据目标进程的父进程的父进程判断是否允许目标进程启动(也即判断目标进程的父进程是否匹配到模式3),若是,则查找目标进程的父进程的父进程,并判断目标进程的父进程的父进程是否可以匹配到模式2,若是,则允许启动,否则禁止启动。
图3示意性示出了根据本发明实施例的进程启动的控制方案的示意图。
在实际应用场景中,本发明的执行实例可参见图3,以目标进程为可执行程序为例,当出现可执行程序的加载请求时,内核(R0 TSKModule)与守护进程(R3 TSDeamon)协商成功后,通过load_binary回调得到可执行程序的路径名和可执行程序的父进程的标识符,并通过GenericNetlink通讯机制将可执行程序的路径名发送至守护进程,守护进程会根据模式1、模式2和模式3三种进行开启判断。具体地,三种模式的规则分别列于三张List表中,守护进程得到可执行程序的路径,先进行模式1匹配,若匹配成功则将允许启动目标程序的结果通过GenericNetlink通讯机制返回给内核,否则守护进程通过readlink(/proc/$(pid)/exe)实现根据可执行程序的父进程的标识符调用可执行程序的父进程的路径的功能,并进入模式2匹配,若匹配成功则将允许启动目标程序的结果通过GenericNetlink通讯机制返回给内核,否则守护进程进入模式3的匹配,判断可执行程序的父进程的路径是否与模式3匹配,若是,则通过/proc/$(pid)/stat截取可执行程序的父进程的父进程的标志符,然后根据可执行程序的父进程的父进程的标志符调用可执行程序的父进程的父进程的路径,并返回进入模式2的匹配。
其中,每次模式匹配还可考虑对应进程的哈希值,具体考虑方案参见上述实施例,此处不再赘述。
本发明的实施例提供了一种进程启动的控制装置,该进程启动的控制装置与上述实施例的进程启动的控制方法相对应,相应的技术特征和技术效果在本实施例中不再详述,相关之处可参考上述进程启动的控制方法。具体地,图4示意性示出了根据本发明实施例的进程启动的控制装置的框图,如图4所示,该进程启动的控制装置400可以包括第一获取模块401、第一判断模块402、第二获取模块403和第二判断模块404,其中:
第一获取模块401,用于在检测到目标进程的启动请求时,获取所述目标进程的属性值;
第一判断模块402,用于根据所述目标进程的属性值判断是否允许所述目标进程启动;
第二获取模块403,用于在判定禁止所述目标进程启动时,获取所述目标进程的父进程的属性值;
第二判断模块404,用于根据所述父进程的属性值判断是否允许所述目标进程启动。
可选地,第一获取模块还用于:获取所述目标进程的路径;相应地,第一判断模块还用于:获取允许启动的进程的路径,得到第一路径集合;判断所述第一路径集合中是否包含所述目标进程的路径,其中,若否则执行获取所述目标进程的父进程的属性值的步骤。
可选地,第一判断模块还用于:在判定所述第一路径集合中包含所述目标进程的路径时,计算所述目标进程的哈希值;从所述第一路径集合中筛选出与所述目标进程的路径相匹配的路径,得到第一路径;确定所述第一路径对应的允许启动的进程,得到第一进程;获取所述第一进程的哈希值;判断所述目标进程的哈希值与所述第一进程的哈希值是否一致;其中,若一致则允许所述目标进程启动,否则执行获取所述目标进程的父进程的属性值的步骤。
可选地,第二获取还用于:获取所述目标进程的父进程的路径;相应地,第二判断模块还用于:获取允许其直接子进程启动的进程的路径,得到第二路径集合;判断所述第二路径集合中是否包含所述父进程的路径。
可选地,第二判断模块还用于:在判定所述第二路径集合中包含所述父进程的路径时,计算所述父进程的哈希值;从所述第二路径集合中筛选出与所述父进程的路径相匹配的路径,作为第二路径;确定所述第二路径对应的允许其直接子进程启动的进程,作为第二进程;获取所述第二进程的哈希值;判断所述父进程的哈希值与所述第二进程的哈希值是否一致;其中,若一致则允许所述目标进程启动。
可选地,所述装置还包括:第三判断模块,用于在判定所述第二路径集合中不包含所述父进程的路径时,将所述父进程作为第三进程,并继续判断是否允许根据所述第三进程的父进程的路径判断是否允许所述目标进程启动;第三获取模块,用于在判定允许根据所述第三进程的父进程的路径判断是否允许所述目标进程启动时,获取所述第三进程的父进程的路径;第四判断模块,用于判断所述第二路径集合中是否包含所述第三进程的父进程的路径,其中,若否则禁止所述目标进程启动。
可选地,所述装置还包括:计算模块,用于在判定所述第二路径集合中包含所述第三进程的父进程的路径时,计算所述第三进程的父进程的哈希值;筛选模块,用于从所述第二路径集合中筛选出与所述第三进程的父进程的路径相匹配的路径,作为第三路径;确定模块,用于确定所述第三路径对应的允许其直接子进程启动的进程,作为第四进程;第四获取模块,用于获取所述第四进程的哈希值;第五判断模块,用于判断所述第三进程的父进程的哈希值与所述第四进程的哈希值是否一致;其中,若一致则允许所述目标进程启动,否则禁止所述目标进程启动。
可选地,在获取所述目标进程的属性值的步骤之后,所述装置还包括:第五获取模块,用于获取所述目标进程的父进程的标志符;相应地,第二获取模块还用于:根据所述父进程的标志符获取所述父进程的属性值。
图5示意性示出了根据本发明实施例的适于实现进程启动的控制方法的计算机设备的框图。本实施例中,计算机设备500可以是执行程序的智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。如图5所示,本实施例的计算机设备500至少包括但不限于:可通过***总线相互通信连接的存储器501、处理器502、网络接口503。需要指出的是,图5仅示出了具有组件501-503的计算机设备500,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
本实施例中,存储器503至少包括一种类型的计算机可读存储介质,可读存储介质包括包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器501可以是计算机设备500的内部存储单元,例如该计算机设备500的硬盘或内存。在另一些实施例中,存储器501也可以是计算机设备500的外部存储设备,例如该计算机设备500上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,存储器501还可以既包括计算机设备500的内部存储单元也包括其外部存储设备。在本实施例中,存储器501通常用于存储安装于计算机设备500的操作***和各类应用软件,例如进程启动的控制方法的程序代码等。此外,存储器501还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器502在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器502通常用于控制计算机设备500的总体操作。例如执行与计算机设备500进行数据交互或者通信相关的控制和处理等的进程启动的控制方法的程序代码。
在本实施例中,存储于存储器501中的进程启动的控制方法还可以被分割为一个或者多个程序模块,并由一个或多个处理器(本实施例为处理器502)所执行,以完成本发明。
网络接口503可包括无线网络接口或有线网络接口,该网络接口503通常用于在计算机设备500与其他计算机设备之间建立通信链接。例如,网络接口503用于通过网络将计算机设备500与外部终端相连,在计算机设备500与外部终端之间的建立数据传输通道和通信链接等。网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯***(Global System of Mobile communication,简称为GSM)、宽带码分多址(Wideband CodeDivision Multiple Access,简称为WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi等无线或有线网络。
本实施例还提供一种计算机可读存储介质,包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘、服务器、App应用商城等,其上存储有计算机程序,所述计算机程序被处理器执行时实现进程启动的控制方法。
显然,本领域的技术人员应该明白,上述的本发明实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明实施例不限制于任何特定的硬件和软件结合。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种进程启动的控制方法,其特征在于,所述方法包括:
在检测到目标进程的启动请求时,获取所述目标进程的属性值;
根据所述目标进程的属性值判断是否允许所述目标进程启动;
在判定禁止所述目标进程启动时,获取所述目标进程的父进程的属性值;
根据所述父进程的属性值判断是否允许所述目标进程启动。
2.根据权利要求1所述的方法,其特征在于,
获取所述目标进程的属性值的步骤包括:获取所述目标进程的路径;
相应地,根据所述目标进程的属性值判断是否允许所述目标进程启动的步骤包括:获取允许启动的进程的路径,得到第一路径集合;判断所述第一路径集合中是否包含所述目标进程的路径,其中,若否则执行获取所述目标进程的父进程的属性值的步骤。
3.根据权利要求2所述的方法,其特征在于,根据所述目标进程的属性值判断是否允许所述目标进程启动的步骤还包括:
在判定所述第一路径集合中包含所述目标进程的路径时,计算所述目标进程的哈希值;
从所述第一路径集合中筛选出与所述目标进程的路径相匹配的路径,得到第一路径;
确定所述第一路径对应的允许启动的进程,得到第一进程;
获取所述第一进程的哈希值;
判断所述目标进程的哈希值与所述第一进程的哈希值是否一致;
其中,若一致则允许所述目标进程启动,否则执行获取所述目标进程的父进程的属性值的步骤。
4.根据权利要求1所述的方法,其特征在于,
获取所述目标进程的父进程的属性值的步骤包括:获取所述目标进程的父进程的路径;
相应地,根据所述父进程的属性值判断是否允许所述目标进程启动的步骤包括:获取允许其直接子进程启动的进程的路径,得到第二路径集合;判断所述第二路径集合中是否包含所述父进程的路径。
5.根据权利要求4所述的方法,其特征在于,根据所述父进程的属性值判断是否允许所述目标进程启动的步骤还包括:
在判定所述第二路径集合中包含所述父进程的路径时,计算所述父进程的哈希值;
从所述第二路径集合中筛选出与所述父进程的路径相匹配的路径,作为第二路径;
确定所述第二路径对应的允许其直接子进程启动的进程,作为第二进程;
获取所述第二进程的哈希值;
判断所述父进程的哈希值与所述第二进程的哈希值是否一致;
其中,若一致则允许所述目标进程启动。
6.根据权利要求4所述的方法,其特征在于,所述方法还包括:
在判定所述第二路径集合中不包含所述父进程的路径时,将所述父进程作为第三进程,并继续判断是否允许根据所述第三进程的父进程的路径判断是否允许所述目标进程启动;
若是,则获取所述第三进程的父进程的路径;
判断所述第二路径集合中是否包含所述第三进程的父进程的路径,其中,若否则禁止所述目标进程启动。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
在判定所述第二路径集合中包含所述第三进程的父进程的路径时,计算所述第三进程的父进程的哈希值;
从所述第二路径集合中筛选出与所述第三进程的父进程的路径相匹配的路径,作为第三路径;
确定所述第三路径对应的允许其直接子进程启动的进程,作为第四进程;
获取所述第四进程的哈希值;
判断所述第三进程的父进程的哈希值与所述第四进程的哈希值是否一致;
其中,若一致则允许所述目标进程启动,否则禁止所述目标进程启动。
8.根据权利要求1所述的方法,其特征在于,
在获取所述目标进程的属性值的步骤之后,所述方法还包括:获取所述目标进程的父进程的标志符;
相应地,获取所述目标进程的父进程的属性值的步骤包括:根据所述父进程的标志符获取所述父进程的属性值。
9.一种计算机设备,所述计算机设备包括:存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至8任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911416395.2A CN111125721B (zh) | 2019-12-31 | 2019-12-31 | 一种进程启动的控制方法、计算机设备和可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911416395.2A CN111125721B (zh) | 2019-12-31 | 2019-12-31 | 一种进程启动的控制方法、计算机设备和可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111125721A true CN111125721A (zh) | 2020-05-08 |
CN111125721B CN111125721B (zh) | 2023-05-26 |
Family
ID=70506741
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911416395.2A Active CN111125721B (zh) | 2019-12-31 | 2019-12-31 | 一种进程启动的控制方法、计算机设备和可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111125721B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113312623A (zh) * | 2021-06-21 | 2021-08-27 | 北京天融信网络安全技术有限公司 | 访问控制中的进程检测方法、装置、电子设备和存储介质 |
CN113360913A (zh) * | 2021-08-10 | 2021-09-07 | 杭州安恒信息技术股份有限公司 | 一种恶意程序检测方法、装置、电子设备及存储介质 |
CN115543463A (zh) * | 2022-10-26 | 2022-12-30 | 安芯网盾(北京)科技有限公司 | 一种检测傀儡进程创建的方法及*** |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101788915A (zh) * | 2010-02-05 | 2010-07-28 | 北京工业大学 | 基于可信进程树的白名单更新方法 |
CN102902919A (zh) * | 2012-08-30 | 2013-01-30 | 北京奇虎科技有限公司 | 一种可疑操作的识别处理方法、装置和*** |
CN103020527A (zh) * | 2012-12-21 | 2013-04-03 | 北京奇虎科技有限公司 | 主动拦截恶意程序的方法、装置、*** |
US20130097708A1 (en) * | 2011-10-18 | 2013-04-18 | Mcafee, Inc. | System and method for transitioning to a whitelist mode during a malware attack in a network environment |
CN107292173A (zh) * | 2017-06-06 | 2017-10-24 | 北京奇虎科技有限公司 | 文档安全防护方法、装置以及设备 |
US20180341769A1 (en) * | 2017-05-29 | 2018-11-29 | Fujitsu Limited | Threat detection method and threat detection device |
CN109815700A (zh) * | 2018-12-29 | 2019-05-28 | 360企业安全技术(珠海)有限公司 | 应用程序的处理方法及装置、存储介质、计算机设备 |
US20190171826A1 (en) * | 2016-09-22 | 2019-06-06 | Withnetworks Co., Ltd. | Apparatus and method for blocking ransome ware using access control to the contents file |
-
2019
- 2019-12-31 CN CN201911416395.2A patent/CN111125721B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101788915A (zh) * | 2010-02-05 | 2010-07-28 | 北京工业大学 | 基于可信进程树的白名单更新方法 |
US20130097708A1 (en) * | 2011-10-18 | 2013-04-18 | Mcafee, Inc. | System and method for transitioning to a whitelist mode during a malware attack in a network environment |
CN102902919A (zh) * | 2012-08-30 | 2013-01-30 | 北京奇虎科技有限公司 | 一种可疑操作的识别处理方法、装置和*** |
CN103020527A (zh) * | 2012-12-21 | 2013-04-03 | 北京奇虎科技有限公司 | 主动拦截恶意程序的方法、装置、*** |
US20190171826A1 (en) * | 2016-09-22 | 2019-06-06 | Withnetworks Co., Ltd. | Apparatus and method for blocking ransome ware using access control to the contents file |
US20180341769A1 (en) * | 2017-05-29 | 2018-11-29 | Fujitsu Limited | Threat detection method and threat detection device |
CN107292173A (zh) * | 2017-06-06 | 2017-10-24 | 北京奇虎科技有限公司 | 文档安全防护方法、装置以及设备 |
CN109815700A (zh) * | 2018-12-29 | 2019-05-28 | 360企业安全技术(珠海)有限公司 | 应用程序的处理方法及装置、存储介质、计算机设备 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113312623A (zh) * | 2021-06-21 | 2021-08-27 | 北京天融信网络安全技术有限公司 | 访问控制中的进程检测方法、装置、电子设备和存储介质 |
CN113312623B (zh) * | 2021-06-21 | 2023-11-24 | 北京天融信网络安全技术有限公司 | 访问控制中的进程检测方法、装置、电子设备和存储介质 |
CN113360913A (zh) * | 2021-08-10 | 2021-09-07 | 杭州安恒信息技术股份有限公司 | 一种恶意程序检测方法、装置、电子设备及存储介质 |
CN115543463A (zh) * | 2022-10-26 | 2022-12-30 | 安芯网盾(北京)科技有限公司 | 一种检测傀儡进程创建的方法及*** |
Also Published As
Publication number | Publication date |
---|---|
CN111125721B (zh) | 2023-05-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108027741B (zh) | 基于补丁升级的文件处理方法、装置、终端以及存储介质 | |
CN109743315B (zh) | 针对网站的行为识别方法、装置、设备及可读存储介质 | |
US20160232374A1 (en) | Permission control method and apparatus | |
CN111125721B (zh) | 一种进程启动的控制方法、计算机设备和可读存储介质 | |
CN110278192B (zh) | 外网访问内网的方法、装置、计算机设备及可读存储介质 | |
US10019598B2 (en) | Dynamic service discovery | |
US20140317174A1 (en) | Method and device for updating client | |
CN111988337A (zh) | 权限管理方法及*** | |
CN111885184A (zh) | 高并发场景下热点访问关键字处理方法和装置 | |
CN111177703B (zh) | 操作***数据完整性的确定方法及装置 | |
CN111753270A (zh) | 应用程序登录验证方法、装置、设备和存储介质 | |
US9842018B2 (en) | Method of verifying integrity of program using hash | |
US10511631B2 (en) | Safe data access through any data channel | |
CN111125744B (zh) | 代码分支合并方法、***、计算机设备及可读存储介质 | |
CN113535206B (zh) | 多版本代码升级方法及*** | |
US20240031166A1 (en) | Web-side data signature method and apparatus and computer device | |
CN106709331B (zh) | 一种消息钩子防注入方法、装置以及客户端 | |
CN106529290B (zh) | 一种恶意软件防护方法、装置以及电子设备 | |
CN112583761B (zh) | 安全实体的管理方法、装置、计算机设备和存储介质 | |
US11050621B2 (en) | Client, server and differential upgrade method | |
CN111538481B (zh) | 应用程序定制化方法及*** | |
CN112417324A (zh) | 基于Chrome的URL拦截方法、装置及计算机设备 | |
CN113127479B (zh) | 一种Elasticsearch索引的加载方法、装置、计算机设备和存储介质 | |
CN116150116B (zh) | 文件***共享的方法、装置、电子设备及存储介质 | |
CN108446113B (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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: Room 332, 3 / F, Building 102, 28 xinjiekouwei street, Xicheng District, Beijing 100088 Applicant after: QAX Technology Group Inc. Applicant after: Qianxin Wangshen information technology (Beijing) Co.,Ltd. Address before: Room 332, 3 / F, Building 102, 28 xinjiekouwei street, Xicheng District, Beijing 100088 Applicant before: QAX Technology Group Inc. Applicant before: LEGENDSEC INFORMATION TECHNOLOGY (BEIJING) Inc. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |