What is a DKIM Replay Attack?

How to strengthen your email authentication and protect against domain abuse

Malicious actors are always exploring new ways to access email inboxes. Over the past few years, cyber criminals have been using a method known as a ‘DKIM Replay Attack’, in which high reputation mailboxes are used to generate a legitimate message signature, which can then be amplified (or replayed) multiple times to send spam messages. Recipients using Gmail are particularly at risk to this type of attack since they give a lot of weight to domain reputation.

What is a DKIM replay attack?

To understand DKIM replay attacks, we first need to understand what DKIM does. DKIM, or “DomainKeys Identified Mail” (defined in RFC 6376), is a mechanism to sign and authenticate an email with public/private key pairs by signing one or more headers in an email. 

However, the flexibility of the technology allows a DKIM signature domain to be different to the domain in the from header. If the DKIM signature is verified, this only confirms that the message went through the signing domain’s mail servers and has not been modified since, despite the message not originating from where it claims to. 

If an attacker can create or otherwise gain access to a mailbox using a domain with a high reputation, that attacker only needs to send a single email from that high reputation domain to another mailbox they control. This message can then be used to re-broadcast a message to recipients not originally intended by the original author.

How can you strengthen your signing to prevent being a victim?

There are multiple ways to leverage mechanisms within the DKIM specification to make sure you are not vulnerable to DKIM replay attacks. It’s worth noting that most, if not all, of these methods will depend on your email provider’s DKIM signing settings, if you do not host your own. You are encouraged to ask your ESP (Email Service Provider) whether they perform any of the strategies within this blog post.

The first mitigation strategy, and possibly the easiest for ESPs to implement, is to oversign headers. This is particularly important for headers that, if modified, would cause the message to fail DKIM authentication.

Consider the key snippet below, in which you can see that only three headers are included in the signature: message-id, date and from

DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=example.com; s=20210112;
h=message-id:date:from; bh=1Gi...6+FidE=; b=Qpozy...4qMw==

This means the attacker just needs to keep those fields the same to keep the DKIM signature intact, and they can change all the other headers (including the subject!).

Let’s take the following signature from Google, where you can see that they sign nearly every header:

DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=redsift.io; s=google; t=1692646848; x=1693251648; h=cc:to:subject:message-id:date:from:mime-version:from:to:cc:subject:date:message-id:reply-to;bh=nfCPN8ZH96qE7/cjuGo1YMrjN7ITuZjKcbvBaUe8zp4=;

By oversigning headers, you make it much harder to add or change headers, making this attack less attractive to malicious actors.

Another mitigation strategy is to use key timestamps and expiration dates. There are two tags in the DKIM specification; one indicating the time that a signature was added, and the other indicating the expiration for that signature. 

Take the example below:

DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=example.com; s=20210112; t=1665514330; x=1665812312;
  • The tag t= represents the signature’s creation time as a Unix epoch timestamp
  • The tag x= represents the signature’s expiration time as a Unix epoch timestamp

You could also use reputation-based indicators and use different selectors for different kinds of accounts. For example, high-risk accounts have DKIM signatures that expire 10 minutes after signing, while low-risk accounts have DKIM signatures that expire in 24 hours. 

On a similar note, rotating your keys will also help mitigate DKIM replay attacks, for which you can find out more information in this blog post.

Lastly, you can use selectors as feedback mechanisms. To achieve this, you’ll need to tag high risk or trial accounts with a different DKIM selector and track excessive usage of the selector via DMARC reports. DMARC reporting software such as OnDMARC can support you if you decide to use this method.

What are the consequences of DKIM replay attacks?

If a cyber criminal successfully replays a message and replaces the content with spam or other malicious content, spam filters would start picking up the signals and would catch up with the influx of replayed spam messages. If it’s a large or sustained enough campaign, the reputation of the signing domain will be negatively impacted, and legitimate, clean messages will be sent to spam (or even possibly outright blocked).

If you’re still skeptical about DKIM practices and management, then head out to our investigate tool to know about errors and ways to fix them.

check email dmarc setup

PUBLISHED BY

Faisal Misle

1 Sep. 2023

SHARE ARTICLE:

Categories

Recent Posts

VIEW ALL
BEC

What is email spoofing and how can you prevent it?

Faisal Misle

Executive summary: Email spoofing is a growing cyber threat where attackers forge the sender’s address to impersonate trusted sources, enabling phishing, business email compromise, and financial fraud. Because legacy email protocols like SMTP lack strong authentication, spoofing can bypass traditional filters. Organizations can mitigate this risk by implementing robust email authentication measures, especially DMARC.…

Read more
Email

What is social engineering and how can you prevent it?

Jack Lilley

Executive summary: Email phishing has evolved and criminals now use social engineering to impersonate executives, suppliers, and even government agencies, persuading recipients to approve payments or disclose credentials. Because human judgment sits at the heart of these attacks, technical controls that eliminate spoofed messages before they reach the inbox are essential. DMARC provides that…

Read more
Cybersecurity

Attackers are abusing Microsoft 365: Here’s how to stay protected

Jack Lilley

Executive summary: Varonis has surfaced an active phishing campaign that spoofs internal users by abusing Microsoft 365’s Direct Send feature. Because Direct Send doesn’t require authentication and is treated as “internal,” these messages often bypass the checks you rely on for outside mail. Microsoft now offers an opt-in switch, RejectDirectSend, to block the pathway,…

Read more
BEC

SVGs with JavaScript are bypassing traditional email security: Learn how to stay…

Jack Lilley

Executive summary: Hackers are hiding JavaScript inside SVG attachments that pass as harmless images, and slipping past Secure Email Gateways (SEGs). To stay secure, organizations need to enforce a DMARC policy of p=reject, easily implemented with Red Sift OnDMARC, to stop compromised SVGs before they reach the end user. Key takeaways: Scalable Vector Graphics…

Read more