21 декабря, 2011
Ддос страшный и ужасный.
Всем привет!
Политические события декабря 2011 резко повысили в рунетовских соцсетях градус холиварности. А по российским сетевым СМИ внезапно прошёлся Призрак — Призрак Ддоса. Эдакая зловещая хакерская атака, один за другим накрывшая отечественные веб-сайты (или вот так? — см.пассаж про Коммерсантъ). Причём несколько одновременных атак – некоторые были организованы при помощи традиционных криминальных бот-сетей и за ними, как мне кажется, стояли маргинальные политические группы – жертвами атак были и сайты оппозиции (включая КПРФ) и сайты Единой России.
Вторая же атака была более изощрённой, пока у нас нет никакой достоверной информации о её «происхождении» — как техническом (как именно ддосили), так и о тех, кто её заказал. Не уверен, узнаем ли мы когда-нибудь 100% правду. Моё мнение по мере прояснения ситуации будет периодически публиковаться здесь, в блоге.
Рунетовский ддос в цифрах:
Но я задержался на теории. Перехожу к практике.
А пока расскажу как мы мониторим ботнеты и боремся с ддосом, а заодно попиарю нашу таблетку от этой напасти – анти-ддос проект KDP.
В общем, в этих двух документах (раз, два) достаточно подробно рассказано что такое KDP. Для спецов. Я же сейчас переведу всю эту гиковщину на нормальный, доступный домохозяйке язык. Ага, ликбез. В конце концов у многих появится какая-то база, чтобы им больше не морочили голову всякими призрачными ддосами. А родина наконец узнает своих героев.
Начнём с начала. Что такое ддос?
Кстати, очень жизненная штука, которая применима не только к компьютерам и сетям (у кого есть хотя бы 3 детей меня хорошо поймут :)). Пример. Дано: ларёк с пончиками и продавщица (одна штука). За минуту она обслуживает 3 клиентов. Пришла электричка и сразу 20 пассажиров захотели подкрепиться. Имеем очередь и безобразное время обслуживания – но ларёк работает и продукт отпускает! Вдруг пришёл пароход к очереди присоединилось ещё 100 человек, которые начали негодовать, раскачивать ларёк и требовать немедленного обслуживания. Разумеется, обслуживание категорически прекратилось, и все добропорядочные граждане из электрички остались без пончиков.
(с) palimphread // flickr
То же самое с веб-сайтами. Когда слишком много желающих «обслужиться» (например, почитать новости с избирательных участков), то сначала система начинает «тормозить», а потом, с возрастанием нагрузки и в точности как пророчит теория массового обслуживания – резко деградировать в производительности вплоть до полной недоступности. Природа DDoS-атаки –умышленная эмуляция таких запросов на обслуживание («флуд»), создание длинной-предлинной очереди, чтобы нормальные посетители не смогли дождаться своей порции контента.
Как происходит такая эмуляция?
В общем случае, как вы уже догадались — со множества компьютеров на сайт начинают поступать запросы. Обычно запросы идут из ботнетов – больших сетей, состоящих из компьютеров, зараженных специальными зловредами. Из центра управления ботнетом на эти компьютеры приходит команда «фас» и они, незаметно для владельца начинают «флудить» жертву. Сколько таких запросов может выдержать сайт зависит от мощности оборудования и толщины канала. Любопытным – подробности тут.
Ясен пень, когда большая часть нашей жизни перенеслась в онлайн сюда же пришли и большой бизнес и большая же политика. И ддос тут очень кстати оказался подручным инструментом, чтобы «попридушить» конкурента, пошантажировать онлайн-сервис, прищучить неугодного и пр. (см. нашу статистику) Разумеется, проявилась и побочка – валить всё, что ни попадя на ддос – всё равно ж мало кто понимает что это такое. А если кто-то аргументированно возразит – объявить врагом демократии и агентом Кремля/Вашингтона/Тель-Авива/Тбилиси. Классика!
Как защититься от ддоса?
Самое простое – иметь толстый-претолстый канал и мощное-премощное оборудование. Чтобы любой ботнет поперхнулся валить сайт. Чертовски дорого. Ни разу не бизнес-решение.
Есть куча других мер и полумер. Например, блэкхолинг (блокируем атакующий трафик – а вместе с ним и полезный -> не вариант), разные IDS/IPS системы (неэффективны от переполнения канала связи), оптимизация настроек сайта (работает только на слабые атаки).
Идея KDP не нова, но такой способ защиты от ддоса сейчас самый эффективный. Смысл вот в чём. Система принимает на себя трафик атакуемого сайта, рассовывает его по целой куче географически распределённых и очень толстых резервных каналов и фильтрует разными технологиями анализа трафика (сигнатурный, поведенческий, статистический и пр.). После этой мясорубки KDP возвращает очищенный трафик на сайт. Ага, и ларёк продолжает раздавать пончики.
По сути, получается временная аренда очень мощного канала связи + фильтра. При этом переключение происходит на раз-два – поднять атакуемый сайт можно в течение пары часов с момента поступления заявки. Клиенты получают оповещения об аномалиях в масштабе реального времени. Эффективность очистки от паразитного трафика — от 98% (UDP/SYN/ICMP/TCP Connect Flood) до 80% (DNS-атака).
Клиентов – несколько десятков, но назвать не могу – все под NDA. Государственные организации, банки, СМИ – очень разные клиенты.
Но была бы KDP самой банальной анти-ддос хренью (коих сейчас пруд-пруди), если бы не одно обстоятельство. Как вы знаете, наш профиль – защита от марвары. А кибер-негодяи уже много лет как монетизируют её через ботнеты. Ага, те самые, которые в числе всего прочего занимаются ддосом. Даже больше – подавляющее число ддосов происходят именно из этих самых ботнетов. Так вот, всю эту малвару мы потрошим, разбираем методики атак и постоянно тренируем KDP бороться с ними.
Побочный продукт анализа – мы мониторим активность ботнетов и видим кто, когда, кого и как атакует. Да, на все ботнеты ресурсов не хватает, но весь крупняк (такой, что может, например, «положить» ЖЖ) у нас под колпаком. Кроме того – обмениваемся информацией с коллегами-конкурентами, так что очень просто установить был ли какой-то сайт реально атакован или это пиар.
// Не ддосьте мой мозг байками о ддосе! :)
Вполне логичный вопрос: так, ЛК знает о ботнетах, но вместо того, чтобы их прикрывать делает на этом деньги! Ай-яй-яй! Ответ: прикрываем, ещё как прикрываем. Знали бы вы насколько это долгий и муторный процесс. Тут и провайдеры, которые не хотят терять такой кусок хлеба с маслом. И упёртая (коррумпированная?) бюрократия. И технические сложности и много других препятствий. Так что продвигаемся медленно, но уверенно. Пример – наша работа с голландской полицией против ботнетов Bredolab и Shadow и наша недавняя акция с Майкрософт по отключению Hlux/Kelihos.
Вот, вкратце о ддосе и методах борьбы с ним.
А всем жертвам декабрьского и любого другого ддоса предлагаю хоть что-то сделать. Проблема есть и её надо решать. А стоять и плакаться, кивая на кремлёвские/вашингтонские происки – это какое-то убогое, неумное зрелище. Ну, разумеется, если вообще ддос имел место быть и это не жупел для списывания налево круворукости и разных других грешков :)