CS-239 Software Security Engineering

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

1/82

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.

83 Terms

1
New cards

Common Security Properties

Confidentiality, Privacy, Integrity, Availability, Access Controls, Authentication and Authorisation

2
New cards

Security Property: Confidentiality

Preventing unauthorised disclosure of information

3
New cards

Security Property: Privacy

Protection of personal data

4
New cards

Security Property: Integrity

Prevent unauthorised modification of information or service

5
New cards

Security Property: Availability

Prevent unauthorised withholding of information or service

6
New cards

Security Property: Access controls

Prevent unauthorised access to data or resources

7
New cards

Security Property: Authentication

Prevent users from falsifying their identity

8
New cards

Security Property: Authorisation

Prevent users from violating their privileges

9
New cards

Security Through The Development Cycle

Requirements & Use Cases

10
New cards

Requirements & Use Cases Sections

Abuse Cases

11
New cards

Design Sections

Risk Analysis

12
New cards

Test Plan Section

Risk-based Security Tests

13
New cards

Code Section

Static Analysis

14
New cards

Test Results

Risk Analysis

15
New cards

Field Feedback

Security Breaks

16
New cards

Key Attributes to Characterise Threats

Elapsed Time

17
New cards

Threat Characterisation: Elapsed Time

Time taken to identify & exploit vulnerability; longer = threat vanishes

18
New cards

Threat Characterisation: Specialist Knowledge Required

Technical expertise needed (Layman

19
New cards

Threat Characterisation: Knowledge of Target

Design & operational knowledge (Public

20
New cards

Threat Characterisation: Window of Opportunity

Level of access and time window (Unlimited

21
New cards

Threat Characterisation: Equipment and Resources Needed

Hardware/software required (Standard

22
New cards

Threat Analysis: Impact Rating Categories

Safety

23
New cards

Risk-Based Approach to Cybersecurity Requirements

Threat Analysis

24
New cards

Threat Analysis Components

Asset identification

25
New cards

Risk Assessment Components

Impact Rating

26
New cards

What is TARA?

Threat Analysis & Risk Assessment

27
New cards

TARA Steps

Asset Identification

28
New cards

TARA Pre-requisites

Item Boundary

29
New cards

Asset Identification - WHAT

WHO

30
New cards

Threat Modelling - WHERE

WHEN

31
New cards

What is an asset?

Object that has value or contributes to value

32
New cards

What is a cybersecurity property?

An attribute of an asset that is worth protecting

33
New cards

What is a damage scenario?

An adverse consequence due to some attack

34
New cards

What is a threat scenario?

A potential cause of compromise that may lead to damage

35
New cards

Threat Modelling - STRIDE

Spoofing

36
New cards

STRIDE - Spoofing

A person or entity masquerading as another

37
New cards

STRIDE - Tampering

Insertion

38
New cards

STRIDE - Repudiation

An entity denying responsibility for an action

39
New cards

STRIDE - Information Disclosure

Provision or leak of info to unauthorised entity

40
New cards

STRIDE - Denial of Service

Making resource unavailable to authorised entities

41
New cards

STRIDE - Elevation of Privilege

An entity gains greater authorisation than permitted

42
New cards

STRIDE AREAS FOR DIFFERENT DFD ELEMENTS

Processes - STRIDE

43
New cards

Attack Paths

Actions taken to realise a threat scenario

44
New cards

Impact Rating Categories

Safety

45
New cards

Impact Rating Severity

Severe

46
New cards

Risk Treatment Options

Avoid (redesign)

47
New cards

What is Software Testing?

Evaluation against functional or non-functional requirements

48
New cards

What is connectivity?

Cloud computing

49
New cards

What is a vulnerability?

A weakness exploitable by 1+ threats

50
New cards

What is security testing?

Software evaluation against Security Requirements

51
New cards

Types of Software Testing

Static testing & Dynamic Testing

52
New cards

What is Static Software Testing?

Reviewing artifacts without execution (manual/code)

53
New cards

What is Dynamic Software Testing?

Execution & verification of software via test cases

54
New cards

Security Testing Purposes: Functional

Validating all intended security functionality

55
New cards

Security Testing Purposes: Vulnerability

Identifying unintended vulnerabilities via malicious/unexpected input

56
New cards

Exploitation

Malicious input/steps to exploit a vulnerability

57
New cards

Attack

Performing exploitation to violate security property

58
New cards

What are security testers?

People simulating hackers to exploit system vulnerabilities

59
New cards

Model-based Security Testing

Auto & systematic test case generation from system/environment models

60
New cards

Benefits of model-based security testing

Early review

61
New cards

Input models for model-based testing

Attacker models

62
New cards

Testing Attacker Models

Attacker’s targets

63
New cards

Testing Vulnerability Models

Encoding weaknesses in system models

64
New cards

Testing Properties Models

Encoding asset security properties to protect

65
New cards

Abstract Test Cases (ATCs)

Sequence of attack actions

66
New cards

If all attack actions succeed

Successful Attack

67
New cards

If one or more attack actions fail

Failed Attack

68
New cards

ATC passes if…

Execution is not successful

69
New cards

Code-Based Security Testing (CBST)

Detecting vulnerabilities via source code

70
New cards

Manual Code Review

Expert reviewing source code line-by-line

71
New cards

Expertise Needed for Code Review

Architecture

72
New cards

SAST

Static Application Security Testing

73
New cards

SAST Analysis

Syntactic (e.g. insecure APIs)

74
New cards

Penetration Testing

Simulated real-world attacks using real tools & techniques

75
New cards

Pros of Pen-Testing

System tolerance

76
New cards

Cons of Pen-Testing

Labour intensive

77
New cards

Fuzz Testing

Stress system with unexpected inputs via interfaces

78
New cards

Fuzz Testing Techniques

Random

79
New cards

Phases of a vulnerability

Zero-day

80
New cards

Vulnerability Management Options

Full Disclosure

81
New cards

Full Disclosure

Public release – incentivises patch but may enable attackers

82
New cards

Non-Disclosure

No info to public – risky if consumers unprepared

83
New cards

Partial Disclosure

Shared with key stakeholders to prepare before public release