Skip to main content

Enterprise MSF Agile (with CobiT)

Go Search
Home
  
Enterprise MSF Agile (with CobiT) > Wiki Pages > Activity - Write Security Tests (Test a Quality of Service Requirement)  

Activity - Write Security Tests (Test a Quality of Service Requirement)

Activity Information

Write Security Tests

Description

Security tests or penetration tests utilize the threats found in the threat modeling process to simulate an adversary's attempt to achieve specific malicious goals in the product. This form of testing can be divided into three parts: exploration, flaw identification, and exploitation. Penetration testing can result in the discovery of new vulnerabilities that become security requirements or bugs in the attempt to lock down entry points and subsequent access to assets. As a result, testers must be as aware of the elements of the threat model as architects are. This form of testing requires the special skills of being able to think and act like the adversary. Access to the threat model gives them the ability to systematically attack the system in an informed way.

Roles

PerformerTester

Steps

  1. Explore the Entry Points:
    Identify a system's entry points and functionality for the protection of assets. Use an informed testing approach, gathering information from the threat model to determine the expected avenues of attack.

    Prioritize the entry points and cross reference the entry points with the trust levels. Create environments and test configurations for each of the trust levels.

  2. Identify Flaws:
    Write test cases that utilize directed or semi-random tests to attempt to access to an asset. Directed measures are aimed at bypassing specific security measures. For example, look to acquire a session identifier and modify the account number in a URL.

    Semi-random attacks may use fuzzing or the manipulation of a data format or protocol to test boundary conditions or elicit errors from the application. Test limits such as buffer sizes, integer roll-overs, negative numbers, and buffer lengths.

  3. Exploit Weaknesses:
    Add test cases to exploit any weaknesses found to attempt to access assets. Some of these test cases will have to be exploratory rather than fixed. Take into consideration the amount of time required to figure out how to exploit weaknesses to access assets. While unauthorized entry into the system is a bug, access to protected assets presents the strongest case for fixing these bugs. Ensure that the security test case scenarios address common tactics used to capture secret data, gain unauthorized access, or deny access to legitimate users.

    Save these manual test cases in the appropriate security requirement folder. Check them in. Add any test data requirements to the section of the test approach worksheet for this iteration.

Inputs and Outputs

WorkProductInputOutputAllowable States
Manual Test(none)
Quality of Service RequirementActive

Predecessors

TypeNameDependency Type
Develop Threat ModelFinish-Start

Successors

TypeNameDependency Type
Select and Run a Test CaseFinish-Start
Select and Run a Test CaseFinish-Start

Last modified at 1/17/2008 11:18 PM  by Administrator