开放式漏洞评估语⾔(OVAL)概述
1. 什么是OVAL?
OVAL(开放漏洞评估语⾔)是⼀个国际信息安全社区标准,⽤于评估和报告计算机系统的机器状态,促进开放和公开的安全内容,并在整个安全⼯具和服务范围内传输此信息。
这是⼀个开放的社区努⼒,旨在标准化安全⼯具创建者,操作系统供应商和安全专业⼈员测试系统漏洞的过程。它由美国国⼟安全部⽹络安全和通信办公室赞助。Internet Security 中⼼管理 OVAL ⽹站、社区参与和讨论列表,以实现整个信息安全社区内的公开和公开协作。这是MITRE早些时候完成的(直到2015年7⽉31⽇)
2. 为什么选择OVAL
在 OVAL 之前,系统管理员和其他最终⽤户没有通⽤或结构化的⽅法来确定本地系统中是否存在软件漏洞、配置问题、程序和/或补丁。许多信息都以基于⽂本的描述的形式从漏洞和其他知识来源(如软件供应商、政府机构、⼯具供应商和安全咨询公司)获得,但是,对于系统管理员来说,阅读和解释这些⾮结构化信息并确定本地系统上是否存在特定漏洞或配置问题仍然是⼀个劳动密集型且容易出错的过程。
OVAL 通过提供标准定义来确定系统上存在哪些软件漏洞、配置问题、程序和修补程序来解决这些问题。
然后,⽤户可以从供应商处获取适当的修复信息和软件补丁并进⾏修复。
3. 为什么选择OVAL
OVAL由三个主要部分组成。它们是:
OVAL Language
OVAL Interpreter
OVAL Repository
OVAL Language
OVAL 语⾔是 OVAL 最重要的组成部分。它使评估过程的三个主要步骤标准化:表⽰⽤于测试的系统的配置信息;分析系统是否存在指定的计算机状态并报告此评估的结果。
它是如何做到这⼀点的,⽅法是使⽤三个标准化的架构来⽣成三个相应的 XML ⽂件。这些 XML ⽂件及其架构如下所⽰:基于 OVAL 定义架构的定义⽂件
基于 OVAL 系统特征架构的系统特征⽂件
基于 OVAL 结果架构的结果⽂件
这些架构对应于评估过程的三个步骤:⽤于表⽰系统信息的 OVAL 系统特征架构、⽤于表⽰特定计算机状态的 OVAL 定义架构以及⽤于报告评估结果的 OVAL 结果架构。
OVAL定义架构:
OVAL 定义架构⽤于定义⽤于编写以下内容的 XML 框架:
1. OVAL 漏洞定义,通过定义计算机上必须存在的条件才能存在特定漏洞。
2. OVAL 修补程序 定义,⽅法是在计算机上定义确定特定修补程序是否适⽤于系统的条件。
3. OVAL 清单 定义,⽅法是定义计算机上确定系统上是否安装了特定软件的条件。
4. OVAL 符合性定义,⽅法是在计算机上定义确定符合特定策略或配置语句的条件。
现在,基于定义的XML框架,使⽤MITRE的漏洞数据库(这是⼀个条⽬列表,每个条⽬都包含⼀个标识号,⼀个描述和⾄少⼀个公开的公开参考)以及领先的安全组织和政府机构关于当前威胁和漏洞的建议来编写定义。所有这些定义都编译在⼀起,并⽣成⼀个特定于 XML 平台的定义⽂件。
每个定义都由唯⼀的 OVAL 标识符进⾏区分。OVAL-ID 使⽤格式"oval:Organization_DNS_Name:ID_Type:ID_Value",其中组织DNS 名称的形式为"org.mitre.oval",ID 类型表⽰要应⽤该 ID 的实体(可以是以下值之⼀:def — Definition、obj — Object、ste —State、tst — Test 或 var — Variable),ID Value 是其前⾯的 DNS 名称和 ID 类型对所特有的整数。例如:oval:org.mitre.oval:def:8617。
因此,这是⼀个 OVAL 漏洞定义,如类字段所⽰。此定义检查是否存在 Microsoft Office Excel 记录内存损坏漏洞。所有受影响的平台都与受影响的产品(Microsoft Excel 2002)⼀起被提及。参考字段告诉我们定义的来源/基础是什么。该定义还提供了该定义的提交时间、提交者以及接受定义的各个⽇期的时间戳。它还显⽰发⽣的任何修改的时间戳。
最后,我们有标准。此条件确定是否存在指定的漏洞。此处,条件由 AND 运算符连接的两个条件组成。这意味着,要使漏洞存在,两个给定的标准都必须是正确的。第⼀个条件是另⼀个定义的扩展,第⼆个条件检查Excel 版本是否⼩于 10.0.6860.0。它使⽤测试来执⾏此操作。转到测试,我们得到以下测试定义。
⾸先,观察测试ID是相同的。评论提到了测试的作⽤。check_existence属性指定 OVAL 对象定义的集合中必须存在多少个项⽬才能将测试评估为 true。此处此属性的值为"at_least_one_exists",指⽰如果系统上⾄少存在⼀个由 OVAL 对象定义的项,则测试的计算结果可能为 true。
现在查看对象和状态元素,我们看到对象存储了 EXCEL 的版本。EXE 通过另⼀个变量。另⼀⽅⾯,状态存储低于 10.0.6860.0 的所有版本的值。因此,如果对象元素的值与状态版本中的任何值匹配,则测试将返回 true。注意:xmlns 是⽤于标识架构⽂件以验证内容的命名空间。
OVAL 系统特征架构:
OVAL 系统特征架构定义了⽤于表⽰系统配置信息的标准 XML 格式。此配置信息包括操作系统参数、已安装的软件应⽤程序设置和其他与安全相关的配置值。使⽤此架构,将⽣成⼀个系统特征 XML ⽂件,该⽂件是系统特征的"数据库",可以根据该⽂件⽐较 OVAL 定义,以便分析系统中的漏洞、配置问题和修补程序。当 OVAL 解释器在计算机上运⾏时,将⽣成此 XML ⽂件,并捕获所有必需的计算机状态。
从本质上讲,该架构定义了⼀种标准的系统特征交换格式,可以促进社区内部以及安全管理员和供应商之间⾮常容易的数据交换。
⽣成的 XML ⽂件如下所⽰:
以上是⼀个系统特征 XML ⽂件的快照,该⽂件是在 XP 计算机上运⾏ OVAL 解释器时⽣成的。
OVAL 结果架构:
结果架构定义了⽤于存储系统评估结果的标准 XML 格式。使⽤此架构,将⽣成⼀个结果 XML ⽂件,其中包含与⼀组 OVAL 定义进⾏⽐较的系统配置的当前状态。此⽂件是在 OVAL 解释器在计算机上运⾏时⽣成的。
然后,此数据允许⽤户采取必要的措施来缓解漏洞和配置问题(例如,安装修补程序、更改系统配置设置和/或采取外部预防措施来限制对受影响系统的访问)。
所有架构:OVAL 定义架构、OVAL 系统特征架构和 OVAL 结果架构本⾝不是单独的架构,⽽是每个架构由"核⼼"架构和"组件"架构集合组成。
OVAL Interpreter
OVAL Interpreter 是⼀个免费提供的参考实现,⽤于演⽰对 OVAL 定义的评估。根据⼀组 XML 定义,解释器收集系统信息,例如:已安装软件的版本、授予不同软件的权限、访问类型等,并将其存储在系统特征 XML ⽂件中。然后,它对其进⾏评估,将其与定义进⾏⽐较,从⽽⽣成详细的 OVAL 结果⽂件。在我们上⾯讨论的⽰例中,解释器收集了对象的值 — Excel 版本,并将其存储在系统特征⽂件中。然后,它运⾏测试,检查对象的值是否与状态中的任何值匹配。
开发的⽬的是为了演⽰ OVAL 定义的可⽤性,并确保定义编写器的正确语法和遵守 OVAL Schemas,它
不是⼀个功能齐全的扫描⼯具,并且具有简单的⽤户界⾯,但运⾏解释器将在系统上提供 OVAL 定义 ID 及其结果的列表。
OVAL Repository
OVAL 存储库是 OVAL 社区讨论、分析、存储和传播 OVAL 定义的中⼼会议场所。对于⼤多数主要平台,此处提供了 OVAL 定义。您可以通过各种过滤器(如ID,标题,描述,平台等)搜索定义。您还可以下载平台的整个存储库。
社区成员通过将定义发布到 OVAL 存储库论坛电⼦邮件讨论列表来贡献定义,OVAL 团队和社区其他成员将在那⾥进⾏审查和讨论。OVAL 社区的任何成员(包括 OVAL 董事会)、具有 OVAL 兼容信息安全产品和服务的组织以及 OVAL 存储库论坛电⼦邮件列表的个⼈成员都可以提交 OVAL 定义。
存储库论坛是⼀个经过轻微审核的公共讨论列表,⾯向那些对编写、提交和讨论新的和以前发布的定义以及影响定义编写的漏洞和配置问题本⾝感兴趣的⼈。
4. 应⽤程序
1) 安全公告分发:
在发现漏洞时,供应商和安全研究⼈员会发布安全公告。它包含检测是否存在漏洞所需的信息。如果漏洞信息以标准的机器可读格式发布,它将为扫描产品提供对可操作内容的即时访问权限,这些内容可⽤于评估系统的安全状况。OVAL在这⽅⾯可以派上⽤场。
假设在某个⽅案中,软件供应商收到⼀个未公开的漏洞报告,并确认其软件中存在漏洞。供应商进⼀步调查此漏洞,以确定软件的哪些版本受到影响以及在哪些平台上受到影响。
供应商为漏洞保留 CVE 标识符,并以 OVAL 定义的形式为漏洞创建标准化检查。然后,软件供应商添加测试以检查相关平台上的易受攻击的软件。组织可以下载安全顾问的 OVAL 定义,并在他们选择的漏洞扫描⼯具中使⽤它来确定其系统是否容易受到攻击。
2) 漏洞评估:
漏洞管理是识别系统中的漏洞并根据其严重性确定其优先级的过程。⽬前,开发漏洞管理产品的组织雇⽤⼀个内容开发⼈员团队,该团队为每个漏洞创建⾃定义检查,以指⽰是否存在该漏洞。
OVAL 对漏洞管理产品供应商⾮常有⽤,因为他们可以彼此共享漏洞检查,并协作开发针对给定问题的最佳检查。例如:以应⽤程序供应商披露了新的关键漏洞为例。漏洞管理产品供应商快速开发并分发 OVAL 定义,并检查其⽀持的平台上是否存在漏洞。
供应商还以 OVAL 定义的形式与其他漏洞管理供应商和⾏业专家的论坛共享此新检查。OVAL 定义由安全专家检查误报,并由其他供应商进⾏扩展,以包括其他平台的详细检查信息,以便对所有已知的易受攻击的平台完成漏洞检查。因此,论坛成员合作开发了对漏洞的彻底,准确,标准化的检查,并在其产品和服务中利⽤了由此产⽣的OVAL定义。
3) 补丁管理:
修补程序管理是识别影响系统的安全问题和软件更新、应⽤解决这些问题的修补程序以及验证修补程序是否已成功安装的过程。补丁管理供应商社区可以从以标准格式构建补丁检查信息中受益匪浅,因为它将允许他们快速使⽤来⾃不同供应商等多个来源的数据。
如果操作系统供应商为其平台发布了⼀组新的补丁,并将标准化的补丁检查作为椭圆形定义,那么安装补丁就变得⾮常容易。系统管理员只需运⾏补丁管理⼯具,该⼯具检索 OVAL 定义、验证其签名、收集属性、在 OVAL 结果中表达结果。然后,修补程序管理⼯具将检查OVAL 结果并确定是否应安装修补程序。修补程序已安装,系统不再容易受到攻击。
4) 配置管理:
配置管理过程包括检查计算机的配置状态,将其与已知的良好或授权配置状态进⾏⽐较,并报告结果。
有许多公开可⽤的最佳实践配置指南,但其中许多仅以纸质形式存在,并且由 IT ⼈员将⽂档转换为可在⼀致基础上应⽤和实施的内容。因此,如果供应商以标准化格式发布配置策略,其中包含⼀系列 OVAL 定义,则客户将⾮常容易使⽤它们并进⼀步⾃定义它们以满⾜其需求。
决定为其桌⾯系统开发安全配置策略的组织可以利⽤桌⾯操作系统供应商建议的 OVAL 定义中的安全配置指南,⽽不是从头开始创建新策略。组织下载策略并根据其环境进⾏定制。假设组织具有⾮常严格的密码策略,并且需要要求所有桌⾯系统上的最⼩密码长度为 14 个字符。鉴于操作系统供应商建议的最⼩密码长度为 8 个字符,因此已发布的安全配置中已经存在⽤于检查最⼩密码长度的 OVAL 定义。组织只需将最⼩密码长度值设置定制为 14,并在 OVAL 定义中重⽤其余的检查逻辑。组织可以通过编辑已发布的 OVAL 定义,将其他⼏个⾃定义项应⽤于策略。
5) 审计和集中审计验证:
审核验证提供有关过去任何给定时间的计算机状态的报告。为此,以⾼粒度捕获计算机配置信息⾮常重要。此外,这些数据需要以标准化的、以数据为中⼼的格式存储,以确保它不会绑定到特定的产品。下⾯给出了⼀个⽰例,说明 OVAL 在这⾥是如何有⽤的。
组织具有集中的审核验证系统。当新系统加⼊⽹络时,将⽴即对其进⾏扫描,并且与扫描关联的 OVAL 结果将作为系统在集中式审核验证系统中的初始状态。从那时起,系统每周扫描⼀次,以确定是否有任
何变化。如果发现更改,验证系统将使⽤最新的 OVAL 结果进⾏更新。
如果在计划扫描之间的任何时间点,系统陷⼊或不合规状态,或者安装了新的修补程序,则集中式审核验证系统将⽴即使⽤新的 OVAL 结果进⾏更新。因此,集中式审核验证系统现在包含多组 OVAL 结果,记录了系统随时间推移的各种状态变化。
6)安全信息管理系统(SIMS):
集成了各种安全,审计和配置产品的输出,以构建组织⽹络安全状况的全⾯视图。SIM卡需要了解的数据格式越少,产品就越灵活和强⼤。因此,使⽤ OVAL 标准化数据交换格式可以⼤⼤简化互操作性要求。
例如:安全信息管理系统供应商可以利⽤漏洞管理⼯具、修补程序管理⼯具、配置管理⼯具以及⽣成 OVAL 结果的任何其他⼯具⽣成的OVAL 结果作为进⼊其系统的数据的主要格式。通过这样做,系统可以直接使⽤来⾃整个⼯具范围的数据,⽽⽆需在分析之前将类似数据的不同格式转换为单⼀格式。
7) 系统清单:
系统清单是收集给定系统上安装的应⽤程序的详细列表的过程。⼤型企业通常有许多版本的许多应⽤程序在各种操作系统上运⾏。在跟踪软件的许可、漏洞管理、合规性和其他⽬的时,这带来了相当⼤的挑
战。
使⽤标准化⽅法来检查应⽤程序是否存在并记录其版本是⼀个⾮常重要且公认的需求。系统管理员可以使⽤ OVAL 定义针对其系统清单⼯具运⾏。这将记录所有必需的系统属性,并⽣成⼀个系统配置⽂件,该⽂件是观察到的系统状态的快照。
8) 恶意软件和威胁指⽰器共享:
事件协调中⼼、组织和安全社区的其他成员积极讨论恶意软件并共享可⽤于检测潜在受损系统的低级系统详细信息。这些详细信息通常以散⽂⽂档的形式共享,这些⽂档在⽤于系统评估之前需要将其转换为可操作的内容。
因此,使⽤标准的 OVAL 格式将恶意软件和威胁指⽰器编码到 OVAL 定义中⾮常有⽤。它可以帮助共享威胁指标和检测受损系统。
5. ⾏业产品:
许多公司和组织已根据 OVAL 采⽤计划采⽤ OVAL。OVAL 采⽤计划基于五种不同的功能,每种功能针对 OVAL 语⾔的不同⽤法。
公司使⽤ OVAL 开发产品,然后根据产品的功能将这些产品分类为五个类别中的⼀个或多个类别。以下是类别列表:
1) 创作⼯具:
注册为创作⼯具的产品应有助于创建新的 OVAL ⽂件(包括将现有 OVAL 定义合并到单个⽂件中的产品)。供应商利⽤创作⼯具来协助漏洞扫描和开发补丁适⽤性内容以提供给其客户。
2) 系统特性⽣产者:
注册为系统特性⽣产者的产品会根据系统的详细信息⽣成有效的 OVAL 系统特性⽂件。供应商和组织都可以进⼀步使⽤它来⽣成系统映像。
3) OVAL 定义评估器:
这些产品使⽤ OVAL 定义和系统特性来指导评估并⽣成 OVAL 结果⽂档作为输出。这可⽤于在安全公告上实施定义评估器功能,并报告发现的任何漏洞cve漏洞库
4) OVAL 结果 使⽤者:
此产品接受 OVAL 结果⽂档作为输⼊,并向⽤户显⽰结果,或使⽤结果执⾏某些操作。
5) OVAL 定义存储库:
将安全公告发布为 OVAL 定义的组织及其⽣成这些定义的产品可被视为 OVAL 定义的存储库。此存储库可供社区进⼀步使⽤。
具有这些 OVAL 功能的⼀些产品包括:
1)惠普开发公司:惠普服务器⾃动化(系统特性⽣产者):
惠普服务器⾃动化提供基于 OVAL 漏洞定义的实时漏洞检测、⾃动化补丁管理和内部合规性控制,从⽽实现:⽣成系统特征,这是⼀项关键的中间任务。惠普⽀持 OVAL 标准,通过⾃动漏洞泄露帮助 IT 组织降低安全风险。
2) McAfee, Inc: McAfee Policy Auditor
(Authoring Tool): McAfee Policy Auditor 被⼴泛⽤作创作⼯具。它⾃动化了系统合规性审核所需的流程。组织可以使⽤ McAfee 的审核员部署集中式审核验证系统。当新系统加⼊⽹络时,组织的漏洞管理、修补程序管理和配置管理⼯具会⽴即对其进⾏扫描,这些⼯具基于最新的安全公告、修补程序和策略。
3) Red Hat, Inc: Red Hat Security
Advisories (Definition Repository):Red Hat 是 OVAL 项⽬的创始董事会成员,⾃ 2006 年以来⼀直在发布 Red Hat Enterprise Linux Security Advisories 的 OVAL 漏洞定义。
4)美国陆军CERDEC:犰狳(定义评估器):
由美国陆军CERDEC开发的犰狳,是⼀种配置,漏洞,补丁和软件库存⽹络扫描程序。它通过使⽤ SCAP(安全内容⾃动化协议)捆绑包来识别错误配置,这些捆绑包包含定义策略指南的 XCCDF(可扩展配置清单描述格式)基准测试(类似于 STIG)和定义探测器和预期值的 OVAL 定义⽂件(类似于 SRR)。
6. 结论
OVAL⾮常有⽤。它可以更好地评估组织中系统的安全性,并简化信息共享。OVAL 使⽤顶级组织推荐的 CVE 和安全措施来编写定义,从⽽为系统提供⾼标准的安全测试。此外,安全管理员可以根据需要修改、添加或删除定义。许多组织运⾏⾼度定制的软件,他们可以为其开发个性化的安全检查。
OVAL社区正在积极努⼒添加更多定义,改进解释器并修复错误。OVAL 已经⽣成了结果。OVAL语⾔和漏洞定义可⽤于Linux,Solaris和Windows。此外,OVAL Interpreter还可⽤于Red Hat Linux,Linux和Windows发⾏版。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论