DDoS-атаки сегодня — чрезвычайно распространённое явление. Их достаточно легко организовать, учитывая, что сетевые злоумышленники в последнее время старательно занимались «разведением» сетей заражённых компьютеров — ботнетов. В то же время противодействие DDoS — очень непростая задача. Непростая, но осуществимая. Как и зачем сегодня организуются DDoS-атаки, какими средствами с ними можно бороться и почему борьба может быть неэффективной, «Компьютерре» рассказывает Алексей Афанасьев, руководитель проекта Kaspersky DDoS Prevention в компании «Лаборатория Касперского».
— Расскажите, пожалуйста, что из себя представляет DDoS-атака — для непосвящённых — и почему о них столько говорят сейчас?
Алексей Афанасьев, руководитель проекта Kaspersky DDoS Prevention «Лаборатории Касперского
— DDoS-атака — распределённая атака типа «отказ в обслуживании». Что означают такие слова, как «атака», «отказ в обслуживании», «распределённая» — что это такое? Выглядит это примерно так: допустим, у вас есть некий ресурс, сайт. Если на него одновременно заходят два, три, десять пользователей, то он работает стабильно. Но что произойдёт, если к нему одновременно обратятся сто или тысяча человек? Будет ли он продолжать функционировать? Вот в чём вопрос.
При этом наряду с реальными людьми на этот ресурс могут заходить роботы. То есть некий специально созданный программный код, который эмулирует или симулирует действия пользователя. При этом он не будет запускать браузер, однако может проявлять какую-то активность: «тянуть» графику, устанавливать соединение с этим веб-сервером и так далее. Фактически идея DDoS-атаки заключается в том, что огромное количество таких вот паразитных запросов к ресурсу рано или поздно приводит к исчерпанию его полосы пропускания, мощности оборудования и он становится недоступным для легитимных пользователей.
Поскольку физически сайт размещён у какого-то хостера, ресурс-провайдера и так далее, то могут быть исчерпаны ресурсы веб-движка, на котором работает сайт, и даже ресурсы самого железа.
— Что значит «распределённая»?
— Это значит, что один пользователь в большинстве случаев не может создать нагрузку на ресурс с таким большим количеством запросов. К тому же сайты обычно имеют ограничения по количеству одновременных рабочих сессий. Если вы скачиваете какие-то файлы с одного сервера или файлообменника, то, как правило, можете установить несколько одновременных сессий, но не бесконечное их количество. Точно так же и здесь: если один пользователь или робот с одного и того же IP-адреса будет запускать несколько параллельных сессий, то рано или поздно это закончится неудачей – для него. Однако если запросы будут идти с разных компьютеров, находящихся в разных географических локациях, то определить, кто является их автором, реальный пользователь или робот, ведущий «нелегитимную» активность, достаточно сложно.
Именно поэтому важнейшие черты DDoS-атаки – это её распределённость и паразитная активность, радикально отличающаяся от действий реальных пользователей.
— По поводу масштабов угрозы: по вашим оценкам, каковы они? Если взглянуть на какую-нибудь криминальную хронику, то возникает ощущение, что преступники — везде и повсюду, несть им числа, хотя потом выясняется, что это изолированные события, которые могли происходить на довольно большом географическом разбросе. С DDoS-атаками как обстоит дело?
— Пожалуй, самое основное отличие электронных преступлений от «реальных» заключается в том, что киберзлоумышленник может совершать свои действия удалённо. Например, похищать деньги, переводить их, прятать или наоборот, доставать из электронного кошелька и обналичивать.
Простой пример: сегодня, если мы хотим купить какую-то вещь, то, как правило, сначала ищем её в интернете. Поисковик дает ссылки на различные магазины, например Amazon. Однако на самом деле это не сам магазин, а некая торговая площадка, которая перекупает товар у локального магазина в Штатах. А тот, в свою очередь, имеет эксклюзивные права в Китае. Соответственно покупка сначала из Китая едет сначала в Штаты, и только потом в Москву. Таким образом, мы видим пересечение цепочек реальной и виртуальной логистики. В виртуальной логистике требуются минуты, чтобы определиться с покупкой, совершить оплату с помощью электронных денег и осуществить заказ. Реальный же товар будет перемещаться намного дольше. Злоумышленники очень часто пользуются такими безналичными платежами, чтобы моментально проводить транзакции и рассылать команды на включение и выключение DDoS-атаки, которая может идти откуда угодно. Кроме того, ботнет может быть очень быстро перепродан и перенацелен на другую жертву. Соответственно, когда правоохранительные органы приходят в предполагаемое «гнездовье» киберпреступников, там уже никого нет.
— Но какова плотность бомбардировки в целом? По количеству инцидентов за какой-то период?
— В целом это вопрос бизнеса. Чаще всего атакам подвергаются мелкие фирмы, небольшие интернет-магазины. Как мы об этом узнаём? У нас есть специальный ресурс – ферма серверов, которая «слушает» интернет и вылавливает команды центров управления ботнетами. Мы не можем их заблокировать, но мы можем их «слышать» благодаря тому, что у нас имеются сэмплы ботов, которые регистрируют услышанное и позволяют понять статистическую ситуацию.
Соответственно перед глазами у нас есть «новостная лента» атак, производимых практически по всему миру. Естественно, мы видим и слышим не абсолютно всё, но значительную часть. И по результатам анализа происходящего в российской зоне мы можем сказать, что в день осуществляется несколько сотен атак — включение активности и выключение таковой. Более того, есть очень продолжительные атаки, к которым подключаются различные ботнеты. То есть видно, что одни ресурсы перестают работать и сразу начинают работать другие.
Если говорить о количестве таких атак на мелкие и средние компании, то их осуществляется по несколько сотен в день. То есть суммарно в год получается какое-то огромное количество. Другое дело, что какая-то доля их успешна, а какая-то нет – какая именно, мы не можем сказать. Чтобы получить достоверную информацию, нужно проверять каждый конкретный случай.
У нас есть система по предотвращению DDoS-атак, рассчитанная преимущественно на крупных клиентов (или бизнес, связанный с сетью), для которых интернет важен не только для имиджевой составляющей, но и для ведения бизнеса в целом. Такие клиенты имеют хорошую сетевую инфраструктуру, но нередко становятся мишенями: обычно это одна-две атаки в квартал.
Но эти атаки, как правило, уже построены конкретно под них. Это уже не хулиганская атака на магазин. Речь идёт о бизнес-войнах, которые воплощаются вот в такую активность. Мы видим, что, когда у наших клиентов высокий сезон — например, в конце года, когда у банков появляются новые кредитные предложения, когда начинается сезон повышенных продаж в сетевых магазинах, — количество DDoS-атак стремительно возрастает. В конце весны начинается туристический сезон. Соответственно мы наблюдаем повышение DDoS-активности, направленной на сайты туристических компаний. Как только какой-нибудь банк выходит с ценовой политикой или с новыми рекламными акциями и предложениями, часто бывает так, что буквально на следующий день или в тот же день организовывается DDoS-атака на этот ресурс. Это лишний раз показывает, что такие атаки – экономически эффективный инструмент давления на конкурента, давления на тот или иной бизнес.
— Вы упоминаете бизнес-войны – это, как правило, сведение счетов или действительно попытки саботировать работу конкурентов?
— Да, саботаж.
— А есть ли по этому судебная практика, то есть доказательство того, что вот именно так делается всё это?
— Судебная практика есть, но она пока незначительная. Связано это c недостаточно налаженным взаимодействием между экспертами, интернет-сообществом и правоохранительными органами и отсутствием доверия между ними. Например, наши правоохранительные органы не очень глубоко понимают техническую сторону вопроса. Те, кто понимает, не всегда доверяют экспертному сообществу в интернете. А интернет-сообщество, в свою очередь, с недоверием смотрит на регуляторов и правоохранительные органы. Оттого происходят временные задержки, недопонимания.
Мы принимали участие в круглом столе по поводу DDoS-атак на такие ресурсы, как «Слон», «Эхо Москвы», «Коммерсант» и так далее. И многие из журналистов и редакторов высказывались тогда в таком духе: «Мы подавали документы в правоохранительные органы, но буквально тут же дело закрывали за недостатком улик и ещё чем-то». То есть всем было очевидно, что сайты и ресурсы не работают, но судебная система на собранные документы отвечала: «С чем вы пришли? Где ваши доказательства, что вас заDDoSили, что вы не просто выключили свой сервер?» Отсутствие таких расследований идёт на руку преступникам.
В нашей практике раскрытых преступлений немного. Они есть, конечно, но это скорее исключения из правил, нежели обыденная практика правоохранительных органов. К сожалению, пока это так.
— Как вы считаете, это изменится в ближайшем будущем или так и будет оставаться «воз и ныне там»?
— Я думаю, что это может измениться, если у нас изменится взаимодействие между интернет-экспертами и правоохранительными органами.
— То есть это вопрос главным образом к правоохранительным органам?
— Главным образом, наверно, это запрос ко взаимодействию в целом.
— Давайте вернёмся к технической стороне. Значит, источником DDoS-атак, как правило, являются боты…
— Под ботом может подразумеваться всё, что угодно. Можно сказать, что есть разные принципы организации DDoS-атак. Ещё год назад можно было сказать, что большинство узлов ботнета — это рабочие станции, а также в теории обсуждалось, возможен ли в теории крупный мобильный ботнет…
— Как минимум одна попытка создать нечто подобное была.
— Ну да. Возможно, небезуспешно, и такой ботнет существует — в каком-то пределе.
Но вот другой пример, безо всякой экзотики. В конце прошлого года, начиная с осени, была организована серия мощных, массированных атак с помощью инфицированных PHP веб-серверов. Атаки были с так называемым «плечом»: атакующий бил по мишени не напрямую, а через определённые «дыры» в необновлённых веб-движках устанавливал некоторый PHP-скрипт, который он дальше мог разным образом активировать. И эта активация могла быть в том числе так построена, что даже обычный легитимный пользователь, заходя на страницу, активировал кусок этого скрипта, который отбрасывал какое-то количество пакетов на сервер мишени. Таким образом, злоумышленник получал значительное количество «мусорного трафика», прикладывая значительно меньшие усилия.
— То есть это не было заражением пользовательского компьютера, просто пользователь заходил и…
— Да. Определённый веб-сервер, мощный веб-сервер, и не один, а может быть, даже целая группа, атаковали американские банки, находясь в Турции и в Европе.
— В Восточной, в Западной?
— И в Западной и в Восточной. Важнее другое: атака производилась не с каких-то заражённых компьютеров, а именно с заражённых серверов. И, поскольку сервера имеют намного более широкий канал передачи данных, намного более серьёзную инфраструктуру, то, естественно, отдача трафика такого устройства, количество определённого паразитного трафика, который он может от себя отослать, в разы превосходит возможности пользователя какого-либо ПК, который может быть подключён к каким-то «дохлым» интернет-каналам. Для успешной атаки таких серверов надо намного меньше. Более того, если вы даже нападёте на этот след и выключите этот сервер, то это не значит, что вы «выключите» тех людей, кто это сделал. Сервером может владеть совершенно «непричастная» компания или фирма, которая даже не знает, что происходит.
Бороться с такими схемами намного сложнее, потому что, если ботнет на обычном пользователе, вы можете пожаловаться провайдеру и провайдер может как-то сигнализировать этому пользователю или просто, в конце концов, его отключить. А выключить какой-то сервер или выключить какую-то компанию из интернета – это намного сложнее. Более того, выявить заражение на серверных устройствах, которые включены постоянно и их работа связана с какой-либо бизнес-активностью, намного сложнее.
Если здесь у нас может быть инфицирована рабочая станция, достаточно переустановить Windows, установить антивирус — и всё будет нормально. А если у вас сервер и там крутится множество скриптов, которые ещё постоянно дописываются, переписываются, модифицируются, то представьте, каково отыскать там какой-то вредоносный код. Более того, код находится внутри некоторого скрипта. А это не некое win32-приложение, которое вы можете просто стереть. Скрипт будет подгружаться динамически и активироваться только в определённый момент.
Когда вся эта история началась, то я обратился к нашему подразделению вирусных аналитиков на предмет наличия у нас российской статистики по подобным заражениям, по подобным PHP-скриптам. Изначально была описана подобная ситуация с Linux-платформой, и мы решили посмотреть на Windows-платформу. И оказалось, что мы имеем достаточно большое количество заражений.
Россия там занимала третье место с очень большим количеством Windows-серверов, на которых установлены уязвимые и заражённые PHP-движки. Это означает, что источником такого лавинообразного трафика эти сервера могут выступать хоть завтра, потому что они уже находятся в зоне риска, они уже заражены. Когда их активируют – это вопрос времени.
— А если в абсолютных цифрах – примерно сколько заражённых серверов удалось насчитать?
— Мы видели несколько сотен серверов. Это достаточно большое количество. Мы не проверяли, что это, но представьте себе, что это, например, какие-то крупные компании. Им, скорее всего, нельзя будет позвонить и сказать: «Выключите свой сервер».
— Скажите, пожалуйста, а как обеспечивается защита? Понятно, что мощность канала граничит с бесконечным числом. В своей статье вы упомянули, что у вас есть специальная аналитика, которая…
— Основная идея защиты от DDoS-атаки заключается в том, чтобы чётко понять, кто есть пользователь, а кто есть бот. Если брать классическую семиуровневую сетевую модель, то фактически любой уровень (за исключением физического уровня, самого первого) может быть так или иначе подвержен какой-либо форме паразитной активности.
DDoS-атака не всегда выполняется на уровне приложения (седьмого уровня). Она может выполняться просто для того, чтобы забить канал, например, или получить отказ сетевого оборудования.
Перед сервером-мишенью стоит какое-то сетевое оборудование, какие-то провайдеры, какие-то каналы. Всё, что стоит до этого устройства, и оно само является так или иначе звеном в цепочке взаимодействия – цепочке доступности. И основная задача злоумышленника при организации атаки – найти слабое звено. Наша задача как раз, с одной стороны, тоже отыскать, точно так же, как и злоумышленник, слабое звено, а с другой стороны – чётко понять, как звенья этой цепочки работают в нормальном режиме.
Понять, как они работают, как они взаимодействуют и что будет отклонением от нормы. Как только мы это хорошо понимаем и знаем, мы сразу можем построить некую модель работы обычного легитимного пользователя. Исходя из этой комплексной многоуровневой модели, мы понимаем, как себя ведёт нормальный пользователь и где начинается отклонение, обозначающее бота.
И тогда мы можем жёстко отделить ботов от легитимных пользователей. Это если говорить общими словами.
Но если говорить на реальном языке, то существуют сетевые атаки «нижних» уровней; а также существуют атаки уровня приложений, и для них требуются совершенно разные фильтры. Трафик защищаемого ресурса в момент, когда происходит атака на него, меняет свою маршрутизацию: он проходит через наши центры очистки вне зависимости от того, на какой сетевой уровень рассчитана атака. Для очистки мы применяем те или иные методы фильтрации. Есть атаки, когда идёт так называемый SYN-флуд, например, с подменой IP-адреса, и сама сессия не устанавливается. Просто большое количество мелких пакетов передаются на целевой IP-адрес. Источник этих пакетов, то есть исходящий IP-адрес, может быть подменён.
Соответственно вы не знаете, откуда пакеты приходят, но вы можете понять, что их гигантское количество и вам, как мелкую кильку, надо перекидать из бочки в другую бочку по одной рыбке и при этом выполнить проверки. Задача крайне сложная, если это обычное сетевое оборудование, но мы умеем с этим справляться. Есть атаки уровня приложений, когда у вас есть какая-нибудь «тяжёлая» страничка и «тяжёлый» контент. И вот открытие этой странички и загрузка этой странички, установление большого количества одновременных сессий уже будет приводить к тому, что сайт будет подтормаживать и медленно открываться.
— Это, я так понимаю, HTTP-флуд?
— Да. И если бот, например, не переходит на какую-нибудь другую страничку, а только использует какие-то поисковые запросы, перебирает их и больше ничего не открывает, то обычный пользователь установил сессию, сделал какой-то запрос, открыл какую-то страничку и дальше начинает куда-то по ссылке уходить с неё. А если вы просто постоянно пять раз в минуту открываете только главную страничку, но больше никуда не ходите, или вы задаёте случайные поисковые запросы, но никакие ссылки в них не открываете, только лишь поисковые запросы делаете – соответственно, понятно, что вы бот.
— А бывают какие-то более продуманные виды HTTP-флуда, когда бот действительно делает вид, что он человек, и становится трудно отличить его от среднестатистических пользователей? Случалось с таким сталкиваться?
— Действительно, бывают и такие случаи. Дело в том, что на сегодняшний день злоумышленники, конечно, понимают, что, раскусив модель поведения бота, мы сразу видим, что она достаточно статична. И злоумышленник применяет другие тактики. Например, комплексные атаки, когда, с одной стороны, устраивается какая-то атака, исходящая от одной части ботнет-сети, — сервер бомбардируют какими-то определёнными запросами. Другая ботнет-сеть или её часть работает с другими запросами, третья – с третьими, и так далее. Три таких комплексных аномалии уже сложнее выявить. С одной стороны, вы смотрите – большое количество пользователей пытается открыть какую-то поисковую страницу, другое количество пользователей пытается стянуть какие-то картинки. И вот сразу понять и догадаться, что и те, и те – боты, а реальный пользователь один раз открыл страницу и больше ничего не сделал, сложнее.
Плюс ко всему прочему могут применяться атаки на сетевом уровне, как я говорил, — так называемый SYN-флуд, когда ещё необходимо помимо установленных сессий работать с приложениями и ещё раскидать эти мелкие пакеты, что в какой-то мере ещё дозагрузит ваше сетевое оборудование в любом случае. То есть ваше сетевое оборудование уже будет загружено в значительной степени, и вам надо будет разбираться ещё с дополнительными неприятностями.
Это напоминает матрешки: одну открыли, а там ещё одна, а в ней ещё одна. И вот бывали ситуации, когда моим коллегам приходилось достаточно долго выяснять, где же они заканчиваются.
— И на кого была такая ухищрённая атака направлена?
— Из недавних таких примеров – это комплексные атаки на интернет-магазин и туристический сайт. DDoS состоял из трёх компонентов. Шла небольшая атака в виде определённого запроса к сайту, к приложению, которое медленно обрабатывалось; это была атака просто на установление HTTP-сессии – так называемый connection-флуд. К тому же осуществлялся SYN-флуд, то есть бомбардировка мелкими пакетами, чтобы и сетевое оборудование тоже «не отдыхало». Дальше злоумышленник может просто варьировать эти вещи, и такие три одновременные неприятности уже достаточно весомы.
— Ваш центр очистки с подобными вещами справляется?
— Да, конечно. Когда мы его строили, мы исходили из того, чтобы компании могли себя чувствовать под таким «зонтиком» достаточно комфортно.
— То, как работает центр очистки, не сказывается ли на сложности установки соединения для рядовых пользователей? Они испытывают какие-то замедления в работе?
— Скорее в теории, нежели в жизни. Речь может идти о задержках на сотые доли секунды. То есть человеку её ощутить практически невозможно.
Бывают ситуации, когда для каких-то пользователей по тем или иным причинам сайт может оказаться недоступен — в силу ложных срабатываний. Но это крайне редкая ситуация.
У нас была история, когда часть ботнет-сети располагалась внутри сетей той же компании, чей сайт подвергался атаке. Мы, как внешний наблюдатель, видели: источник атаки – всего один IP-адрес, за которым находится масса пользователей, как легитимных, так и нелегитимных. Когда мы обнаружили большое количество нелегитимных запросов именно с этого IP-адреса, мы пресекли доступ с него, не вникая в его подробности. Оказалось, что там есть легитимные пользователи, и они сидели за этим же прокси. Соответственно им их же ресурс оказался недоступен.
Такие ситуации бывают, но они достаточно редки, и есть определённые технологии, которые позволяют этого избежать, — те же самые белые списки. В случае их использования посетитель сайта проходит некоторые авторизационные процедуры, и движок отдаёт информацию нашей системе о том, что это — легитимный пользователь. Соответственно мы его помещаем в белый список и его уже не будем блокировать.
— А на каком уровне функционирует белый список?
— Белый список работает на уровне IP-адресов. Наша система готова в минуту для одного защищаемого IP-адреса загрузить порядка 500 тысяч IP-адресов. Помимо белого списка есть ещё черный список, общий размер списка – до 1 млн IP-адресов для одного защищаемого ресурса. Сегодня на один бизнес-ресурс в России столько народу одновременно не заходит.
— Если сравнивать DDoS и угрозы, не относящиеся к DDoS-атакам, то от чего больше ущерб? От DDoS-атак или от вирусов, взломов и тому подобного?
— Сложно сказать. Хищение персональных данных или банковской тайны – это крупные неприятности. Перевод каких-то средств — тоже. С другой стороны, DDoS может быть прикрытием хищения. Мы, в частности, видели ситуации, когда определённые действия злоумышленников просто прикрывались DDoS-атаками. Как в случае с военными действиями: помехи, дымовая завеса, всё точно так же и здесь. Со взломанного счёта клиента списываются некоторые деньги, и сразу же устраивается DDoS-атака; легитимный пользователь не может зайти в свой клиент-банк и посмотреть деньги на своём счету. Соответственно он не видит, что происходит.
Или вот другой пример: проводятся определённые интернет-торги, и последние 10 минут критичны для работы с предложением.
И если в это время возникает резкая DDoS-активность, то может произойти срыв торгов, а может быть, если это единичный клиент не смог работать, он фактически проиграл торги. Потери его достаточно велики и весомы. Поэтому может ли DDoS-активность сильно влиять на монетизацию? Однозначно, да. Насколько она хуже или лучше взлома сайта – здесь сложно сказать. Всё зависит от ресурса.