This site is the archived OWASP Foundation Wiki and is no longer accepting Account Requests.
To view the new OWASP Foundation website, please visit https://owasp.org
Difference between revisions of "OWASP Proactive Controls"
From OWASP
(→8) Leverage Security Features of Frameworks and Security Libraries) |
m |
||
Line 275: | Line 275: | ||
It is critical to keep these frameworks and libraries up to date as described in the [https://www.owasp.org/index.php/Top_10_2013-A9-Using_Components_with_Known_Vulnerabilities <i>using components with known vulnerabilities</i> Top Ten 2013 risk]. | It is critical to keep these frameworks and libraries up to date as described in the [https://www.owasp.org/index.php/Top_10_2013-A9-Using_Components_with_Known_Vulnerabilities <i>using components with known vulnerabilities</i> Top Ten 2013 risk]. | ||
− | == 9) | + | == 9) Security in Requirements == |
− | |||
− | |||
There are three basic categories of security requirements that can be defined early-on in a software development project. These include: | There are three basic categories of security requirements that can be defined early-on in a software development project. These include: | ||
− | 1) ''' | + | 1) '''Security Features and Functions''': the visible application security controls for the system, including authentication, access control and auditing functions. These requirements are often defined by use-cases which include input, behavior and output, and can be tested for functional correctness by Q/A staff. Functional requirements like re-authentication during change password or a forgot password feature can be reviewed and tested by Q/A staff. |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | 2) '''Business logic abuse cases''': Business logic features are often multi-step multi-branch workflows that are difficult to evaluate thoroughly, for example eCommerce workflows, shipping route choices, or banking transfer validation. Business logic requirements should also include failure scenarios (what happens if a step fails or if someone tries to repeat a step?) and requirements derived from "abuse-cases". These abuse cases would describe how the application's functions could be subverted by attackers. Thinking about failures and edge cases and attack scenarios will uncover weaknesses that need to be addressed to improve the reliability and security of the system. | |
− | + | 3) '''Data Classification and Privacy Requirements''': developers must be aware of what personal and confidential information needs to be protected and tracked. This will drive the need for access control, encryption and auditing and logging controls in the system. | |
− | == 10) | + | == 10) Security in Architecture and Design == |
Designing secure software is a strategic effort where business, technical and security stakeholders agree on both the functional and non-functional security properties of software well before it is built. This is not an easy endeavor. | Designing secure software is a strategic effort where business, technical and security stakeholders agree on both the functional and non-functional security properties of software well before it is built. This is not an easy endeavor. |
Revision as of 16:59, 11 March 2014