1/22
These flashcards cover key concepts, definitions, and examples related to software vulnerabilities, particularly focusing on buffer overflows and related security issues.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai | Chat |
|---|
No analytics yet
Send a link to your students to track their progress
Software Vulnerability
A flaw or weakness in a program that attackers can exploit.
Buffer Overflow
An error that occurs when data written to a buffer overflows into adjacent memory, potentially leading to memory corruption or code execution.
Memory Corruption
An unintended alteration of memory contents, often leading to software errors or vulnerabilities.
MITRE ATT&CK
A knowledge base of adversarial tactics and techniques based on real-world observations.
strcpy()
A C function that copies a string from a source to a destination, not checking for buffer limits.
setuid
A special permission bit on a file that allows a program to run with the privileges of the file owner, regardless of who runs it.
Privilege Escalation
An attack that exploits a vulnerability to gain elevated access to resources that are normally protected from the user.
Race Condition
A situation where the behavior of software depends on the sequence or timing of uncontrollable events.
ASLR (Address Space Layout Randomization)
A memory-protection method that randomly arranges the address space positions of key data areas to prevent exploitation.
DEP (Data Execution Prevention)
A security feature that prevents code from being executed in certain areas of memory that should only contain data.
Canary
A security mechanism that places a special value (canary) before a return address to detect buffer overflow attacks.
Logic Flaw
A defect in software design that allows an attacker to manipulate the system based on incorrect assumptions; distinct from memory corruption.
CVE (Common Vulnerabilities and Exposures)
A list of publicly known information security vulnerabilities and exposures.
TOCTOU (Time of Check to Time of Use)
A type of race condition that occurs when a system checks a condition and then acts on it in a way that can be altered by another process.
Fuzzing
An automated testing technique that involves inputting random or malformed data to a program to find crashes or vulnerabilities.
Static Analysis
The analysis of source code without executing it to identify bugs and vulnerabilities early in the development.
vulnerability scanning
The process of identifying vulnerabilities in a system or application using automated tools.
Security Testing
The process of testing to determine whether an information system meets security requirements.
Buffer Overflow Attack
An attack that exploits a buffer overflow vulnerability to execute arbitrary code or modify control flow.
Heap Overflow
A type of buffer overflow that occurs in the heap memory area, often leading to arbitrary code execution.
Stack Overflow
A type of buffer overflow that occurs in the stack memory area, typically leading to control hijacking.
Mitigation Techniques
Methods and solutions used to reduce the risk or impact of vulnerabilities, such as safe coding practices and security features.
Exploit
A piece of software, a chunk of data, or a sequence of commands that takes advantage of a bug or vulnerability.