В рубрику "Защита информации и каналов связи" | К списку рубрик | К списку авторов | К списку публикаций
Совсем недавно был обнаружен вредоносный код, который превращает в DDoS-ботнет серверы ElasticSearch3, – написанный на Java поисковый движок с открытыми исходниками. Его используют Wikimedia, Quora, SoundCloud, GitHub, Netflix, Amazon, IBM и др.
В этой статье мы рассмотрим основные виды атак на отказ в обслуживании, выясним причины популярности движка ElasticSearch, расскажем, как серверы стали участниками ботнетов и как защититься от подобных инцидентов.
Аббревиатура DDoS расшифровывается как Distributed Denial of Service – распределенный отказ в обслуживании. Во время DDoS-атаки жертву атакуют сотни и тысячи компьютеров, т.е. "все на одного". В случае с DoS-атакой нападение происходит в режиме "один на один". Разумеется, эффективность распределенных атак значительно выше.
Суть атаки сводится к тому, чтобы засыпать жертву мусорными запросами, которые она не успевает обработать. В результате легитимные клиенты не могут подключиться к системе, получая отказ в обслуживании.
Для организации мусорного потока имеются различные способы. Например, можно вывести из строя Web-сервер, отправляя ему множество GET-запросов на одну или несколько страниц сайта или большое количество пакетов с запросами на установку сетевого соединения (атака SYN-flood4).
Для посетителя сайта обе атаки выглядят одинаково: ему не удается подключиться к серверу.
Если не слишком углубляться в технические детали, то атаки на отказ в обслуживании можно разделить на две большие группы.
Сюда относятся все виды флуда и другие атаки на сетевом и транспортном уровне модели ISO/OSI (уровни 3 и 4). Фактически атака создает большой поток данных, целиком заполняя канал. В результате реальные пользователи лишаются доступа к сервисам.
Самая крупная атака из этой категории была зафиксирована в феврале 2018 г.5. Ее целью стал GitHub – популярный сервис для управления исходным кодом. Мощность мусорного потока составила 1,3 Тбит/с, была получена благодаря усилению потока с использованием серверов memcached6, выполняющих кеширование интернет-трафика.
Это атаки на уровень приложений, уровень 7 модели ISO/OSI. К данной разновидности относятся HTTP-флуд, медленные сессии и фрагментированные HTTP-пакеты.
Со стороны подобная атака выглядит как резко возросшая активность пользователей, создающая большое количество запросов к Web-серверу или другому сетевому сервису, которые нагружают процессор, вызывают обращения к базе данных и/или интенсивную нагрузку на диск. Защититься от таких атак сложно, поскольку практически невозможно отделить паразитный трафик от легитимного.
Elasticsearch – это быстрый, горизонтально масштабируемый движок, в котором совмещаются возможности поисковой системы и базы данных NoSQL. Движок написан на Java и распространяется бесплатно по лицензии Apache.
ElasticSearch умеет искать документы различных типов, поддерживает многопользовательский поиск в режиме реального времени. Одна из из самых интересных возможностей продукта – способность разделять поисковый индекс на "осколки" (Shards), хранящиеся на различных серверах. Это дает возможность практически неограниченно наращивать нагрузочную способность системы.
Функциональность и бесплатность принесли ElasticSearch заслуженную популярность и сделали самым распространенным в Интернете поисковым инструментом для предприятий. По рейтингу DB-Engines ElasticSearch (рис.1) почти в два раза опережает своего ближайшего конкурента Splunk7.
Обратная сторона богатого набора возможностей ElasticSearch – сложность конфигурации системы. Результат – многочисленные сообщения об утечках данных компаний, использующих ElasticSearch:
Это лишь небольшая часть инцидентов, связанных с неправильной конфигурацией ElasticSearch.
Впрочем, даже грамотная настройка движка не гарантирует отсутствие проблем, поскольку в нем, как и в любой сложной программной системе, обнаруживаются различные уязвимости. Согласно CVE Details (рис. 2), за период с 2014 по 2019 г. в ElasticSearch выявлено восемь уязвимостей с уровнем опасности выше шести по 10-балльной шкале11.
Некоторые из этих уязвимостей, обнаруженных в 2014 и 2015 гг., были исправлены лишь в 2018 г. В списке присутствуют несанкционированное исполнение кода и эскалация привилегий – чрезвычайно удобные инструменты для киберпреступников.
В июле 2019 г. исследователи компании Trend Micro зафиксировали многочисленные атаки на серверы ElasticSearch, результатом которых становилось превращение этих серверов в участников ботнета для организации DDoS-атак. Успех атакам обеспечила уязвимость CVE-2015-1427 в Groovy ElasticSearch, обнаруженная в версиях движка 1.3.0–1.3.7 и 1.4.0–1.4.2.
Атака начинается с обнаружения подходящих серверов ElasticSearch. Для этого используется специально сконструированный поисковый запрос с внедренными Java-командами (рис. 3).
Если сервер уязвим, команды выполняются, загружая следующий скрипт с домена злоумышленников, причем домены постоянно меняются.
Загруженный скрипт s67.sh пытается "убить"» процессы межсетевого экрана и майнеров криптовалюты, а затем скачивает скрипт второй стадии s66.sh с подконтрольного злоумышленникам взломанного сервера и запускает его на выполнение (рис. 4).
Скрип второй стадии также пытается завершить процессы межсетевого экрана и майнеров, удаляет файлы, относящиеся к конкурирующим криптомайнерам, завершает работу нежелательных сетевых процессов и пытается очистить все следы первоначального заражения. Выполнив эти операции, скрипт загружает исполняемый файл вредоносного кода, который умеет похищать системную информацию и запускать DDoS-атаки. Как только он получит управление, сервер становится участником ботнета и послушно атакует цели, на которые ему укажут злоумышленники (рис. 5).
Внедренный на сервер вредоносный код позволяет выполнять DDoS на уровнях 3 и 4, перегружая интернетканалы жертв с помощью UDP-, SYN- и ICMP-флуда, атаки с усилением (NTP, CoAP, Memcached) и других способов.
Обнаруженная Trend Micro атака в очередной раз демонстрирует, насколько важно поддерживать в актуальном состоянии свои цифровые активы, устанавливая все обновления, выпущенные разработчиком.
В случае с ElasticSearch обновленные версии 1.4.3 и 1.3.8 с исправленной уязвимостью были выпущены еще в феврале 2015 г.12. Успешная эксплуатация этой уязвимости в середине 2019 г. говорит лишь о халатном отношении администраторов серверов к своим обязанностям.
Документация по Elastic-Search содержит подробные рекомендации по настройке безопасности движка13. Их выполнение позволяет легко обезопасить сервер от посторонних с помощью аутентификации через Active Directory, Kerberos и LDAP, настройки аудита действий пользователей и распределения ролей между ними.
В качестве дополнительного уровня защиты от ошибок администрирования можно рекомендовать решения, базирующиеся на машинном обучении и поведенческом анализе. Современный ландшафт киберугроз постоянно меняется, поэтому эффективными могут быть лишь адаптивные гибридные системы, способные обнаружить новые разновидности вредоносного ПО и заблокировать атаки.
Современные киберпреступники ориентированы на быстрое получение прибыли, а потому ищут легкие мишени для достижения своих целей. К сожалению, популярность серверов ElasticSearch и беспечность их администраторов превратила их в удобные плацдармы для различных вредоносных действий, поставив в один ряд с устройствами IoT.
Многоступенчатый характер атаки, обнаруженной Trend Micro, кодирование URL-адресов серверов и взлом легитимных сайтов для размещения вредоносных скриптов позволяют предположить, что это лишь разведка, проверка хакерского инструментария и подготовка инфраструктуры для более серьезных атак, чем банальный DDoS.
Атаки на отказ в обслуживании можно рассматривать как кибероружие, воспользоваться которым могут не только анонимные хакеры, но и конкурирующие организации. "Уронив" сайты и сервисы успешного бизнес-соперника, можно лишить его заработка, нанести репутационный и финансовый ущерб либо обрушить биржевой курс его акций, чтобы скупить по дешевке контрольный пакет и захватить управление. Другой вариант – использовать DDoS-атаки в качестве отвлекающего маневра при внедрении в инфраструктуру жертвы для хищения денег или бизнес-секретов.
Какую цель на самом деле преследуют организаторы ботнета из серверов ElasticSearch, покажет ближайшее будущее.
Опубликовано: Журнал "Information Security/ Информационная безопасность" #4, 2019