Cyber Attacks Flashcards
A set of rules and protocols that allow different software applications to communicate with each other. This interface defines the methods and data structures that programs can use to request services from other software components.
API (Application Programming Interface)
The means by which a user interacts with a computer system, software, or hardware. It includes visual elements like buttons, icons, and menus, as well as how users input commands.
The touchscreen interface on a smartphone, where users tap icons to open apps.
UI (User Interface)
Software that allows an operating system to communicate with hardware devices (like printers, video cards, or network adapters). Device drivers translate OS commands into device-specific operations.
Installing a printer driver to enable a computer to print documents.
Device Drivers
A collection of software development tools, libraries, and documentation that developers use to create applications for a specific platform or framework.
A mobile app developer uses this to build Android apps
SDK (Software Development Kit)
A cyberattack in which the attacker floods a target system, network, or website with a massive amount of traffic or requests to overwhelm its resources, causing it to become slow, unavailable, or crash.
An attacker sends excessive traffic to a company’s website, causing it to slow down or go offline.
DoS Attack (Denial of Service Attack)
Occurs when a program or application allocates memory but fails to release it when it is no longer needed, eventually causing the system to run out of memory.
A developer forgets to release memory after using it in an application.
Memory Leak
Happens when more data is written to a buffer (temporary data storage) than it can handle, causing the excess data to overwrite adjacent memory. This can lead to system crashes or security vulnerabilities.
A program tries to store more data in a fixed-size array, causing it to overwrite adjacent memory and crash.
Buffer Overflow
Occurs when multiple processes or threads attempt to access or modify shared resources simultaneously, leading to unpredictable results or errors.
Two users simultaneously attempt to withdraw money from the same bank account, causing the account balance to become inaccurate.
Race Condition
Occurs when a number exceeds the maximum value that can be stored in a variable or data type, causing the value to wrap around and produce unexpected or incorrect results.
A program tries to add two large numbers, causing the result to exceed the limit of the variable’s data type and wrap around to a negative number.
Integer Overflow
A type of attack where the attacker systematically tries all possible combinations of passwords or encryption keys until the correct one is found.
An attacker tries every possible password for a user’s account until they find the correct one.
Brute-force Attack
Occurs when an attacker forces a system or communication to use a weaker or less secure version of a protocol, making it easier to exploit vulnerabilities.
An attacker forces a website to use outdated SSL/TLS encryption instead of the latest.
Downgrade Attack
Involves compromising a website or online resource that is frequently visited by the target group, in order to infect their devices with malware or steal sensitive data.
An attacker compromises a website that is popular among government employees,
Watering Hole Attack
Occurs when an attacker intercepts or alters communications between two parties without them knowing, typically to steal or manipulate data.
An attacker intercepts the communication between a user and a banking website
On-path Attack (formerly known as Man-in-the-Middle Attack)
involves inserting a small piece of code (a “shim”) between two software components to modify or intercept their behavior, often to achieve compatibility or fix a problem.
An attacker may use this to insert malicious code into an application, altering its behavior without the user’s knowledge.
Shimming
The process of restructuring existing code without changing its external behavior, typically to improve readability, maintainability, or performance.
A developer refactors a large, complicated function into smaller, more manageable functions to improve code clarity.
Refactoring
A request made by a software program to an API to retrieve or send data, perform a specific function, or interact with a service or system.
A weather app does this to a weather service to retrieve current weather data.
API Call
The process of installing applications or software from sources other than official app stores or marketplaces, often bypassing security mechanisms.
Installing an APK file directly from a website onto an Android device instead of downloading it from the Google Play Store.
Sideloading
Involves adding data to the beginning of a message or input, often to manipulate how the data is processed or interpreted by a system. This technique is often used in attacks to alter the behavior of a program.
In a phishing attack, an attacker prepends a malicious URL to a seemingly safe link to trick a user into clicking on it.
Prepending
A technique used to find security vulnerabilities by inputting random, unexpected, or invalid data into a program to see how it behaves and identify weaknesses.
A security researcher uses this testing method to find crashes or memory leaks in a web application by feeding it random or malformed inputs.
Fuzz Testing
An attack where an attacker intercepts and possibly alters communication between two parties without their knowledge. The attacker can eavesdrop, manipulate data, or impersonate one of the parties.
Example: An attacker intercepting traffic between a user and a website to steal login credentials.
MitM - Man-in-the-Middle
A long-term, targeted attack by a well-resourced adversary, often a nation-state or organized group, aimed at stealing sensitive information or gaining unauthorized access over a prolonged period.
Example: A hacker group infiltrating a corporate network to steal trade secrets over several months.
APT - Advanced Persistent Threat
An attack where a malicious user tricks a victim into performing unwanted actions on a trusted website where the victim is authenticated, often leading to unauthorized actions like transferring funds or changing settings.
Example: A user unknowingly clicking a link that triggers a fund transfer from their bank account while logged in.
XSRF - Cross-Site Request Forgery
An attack where multiple systems are used to flood a target system, server, or network with excessive traffic to exhaust resources and make the system unavailable to legitimate users.
Example: A large-scale botnet sending massive traffic to a website, causing it to crash and become inaccessible.
DDoS - Distributed Denial-of-Service
The total sum of all points where an attacker can potentially exploit a system to gain unauthorized access or cause damage. This includes hardware, software, network interfaces, and user interactions.
Example: may include exposed APIs, web server ports, authentication systems, and vulnerable third-party libraries.
Attack Surface