Chapter 11 (Software Vulnerabilities) Flashcards

1
Q

3 main categories of software errors

A

insecure interaction between components

risky resource management

porous defenses

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

def of defensive programming

A

designing and implementing software so that it continues to function even when under attack

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

key rule behind defensive programming

A

never assume anything. check all assumptions and handle any possible error states

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

what caused heartbleed

A

failure to check validity of a binary input value

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

what is a cross site scription attack

A

where malicious scripts are injected into trusted websites

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

what is input fuzzing

A

useses a shit ton of randomly generated data as inputs to a program

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

what does ensuring machine language corresponds to algorithim mean

A

make sure the compilation of the program was not messed with

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

how do you protect against enviormental variable attacks

A

in prog, reset env variables to safe values

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

rule of least priviledge

A

run programs with least privilege needed to complete their function

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

how to prevent race conditions

A

use a lock file

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

how do you keep temporary files safe

A

use random names, if just processid is used then the filename can be predicted

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