Testing Security
Functions
|
|
|
|
Role of the Security Function Testing |
|
Aspects of the System Security
Realization |
|
ATE_COV: The High Level (Security)
Design |
|
ATE_DPT: The Low Level (Security)
Design |
|
ATE_FUN: TSF Internals |
|
ATE_IND: The Implementation
Representation |
|
Security Function Testing In EROS |
Role of Security Function
Testing
|
|
|
|
Show That TOE Functional Requirements
Are Satisfied |
|
Emphasis Is On Confirming That TOE
Operates According To Its Specification |
|
Positive testing to show presence of
required behaviors |
|
Negative testing to show absence of
prohibited behaviors |
|
Can be Applied Recursively to TOE
Internal Structure |
Points to Remember
|
|
|
|
Penetration Testing Covered Under
Vulnerability Assessment Class |
|
Functional Testing Limitations |
|
Only shows behavior for tested
configurations |
|
Cannot be exhaustive for complex
systems |
|
Cannot show absence of unspecified
functions |
|
Main Value of Functional Testing Is to
Show That There Is At Least One TOE Configuration That Meets ST SFRs |
ATE_COV – Test Coverage
|
|
|
|
Definition |
|
Aspects |
|
Components |
|
Evidence Of Coverage |
|
Analysis of Coverage |
|
Rigorous Analysis of Coverage |
Definition
|
|
|
|
Coverage Is A Measure Of The Extent To
Which The Test Cases Demonstrate That The Specified TSF Are Present And
Operate As Specified |
|
i.e., a measure of how many of the TSF
interfaces specified in the Functional Specification are actually exercised
by tests |
Aspects of the Family
|
|
|
Correspondence |
|
Completeness |
Correspondence
|
|
|
Provide An Analysis that Shows or
Demonstrates Which TSF Interface(s) Each Test Is Exercising |
|
“Show” Only Requires An Assertion That
A Test Exercises An Interface |
|
“Demonstrate” Requires An Explanation
Of How The Test Exercises The Interface(s) |
Completeness
|
|
|
|
Provide An Analysis That Demonstrates
That The Full Set Of Tests Exercises The Full Range Of TSF Interfaces |
|
Rigorous Demonstration Requires That It
Be Shown That The Testing Of Each Interface Be Complete (i.e., exhaustive) |
|
Potentially a flawed requirement, since
it is generally acknowledged that complex system interfaces cannot be
exhaustively tested |
Evidence Of Coverage
|
|
|
“The developer shall provide evidence
of the test coverage.” |
|
“The evidence of the test coverage
shall show the correspondence between the tests identified in the test
documentation and the TSF as described in the functional specification.” |
Analysis of Coverage
|
|
|
The developer shall provide an analysis
of the test coverage. |
|
The analysis of the test coverage shall
demonstrate the correspondence between the tests identified in the test
documentation and the TSF as described in the functional specification. |
|
The analysis of the test coverage shall
demonstrate that the correspondence between the TSF as described in the
functional specification and the tests identified in the test documentation
is complete. |
Rigorous Analysis of
Coverage
|
|
|
The analysis of the test coverage shall
rigorously demonstrate that all external interfaces of the TSF identified in
the functional specification have been completely tested. |
ATE_DPT – Test Depth
|
|
|
|
Definition |
|
Aspects |
|
Components |
|
Testing: High-Level Design |
|
Testing: Low-Level Design |
|
Testing: Implementation Representation |
Definition
|
|
|
|
Depth Is The Level Of Detail To Which
TSF Is Tested |
|
Keyed to the ADV representations |
|
Objective Is To Catch Both Subtle
Errors That Are Only Visible At Internal Interfaces And Insertion Of
Malicious Code |
Aspect of the Family
|
|
|
|
Granularity Of Testing |
|
Essentially specifies the resolution of
the white/grey box testing that most be done |
Testing: High-Level
Design
|
|
|
The developer shall provide the
analysis of the depth of testing. |
|
The depth analysis shall demonstrate
that the tests identified in the test documentation are sufficient to
demonstrate that the TSF operates in accordance with its high-level design. |
Testing: Low-Level Design
|
|
|
The depth analysis shall demonstrate
that the tests identified in the test documentation are sufficient to
demonstrate that the TSF operates in accordance with its high-level design and
low-level design. |
Testing: Implementation
|
|
|
The depth analysis shall demonstrate
that the tests identified in the test documentation are sufficient to
demonstrate that the TSF operates in accordance with its high-level design,
low-level design and implementation representation. |
ATE_FUN – Functional
Testing
|
|
|
|
Definition |
|
Aspects |
|
Components |
|
Functional Testing |
|
Ordered Functional Testing |
Definition
|
|
|
Functional Testing Is Performed By The
Developer To Establish That The TSF Exhibit The Properties Necessary To
Satisfy The Functional Requirements Of The PP/ST |
|
The Chosen ATE_COV and ATE_DPT
Components Will Determine The Amount Of Evidence Required By ATE_FUN |
Aspects of the Family
|
|
|
Plans |
|
Procedures |
|
Expected Results |
|
Actual Results |
|
Ordering Dependencies |
Plans
|
|
|
|
Focus Of The Test Plans Is On The
Security Functions Being Tested |
|
Essentially rationalize each test |
|
The plan for each test describes its
goal(s) in terms of the security functions it will exercise |
Procedures
|
|
|
|
The Focus Of The Test Procedures Is On
The Mechanics Of Executing The Tests |
|
Each Test Procedure Includes: |
|
Description of how to run the test |
|
Description of the system security
state assumed by the test |
|
Description of other tests that must be
executed first to bring system to the required security state (i.e., test
ordering dependencies) |
Expected Results
|
|
|
Actually An Aspect Of The Test
Procedures That Identifies The Output Predicted By The Specification From
Which The Test Is Derived |
Actual Results
|
|
|
The Log Of The Results Obtained When
The Developer Actually Runs The Test And A Demonstration That Those Results
Are Consistent With The Expected Results And Therefore With The Specified
Security Behavior Of The TSF |
Ordering Dependencies
|
|
|
An Analysis That Rationalizes The Test
Ordering Dependencies |
|
Is Useful In Determining Adequacy Of
Testing, Since It Might Allow Discovery Of Boundary Conditions That Can Be
Concealed By Careful Ordering Of The Tests |
Functional Testing
|
|
|
The developer shall test the TSF and
document the results. |
|
The developer shall provide test
documentation. |
|
The test documentation shall consist of
test plans, test procedure descriptions, expected test results and actual
test results. |
|
The test plans shall identify the
security functions to be tested and describe the goal of the tests to be
performed. |
|
The test procedure descriptions shall
identify the tests to be performed and describe the scenarios for testing
each security function. These scenarios shall include any ordering
dependencies on the results of other tests. |
|
The expected test results shall show
the anticipated outputs from a successful execution of the tests. |
|
The test results from the developer
execution of the tests shall demonstrate that each tested security function
behaved as specified. |
Ordered Functional
Testing
|
|
|
The test documentation shall include an
analysis of the test procedure ordering dependencies. |