Parasoft如何满足DISA STIG标准

  上期讲到了DISA STIG的一些基础知识,但是对于我们用户来讲,我们其实更加关心如何去通过DISA STIG这个标准。但是这个通过流程并不是那么简单,所以这一期我们就来聊聊,DISA STIG标准需要我们怎么做才能通过行业认证呢?在了解需要需要做的事情后,如何高效地去实现呢?

DISA STIG过认证需要什么?

实现对DISA STIG的遵从需要提供证据,通常都是以文档的形式来呈现给审计员。但是DISA STIG中有非常多的详细条例,而且通常情况下,目标也有数百个组件,这样数量庞大的文档通过手写肯定完成不了,所以我们需要利用工具来辅助我们完成这项工作量庞大的任务。

DISA STIG过认证需要的东西如何快速获得?

我们可以通过静态分析工具来获得我们所需要的文档,但是要做到高效,低风险,节省资源,我们还是需要一些特定的方法来实现这些操作的。这个方法就是三步走。

第一步:使用SAST工具进行应用程序扫描,以确保在应用程序中检测并修复漏洞。DISA  STIG 对检测和修复哪类漏洞有具体的指导方针。

第二步:使用功能和渗透测试工具进行安全性应用测试,以验证和确认 DISA STIG 要求。

第三步:将测试左移。测试左移能够减少导致漏洞的不良编码实践。这种扫描包括常见的CERT C/C++编码标准等。

1、2、3步是验证和记录实现目标合规性的关键,它是从检测到预防安全漏洞的成熟过程。

Parasoft能起到什么作用?

简单来说,Parasoft的工具能够涵盖三步走的所有内容。

1. Parasoft C/C++test

C/C++test能够满足第一步和第三步的需求。在C/C++test当中有内置好的DISA STIG合规包,通过界面点击,就能轻松实现对项目的静态分析,并且可以生成可供DISA STIG认证使用的报告。

Parasoft如何满足DISA STIG标准_第1张图片

DISA STIG 的前一版本(v3.x)需要使用静态代码分析以及特定的静态分析指南来检查。然而,目前的版本并非如此。最新修订版使用了术语“应用程序扫描”,除了通过静态代码分析进行漏洞评估的一般要求之外,还有以下要求:

» OWASP Top 10 (V-69513)

» Overflows (V-70277)

» Race conditions (V-70185)

» Error handling (V-70391)

而C/C++test里面提供了4700多条规则,涵盖了上面这些分类的规则。只需要轻松地勾选搭配就可以自定义属于自己的测试配置。

C/C++test可以集成到CI/CD的管道中,在开发人员每天提交代码后就会自动进行静态分析,并且第二天可以将报告分发给对应的开发人员进行修改。这样就把测试的过程左移到了开发阶段。而不是像传统流程一样,等所有的产品都已经开发好之后,再来进行测试工作,导致很多问题没办法下手,会耗费很大的代价来完成测试工作。

2. Parasoft SOAtest

Parasoft SOAtest能满足第二步的需求。DISA STIG 测试的测试自动化的一个关键方面是验证 STIG 中规定的 API 要求和标准。使用Parasoft SOAtest进行API测试是高度自动化的。

Parasoft如何满足DISA STIG标准_第2张图片

例如,DISA STIG 漏洞ID V-69279,规则SV- 83901r1,它声明: "受 WS_Security 保护的消息必须使用带有创建和过期时间的时间戳"。测试该漏洞的一种方法是在 SOAtest 中创建一个测试来检查 SOAP 消息并验证它们的时间戳,如下所示。

Parasoft如何满足DISA STIG标准_第3张图片

在开发阶段,真实的客户端是不可用的。这必须通过工具来模拟,如果需要满足依赖性,可以虚拟化缺失的服务。看着在上面的例子中,我们可以创建一个客户机,用所需的 WS-Security SOAP 头向安全服务器发送 SOAP请求。工具会自动检测出违规的地方,并报告出来。这种类型的测试可以用于系统中的每个API,通过检查勾选的漏洞规则来验证DISA STIG规定的要求。这种自动化方法的好处是能够克隆和修改现有的测试以适应其他服务,以及测试的可重复性。所以利用工具,我们可以很轻松地进行回归测试,并且是完全自动化的。

往期推荐

你真的了解DISA STIG吗?

你可能感兴趣的:(软件测试,测试工具,安全性测试,功能测试)