CN110109774B - 一种通过SCM知识库生成Secedit可识别的INF文件的方法与系统 - Google Patents

一种通过SCM知识库生成Secedit可识别的INF文件的方法与系统 Download PDF

Info

Publication number
CN110109774B
CN110109774B CN201910317123.0A CN201910317123A CN110109774B CN 110109774 B CN110109774 B CN 110109774B CN 201910317123 A CN201910317123 A CN 201910317123A CN 110109774 B CN110109774 B CN 110109774B
Authority
CN
China
Prior art keywords
inf
attribute
splicing
scm
content
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
Application number
CN201910317123.0A
Other languages
English (en)
Other versions
CN110109774A (zh
Inventor
王唯融
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN201910317123.0A priority Critical patent/CN110109774B/zh
Publication of CN110109774A publication Critical patent/CN110109774A/zh
Application granted granted Critical
Publication of CN110109774B publication Critical patent/CN110109774B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/142Reconfiguring to eliminate the error

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明提供了一种通过SCM知识库生成Secedit可识别的INF文件的方法与系统,包括:写入INF文件头部内容,并生成节标题;从SCM知识库中读取基线项目,判断是否为无效节点;当为有效节点时,从SCM知识库中读取基线项目目标值以及INF子节点的name属性;读取子节点INF的SectionName属性,并根据属性值生成不同节内容,完成INF文件单行构造;整合INF单行文件,生成整个INF文件内容。本发明解决了现有技术中SCM知识库作为操作系统安全基线在进行Windows系统自动化检查、修复需要依靠手工执行的问题,实现生成INF文件,通过Secedit自动执行进行修复,提高修复效率,降低人工成本,减少修复时间。

Description

一种通过SCM知识库生成Secedit可识别的INF文件的方法与 系统
技术领域
本发明涉及计算机安全技术领域,特别是一种通过SCM知识库生成Secedit可识别的INF文件的方法与系统。
背景技术
为了提高Windows系统的安全水准,并发布官方对操作系统配置项的指导意见,微软公司以SCM知识库的形式发布了操作系统安全基线。
在SCM知识库中,发布者寄托了大量关于配置项检查、修复的相关信息,可以用于Windows系统的自动化检查、修复。然而,由于种种原因,这个修复的过程过去往往由手工执行命令的方式实现,这样不仅成本高效率低耗时长,且难以以规范正规的形式进行。
为了解决这一问题,可以利用Windows系统中的Secedit命令进行配置项的自动修复。然而,Secedit的程序输入是由INF文件、POL文件等文件组成的。为了能够使Secedit正确修复系统中的配置项,必须生成相应的的输入文件。因此急需一种通过SCM知识库生成Secedit可识别的INF文件的方法来解决上述技术问题。
发明内容
本发明的目的是提供一种通过SCM知识库生成Secedit可识别的INF文件的方法与系统,旨在解决现有技术中SCM知识库作为操作系统安全基线在进行Windows系统自动化检查、修复需要依靠手工执行的问题,实现生成INF文件,通过Secedit自动执行进行修复,提高修复效率,降低人工成本,减少修复时间。
为达到上述技术目的,本发明提供了一种通过SCM知识库生成Secedit可识别的INF文件的方法,所述方法包括以下步骤:
S1、写入INF文件头部内容,并生成节标题;
S2、从SCM知识库中读取基线项目,判断是否为无效节点;
S3、当为有效节点时,从SCM知识库中读取基线项目目标值以及INF子节点的name属性;
S4、读取子节点INF的SectionName属性,并根据属性值生成不同节内容,完成INF文件单行构造;
S5、整合INF单行文件,生成整个INF文件内容。
优选地,所述步骤S2具体操作如下:
读取ExportInfo字段,判断GPOGenerateFormat属性名是否为INF,如果不为INF,则为无效节点。
优选地,所述根据属性值生成不同节内容具体操作如下:
如果属性值为PrivilegeRights时,将name属性后拼接等号,再拼接基线项目目标值,作为最终结果;
如果属性值为System Access时,将name属性后拼接等号,再拼接转为0、1表示的基线项目目标值,作为最终结果;
如果属性值为Registry Values,将name属性后拼接等号,再拼接以枚举类型表示的注册表数据类型,注册表数据类型取自INF标签的Data Type属性,再拼接逗号,再拼接基线项目目标值,对于REG_SZ目标值,用双引号包含,作为最终结果;
如果属性值均不为上述值,则在双引号包含name属性后拼接逗号,拼接基线项目目标值后再拼接逗号,并在末尾拼接两个双引号,作为最终结果。
优选地,所述头部内容为固定内容。
本发明还提供了一种通过SCM知识库生成Secedit可识别的INF文件的系统,所述系统包括:
固定内容生成模块,用于写入INF文件头部内容,并生成节标题;
节点判断模块,用于从SCM知识库中读取基线项目,判断是否为无效节点;
项目有效内容读取模块,用于当为有效节点时,从SCM知识库中读取基线项目目标值以及INF子节点的name属性;
INF单行构造模块,用于读取子节点INF的SectionName属性,并根据属性值生成不同节内容,完成INF文件单行构造;
INF整合模块,用于整合INF单行文件,生成整个INF文件内容。
优选地,所述节点判断模块包括:
ExportInfo读取单元,用于读取ExportInfo字段;
属性判断单元,用于判断GPOGenerateFormat属性名是否为INF。
优选地,所述INF单行构造模块包括:
第一节内容构造单元,用于当属性值为PrivilegeRights时,将name属性后拼接等号,再拼接基线项目目标值,作为最终结果;
第二节内容构造单元,用于当属性值为System Access时,将name属性后拼接等号,再拼接转为0、1表示的基线项目目标值,作为最终结果;
第三节内容构造单元,用于当属性值为Registry Values,将name属性后拼接等号,再拼接以枚举类型表示的注册表数据类型,注册表数据类型取自INF标签的Data Type属性,再拼接逗号,再拼接基线项目目标值,对于REG_SZ目标值,用双引号包含,作为最终结果;
第四节内容构造单元,用于当属性值均不为上述值,则在双引号包含name属性后拼接逗号,拼接基线项目目标值后再拼接逗号,并在末尾拼接两个双引号,作为最终结果。
优选地,所述头部内容为固定内容。
发明内容中提供的效果仅仅是实施例的效果,而不是发明所有的全部效果,上述技术方案中的一个技术方案具有如下优点或有益效果:
与现有技术相比,本发明通过从SCM知识库中读取基线项目,获取基线项目目标值以及INF子节点的name属性,根据子节点INF的SectionName属性值,利用基线项目目标值以及INF子节点的name属性生成不同节内容,完成INF单行文件的生成,最后整合INF单行文件,生成整个INF文件内容,实现可用于Secedit读入的INF文件的生成,解决了现有技术中SCM知识库作为操作系统安全基线在进行Windows系统自动化检查、修复需要依靠手工执行的问题,实现生成INF文件,通过Secedit自动执行进行修复,提高修复效率,降低人工成本,减少修复时间。
附图说明
图1为本发明实施例中所提供的一种通过SCM知识库生成Secedit可识别的INF文件的方法流程图;
图2为本发明实施例中所提供的一种通过SCM知识库生成Secedit可识别的INF文件的系统结构框图。
具体实施方式
为了能清楚说明本方案的技术特点,下面通过具体实施方式,并结合其附图,对本发明进行详细阐述。下文的公开提供了许多不同的实施例或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。此外,本发明可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。应当注意,在附图中所图示的部件不一定按比例绘制。本发明省略了对公知组件和处理技术及工艺的描述以避免不必要地限制本发明。
下面结合附图对本发明实施例所提供的一种通过SCM知识库生成Secedit可识别的INF文件的方法与系统进行详细说明。
如图1所示,本发明实施例公开了一种通过SCM知识库生成Secedit可识别的INF文件的方法,所述方法包括以下步骤:
S1、写入INF文件头部内容,并生成节标题;
S2、从SCM知识库中读取基线项目,判断是否为无效节点;
S3、当为有效节点时,从SCM知识库中读取基线项目目标值以及INF子节点的name属性;
S4、读取子节点INF的SectionName属性,并根据属性值生成不同节内容,完成INF文件单行构造;
S5、整合INF单行文件,生成整个INF文件内容。
本发明实施例中Secedit所需的INF文件中的头部内容是固定的,如下所示:
[Unicode]
Unicode=yes
[Version]
signature=$CHICAGO$
Revision=1
而INF文件中剩余部分内容以节标题作为分割,归类为若干不同种类,这些种类的意义、语法各不相同。
从SCM知识库中读取一条基线项目,对于该基线项目,读取ExportInfo字段,判断GPOGenerateFormat属性名是否为INF,如果不为INF,则为无效节点,程序结束。
如果属性名为INF,从SCM知识库中获取基线项目目标值,留作后续使用,读取INF子节点的name属性名内容备用。
读取子节点INF的SectionName属性,根据属性值生成不同节内容。如果属性值为PrivilegeRights时,将name属性后拼接等号“=”,再拼接基线项目目标值,作为最终结果;如果属性值为System Access时,将name属性后拼接等号“=”,再拼接转为0、1表示的基线项目目标值,作为最终结果,由于该类目标值均为true或false,分别转为1、0;如果属性值为Registry Values,将name属性后拼接等号“=”,再拼接以枚举类型表示的注册表数据类型,注册表数据类型取自INF标签的Data Type属性,再拼接逗号“,”,再拼接基线项目目标值,对于REG_SZ目标值,用双引号包含,作为最终结果;如果属性值均不为上述值,则在双引号包含name属性后拼接逗号“,”,拼接基线项目目标值后再拼接逗号“,”,并在末尾拼接两个双引号,作为最终结果。整合头部内容、节标题以及节内容,从而完成INF单行文件内容的构造。
整合INF单行文件,生成整个INF文件内容:
写入INF文件头部内容,生成节标题,利用上述生成INF单行文件内容的操作,逐条生成INF行,当所有节都已经生成完毕后,即可生成整个INF文件内容。
本发明实施例通过从SCM知识库中读取基线项目,获取基线项目目标值以及INF子节点的name属性,根据子节点INF的SectionName属性值,利用基线项目目标值以及INF子节点的name属性生成不同节内容,完成INF单行文件的生成,最后整合INF单行文件,生成整个INF文件内容,实现可用于Secedit读入的INF文件的生成,解决了现有技术中SCM知识库作为操作系统安全基线在进行Windows系统自动化检查、修复需要依靠手工执行的问题,实现生成INF文件,通过Secedit自动执行进行修复,提高修复效率,降低人工成本,减少修复时间。
如图2所示,本发明实施例还公开了一种通过SCM知识库生成Secedit可识别的INF文件的系统,所述系统包括:
固定内容生成模块,用于写入INF文件头部内容,并生成节标题;
节点判断模块,用于从SCM知识库中读取基线项目,判断是否为无效节点;
项目有效内容读取模块,用于当为有效节点时,从SCM知识库中读取基线项目目标值以及INF子节点的name属性;
INF单行构造模块,用于读取子节点INF的SectionName属性,并根据属性值生成不同节内容,完成INF文件单行构造;
INF整合模块,用于整合INF单行文件,生成整个INF文件内容。
所述节点判断模块包括:
ExportInfo读取单元,用于读取ExportInfo字段;
属性判断单元,用于判断GPOGenerateFormat属性名是否为INF,如果不为INF,则为无效节点。
所述INF单行构造模块包括:
第一节内容构造单元,用于当属性值为PrivilegeRights时,将name属性后拼接等号,再拼接基线项目目标值,作为最终结果;
第二节内容构造单元,用于当属性值为System Access时,将name属性后拼接等号,再拼接转为0、1表示的基线项目目标值,作为最终结果;
第三节内容构造单元,用于当属性值为Registry Values,将name属性后拼接等号,再拼接以枚举类型表示的注册表数据类型,注册表数据类型取自INF标签的Data Type属性,再拼接逗号,再拼接基线项目目标值,对于REG_SZ目标值,用双引号包含,作为最终结果;
第四节内容构造单元,用于当属性值均不为上述值,则在双引号包含name属性后拼接逗号,拼接基线项目目标值后再拼接逗号,并在末尾拼接两个双引号,作为最终结果。
所述头部内容为固定内容。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (8)

1.一种通过SCM知识库生成Secedit可识别的INF文件的方法,其特征在于,所述方法包括以下步骤:
S1、写入INF文件头部内容,并生成节标题;
S2、从SCM知识库中读取基线项目,判断是否为无效节点;
S3、当为有效节点时,从SCM知识库中读取基线项目目标值以及INF子节点的name属性;
S4、读取子节点INF的SectionName属性,并根据SectionName属性值将name属性拼接不同符号以及基线项目目标值生成不同节内容,完成INF文件单行构造;
S5、整合INF单行文件,生成整个INF文件内容。
2.根据权利要求1所述的一种通过SCM知识库生成Secedit可识别的INF文件的方法,其特征在于,所述步骤S2具体操作如下:
读取ExportInfo字段,判断GPOGenerateFormat属性名是否为INF,如果不为INF,则为无效节点。
3.根据权利要求1所述的一种通过SCM知识库生成Secedit可识别的INF文件的方法,其特征在于,所述根据SectionName属性值将name属性拼接不同符号以及基线项目目标值生成不同节内容具体操作如下:
如果属性值为PrivilegeRights时,将name属性后拼接等号,再拼接基线项目目标值,作为最终结果;
如果属性值为System Access时,将name属性后拼接等号,再拼接转为0、1表示的基线项目目标值,作为最终结果;
如果属性值为Registry Values,将name属性后拼接等号,再拼接以枚举类型表示的注册表数据类型,注册表数据类型取自INF标签的Data Type属性,再拼接逗号,再拼接基线项目目标值,对于REG_SZ目标值,用双引号包含,作为最终结果;
如果属性值均不为上述值,则在双引号包含name属性后拼接逗号,拼接基线项目目标值后再拼接逗号,并在末尾拼接两个双引号,作为最终结果。
4.根据权利要求1-3任意一项所述的一种通过SCM知识库生成Secedit可识别的INF文件的方法,其特征在于,所述头部内容为固定内容。
5.一种通过SCM知识库生成Secedit可识别的INF文件的系统,其特征在于,所述系统包括:
固定内容生成模块,用于写入INF文件头部内容,并生成节标题;
节点判断模块,用于从SCM知识库中读取基线项目,判断是否为无效节点;
项目有效内容读取模块,用于当为有效节点时,从SCM知识库中读取基线项目目标值以及INF子节点的name属性;
INF单行构造模块,用于读取子节点INF的SectionName属性,并根据SectionName属性值将name属性拼接不同符号以及基线项目目标值生成不同节内容,完成INF文件单行构造;
INF整合模块,用于整合INF单行文件,生成整个INF文件内容。
6.根据权利要求5所述的一种通过SCM知识库生成Secedit可识别的INF文件的系统,其特征在于,所述节点判断模块包括:
ExportInfo读取单元,用于读取ExportInfo字段;
属性判断单元,用于判断GPOGenerateFormat属性名是否为INF。
7.根据权利要求5所述的一种通过SCM知识库生成Secedit可识别的INF文件的系统,其特征在于,所述INF单行构造模块包括:
第一节内容构造单元,用于当属性值为PrivilegeRights时,将name属性后拼接等号,再拼接基线项目目标值,作为最终结果;
第二节内容构造单元,用于当属性值为System Access时,将name属性后拼接等号,再拼接转为0、1表示的基线项目目标值,作为最终结果;
第三节内容构造单元,用于当属性值为Registry Values,将name属性后拼接等号,再拼接以枚举类型表示的注册表数据类型,注册表数据类型取自INF标签的Data Type属性,再拼接逗号,再拼接基线项目目标值,对于REG_SZ目标值,用双引号包含,作为最终结果;
第四节内容构造单元,用于当属性值均不为上述值,则在双引号包含name属性后拼接逗号,拼接基线项目目标值后再拼接逗号,并在末尾拼接两个双引号,作为最终结果。
8.根据权利要求5-7任意一项所述的一种通过SCM知识库生成Secedit可识别的INF文件的系统,其特征在于,所述头部内容为固定内容。
CN201910317123.0A 2019-04-19 2019-04-19 一种通过SCM知识库生成Secedit可识别的INF文件的方法与系统 Active CN110109774B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910317123.0A CN110109774B (zh) 2019-04-19 2019-04-19 一种通过SCM知识库生成Secedit可识别的INF文件的方法与系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910317123.0A CN110109774B (zh) 2019-04-19 2019-04-19 一种通过SCM知识库生成Secedit可识别的INF文件的方法与系统

Publications (2)

Publication Number Publication Date
CN110109774A CN110109774A (zh) 2019-08-09
CN110109774B true CN110109774B (zh) 2021-04-27

Family

ID=67485966

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910317123.0A Active CN110109774B (zh) 2019-04-19 2019-04-19 一种通过SCM知识库生成Secedit可识别的INF文件的方法与系统

Country Status (1)

Country Link
CN (1) CN110109774B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104346574A (zh) * 2014-10-23 2015-02-11 武汉大学 基于配置规范的主机安全配置漏洞自动修复方法及系统
CN104966021A (zh) * 2015-05-21 2015-10-07 浪潮电子信息产业股份有限公司 一种安全基线数据文件的建立和解析方法及装置
CN106886439A (zh) * 2017-02-15 2017-06-23 郑州云海信息技术有限公司 一种对scm安全基线知识库进行快速初始化的方法
CN109189652A (zh) * 2018-06-26 2019-01-11 中国科学院信息工程研究所 一种封闭网络终端行为数据的采集方法及系统
CN109634923A (zh) * 2018-12-17 2019-04-16 郑州云海信息技术有限公司 获取操作系统中可执行文件的方法和计算机可读存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104346574A (zh) * 2014-10-23 2015-02-11 武汉大学 基于配置规范的主机安全配置漏洞自动修复方法及系统
CN104966021A (zh) * 2015-05-21 2015-10-07 浪潮电子信息产业股份有限公司 一种安全基线数据文件的建立和解析方法及装置
CN106886439A (zh) * 2017-02-15 2017-06-23 郑州云海信息技术有限公司 一种对scm安全基线知识库进行快速初始化的方法
CN109189652A (zh) * 2018-06-26 2019-01-11 中国科学院信息工程研究所 一种封闭网络终端行为数据的采集方法及系统
CN109634923A (zh) * 2018-12-17 2019-04-16 郑州云海信息技术有限公司 获取操作系统中可执行文件的方法和计算机可读存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基线配置工具的设计与实现;刘厚铭;《信息系统工程》;20190120;全文 *

Also Published As

Publication number Publication date
CN110109774A (zh) 2019-08-09

Similar Documents

Publication Publication Date Title
CN110852065B (zh) 一种文档审核方法、装置、系统、设备及存储介质
US7739588B2 (en) Leveraging markup language data for semantically labeling text strings and data and for providing actions based on semantically labeled text strings and data
US9690788B2 (en) File type recognition analysis method and system
CN109086199B (zh) 一种自动化生成测试脚本的方法、终端和可存储介质
CN1949179B (zh) 利用只读进程组件对服务进程建模的方法和系统
CN110347598B (zh) 一种测试脚本生成方法、装置、服务器及存储介质
US8327333B2 (en) Apparatus, method, and system of assisting software development
US20100042929A1 (en) Verification of software applications
CN106776584A (zh) 文字显示方法、翻译表生成方法、文件翻译方法及装置
CN102804147A (zh) 执行abap源代码的代码检查的代码检查执行系统
CN109165209B (zh) 数据库中对象类型的数据校验方法、装置、设备及介质
US20120158742A1 (en) Managing documents using weighted prevalence data for statements
CN114090671A (zh) 数据导入方法、装置、电子设备及存储介质
US20080022263A1 (en) Identifying The Origin Of Application Resources
CN110288310A (zh) 工作签报管理方法、设备、存储介质及装置
CN112882995A (zh) 脚本自动生成方法、装置、电子设备及存储介质
CN115391322A (zh) 数据检核方法、装置、设备、存储介质及程序产品
CN111367890A (zh) 一种数据迁移的方法、装置、计算机设备及可读存储介质
US20120310962A1 (en) Automated business process modeling
CN110109774B (zh) 一种通过SCM知识库生成Secedit可识别的INF文件的方法与系统
CN110633258B (zh) 日志插入方法、装置、计算机装置及存储介质
CN110688823A (zh) Xml文件验证方法及装置
CN106293862B (zh) 一种可扩展标记语言xml数据的解析方法和装置
EP2535813B1 (en) Method and device for generating an alert during an analysis of performance of a computer application
US11423228B2 (en) Weakly supervised semantic entity recognition using general and target domain knowledge

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