Software Security Flashcards

1
Q

Why should we worry about software security?

A

Cryptographic systems are possible to crack, but extremely expensive, making them very inefficient to hack.

However, targeting the software directly is much easier, and can easily topple the most powerful of cryptography.

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

What is an end of life?

A

An end of life is the point in time under which the vendor of a software will provide both security as well as functional bugfixes and patches for free.

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

What is an extended end of life?

A

An extended end of life is the point in time until which a vendor will support security updates.

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

Why do vendors rarely delete functionality, even if it’s detrimental to the software?

A

There’s always going to be someone, somewhere, using a feature you largely forgot about. This compounding of conflicting interests makes it hard to remove features from a product, and can even cause issues such as vulnerabilities caused by insecure code packages.

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

What is the Secure Software Development Lifecycle (SDL)?

A

The SDL is a concept pioneered by Microsoft, intended to give companies a standard to securely develop software.

It is a set of phases that Microsoft deems it important to think about and implement.

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

What is the “training and awareness” step of the SDL?

A

The training and awareness step consists of training your developers on the newest threats we need to be careful for.

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

What is the “verification” step of the SDL?

A

The verification step consists of performing security testing, including static and dynamic analysis and penetration testing to identify and mitigate security issues.

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

What is the “response” step of the SDL?

A

The response step consists of having a plan in place to respond to and mitigate security incidents, including vulnerability management and timely patching.

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

What is the “governance, risk management and compliance” step of the SDL?

A

The governance step consists of establishing processes to manage security risks, comply with relevant regulations and ensure ongoing security governance.

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

What is meant by SQL injection?

A

SQL injection is a type of attack on a database primarily used on web applications to manipulate the data stored on the server or to access data intended to be inaccessible.

It manipulates the use of dynamic SQL statements to force your own definitions and validations into the script.

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

What is the Common Weakness Enumeration (CWE)?

A

The CWE is an information source for known weaknesses in software, and how they work.

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

What is the Open Web Application Security Project (OWASP)?

A

OWASP is a database of known vulnerabilities, mainly focusing on web security.

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

What is the Common Vulnerabilities and Exposure (CVE)?

A

The CVE is a database of software vulnerabilities, where each vulnerability has a unique ID to refer to.

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

What is the difference between weaknesses and vulnerabilities?

A

A weakness is a general flaw or mistake in the design of something, while a vulnerability is an application of that flaw on a certain software/library/framework.

For example, a weakness may include an improper authorization technique, and the resulting vulnerability could be a SQL injection on a specific website.

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

What is the National Vulnerability Database (NVD)?

A

The NVD is a database of all known vulnerabilities in concrete, released products.

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

What is the CVSS score?

A

The CVSS score is a well-adopted scoring system for vulnerabilities, allowing responders to prioritise assigning resources based on threat.

17
Q

What are the values of the “access vector” subcategory when determining the base score metric of a CVSS score?

A

N - Network
A - Adjacent Network
L - Local
P - Physical

18
Q

What are the values of the “scope” subcategory when determining the base score metric of a CVSS score?

Hint: Will the scope change or not?

A

U - Unchanged
C - Changed

19
Q

What are the values of the “user interaction” subcategory when determining the base score metric of a CVSS score?

Hint: It either needs it or it doesn’t.

A

N - None
R - Required

20
Q

What are the values of the “privileges required” subcategory when determining the base score metric of a CVSS score?

Hint: How much access do you need to execute it?

A

N - None
L - Low
H - High

21
Q

What are the values of the “attack complexity” subcategory when determining the base score metric of a CVSS score?

Hint: There cannot be no attack complexity.

A

L - Low
H - High

22
Q

What are the values of each individual “impact metrics” subcategory when determining the base score metric of a CVSS score?

Hint: We consider the CIA triad, and to which extent they are broken

A

N - None
L - Low
H - High

23
Q

How may we represent a CVSS score in a format other than in its double form?

A

It may be represented as a vector:
{AV:N / AC:L / PR:N / UI:N / S:U / C:L / I:L / A:H}

24
Q

Is the CVSS score always accurate?

A

No, it is not always accurate to the severity of an exploit. It can sometimes underestimate the immediate severity, causing an exploit like Heartbleed to go undetected and cause havoc.