18.7: Apply Static and Dynamic Code Analysis Tools

Apply static and dynamic analysis tools to verify that secure coding practices are being adhered to for internally developed software.

Asset Type

Security Function

Implementation Groups

N/A

N/A

2, 3

Dependencies

  • Sub-control 2.1: Maintain Inventory of Authorized Software

Inputs

  1. The inventory of internally-developed software (from the organization’s software inventory)

  2. The inventory of static analysis tools (from the organization’s software inventory)

  3. The inventory of dynamic analysis tools (from the organization’s software inventory)

Operations

  1. Map the inventory of internally-developed software to the applicable static/dynamic analysis tools which are used for verification.

Measures

  • M1(i) = (For each software “i” from Input 1) 1 if the software is verified by static analysis tool(s); 0 otherwise

  • M2(i) = (For each software “i” from Input 1) 1 if the software is verified by dynamic analysis tool(s); 0 otherwise

  • M3 = Count of internally developed software (the count of Input 1)

Metrics

Static Analysis Tool Coverage

Metric

The ratio of internally developed software verified by static analysis tools to the
total number of internally developed software applications

Calculation

(SUM from i=1..M3 (M1(i))) / M3

Dynamic Analysis Tool Coverage

Metric

The ratio of internally developed software verified by dynamic analysis tools to the
total number of internally developed software applications

Calculation

(SUM from i=1..M3 (M2(i))) / M3