Эпидемия червя WannaCry началась 12 мая 2017 года. С точки зрения жертвы нормальная работа компьютера прерывалась вот таким сообщением:
Одновременно жертва обнаруживала, что все ее документы зашифрованы, а к нормальному расширению файла типа .doc или .mp3 добавлено еще одно — .wnry. На случай, если человек закроет окно не читая, вредоносная программа также подменяла обои рабочего стола на свои, с таким сообщением:
Для расшифровки файла программа предлагала отправить эквивалент 300 долларов в биткойнах на кошелек злоумышленников. Позднее эта сумма была увеличена до 600 долларов. В течение дня быстро распространявшийся интернет-червь заразил более 200 тысяч систем по всему миру. Среди них были как компьютеры обычных пользователей, так и сети организаций: пострадали больницы, транспортные компании, банковские структуры, сотовые операторы. Производителю микросхем, тайваньской компании TSMC, пришлось приостановить производство из-за масштабного заражения корпоративных устройств.
Как это произошло
Столь молниеносное распространение Wannacry произошло благодаря эксплуатации уязвимостей в протоколе Server Message Block (SMB) в Windows. Обычно этот протокол используется для обмена файлами по локальной сети. Уязвимости позволяли выполнить на необновленном компьютере произвольный код при помощи «подготовленного» запроса по протоколу SMBv1. Это очень старая версия протокола Server Message Block, используемая с начала девяностых годов прошлого века. С 2006 года по умолчанию в Windows должны использоваться версии SMBv2 или более поздние, но поддержка устаревшего протокола была оставлена для совместимости — на случай, если потребуется обмен данными с компьютером, использующим устаревшее ПО.
К моменту обнаружения проблемы и публикации патчей в марте 2017 года (то есть почти за два месяца до эпидемии WannaCry) уязвимостям в SMBv1 были подвержены все версии ОС, начиная с Windows Vista и заканчивая самой современной на тот момент Windows 10. Уязвимы были и совсем устаревшие версии ОС — Windows XP и Windows 8. Компания Microsoft выпустила патч для Windows XP несмотря на то, что официально поддержка этой ОС была прекращена еще в 2014 году. Эсплойт, работавший через серию уязвимостей в SMBv1, обычно называют кодовым именем EternalBlue — по причинам, о которых стоит рассказать отдельно.
Но сначала вот вам еще одно кодовое название: DoublePulsar. Так называется вредоносный код для создания бэкдора в атакуемой системе. И эксплойт EternalBlue, и бэкдор DoublePulsar были выложены в открытый доступ анонимной группировкой ShadowBrokers, первый — в марте, а второй — в апреле 2017 года. Они, вместе с другими инструментами кибератак, предположительно были украдены из подразделения американского Агентства по национальной безопасности. Червь WannaCry использует оба компонента: сначала получает возможность выполнить вредоносный код через уязвимость EternalBlue, а затем задействует адаптированный инструмент DoublePulsar для запуска так называемой «полезной нагрузки», которая уже шифрует файлы и выводит сообщение о выкупе.
Помимо шифрования файлов, вредоносный код WannaCry обеспечивал связь с командным сервером злоумышленников через анонимную сеть TOR, а также занимался собственным распространением, отправляя вредоносные запросы на случайные IP-адреса в Интернете. Этим и обусловлена невероятная скорость распространения червя — десятки тысяч зараженных систем в час!
Рубильник
В тот же день, 12 мая, разбором кода WannaCry занялся некий MalwareTech, на тот момент анонимный ведущий одноименного блога о кибербезопасности. Он обнаружил, что в код вшит адрес вида <очень_длинный_бессмысленный_набор_символов>.com. Это доменное имя не было зарегистрировано. MalwareTech зарегистрировал домен на себя, изначально предполагая, что по этому адресу зараженные компьютеры будут обращаться за дальнейшими командами. Вместо этого эпидемия WannaCry была неожиданно остановлена.
Как выяснилось уже вечером 12 мая, после регистрации домена WannaCry продолжал заражать компьютеры, но не шифровал данные на них. По факту оказалось, что вредоносная программа обращалась к доменному имени, а если его не существовало, шифровала файлы. Так как теперь домен был доступен, WannaCry прекращал работу после проверки. Почему авторы червя сделали такой простой способ «выключения» своей вымогательской программы? По версии MalwareTech, это была неудачная попытка обойти тестирование программ в автоматической «песочнице».
«Песочница» работает так: вредоносная программа запускается в специальном изолированном виртуальном окружении, что позволяет быстро проанализировать ее действия. Это обычная процедура, которая либо выполняется вручную вирусными аналитиками, либо производится автоматически. Виртуальное окружение сделано так, чтобы дать возможность зловреду отработать полностью и выдать все свои секреты исследователю. Если исследуемая программа запрашивает какой-то файл, «песочница» делает вид, что этот файл существует. Если вирус обращается к какому-то сайту в Интернете, виртуальное окружение может эмулировать ответ. Возможно, расчет авторов WannaCry был на то, что анализ в «песочнице» удастся обмануть: если мы обращаемся к заведомо несуществующему домену, а от него приходит ответ — значит, это не реальная жертва и вредоносную деятельность нужно скрыть.
На то, что специалисты разберут код червя буквально за три часа, найдут и зарегистрируют «секретное» доменное имя, авторы WannaCry, вероятно, не рассчитывали.
Malwaretech: необычная история спасителя от WannaCry
У автора блога MalwareTech были поводы скрывать свою личность. Его настоящее имя — Маркус Хатчинс. На момент обнаружения WannaCry ему было всего 23 года. Еще в школьные годы он, что называется, «связался с дурной компанией» — тусовался на форумах, промышлявших мелкой киберпреступностью. Написал программу для кражи паролей из браузера. Какое-то время даже продавал услуги хостинга веб-сайтов «без ограничений», для дельцов черного рынка. Написал программу для заражения пользователей через раздачи на торрентах и с ее помощью построил ботнет из 8000 жертв.
В начале нулевых его заметил более серьезный киберпреступник и предложил написать код вредоносной программы, позднее названной Kronos. За труд Маркусу выплачивалась комиссия с каждой продажи зловреда на черном рынке: другие киберпреступники покупали программу для проведения собственных атак. Позднее Хатчинс рассказал, что как минимум дважды он выдавал разным подельникам свое реальное имя и домашний адрес в Великобритании. Одна такая переписка позднее оказалась в распоряжении американских правоохранительных органов.
Слава человека, «остановившего WannaCry», быстро положила конец анонимности. Уже через два дня к нему в дверь стучались журналисты: дочь одного из них ходила вместе с Маркусом в одну школу и знала, что он использует ник MalwareTech. Он поначалу избегал общения с прессой, но в итоге дал интервью агентству Associated Press. Уже как почетный гость, в августе 2017 года он отправился в Лас-Вегас на известную хакерскую конференцию DEF CON.
Там-то его и арестовали. Проведя несколько месяцев под домашним арестом и частично признав предъявленные ему обвинения в разработке Kronos, Хатчинс получил достаточно мягкое наказание — условный срок. В интервью, по которому позднее была написана большая статья в журнале Wired, он описывает свое криминальное прошлое как досадную ошибку: он занимался этим не столько из-за денег, сколько из-за желания показать свои возможности, добиться признания в подпольной тусовке. На момент обнаружения WannaCry он уже два года не имел связей с киберпреступниками, а его блог MalwareTech заслужил признание специалистов.
Последняя эпидемия?
Недавно мы писали про червь ILOVEYOU, вызвавший одну из масштабных эпидемий в начале нулевых. У нее очень много общего с инцидентом WannaCry. В обоих случаях для распространения интернет-червя использовалась уязвимость в Windows, для которой уже имелся патч. Но на момент начала распространения далеко не на все компьютеры было установлено необходимое обновление. Результатом стали сотни тысяч заражений по всему миру, миллионные убытки компаний и потерянные данные пользователей.
Есть и отличия. Авторы WannaCry (предположительно это была группировка из Северной Кореи) воспользовались готовыми инструментами взлома, попавшими в открытый доступ. ILOVEYOU просто удалял часть файлов, а WannaCry требовал выкуп от пользователей, потерявших все свои документы, зарабатывая авторам деньги. К счастью, авторы WannaCry перехитрили сами себя, встроив во вредоносную программу надежный «выключатель». История этой эпидемии — в том числе и про уникальный опыт людей, способных в сжатые сроки взять программу, написанную кем-то другим, понять, как она работает, и разработать защиту. Правда, в этот раз случайный герой набирался опыта на криминальных форумах — и получил за это законное возмездие.
WannaCry проанализировали десятки компаний, эпидемия получила максимум внимания СМИ — и в этом она, скорее, является исключением из правил. Атака шифровальщика на конкретный бизнес сейчас уже вряд ли удостоится первых полос газетных таблоидов: по сути, вы останетесь один на один со своей бедой. Поэтому важно привлекать к устранению последствий атаки лучших экспертов, не поддаваться на вымогательство и верить в победу добра. Как показывает нам история WannaCry, даже у сложной и крайне эффективной атаки всегда может быть своя ахиллесова пята.