Security Testing Flashcards

1
Q

Software Testing

Connectivity

Vulnerability

Security Testing

A

Software Testing: Software Evaluation against (Functional/Non-functional) Requirements.

Connectivity: e.g., Cloud Computing, Location-based Services

Vulnerability: A weakness of an asset or group of assets that can be exploited by one or more threats

Security Testing: Software Evaluation against Security Requirements

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Static Testing

Dynamic Testing

Test Suite

A

Static Testing: Review software development artifacts without executing them

Dynamic Testing: Execute and Verify Software against expected behaviours from a finite set of Test Cases

Test Suite = A finite set of test cases

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Test Case Execution

A

Verdict: Pass / Fail / Inclusive
Failure: an undesired behaviour
Fault: the cause of the failure

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Security functional testing

Security vulnerability testing

A

Security functional testing: To validate intended security functionality

Security vulnerability testing: To identify unintended system vulnerabilities

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Exploitation

Attack

A

Exploitation: malicious input/steps to make use of a vulnerability

Attack: perform an exploitation to violate related security property of an asset

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Model-Based Testing (MBT)

A

Automatic and systematic generation of test cases from models of systems under test and their environments

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

MBT Benefits

A

Better documentation of test cases

The ability to automatically generate useful tests and measure and optimize test coverage

Higher test quality through model-based quality analysis

Shorter schedules and lower costs

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Model-Based Security Testing (MBST)

A

Input Models:
Attacker models: attackers’ targets, capabilities and steps

Vulnerability models: Weakness encoding in system models

Properties models: Asset not-to-be-violated security properties (CIA) encoding in system models

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Abstract Test Cases (ATC)

A

ATC = A sequence of Attack Actions.

ATC Execution = Execute every attack action in order.

Successful Execution/Attack = All attack actions are successfully executed.

Failed Execution/Attack = All attack actions are successfully executed.

An ATC passes if its execution is not successful.

An ATC fails if its execution is successful.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Coded-Base Security Testing (CBST)

A

To detect vulnerabilities by examining the source code.

Input: Source code (non-executable system under test)

Approaches: Manual vs Automatic

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Manual Code Review

A

Expert to read source code line-by-line

Steps:
To understand attack surfaces
To review code
To report the result

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Static Application Security Testing
(SAST)

A

Syntactic checks: e.g., calling insecure APIs, using insecure configuration options

Semantic checks: using models of data flow and/or control flow.
E.g., SQL Injection vulnerability due to an unsanitised data flow
from input to a SQL statement.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Penetration Testing

A

To mimic real-world attacks on real systems and data.

To use tools and techniques commonly used by attackers.

To avoid the security features.

To seek combinations of vulnerabilities on one or more systems to gain more access

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Pen-Testing Pros

A

Pen-testing helps determine:

The system tolerance under real-world attacks.

The level of sophistication an attacker needs.

Additional countermeasures to mitigate threats.

Defenders’ ability to detect and respond to attacks

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Pen-Testing Cons

A

Labour intensive.

Require great expertise.

Cause SUT (or even relevant systems) damaged or inoperative.

Need careful consideration, notification and planning

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Fuzz Testing

A

To stress system under test with unexpected inputs and data structures through external interfaces