上一期我们向大家介绍了什么是SCAP、与SCAP相关的开源工具,以及如何利用SCAP和开源工具对系统进行安全性扫描。但是,我们不能满足于使用现有的SCAP资源,如果想让SCAP发挥更大的作用,我们需要进一步了解S CA P,去开发适合自身需求的S CA P Content。本文将对SCAP进行深入的探索,了解其技术细节并指导大家如何利用开源工具开发SCAP。
SCAP技术细节
SCAP给安全评估带来标准化的同时,也提供了一个开放的平台。任何人都可以按照SCAP Protocol所指定的规范开发新的SCAP Content。开发SCAP Content之前,我们需要对每一种SCAP Element的文件格式进行了解,并应当清楚它们如何在一个完整的S C A P Content中进行交互。SCAP的核心是语言类Element,即XCCDF和OVAL,对SCAP的深入探索过程中将把它们作为重点进行介绍。
XCCDF技术细节
XCCDF文档使用XML 格式表述,由Benchmark、Profile、Group、Rule、Check、Value等元素构成,以树的方式进行组织,如图1所示。树的最底层为Rule和Value,这两个元素表达了XCCDF文档中最细节的内容,每个Rule为一个检查项,而Value指定了检查过程中可能需要使用到的可变参数。Group用于将Rule和Value按照一定的逻辑关系组合成多个类别,Group可以嵌套,形成多级的结构。Profile用于完成检查单的组合和裁剪工作,在Profile中使用select标记选择一个或多个Rule id,构成包含多个Rule的检查单,一个Profile对应一张检查单,根据需要,一个XCCDF文档可以包含多个Profile。树的根节点是固定的,为Benchmark,根节点的属性中保存了一些XCCDF文档的基本属性数据。
图1 XCCDF文档层次结构
(1)XCCDF Rule(XCCDF规则)
Rule是XCCDF中描述检查项的最细节内容,但它并没有定义检查项与系统交互的技术细节,这些技术细节是在OVAL文档中定义的,XCCDF Rule中只是定义了一个指向OVAL文档特定部分的指针(即OVAL Definition id)。常见的Rule内容如表1所示。
通常,Rule ID会被多个Profile引用。这种机制使得在一个XCCDF基准测试(Benchmark)文档中能够描述多个检查单,而且检查内容能够根据需求方便地裁剪和组织,更加有利于上层规范(如FISMA、ISO27001等)到底层技术细节(OVAL定义)的落地。
特别声明:本站注明稿件来源为其他媒体的文/图等稿件均为转载稿,本站转载出于非商业性的教育和科研之目的,并不意味着赞同其观点或证实其内容的真实性。如转载稿涉及版权等问题,请作者在两周内速来电或来函联系。