Хабрахабр

[Перевод] Конференция BLACK HAT. Уроки выживания при DDOS-атаке 300 Гбит / с. Часть 1

Меня зовут Мэттью Принс, я один из соучредителей и генеральный директор сервиса CloudFlare. Не думайте, что я буду настолько же интересен, как директор АНБ, но я хотя бы постараюсь быть менее противоречивым. На самом деле я частный профессор права, так что я читал Конституцию и могу завязать на эту тему длинную дискуссию. Когда-нибудь мы обсудим это очень подробно, надеюсь, что смогу рассказать вам историю судебных исков, которые мы в настоящее время ведём против правительства Соединенных Штатов, чтобы оспорить некоторые происходящие вещи, поскольку это совершенная чушь.

Не буду много говорить о CloudFlare, если вы хотите узнать о нашем сервисе, просто зайдите на сайт. Я расскажу вам менее интересную, но зато драматическую историю, которая происходила с 18 по 25 марта, когда один из наших клиентов подвергся сильнейшей DDoS-атаке. Это была действительно мощная атака, поэтому я хочу о ней рассказать. Но когда наш клиент подвергся атаке, это стало событием из рода тех, о которых любят писать журналисты, и эта атака в течение 4-х дней подряд освещалась газетой New York Times.

Я знаю этих ребят очень давно, еще с 2006-2007 годов, когда на них подал в суд предполагаемый спамер из Иллинойса. Итак, существует некоммерческая организация под названием Spamhaus, которая отслеживает спамеров и их деятельность. Я ответил, что раньше был частным юристом, это означает, что я преподавал ученикам в классе, но я никогда не выступал в суде. Тогда основатель этой организации Стив Линфорд позвонил мне и спросил, не могу ли я выступить их бесплатным адвокатом. Я очень быстро нашёл им настоящего адвоката, который вскоре помог им «разрулить» ситуацию, так что я знаю, что Spamhaus – очень приличная организация, они действуют достаточно открыто.

Так что это история про нападение на Spamhaus и про то, что происходило за кулисами, когда их «обрушили». Нашими клиентами являются многие организации, но они не любят открыто говорить о своих проблемах, однако ребята из Spamhaus не такие закрытые, и когда они подверглись атаке, то позвонили нам и сказали: «Эй, мы можем рассказать вам свою историю»!

Первая – это природа атаки, что она собой представляет и кто за ней стоит. Я разбил эту историю на 3 части. Если вы хотите узнать об этом более подробно, то приходите на DefCon, где я собираюсь выступать на следующей неделе.

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

Я обещаю, что итогом выступления не станет агитация пользоваться сервисом CloudFlare как наиболее защищенным, вместо этого я расскажу вам о передовых вещах, проделав которые, вы станете менее уязвимыми к подобным DDoS-атакам. Последняя часть – это то, что вы можете сделать в ваших собственных сетях, чтобы остановить атаку такого типа.

Вот как в то время выглядел их сайт – атакующие привели его в состояние «оффлайн», фактически отключив от сети Интернет. Итак, в понедельник, 18 марта мы получили звонок от одного из волонтеров Spamhaus, который сообщил нам об атаке.

Этот парень не был настоящим инициатором данной акции, вероятно, он просто был тем, кто готов дать интервью New York Times. Позже СМИ писали, что атаку совершил некто Фенн, живущий в бункере где-то в Нидерландах. Скорее уж настоящий вдохновитель атаки — это тот 15-ти летний подросток из Лондона, который сейчас находится под арестом, однако по этому поводу пресса не поднимает шума.

03. В статье от 23. Штаб-квартира Cyberbunker действительно располагалась в заброшенном бункере НАТО (примеч. 2013 года газета New York Times писала, что атака была совершена датской компанией Cyberbunker в ответ на то, что организация Spamhaus занесла её в черный список за распространение спама. переводчика).

Эта организация делает много хорошего, однако случается, что они прищемляют кому-то хвост, и в этом случае обиженная сторона принимает ответные меры, в данном случае — организовывает атаку. Скорее всего, подоплекой акции послужило то, что Spamhaus объявили кого-то спамером. Подобное может случиться с любой организацией, и они хотели это остановить. Spamhaus достаточно подкованы в техническом отношении, чтобы отражать множество различных видов атак, но в этом случае массированный групповой удар пришелся на их DNS-инфраструктуру и просто выбил сайт из сети. Они знали, что мы оказываем помощь в предотвращении таких атак, поэтому обратились к нам.

Такие атаки как бы наш хлеб, еженедельно у нас случается несколько подобных атак. Итак, с 18 марта по 21 марта происходило то, что мы называем «дразнящими атаками». Эти DoS-атаки происходят с интенсивностью от 10 до 80 Гигабит в секунду. Чтобы вы имели представление об их масштабах, скажу, что на прошлой недели мы зафиксировали 162 атаки на наших клиентов, и мы довольно успешно их остановили. Так, в прошлом году некоторые финансовые организации пострадали от DoS атак интенсивностью 60-80 Гбит/с, однако повторюсь – это довольно распространённые атаки, привычные для нас, и в них нет ничего, что заслуживает упоминания на конференции BlackHat. Для некоторых организаций, например, финансовых, атаки, происходящие с такой интенсивностью, могут быть опасны.

То, о чем мы поговорим сегодня, относится к атакам 3 уровня, то есть к атакам на сетевой уровень модели OSI. Еще одна вещь, которую следует отметить, это то, что DoS-атаки не все одинаковые, большое значение имеет объём нападения, то есть количество пакетов, которыми атакуют сайт. Но она не самая скверная, намного хуже атака 7-го, прикладного уровня, которая не настолько объёмная, но создаёт намного больше проблем конкретным приложениям. Это чисто атака объёмом. Но сегодня я не собираюсь обсуждать атаки, для которых необходимо специальное программное обеспечение.

То же самое относится к DoS-атакам 4-го уровня, когда атакующий использует Syn-пакеты небольшого объёма, причиняя жертве значительный ущерб, потому что её операционная система не в состоянии справиться с этими запросами.

В среду, 20 марта, был атакован один из портов нашей сети, вернее, совокупность портов, на одном из которых «сидел» сайт Spamhaus. В нашем случае атака базируется исключительно на большом объёме, который старается уничтожить вас на 3 уровне, выбить вас из сети и перенасытить порт трафиком.

Высокий пик в конце графика – это атака, которая полностью пришлась на Spamhaus и обрушила нашу сеть. На этом слайде изображен кеш прокси, синяя линия — это трафик, исходящий из нашей сети, а зеленая область – входящий трафик. Наша сеть спокойно выдерживает атаки интенсивностью 75 Гбит / с, потому что рассчитана на то, чтобы «переварить» такой объём трафика.

Это выглядело исключительным случаем, потому что если вы покупаете или создаёте базовый маршрутизатор, то связываетесь с кем-то вроде Cisco или Juniper, а самая крутая и большая «коробка», которую у них можно купить, имеет порт пропускной способностью 100 Гиг. Однако во время атаки 20 марта был достигнут «потолок» интенсивности DoS – 100 Гбит / с. Теоретически вы можете использовать несколько 100-гигабитных портов и пропустить их через один интерфейс, однако потолок DoS-атак обычно не превышает указанного объёма.

Она может выбиваться за граничные значения, поэтому я спросил, насколько она выросла, думая, что речь идёт о небольшом превышении. Вскоре после этого мне позвонил Том, один из наших сетевых инженеров, и сказал, что интенсивность атаки возросла. На следующем слайде показано, какой интенсивности достигали новые атаки, имевшие место 24-25 марта.

Мне звонили и говорили, что атака превысила потолок в 100 Гигабит, но мы не думали, что совсем скоро сможем увидеть нечто подобное! На графике приведено универсальное координированное время UTC, я живу в Сан-Франциско, у нас в это время было ещё 23 число, так что вы можете себе представить, каким был мой ужин 23 марта. Внезапно поступили 4 звонка от провайдера одной из наших входящих сетей и сетевых инженеров о том, что сейчас у нас наблюдается трафик интенсивностью более 300 Гбит/с, который достигает предел возможности нашей сети.

На графике видно, что на протяжении 24-25 марта показатели атаки падали до 90 Гбит / с и повышались до 300 Гбит / с, вызывая отказ от обслуживания входящего трафика одного из наших провайдеров, у которого полностью была исчерпана пропускная способность сети.

Как хакеру удалось проделать такое, если известно, что потолок оборудования равен 100 гигабитам? Вопрос – как? Как этому парню из Лондона, этому 15-ти летнему подростку удалось организовать такую беспрецедентно интенсивную атаку?

Но в данном конкретном случае не было никакого настоящего трафика из сети ботнет. Множество людей, и СМИ в том числе, высказывали неправильное мнение, что для такой атаки нужен ботнет. Нет, это не так. Другие люди говорили, что это сделали Anonymous, потому что в этом сообществе множество людей, которые скоординированы и могут работать совместно для реализации атак определенного рода. Атаку осуществили 3, возможно 4 человека, один из которых был настоящим техническим вдохновителем, однако очень ограниченным в плане ресурсов и исполнителей.

Скажу, что я видел код, который спровоцировал данную атаку, это около 50 строк на языке C, не включая заголовки, которые обычно включаются в такой эксплойт, так что это совсем немного информации. Многие люди посчитали, что для осуществления подобной атаки необходимы выдающиеся технические навыки.

Что действительно для этого необходимо, так это список открытых клиентов DNS, или DNS-resolvers, позже я расскажу, что это такое. Буквально через секунду я покажу вам, как можно запустить подобную атаку. Второе, что вам нужно – это несколько серверов, или просто компьютеров небольшой мощности, работающих в сетях, которые позволяют подмену исходных IP.

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

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

Этот «распутный» DNS-резолвер отвечает каждому, кто бы его ни спросил. Неправильно сконфигурированный DNS-резолвер, также называемый открытым DNS-резолвером, отвечает на вопросы независимо от того, кто его спрашивает. У него нет ограничений ни на количество запросов, ни на то, от кого принимать запросы. Он работает без всяких ограничений.

Ведь он использует открытый DNS-резолвер»! Вы можете спросить: «А как же Google? Буквально на прошлой неделе ребята из Bind анонсировали новое расширение, позволяющее устанавливать лимит скорости запросов, это именно то, чего нам не хватало долгое время. Однако такие организации, как Google, делают очень много для ограничения количества запросов, обращенных к резолверам, чтобы затруднить запуск атак, они ограничивают размер ответов, которые предоставляют по запросам. Потому что больше всего пугает то, что для атак всё чаще используются авторитетные открытые DNS-серверы.

Если у меня очень мало собственных ресурсов, я стремлюсь использовать их для создания дополнительных ресурсов. При проведении любой атаки хакер стремиться усилить её любым доступным способом, например, используя ботнет. На конференции BlackHat говорилось, что DDoS это идеально асимметричное нападение, потому что один маленький человечек может создать огромные проблемы, и открытые DNS-резолверы явно это демонстрируют.

На этом слайде показана ключевая команда для запуска атаки через терминал Windows, или консоль.

217. Эта команда была запущена в 2 часа ночи с открытого DNS-резолвера 63. 76, работавшего в сети PCCW. 84. Если вы отправите этот запрос, то сервер вам ответит.

org означает, что они хотели показать вам каждый возможный тип записи DNS, так что их DNS-файл просто огромен, далее следует IP-адрес резолвера и флаг edns=0, который говорит: «Верни мне всё, включая dns.sec и множество других типов флагов», которые вы по умолчанию можете не получить. digANY – это просто DNS-запрос, инициирующий поиск любых имён домена NS, isc. Флаг notcp является важным элементом, так как приказывает резолверу не использовать TCP для обмена данными, а пересылать их все по UDP, а bufsize устанавливает размер буфера равным 4096, то есть стремиться сделать буфер как можно большим, чтобы отправлять очень «жирные» пакеты.

То есть на 64-х байтовый запрос вы получаете ответ размером 3363 байта. Итак, вы запускаете этот милый маленький запрос размером 64 байта и получаете в ответ то, что сейчас бежит на экране.

Вот что я имею в виду, когда говорю, что можно использовать крохотные ресурсы для создания большой проблемы. Итак, если вам удается найти открытый DNS-резолвер, вы отправляете ему 64 байта и получает ответ размером более 3300 байтов. В данном случае мы получаем коэффициент усиления атаки порядка х50.

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

Я отправляю DNS-резолверу сообщение, и так как UDP представляет собой протокол «сожги и забудь» без рукопожатия, то после получения запроса он просто посылает ответ тому, кого считает его отправителем. То есть я стараюсь притвориться, что DNS-запрос послан с IP-адреса, с которого он не посылался.

Этим рекомендациям при создании сетей следует большинство интернет-провайдеров, однако существуют сети, игнорирующие это правило. Хорошо устроенные сети такого не позволяют, они не разрешают, чтобы пакеты исходили от IP-адресов, которые не принадлежат этой сети – это рекомендации BCP38.

Для атаки на Spamhaus использовался конкретный DNS, показанный на слайде, и уверенность в том, что связь осуществляется через UDP, который не требует никакого рукопожатия. Итак, если у нас имеется два нужных ингредиента, то поскольку UDP не использует рукопожатия, можно легко подменить IP-адрес источника запроса. Затем ответы всех этих открытых DNS-резолверов, расположенных по всему миру, отправляются обратно вашей или любой другой целевой сети.

Их пользователи отслеживают путь к атакующему адресу 190. Вторичные последствия этих DDoS-атак отражаются на техподдержке клиентов, потому что в этой атаке задействованы сотни тысяч открытых DNS-серверов. 243. 93. И вы должны очень вежливо им объяснить, что на самом деле это они атакуют вас, а страдают от этого сами, потому что не правильно настроили свой DNS-резолвер, ответы на запросы возвращаются назад, и всё это, в конечном счете, влияет на вас самих. 93, из которого исходят тонны пакетов, наносящих удар по их инфраструктуре, и начинает заваливать вас гневными обращениями типа «вы не знаете, что вы делаете, вы не знаете, как запустить нормальную сеть, ваши компьютеры взломаны, как вы посмели на меня напасть!» и тому подобное.

И лишь когда интенсивность атак значительно усиливается, они начинают обращать на это внимание. Собственно, это возможность научить людей «чистить» свои сети, и в этом заключается положительный аспект подобных атак, так как люди не представляют себе, что из-за неправильной настройки открытых DNS-серверов такое происходит постоянно, только в небольших масштабах.

Думаю, все вы знакомы с такими старыми типами атак, как Smurf, где вы используете через роутеры передачу в сеть широковещательных запросов ICMP, и используете спуфинг источника, в результате чего компьютеры отвечают жертве вашего спуфинга, забивая каналы связи.

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

На следующем слайде изображен Open Resolver Project, это довольно революционный продукт. Насколько распространены составляющие подобных атак? Дело в том, что этот список может быть использован как «хорошими парнями», чтобы они смогли указать клиентам на неправильно настроенные сети, так и «плохими парнями», которые могут использовать его для организации DoS-атак. Многие из присутствующих здесь долгое время спорили, стоит ли публиковать в сети список всех открытых DNS-резолверов, запущенных в интернете.

Таким образом, крупнейшие интернет-провайдеры первого уровня смогли убедиться, что «плохие парни» давно имеют этот список и поэтому нужно начинать его чистку, избавляясь от открытых серверов. Не случайно, что этот проект был запущен в понедельник, последовавший за выходными, в течение которых мы выдерживали весь этот ад. Таким образом, если PCCW проделают подобную проверку, то смогут очистить сеть до того, как у них появятся проблемы. Благодаря этому сайту вы можете ввести диапазон своих IP-адресов и проверить, имеются ли в вашей сети открытые DNS-резолверы. Я был бы рад сообщить вам, что на сегодня это число равно 30, 40 или 50 миллионов, однако, к сожалению, на момент запуска оно было всего 21 миллион, так что мы явно двигаемся не в том направлении. Мы привлекли СМИ к освещению роли этого проекта, чтобы все провайдеры узнали об этом списке, потому что количество открытых DNS-резолверов, используемых в интернете, составляет 28 миллионов.

На слайде показан проект MIT, позволяющий отслеживать спуфинг сетей. Следующее, о чем я хочу упомянуть – это совершенно ненормальный процентаж сетей, позволяющих спуфинг. Было трудновато проверить их удалённо, но тесты показывают, что почти 25% интернета позволяют спуфинг.

Нельзя допускать, чтобы пакеты, которые рождаются не в вашей сети и которые приходят с неизвестных вам IP-адресов, увеличивали нагрузку на маршрутизаторы. В 2013 году не может быть никаких оправданий тому, что вы не используете BCP 38 для пограничных маршрутизаторов. Любой роутер, выпущенный после 2002 года, позволяет очень просто включить такую функцию, так что не пользоваться этим – просто леность!

Мировые сети преимущественно закрыты для спуфинга, поэтому катастрофический сценарий возможен, если хакерам удастся спуфинг, например, китайской сети China Telecom. Хорошая новость заключается в том, что в основном большие ботнет-сети не поддерживают подобный спуфинг. Вероятно, присутствующим легко понять, как трудно избавиться от всех открытых резолверов. В этом случае можно было бы использовать ботнет для генерации трафика на DNS-серверы для осуществления потенциальной атаки огромного размера. Но вы можете реализовать в собственных сетях возможность игнорировать чужие пакеты, чтобы не подвергнуться подобной атаке.

Первый был 24 марта и заключался в атаке интенсивность около 309 Гбит / с на протяжении 28 минут. Давайте рассмотрим два конкретных инцидента, имевших место при атаке на Spamhaus. Я спросил, работает ли наша сеть, и Том сказал, что мы пока держимся, мы можем обеспечить Spamhous и других клиентов. Паника началась со звонка Тома, который сказал, что у нас атака более 300 Гбит / с. Тогда я сказал, чего же вы так испугались? И хотя наблюдаются небольшие потери пакетов и задержки в передаче трафика, но в целом сеть держится. Но если они смогут использовать хотя бы 1%, у нас будет не 300-гигабитная, а 3-х терабитная атака. Они ответили – потому что атакующие используют всего лишь 0,1% открытых резолверов, которые существуют в мировом интернете! Я думаю, что сегодня мы могли бы выдержать до 3 терабит трафика, но в марте у нас не было такой возможности, мы не могли победить 30-ти терабитную атаку и я не знаю никого, кто смог бы её выдержать. Если они будут использовать 10% открытых DNS-резолверов, мы получим 30-терабитную атаку. Это было очень серьезным вызовом работоспособности сети.

Один был в Сан-Хосе, другой находился в Миннесоте и третий в Германии. Когда мы стали разбираться, откуда исходит атака и просмотрели кучу сетевых провайдеров первого уровня, то обнаружили всего 3 сети, которые позволяли спуфинг адресов, и возможно, их обслуживало от 5 до 7 скомпрометированных серверов. Было задействовано всего 3 сети, и эти скромные ресурсы привели к относительной большой атаке.

Использовалось практически такое же количество открытых резолверов – 31154, и те же три спуфинговые сети. Следующий пик пришёлся на 25 марта, когда был зафиксирован трафик со скоростью 287 Гбит/с на протяжении 72 минут. Ещё раз повторюсь – атакующий задействовал очень ограниченные ресурсы.

Он контролировал от 5 до 7 скомпрометированных серверов, 3 сети, позволяющие подмену оригинальных IP-адресов, которые генерировали трафик интенсивностью около 9 Гбит/с, направленный на 0,1% открытых DNS-резолверов. Отмечу, что у нас был всего 1 атакующий с одним ноутбуком, у нас есть скриншот, который я покажу позже. И всё это привело к возникновению 300 Гбит/с DDoS-трафика.

Многие люди считают, что это была самая большая атака в истории сетей, не могу сказать, правда ли это, но она действительно была самой большой из всего того, что мы видели.

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

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

Некоторые из наших мер применимы в общем случае, некоторые являются уникальными. Немного расскажу о том, что мы сделали для того, чтобы иметь возможность сопротивляться атаке, что мы предприняли, чтобы её остановить. Так что на сегодня у нас имеется развитая сеть X-класса. На этом слайде вы видите, что мы предоставляем услуги по всему миру, имея 23 точки подключения к сервису CloudFlare, а к концу года их количество увеличится до 50.

Мы используем протокол под названием Anycast для передачи пакетов методом BGP через множество поставщиков DNS, которые также используют Anycast. Мы изначально подумали о целесообразности нашей сети, но то, что было заложено в неё в начале, на сегодня превратилось в очень мощный инструмент. Скажу, что это большая головная боль – обеспечить нормальную работу такой сети, как наша. Фактически мы используем его для HTTP-трафика, как наиболее стабильного.

В обычной схеме сети имеется один источник и один пункт назначения, а в Anycast один источник связан с несколькими пунктами назначения, при этом для доставки пакетов адресату выбирается кратчайший путь. Если вы не знакомы с протоколом Anycast, то вот что он собой представляет. Поэтому, когда мы имеет дело с атакой интенсивностью 300 Гбит / с, она распределяется между всеми дата-центрами таким образом, что на каждый дата-центр приходится порядка 13 Гбит / с трафика. Таким образом, если у нас имеется 23 дата-центра по всему миру, то все они имеют один и тот же IP-адрес, например, адрес Spamhous.

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

29:00 мин

Уроки выживания при DDOS-атаке 300 Гбит / с. Конференция BLACK HAT. Часть 2

Спасибо, что остаётесь с нами. Вам нравятся наши статьи? Хотите видеть больше интересных материалов? Поддержите нас оформив заказ или порекомендовав знакомым, 30% скидка для пользователей Хабра на уникальный аналог entry-level серверов, который был придуман нами для Вас: Вся правда о VPS (KVM) E5-2650 v4 (6 Cores) 10GB DDR4 240GB SSD 1Gbps от $20 или как правильно делить сервер? (доступны варианты с RAID1 и RAID10, до 24 ядер и до 40GB DDR4).

VPS (KVM) E5-2650 v4 (6 Cores) 10GB DDR4 240GB SSD 1Gbps до весны бесплатно при оплате на срок от полугода, заказать можно тут.

класса c применением серверов Dell R730xd Е5-2650 v4 стоимостью 9000 евро за копейки? Dell R730xd в 2 раза дешевле? Только у нас 2 х Intel Dodeca-Core Xeon E5-2650v4 128GB DDR4 6x480GB SSD 1Gbps 100 ТВ от $249 в Нидерландах и США! Читайте о том Как построить инфраструктуру корп.

Показать больше

Похожие публикации

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Кнопка «Наверх»