CN118153034A - 安全基线核查方法、装置、设备及存储介质 - Google Patents
安全基线核查方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN118153034A CN118153034A CN202410068751.0A CN202410068751A CN118153034A CN 118153034 A CN118153034 A CN 118153034A CN 202410068751 A CN202410068751 A CN 202410068751A CN 118153034 A CN118153034 A CN 118153034A
- Authority
- CN
- China
- Prior art keywords
- target
- component
- security baseline
- execution program
- checking
- 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
- 238000000034 method Methods 0.000 title claims abstract description 112
- 238000005516 engineering process Methods 0.000 claims abstract description 24
- 230000004044 response Effects 0.000 claims abstract description 8
- 238000012795 verification Methods 0.000 claims description 68
- 230000006870 function Effects 0.000 claims description 29
- 238000010586 diagram Methods 0.000 description 10
- 238000013461 design Methods 0.000 description 7
- 238000005070 sampling Methods 0.000 description 7
- 238000004590 computer program Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000013459 approach Methods 0.000 description 2
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 102100035024 Carboxypeptidase B Human genes 0.000 description 1
- 101000946524 Homo sapiens Carboxypeptidase B Proteins 0.000 description 1
- 241001327273 Parachela oxygastroides Species 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 239000011347 resin Substances 0.000 description 1
- 229920005989 resin Polymers 0.000 description 1
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本申请提供一种安全基线核查方法、装置、设备及存储介质。该方法包括:响应于满足目标对象的执行条件,则获取目标对象对应的目标执行程序,目标对象中包括目标中间件或目标第三方组件,目标执行程序中嵌入有对目标中间件或目标第三方组件进行安全基线核查的组件执行程序;在执行目标执行程序的过程中执行到组件执行程序时对目标中间件或目标第三方组件进行安全基线核查,以获得安全基线核查结果;将安全基线核查结果发送至运行时应用程序自我保护技术RASP客户端设备,以使RASP客户端设备将安全基线核查结果发送至RASP云端设备,以对安全基线核查结果进行展示。本申请可以实时对安全基线进行核查,提高了安全基线核查效率。
Description
技术领域
本申请涉及信息安全领域,尤其涉及一种安全基线核查方法、装置、设备及存储介质。
背景技术
在传统的软件应用或微服务中,需要对操作系统、中间件、第三方组件或应用程序进行安全基线核查。安全基线核查的原理是通过对核查对象的配置文件及日志等信息进行全面的检查和比对,以确保其达到了预期的安全性、稳定性和合规性标准。
为了对操作系统、中间件、第三方组件或应用程序进行安全基线核查,一般采用人工核查方式或自定义脚本核查方式。但人工核查的方式核查效率较低,只能抽样核查,且核查周期较长。而自定义脚本核查方式则是在核查对象需要进行安全基线核查时调用核查脚本,无法做到在核查对象程序运行期间对核查对象进行实时的安全基线核查。
发明内容
本申请提供一种安全基线核查方法、装置、设备及存储介质,用以解决现有技术中人工核查的方式核查效率较低,只能抽样核查,且核查周期较长的技术问题,以及自定义脚本核查方式无法做到在核查对象程序运行期间对核查对象进行实时的安全基线核查的技术问题。
第一方面,本申请提供一种安全基线核查方法,包括:所述方法应用于安全基线核查设备,所述方法包括:
响应于满足目标对象的执行条件,则获取目标对象对应的目标执行程序,所述目标对象中包括目标中间件或目标第三方组件,所述目标执行程序中嵌入有对目标中间件或目标第三方组件进行安全基线核查的组件执行程序,所述组件执行程序与所述目标中间件或目标第三方组件适配;所述组件执行程序为从RASP客户端设备获取的;
在执行所述目标执行程序的过程中执行到组件执行程序时对所述目标中间件或目标第三方组件进行安全基线核查,以获得安全基线核查结果;
将所述安全基线核查结果发送至运行时应用程序自我保护技术RASP客户端设备,以使所述RASP客户端设备将所述安全基线核查结果发送至RASP云端设备,以对所述安全基线核查结果进行展示。
在一种可能的设计中,所述获取目标对象对应的目标执行程序之前,还包括:
从RASP客户端设备获取与目标中间件或目标第三方组件适配的安全基线核查组件,所述安全基线核查组件为所述组件执行程序的形式;
将所述安全基线核查组件加载到虚拟机中;
将所述目标对象的原始执行程序加载到所述虚拟机中;
将所述安全基线核查组件以组件执行程序的形式嵌入到所述原始执行程序中,以获得所述目标执行程序。
在一种可能的设计中,所述将所述安全基线核查组件以组件执行程序的形式嵌入到所述原始执行程序中,以获得所述目标执行程序,包括:
采用字节码编辑技术编辑所述原始执行程序,并在编辑所述原始执行程序过程中将所述安全基线核查组件以所述组件执行程序加入到原始执行程序对目标中间件或第三方组件核查的对应位置,以获得目标执行程序。
在一种可能的设计中,若所述目标对象为软件应用或微服务,则所述目标对象中包括目标中间件;
若所述目标对象为数据库,则所述目标对象中包括第三方组件;
所述安全核查包括:配置不当核查、弱密码核查。
在一种可能的设计中,所述方法还包括:
接收RASP客户端设备发送的更新后的组件执行程序,所述更新后的组件执行程序为更新后的安全基线核查组件的执行程序,所述更新后的安全基线核查组件是所述RASP客户端设备基于更新后的安全基线核查相关信息对原有安全基线核查组件进行更新获得的;
采用更新后的组件执行程序对目标执行程序进行更新,获得更新后的目标执行程序;
在执行所述更新后的目标执行程序的过程中执行到更新后的组件执行程序时对更新的目标中间件或更新的目标第三方组件进行安全基线核查,以获得安全基线核查结果。
第二方面,本申请提供一种安全基线核查方法,所述方法应用于RASP客户端设备,所述方法包括:
创建关于目标中间件或第三方组件的核查项;
获取目标中间件或第三方组件的安全基线核查相关信息;
根据所述安全基线核查相关信息及所述核查项创建与所述目标中间件或第三方组件适配的安全基线核查组件,所述安全基线核查组件为组件执行程序的形式;
将所述组件执行程序发送至安全基线核查设备,所述组件执行程序用于指示所述安全基线核查设备确定目标对象对应的目标执行程序,所述目标执行程序用于在执行到组件执行程序时对所述目标中间件或目标第三方组件进行安全基线核查,以获得安全基线核查结果;
接收所述安全基线核查设备发送的所述安全基线核查结果并将所述安全基线核查结果发送至RASP云端设备,以使所述RASP云端设备对所述安全基线核查结果进行展示。
在一种可能的设计中,所述获取目标中间件或第三方组件的安全基线核查相关信息,包括:
采用钩子函数从所述目标中间件或第三方组件的底层关键函数中采集所述安全基线核查相关信息,所述安全基线核查相关信息包括版本信息、配置信息及用户账户及密码信息。
在一种可能的设计中,所述方法还包括:
将目标中间件或第三方组件的所述版本信息发送至RASP云端设备,所述版本信息用于指示RASP云端设备基于所述版本信息及预设的漏洞版本区间对所述目标中间件或第三方组件进行漏洞核查,并获得漏洞核查结果。
在一种可能的设计中,所述方法还包括:
响应于所述安全基线核查相关信息发生更新,根据更新后的安全基线核查相关信息对原有安全基线核查组件进行更新,以获得更新后的安全基线核查组件,所述更新后的安全基线核查组件为更新后的组件执行程序的形式;
将所述更新后的组件执行程序发送至安全基线核查设备,所述更新后的组件执行程序用于指示对目标执行程序进行更新,并按照更新后的目标执行程序中的更新后的组件执行程序对所述目标中间件或目标第三方组件进行安全基线核查。
第三方面,本申请提供一种安全基线核查装置,所述装置位于安全基线核查设备中,所述装置包括:
获取模块,用于响应于满足目标对象的执行条件,则获取目标对象对应的目标执行程序,所述目标对象中包括目标中间件或目标第三方组件,所述目标执行程序中嵌入有对目标中间件或目标第三方组件进行安全基线核查的组件执行程序,所述组件执行程序与所述目标中间件或目标第三方组件适配;所述组件执行程序为从RASP客户端设备获取的;
核查模块,用于在执行所述目标执行程序的过程中执行到组件执行程序时对所述目标中间件或目标第三方组件进行安全基线核查,以获得安全基线核查结果;
发送模块,用于将所述安全基线核查结果发送至运行时应用程序自我保护技术RASP客户端设备,以使所述RASP客户端设备将所述安全基线核查结果发送至RASP云端设备,以对所述安全基线核查结果进行展示。
第四方面,本申请提供一种安全基线核查装置,所述装置位于RASP客户端设备中,所述装置包括:
创建模块,用于创建关于目标中间件或第三方组件的核查项;
获取模块,用于获取目标中间件或第三方组件的安全基线核查相关信息;
所述创建模块,还用于根据所述安全基线核查相关信息及所述核查项创建与所述目标中间件或第三方组件适配的安全基线核查组件,所述安全基线核查组件为组件执行程序的形式;
发送模块,用于将所述组件执行程序发送至安全基线核查设备,所述组件执行程序用于指示所述安全基线核查设备确定目标对象对应的目标执行程序,所述目标执行程序用于在执行到组件执行程序时对所述目标中间件或目标第三方组件进行安全基线核查,以获得安全基线核查结果;
接收模块,用于接收所述安全基线核查设备发送的所述安全基线核查结果并将所述安全基线核查结果发送至RASP云端设备,以使所述RASP云端设备对所述安全基线核查结果进行展示。
第五方面,本申请提供一种安全基线核查设备,包括:处理器,以及与所述处理器通信连接的存储器及收发器;
所述存储器存储计算机执行指令;所述收发器,用于收发数据;
所述处理器执行所述存储器存储的计算机执行指令,以实现如第一方面所述的方法。
第六方面,本申请提供一种RASP客户端设备,包括:处理器,以及与所述处理器通信连接的存储器及收发器;
所述存储器存储计算机执行指令;所述收发器,用于收发数据;
所述处理器执行所述存储器存储的计算机执行指令,以实现如第二方面所述的方法。
第七方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如第一方面或第二方面所述的方法。
第八方面,本申请提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如第一方面或第二方面所述的方法。
本申请提供的安全基线核查方法、装置、设备及存储介质,通过响应于满足目标对象的执行条件,则获取目标对象对应的目标执行程序,所述目标对象中包括目标中间件或目标第三方组件,所述目标执行程序中嵌入有对目标中间件或目标第三方组件进行安全基线核查的组件执行程序,所述组件执行程序与所述目标中间件或目标第三方组件适配;所述组件执行程序为从RASP客户端设备获取的;在执行所述目标执行程序的过程中执行到组件执行程序时对所述目标中间件或目标第三方组件进行安全基线核查,以获得安全基线核查结果;将所述安全基线核查结果发送至运行时应用程序自我保护技术RASP客户端设备,以使所述RASP客户端设备将所述安全基线核查结果发送至RASP云端设备,以对所述安全基线核查结果进行展示。通过将对目标中间件或目标第三方组件进行安全基线核查的组件执行程序嵌入到目标执行程序中,便可以在目标执行程序执行过程中实时对目标中间件或目标第三方组件进行安全基线核查,能够及时发现存在的安全问题。本方案无需人工核查,提高了安全基线核查效率,同时可以对每个目标中间件或目标第三方组件进行安全基线核查,而不是只能抽样核查,实现了对目标中间件或目标第三方组件的全覆盖安全基线核查,避免了目标中间件或目标第三方组件出现安全问题时核查不到位的现象。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为本申请一个实施例提供的安全基线核查方法的应用场景图;
图2为本申请一实施例提供的安全基线核查方法的流程图;
图3为本申请另一实施例提供的安全基线核查方法的流程图;
图4为本申请又一实施例提供的安全基线核查方法的流程图;
图5为本申请一实施例提供的安全基线核查方法的信令流程图;
图6为本申请一实施例提供的安全基线核查装置的结构示意图;
图7为本申请一实施例提供的安全基线核查装置的结构示意图;
图8为本申请一实施例提供的安全基线核查设备的结构示意图;
图9为本申请一实施例提供的RASP客户端设备的结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
为了清楚理解本申请的技术方案,首先对现有技术的方案进行详细介绍。
目前,在对操作系统、中间件、第三方组件或应用程序进行安全基线核查时,一般有两种方式来达到安全基线核查的目的。
第一种方式为人工核查方式,通过登录系统或服务器进行查看的方式核查配置的合规性,人工核查一个中间件或一个第三方组件的安全配置需要10分钟或更长时间,只能对中间件或第三方组件进行抽样检查,并不能覆盖所有的中间件或第三方组件,且安全基线核查周期长,一般为13个月核查一次,所以人工核查的方式核查效率较低,只能抽样核查,且核查周期较长。
第二种方式为自定义脚本核查方式,通过编写核查脚本并在系统或服务器执行核查脚本的方式核查配置的合规性,在核查对象需要进行安全基线核查时调用核查脚本,无法做到在核查对象程序运行期间对核查对象进行实时的安全基线核查。
所以在面对现有技术中的技术问题时,将对目标中间件或目标第三方组件进行安全基线核查的组件执行程序嵌入到目标执行程序中,便可以在目标执行程序执行过程中实时对目标中间件或目标第三方组件进行安全基线核查,能够及时发现存在的安全问题。同时在目标执行程序执行过程中可以自动对目标中间件或目标第三方组件进行安全基线核查,无需进行人工核查,就可以避免核查效率降低,无法覆盖所有目标中间件或目标第三方组件且核查周期长的问题。
下面对本发明实施例的应用场景进行介绍。
图1为本申请一个实施例提供的安全基线核查方法的应用场景图,如图1所示,本申请具体的应用场景可以为对目标中间件或目标第三方组件进行安全基线核查的场景。并且在进行安全基线核查时能够使RASP云端设备对安全基线核查结果进行展示。那么本申请提供的安全基线核查方法对应的系统中包括:RASP客户端设备1,安全基线核查设备2及RASP云端设备3。其中,目标中间件或目标第三方组件可以为多个,所以安全基线核查设备2也可以为多个。那么在对目标中间件或目标第三方组件进行安全基线核查前,可在RASP客户端设备1创建关于目标中间件或目标第三方组件的核查项,RASP客户端设备1根据目标中间件或第三方组件的安全基线核查相关信息创建与目标中间件或第三方组件适配的安全基线核查组件,安全基线核查组件为组件执行程序的形式,并向至少一个安全基线核查设备2发送组件执行程序。那么在安全基线核查场景中,安全基线核查设备2在目标执行程序中嵌入对目标中间件或目标第三方组件进行安全基线核查的组件执行程序,在执行目标执行程序的过程中到执行到组件执行程序时,对目标中间件或目标第三方组件进行安全基线核查,获得安全基线核查结果,并向RASP客户端设备1发送安全基线核查结果。RASP客户端设备1向RASP云端设备3发送安全基线核查结果,RASP云端设备3设备对安全基线核查结果进行展示。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
图2为本申请一实施例提供的安全基线核查方法的流程图,如图2所示,本实施例的执行主体为安全基线核查装置,该安全基线核查装置位于安全基线核查设备中。则本实施例提供的安全基线核查方法包括以下步骤:
步骤201,响应于满足目标对象的执行条件,则获取目标对象对应的目标执行程序,目标对象中包括目标中间件或目标第三方组件,目标执行程序中嵌入有对目标中间件或目标第三方组件进行安全基线核查的组件执行程序,组件执行程序与目标中间件或目标第三方组件适配;组件执行程序为从RASP客户端设备获取的。
其中,目标对象,是指待进行安全基线核查的对象,其中包括目标中间件或目标第三方组件。目标对象如可以为目标软件应用、目标微服务或目标数据库。若为目标软件应用、目标微服务,则包括目标中间件,若为目标数据库,则包括目标第三方组件。
其中,目标执行程序,是指在目标对象的原始执行程序中嵌入有组件执行程序的程序。
其中,目标中间件,包括Tomcat、Weblogic、Tongweb、Jboss、GlassFish、Resin等。
其中,目标第三方组件,包括Redis、MySQL、Elasticsearch、Oracle、SQLServer等。
其中,组件执行程序,是指用于对目标中间件或目标第三方组件进行安全基线核查的执行程序,其也可以称为安全基线核查组件。
具体地,本实施例中,RASP客户端设备与对应的安全基线核查设备建立通信连接,在目标对象满足执行条件前,RASP客户端设备向安全基线核查设备发送嵌入有对目标中间件或目标第三方组件进行安全基线核查的且与目标中间件或目标第三方组件适配的组件执行程序,安全基线核查设备将该组件执行程序嵌入到目标对象的原始执行程序中形成目标执行程序并进行本地存储,所以在确定满足目标对象的执行条件时,从本地获取到目标执行程序。
其中,在确定是否满足目标对象的执行条件,具体可以包括:若虚拟机加载目标对象的原始执行程序,则满足目标对象的执行条件;若虚拟机未加载目标对象的原始执行程序,则不满足目标对象的执行条件。
步骤202,在执行目标执行程序的过程中执行到组件执行程序时对目标中间件或目标第三方组件进行安全基线核查,以获得安全基线核查结果。
其中,安全基线核查,是指对目标对象的目标中间件或第三方组件的配置、文件及日志等信息进行全面的检查和比对,以确保目标对象的目标中间件或第三方组件达到了预期的安全性、稳定性和合规性标准的核查。
具体地,本实施例中,由于目标对象对应的目标执行程序是在有执行需求就会执行的程序,且目标对象对应的目标执行程序中嵌入有对目标中间件或目标第三方组件进行安全基线核查的组件执行程序,所以在执行目标对象对应的目标执行程序时,也会执行对目标中间件或目标第三方组件进行安全基线核查的组件执行程序,安全基线核查设备便对目标中间件或目标第三方组件进行安全基线核查,从而可以获得安全基线核查结果。
其中,对目标中间件的安全基线核查可以包括:核查对端口开放情况进行配置的文件是否安全及核查对密码进行配置的文件是否安全等。
对目标第三方组件的安全基线核查可以包括:核查对访问控制进行配置的文件是否安全及核查对密码进行配置的文件是否安全等。
其中,安全基线核查结果可以包括:是否存在利用开放端口隐藏未经授权的通信,是否存在任意数据包的流入和流出,配置的密码是否为弱密码等。
步骤203,将安全基线核查结果发送至运行时应用程序自我保护技术RASP客户端设备,以使RASP客户端设备将安全基线核查结果发送至RASP云端设备,以对安全基线核查结果进行展示。
其中,运行时应用程序自我保护技术(英文为Runtime Application SelfProtection,简称为RASP),是指在应用程序运行时监控和分析应用程序的行为来保护应用程序安全的技术。
具体地,本实施例中,安全基线核查设备在获得安全基线核查结果后将安全基线核查结果发送至RASP客户端设备,RASP客户端设备中具有同步组件,通过同步组件可将安全基线核查结果同步至RASP云端设备,最终RASP云端设备可以以文字或图像的形式对安全基线核查结果进行展示。
本实施例提供的安全基线核查方法,通过响应于满足目标对象的执行条件,则获取目标对象对应的目标执行程序,目标对象中包括目标中间件或目标第三方组件,目标执行程序中嵌入有对目标中间件或目标第三方组件进行安全基线核查的组件执行程序,组件执行程序与目标中间件或目标第三方组件适配;组件执行程序为从RASP客户端设备获取的;在执行目标执行程序的过程中执行到组件执行程序时对目标中间件或目标第三方组件进行安全基线核查,以获得安全基线核查结果;将安全基线核查结果发送至运行时应用程序自我保护技术RASP客户端设备,以使RASP客户端设备将安全基线核查结果发送至RASP云端设备,以对安全基线核查结果进行展示。通过将对目标中间件或目标第三方组件进行安全基线核查的组件执行程序嵌入到目标执行程序中,便可以在目标执行程序执行过程中实时对目标中间件或目标第三方组件进行安全基线核查,能够及时发现存在的安全问题。本方案无需人工核查,提高了安全基线核查效率,同时可以对每个目标中间件或目标第三方组件进行安全基线核查,而不是只能抽样核查,实现了对目标中间件或目标第三方组件的全覆盖安全基线核查,避免了目标中间件或目标第三方组件出现安全问题时核查不到位的现象。
图3为本申请另一实施例提供的安全基线核查方法的流程图,如图3所示,作为一种可选实施方式,本实施例中,在步骤201之前,还包括以下步骤:
步骤301,从RASP客户端设备获取与目标中间件或目标第三方组件适配的安全基线核查组件,安全基线核查组件为组件执行程序的形式。
具体地,本实施例中,不同的目标中间件或目标第三方组件对应的安全基线核查组件不同,所以RASP客户端设备根据目标中间件或目标第三方组件的版本创建对应的安全基线核查组件,安全基线核查组件为组件执行程序的形式,RASP客户端设备将安全基线核查组件发送至安全基线核查设备,所以安全基线核查设备获取与目标中间件或目标第三方组件适配的安全基线核查组件。
步骤302,将安全基线核查组件加载到虚拟机中。
其中,虚拟机(英文为Virtual Machine),是指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统,常见的虚拟机有Java虚拟机,Linux虚拟机,windows虚拟机。
具体地,本实施例中,虚拟机通过调用存储安全基线核查组件对应的应用程序编程接口(英文为Application Programming Interface,简称为API)加载安全基线核查组件。
步骤303,将目标对象的原始执行程序加载到虚拟机中。
其中,原始执行程序,是指目标对象中用于维持目标对象正常运行原有的执行程序。
具体地,本实施例中,虚拟机通过调用目标对象对应的API接口加载目标对象的原始执行程序。
步骤304,将安全基线核查组件以组件执行程序的形式嵌入到原始执行程序中,以获得目标执行程序。
具体地,本实施例中,通过对目标对象的原始执行程序进行编辑,将安全基线核查组件以执行程序的形式嵌入到目标对象的原始执行程序中,从而获得目标执行程序。
本实施例提供的安全基线核查方法,在获取目标对象对应的目标执行程序之前通过从RASP客户端设备获取与目标中间件或目标第三方组件适配的安全基线核查组件,安全基线核查组件为组件执行程序的形式;将安全基线核查组件加载到虚拟机中;将目标对象的原始执行程序加载到虚拟机中;将安全基线核查组件以组件执行程序的形式嵌入到原始执行程序中,以获得目标执行程序。由于在目标对象的原始执行程序加载到虚拟机之后,可以通过对目标对象的原始执行程序进行编辑,将安全基线核查组件嵌入至目标对象的原始执行程序中,便可以获得具有安全基线核查功能的目标执行程序,实现了对原始执行程序的编辑和修改,虚拟机通过重新加载目标执行程序,便可以实现对目标对象进行安全基线核查的目的。
作为一种可选实施方式,本实施例中,步骤304包括以下步骤:
步骤401,采用字节码编辑技术编辑原始执行程序,并在编辑原始执行程序过程中将安全基线核查组件以组件执行程序加入到原始执行程序对目标中间件或第三方组件核查的对应位置,以获得目标执行程序。
其中,字节码编辑技术,是指用于对程序进行编辑和修改的技术。
具体地,本实施例中,从JDK1.5开始,Java新增了Instrumentation工具包和Java虚拟机工具接口(英文为Java Virtual Machine Tool Interface,简称为JVMTI)功能,借助Instrumentation工具包或JVMTI可以在虚拟机加载某个类字节码(英文为class)文件之前对字节码进行修改,同时也可以对已加载的类字节码进行重新加载,所以可以使用字节码编辑技术对目标对象的原始执行程序进行编辑,将安全基线核查组件以组件执行程序的形式加入到原始执行程序对目标中间件或第三方组件进行安全基线核查的对应位置,从而获得目标执行程序。
本实施例提供的安全基线核查方法,将安全基线核查组件以组件执行程序的形式嵌入到原始执行程序中,以获得目标执行程序,包括:采用字节码编辑技术编辑原始执行程序,并在编辑原始执行程序过程中将安全基线核查组件以组件执行程序加入到原始执行程序对目标中间件或第三方组件核查的对应位置,以获得目标执行程序。由于Java允许虚拟机在加载某个某个类字节码文件之前对字节码进行修改,所以可以使用字节码编辑技术对目标对象的原始执行程序进行编辑,将安全基线核查组件以组件执行程序的形式嵌入至目标对象的原始执行程序中,可以方便灵活地实现对程序的编辑和修改,使得目标对象的原始执行程序和组件执行程序不仅都能够正常执行,而且还实现了在目标对象的原始执行程序执行过程中对目标对象进行实时的安全基线核查的目的。
作为一种可选实施方式,本实施例中,若目标对象为软件应用或微服务,则目标对象中包括目标中间件。
具体地,本实施例中,目标对象可以为软件应用或微服务,则此时目标对象中包括中间件,安全基线核查组件对中间件进行安全基线核查。
若目标对象为数据库,则目标对象中包括第三方组件。
具体地,本实施例中,目标对象可以为数据库,则此时目标对象中包括第三方组件,安全基线核查组件对第三方组件进行安全基线核查。
安全核查包括:配置不当核查、弱密码核查。
其中,配置不当核查,是指对目标对象中的配置文件安全进行核查,包括核查端口开放情况、访问控制、加密配置等安全问题。
其中,弱密码核查,是指对目标对象设置的密码安全进行核查。
其中,弱密码,是指不符合密码长度及密码内容组成要求的密码。
具体地,示例性地,本实施例中,通过核查对端口开放情况进行配置的文件是否安全,可以核查出在开放端口隐藏未经授权的通信情况。通过核查对访问控制进行配置的文件是否安全,可以防止任意数据包流入和流出,保证系统的安全。通过核查对密码进行配置的文件是否安全,可以核查出弱密码问题。
本实施例提供的安全基线核查方法,若目标对象为软件应用或微服务,则目标对象中包括目标中间件;若目标对象为数据库,则目标对象中包括第三方组件;安全核查包括:配置不当核查、弱密码核查。由于目标对象既可以为软件应用、或微服务,也可以为数据库,所以本方案的应用场景更为广泛。同时安全核查包括配置不当核查和弱密码核查等核查内容,核查范围也更为广泛,能够全方位的对目标对象进行安全基线核查。
作为一种可选实施方式,本实施例中,安全基线核查方法还包括以下步骤:
步骤501,接收RASP客户端设备发送的更新后的组件执行程序,更新后的组件执行程序为更新后的安全基线核查组件的执行程序,更新后的安全基线核查组件是RASP客户端设备基于更新后的安全基线核查相关信息对原有安全基线核查组件进行更新获得的。
其中,更新后的组件执行程序,是指根据更新后的安全基线核查相关信息对原有安全基线核查组件进行更新后获得的执行程序。
其中,更新后的安全基线核查相关信息具体可以包括更新后的版本信息,更新后的配置信息及更新后的用户账户及密码信息等。
具体地,本实施例中,RASP客户端设备基于更新后的安全基线核查相关信息对原有安全基线核查组件进行更新,具体可以包括以下至少一项:更新对端口开放情况进行配置的文件是否安全进行核查的组件执行程序,更新对访问控制进行配置的文件是否安全进行核查的组件执行程序,更新对密码进行配置的文件是否安全进行核查的组件执行程序等。
具体地,本实施例中,RASP客户端设备更新后的安全基线核查相关信息对安全基线核查组件的执行程序进行相应的更新,RASP客户端设备将更新后的组件执行程序发送至安全基线核查设备中,所以安全基线核查设备接收更新后的组件执行程序。
步骤502,采用更新后的组件执行程序对目标执行程序进行更新,获得更新后的目标执行程序。
其中,更新后的目标执行程序,是指在原有目标执行程序中更新组件执行程序后获得的目标执行程序。
具体地,本实施例中,安全基线核查设备接收更新后的目标执行程序,采用字节码编辑技术在原有目标执行程序中对原有组件执行程序进行编辑和修改,将更新后的目标执行程序替换原有组件执行程序,从而获得更新后的目标执行程序。
步骤503,在执行更新后的目标执行程序的过程中执行到更新后的组件执行程序时对更新的目标中间件或更新的目标第三方组件进行安全基线核查,以获得安全基线核查结果。
具体地,本实施例中,由于目标对象对应的更新后的目标执行程序是实时执行以维持目标对象正常运行的,且目标对象对应的更新后的目标执行程序中嵌入有对目标中间件或目标第三方组件进行安全基线核查的组件执行程序,所以在执行目标对象对应的更新后的目标执行程序时,也将执行对更新后的目标中间件或更新后的目标第三方组件进行安全基线核查的组件执行程序,安全基线核查设备便对更新后的目标中间件或更新后的目标第三方组件进行安全基线核查,从而可以获得安全基线核查结果。
本实施例提供的安全基线核查方法,还包括:接收RASP客户端设备发送的更新后的组件执行程序,更新后的组件执行程序为更新后的安全基线核查组件的执行程序,更新后的安全基线核查组件是RASP客户端设备基于更新后的安全基线核查相关信息对原有安全基线核查组件进行更新获得的;采用更新后的组件执行程序对目标执行程序进行更新,获得更新后的目标执行程序;在执行更新后的目标执行程序的过程中执行到更新后的组件执行程序时对更新的目标中间件或更新的目标第三方组件进行安全基线核查,以获得安全基线核查结果。由于在对目标中间件或目标第三方组件进行安全基线核查时,目标中间件或目标第三方组件的安全基线核查相关信息会不断更新,所以通过安全基线核查设备接收更新后的目标执行程序,采用更新后的目标执行程序对原有目标执行程序进行更新,能够有效满足对更新安全基线核查相关信息后的目标中间件或目标第三方组件进行安全基线核查。
图4为本申请又一实施例提供的安全基线核查方法的流程图,如图4所示,本实施例的执行主体为安全基线核查装置,该安全基线核查装置位于RASP客户端设备中,则本实施例提供的安全基线核查方法包括以下步骤:
步骤601,创建关于目标中间件或第三方组件的核查项。
其中,核查项,是指对目标中间件或第三方组件进行核查的项目,包括配置不当核查和弱密码核查等。
具体地,本实施例中,不同的目标中间件或第三方组件对安全基线核查的要求不同,所以对应不同的核查项,RASP客户端设备根据不同的目标中间件或第三方组件分别创建对应的核查项。
步骤602,获取目标中间件或第三方组件的安全基线核查相关信息。
其中,安全基线核查相关信息,是指中间件或第三方组件中与安全基线核查有关的信息,可以包括版本信息、配置信息及用户账户及弱密码信息等。
具体地,本实施例中,RASP客户端设备通过用于获取信息的函数从目标中间件或第三方组件的底层关键函数中获取安全基线核查相关信息。
其中,用于获取信息的函数可以是钩子函数,也可以是其它函数。
步骤603,根据安全基线核查相关信息及核查项创建与目标中间件或第三方组件适配的安全基线核查组件,安全基线核查组件为组件执行程序的形式。
具体地,本实施例中,RASP客户端设备根据安全基线核查相关信息及核查项,通过字节码编辑技术分别编辑与目标中间件或第三方组件适配的组件执行程序。
步骤604,将组件执行程序发送至安全基线核查设备,组件执行程序用于指示安全基线核查设备确定目标对象对应的目标执行程序,目标执行程序用于在执行到组件执行程序时对目标中间件或目标第三方组件进行安全基线核查,以获得安全基线核查结果。
具体地,本实施例中,RASP客户端设备将组件执行程序发送至安全基线核查设备,由于目标对象对应的目标执行程序是实时执行以维持目标对象正常运行的,且目标对象对应的目标执行程序中嵌入有对目标中间件或目标第三方组件进行安全基线核查的组件执行程序,所以在执行目标对象对应的目标执行程序时,也将执行对目标中间件或目标第三方组件进行安全基线核查的组件执行程序,安全基线核查设备便对目标中间件或目标第三方组件进行安全基线核查,从而可以获得安全基线核查结果。
步骤605,接收安全基线核查设备发送的安全基线核查结果并将安全基线核查结果发送至RASP云端设备,以使RASP云端设备对安全基线核查结果进行展示。
具体地,本实施例中,安全基线核查设备在获得安全基线核查结果后将安全基线核查结果发送至RASP客户端设备,RASP客户端设备中具有同步组件,通过同步组件可将安全基线核查结果同步至RASP云端设备,最终RASP云端设备可以以文字或图像的形式对安全基线核查结果进行展示。
本实施例提供的安全基线核查方法,通过创建关于目标中间件或第三方组件的核查项;获取目标中间件或第三方组件的安全基线核查相关信息;根据安全基线核查相关信息及核查项创建与目标中间件或第三方组件适配的安全基线核查组件,安全基线核查组件为组件执行程序的形式;将组件执行程序发送至安全基线核查设备,组件执行程序用于指示安全基线核查设备确定目标对象对应的目标执行程序,目标执行程序用于在执行到组件执行程序时对目标中间件或目标第三方组件进行安全基线核查,以获得安全基线核查结果;接收安全基线核查设备发送的安全基线核查结果并将安全基线核查结果发送至RASP云端设备,以使RASP云端设备对安全基线核查结果进行展示。由于根据安全基线核查相关信息及核查项,通过字节码编辑技术分别编辑与目标中间件或第三方组件适配的组件执行程序,可以将不同的目标中间件或目标第三方组件适配的组件执行程序分离开,从而实现对不同的目标中间件或目标第三方组件进行不同安全基线要求的核查。本方案无需人工核查,提高了安全基线核查效率,同时可以对每个目标中间件或目标第三方组件进行安全基线核查,而不是只能抽样核查,实现了对目标中间件或目标第三方组件的全覆盖安全基线核查,避免了目标中间件或目标第三方组件出现安全问题时核查不到位的现象。
作为一种可选实施方式,本实施例中,步骤602包括以下步骤:
步骤6021,采用钩子函数从目标中间件或第三方组件的底层关键函数中采集安全基线核查相关信息,安全基线核查相关信息包括版本信息、配置信息及用户账户及密码信息。
其中,钩子函数,是指用于获取信息的函数。
其中,关键函数,是指目标中间件或第三方组件的底层中用于执行任务的函数。
其中,安全基线核查相关信息,是指中间件或第三方组件中与安全基线核查有关的信息,包括版本信息、配置信息及用户账户及弱密码信息等。
其中,版本信息,是指目标中间件或第三方组件的相关版本信息。
其中,配置信息,是指目标中间件或第三方组件配置文件中的信息,包括端口开放情况、访问控制、加密配置等信息。
其中,用户账户,是指用户用于登录目标中间件或第三方组件的账户。
其中,弱密码,是指用于登录用户账户设置的不符合密码长度及密码内容组成要求的密码。
具体地,本实施例中,目标中间件或第三方组件的底层关键函数中包括安全基线核查相关信息,所以RASP客户端设备通过采用钩子函数与目标中间件或第三方组件建立通信连接,便可从目标中间件或第三方组件底层的关键函数中采集安全基线核查相关信息。
本实施例提供的安全基线核查方法,获取目标中间件或第三方组件的安全基线核查相关信息,包括:采用钩子函数从目标中间件或第三方组件的底层关键函数中采集安全基线核查相关信息,安全基线核查相关信息包括版本信息、配置信息及用户账户及密码信息。由于钩子函数可以用于获取信息,所以RASP客户端设备采用钩子函数便可从目标中间件或第三方组件的底层关键函数中采集安全基线核查相关信息,使得信息获取方式更加方便快捷。
作为一种可选实施方式,本实施例中,安全基线核查方法还包括以下步骤:
步骤701,将目标中间件或第三方组件的版本信息发送至RASP云端设备,版本信息用于指示RASP云端设备基于版本信息及预设的漏洞版本区间对目标中间件或第三方组件进行漏洞核查,并获得漏洞核查结果。
其中,预设的漏洞版本区间,是指存在漏洞的版本区间。
具体地,本实施例中,由于安全基线核查相关信息中包括版本信息,所以RASP客户端设备在采集到目标中间件或第三方组件的安全基线核查相关信息后,便从安全基线核查相关信息中提取出版本信息,并将版本信息发送至RASP云端设备,RASP云端设备通过访问开源软件,将目标中间件或第三方组件的版本信息与开源软件的漏洞版本区间进行比对,若目标中间件或第三方组件的版本信息在开源软件的预设漏洞版本区间内,则目标中间件或第三方组件存在漏洞,若目标中间件或第三方组件的版本信息不在开源软件的预设漏洞版本区间内,则目标中间件或第三方组件不存在漏洞,最终RASP云端设备对漏洞核查结果以文字或图像的形式进行展示。
本实施例提供的安全基线核查方法,还包括:将目标中间件或第三方组件的版本信息发送至RASP云端设备,版本信息用于指示RASP云端设备基于版本信息及预设的漏洞版本区间对目标中间件或第三方组件进行漏洞核查,并获得漏洞核查结果。由于RASP云端设备可以根据目标中间件或第三方组件的版本信息与开源软件的漏洞版本区间进行比对,从而可以实现对目标中间件或第三方组件的漏洞进行核查,同时可以展示漏洞核查结果。
作为一种可选实施方式,本实施例中,安全基线核查方法还包括以下步骤:
步骤801,响应于安全基线核查相关信息发生更新,根据更新后的安全基线核查相关信息对原有安全基线核查组件进行更新,以获得更新后的安全基线核查组件,更新后的安全基线核查组件为更新后的组件执行程序的形式。
具体地,本实施例中,在目标中间件或第三方组件进行更新后,对应的安全基线核查相关信息也发生更新,RASP客户端设备获取到更新后的安全基线核查相关信息后,根据更新后的安全基线核查相关信息采用字节码编辑技术在原有目标执行程序中对原有组件执行程序进行编辑和修改,将更新后的目标执行程序替换原有组件执行程序,从而获得更新后的目标执行程序。
步骤802,将更新后的组件执行程序发送至安全基线核查设备,更新后的组件执行程序用于指示对目标执行程序进行更新,并按照更新后的目标执行程序中的更新后的组件执行程序对目标中间件或目标第三方组件进行安全基线核查。
具体地,本实施例中,RASP客户端设备将更新后的组件执行程序发送至安全基线核查设备,由于目标对象对应的更新后的目标执行程序是实时执行以维持目标对象正常运行的,且目标对象对应的更新后的目标执行程序中嵌入有对目标中间件或目标第三方组件进行安全基线核查的组件执行程序,所以在执行目标对象对应的更新后的目标执行程序时,也将执行对目标中间件或目标第三方组件进行安全基线核查的组件执行程序,安全基线核查设备便对目标中间件或目标第三方组件进行安全基线核查,从而可以获得安全基线核查结果。
本实施例提供的安全基线核查方法,还包括:响应于安全基线核查相关信息发生更新,根据更新后的安全基线核查相关信息对原有安全基线核查组件进行更新,以获得更新后的安全基线核查组件,更新后的安全基线核查组件为更新后的组件执行程序的形式;将更新后的组件执行程序发送至安全基线核查设备,更新后的组件执行程序用于指示对目标执行程序进行更新,并按照更新后的目标执行程序中的更新后的组件执行程序对目标中间件或目标第三方组件进行安全基线核查。由于在对目标中间件或目标第三方组件进行安全基线核查时,目标中间件或目标第三方组件的安全基线核查相关信息会不断更新,所以通过安全基线核查设备接收更新后的目标执行程序,采用更新后的目标执行程序对原有目标执行程序进行更新,能够有效满足对更新安全基线核查相关信息后的目标中间件或目标第三方组件进行安全基线核查。
图5为本申请一实施例提供的安全基线核查方法的信令流程图,如图5所示,本实施例的执行主体为安全基线核查装置,则本实施例提供的安全基线核查方法包括以下步骤:
步骤901,RASP客户端设备创建关于目标中间件或第三方组件的核查项。
步骤902,RASP客户端设备获取目标中间件或第三方组件的安全基线核查相关信息。
步骤903,RASP客户端设备根据安全基线核查相关信息及核查项创建与目标中间件或第三方组件适配的安全基线核查组件,安全基线核查组件为组件执行程序的形式。
步骤904,RASP客户端设备将组件执行程序发送至安全基线核查设备。
步骤905,安全基线核查设备在执行目标执行程序的过程中执行到组件执行程序时对目标中间件或目标第三方组件进行安全基线核查,以获得安全基线核查结果。
步骤906,安全基线核查设备将安全基线核查结果发送至RASP客户端设备。
步骤907,RASP客户端设备接收安全基线核查设备发送的安全基线核查结果并将安全基线核查结果发送至RASP云端设备。
步骤908,RASP云端设备对安全基线核查结果进行展示。
本实施例提供的安全基线核查方法的实现方式与上述实施例中对应步骤的实现方式类似,在此不再一一赘述。
本实施例提供的安全基线核查方法,通过RASP客户端设备创建关于目标中间件或第三方组件的核查项;RASP客户端设备获取目标中间件或第三方组件的安全基线核查相关信息;RASP客户端设备根据安全基线核查相关信息及核查项创建与目标中间件或第三方组件适配的安全基线核查组件,安全基线核查组件为组件执行程序的形式;RASP客户端设备将组件执行程序发送至安全基线核查设备;安全基线核查设备在执行目标执行程序的过程中执行到组件执行程序时对目标中间件或目标第三方组件进行安全基线核查,以获得安全基线核查结果;安全基线核查设备将安全基线核查结果发送至RASP客户端设备;RASP客户端设备接收安全基线核查设备发送的安全基线核查结果并将安全基线核查结果发送至RASP云端设备;RASP云端设备对安全基线核查结果进行展示。通过将对目标中间件或目标第三方组件进行安全基线核查的组件执行程序嵌入到目标执行程序中,便可以在目标执行程序执行过程中实时对目标中间件或目标第三方组件进行安全基线核查,能够及时发现存在的安全问题。本方案无需人工核查,提高了安全基线核查效率,同时可以对每个目标中间件或目标第三方组件进行安全基线核查,而不是只能抽样核查,实现了对目标中间件或目标第三方组件的全覆盖安全基线核查,避免了目标中间件或目标第三方组件出现安全问题时核查不到位的现象。
图6为本申请一实施例提供的安全基线核查装置的结构示意图,如图6所示,本实施例的执行主体为安全基线核查装置,该安全基线核查装置位于安全基线核查设备中,则本实施例提供的安全基线核查装置1000包括:获取模块1001,核查模块1002,发送模块1003。
其中,获取模块1001,用于响应于满足目标对象的执行条件,则获取目标对象对应的目标执行程序,目标对象中包括目标中间件或目标第三方组件,目标执行程序中嵌入有对目标中间件或目标第三方组件进行安全基线核查的组件执行程序,组件执行程序与目标中间件或目标第三方组件适配;组件执行程序为从RASP客户端设备获取的;核查模块1002,用于在执行目标执行程序的过程中执行到组件执行程序时对目标中间件或目标第三方组件进行安全基线核查,以获得安全基线核查结果;发送模块1003,用于将安全基线核查结果发送至运行时应用程序自我保护技术RASP客户端设备,以使RASP客户端设备将安全基线核查结果发送至RASP云端设备,以对安全基线核查结果进行展示。
本实施例提供的安全基线核查装置可以执行图2所示的方法实施例,具体的实现原理和技术效果类似,此处不再赘述。
可选地,本实施例提供的安全基线核查装置,还包括:加载模块,嵌入模块。
其中,获取模块1001,还用于从RASP客户端设备获取与目标中间件或目标第三方组件适配的安全基线核查组件,安全基线核查组件为组件执行程序的形式;加载模块,用于将安全基线核查组件加载到虚拟机中;嵌入模块,用于将安全基线核查组件以组件执行程序的形式嵌入到原始执行程序中,以获得目标执行程序。
可选地,嵌入模块将安全基线核查组件以组件执行程序的形式嵌入到原始执行程序中,以获得目标执行程序时,具体用于:采用字节码编辑技术编辑原始执行程序,并在编辑原始执行程序过程中将安全基线核查组件以组件执行程序加入到原始执行程序对目标中间件或第三方组件核查的对应位置,以获得目标执行程序。
可选地,若目标对象为软件应用或微服务,则目标对象中包括目标中间件;若目标对象为数据库,则目标对象中包括第三方组件;安全核查包括:配置不当核查、弱密码核查。
可选地,本实施例提供的安全基线核查装置,还包括:接收模块,更新模块。
其中,接收模块,用于接收RASP客户端设备发送的更新后的组件执行程序,更新后的组件执行程序为更新后的安全基线核查组件的执行程序,更新后的安全基线核查组件是RASP客户端设备基于更新后的安全基线核查相关信息对原有安全基线核查组件进行更新获得的;更新模块,用于采用更新后的组件执行程序对目标执行程序进行更新,获得更新后的目标执行程序;核查模块1002,还用于在执行更新后的目标执行程序的过程中执行到更新后的组件执行程序时对更新的目标中间件或更新的目标第三方组件进行安全基线核查,以获得安全基线核查结果。
本实施例提供的安全基线核查装置,可以执行以位于安全基线核查设备中的装置为执行主体的上述任意一个方法实施例,具体的实现原理和技术效果类似,此处不再赘述。
图7为本申请一实施例提供的安全基线核查装置的结构示意图,如图7所示,本实施例的执行主体为安全基线核查装置,该安全基线核查装置位于RASP客户端设备中,则本实施例提供的安全基线核查装置1100包括:创建模块1101,获取模块1102,发送模块1103,接收模块1104。
其中,创建模块1101,用于创建关于目标中间件或第三方组件的核查项;获取模块1102,用于获取目标中间件或第三方组件的安全基线核查相关信息;创建模块1101,还用于根据安全基线核查相关信息及核查项创建与目标中间件或第三方组件适配的安全基线核查组件,安全基线核查组件为组件执行程序的形式;发送模块1103,用于将组件执行程序发送至安全基线核查设备,组件执行程序用于指示安全基线核查设备确定目标对象对应的目标执行程序,目标执行程序用于在执行到组件执行程序时对目标中间件或目标第三方组件进行安全基线核查,以获得安全基线核查结果;接收模块1104,用于接收安全基线核查设备发送的安全基线核查结果并将安全基线核查结果发送至RASP云端设备,以使RASP云端设备对安全基线核查结果进行展示。
本实施例提供的安全基线核查装置可以执行图4所示的方法实施例,具体的实现原理和技术效果类似,此处不再赘述。
可选地,获取模块1102获取目标中间件或第三方组件的安全基线核查相关信息时,具体用于:采用钩子函数从目标中间件或第三方组件的底层关键函数中采集安全基线核查相关信息,安全基线核查相关信息包括版本信息、配置信息及用户账户及密码信息。
可选地,发送模块1103,还用于将目标中间件或第三方组件的版本信息发送至RASP云端设备,版本信息用于指示RASP云端设备基于版本信息及预设的漏洞版本区间对目标中间件或第三方组件进行漏洞核查,并获得漏洞核查结果。
可选地,本实施例提供的安全基线核查装置,还包括:更新模块。
其中,更新模块,用于响应于安全基线核查相关信息发生更新,根据更新后的安全基线核查相关信息对原有安全基线核查组件进行更新,以获得更新后的安全基线核查组件,更新后的安全基线核查组件为更新后的组件执行程序的形式;发送模块1103,还用于将更新后的组件执行程序发送至安全基线核查设备,更新后的组件执行程序用于指示对目标执行程序进行更新,并按照更新后的目标执行程序中的更新后的组件执行程序对目标中间件或目标第三方组件进行安全基线核查。
本实施例提供的安全基线核查装置,可以执行以位于RASP客户端设备中的装置为执行主体的上述任意一个方法实施例,具体的实现原理和技术效果类似,此处不再赘述。
图8为本申请一实施例提供的安全基线核查设备的结构示意图,如图8所示,本实施例提供的安全基线核查设备1200包括:处理器1201,以及与处理其通信连接的存储器1202及收发器1203。
其中,存储器1202,用于存储计算机执行指令;收发器1203,用于收发数据。处理器1201,用于执行存储器存储的计算机执行指令,以实现以位于安全基线核查设备中的装置为执行主体的上述任意一个实施例提供的安全基线核查方法。
其中,程序可以包括程序代码,程序代码包括计算机执行指令。存储器1202可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
其中,本实施例中,存储器1202和处理器1201通过总线连接。总线可以是工业标准体系结构(Industry Standard Architecture,简称为ISA)总线、外部设备互连(Peripheral Component Interconnect,简称为PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,简称为EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
图9为本申请一实施例提供的RASP客户端设备的结构示意图,如图9所示,本实施例提供的安全基线核查设备1300包括:处理器1301,以及与处理其通信连接的存储器1302及收发器1303。
其中,存储器1302,用于存储计算机执行指令;收发器1303,用于收发数据。处理器1301,用于执行存储器存储的计算机执行指令,以实现以位于PASP客户端设备中的装置为执行主体的上述任意一个实施例提供的安全基线核查方法。
其中,程序可以包括程序代码,程序代码包括计算机执行指令。存储器1302可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
其中,本实施例中,存储器1302和处理器1301通过总线连接。总线可以是工业标准体系结构(Industry Standard Architecture,简称为ISA)总线、外部设备互连(Peripheral Component Interconnect,简称为PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,简称为EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,计算机执行指令被处理器执行时用于实现上述任意一个实施例提供的安全基线核查方法。例如,计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本申请实施例还提供一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现上述任意一个实施例提供的安全基线核查方法。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本申请所必须的。
进一步需要说明的是,虽然流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
应该理解,上述的装置实施例仅是示意性的,本申请的装置还可通过其它的方式实现。例如,上述实施例中单元/模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如,多个单元、模块或组件可以结合,或者可以集成到另一个系统,或一些特征可以忽略或不执行。
另外,若无特别说明,在本申请各个实施例中的各功能单元/模块可以集成在一个单元/模块中,也可以是各个单元/模块单独物理存在,也可以两个或两个以上单元/模块集成在一起。上述集成的单元/模块既可以采用硬件的形式实现,也可以采用软件程序模块的形式实现。
集成的单元/模块如果以硬件的形式实现时,该硬件可以是数字电路,模拟电路等等。硬件结构的物理实现包括但不局限于晶体管,忆阻器等等。若无特别说明,处理器可以是任何适当的硬件处理器,比如CPU、GPU、FPGA、DSP和ASIC等等。若无特别说明,存储单元可以是任何适当的磁存储介质或者磁光存储介质,比如,阻变式存储器RRAM(ResistiveRandom Access Memory)、动态随机存取存储器DRAM(Dynamic Random Access Memory)、静态随机存取存储器SRAM(Static Random-Access Memory)、增强动态随机存取存储器EDRAM(Enhanced Dynamic Random Access Memory)、高带宽内存HBM(High-Bandwidth Memory)、混合存储立方HMC(Hybrid Memory Cube)等等。
集成的单元/模块如果以软件程序模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。上述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求书指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求书来限制。
Claims (14)
1.一种安全基线核查方法,其特征在于,所述方法应用于安全基线核查设备,所述方法包括:
响应于满足目标对象的执行条件,则获取目标对象对应的目标执行程序,所述目标对象中包括目标中间件或目标第三方组件,所述目标执行程序中嵌入有对目标中间件或目标第三方组件进行安全基线核查的组件执行程序,所述组件执行程序与所述目标中间件或目标第三方组件适配;所述组件执行程序为从RASP客户端设备获取的;
在执行所述目标执行程序的过程中执行到组件执行程序时对所述目标中间件或目标第三方组件进行安全基线核查,以获得安全基线核查结果;
将所述安全基线核查结果发送至运行时应用程序自我保护技术RASP客户端设备,以使所述RASP客户端设备将所述安全基线核查结果发送至RASP云端设备,以对所述安全基线核查结果进行展示。
2.根据权利要求1所述的方法,其特征在于,所述获取目标对象对应的目标执行程序之前,还包括:
从RASP客户端设备获取与目标中间件或目标第三方组件适配的安全基线核查组件,所述安全基线核查组件为所述组件执行程序的形式;
将所述安全基线核查组件加载到虚拟机中;
将所述目标对象的原始执行程序加载到所述虚拟机中;
将所述安全基线核查组件以组件执行程序的形式嵌入到所述原始执行程序中,以获得所述目标执行程序。
3.根据权利要求2所述的方法,其特征在于,所述将所述安全基线核查组件以组件执行程序的形式嵌入到所述原始执行程序中,以获得所述目标执行程序,包括:
采用字节码编辑技术编辑所述原始执行程序,并在编辑所述原始执行程序过程中将所述安全基线核查组件以所述组件执行程序加入到原始执行程序对目标中间件或第三方组件核查的对应位置,以获得目标执行程序。
4.根据权利要求1-3任一项所述的方法,其特征在于,若所述目标对象为软件应用或微服务,则所述目标对象中包括目标中间件;
若所述目标对象为数据库,则所述目标对象中包括第三方组件;
所述安全核查包括:配置不当核查、弱密码核查。
5.根据权利要求1-3任一项所述的方法,其特征在于,还包括:
接收RASP客户端设备发送的更新后的组件执行程序,所述更新后的组件执行程序为更新后的安全基线核查组件的执行程序,所述更新后的安全基线核查组件是所述RASP客户端设备基于更新后的安全基线核查相关信息对原有安全基线核查组件进行更新获得的;
采用更新后的组件执行程序对目标执行程序进行更新,获得更新后的目标执行程序;
在执行所述更新后的目标执行程序的过程中执行到更新后的组件执行程序时对更新的目标中间件或更新的目标第三方组件进行安全基线核查,以获得安全基线核查结果。
6.一种安全基线核查方法,其特征在于,所述方法应用于RASP客户端设备,所述方法包括:
创建关于目标中间件或第三方组件的核查项;
获取目标中间件或第三方组件的安全基线核查相关信息;
根据所述安全基线核查相关信息及所述核查项创建与所述目标中间件或第三方组件适配的安全基线核查组件,所述安全基线核查组件为组件执行程序的形式;
将所述组件执行程序发送至安全基线核查设备,所述组件执行程序用于指示所述安全基线核查设备确定目标对象对应的目标执行程序,所述目标执行程序用于在执行到组件执行程序时对所述目标中间件或目标第三方组件进行安全基线核查,以获得安全基线核查结果;
接收所述安全基线核查设备发送的所述安全基线核查结果并将所述安全基线核查结果发送至RASP云端设备,以使所述RASP云端设备对所述安全基线核查结果进行展示。
7.根据权利要求6所述的方法,其特征在于,所述获取目标中间件或第三方组件的安全基线核查相关信息,包括:
采用钩子函数从所述目标中间件或第三方组件的底层关键函数中采集所述安全基线核查相关信息,所述安全基线核查相关信息包括版本信息、配置信息及用户账户及密码信息。
8.根据权利要求7所述的方法,其特征在于,还包括:
将目标中间件或第三方组件的所述版本信息发送至RASP云端设备,所述版本信息用于指示RASP云端设备基于所述版本信息及预设的漏洞版本区间对所述目标中间件或第三方组件进行漏洞核查,并获得漏洞核查结果。
9.根据权利要求7所述的方法,其特征在于,还包括:
响应于所述安全基线核查相关信息发生更新,根据更新后的安全基线核查相关信息对原有安全基线核查组件进行更新,以获得更新后的安全基线核查组件,所述更新后的安全基线核查组件为更新后的组件执行程序的形式;
将所述更新后的组件执行程序发送至安全基线核查设备,所述更新后的组件执行程序用于指示对目标执行程序进行更新,并按照更新后的目标执行程序中的更新后的组件执行程序对所述目标中间件或目标第三方组件进行安全基线核查。
10.一种安全基线核查装置,其特征在于,所述装置位于安全基线核查设备中,所述装置包括:
获取模块,用于响应于满足目标对象的执行条件,则获取目标对象对应的目标执行程序,所述目标对象中包括目标中间件或目标第三方组件,所述目标执行程序中嵌入有对目标中间件或目标第三方组件进行安全基线核查的组件执行程序,所述组件执行程序与所述目标中间件或目标第三方组件适配;所述组件执行程序为从RASP客户端设备获取的;
核查模块,用于在执行所述目标执行程序的过程中执行到组件执行程序时对所述目标中间件或目标第三方组件进行安全基线核查,以获得安全基线核查结果;
发送模块,用于将所述安全基线核查结果发送至运行时应用程序自我保护技术RASP客户端设备,以使所述RASP客户端设备将所述安全基线核查结果发送至RASP云端设备,以对所述安全基线核查结果进行展示。
11.一种安全基线核查装置,其特征在于,所述装置位于RASP客户端设备中,所述装置包括:
创建模块,用于创建关于目标中间件或第三方组件的核查项;
获取模块,用于获取目标中间件或第三方组件的安全基线核查相关信息;
所述创建模块,还用于根据所述安全基线核查相关信息及所述核查项创建与所述目标中间件或第三方组件适配的安全基线核查组件,所述安全基线核查组件为组件执行程序的形式;
发送模块,用于将所述组件执行程序发送至安全基线核查设备,所述组件执行程序用于指示所述安全基线核查设备确定目标对象对应的目标执行程序,所述目标执行程序用于在执行到组件执行程序时对所述目标中间件或目标第三方组件进行安全基线核查,以获得安全基线核查结果;
接收模块,用于接收所述安全基线核查设备发送的所述安全基线核查结果并将所述安全基线核查结果发送至RASP云端设备,以使所述RASP云端设备对所述安全基线核查结果进行展示。
12.一种安全基线核查设备,其特征在于,包括:处理器,以及与所述处理器通信连接的存储器及收发器;
所述存储器存储计算机执行指令;所述收发器,用于收发数据;
所述处理器执行所述存储器存储的计算机执行指令,以实现如权利要求1至5任一项所述的方法。
13.一种RASP客户端设备,其特征在于,包括:处理器,以及与所述处理器通信连接的存储器及收发器;
所述存储器存储计算机执行指令;所述收发器,用于收发数据;
所述处理器执行所述存储器存储的计算机执行指令,以实现如权利要求6至9任一项所述的方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1至9任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410068751.0A CN118153034A (zh) | 2024-01-17 | 2024-01-17 | 安全基线核查方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410068751.0A CN118153034A (zh) | 2024-01-17 | 2024-01-17 | 安全基线核查方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118153034A true CN118153034A (zh) | 2024-06-07 |
Family
ID=91292606
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410068751.0A Pending CN118153034A (zh) | 2024-01-17 | 2024-01-17 | 安全基线核查方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118153034A (zh) |
-
2024
- 2024-01-17 CN CN202410068751.0A patent/CN118153034A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3528149B1 (en) | Software repackaging prevention method and device | |
US9892263B2 (en) | System, method and apparatus to visually configure an analysis of a program | |
EP3044901B1 (en) | Keying infrastructure | |
Martini et al. | Conceptual evidence collection and analysis methodology for Android devices | |
CN106843978B (zh) | 一种sdk接入方法及系统 | |
CN108229148B (zh) | 一种基于Android虚拟机的沙箱脱壳方法及系统 | |
CN110555293A (zh) | 用于保护数据的方法、装置、电子设备和计算机可读介质 | |
CN108229107B (zh) | 一种Android平台应用程序的脱壳方法及容器 | |
CN109255235B (zh) | 基于用户态沙箱的移动应用第三方库隔离方法 | |
CN112231702B (zh) | 应用保护方法、装置、设备及介质 | |
US11436131B2 (en) | Systems and methods for software testing using a disposable code | |
CN111400757B (zh) | 防止安卓第三方库中native代码泄露用户隐私的方法 | |
US10063533B2 (en) | Protecting a web server against an unauthorized client application | |
KR20160020294A (ko) | 클라우드 기반의 애플리케이션 보안 서비스 제공 방법 및 시스템 | |
CN113268684A (zh) | 数据处理方法、装置、终端设备以及存储介质 | |
US20170185784A1 (en) | Point-wise protection of application using runtime agent | |
CN114329367B (zh) | 网盘文件追溯方法、装置、网盘及存储介质 | |
CN113946873B (zh) | 离盘文件追溯方法、装置、终端及存储介质 | |
CN108985096B (zh) | 一种Android SQLite数据库安全增强、安全操作方法以及装置 | |
CN111221721A (zh) | 一种单元测试案例自动化录制和执行方法及装置 | |
CN108304158B (zh) | 一种动态库的代理方法及设备 | |
CN118153034A (zh) | 安全基线核查方法、装置、设备及存储介质 | |
CN115774742A (zh) | 私有云的数据存储新增方法、装置、设备、介质及产品 | |
CN113886894A (zh) | 数字签名方法和数字签名设备 | |
CN113114681A (zh) | 测试报文处理方法、装置、计算机系统及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination |