CSIT 460 Computer Security Flashcards6

0.0(0)
studied byStudied by 0 people
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/32

flashcard set

Earn XP

Description and Tags

Flashcards based on Computer Security lecture notes focusing on memory management, buffer overflows, and attack vectors.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

33 Terms

1
New cards

What is a Buffer Overflow?

When a program accepts more input than it expects, causing it to overwrite memory, allowing attackers to run their own code with high privileges.

2
New cards

What is a Format String Attack?

When user input is directly used as a format string in functions like printf(), potentially allowing attackers to read or write memory or crash the program.

3
New cards

What is an Operating System (OS)?

Acts as an intermediary between users and computer hardware, managing hardware resources and coordinating software activities.

4
New cards

What are the main functions of an OS?

Device and resource management, program execution and multitasking, memory allocation and protection, handling interrupts, offering core services, and providing user interfaces.

5
New cards

What are the key OS components?

Kernel, process management, memory management, device management, file system, and user interface.

6
New cards

What is the Kernel?

Core part of the OS controlling hardware and system processes.

7
New cards

What are CPU Registers?

Fastest, smallest memory component used for buffering.

8
New cards

What is Main Memory (RAM)?

Volatile memory used for load/store operations, faster than disk storage.

9
New cards

What is Disk Storage (SSD/HDD)?

Non-volatile, slow, and cheap storage used for archiving.

10
New cards

What is a Buffer in the context of memory hierarchy?

Temporary data holder, such as a disk or I/O buffer.

11
New cards

What is a Process?

An active instance of a program being executed by the operating system, with its own memory space.

12
New cards

What triggers a Process Creation Request?

A system call, user action, or system event.

13
New cards

What happens after a Process Creation Request is triggered?

The OS allocates resources, assigns a PID, creates a PCB, allocates memory space, loads the program, and adds it to scheduling queues.

14
New cards

What is a Memory Address Space?

Each process has its own virtual address space.

15
New cards

What are the different parts of Memory Address Space?

Code Segment, Heap, Data Segment, Stack, Shared Libraries.

16
New cards

What is Kernel Space?

Reserved area for operating system code and data, inaccessible to user programs.

17
New cards

What is the Stack used for?

Stores local variables and function call information, growing and shrinking with function calls.

18
New cards

What is the Heap used for?

Used for dynamic memory allocation at runtime via malloc in C.

19
New cards

What is the BSS Segment?

Holds uninitialized global and static variables, initialized to zero by the OS.

20
New cards

What does the Data Segment contain?

Contains initialized global and static variables.

21
New cards

What does the Text Segment store?

Stores the executable program code (machine instructions).

22
New cards

What does PUSH do?

Adds data to the stack.

23
New cards

What does POP do?

Removes data from the stack.

24
New cards

What does CALL do?

Pushes return address and jumps to function.

25
New cards

What does RET do?

Pops return address and resumes execution.

26
New cards

How is dynamic memory allocated in Heap?

Uses malloc(), free(), new, delete, managed by the OS and memory allocator.

27
New cards

What happens during an Overflow?

Wraps around to the smallest value.

28
New cards

What happens during an Underflow?

Wraps around to the largest value.

29
New cards

What is one of the most common OS bugs related to buffer overflow?

The developer fails to include code that checks whether an input string fits into its buffer array.

30
New cards

What is the effect of a buffer overflow?

The process can operate on malicious data or execute malicious code passed in by the attacker.

31
New cards

What is Stack Smashing?

Overwriting the program’s call stack, often the return address, to redirect execution.

32
New cards

What is Heap Smashing?

Corrupting dynamic memory (heap) structures to alter program behavior or gain control.

33
New cards

By carefully crafting the overflow data, what can an attacker do?

An attacker can inject shellcode to spawn a shell, listen for remote connections, add unauthorized user accounts, or download and execute malware.