Главная / Технологии

Французский программист отыскал метод обойти WannaCry

Французские специалисты нашли способ, как восстановить доступ к файлам, заблокированным вирусом WannaCry.

Специалист французской компании Quarkslab Адриен Гинье (Adrien Guinet) сообщает, что он нашел способ расшифровать данные, пострадавшие в результате атаки шифровальщика WannaCry. К сожалению, данный метод работает только для операционной системы Windows XP и далеко не во всех случаях, однако это уже лучше, чем ничего.

Гинье опубликовал на GitHub исходные коды инструмента, который он назвал WannaKey. Методика исследователя, по сути, базируется на эксплуатации достаточно странного и малоизвестного баг в Windows XP, о котором, похоже, не знали даже авторы нашумевшей вымогательской малвари. Дело в том, что при определенных обстоятельствах из памяти машины, работающей под управлением XP, можно извлечь ключ, необходимый для «спасения» файлов.

Исследователь объясняет, что во время работы шифровальщик задействует Windows Crypto API и генерирует пару ключей – публичный, который используется для шифрования файлов, и приватный, которым после выплаты выкупа файлы можно расшифровать. Чтобы жертвы не смогли добраться до приватного ключа и расшифровать данные раньше времени, авторы WannaCry шифруют и сам ключ, так что он становится доступен лишь после оплаты.

После того как ключ был зашифрован, его незашифрованная версия стирается с помощью стандартной функции CryptReleaseContext, что в теории должно удалять его и из памяти зараженной машины. Однако Гинье заметил, что этого не происходит, удаляется только «маркер», указывающий на ключ.

Специалист пишет, что извлечь приватный ключ из памяти возможно. Сам Гинье провел ряд тестов и успешно расшифровал файлы на нескольких зараженных компьютерах под управлением Windows XP. Однако исследователь пишет, что для удачного исхода операции необходимо соблюсти ряд условий. Так как ключ сохраняется только в энергозависимой памяти, опасаться нужно не только того, что любой процесс может случайно перезаписать данные поверх ключа, а память перераспределится, но также нельзя выключать и перезагружать компьютер после заражения.

«Если вам повезет, вы сможете получить доступ к этим областям памяти и восстановить ключ. Возможно, он все еще будет там, и вы сможете использовать его для расшифровки файлов. Но это срабатывает не во всех случаях», — пишет исследователь.

Неизвестно, как много компьютеров под управлением Windows XP было заражено WannaCry, и какой процент пользователей ни разу не перезагружал и не выключал ПК после заражения. Напомню, что суммарно от атак шифровальщика пострадали сотни тысяч машин, более чем в ста странах мира. Тем не менее, Гинье надеется, что его методика может пригодиться хотя бы некоторым пользователям.

Другие эксперты уже подтвердили, что в теории инструмент Гинье должен работать. Так, известный криптограф и профессор университета Джонса Хопкинса Мэтью Грин (Matthew Green), пишет, что способ должен работать, хотя в текущих обстоятельствах все это больше похоже на лотерею. Еще один известный специалист, сотрудник компании F-Secure, Микко Хайппонен (Mikko Hypponen) задается вопросом «зачем использовать для уничтожения ключей функцию, которая не уничтожает ключи?», однако соглашается с тем, что баг можно попытаться использовать для восстановления зашифрованных файлов.