Специалист французской компании Quarkslab Адриен Гинье (Adrien Guinet) сообщает, что он нашел способ расшифровать данные, пострадавшие в результате атаки шифровальщика WannaCry. К сожалению, данный метод работает только для операционной системы Windows XP и далеко не во всех случаях, однако это уже лучше, чем ничего.
I got to finish the full decryption process, but I confirm that, in this case, the private key can recovered on an XP system #wannacry!! pic.twitter.com/QiB3Q1NYpS
— Adrien Guinet (@adriengnt) May 18, 2017
Гинье опубликовал на GitHub исходные коды инструмента, который он назвал WannaKey. Методика исследователя, по сути, базируется на эксплуатации достаточно странного и малоизвестного бага в Windows XP, о котором, похоже, не знали даже авторы нашумевшей вымогательской малвари. Дело в том, что при определенных обстоятельствах из памяти машины, работающей под управлением XP, можно извлечь ключ, необходимый для «спасения» файлов.
Исследователь объясняет, что во время работы шифровальщик задействует Windows Crypto API и генерирует пару ключей – публичный, который используется для шифрования файлов, и приватный, которым после выплаты выкупа файлы можно расшифровать. Чтобы жертвы не смогли добраться до приватного ключа и расшифровать данные раньше времени, авторы WannaCry шифруют и сам ключ, так что он становится доступен лишь после оплаты.
После того как ключ был зашифрован, его незашифрованная версия стирается с помощью стандартной функции CryptReleaseContext, что в теории должно удалять его и из памяти зараженной машины. Однако Гинье заметил, что этого не происходит, удаляется только «маркер», указывающий на ключ.
Специалист пишет, что извлечь приватный ключ из памяти возможно. Сам Гинье провел ряд тестов и успешно расшифровал файлы на нескольких зараженных компьютерах под управлением Windows XP. Однако исследователь пишет, что для удачного исхода операции необходимо соблюсти ряд условий. Так как ключ сохраняется только в энергозависимой памяти, опасаться нужно не только того, что любой процесс может случайно перезаписать данные поверх ключа, а память перераспределится, но также нельзя выключать и перезагружать компьютер после заражения.
«Если вам повезет, вы сможете получить доступ к этим областям памяти и восстановить ключ. Возможно, он все еще будет там, и вы сможете использовать его для расшифровки файлов. Но это срабатывает не во всех случаях», — пишет исследователь.
Неизвестно, как много компьютеров под управлением Windows XP было заражено WannaCry, и какой процент пользователей ни разу не перезагружал и не выключал ПК после заражения. Напомню, что суммарно от атак шифровальщика пострадали сотни тысяч машин, более чем в ста странах мира. Тем не менее, Гинье надеется, что его методика может пригодиться хотя бы некоторым пользователям.
Другие эксперты уже подтвердили, что в теории инструмент Гинье должен работать. Так, известный криптограф и профессор университета Джонса Хопкинса Мэтью Грин (Matthew Green), пишет, что способ должен работать, хотя в текущих обстоятельствах все это больше похоже на лотерею. Еще один известный специалист, сотрудник компании F-Secure, Микко Хайппонен (Mikko Hypponen) задается вопросом «зачем использовать для уничтожения ключей функцию, которая не уничтожает ключи?», однако соглашается с тем, что баг можно попытаться использовать для восстановления зашифрованных файлов.