2.3 - CompTIA Security+

Application

Memory injection

  • Memory injection: Security flaws that occur when an attacker injects malicious code into an application’s process memory, allowing the attacker to run malicious code with the same privileges as the vulnerable process.

Buffer overflow

  • Buffer: An area of memory that an application reserves to store expected data.

  • Buffer overflow: A vulnerability that occurs when an attacker passes data that deliberately overfills the buffer.

Race conditions

  • Race condition vulnerabilities: Software flaws associated with the timing or order of events within a software program - these can be manipulated to produce undesirable outcomes.

  • Time-of-check (TOC): A race condition vulnerability that occurs when there is a change in a resource due to it being checked.

  • Time-of-use (TOU): A race condition vulnerability that occurs when there is a resource change after it has been checked but before it is used.

Malicious update

  • Malicious update: Refers to an update that appears legitimate but contains harmful code, often used by cybercriminals to distribute malware or execute a cyberattack.

Operating system (OS)-based

Web-based

Structured Query Language injection (SQLi)

  • Structured Query Language injection (SQLi): An attack that injects a malicious query to retrieve sensitive information from a database.

Cross-site scripting (XSS)

  • Cross-site scripting (XSS): Web-based attack where attackers inject a malicious script (typically JavaScript) hosted on their attacker's site in a link injected onto a trusted site designed to compromise clients browsing the trusted site.

Hardware

Firmware

End-of-life

  • End-of-life (EOL): A specific product or version of a product that the manufacturer or vendor has publicly declared as no longer supported, and can lead to vulnerabilities due to the software being out of date.

Legacy

  • Legacy systems: Outdated software methods, technology, computer systems, or application programs that continue to be used despite their shortcomings. These systems are often complex to replace.

Virtualization

Virtual machine (VM) escape

  • Virtual machine (VM) escape: Refers to a security vulnerability where an attacker can escape the confines of a virtual machine and access the host system or other VMs. This poses significant risks, as it can potentially lead to unauthorized access to sensitive data or resources.

Resource reuse

  • Resource reuse: Occurs when data or resources from one virtual machine are utilized by another VM, which could create vulnerabilities if not managed properly. This can lead to data leakage or exposure, particularly if the VMs operate in different security contexts.

Cloud-specific

  • Cloud-specific attacks: Attacks that target applications hosted on cloud platforms and exploit potential vulnerabilities within them. Typically involve misconfigurations, weak authentication or network segmentation, or poor access control.

Supply chain

  • Software supply chain: Vulnerabilities introduced to software products during their development, distribution, and maintenance.

Service provider

  • Service providers: Entities that offer services related to software development or deployment (e.g., cloud services, third-party deployment agencies). Vulnerabilities can be introduced if these services have inadequate security or the communication between them and the rest of the supply chain is insecure.

Hardware provider

  • Hardware supplier: Companies that provide physical components necessary for the operation of IT systems (e.g., servers, firmware). Vulnerabilities can be introduced if the supplier neglects security practices in their design/manufacturing.

Software provider

  • Software provider: Includes applications, frameworks, and libraries used in software development. If these are compromised, the entire application is vulnerable to attacks.

Cryptographic

  • Cryptographic vulnerabilities: Weaknesses in cryptographic systems, protocols, or algorithms that can be exploited to compromise data (e.g., hash collisions, inadequate key lengths).

Misconfiguration

  • Misconfiguration vulnerabilities: Errors in the implementation or configuration of security controls that can expose systems to unauthorized access or attacks (e.g., default passwords, open ports, and improper access control settings).

Mobile device

  • Rooting: Involves gaining root access or administrative privileges on an Android device to modify system files, install custom ROMs (modified operating system versions), and access features and settings not available to regular users.

Side loading

  • Side loading: The installation of applications from unofficial sources that may not meet security standards, leading to potential malware exposure.

Jailbreaking

  • Jailbreaking: Gaining full access to an iOS device (iPhone or iPad) by removing the limitations imposed by Apple's iOS operating system.

Zero-day

  • Zero-day attacks: Previously unknown software/hardware flaws that attackers can exploit before they are fixed by developers