Software Security Practices and Threat Modeling

0.0(0)
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/90

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.

91 Terms

1
New cards

Confidentiality

Protecting information from being accessed by unauthorized parties.

2
New cards

Integrity

Information is not altered, and that the source of the information is genuine.

3
New cards

Availability

Information is accessible by authorized users.

4
New cards

Non-repudiation

A user cannot deny performing an operation or initiating a transaction.

5
New cards

Authorization

Ensure the right user can access/do only what they are supposed to do.

6
New cards

STRIDE

A threat modeling process that stands for Spoofing, Tampering, Info Disclosure, Repudiation, Denial of Service, and Elevation of Privilege.

7
New cards

Attack (or exploit)

An action taken by someone or something that harms an asset.

8
New cards

Security Requirements

Define security requirements as early as possible, ideally during requirements engineering.

9
New cards

Authentication Timeout

Authentication times out after 10 minutes of inactivity.

10
New cards

Two-Factor Authentication

Authentication of administrators must be done through two-factor authentication.

11
New cards

Severity Labels

Clearly define severity labels of security vulnerabilities, such as Critical, Important, and Low.

12
New cards

Critical Vulnerability

A vulnerability that must be fixed within 2 days.

13
New cards

Important Vulnerability

A vulnerability that must be fixed within 2 days.

14
New cards

End User

A sample severity label for security vulnerabilities.

15
New cards

Server

A sample severity label for security vulnerabilities.

16
New cards

Static Analysis Security Testing (SAST)

A method used to identify security vulnerabilities in source code.

17
New cards

Dynamic Analysis Security Testing (DAST)

A method used to identify security vulnerabilities in a running application.

18
New cards

Incident Response Process

Establish a standard process for responding to security incidents.

19
New cards

Asset

An action taken by someone or something that harms an asset.

20
New cards

Countermeasure

A safeguard that addresses a threat and mitigates risk.

21
New cards

Vulnerability

Open door is a vulnerability.

22
New cards

Threat

Attacker could exploit vulnerability to gain access to asset.

23
New cards

STRIDE Threat Modeling

Spoofing, Tampering, Info Disclosure, Repudiation, Denial of Service and Elevation of Privilege

24
New cards

"I Detect Intruders, Reducing Major Vulnerabilities"

I - Identify system components

D - Draw a Data Flow Diagram (DFD)

I - Identify threats using STRIDE

R - Rate threats by risk

M - Mitigate threats with security controls

V - Validate and test the model

25
New cards

Identify Security Objectives

Think of what you don't want to happen.

26
New cards

Data Flow Diagram

A visual representation of data movement within a system.

27
New cards

Repudiation

No proof of action in the system.

28
New cards

Information Disclosure

Unintended exposure of information.

29
New cards

Elevation of Privilege

Unprivileged user gains privileged access.

30
New cards

Malicious User Threat

Malicious user views or tampers with personal profile data en route from the Web server to the client.

31
New cards

Flooding Attack

Attacker denies access to web server by flooding it with TCP/IP packets.

32
New cards

Cookie Capture

Attacker captures authentication cookie to spoof identity.

33
New cards

Data Sanitization Failure

Failure to sanitize data read from database.

34
New cards

Output Encoding Failure

Failure to encode output leading to potential cross-site scripting issues.

35
New cards

Quality of Service Requirements

Includes availability and performance requirements.

36
New cards

Intangible Assets

Includes your company's reputation, trade secrets, and intellectual property.

37
New cards

Compliance Requirements

May include security policy, privacy laws, regulations, and standards.

38
New cards

Web Application Security Objectives

Prevent attackers from obtaining sensitive customer data.

39
New cards

Trust Boundary

Border between trusted/un-trusted entities.

40
New cards

Data in Motion

Data in motion over network.

41
New cards

Information disclosure

Failure to sanitize data read from database.

42
New cards

Denial of service

Attacker denies access to web server by flooding it with TCP/IP packets.

43
New cards

Spoofing

Attacker captures authentication cookie to spoof identity.

44
New cards

Cross-site scripting issues

Failure to encode output leading to potential cross-site scripting issues.

45
New cards

Mitigation for Tampering

Use data hashing and signing. Use SSL to provide encrypted channels. Use strong authorization.

46
New cards

Mitigation for Denial of service

Use resource and bandwidth throttling techniques. Validate and filter input.

47
New cards

Mitigation for Spoofing

Use SSL to provide encrypted channels.

48
New cards

Mitigation for Information disclosure

Do not store secrets in plaintext + strong auth./encrypt.

49
New cards

Mitigation for Cross-site scripting issues

Validate all input.

50
New cards

Risk

Risk = Probability * Damage Potential.

51
New cards

DREAD

A model for ranking threats based on Damage, Reproducibility, Exploitability, Affected users, and Discoverability.

52
New cards

Tampering

Failure to encode output leading to potential cross-site scripting issues.

53
New cards

Threat Modeling

A process that helps development team members focus on the most important threats.

54
New cards

Design Requirements

Establishing security features when designing requirements.

55
New cards

Cryptography

The practice of securing information by transforming it into an unreadable format.

56
New cards

Authentication

The process of verifying the identity of a user or system.

57
New cards

Logging

The recording of events that occur in a system to track activities and diagnose issues.

58
New cards

Cryptography Standards

Guidelines that dictate the type of cryptography to use to avoid catastrophic failures.

59
New cards

Third-party Components

External software components that need to be managed for security and risk.

60
New cards

Vulnerability Detection Tools

Tools that look for security vulnerabilities in software.

61
New cards

Fuzz Testing

Generating random invalid/malformed inputs to test your program.

62
New cards

Secure Code Review

An enhancement to the standard code review practice that focuses on security considerations.

63
New cards

CERT Secure Coding Standards

Standards created to help developers write secure code.

64
New cards

Static Analysis Tools

Tools that help catch common vulnerabilities in code.

65
New cards

Coverity Scan

A static analysis code scan tool for multiple programming languages.

66
New cards

Buffer Overflow

A common vulnerability where a program writes more data to a buffer than it can hold.

67
New cards

Sensitive Information

Data that must be protected from unauthorized access, such as passwords or personal information.

68
New cards

Memory Sanitizer

A tool that detects out-of-bounds memory access during program execution.

69
New cards

Resource Leaks

Issues where a program fails to release resources it no longer needs.

70
New cards

Concurrency Issues

Problems that arise when multiple processes or threads access shared resources.

71
New cards

Encryption

The process of converting data into a code to prevent unauthorized access.

72
New cards

Hashing

The process of converting data into a fixed-size string of characters, which is typically a hash code.

73
New cards

Public Vulnerabilities

Known security weaknesses in software that can be exploited by attackers.

74
New cards

Inventory of Components

A list of all third-party components used in a project to manage security risks.

75
New cards

AES

A symmetric encryption algorithm used for securing data.

76
New cards

Electronic Codebook (ECB)

A mode of operation for block ciphers that is considered insecure.

77
New cards

Dynamic Security Testing

Testing performed when all components are integrated and running to see how the system behaves to known attacks.

78
New cards

Vulnerability Scanning Tools

Tools that perform black-box testing with the intention of performing attacks and checking application resilience.

79
New cards

Penetration Testing

A manual testing process conducted by a security expert to simulate a hacker's actions.

80
New cards

Attack Surface Analyzer

A tool that examines the operating system before and after software installation to identify unintended configuration changes.

81
New cards

Incident Report Process

A standard procedure for reporting and handling security incidents.

82
New cards

Secure Design Principles

Guidelines that help in creating secure software architectures.

83
New cards

Minimize Attack Surface Area

A principle that suggests reducing the number of entry points for potential attacks.

84
New cards

Establish Secure Defaults

A principle that ensures users have the highest security measures by default.

85
New cards

Principle of Least Privilege

A principle that states users should have the minimum privileges necessary to perform their tasks.

86
New cards

Principle of Defense in Depth

A security strategy that employs multiple layers of defense.

87
New cards

Fail Securely

A principle that ensures systems do not grant additional privileges on failure.

88
New cards

Separation of Duties

A principle that assigns different roles to users and administrators to enhance security.

89
New cards

Avoid Security by Obscurity

A principle that advocates for strong authentication rather than hiding administrative URLs.

90
New cards

Keep Security Simple

A principle that advises against overcomplicating security architectures to reduce error risks.

91
New cards

Fix Security Issues Correctly

A principle that emphasizes addressing the root cause of security issues and checking for broader impacts.