Сотрудник компании Quarkslab Адриен Гинье нашёл способ расшифровки файлов, зашифрованных вирусом WannaCry, который с 12 мая заразил более 100 тысяч компьютеров по всему миру.
Заражённый компьютер должен работать на Windows XP и он с момента заражения вирусом не должен был выключаться или перезагружаться. Дело в том, что в Windows XP есть баг, который позволяет извлечь ключ дешифрации из оперативной памяти. Вирус шифрует этот ключ, а его исходная версия удаляется с помощью стандартной функции CryptReleaseContext, которая не работает в Windows XP так, как должна. Удаляется только маркер, указывающий на ключ, а сам ключ продолжает храниться в оперативной памяти до тех пор, пока компьютер не будет выключен или какой-нибудь процесс не перезапишет его другими данными. В последних версиях Windows этот баг был исправлен, поэтому извлечь из памяти ключ для расшифровки файлов не получится.
Восстановить файлы на винчестере, взяв его из нового компьютера и установив на компьютер с Windows XP, не удастся, поскольку для каждого ПК генерируется уникальный ключ и его незашифрованный исходник не хранится в энергонезависимой памяти.
Гинье выложил на GitHub исходный код программы WannaKey с помощью которой можно восстановить зашифрованные файлы. Он протестировал этот инструмент на нескольких заражённых компьютерах и успешно восстановил зашифрованные файлы. Разработчик надеется, что эта программа пригодится хоть кому-нибудь, но очевидно, что компьютеров, которые работают на Windows XP, неделю назад заразились вирусом WannaCry и с тех пор никогда не выключались, очень мало.