week 8-9 Flashcards

(50 cards)

1
Q

threat model: malicious users

A

implies that message traffic is safe and there is no need to encrypt communications

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

threat model: snooping attackers

A

implies that message traffic is visible, and encrypted wifi and network layers are needed

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

threat model: co-located user

A

implies that local files and memory are accessible, and so nothing can be stored unencrypted; implies that server can be compromised

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

assumptions in threat modeling

A

are potential holes the adversary can exploit; assuming one threat model over another leaves you susceptible to the other

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

the best approach to building secure software is to

A

incorporate security-minded thinking into all phases of development; do not just add after functional requirements are met

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

security requirements

A

security-related goals or policies + required mechanisms for enforcing them

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

abuse cases

A

describe what a system should not do; a case in which a security breach occurs

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

threat modeling

A

to make explicit the adversary’s assumed powers; build software assuming that someone can do x, then add something to keep them from doing it

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

best practice for threat modeling

A

compare against similar systems, understand past attacks, challenge assumptions and prepare for someone to get past a defense

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

flaws

A

problems in the design of a program; works as intended, but didn’t anticipate certain cases

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

bugs

A

problems in implementation; design may be strong, but doesn’t work as intended

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

50% of security problems are:

A

design flaws; didn’t anticipate certain cases

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

prevention

A

aim to eliminate siftware defects entirely

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

mitigation

A

aim to reduce the harm from exploitation of unknown defects; if an abuse case becomes real, reduces the harm able to be done

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

detection & recovery

A

identify and understand an attack, undo damage

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

default-deny policy

A

a program denies all access, and only allows that which has been explicitly permitted

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

separation of responsibility

A

privilege is split up so no one person/program has total power; multi-factor authentication

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

reference monitor

A

code that checks for permission to access a resource

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

account for human factors

A

security measures must be easy to use and have instructions if not intuitive

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

Kerkhoff’s principle

A

a cryptosystem should be secure, even if everything about the system but the key is public knowledge;

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

threat model: malicious users

A

implies that message traffic is safe and there is no need to encrypt communications

22
Q

threat model: snooping attackers

A

implies that message traffic is visible, and encrypted wifi and network layers are needed

23
Q

threat model: co-located user

A

implies that local files and memory are accessible, and so nothing can be stored unencrypted; implies that server can be compromised

24
Q

assumptions in threat modeling

A

are potential holes the adversary can exploit; assuming one threat model over another leaves you susceptible to the other

25
the best approach to building secure software is to
incorporate security-minded thinking into all phases of development; do not just add after functional requirements are met
26
security requirements
security-related goals or policies + required mechanisms for enforcing them
27
abuse cases
describe what a system should not do; a case in which a security breach occurs
28
threat modeling
to make explicit the adversary's assumed powers; build software assuming that someone can do x, then add something to keep them from doing it
29
best practice for threat modeling
compare against similar systems, understand past attacks, challenge assumptions and prepare for someone to get past a defense
30
flaws
problems in the design of a program; works as intended, but didn't anticipate certain cases
31
bugs
problems in implementation; design may be strong, but doesn't work as intended
32
50% of security problems are:
design flaws; didn't anticipate certain cases
33
prevention
aim to eliminate siftware defects entirely
34
mitigation
aim to reduce the harm from exploitation of unknown defects; if an abuse case becomes real, reduces the harm able to be done
35
detection & recovery
identify and understand an attack, undo damage
36
default-deny policy
a program denies all access, and only allows that which has been explicitly permitted
37
separation of responsibility
privilege is split up so no one person/program has total power; multi-factor authentication
38
reference monitor
code that checks for permission to access a resource
39
account for human factors
security measures must be easy to use and have instructions if not intuitive
40
Kerkhoff's principle
a cryptosystem should be secure, even if everything about the system but the key is public knowledge;
41
SSH forwarding
forwarding ports from the client machine to the server machine et vice; used to encrypt applications, bypass firewalls,
42
phishing
a social engineering attack; luring users in to provide personal information by imitating another service they use/want
43
spear phishing
tailored phishing; phishing attack on a particular person
44
CSS
cascading style sheets
45
cookies
a name/value pair sent by an HTTP response in a header; the browser stores this to retrieve information that was stored during the last session
46
HTTP request / response
the browser sends requests and the server sends responses; these are stateless, with each request handled separately and without the server remembering / storing these interactions
47
Cross-site scripting
attacks against a user by a rogue website using Javascript code
48
cross-site request forgery
attacks against a user by a rogue website using Javascript code; the site embeds an HTML tag that makes requests the user usually would; ex, transferring funds
49
protecting cookies
using appropriate HTTP response headers; encode data when in/output
50
input sanitization
removes or encodes unsafe characters to prevent harmful input; prevents attacks via XXS Code / SQL injection