Terminology & Definitions Flashcards

1
Q

Definition of Vulnerability

A

A flaw or weakness in a system’s design, implementation, or operation and management that could be exploited to violate the system’s security policy.

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

When does a bug becomes a vulnerability?

A

A bug becomes a vulnerability when it is considered exploitable.

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

Definition of Vulnerability Research

A

Conducting applied research to discover, evaluate and mitigate new security vulnerabilities.

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

Definition of Software Auditing

A

The process of analyzing application code to uncover vulnerabilities that attackers might exploit.

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

Definition of Memory Safety

A

Property of a program where memory pointers used always point to valid memory, allocated and of the correct size/type.

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

Memory Safe Languages

A

Python: Runtime checks are done.
Rust: Compile time checks are done.

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

Memory Unsafe Languages

A

C and C++:
Does not initialize data structures
Does not protect you from reading and writing out of bounds
Does not free unused memory, avoid double-frees, avoid use-after-
free, invalidate dangling pointers (No garbage collection)

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

Definition of Vulnerability Class

A

Set of concrete vulnerabilities that share a specific pattern or concept.

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

Register where first parameter is stored in x86-64

A

RDI:
mov edi, param1

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

Register where third parameter is stored in x86-64

A

RDX:
mov edx, param3

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

Register where second parameter is stored in x86-64

A

RSI:
mov esi, param2

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

Register where fourth parameter is stored in x86-64

A

RCX:
mov ecx, param4

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

Register where fifth parameter is stored in x86-64

A

R8:
mov r8d, param5

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

Register where sixth parameter is stored in x86-64

A

R9:
mov r9d, param6

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

Where are the seventh parameter and onward of a function placed into?

A

The stack

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

Signal

A

Asynchronous notification sent to a process or to a specific thread within the same process to notify it of an event.

17
Q

SIGSEGV

A

Segmentation Fault (Invalid Memory Reference)

18
Q

Signal Delivery in Linux

A
  1. When a task recieves a signal, the kernel adds it to a pending queue.
  2. Each time a task returns to user space, the kernel checks the queue for pending signals.
  3. If the task defined a handler for the signal, the kernel writes the saved user-spaced CPU context to the user-space stack and resumes the task at the signal handler instead.