Software Security

0.0(0)
studied byStudied by 0 people
call kaiCall Kai
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/23

flashcard set

Earn XP

Description and Tags

These flashcards cover key terms and concepts related to software security from the lecture notes.

Last updated 7:19 AM on 12/14/25
Name
Mastery
Learn
Test
Matching
Spaced
Call with Kai

No analytics yet

Send a link to your students to track their progress

24 Terms

1
New cards

Buffer Overflow

A flaw occurring when data is written beyond the buffer's boundary, potentially overwriting executable code.

2
New cards

Stack Memory

Memory that stores function call information, following Last-In, First-Out (LIFO) principle, and is automatically managed by the system.

3
New cards

Heap Memory

Memory used for dynamic allocation during program execution, allowing arbitrary order for memory allocation and typically managed by the programmer.

4
New cards

Incomplete Mediation

A security weakness where access checks to an object are performed only once, allowing potential unauthorized access.

5
New cards

Race Condition

A flaw that occurs when two or more threads or processes interact in a way that produces unintended behavior, depending on timing.

6
New cards

Authentication

The process of verifying the identity of a user or system prior to granting access to resources.

7
New cards

Access Control

Mechanisms that restrict access to resources based on user permissions or roles.

8
New cards

Cryptographic Practices

Methods used to secure communications and data, often involving encryption and secure key management.

9
New cards

Least Privilege Principle

A security concept where users are granted the minimum levels of access necessary to perform their functions.

10
New cards

Time-Of-Check to Time-Of-Use (TOCTOU)

A type of race condition where the state of a resource may change between checking its status and using it.

11
New cards

Input Validation

The process of ensuring that the input data is both syntactically and semantically correct to prevent security vulnerabilities.

12
New cards

Error Handling and Logging

Practices for managing error messages and logging activities to diagnose issues and maintain security.

13
New cards

Memory Management

The process of efficiently managing a computer's memory resources, including allocation and deallocation of memory.

14
New cards

DNS Cache Poisoning

A technique used to attack domain name servers by inserting incorrect address records in the cache.

15
New cards

General Purpose Registers

Registers in a CPU that can hold data and addresses, such as eax, ebx, ecx, etc.

16
New cards

Static Data

Data that remains constant and is stored in a fixed memory location, usually includes global variables and constants.

17
New cards

Error Message

Information provided by a system when an operation cannot be completed, often containing hints for troubleshooting.

18
New cards

Modular Code

Code designed in small, single-purpose modules that promote reusability and ease of maintenance.

19
New cards

Dynamic Memory Allocation

The process of allocating memory during runtime, typically managed via heap.

20
New cards

Code Testing

The process of verifying that software functions as intended through various types of testing like unit and integration testing.

21
New cards

SQL Injection

A code injection technique used to attack data-driven applications, in which malicious SQL statements are inserted into an entry field for execution.

22
New cards

Cross-Site Scripting (XSS)

A type of security vulnerability typically found in web applications; it enables attackers to inject client-side scripts into web pages viewed by other users.

23
New cards

Privilege Escalation

The act of exploiting a bug, design flaw, or configuration vulnerability in an operating system or software application to gain elevated access to resources that are normally protected from an application or user.

24
New cards

Defense in Depth

A security strategy that uses a series of defensive mechanisms to protect valuable data and information from unauthorized access via multiple layers.