获取有效注册表键值名的方法以及装置与流程

文档序号:16630132发布日期:2019-01-16 06:29阅读:186来源:国知局
获取有效注册表键值名的方法以及装置与流程

本申请涉及计算机技术领域,尤其涉及获取有效注册表键值名的方法以及装置。



背景技术:

安全基线是为了满足微软安全体系的安全规范要求,用于检查微软系统中各安全配置参数是否达到标准的一种系统检查,安全基线也具备修复系统的功能。安全基线以知识库的形式存在,安全基线知识库通常包括有多条项目,这些项目也可称为文件,换个说法,安全基线知识库安全存储了检查、修复微软系统的方法的一组文件。在微软官方安全基线中存在大量的活动目录管理语言(activedirectorymanagementlanguage,adml)型安全基线项目在检查adml型安全基线是否满足安全体系的安全规范要求时,通常主机是将adml型安全基线项目中的可扩展标记语言(extensiblemarkuplanguage,xml)数据加载到内存中,然后通过微软官方开发的安全基线检查程序对adml型安全基线项目进行检查,检查的方法是从adml型安全基线项目中的xml数据获取有效名的属性内容,将该有效名的属性内容作为有效注册表键值名,主机通过有效注册表键值名就能够对adml型安全基线项目进行检查,判断安全基线是否满足微软安全体系的安全规范要求。安全基线检查程序在读取作为检查使用的有效键值名的同时还会读取常用设置项的数据。

然而,在这些adml型安全基线项目中还存在着很多常用设置项,这些常用设置项是指使用频率较高的基线项目,例如一条名为“最大日志大小”的基线项目。由于安全基线知识库中的文件(即项目)一般为微软系统本身及微软公司撰写的微软附属软件使用,因此这些安全基线知识库中的常用设置项(即常用设置文件)的可扩展标记语言(extensiblemarkuplanguage,xml)数据结构异常复杂,通过微软官方开发的安全基线检查程序读取adml型安全基线项目中的xml数据时,会因同时读取常用设置项的数据而导致消耗大量的系统资源,主机运行速度缓慢。



技术实现要素:

本申请实施例提供了一种获取有效注册表键值名的方法以及装置,能够针对adml型安全基线项目预先设定读取有效注册表键值名的方法,加快了读取有效注册表键值名的速度。

本申请实施例提供了一种获取有效注册表键值名的方法,所述有效注册表键值名存储在adml型安全基线项目中,包括:

主机将所述adml型安全基线项目中的xml的数据加载到内存中;

所述主机判断在所述xml数据的策略(policy)节点是否存在第一有效名(valuename)的属性内容,所述策略节点用于描述授权的具体内容;

若是,则所述主机读取所述第一有效名的属性内容;

所述主机确定所述第一有效名的属性内容为所述有效注册表键值名。

可选地,在所述主机判断在所述xml数据的策略节点是否存在第一有效名的属性内容之后,所述方法还包括:

若否,则所述主机读取所述策略节点的第一下层节点;

所述主机判断所述第一下层节点中是否存在元素(elements)节点,所述元素节点用于描述元素状态的相关属性;

若是,则所述主机读取所述元素节点的第二下层节点;

所述主机判断所述第二下层节点中是否存在文本(text)节点,所述文本节点用于在网页上显示文字内容;

若否,则所述主机读取所述第二下层节点中的第二有效名的属性内容;

所述主机确定所述第二有效名的属性内容为所述有效注册表键值名。

可选地,在所述主机判断所述第二下层节点中是否存在文本节点之后,所述方法还包括:

若是,则所述主机判断所述文本节点中是否存在第三有效名的字段;

若是,则所述主机读取所述第三有效名的属性内容;

所述主机确定所述第三有效名的属性内容为所述有效注册表键值名。

可选地,在所述主机判断所述文本节点中是否存在第三有效名的字段之后,所述方法还包括:

若否,则所述主机将所述第三有效名的属性内容赋值为空值;

所述主机确定所述空值为所述有效注册表键值名。

本申请实施例提供了一种获取有效注册表键值名的装置,所述有效注册表键值名存储在adml型安全基线项目中,包括:

加载单元,用于将所述adml型安全基线项目中的xml的数据加载到内存中;

第一判断单元,用于判断在所述xml数据的策略节点是否存在第一有效名的属性内容,所述策略节点用于描述授权的具体内容;

第一读取单元,用于当确定在所述xml数据的策略节点存在所述第一有效名的属性内容时,读取所述第一有效名的属性内容;

第一确定单元,用于确定所述第一有效名的属性内容为所述有效注册表键值名。

所述获取有效注册表键值名的装置还包括:

第二读取单元,用于当确定在所述xml数据的策略节点不存在第一有效名的属性内容时,读取所述策略节点的第一下层节点;

第二判断单元,用于判断所述第一下层节点中是否存在元素节点,所述元素节点用于描述元素状态的相关属性;

第三读取单元,用于当确定所述第一下层节点中存在元素节点时,读取所述元素节点的第二下层节点;

第三判断单元,用于判断所述第二下层节点中是否存在文本节点,所述文本节点用于在网页上显示文字内容;

第四读取单元,用于当确定所述第二下层节点中存在文本节点时,读取所述第二下层节点中的第二有效名的属性内容;

第二确定单元,用于确定所述第二有效名的属性内容为所述有效注册表键值名;

第四判断单元,用于当确定所述第二下层节点中存在文本节点时,判断所述文本节点中是否存在第三有效名的字段;

第五读取单元,用于当确定文本节点中存在第三有效名的字段时,读取所述第三有效名的属性内容;

第三确定单元,用于确定所述第三有效名的属性内容为所述有效注册表键值名;

赋值单元,用于当确定所述文本节点中不存在第三有效名的字段时,将所述第三有效名的属性内容赋值为空值;

第四确定单元,用于确定所述空值为所述有效注册表键值名。

本申请实施例提供了一种获取有效注册表键值名的装置,该装置具有实现上述获取有效注册表键值名的方法中获取有效注册表键值名的装置行为的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。

本申请实施例提供了一种计算机存储介质,该计算机存储介质用于储存上述获取有效注册表键值名的装置所用的计算机软件指令,其包括用于执行为获取有效注册表键值名的装置所设计的程序。

本申请实施例提供了一种计算机程序产品,该计算机程序产品包括计算机软件指令,该计算机软件指令可通过处理器进行加载来实现上述获取有效注册表键值名的方法的流程。

从以上技术方案可以看出,本申请实施例具有以下优点:主机在将adml型安全基线项目中的可扩展标记语言xml的数据加载到内存中之后,如果主机确定在xml数据的策略节点存在第一有效名的属性内容,则主机读取该第一有效名的属性内容,并确定该第一有效名的属性内容为有效注册表键值名,这样主机就可以使用有效注册表键值名检查adml型安全基线是否满足微软安全体系的安全规范要求,由上述内容可知,主机在撰写非微软官方开发的安全基线检查程序检查软件时,能够针对微软官方的安全基线知识库中的adml知识库项目设置上述获取有效注册表键值名的步骤方法,通过上述步骤方法,从而能够加快读取所需的关键数据,即有效注册表键值名。

附图说明

图1为本申请实施例中获取有效注册表键值名的方法的一个实施例示意图;

图2为本申请实施例中获取有效注册表键值名的方法的另一个实施例示意图;

图3为本申请实施例中获取有效注册表键值名的装置的一个实施例示意图;

图4为本申请实施例中获取有效注册表键值名的装置的另一个实施例示意图。

具体实施方式

本申请实施例提供了获取有效注册表键值名的方法以及装置,用于针对adml型安全基线项目预先设定读取有效注册表键值名的方法,加快了读取有效注册表键值名的速度。

请参阅图1,图1为本申请实施例中获取有效注册表键值名的方法的一个实施例示意图,本申请实施例中获取有效注册表键值名的方法的一个实施例包括:

101、主机将adml型安全基线项目中的xml的数据加载到内存中;

本实施例中,主机在撰写非微软官方开发的安全基线检查程序检查软件时,为了快速提取adml型安全基线项目中的有效注册表键值名,主机首先可以将一条adml型安全基线项目的xml数据加载到内存中。

102、主机判断在xml数据的策略节点是否存在第一有效名的属性内容;

本实施例中,主机在读取到adml型安全基线项目中的xml的数据之后,可以判断在xml数据的策略(policy)节点是否存在第一有效名(valuename)的属性内容。需要说明的是,每一条adml型安全基线项目的xml数据由多层数据构成,每一层数据所实现的功能各不相同,而策略节点用于描述授权的具体内容。

若是,则执行步骤103。

103、主机读取第一有效名的属性内容;

本实施例中,当主机确定了在xml数据的策略节点存在第一有效名的属性内容时,则读取第一有效名的属性内容。

104、主机确定第一有效名的属性内容为有效注册表键值名。

本实施例中,主机在读取到第一有效名的属性内容之后,确定该第一有效名的属性内容为有效注册表键值名。

需要说明的是,本申请实施例是针对单一条目的adml型安全基线项目进行xml数据的读取,如果需要批量处置adml型安全基线项目,则可以循环执行本实施例中的步骤101至104,以获取有效注册表键值名,该有效注册表键值名就是主机需要调取出来的关键数据。

在本申请实施例中,主机在读取adml型安全基线项目中的xml的数据之后,如果主机确定在xml数据的策略节点存在第一有效名的属性内容,则主机读取该第一有效名的属性内容,并确定该第一有效名的属性内容为有效注册表键值名,这样主机在撰写非微软官方开发的安全基线检查软件时,就能够针对微软官方的安全基线知识库中的adml知识库项目定制读取有效注册表键值名的方法,从而加快读取所需的关键数据,即有效注册表键值名。

以上对本申请实施例中获取有效注册表键值名的方法的一个实施例进行了详细描述,以下参照图2,图2为本申请实施例中获取有效注册表键值名的方法的另一个实施例,本申请实施例中获取有效注册表键值名的方法的另一个实施例包括:

201、主机将adml型安全基线项目中的xml的数据加载到内存中;

202、主机判断在xml数据的策略节点是否存在第一有效名的属性内容;

若是,则执行步骤203;若否,则执行步骤206。

203、主机读取第一有效名的属性内容;

204、主机确定第一有效名的属性内容为有效注册表键值名;

205、主机读取策略节点的第一下层节点;

本实施例中,当主机确定在xml数据的策略节点不存在第一有效名的属性内容之后,主机可以读取策略节点的下层节点,本实施例中将该下层节点称之为第一下层节点。

206、主机判断第一下层节点中是否存在元素节点;

本实施例中,主机可以判断在策略节点的第一下层节点中是否存在元素(elements)节点,该元素节点用于描述元素状态的相关属性。

若否,则执行步骤207;若是,则执行步骤208。

207、主机确定读取有效注册表键值名失败;

208、主机读取元素节点的第二下层节点;

本实施例中,当主机确定第一下层节点存在元素节点时,主机读取元素节点的下层节点,本实施例中将元素节点的下层节点称之为第二下层节点。

209、主机判断第二下层节点中是否存在文本(text)节点;

本实施例中,主机读取元素节点的第二下层节点时,可以判断第二下层节点中是否存在文本节点,该文本节点用于在网页上显示文字内容。

若否,则执行步骤210;若是,则执行步骤212。

210、主机读取第二下层节点中的第二有效名的属性内容;

本实施例中,当主机确定在元素节点的第二下层节点中不存在文本节点时,主机可以读取第二下层节点中的有效名的属性内容,本实施例中将第二下层节点中的有效名的属性内容称之为第二有效名的属性内容。

211、主机确定第二有效名的属性内容为有效注册表键值名;

本实施例中,主机在读取第二下层节点中的第二有效名的属性内容之后,可以确定该第二有效名的属性内容为有效注册表键值名。

212、主机判断文本节点中是否存在第三有效名的字段;

本实施例中,主机在确定第二有效名的属性内容为有效注册表键值名之后,可以判断文本节点中是否存在有效名的字段,本实施例中将文本节点中的有效名称之为第三有效名。也就是说,主机可以判断文本节点中是否存在第三有效名的字段。

若是,则执行步骤213;若否,则执行步骤214。

213、主机确定第三有效名的属性内容为有效注册表键值名;

本实施例中,当主机确定文本节点中存在第三有效名的字段时,主机可以确定第三有效名的属性内容为有效注册表键值名。

214、主机将第三有效名的属性内容赋值为空值;

本实施例中,当主机确定文本节点中不存在第三有效名的字段时,主机则可以将第三有效名的属性内容赋值为空值。

215、主机确定空值为有效注册表键值名。

本实施例中,主机在将第三有效名的属性内容赋值为空值之后,可以确定空值为有效注册表键值名。

在本申请实施例中,主机在将adml型安全基线项目中的xml的数据加载到内存中之后,主机可以在xml的数据中尝试获取有效名的属性内容,主机将获取到的有效名的属性内容确定为有效注册表键值名,这样主机在撰写非微软官方开发的安全基线检查程序检查软件时,就能够针对微软官方的安全基线知识库中的adml知识库项目设置上述获取有效注册表键值名的步骤方法,通过上述步骤方法,从而能够节省大量的时间只获取有效注册表键值名的数据,而无需获取有效注册表键值名之外的冗余数据,加快了获取作为检查软件关键数据的有效注册表键值名的速度,提高了安全基线检查程序检查软件和主机运行的效率。

以上对本申请实施例中获取有效注册表键值名的方法的另一个实施例进行了详细描述,为便于读者理解,以下用一个具体的应用场景下的实施例加以说明。

参照以下文本1,文本1中描述的是本申请实施例的adml型安全基线项目的数据结构。

文本1

文本1中的各个英文单词的翻译如下,policyname为策略节点名,example为例子,key为主键,software为软件,microsoft为微软,windows为视窗,terminalservices为终端服务,admx的意思是命名空间的名字(没有实际的含义),supported为被支持的,enum为枚举,unsupported为不被支持的,elements为元素,valuename为有效值名,minencryptionlevel没有特殊的含义,是一个注册表的键值名,item为项目,displayname为显示名,string.addaddoofle84c428e3a31453e977b33为一串字符串,decimal为十进制,string.3f1bae5744b4428c992fe4812eb974f8为一串字符串。

本实施例中,参照文本1,主机通过安全基线检查程序为了检查该adml型安全基线项目是否满足微软安全体系的安全规范要求,主机只需获取到文本1中第6行中“valuename="minencryptionlevel”部分的有效名的属性内容即可,主机将有效名的属性内容作为有效注册表键值名,就能够检查该条adml型安全基线是否达到微软安全体系的安全规范要求。

按照图2所示的实施例中的操作步骤,主机将一条adml型安全基线项目中的xml数据加载到内存中之后,主机判断在xml数据的策略(policy)节点是否存在有效名(valuename)的属性内容。由以上文本1可知,策略节点不存在有效名的属性内容,于是主机接着读取策略节点的下层节点,主机判断在策略节点的下层节点中是否存在元素(elements)节点,由文本1可知,策略节点的下层节点存在元素节点,接着主机读取元素节点的下层节点,主机判断在元素节点的下层节点中是否存在文本(text)节点,由文本1可知,元素节点的下层节点不存在文本节点,而是枚举(enum)节点,由于枚举节点是常规节点,而在常规节点中都存在有效名的属性内容,因此主机可以直接从枚举节点中获取有效名(valuename)的属性内容“minencryptionlevel”。需要说明的是,除了枚举节点是常规节点之外,十进制(decimal)节点、项目(item)节点也都是常规节点,只要是常规节点,其中都存在有效名的属性内容。到此,主机已获取到该条adml型安全基线项目中的xml数据中的有效名的属性内容,其他的除该有效名的属性内容之外的数据都是冗余数据,无需主机耗费时间对这些冗余数据进行读取。主机将该有效名的属性内容作为有效注册表键值名,这样主机就找到了该条adml型安全基线项目中的xml数据的关键数据。

通过这种获取有效注册表键值名的方法,主机能够只获取有效名的属性内容,将其作为有效注册表键值名,而无需去读取xml数据中的其他数据,从而使主机加快了获取作为检查软件关键数据的有效注册表键值名的速度,提高了安全基线检查程序检查软件和主机运行的效率。

上面对本申请实施例中的获取有效注册表键值名的方法进行了描述,下面对本申请实施例中的获取有效注册表键值名的装置进行描述。请参阅图3,图3为本申请实施例中获取有效注册表键值名的装置的一个实施例。

本申请实施例中获取有效注册表键值名的装置的一个实施例包括:

加载单元301,用于将adml型安全基线项目中的xml的数据加载到内存中;

第一判断单元302,用于判断在xml数据的策略节点是否存在第一有效名的属性内容,该策略节点用于描述授权的具体内容;

第一读取单元303,用于当确定在xml数据的策略节点存在第一有效名的属性内容时,读取第一有效名的属性内容;

第一确定单元304,用于确定第一有效名的属性内容为有效注册表键值名。

获取有效注册表键值名的装置还包括:

第二读取单元305,用于当确定在xml数据的策略节点不存在第一有效名的属性内容时,读取策略节点的第一下层节点;

第二判断单元306,用于判断第一下层节点中是否存在元素节点,该元素节点用于描述元素状态的相关属性;

第三读取单元307,用于当确定第一下层节点中存在元素节点时,读取元素节点的第二下层节点;

第三判断单元308,用于判断第二下层节点中是否存在文本节点,文本节点用于在网页上显示文字内容;

第四读取单元309,用于当确定第二下层节点中存在文本节点时,读取第二下层节点中的第二有效名的属性内容;

第二确定单元310,用于确定第二有效名的属性内容为有效注册表键值名;

第四判断单元311,用于当确定第二下层节点中存在文本节点时,判断文本节点中是否存在第三有效名的字段;

第五读取单元312,用于当确定文本节点中存在第三有效名的字段时,读取第三有效名的属性内容;

第三确定单元313,用于确定第三有效名的属性内容为有效注册表键值名;

赋值单元314,用于当确定文本节点中不存在第三有效名的字段时,将第三有效名的属性内容赋值为空值;

第四确定单元315,用于确定空值为有效注册表键值名。

在本申请实施例中,加载单元301在将adml型安全基线项目中的xml的数据加载到内存中之后,通过读取单元、判断单元在xml数据中判断是否存在有效名的属性内容,如果存在,则与判断单元对应的确定单元将有效名的属性内容确定为有效注册表键值名,这样获取有效注册表键值名的装置就能够节省大量的时间只获取有效注册表键值名的数据,而无需去读取xml数据中的其他数据,加快了获取作为检查软件关键数据的有效注册表键值名的速度,提高了安全基线检查程序检查软件和主机运行的效率。

请参阅图4,本申请实施例中获取有效注册表键值名的装置的另一个实施例包括:

该获取有效注册表键值名的装置400可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(centralprocessingunits,cpu)401(例如,一个或一个以上处理器)和存储器405,该存储器405中存储有一个或一个以上的应用程序或数据。

其中,存储器405可以是易失性存储或持久存储。存储在存储器405的程序可以包括一个或一个以上模块,每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器401可以设置为与存储器405通信,在获取有效注册表键值名的装置400上执行存储器405中的一系列指令操作。

有效注册表键值名的装置400还可以包括一个或一个以上电源402,一个或一个以上有线或无线网络接口403,一个或一个以上输入输出接口404,和/或,一个或一个以上操作系统,例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm等等。

本申请实施例中获取有效注册表键值名的装置400中的中央处理器所执行的流程与前述图1和图2所示的实施例中描述的方法流程类似,此处不再中赘述。

本申请实施例的有益效果是中央处理器401在将adml型安全基线项目中的xml的数据加载到内存中之后,通过在xml数据中读取到的有效名的属性内容,从而将有效名的属性内容确定为有效注册表键值名,这样获取有效注册表键值名的装置就能够节省大量的时间只获取有效注册表键值名的数据,而无需去读取xml数据中的其他数据,加快了获取作为检查软件关键数据的有效注册表键值名的速度,提高了安全基线检查程序检查软件和主机运行的效率。

本申请实施例还提供一种计算机存储介质,该计算机存储介质用于储存为前述获取有效注册表键值名的装置所用的计算机软件指令,其包括用于执行为获取有效注册表键值名所设计的程序。

本申请实施例还提供一种计算机程序产品,该计算机程序产品包括计算机软件指令,该计算机软件指令可通过处理器进行加载来实现前述图1和图2所示的实施例中的方法流程。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

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

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

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

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1