
Submitted by Ryan Barnett 05/27/2010
You may have heard that the Build Security In Maturity Model (BSIMM) version 2 was recently released which helps to document various software security practices that are employed by organizations to help prevent application vulnerabilities. OWASP also has a similar project with its Open Software Assurance Maturity model (OpenSAMM).
I was recently asked by a prospect how a Web Application Firewall fits into these security models and I realized that this was properly documented anywhere. Here are a few direct mappings that I came up with.
Deployment PhaseThe main benefit of a WAF is that it is able to monitor the web application in real-time, in production. This addresses some of the limitations of static application assessment tools (SAST) and dynamic application assessment tools (DAST).
BSIMM2 lists the following table to describe Deployment: Software Environment items:
|
DEPLOYMENT: SOFTWARE ENVIRONMENT OS and platform patching, Web application firewalls, installation and configuration documentation, application monitoring, change management, code signing. |
|||
|---|---|---|---|
| Objective | Activity | Level | |
| SE1.1 | watch software | use application input monitoring | 1 |
| SE1.2 | provide a solid host/network foundation for software | ensure host/network security basics in place | |
| SE2.2 | guide operations on application needs | publish installation guides created by SSDL | 2 |
| SE2.3 | watch software | use application behavior monitoring and diagnostics | |
| SE2.4 | protect apps (or parts of apps) that are published over trust boundaries | use code signing | |
| SE3.2 | protect IP and make exploit development harder | use code protection |
3 |
The Deployment: Configuration Management and Vulnerability Management section lists the following criteria:
|
DEPLOYMENT: CONFIGURATION MANAGEMENT AND VULNERABILITY MANAGEMENT Patching and updating applications, version control, defect tracking and remediation, incident handling. |
|||
|---|---|---|---|
| Objective | Activity | Level | |
| CMVM1.1 | know what to do when something bad happens | create/interface with incident response | 1 |
| CMVM1.2 | use ops data to change dev behavior | identify software bugs found in ops monitoring and feed back to dev | |
| CMVM2.1 | be able to fix apps when they are under direct attack | have emergency codebase response | 2 |
| CMVM2.2 | use ops data to change dev behavior | track software bugs found during ops through the fix process | |
| CMVM2.3 | know where the code is | develop operations inventory of apps | |
| CMVM3.1 | learn from operational experience | fix all occurrences of software bugs from ops in the codebase (T: code review) | 3 |
| CMVM3.2 | use ops data to change dev behavior |
enhance dev processes (SSDL) to prevent cause of software bugs found in ops |
- CMVM2.1 - Be able to fix apps when they are under direct attack
- CMVM1.2 - Use ops data to change dev behavior
SSDL Touchpoints: Security TestingThe Security Testing section of BSIMM2 outlines the following:
- ST1.1 - Execute adversarial tests beyond functional
- ST3.4 - Drive testing depth