Since the WannaCry ransomware ripped through the internet late last week, infecting hundreds of thousands of machines and locking up critical systems from health care to transportation, cryptographers have searched for a cure. Finding a flaw in WannaCry’s encryption scheme, after all, could decrypt all those systems without any ransom.
Now one French researcher says he’s found at least a hint of a very limited remedy. The fix still seems too buggy, and far from the panacea WannaCry victims have hoped for. But if Adrien Guinet’s claims hold up, his tool could unlock some infected computers running Windows XP, the aging, largely unsupported version of Microsoft’s operating system, which analysts believe accounts for some portion of the WannaCry plague.
No Silver Bullet
On Friday, Guinet released “WannaKey” to the open source code repository Github. Guinet, who works for the Paris-based security firm QuarksLab, says the software can pull traces of a private key from the memory of a Windows XP computer, which can then be used to decrypt a WannaCry-infected PC’s files.
Guinet says he’s successfully used the decryption tool several times on test XP machines he’s infected with WannaCry. But he cautions that, because those traces are stored in volatile memory, the trick fails if the malware or any other process happened to overwrite the lingering decryption key, or if the computer rebooted any time after infection.
“If you get some luck, you can access parts of the memory and regenerate a key,” says Guinet. “Maybe it’ll still be there, and you can retrieve a key used to decrypt the files. It won’t work every time.”
In particular, Guinet warns any XP WannaCry victims who might still be able to recover their files to leave the computer untouched until they can run his program. “Do not reboot your computer, and try this!” he wrote in a followup email.
Other security researchers haven’t yet confirmed WannaKey’s prowess, and at least one researcher, Comae Technologies founder Matt Suiche, tells WIRED it failed to decrypt files in his initial test. But other researchers who looked at the tool’s code and Guinet’s notes on Github and Twitter say it seems to leverage a genuine flaw in WannaCry’s otherwise airtight encryption—at least on Windows XP. “It looks legit,” says cryptography-focused Johns Hopkins computer science professor Matthew Green. But he warns that whether it works for any specific victim will be partly a matter of chance. “It’s kind of a lottery ticket right now,” Green says.
WannaKey’s decryption scheme takes advantage of a strange quirk in a Microsoft cryptography function for deleting keys from memory—one that WannaCry’s authors themselves seem to have missed. WannaCry works by generating a pair of keys on the victim’s machine: a “public” key for encrypting their files, and a “private” key for decrypting them if, in theory, the victim pays the ransom. (Whether WannaCry’s sloppy operators reliably decrypt the files of paying victims is far from clear.) To prevent the victim from accessing that private key and decrypting their files themselves, WannaCry encrypts that key also, only making it accessible when the ransomware operators decrypt it.
But Guinet found that after WannaCry encrypts the private key, a Microsoft-designed deletion function also wipes the unencrypted version from the computer’s memory. Apparently unbeknownst to the ransomware writers, that function doesn’t actually delete the key in Windows XP’s memory, only a “handle” that refers to the key. “Why would you have a key destruction function that doesn’t destroy the keys?” asks Mikko Hypponen, a researcher for the Finnish security firm F-Secure who also reviewed Guinet’s work. “It’s really weird. And that’s probably why no one else found it before.”
‘It’s kind of like a lottery ticket right now.’ Matthew Green, Johns Hopkins University
It’s not clear how many computers running Windows XP ran into WannaCry. Early in the outbreak, Microsoft rushed out a patch to protect XP devices, and Cisco researchers say that at least Windows XP machines with 64-bit processors were vulnerable to the worm that spread WannaCry starting Friday. The ransomware plague created new fears that XP machines would be caught up in the wave of infections, since Microsoft hasn’t supported that 16-year-old operating system since 2014. The software is still disturbingly prevalent, and even used in some critical systems like Britain’s National Health Service, one of WannaCry’s most high-profile victims.
Regardless of how many infected XP computers there are, WannaKey can likely help only a fraction, due to its rebooting and overwriting caveats. “It’s unlikely a lot of victims have left their machines untouched since Friday,” says F-Secure’s Hypponen.
Still, any hope for WannaCry’s victims and their scrambled data is better than none. And ironically, Hypponen points out, the savior for a fortunate few users could be the idiosyncrasies of encryption software written by Microsoft—the same company that’s widely being blamed for leaving XP users vulnerable in the first place. “We’re not often happy about bugs in Windows,” says Hypponen. “But this bug might help some WannaCry victims recover their files.”