|
|
Line 3: |
Line 3: |
| {| style="padding: 0;margin:0;margin-top:10px;text-align:left;" |- | | {| style="padding: 0;margin:0;margin-top:10px;text-align:left;" |- |
| | valign="top" style="border-right: 1px dotted gray;padding-right:25px;" | | | | valign="top" style="border-right: 1px dotted gray;padding-right:25px;" | |
| + | |
| + | ==<b>Table of content</b> == |
| + | <ol> |
| + | <li>[https://www.owasp.org/index.php?title=OWASP_Security_Integration_System#Description Description of the Secure code assurance tool (SCAT)]</li> |
| + | <li>[https://www.owasp.org/index.php?title=OWASP_Security_Integration_System#See_how_developers_use_SCAT Videos of showing how development teams use the SCAT]</li> |
| + | <li>[https://www.owasp.org/index.php?title=OWASP_Security_Integration_System#Preparation_phase How to import client specific risks, security requirements and tests]</li> |
| + | </ol> |
| + | |
| + | |
| + | |
| | | |
| ==<b>Description</b> == | | ==<b>Description</b> == |
Table of content
- Description of the Secure code assurance tool (SCAT)
- Videos of showing how development teams use the SCAT
- How to import client specific risks, security requirements and tests
Description
Secure code assurance tool (SCAT) is used by inhouse and third party development teams to build, verify and assure secure software
Build
-
SCAT uses code level guidance to clearly instructs developers on how to correctly implement security requirements
Verify
- SCAT uses a combination of ZAP basic scans and security test plans to verify correct implementation of security requirements
Assure
- SCAT centrally stores and publishes test results. Providing traceability through requirements and assurance evidence of correct implementation
SCAT performs the following “first line of defense” functions
Benefits realisation: Enabling development teams to deliver at speed
- Promoting compliance to security requirements
- Minimising the impact of audit and assurance
Risk optimisation: Minimise the negative and maximise the positive consequences
- Informing risk based decision making
Resource optimisation: Predictable, repeatable and consistent level of security across all teams
- Integrating security into the software development process
- SCAT is a simple 5 screen MVC, C# web application with a small footprint that can be deployed without further complicating development environment
- SCAT is part of three domains to consider when securing software development
I've detailed the other domains in an article that will be published in the Nov/Dec issue of the ISC2 magazine, I will add a link here after publication.
See how developers use SCAT
See below how the Secure code assurance tool integrates security into software development phases
- Sprint planning phase
- Developers use the Identify risks screen to
- Select the application critical function they are developing/changing
- Identify the technologies they are using to develop/change the application critical function
- The Secure code assurance tools uses its internal mapping to automatically generate the security requirements associated with using this technology
See how to use the tools and its internal mapping to generate security requirements
- Product owners use the Secure code requirements screen to
- Export security requirements for import into backlog management tools
- Development phase
- Developers use the Secure development screen to
- View and understand how to attack and prevent the risks associated with the critical function
- View the secure code requirements to protect against exploitation
- View the secure code block to implement the security requirement
- After development run a ZAP basic scan to verify security requirements have been correctly implemented
See how the tool helps developers understand security requirements and write secure code
- Testing phase
- Testers use the Secure testing screen to
- View the test plans required to test the risk
- Attach testing result to the test plan as control assurance evidence proving the risk has been mitigated
- The Secure code assurance tool does not integrate with any testing tools other than OWASP ZAP. Testing results generated outside of the secure code assurance tool is manually uploaded and stored
See how the tool helps testers test risk mitigation efforts and store testing evidence
- Approval phase
- Risk management
- Risk managers use the Application risk exposure screen to
- View each application critical function and the associated risks
- Identify where mitigation effort is required by viewing which risks require security requirements
- Identify where development effort is required by viewing which security requirements need secure code blocks
- Identify where extra testing effort is required by viewing which risks require security test plans
See how the Application landscape overview screen informs risk based decision making
Preparation phase
When developing secure software the SCAT helps development teams
- Write secure code
- Safely deploy in organisation environment
Write secure code
- The SCAT uses OWASP risks, security requirements and tests to guide development teams towards writing secure code
- The SCAT contains the OWASP data map out the box but it needs to be modified to fit the organisation
- Information security and development team use the Internal mapping screen
- To map the security requirements to OWASP risks
- To map organisation approved secure code blocks to security requirements
- To map security test plans to OWASP risks
See how to setup the SCAT's internal mapping
Safely deploy in organisation environment
How does the SCAT implement first line of defence
Promoting compliance to security requirements
- Understand the security requirement: The tool maintains the following internal mapping allowing organisations to translate complex security requirements into code level and testing guidance
- Risks mapped to technologies and secure code requirements
- Secure code requirements (OWASP ASVS) mapped to secure code building block
- Secure test plans (OWASP testing guide) mapped to risks
- The second mapping is lifted from OWASP secure knowledge framework and duplicated in the SCAT. I hope to link with the SKF and remove the duplicate functionality from the SCAT tool
- Verify understanding: The tool also makes use of OWASP ZAP basic scan to scan localhost for vulnerabilities, confirming the correct implementation of security requirements
Minimising the impact of audit and assurance
- In the testing and approval phase SCAT allows testers to stores testing evidence against the critical application function and its associated risk. Providing traceability through requirements and centrally storing and publishing test evidence
Informing risk based decision making
- For each application critical function, SCAT shows
- The risks that impact that application critical function
- Security requirements and secure code block to protect against the risk
- Test evidence proving risk has been mitigated to within tolerance
- Allowing risk teams see levels of exposure, easily compare it to tolerance levels. And prioritise and coordinate mitigation activities across teams and the whole application landscape
Integrating security into the software development process
- SCAT wraps security theory, best practices and requirements into set of single purpose security screens. Then plots each of those screens to a specific software development phase
- Plotting security screens to specific software development phases provides development teams with concise information when and how they need it
Who uses Secure code assurance tool (SCAT)
- Information security, risk, assurance and compliance teams define strategic direction in security policies and requirements
- Software development teams need to implement strategic direction in code. But don't always have time to study and understand huge security policy documents or complex requirements
- SCAT is the integration layer between strategic direction and implementation and translates strategic security direction into code level and testing guidance
- SCAT uses guidance, training, validation and integration to secure software and promote compliance, rather than costly post development policing
Licensing
This program is free software: you can redistribute it and/or modify it under the terms of the link GNU Affero General Public License 3.0 as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
Project Resources
[Installation Package]
[Source Code]
Project Leader
Michael Bergman
Classifications
|