Разработчики: | Apache Software Foundation (ASF) |
Дата премьеры системы: | 1999/06/15 |
Дата последнего релиза: | 2020/02/29 |
Технологии: | Серверные платформы |
Содержание |
Apache Tomcat - контейнер сервлетов с открытым исходным кодом.
2024: Обнаруженная уязвимость позволяет угнать Apache Tomcat
В середине декабря ФСТЭК выпустила предупреждение о том, что в сервере Java-приложений Apache Tomcat была обнаружена ошибка BDU:2024-11286[1], которая даёт возможность удалённому пользователю выполнить произвольный код. Опасность уязвимости по CVSSv3 оценивается как 9,8 из 10. Причём в интернете уже опубликован пример эксплуатации, поэтому пользователям Tomcat рекомендуется максимально быстро обновиться до последних версий.
Уязвимость возникла из-за ошибки синхронизации потоков исполнения при использовании общего ресурса в многопоточной системе. Она даёт посторонним возможность с помощью специально подготовленного файла в формате JSP вызвать ситуацию гонки за общий ресурс, которая может привести к нарушению целостности переменных и исполнению постороннего кода. Уязвимость присутствует в версиях до 11.0.2, до 10.1.34 и до 9.0.98 (в указанных версиях она исправлена).
Исследователь, обнаруживший описываемую уязвимость, заранее подготовил уязвимый сервер с нужными для него параметрами, — заметила Маргарита Павлова, руководитель направления хостового обнаружения Solar 4RAYS ГК «Солар». — По нашим наблюдениям, обычно такие серверы настраиваются более безопасно. Но если конфигурация сервера небезопасна, злоумышленник может детерминировано воспроизвести гонку и получить удаленное исполнение кода. Для массовой эксплуатации атаки такого типа даже в рамках одной инфраструктуры, необходимо, чтобы подходящая конфигурация хоста или сервиса была одинакова внутри периметра — такая ситуация характерна для разливки из «золотого образа». Если на такие узлы своевременно не устанавливать обновления, они могут расширить поверхность атаки и увеличить шансы злоумышленника на успешную эксплуатацию. |
Эксплуатация подобных уязвимостей требует от хакера достаточно высоких компетенций, чтобы правильно настроить направленную рассинхронизацию потоков, причём на чужом оборудовании.
Несмотря на самый высокий уровень критичности уязвимости (9.8 по CVSS) и наличие эксплойта (PoC) в публичном доступе, стоит отметить, что для ее эксплуатации требуется достаточный уровень компетенций и глубокое понимание работы системы, поэтому справедливо сказать, что «массовой эксплуатации» мы не увидим, — заверил читателей TAdviser Андрей Шабалин, аналитик по информационной безопасности NGR Softlab. — И хотя манифест об уязвимости и публикация PoC’ов, как правило, сопровождается массовыми попытками её эксплуатации со стороны злоумышленников, эффект от таких кампаний, скорее всего, будет невелик. |
Оценка популярности Tomcat среди российских пользователей разняться.
Apache не пользуется большой популярностью в России и странах СНГ, — заявила для TAdviser Анастасия Травкина, младший системный аналитик компании «Вебмониторэкс». — По данным Shodan, в России используется всего около 108 тысяч серверов с Apache. Для сравнения, в США, Германии, Японии, Китае и Франции количество серверов Apache значительно больше – например, в США их насчитывается около 5 миллионов. Поэтому можно утверждать, что в России и СНГ Apache не получил широкого распространения из-за наличия альтернативных решений, таких как Nginx. |
Некоторые эксперты даже отмечают постоянное уменьшение количества доступных из Интернет установок Apache Tomcat в России.
Как можно заметить по графикам использования Tomcat, приведённым выше, в процентном соотношении его популярность на протяжении всего 2024 года постепенно снижалась, — отметил Андрей Мичкин, начальник отдела внедрения ИБ-решений Cloud Networks. — Несмотря на это он продолжает часто использоваться и остаётся довольно эффективным инструментом как в России, так и во всем мире. Если говорить про массовость, то эта уязвимость будет эксплуатирована явно не в формате фишинга и спама. Я вижу две возможности: массовая эксплуатация с низкой конверсией, либо — точечная таргетированная с большой вероятностью с высокими результатами. |
По другим же оценкам доля использования Apache Tomcat в России достаточно велика.
По данным исследования Axiom JDK, в России наиболее распространенный сервер Java-приложений – это Apache Tomcat (79%), — поделился своими данными с TAdviser Сергей Лунегов, директор по продуктам Axiom JDK. — Следующим, с существенным отрывом, идет Jetty (39%). Оба решения являются открытыми и могут встраиваться во фреймворк Spring Boot. Эти серверы приложений используют почти 90% респондентов из крупных компаний (со штатом 1001-5000 и более 5000 человек). 30% опрошенных используют два сервера приложений (преимущественно те же два - Apache Tomcat и Jetty). Apache Tomcat используется в двух ипостасях, как сервер приложений, и как встроенная библиотека для фреймворков, например Spring. Как сервер приложений Tomcat используется гораздо реже, чем как встроенная библиотека. |
Лучшим решением проблемы эксплуатации данной уязвимости является обновление до последних версий в соответствующей ветке, однако не все пользователи могут согласиться на такое обновление. Тем, кто не может обновить свою установку Apache Tomcat, ФСТЭК рекомендует реализовать следующие компенсирующие меры:
- Отключить возможности записи для сервлета (стандартная конфигурация);
- Использовать средства межсетевого экранирования уровня веб-приложений (WAF) для ограничения возможности удалённого доступа к серверу приложений;
- Применять средства обнаружения и предотвращения вторжений (IDS/IPS) для отслеживания подключений к серверу приложений и загрузки файлов;
- Использовать защищенные соединения для организации удаленного доступа.
Однако для ошибок нарушения условий эксплуатации, к которым относится и ситуация гонки за ресурсы, хорошей защитой является усиление безопасности за счёт безопасных настроек — так называемый харденинг. Контроль и изменение настроек ключевых точек периметра — важная часть информационной безопасности.
В интернете уже появлялись (и быстро исчезли) готовые эксплойты, — пояснил для читателей TAdviser Илья Поляков, руководитель отдела анализа кода Angara Security. — Однако стоит отметить, что для успешной эксплуатации этой уязвимости требуются весьма специфичные и небезопасные настройки уязвимого сервера, что ограничивает массовую эксплуатацию. Защита от конкретной эксплуатации этой уязвимости заключается, конечно же, в обновлении уязвимой системы до рекомендуемой разработчиками версии. Более универсальный совет – укрепление информационной безопасности, максимальное внедрение принципа минимальных привилегий, что не только снизит вероятность эксплуатации, но и уменьшит возможный ущерб при успешной атаке. |
2020: Уязвимость Ghostcat, позволяющая перехватить управление системой
29 февраля 2020 года стало известно о том, что в сервере приложений Apache Tomcat обнаружена серьезная уязвимость, позволяющая перехватить управление уязвимыми системами. Проблема, получившая название Ghostcat, затрагивает все версии Apache Tomcat, выпущенные за последние 13 лет.
По информации компании, уязвимость содержится в протоколе Apache JServ Protocol (AJP) - двоичном протоколе, обеспечивающем передачу входящих запросов с web-сервера до сервера приложений. AJP коннектор по умолчанию включен на всех серверах Tomcat и слушает порт 8009.
По словам специалистов китайской компании Chaitin, Ghostcat (CVE-2020-1938, CNVD-2020-10487) может использоваться для чтения/записи файлов на сервер Tomcat. К примеру, атакующие могут получить доступ к конфигурационным файлам приложения и украсть пароли либо записать файлы на сервер (бэкдоры, web-шеллы и т. д.). Последнее возможно только в том случае, если какое-либо приложение на сервере разрешает загрузку файлов.«Вторые глаза» инспектора
Уязвимости подвержены следующие ветки Apache Tomcat:
- Apache Tomcat 9.x < 9.0.31
- Apache Tomcat 8.x < 8.5.51
- Apache Tomcat 7.x < 7.0.100
- Apache Tomcat 6.x
Корректирующие обновления на февраль 2020 года доступны для релизов Tomcat 7.x , Tomcat 8.x , и Tomcat 9.x , за исключением ветки 6.x, поддержка которой была прекращена в 2016 году. Согласно результатам поиска BinaryEdge, на февраль 2020 года в Сети доступно более миллиона Tomcat-серверов. Кроме того, с момента публикации информации о проблеме на GitHub уже появился ряд PoC-кодов [ 1 , 2 , 3 , 4 , 5 ] для тестирования и осуществления атак Ghostcat [2].
2015: Описание Apache Tomcat
Продукт исполняет спецификацию сервлетов, спецификацию JavaServer Pages (JSP) и JavaServer Faces (JSF). Написан на языке Java.
Tomcat позволяет запускать веб-приложения, содержит ряд программ для самоконфигурирования.
Скриншот окна страницы сервера Tomcat, 2013
Сервер используется в качестве самостоятельного веб-сервера, в качестве сервера контента в сочетании с веб-сервером Apache HTTP Server, в качестве контейнера сервлетов в серверах приложений JBoss и GlassFish.
Разработку и поддержку Tomcat ведет фонд Apache Software Foundation и добровольцы. Пользователи имеют свободный доступ к исходным кодам и бинарным файлам Tomcat согласно лицензии Apache License 2.0. Номера версий Tomcat начинаются с 3.0.x (предыдущие версии Sun выпустила для внутреннего пользования).
Примечания
Заказчик | Интегратор | Год | Проект |
---|---|---|---|
- Центр системы мониторинга рыболовства и связи (ЦСМС) | ФОРС - Центр разработки | 2018.03 | |
- Пенсионный Фонд России (ПФР) | R-Style (Эр-Стайл) ГК | --- |
Подрядчики-лидеры по количеству проектов
Softline (Софтлайн) (89)
X-Com (Икс ком) (57)
Крок (35)
Инфосистемы Джет (34)
Астерос (34)
Другие (1103)
Крикунов и Партнеры Бизнес Системы (КПБС, KPBS, Krikunov & Partners Business Systems) (3)
Мобильные ТелеСистемы (МТС) (3)
Почта России (2)
Селектел (Selectel) (2)
Аквариус (Aquarius) (1)
Другие (24)
Распределение вендоров по количеству проектов внедрений (систем, проектов) с учётом партнёров
Селектел (Selectel) (1, 2)
Delta Computers (Дельта Компьютерс) (1, 1)
Hewlett Packard Enterprise (HPE) (1, 1)
Lenovo Data Center Group (1, 1)
Базальт СПО (BaseALT) ранее ALT Linux (1, 1)
Другие (7, 7)
Аладдин Р.Д. (Aladdin R.D.) (1, 2)
Delta Computers (Дельта Компьютерс) (1, 1)
DEPO Computers (Депо Электроникс) (1, 1)
Lenovo (1, 1)
Red Hat (1, 1)
Другие (8, 8)
КНС Групп (Yadro) (1, 3)
Content AI (Контент ИИ) (1, 2)
TrueConf (Труконф) (1, 2)
Inferit (Инферит) (1, 1)
Softline (Софтлайн) (1, 1)
Другие (5, 5)
Распределение систем по количеству проектов, не включая партнерские решения
Microsoft Active Directory - 32
Oracle Exadata Database Machine - 21
Oracle WebLogic Server - 20
Microsoft System Center Operations Manager (SCOM) - 18
Lenovo ThinkSystem - 17
Другие 369
Selectel Выделенные серверы - 2
Серверы Ситроникс - 1
Альт Сервер - 1
HPE Apollo 4000 Серверы - 1
Aerodisk Machine Серверы - 1
Другие 5
JaCarta Authentication Server (JAS) - 2
КРУГ: TimeVisor Сервер единого времени - 1
Yadro Сервер - 1
SharxBase - 1
Dell PowerEdge T-серия - 1
Другие 5
Yadro Сервер - 3
Trueconf MCU (Multipoint Control Unit) - 2
ContentReader Server - 2
Инферит Серверы - 1
RDW Computers Серверы - 1
Другие 4