Zero-day exploits
Learn more about the growth of zero-day exploits and how Contrast Application Detection and Response (ADR) protects web applications against the exploitation of zero-day vulnerabilities.
Stop zero days with Contrast ADRWith zero-day exploits on the rise, organizations need robust defenses designed to protect their applications against known and unknown threats. Contrast ADR provides continuous detection and prevention of known and zero-day attacks by leveraging threat sensors inside of applications. It offers an instrumentation-based approach that protects applications and APIs against entire classes of vulnerabilities.
What is a zero-day vulnerability?
Zero-day vulnerabilities are software flaws unknown before exploitation. Put another way, they are unknown flaws in software with no patch or fix available, and for which no pre-existing signatures or trained detection models exist.
Zero-day vulnerabilities are those still “in the wild,” as in, no vendor has patched them yet. If ethical security researchers identify a vulnerability, they notify the vendor or responsible organization so that a patch can be issued before the vulnerability is communicated.
Zero days pose a severe cybersecurity risk due to the lack of immediate patches. These vulnerabilities are often exploited by malicious actors before vendors can address them, leaving systems exposed and vulnerable.
Zero-day vulnerabilities pose a higher risk to users for the following reasons:
- Cybercriminals race to exploit these vulnerabilities so as to cash in on their schemes before others are aware of the flaws.
- Vulnerable systems are exposed until a patch is issued by the vendor and the patch is installed by all the vendor’s customers.
What is a zero-day exploit?
A zero-day exploit is the method or technique that an attacker uses to take advantage of a zero-day vulnerability to gain unauthorized access or cause harm to a system. It's the actual code or sequence of actions that leverages the unknown flaw.
It’s important to note that a zero-day exploit is different from a zero-day attack:
- A zero-day exploit is the specific method, code or technique developed to take advantage of that unknown vulnerability. Think of it as the custom-built tool used to break in through the newly discovered hole.
- A zero-day attack is the actual event or action where an attacker uses a zero-day exploit against a target system to cause harm, gain access, etc. It's the use of the exploit tool.
A novel attack refers to a new method or technique used by attackers. This could involve a zero-day vulnerability, but it could also be a new way to chain known vulnerabilities, bypass existing security controls or use entirely new tactics that haven't been seen before. The focus is on the newness of the attack methodology.
How a zero-day exploit works
A zero-day application exploit works by taking advantage of an unknown vulnerability in software before the vendor or developers are aware of it and can issue a patch. Here's a breakdown:
- Unknown vulnerability: A software flaw exists that is not yet known to the software vendor or the public. This flaw could be a coding error, a design flaw or an oversight that creates an exploitable weakness.
- Exploit development: Malicious actors discover this unknown vulnerability and develop an exploit, which is a piece of code or a technique designed to take advantage of the flaw. This exploit is like a custom-built tool to break into the software through the discovered weakness.
- Attack execution: The attackers then use this exploit to launch an attack against systems running the vulnerable software. The exploit triggers the vulnerability, allowing the attackers to perform unauthorized actions, such as gaining access to sensitive data, taking control of the system or disrupting services.
- Vendor awareness: Often, the vendor only becomes aware of the vulnerability and the exploit when the attack is already underway or has been discovered. This is why it's called a "zero-day" exploit — the vendor has "zero days" to prepare a patch before the exploit is used in an attack.
- Patch and response: Once the vendor learns about the vulnerability, it works quickly to develop and release a patch to fix the flaw. However, traditionally, systems remain vulnerable until the patch is applied, and attackers may continue to exploit the vulnerability during this period.
Essentially, a zero-day exploit is a race against time. Attackers try to exploit the unknown vulnerability before the vendor can patch it, while defenders try to detect and mitigate the attack before significant damage is done.
What are examples of zero-day vulnerabilities and attacks?
Many of the biggest cybersecurity compromises began as zero-day vulnerabilities, including the Log4j2 vulnerability and the Spring4Shell vulnerability. The Sony compromise of 2014 is another significant attack that exposed a zero-day vulnerability.
Other notable, recent zero-day vulnerabilities:
- CVE-2023-22527 (A zero-day impacting the Atlassian Confluence Server discovered in early 2024).
- 2023 deserialization vulnerability in Spring-Kafka.
- The Struts vulnerability that impacted Equifax.
- CVE-2023-43472 (a zero day impacting MLflow discovered in 2023).
How to prevent and protect against zero-day exploits and attacks
The prevailing mindset within many security teams is that proactive protection against zero days is impossible before a vulnerability is known. This belief shapes current defensive strategies.
Consequently, teams often focus on reactive measures, including investing heavily in advanced detection capabilities on endpoints and networks to find attackers after they've breached defenses, rapidly patching systems once a zero-day patch becomes available or disabling critical services in response to security bulletins — all acknowledging a period of unavoidable exposure.
This reactive posture stems from the limitations of conventional tools:
- Web application firewalls (WAFs) miss novel attacks due to their signature-based nature.
- Tools operating at the operating system level (e.g., eBPF) see system calls but lack visibility into the application's internal logic, data flows or code execution needed to spot zero-day exploits targeting the application itself.
This lack of deep application context means detection often occurs only after compromise, reinforcing the belief that proactive defense is unattainable and forcing reliance on imprecise responses (IP blocking, process kills) that cause collateral damage.
Contrast ADR challenges this paradigm. By operating inside the application runtime, we provide the necessary deep visibility and behavioral context to accurately detect and precisely respond to unknown threats, offering proactive protection by addressing entire classes of vulnerabilities, not just individual known vulnerabilities.
Key benefits of Contrast ADR for preventing and protecting against zero-day exploits and attacks
- Expose zero-day attacks: Expose active zero-day exploits in real-time using behavioral analysis inside the application runtime. Gain the deep visibility needed to expose subtle anomalies indicative of novel attacks missed by other tools. Identify and expose malicious activity targeting unknown vulnerabilities by analyzing behavior within the application context.
- Block vulnerability classes: Go beyond patching individual issues and proactively block entire classes of vulnerabilities (like SQL injection and path traversal attacks). Neutralize novel zero-day attacks instantly because ADR understands underlying attack techniques, not just attack signatures. Detect attacks based on what code actually does, not just external patterns or signatures.
- Runtime behavioral detection: Identify and expose malicious activity targeting unknown vulnerabilities by analyzing behavior within the application context. Detect attacks based on what code actually does, not just external patterns or signatures. Leverage deep runtime context (post-decryption, post-parsing) to distinguish real attacks from noise with high fidelity.
While zero-day exploits and attacks represent a growing risk, Contrast ADR provides the deep application context needed for effective real-time detection and protection, going beyond the limitations of traditional defenses and OS-level monitoring.
Best practices for zero-day attack prevention
Ideally, software would never contain any potential vulnerabilities. This level of perfection would ensure that zero-day exploits never arise in the first place.
In reality, achieving this level of security is impossible. While zero-day vulnerabilities can likely never be eliminated completely, it is possible to prevent zero-day exploits by instrumenting applications with protection that focuses on behavior anomaly detection as opposed to known attack signatures.
Contrast ADR provides real-time detection of active zero-day exploits by analyzing activity within the application at runtime. This deep visibility allows for the identification of subtle anomalies indicative of novel attacks that other tools may miss. By analyzing behavior within the application context, Contrast ADR can pinpoint malicious activity targeting unknown vulnerabilities, effectively exposing threats that would otherwise go undetected.
Beyond just identifying attacks, Contrast ADR proactively blocks entire classes of vulnerabilities, such as SQL injection and path traversal attacks, rather than merely patching individual issues. This capability enables the neutralization of novel zero-day attacks instantly, as ADR understands the underlying attack techniques rather than relying solely on attack signatures. By detecting attacks based on what code actually does and leveraging deep runtime context, Contrast ADR distinguishes real attacks from noise with high fidelity, offering robust protection against zero-day exploits.