CS-239 Software Security Engineering

0.0(0)
studied byStudied by 56 people
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/74

encourage image

There's no tags or description

Looks like no tags are added yet.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

75 Terms

1
New cards

Cybersecurity

  • Deals with the prevention and detection of unauthorised actions of a computer system

  • Measures taken to deal with intentional actions done by parties behaving in some unwelcome fashion.

2
New cards

Threat

Possible means by which desired security properties may be violated.

3
New cards

Vulnerabilities

Expose assets and their value to threats.

4
New cards

Security Controls

Protect against threats and vulnerabilities.

5
New cards

Confidentiality

Preventing unauthorized disclosure of information.

6
New cards

Privacy

Protection of personal data.

7
New cards

Integrity

Prevent unauthorized modification of information or service.

8
New cards

Availability

Prevent unauthorized withholding of information or resources.

9
New cards

Access Control

Prevent unauthorized access to data or resources.

10
New cards

Authentication

Prevent users from falsifying their identity.

11
New cards

Authorisation

Prevent users from violating their privileges.

12
New cards

Elapsed Time

The total time taken from identifying the vulnerability to exploit to develop a method to deliver an exploit, and to sustain this to ultimately launching an attack.

13
New cards

Specialist Knowledge Required

Specialist technical expertise required to realize a threat. This is the prerequisite level of widely available knowledge needed to realise the threat effectively.

14
New cards

Knowledge of the Target

Design and operational knowledge needed to execute a threat. This is related to the knowledge of the target (identified for exploitation).

15
New cards

Window of Opportunity

The level of access and the time window where the target is available (opportunity) for an exploitation to be carried out.

16
New cards

Equipment and Resources Needed

Hardware, software, or equipment required for exploitation. The cost, nature and sophistication of the equipment and resources needed to realise the threat.

17
New cards

Stealth

Purposefully designed/delivered threats avoiding detection.

18
New cards

Attribution

The process of identifying the source of an attack.

19
New cards

Risk-Based Approach

Output is a measure of the risk associated with the unwanted event.

Threat Analysis

  • Asset identification

  • Threat scenario identification

  • Attack path analysis

Risk Assesment

  • Impact rating

  • Attack feasibility rating

  • Risk value determination

Cybersecurity Goals

  • Risk treatment decision

20
New cards

Item Definition

A pre-requisite for performing a TARA, identifying item boundary, interfaces, functions, architecture, and operational environment.

21
New cards

Asset

Object that has value, or contributes to value. An asset has one or more cybersecurity properties whose compromise can lead to one or more damage scenarios.

22
New cards

Cybersecurity Property

Attribute that can be worth protecting.

23
New cards

Damage Scenario (ISO/SAE 21434 definition)

Adverse consequence involving a vehicle or vehicle function and affecting a road user.

24
New cards

Threat Scenario

Potential cause of compromise of cybersecurity properties of one or more assets to realise a damage scenario.

  • How might an attacker compromise a cybersecurity property of an asset to achieve a damage scenario?

25
New cards

Spoofing (STRIDE)

A person or entity masquerades as another.

26
New cards

Tampering (STRIDE)

Insertion, modification, or deletion of data.

27
New cards

Repudiation (STRIDE)

An entity denies responsibility for an action.

28
New cards

Information Disclosure (STRIDE)

Provision or leak of information to an unauthorized entity.

29
New cards

Denial of Service (STRIDE)

Making a resource unavailable to authorized entities.

30
New cards

Elevation of Privilege (STRIDE)

An entity gains greater authorization than permitted.

31
New cards

Attack Paths

Represent the actions that could be taken by an attacker to realise a threat scenario.

32
New cards

Risk

Risk is determined for a threat scenario as a combination of impact rating of the associated damage scenarios and attack feasibility rating of the associated attack paths.

Assessed by considering:

  • The impact of the unwanted event if it occurs

  • The likelihood of the unwanted event

33
New cards

Attack Potential

Indicates the cost or difficulty of a successful attack.

34
New cards

Impact Types (Risk Assessment)

Safety, Financial, Operational, and Privacy.

35
New cards

Impact Ratings (Risk Assessment)

Severe, Major, Moderate, and Negligible.

36
New cards

Risk Treatment Options (ISO 21434)

  • Avoid through redesign or remove a component or a feature in a system;

  • Reduce through security controls and mechanisms placed to reduce likelihood and/or impact;

  • Transfer or share the risk to another component or entity;

  • Accept the risk (along with any further appropriate measures such as monitoring).

37
New cards

Risk as Uncertainty

Systemic and inherent uncertainties leading to socio-technical vulnerability.

38
New cards

Residual Risk

Risk remaining once all mitigation is deployed for inherent risks.

39
New cards

Software Bug

Flaw or glitch in a system.

40
New cards

Security Testing

Software Evaluation against Security Requirements.

41
New cards

Static Testing

Review software development artifacts without executing them.

42
New cards

Dynamic Testing

Execute and Verify Software against expected behaviours from a finite set of Test Cases (test suite)

43
New cards

Vulnerability

A type of fault related to security properties.

Related to one or more assets and their corresponding security properties.

The existence means either missing or faulty security countermeasure(s) / mechanism(s).

44
New cards

Exploitation

malicious input/steps to make use of a vulnerability. Each vulnerability can have multiple exploitations.

45
New cards

Attack

perform an exploitation to violate related security property of an asset

46
New cards

Model-Based [Security] Testing

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

<p>Automatic and systematic generation of test cases from models of systems under test and their environments</p>
47
New cards

Abstract Test Cases

sequence of Attack Actions, pass if execution is not successful and fails otherwise

48
New cards

Coded-Base Security Testing

To detect vulnerabilities by examining the source code

49
New cards

Penetration Testing (Pen-Testing)

To mimic real-world attacks on real systems and data. To use tools and techniques commonly used by attackers. To circumvent the security features. To seek combinations of vulnerabilities on one or more systems to gain more access.

50
New cards

Fuzz Testing

Test system under stress with unexpected inputs and data structures through external interfaces.

51
New cards

Tainted Analysis

Tracking the propagation of tainted data through a program.

52
New cards

Security Threat

Possible means by which desired security properties may be violated

53
New cards

Security Control

A measure which can be put in place to address the security threat

54
New cards

Security Mechanism

Possible means to provide (implement) a security control

55
New cards

The V Model

<p></p>
56
New cards

Security through the development cycle

knowt flashcard image
57
New cards

Threat Analysis (Bowtie Model)

knowt flashcard image
58
New cards

Threat Modelling

Determine the threats to the assets and how an attacker might realise those threats

  • WHERE in the system might the attacker target

  • WHEN in the vehicle lifecycle might the threat be realised

  • HOW might an attacker realise the threat

59
New cards

Asset Identification

A systematic approach that considers how an attacker might attack the system and how the system stakeholders are impacted

  • WHAT assets may be targeted, and what damage may occur

  • WHO are the potential attackers and stakeholders

  • WHY might they target the assets

60
New cards

Risk value determination matrix

<p></p>
61
New cards

Risk as potential threats

threats that are “definable, identifiable, immediate and often connected to specific threatening actors”

62
New cards

Safety-critical Systems

Typically functional integrity and availability properties leading to hazards.

63
New cards

Security-critical Systems

Information security aspects, typically as information flow and data theft.

64
New cards

Software Testing

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

65
New cards

Security functional testing

To validate intended security functionality.

Do all intended security countermeasures function correctly? using well-defined expected inputs.

66
New cards

Security vulnerability testing

To identify unintended system vulnerabilities.

Does the system have any [known] vulnerabilities? using malicious, unexpected inputs.

67
New cards

Security Testers

play the role of a hacker to exploit system’s vulnerabilities.

68
New cards

Security Testing Techniques in SDLC

knowt flashcard image
69
New cards

MBT Benefits

  • Early and explicit review of system behaviours

  • Better documentation of test cases

  • The ability to automatically generate useful tests and measure, and optimise test coverage

  • The ability to evaluate and select regression test suites

  • Easier updates of test models and suites due to changes in requirements and designs

  • Higher test quality through model-based quality analysis

  • Shorter schedules and lower costs.

70
New cards

Manual Code Review

Expert to read source code line-by-line.

71
New cards

Static Application Security Testing

  • 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.

72
New cards

Pen-Testing Pros

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.

73
New cards

Pen-Testing Cons

  • Labour intensive.

  • Require great expertise.

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

  • Need careful consideration, notification and planning.

74
New cards

Liability

should be assigned to the party involved that is best placed to manage the cybersecurity risk.

75
New cards