DISA ASD STIG包括国防信息系统局(DISA)、应用程序安全与开发(ASD)和安全技术实施指南(STIG)。它们是国防部使用的一系列保护台式机和企业应用程序安全的准则。有很多STIGS用于保护DoD基础设施和服务的不同部分,但是,ASD指南涵盖内部应用程序开发和第三方应用程序评估。
要达到对DISA ASD STIG指南的要求,通常需要以证明文件的形式证明安全合规并使得审核员满意。这篇文章涵盖:
- Parasoft推荐的一种有效、低风险且具有成本效益的方式来实现合规性。
- 指定使用应用程序扫描程序或应用程序代码扫描程序的需求,团队可以使用静态分析工具进行验证。
软件开发合规性的三级方法
为了实现合规性,需要一种三级验证方法:
- 应用程序代码扫描使用静态分析工具检测漏洞,以确保对应用程序进行修复。ASD STIG对于要检测和修复的漏洞类别有特定的准则。
- 使用功能和渗透测试工具进行的安全性系统测试可验证和验证DISA ASD STIG要求。有关更多信息,请参见DISA ASD STIG中功能测试自动化的作用。
- 左移遵循预防性流程可以消除导致漏洞的不良编码实践。广泛的检测范围包括应用程序扫描和行业编码标准(例如CWE或CERT安全编码)的应用。它还包括消除“代码异味”之类的准则,这些准则是众所周知的不良做法,是导致软件安全漏洞的根本原因。
这种1-2-3打孔是通过验证和记录文件实现合规性的关键。目标是使过程变得成熟,从发现到预防安全漏洞。
符合DISA ASD STIG意味着什么?
ASD STIG使用严重性类别代码(CAT I,CAT II,CAT III)根据准则被利用的可能影响来组织准则并确定其优先级。
信息图表列出了类别I(11%),类别II(81%),类别III(8%)的DISA类别代码准则。
评估产品和过程文档以及根据准则观察和验证功能可确定合规性。换句话说,STIG要求通过软件开发生命周期各个方面的文档,验证和确认来进行安全设计和实施的证据。这包括部署和操作。这些准则适用于产品的整个生命周期,包括配置、部署、维护和寿命终止。
静态应用程序安全性测试
对于本文的讨论而言,重要的是对应用程序代码扫描器的要求:
“……一种自动化工具,可以分析应用程序源代码中的安全漏洞、恶意代码和后门。” — DISA ASD STIG概述,第4.1节
在更常用的术语中,这是通过静态代码分析实现的静态应用程序安全测试(SAST)。“应尽可能利用它。特别是在开发环境中,可以在发布之前解决已确定为需要补救的代码。”ASD STIG还包含以下指导:
“应用程序扫描程序可用于测试开发或生产应用程序系统是否存在由于应用程序代码错误或应用程序系统配置错误而导致的安全漏洞。这些漏洞包括SQL注入、代码注入、跨站点脚本(XSS)、文件泄露、权限以及可在网络可访问的应用程序中找到的其他安全漏洞。” — DISA ASD STIG概述,第4.2节–应用程序扫描程序
ASD STIG要求使用活动的漏洞测试(例如,笔测试工具)来测试可执行软件。在开发和部署期间需要这些工具来支持漏洞评估。
DISA ASD STIG验证方法
ASD STIG概述了验证符合要求的方法,包括:
- 应用程序代码和应用程序扫描
- 人工审核
- 功能安全测试
团队使用SAST工具报告和审核来验证应用程序和代码扫描。功能测试正在使用自动化工具或手动测试来验证该软件中不存在该漏洞。换句话说,将这种方法视为“做某事,检查某件事”。例如,检查操作是否正常运行,并在必要时进行了记录。这些方法适用于自动化测试,因为它提供了效率和审核跟踪工具。
实用的DISA ASD STIG静态分析工具合规方法
要求DISA ASD STIG的DoD进行软件开发的现实情况是,您必须测试所有要求和漏洞。这可能是一项艰巨的任务,但是自动化可以减轻一些负担。
Parasoft关于如何遵循DISA ASD STIG的建议是在最有意义的地方利用自动化,例如CI/CD管道或DevSecOps流程。目标是减轻合规性负担,但也要使用先发制人的技术来防止漏洞。与开发期间相比,在软件即将完成时检测和修复漏洞更加昂贵且耗时。因此,Parasoft的方法是在生命周期的较早阶段左移漏洞评估、检测和修复。
通过静态分析满足DISA ASD STIG应用程序扫描要求
DISA ASD STIG使用术语“应用程序扫描”,该术语等同于静态代码分析和相关技术,例如软件组成分析。除了通过静态代码分析进行漏洞评估的一般要求之外,还有一些特定要求来扫描特定漏洞,例如:
- OWASP Top 10(V-69513)
- 溢出(V-70277)
- 比赛条件(V-70185)
- 错误处理(V-70391)
尽管这看起来像是一小组漏洞,但实际情况是这转化为许多相关的软件漏洞。例如,OWASP(开放Web应用程序安全性项目)的前10名转化为超过50个CWE。每个都有多个相关的弱点。
尽管这是特定于合规性的漏洞集,但还是要考虑广泛地检测一系列漏洞。此外,重要的是,团队必须将注意力集中在DISA ASD STIG的指南之外,以包括预防性指南,例如常见的行业安全编码标准中所包含的那些。
顾名思义,OWASP Top 10是致力于提高Web应用程序安全性的组织。他们的OWASP Top 10项目提供了最常见和影响最大的Web应用程序安全漏洞的列表。
与SCA工具集成
虽然可以使用静态分析工具来检测大多数问题,但有些问题无法进行静态分析。避免具有已知漏洞的软件的准则与软件组成分析(SCA)有关。Parasoft通过将SCA工具与我们的静态分析输出集成到单个报告中来支持这一点,从而全面涵盖了前10名。
通过预配置设置和针对C/C++,Java和C#/.NET的特定Web仪表板报告,Parasoft静态分析为OWASP Top 10提供了开箱即用的支持。Parasoft工具中的OWASP报告为项目提供了完全可审核的合规性框架。这些报告集成到特定于标准的仪表板中,例如下面的DISA ASD STIG仪表板。
Parasoft DISA ASD STIG仪表板
Parasoft实施了所有主要的应用程序安全标准,例如SEI CERT安全编码,CWE(通用弱点枚举)编码准则,UL 2900和OWASP,以及每个标准的安全性专用仪表板。这可以帮助用户了解未解决的违规/漏洞/安全缺陷的风险和优先级。
安全重点报告
合规报告可按需提供。合规性标准非常灵活,并且特定于团队的项目和代码库。开发人员可以根据严重性、风险、影响、代码使用年限、组件的重要性等来制定策略。他们可以使用它们轻松地指导开发并向审核员显示努力。
Parasoft OWASP十大合规性报告
静态分析工具的关键方面之一是报告和分析功能。项目会在警告方面创建大量数据,并且会逐个生成倍增。数据管理对于静态分析工具的成功采用和投资回报至关重要。
为每个编码标准和安全性准则调整的仪表板、报告和一致性至关重要。Parasoft分析利用行业标准的风险模型以及多种人工智能(AI)和机器学习(ML)技术来确定安全警告的优先级,并帮助开发人员专注于影响最大的最关键问题。
总结
DISA ASD STIG提出了一系列艰巨的要求,以确保国防部应用程序的软件安全。有多种方法可以证明符合STIG中概述的规则。常用方法包括:
- 文件审核
- 来自静态分析仪等工具的报告
- 必要时手动调查应用程序日志
STIG概述了自动化机会的关键领域,例如应用程序代码和应用程序扫描。静态分析有助于实现其中一些目标。
务实的方法可减轻合规性负担,并鼓励采取预防措施,以在项目生命周期的早期消除漏洞。 Parasoft的静态分析可及早发现漏洞。此解决方案可强制执行代码样式和质量,以尽早防止不良的安全做法。
在《如何达到DISA ASD STIG规范进行软件开发》白皮书中详细介绍了测试自动化的作用,工具的必需方面以及实现DISA ASD STIG的实用方法。需要查阅的朋友可以联系我。