摘要
根据Gartner集团的一项研究[13],大多数成功的攻击都是利用了没有正确配置或漏洞修补的软件应用程序和操作系统。关于企业,如果他们的在线服务被攻击和破坏,会产生深远的后果。因此,使他们的系统更安全正成为一个更优先的事项。
在本文中,我们提出了一个系统来解决漏洞和错误配置问题。在弱点部分,我们专注于弱点评估方面。我们使用CVSS(通用漏洞评分系统)来衡量漏洞对组织的严重程度,帮助管理员进行补丁管理。对于配置部分,我们使用CCE(通用配置枚举)配置扫描器来扫描系统并确定系统中存在的错误配置。实验表明,我们的系统可以帮助管理员了解自己的系统,增强系统的安全性。
1.介绍
在使用网络时,用户会受到恶意程序和攻击,如蠕虫、病毒、特洛伊木马、DOS、入侵等等。这些攻击会导致用户的系统泄漏或破坏敏感信息,甚至使整个系统崩溃。大多数攻击利用系统的漏洞或错误配置来获得访问权。
对于企业/组织来说,如果他们的在线服务被攻击和破坏,会产生深远的影响。他们失去的不仅是金钱,还有声誉和客户的信任。因此,企业/组织越来越重视系统安全。大多数人关注的是以下几点。(1) 漏洞管理。管理员使用漏洞扫描器来扫描他们的计算机。根据扫描报告,他们可以做出有关补丁管理的决定。(2)配置管理。为了确保一个组织的互联网连接的计算机免受未经授权的入侵,每个系统都应该被合理地配置。根据要求和安全级别,组织可以为管理员制定不同的政策和基准来配置他们的工作站、服务器、路由器、防火墙和其他设备。然而我们在这些方法中会遇到一些困难。
漏洞扫描和评估是补丁管理的一个重要部分。有各种漏洞扫描器可以很容易地扫描系统来检测漏洞,如Nessus[14],和Microsoft Baseline Security Analyzer (MBSA)...等。然而,漏洞评估仍然是一个问题,因为每个扫描器供应商都有自己的公式来评估漏洞。因此,一个漏洞在不同的供应商那里可能被赋予不同的安全风险等级。另外,大多数漏洞只被分为三个级别(高、中、低)。这种细化程度不足以对漏洞进行分级。
在配置管理方面,管理员在检查系统配置以确保符合政策设置方面面临着复杂的任务。系统安全设置与驻扎在操作系统之上的应用程序的要求之间也存在冲突。服务器配置与工作站配置有着本质的区别。这使得验证工作更加复杂。
为了解决我们上面讨论的问题,我们根据通用配置枚举(CCE)的定义,将通用漏洞评分系统(CVSS)模块与漏洞扫描器、Nessus和配置扫描器一起实施。在我们的系统中,CVSS模块被用来根据系统信息评估Nessus报告的漏洞,如保密性、可用性和完整性...等。CCE模块包含几个基准,如NSA、DISA、FDCC等。这些基准包含了组织政策、流程考虑以及配置系统的详细明确准则。CCE扫描器根据这些基准中的组织政策和检查表执行不同的检查。
基于我们的系统报告,管理员可以确定修补漏洞的优先级,并监测他们是否符合基准设置。
本文的其余部分组织如下。在第2节中,我们介绍了我们在系统中使用的标准,如CVSS和CCE。第3节介绍了我们提出的系统的结构。它包括开发我们系统的一般程序以及如何将CVSS整合到企业/组织中。在第4节中,我们介绍了我们提议的系统的实验结果。在第5节中,我们提出了结论和未来的工作。
2. 背景
2.1 CVSS:通用漏洞评分系统
CVSS是一个开放的标准,他为安全专家,管理人员和最终用户提供了一个讨论安全漏洞严重性的共同语言框架。CVSS 1.0版于2005年首次发布。CVSS是由国家基础设施咨询委员会(NIAC)委托的。并由事件响应和安全团队论坛(FIRST)维护。CVSS对漏洞的评分从0.0到10.0(一百度)。
在CVSS中,有三个指标组:基础、时间和环境,每个指标组包括一组指标,如图1所示[4]。
根据CVSS指南[4],这些指标组可描述如下:
- 基础:这代表了漏洞的基本特征,这些特征随时间和环境而变化。
- 暂时性:这表示漏洞的特征随时间而变化,但不随用户环境的变化而变化。
- 环境:这表示与特定用户环境相关且唯一的漏洞特征。
图2显示了CVSS框架,基本方程计算从0到10的分数,然后创建一个向量。向量是一个文本字符串,它包含每个度量中的值。基本分数可用于时间和环境方程,以计算时间和环境分数,范围也在0到10.0之间。
自CVSS出版以来,它已被各种组织广泛采用。然而,评分系统仍然存在缺陷,限制了CVSS的有效性。因此,Mell等人[2]对评分系统提出了几项建议,并提出了一个修订的评分方程。其中一些方程式和建议已被CVSS管理团队接受,并在CVSS v2.0中使用。目前,CVSS的版本是2.10,我们使用CVSS v2.10.实施我们的制度。在[4]中,显示所有度量值和CVSS方程。
2.2 CCE:通用配置枚举
CCE是安全配置问题和风险的标准化标识符,由MITRE公司维护。CCE为每个特定的安全相关配置问题提供一个唯一标识符。另一方面,CCE ID提供了一个标记来区分概要文件。CCE[9]列表可以快速准确地跨多个信息源关联配置数据。目前,CCE标识符关联了来自互联网安全中心(CIS)、国家标准与技术研究所(NIST)、国家安全局(NSA)和国防信息系统局(DISA)的不同最佳实践文件中的配置设置。当我们使用CCE时,有几个好处,例如快速的数据关联,易于收集用于态势感知的度量,以及实现自动化。每个CCE列表包含以下属性:
- CCE标识符编号:CCE为每个配置问题分配唯一标识符标签。例如,CCE-658用于测量尝试输入帐户密码的次数。
- 描述:每个CCE条目都包含一个人类可读的配置问题描述。例如,描述可能是“帐户锁定阈值策略应满足最低要求”
- 概念参数:每个CCE条目包含概念参数列表,如“自动”、“手动”和“禁用”。例如,至少有两种方法可以实现“应正确配置所有驱动器类型上的自动播放”(对于Windows,CCE-44)。一种是直接设置注册表项;另一种方法是在Active Directory域中使用组策略对象。
- 相关技术机制:对于每个配置问题,可能有多种方法来实现所需的结果。
- 引文:每个CCE条目都有一组引文,引文来自不同的配置指导文件,如NSA安全指南[5],互联网安全基准中心[8],等等。这些引文记录了每个文档的特定部分,更详细地描述了配置问题。
3.我们建议的制度
我们的系统架构如图3所示。根据用户输入的环境信息和漏洞扫描报告,我们的评估系统将使用CVSS测量这些漏洞。因此,管理员可以更轻松地确定漏洞风险,并帮助他们进行修补程序管理。每个企业/组织将设置自己的策略和检查表。选择策略后,我们的配置扫描程序将使用CCE定义扫描PC和服务器。管理员可以确定是否存在错误配置,并予以纠正。
3.1使用CVSS进行漏洞评估
目前,有各种漏洞扫描工具可用(既可盈利也可免费)在本文中,我们将重点放在如何更准确地评估漏洞上。各种漏洞扫描程序供应商声称他们的产品包括CVSS。然而,事实是他们只包含CVSS基本分数。在我们的系统中,我们实现了完整的CVSS,并将CVSS评分系统导入Nessus。不仅是基础分数,还有时间和环境分数。
图4是我们的CVSS模块架构。CVSS生成器将解析Nessus扫描报告以获取我们需要的信息,如扫描IP、漏洞描述、CVE编号、CVSS基本矩阵和分数(如果存在)等。这还不足以产生时间和环境分数。因此,管理员需要导入其系统特征,例如每个IP的机密性、完整性和可用性。例如,与机密性相比,公告板服务器可能具有较高的完整性和可用性。用于存储用户帐户和密码的数据库服务器的机密性和完整性高于可用性。这些系统特性的配置文件将存储到数据库中,以备将来使用。管理员可以通过图形用户界面导入Nessus报告和系统特征。我们的系统将以两种格式生成漏洞报告。一个是供管理员使用的HTML报告,另一个是XML报告,用于使用其他工具进行解析以进行额外的分析。
配置文件数据库
在我们的系统中,配置文件数据库用于存储用户配置文件和系统特征。例如,如果用户在“潜在附带损害”(CDP)问题中选择了“低”选项,则配置文件数据库将在CDP度量中存储值0.1。配置文件数据库存储以下指标:
- 系统特性
- 潜在附带损害(CDP)
- 保密要求(CR)
- 完整性要求(IR)
- 可用性要求(AR)
3.2 使用CCE标准配置扫描仪
在CCE中,每个平台都有几个检查表和基准。检查表采用开放式漏洞和评估语言(OVAL)编写[15],配置文件采用可扩展配置检查表描述格式(XCCDF)编写[12]。
OVAL是一种广泛应用于许多领域的XML语言,例如漏洞和暴露(CVE)使用OVAL记录漏洞信息。在[1]中讨论的OVAL中有几个优点。XCCDF是一种用于编写安全检查表、基准测试和其他相关文档的规范语言。XCCDF旨在支持信息交换、文档生成、自动化法规遵从性测试和法规遵从性评分。XCCDF的目的是以统一的格式表示安全检查表、基准和其他配置指南。
我们使用这两种语言来实现CCE扫描器。我们在CCE模块中提出了一种自动CCE扫描仪。图5是我们的CCE模块架构。我们的CCE模块中有四个组件,包括策略、检查表、扫描和报告组件。
策略组件
我们使用XCCDF文件[6][7]来记录策略基准,例如企业环境中的企业中度影响系统的“企业中度”,以及专门安全限制功能环境中的高影响系统的“专门安全限制功能高”。每个人都有自己的清单。表1显示了我们支持的所有配置文件。
- 检查表组件
基于不同的政策,检查表将在测试项目和/或价值上有所不同。例如,策略“企业适中”中有85个检查表项,策略“专用安全限制功能高”中有109个检查表项。所有检查项目都记录在椭圆形文件中[6,7]。 - CCE扫描仪
扫描仪组件是我们扫描仪的核心,它根据上述清单工作。它检查每个项目及其值,以检测系统配置并确定其是否符合策略。 - 报表组件
最后,扫描仪将生成XML和HTML语言的报表。
4.实验和结果
在本节中,我们讨论了三个实验和结果。首先,我们使用KAT(已知答案测试)来验证标准CVSS的实现是否正确。其次,我们使用CCE配置扫描器扫描结果合理的系统。
4.1标准CVSS实验和结果
NVD网站上有一个标准CVSS计算器[11]。我们使用我们的标准CVSS模块计算漏洞得分,然后将其与计算器进行比较,以验证我们的系统是有效的。我们计算了以下两个漏洞,并将结果与CVSS计算器进行比较。所有安全要求(C、I、A)均设置为高。我们的实验结果如表2和表3所示。我们可以看到,我们标准的CVSS评估系统的分数与CVSS计算器一致。只有在某些情况下,由于我们采用了有效数字并产生了舍入差异,我们的CVSS分数可能与CVSS计算器分数略有不同,相差0.1分。我们的CVSS模块不仅适用于使用过的Nessus,而且还适用于其他漏洞扫描器,如III(信息产业研究所)漏洞扫描器。同时,III将与我们签订合同,以促进我们的CVSS漏洞扫描器组合.
- V4:High / CVSS Base Score : 6.3
(AV:L/AC:M/Au:NR/C:C/A:C/I:N) - V5:High / CVSS Base Score : 7.6
(CVSS AV:N/AC:H/Au:N/C:C/I:C/A:C)
4.2 CCE实验和结果
我们要求10名本科生使用CCE模块和扫描仪,使用策略基准扫描他们基于Windows XP的计算机。表4是我们的实验结果。我们可以看到失败数大于通过数。因此,我们可以推测他们的计算机包含许多错误配置的实例。但是,普通用户通常不会更改其计算机配置,并且大多使用供应商的默认配置。从供应商的角度来看,他们更多地考虑用户的方便,而不是系统安全,因此他们总是松散地设置配置。失败率高的另一个原因是实验档案不适合评估学校环境。对于这些安全配置文件,我们的实验环境可能是值得考虑的。表5是我们扫描一台基于Windows Server 2003的计算机的实验结果,其情况与Windows XP相似。这符合我们的期望。
5.结论和今后的工作
在本文中,我们提出了一个自动漏洞和错误配置严重性评估器,并实现了其组件。我们的系统中有两个主要组件:CVSS模块和带有配置扫描仪的CCE模块。
我们使用Nessus漏洞扫描器实现了CVSS模块,以更准确地评估漏洞。此外,我们遵循CCE定义,使用CCE扫描器实现CCE模块,该扫描器可以使用不同的基准对计算机进行扫描。作为概念证明,我们的CCE扫描器仅实现注册表测试和文件权限测试,我们未来工作的一部分是在CCE中实现更多测试,例如访问令牌和审核事件策略测试等等。另一个改进是CCE扫描程序作为代理的能力,这样我们可以将计算机中的信息收集到一个集中的服务器中。
我们将我们的标准CVSS模块结果与CVSS计算器结果进行比较,结果相同。根据我们的实验结果,我们证明了我们的CCE模块和扫描仪是有效的。我们还希望该系统能够发展成为一个更完整、更强大的工具,进一步帮助管理员处理企业/组织的安全问题。
我们的贡献是实现一个系统,通过准确的漏洞定义和配置,帮助诊断当前的企业/组织安全状态。
未来的工作可以包括使用数学模型来分析我们改进的CVSS系统。目前,我们使用trail和error来确定合适的参数值。使用数学模型可以让我们确定最佳参数值。我们可以在CCE扫描仪中实现CVSS风格的严重性分级,以便对错误配置的严重性进行评分和权衡。我们的实验只是评估校园环境中的安全配置文件,所以我们得到了更多的失败项目。因为我们的CCE模块能力将在未来测试和验证企业或政府部门的环境。这些环境更适合于安全配置文件和验证安全级别。