Soft Sec Final Flashcards

1
Q

Difference between software security engineering and software engineering

A

software engineering is focused on building/making software, whereas software security is focused on the software’s security features

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

Difference between software testing and security testing

A

software testing is looking for bugs whereas security testing is trying to find vulnerabilities

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

Define penetrate and patch

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

A design flaw of poor coding that may allow an attacker to cause damage

A

Vulnerability

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

Software, data, or commands that take advantage of a weakness to cause unanticipated or unexpected beahviour

A

Exploit

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

An actor or agent that is a source of danger to a system

A

Threat

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

Failure of human cognition that can lead to problems

A

Human Error

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

Difference between a vulnerability and an exploit

A

vulnerability is a bug or flaw within the code, whereas the exploit is the action of manipulating the vulnerability

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

What is the recommended approach for mitigating SQL Injection vulnerabilities?

A

Sanitize all inputs and data validation

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

What does STRIDE?

A

Spoofing, Tampering, Repudiation, Information, Denial of Service, Elevation of Privilege

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

What does CIA stand for?

A

Confidentiality, Integrity, Availability

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

In session hijacking, you can attack someone by pretending to be them by stealing their information. Which part of the system are you violating?

A

Authentication

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

What is true about pen testing?

A

Is about attempting to exploit as much as possible, demonstrates the person-hours required to break into a system, requires a working system

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

What is functional and adversarial security testing?

A

Functional tests the security mechanisms defined in the requirements, whereas adversarial testing uses a risk based approach to simulate an attacker

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

Difference between misuse and abuse cases?

A

abuse cases are ways to exploit/take advantage whereas misuse are mistakes

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

What are some examples of security by obscurity?

A

Placing admin page on a web page that has no links, and requiring a difficult to guess password for authnetication

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

What is defense in depth?

A

someone breaks the first line of protection, but they cannot get any further

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

What is least privilege?

A

Every user or module should be allowed minimum access required

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

What does is mean to fail securely?

A

Make sure the error messages and exceptions do not reveal information or leave the system vulnerable

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

What does is mean to have security by default?

A

Configure the system so you dont have to rely on your users to user it correctly

21
Q

What three statements of risk is true?

A

The risk associated with an event is the probability the event will happen times the expected damage of that event, risk=p(occurrence)impact, security risk=p(vulnerability)value of asset

22
Q

Do trusted messages need verification?

A

No, but untrusted messages do

23
Q

What is an example of a side channel attack?

A

using javascript to exercise a wifi chip so that it emits pulses of electromagnetic waves such that an AM radio can pick up the signal and leak

24
Q

what is an example of multifactor authentication?

A

Requiring the original invite to a party in addition to recognizing you invitees, and scanning an ID badge and entering PIN number on a keypad to open a door

25
Q

What are two facts about public keys?

A

better for communication between untrusted parties, and predominately accomplished today with RSA algorithm

26
Q

What are two facts about symmetric keys?

A

They are used in ssh, and is faster

27
Q

For ssal, how does one get their public key to be trusted?

A

certificate authority to verify key then they needs a private key

28
Q

What is a primary disadvantage of this approach?

A

It can be intercepted

29
Q

What can an attacker use to determine the paintext version of a common password hashed even with a currently safe algorithm like SHA-256

A

Rainbow Table

30
Q

Describe the process we discussed in class for mitigating the risk posed by this technique?

A

Adding a salt to the password

31
Q

We discussed locimetric systems as a replacement for passwords that involves memorizing areas of a single photograph. Advantages?

A

Easier to remember and less effort

32
Q

What are some disadvantages to locimetric systems?

A

Shoulder surfing and can be hard to implement/ tolerances could be low enough to guess

33
Q

What is true about OAuth?

A

The access token can specify the scope of the permissions like read and write, and the access token must be provided to obtain a resource

34
Q

We said that the most critical rule of release management is to never put the same version number on two different releases. Why?

A

Proper logging lets users know what they are getting into

35
Q

What is an insider threat in the context of cyber security?

A

Threat originating from individuals within an organization

36
Q

For validating input, what is the difference between a block list and an allow list?

A

block list blocks certain things and allow list permits things to enter

37
Q

What is a polyglot file?

A

multi extension file

38
Q

What is the attack surface of an application?

A

anything that requires external input

39
Q

List and briefly describe the ways we discussed in class to measure usability.

A

Time to learn - which is how long it takes to learn how to use the product
Retention over time - which is how useful the product is to come back to

40
Q

List the two ways we discussed in class to reduce the load on human memory and increase usability

A

Simple design and less things to remember

41
Q

Briefly define the software supply chain

A

Software supply chain is anything that is interacting with an application that is an external source and not controlled by the developer

42
Q

List 4 types of items that can be part of the software supply chain

A

Libraries, Hardware, DB operations, API integrations

43
Q

What does a dependency manager do?

A

Makes sure that there are no conflicts or vulnerabilities in your libraries

44
Q

What is the name of the dependency manager that we discussed in class?

A

dependabot

45
Q

Regarding deployment strategies, describe blue green deployment

A

Blue green uses 2 different groups of the same build and is used to see what bugs occur, then swaps builds so their is no downtime

46
Q

Describe the canary deployment

A

released a small amount of updates to users first to see how it works and depending on that, then it will be deployed at scale

47
Q

List the two types of information that must be included in a Incident Response Plan

A

Roles need to be outlined, defined, and assumed to prevent an overlap of responsibilities
Critical systems need to be documented to know where the incident response plan should focus efforts of mitigation

48
Q

For the following regulations, indicate their following domains, HIPAA, FERPA, GDPR

A

Medical, Education, EU