Format string vulnerabilities occur when a computer program allows user input to control the formatting of text output, often with functions that expect a specific format string. If the program does not properly check or restrict this input, attackers can use special formatting characters to read or write memory, potentially exposing sensitive information or causing…
Category: Cybersecurity
Heap Overflow Protection
Heap overflow protection refers to techniques and tools used to prevent or detect when a program writes more data to a memory area, called the heap, than it should. This kind of overflow can lead to software bugs, crashes, or security vulnerabilities, especially if attackers exploit it to control a system. Protection methods include special…
Stack Smashing Protection
Stack smashing protection is a security feature built into many modern computer programs and operating systems. It helps prevent attackers from exploiting buffer overflows, which occur when a program writes more data to a block of memory, or stack, than it can hold. By adding extra checks and safeguards, stack smashing protection makes it much…
Control Flow Integrity
Control Flow Integrity, or CFI, is a security technique used to prevent attackers from making a computer program run in unintended ways. It works by ensuring that the order in which a program’s instructions are executed follows a pre-defined, legitimate path. This stops common attacks where malicious software tries to hijack the flow of a…
Address Space Layout Randomization (ASLR)
Address Space Layout Randomisation (ASLR) is a security technique used by operating systems to randomly arrange the memory addresses used by system and application processes. By shuffling the locations of key data areas, such as the stack, heap, and libraries, ASLR makes it harder for hackers to predict where specific code or data is stored….
Secure Memory Encryption
Secure Memory Encryption is a technology used to protect data stored in a computer’s memory by automatically encrypting it. This means that if someone tries to access the memory without proper authorisation, the data appears as unreadable gibberish. The encryption and decryption happen in real time, so the system works as usual but with added…
Cache Timing Attacks
Cache timing attacks are a type of side-channel attack where an attacker tries to gain sensitive information by measuring how quickly data can be accessed from a computer’s memory cache. The attacker observes the time it takes for the system to perform certain operations and uses these measurements to infer secrets, such as cryptographic keys….
Microarchitectural Attacks
Microarchitectural attacks are security exploits that take advantage of the way computer processors work internally, rather than flaws in software or operating systems. These attacks manipulate how hardware components like caches, branch predictors, or execution pipelines behave to extract sensitive information. This can allow attackers to access data they should not be able to see,…
Spectre and Meltdown Mitigations
Spectre and Meltdown are security vulnerabilities found in many modern computer processors. They allow attackers to read sensitive data from a computer’s memory that should be protected. Mitigations are techniques and software updates designed to prevent these attacks, often by changing how processors handle certain tasks or by updating operating systems to block malicious behaviour.
Rowhammer Attacks
Rowhammer attacks are a type of cyberattack that target the physical memory chips in computers, especially DRAM. By rapidly and repeatedly accessing specific rows of memory, attackers can cause tiny electrical disturbances that flip bits in nearby rows. This can lead to unauthorised changes in data, potentially allowing attackers to bypass security measures or gain…