Google, Microsoft and Yahoo have remedied a cryptographic weakness in their email systems that could allow an attacker to create a spoofed message that passes a mathematical security verification.
The weakness affects DKIM, or DomainKeys Identified Mail, a security system used by major email senders. DKIM wraps a cryptographic signature around an email that verifies the domain name through which the message was sent, which helps more easily filter out spoofed messages from legitimate ones.
The problem lies with signing keys that are less than 1,024 bits, which can be factored due to increasing computer power. US-CERT said in an advisory yesterday that signing keys less than 1,024 bits are weak, and that keys up to RSA-768 bits have been factored.
The issue came to light after Florida-based mathematician Zachary Harris was sent an email from a Google recruiter that used only a 512-bit key, according to a report yesterday in Wired.
Thinking it might be some clever test by Google, he factored the key, then used it to send a spoofed message from Sergey Brin to Larry Page, Google's founders.
It wasn't a test but in fact a serious problem, one in which emails that could be bogus would be trusted. According to the DKIM standard, email messages that have keys shorter that 1,024 bits are not necessarily rejected.
Harris found the problem wasn't limited to Google, but also Microsoft and Yahoo, all of whom appeared to have fixed the issue as of two days ago, according to US-CERT. Harris told Wired he found either 512-bit or 768-bit keys in use at PayPal, Yahoo, Amazon, eBay, Apple, Dell, LinkedIn, Twitter, SBCGlobal, US Bank, HP, Match.com and HSBC.
Weak signing keys are a boon for cybercriminals. They selectively target people with emails containing malicious links in an attempt to exploit a computer's software and install malware, a style of attack known as spear phishing. If an email contains the correct DKIM signature, it's more likely to end up in a recipient's inbox.
US-CERT also warned of another problem. The DKIM specification allows a sender to flag that it is testing DKIM in messages. Some recipients will "accept DKIM messages in testing mode when the messages should be treated as if they were not DKIM signed," US-CERT said.