Контакты
Подписка
МЕНЮ
Контакты
Подписка

Как серверы ElasticSearch используют для организации DDoS-атак

Как серверы ElasticSearch используют для организации DDoS-атак

В рубрику "Защита информации и каналов связи" | К списку рубрик  |  К списку авторов  |  К списку публикаций

Как серверы ElasticSearch используют для организации DDoS-атак

DDDoS-атаки – это настоящий бич современности. Несмотря на закрытие в 2018 году WebStresser1 и еще 15 сайтов для организации распределенных атак2, количество инцидентов в первом квартале 2019 года выросло, причем число длительных атак стало больше. Причина такого расцвета в том, что организовать вполне серьезную атаку можно буквально на коленке, собрав собственный ботнет из достаточного количества подключенных к Интернету устройств. Подойдут практически любые устройства, от умных чайников и камер видеонаблюдения до принтеров и мощных серверов. Главное, чтобы прошивки, операционные системы или доступные из Интернета сервисы содержали известные уязвимости.
Михаил Кондрашин
Технический директор в Trend Micro в России и СНГ

Совсем недавно был обнаружен вредоносный код, который превращает в DDoS-ботнет серверы ElasticSearch3, – написанный на Java поисковый движок с открытыми исходниками. Его используют Wikimedia, Quora, SoundCloud, GitHub, Netflix, Amazon, IBM и др.

В этой статье мы рассмотрим основные виды атак на отказ в обслуживании, выясним причины популярности движка ElasticSearch, расскажем, как серверы стали участниками ботнетов и как защититься от подобных инцидентов.

Что такое DDoS-атака

Для организации мусорного потока имеются различные способы. Например, можно вывести из строя Web-сервер, отправляя ему множество GET-запросов на одну или несколько страниц сайта или большое количество пакетов с запросами на установку сетевого соединения (атака SYN-flood). Для посетителя сайта обе атаки выглядят одинаково: ему не удается подключиться к серверу.

Аббревиатура DDoS расшифровывается как Distributed Denial of Service – распределенный отказ в обслуживании. Во время DDoS-атаки жертву атакуют сотни и тысячи компьютеров, т.е. "все на одного". В случае с DoS-атакой нападение происходит в режиме "один на один". Разумеется, эффективность распределенных атак значительно выше.

Суть атаки сводится к тому, чтобы засыпать жертву мусорными запросами, которые она не успевает обработать. В результате легитимные клиенты не могут подключиться к системе, получая отказ в обслуживании.

Для организации мусорного потока имеются различные способы. Например, можно вывести из строя Web-сервер, отправляя ему множество GET-запросов на одну или несколько страниц сайта или большое количество пакетов с запросами на установку сетевого соединения (атака SYN-flood4).

Для посетителя сайта обе атаки выглядят одинаково: ему не удается подключиться к серверу.

Какие бывают DDoS-атаки

Если не слишком углубляться в технические детали, то атаки на отказ в обслуживании можно разделить на две большие группы.

Переполнение канала связи

Сюда относятся все виды флуда и другие атаки на сетевом и транспортном уровне модели ISO/OSI (уровни 3 и 4). Фактически атака создает большой поток данных, целиком заполняя канал. В результате реальные пользователи лишаются доступа к сервисам.

Самая крупная атака из этой категории была зафиксирована в феврале 2018 г.5. Ее целью стал GitHub – популярный сервис для управления исходным кодом. Мощность мусорного потока составила 1,3 Тбит/с, была получена благодаря усилению потока с использованием серверов memcached6, выполняющих кеширование интернет-трафика.

Перегрузка сетевого сервиса

Это атаки на уровень приложений, уровень 7 модели ISO/OSI. К данной разновидности относятся HTTP-флуд, медленные сессии и фрагментированные HTTP-пакеты.

Со стороны подобная атака выглядит как резко возросшая активность пользователей, создающая большое количество запросов к Web-серверу или другому сетевому сервису, которые нагружают процессор, вызывают обращения к базе данных и/или интенсивную нагрузку на диск. Защититься от таких атак сложно, поскольку практически невозможно отделить паразитный трафик от легитимного.

Почему ElasticSearch популярен и почему уязвим

Elasticsearch – это быстрый, горизонтально масштабируемый движок, в котором совмещаются возможности поисковой системы и базы данных NoSQL. Движок написан на Java и распространяется бесплатно по лицензии Apache.

ElasticSearch умеет искать документы различных типов, поддерживает многопользовательский поиск в режиме реального времени. Одна из из самых интересных возможностей продукта – способность разделять поисковый индекс на "осколки" (Shards), хранящиеся на различных серверах. Это дает возможность практически неограниченно наращивать нагрузочную способность системы.

Функциональность и бесплатность принесли ElasticSearch заслуженную популярность и сделали самым распространенным в Интернете поисковым инструментом для предприятий. По рейтингу DB-Engines ElasticSearch (рис.1) почти в два раза опережает своего ближайшего конкурента Splunk7.


Обратная сторона богатого набора возможностей ElasticSearch – сложность конфигурации системы. Результат – многочисленные сообщения об утечках данных компаний, использующих ElasticSearch:

  • в июне 2018 г. персональные данные 340 млн американцев, собранные компанией Exactis, оказались в открытом доступе8 из-за того, что база ElasticSearch, содержащая эти сведения, была доступна всем желающим;
  • в декабре 2018 г. в открытой базе ElasticSearch обнаружились 60 млн записей с персональными данными избирателей США9, собранными канадской компанией Data & Leads;
  • в августе 2019 г. жертвой утечки из базы ElasticSearch стала Honda Motor, оставившая в открытом доступе 134 млн записей с конфиденциальной информацией10.

Это лишь небольшая часть инцидентов, связанных с неправильной конфигурацией 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).


Если сервер уязвим, команды выполняются, загружая следующий скрипт с домена злоумышленников, причем домены постоянно меняются.

ElasticSearch умеет искать документы различных типов, поддерживает многопользовательский поиск в режиме реального времени. Одна из из самых интересных возможностей продукта – способность разделять поисковый индекс на "осколки" (Shards), хранящиеся на различных серверах. Это дает возможность практически неограниченно наращивать нагрузочную способность системы.

Загруженный скрипт s67.sh пытается "убить"» процессы межсетевого экрана и майнеров криптовалюты, а затем скачивает скрипт второй стадии s66.sh с подконтрольного злоумышленникам взломанного сервера и запускает его на выполнение (рис. 4).


Скрип второй стадии также пытается завершить процессы межсетевого экрана и майнеров, удаляет файлы, относящиеся к конкурирующим криптомайнерам, завершает работу нежелательных сетевых процессов и пытается очистить все следы первоначального заражения. Выполнив эти операции, скрипт загружает исполняемый файл вредоносного кода, который умеет похищать системную информацию и запускать DDoS-атаки. Как только он получит управление, сервер становится участником ботнета и послушно атакует цели, на которые ему укажут злоумышленники (рис. 5).


Внедренный на сервер вредоносный код позволяет выполнять DDoS на уровнях 3 и 4, перегружая интернетканалы жертв с помощью UDP-, SYN- и ICMP-флуда, атаки с усилением (NTP, CoAP, Memcached) и других способов.

Как защититься

В июле 2019 г. исследователи компании Trend Micro зафиксировали многочисленные атаки на серверы ElasticSearch, результатом которых становилось превращение этих серверов в участников ботнета для организации DDoS-атак. Успех атакам обеспечила уязвимость CVE-2015-1427 в Groovy ElasticSearch, обнаруженная в версиях движка 1.3.0–1.3.7 и 1.4.0–1.4.2.

Обнаруженная Trend Micro атака в очередной раз демонстрирует, насколько важно поддерживать в актуальном состоянии свои цифровые активы, устанавливая все обновления, выпущенные разработчиком.

В случае с ElasticSearch обновленные версии 1.4.3 и 1.3.8 с исправленной уязвимостью были выпущены еще в феврале 2015 г.12. Успешная эксплуатация этой уязвимости в середине 2019 г. говорит лишь о халатном отношении администраторов серверов к своим обязанностям.

Документация по Elastic-Search содержит подробные рекомендации по настройке безопасности движка13. Их выполнение позволяет легко обезопасить сервер от посторонних с помощью аутентификации через Active Directory, Kerberos и LDAP, настройки аудита действий пользователей и распределения ролей между ними.

В качестве дополнительного уровня защиты от ошибок администрирования можно рекомендовать решения, базирующиеся на машинном обучении и поведенческом анализе. Современный ландшафт киберугроз постоянно меняется, поэтому эффективными могут быть лишь адаптивные гибридные системы, способные обнаружить новые разновидности вредоносного ПО и заблокировать атаки.

Все может быть серьезнее, чем DDoS

Современные киберпреступники ориентированы на быстрое получение прибыли, а потому ищут легкие мишени для достижения своих целей. К сожалению, популярность серверов ElasticSearch и беспечность их администраторов превратила их в удобные плацдармы для различных вредоносных действий, поставив в один ряд с устройствами IoT.

Многоступенчатый характер атаки, обнаруженной Trend Micro, кодирование URL-адресов серверов и взлом легитимных сайтов для размещения вредоносных скриптов позволяют предположить, что это лишь разведка, проверка хакерского инструментария и подготовка инфраструктуры для более серьезных атак, чем банальный DDoS.

В качестве дополнительного уровня защиты от ошибок администрирования можно рекомендовать решения, базирующиеся на машинном обучении и поведенческом анализе. Современный ландшафт киберугроз постоянно меняется, поэтому эффективными могут быть лишь адаптивные гибридные системы, способные обнаружить новые разновидности вредоносного ПО и заблокировать атаки.

Атаки на отказ в обслуживании можно рассматривать как кибероружие, воспользоваться которым могут не только анонимные хакеры, но и конкурирующие организации. "Уронив" сайты и сервисы успешного бизнес-соперника, можно лишить его заработка, нанести репутационный и финансовый ущерб либо обрушить биржевой курс его акций, чтобы скупить по дешевке контрольный пакет и захватить управление. Другой вариант – использовать DDoS-атаки в качестве отвлекающего маневра при внедрении в инфраструктуру жертвы для хищения денег или бизнес-секретов.

Какую цель на самом деле преследуют организаторы ботнета из серверов ElasticSearch, покажет ближайшее будущее.

___________________________________________
1 http://safe.cnews.ru/news/top/2018-04-27_fizicheski_razgromlen_krupnejshij_ddosservis_v
2 https://www.justice.gov/opa/pr/criminal-charges-filed-los-angeles-and-alaska-conjunction-seizures-15- websites-offering-ddos
3 https://blog.trendmicro.com/trendlabs-security-intelligence/multistage-attack-delivers-billgates-setag- backdoor-can-turn-elasticsearch-databases-into-ddos-botnet-zombies/
4 https://ru.wikipedia.org/wiki/SYN-флуд
5 https://www.cloudflare.com/learning/ddos/famous-ddos-attacks/
6 https://www.cloudflare.com/learning/ddos/memcached-ddos-attack/
7 https://db-engines.com/en/ranking/search+engine
8 https://www.wired.com/story/exactis-database-leak-340-million-records/
9 https://hacken.io/research/industry-news-and-insights/new-data-breach-exposes-57-million-records/
10 https://rainbowtabl.es/2019/07/31/honda-motor-company-leak/
11 https://www.cvedetails.com/vulnerability-list.php?vendor_id=13554&product_id=&version_id=&page= 1&hasexp=0&opdos=0&opec=0&opov=0&opcsrf=0&opgpriv=0&opsqli=0&opxss=0&opdirt=0&opmemc=0&ophtt prs=0&opbyp=0&opfileinc=0&opginf=0&cvssscoremin=6&cvssscoremax=0&year=0&month=0&cweid=0&order= 1&trc=45&sha=4bbd7797fbecb728bf20e4aecf6a382f285623e3
12 https://www.elastic.co/blog/elasticsearch-1-4-3-and-1-3-8-released
13 https://www.elastic.co/guide/en/elasticsearch/reference/current/configuring-security.html

Опубликовано: Журнал "Information Security/ Информационная безопасность" #4, 2019

Приобрести этот номер или подписаться

Статьи про теме