«Дорогая Trend Micro, wtf, о чем вы думали? Это нелепейший баг. Через пару минут пришлю развернутый отчет. Вздох», — таким посланием в Twitter сотрудник Google Project Zero Тэвис Орманди (Tavis Ormandy) сопроводил уязвимость, найденную в антивирусе Trend Micro.
Dear @trendmicro, wtf were you thinking? This bug is completely ridiculous. Will send full report in a minute. Sigh. pic.twitter.com/hEysaaht8f
— Tavis Ormandy (@taviso) January 5, 2016
Орманди не первый раз обнаруживает проблемы в продукции известных производителей антивирусов. Ранее он находил уязвимости в решениях компаний AVG, FireEye, Kaspersky, Avast и ESET. На этот раз пришел черед антивируса Trend Micro.
Орманди рассказал, что обнаружил баг в Trend Micro Antivirus для Windows, а если точнее — в компоненте Password Manager, который поставляется и устанавливается вместе с антивирусом. Password Manager представляет собой обыкновенный менеджер для хранения паролей. Он написан на JavaScript, и работа компонента, при каждом запуске антивируса, начинается с поднятия сервера Node.js на локальной машине.
Орманди обнаружил на Node.js сервере несколько портов HTTP RPC, предназначенных для обработки API-запросов от других приложений, которые обращаются за информацией к Password Manager. Исследователь пишет, что ему за полминуты удалось найти возможность, допускающую исполнение произвольного кода.
Атакующему достаточно заманить жертву на вредоносную веб-страницу и запустить скрипт, который будет использовать антивирус Trend Micro для выполнения команд на удаленной машине. Злоумышленник сможет скачать и установить на компьютер жертвы любую малварь, или жестоко пошутить, к примеру, выполнив очистку системного диска RD C:\ /S /Q
. Приведенный ниже код вообще удалит весь софт Trend Micro с компьютера жертвы, без ее ведома или разрешения.
«Я даже не знаю, что сказать. Как вы могли оставить эту штуку включенной по умолчанию на всех пользовательских машинах, и почему компетентный специалист в области информационной безопасности не проводил аудит? — писал Орманди в переписке с Trend Micro. — Вам немедленно нужен план исправления [этого бага]. К тому же, похоже, что все хранящиеся пароли остались без защиты и “смотрят” прямо в интернет, но давайте волноваться об этом косяке после того, как вы исправите RCE-уязвимость».
Эксперт действительно обнаружил, что менеджер паролей написан настолько плохо, что допускает не только удаленное исполнение произвольного кода (RCE), но и компрометирует пароли пользователей. Орманди пишет, что Password Manager раскрывает всему миру около 70 различных API, через тот самый Node.js сервер. Исследователь сумел не только извлечь зашифрованные пароли из Password Manager, но и расшифровать их. Дело в том, что один из раскрытых Node.js API отвечает именно за дешифровку паролей внутри менеджера.
Теоретически, злоумышленник может создать вредоносную ссылку, которая объединит в себе эксплоиты для всех перечисленных проблем. Ссылку можно будет встроить в веб-страницу или отправить жертве по почте. Как только пользователь Trend Micro кликнет по ней, всего его пароли будут переданы на сервер подконтрольный атакующему.
Орманди не сообщил, какие именно версии антивируса и менеджера паролей подвержены описанным проблемам. Новейший релиз антивируса уже содержит исправление, разработать которое Орманди помогал лично. Однако пока компания пофиксила только удаленное исполнение кода, а 70 API по-прежнему открыты для интернета. Орманди пишет, что не собирается самостоятельно разбираться с данной проблемой. Вместо этого эксперт порекомендовал Trend Micro нанять хорошего специалиста и как можно быстрее провести аудит кода.