Исследователи из Google Project Zero Team в своем блоге опубликовали подробный разбор ошибок безопасности, содержащихся в антивирусном «движке» Symantec Endpoint Protection. По словам экспертов, продукт содержит множество критических уязвимостей, некоторые из которых могут приводить к удаленному выполнению кода или удаленному повреждению памяти ядра (remote kernel memory corruption).
В чем проблема
Исследователи Google Project Zero опубликовали информацию об уязвимости CVE-2016-2208. По словам экспертов, ошибка заключается в некорректной работе используемых разработчиками Symantec инструментов распаковки (unpackers) упакованных исполняемых файлов.
Найденные уязвимости связаны с ошибками переполнения буфера и в результате успешной эксплуатации могут привести к удаленному исполнению кода. Поскольку антивирусный движок Symantec запускает свои «распаковщики» прямо в ядре, то исполнение кода может происходить с высокими системными привилегиями. Автор поста в блоге Google Тэвис Орманди смог заставить антивирус выполнить следующий код:
char *buf = malloc(SizeOfImage);
memcpy(&buf[DataSection->VirtualAddress],
DataSection->PointerToRawData,
SectionSizeOnDisk);
Оманди создал эксплоит, использующий данную уязвимость. Эксперт отмечает, что злоумышленнику даже не нужно заставлять жертву каким-то образом взаимодействовать с файлом для его активации — достаточно просто отправить его по email или сформировать гиперссылку на него и добиться чтобы антивирус её проверил, например, указав её в письме.
Таким образом, уязвимость несет в себе серьезную угрозу — с ее помощью киберпреступники могут успешно удаленно атаковать корпоративные системы даже самых крупных компаний.
Кроме того, в антивирусном продукте Symantec реализован уровень I/O-абстракции, который использует для обработки файлов PowerPoint. Этот механизм содержит ошибку, благодаря которой злоумышленник может спровоцировать переполнение буфера. Применимость этого способа атаки, однако, ограничена случаями, когда антивирус работает в режиме “Bloodhound Heuristics”. Орманди опубликовал ссылку на эксплоит, использующий эту ошибку.
![image](https://habrastorage.org/getpro/habr/post_images/e75/d6a/66d/e75d6a66d32314a8119b79f038fb25e2.png)
Исследователи Google отмечают, что разработчики Symantec использовали open source-библиотеки вроде libmspack и unrarsrc, однако не обновляли их код как минимум на протяжении семи лет.
Какие продукты уязвимы
Symantec использует один и тот же «движок» для целой линейки своих антивирусных продуктов, которые продаются под брендами Symantec и Norton. В числе уязвимых продуктов:
- Norton Security, Norton 360 и другие legacy-продукты Norton products для всех платформ;
- Symantec Endpoint Protection (все версии и платформы);
- Symantec Email Security (все платформы);
- Symantec Protection Engine (все платформы);
- Symantec Protection for SharePoint Servers
- И т.д.
Некоторые из этих продуктов невозможно обновить автоматически, поэтому их пользователям и администраторам необходимо самостоятельно предпринять действия по защите своих систем. Компания Symantec опубликовала соответствующие рекомендации на своем сайте.
Помимо подробно описанной уязвимости CVE-2016-2208, исследователи Google обнаружили и другие серьезные ошибки безопасности, приводящие к переполнению буфера, повреждению памяти и другим проблемам.
Как защититься
Для предотвращения возможных проблем, связанных с безопасностью инструментов защиты, эксперты Positive Technologies рекомендуют использовать средства, позволяющие изолировать подобные решения от других систем, сохранив их функциональность. Решать эту задачу, к примеру, может cистема выявления вредоносных файлов и ссылок PT MultiScanner.
Ранее в нашем блоге мы публиковали статью с обзором известных случаев обнаружения уязвимостей в популярных антивирусных программах.
К примеру, исследователи не впервые находят в продукте Symantec Endpoint Protection серьезные уязвимости. Ранее специалистам по безопасности удавалось обнаружить серьезные ошибки, которые позволяли атакующим осуществлять обход аутентификации, повышения привилегий, чтение и запись файлов, а также осуществления SQL-инъекций.
Другие антивирусные решения также не избежали подобных проблем. Так в начале февраля 2016 года тот же исследователь Тэвис Орманди обнаружил серьезные уязвимости в антивирусном продукте Malwarebytes. Обновления Malwarebytes Antivirus не были подписаны с помощью цифровой подписи компании и загружались по незащищенному HTTP-соединению — это делало пользователей подверженными MiTM-атакам. В апреле 2016 года была опубликована информация о критической уязвимости в антивирусе TrendMicro, которая позволяла злоумышленник осуществлять удаленное выполнение кода.
Ранее в 2015 году исследователи из из Google Project Zero рассказали о серьезной уязвимости в антивирусе ESET NOD32, которая позволяла атакующему читать, модифицировать и удалять любые файлы на компьютерах, на которых установлен антивирус.
В том же году критические уязвимости были найдены в криптософте TrueCrypt и антивирусе Avast, а антивирусная компания BitDefender стала жертвой хакерской атаки, в результате которой были похищены пароли пользователей, которые хранились в открытом виде.