История одной DDoS-атаки

Компания CloudFlare, специалист по защите и оптимизации веб-сайтов, поделилась подробностями недавней DDoS-атаки, ограничившей доступ к ее облачному сервису доставки контента.

Этот сбой произошел в середине сентября. Накануне у одного из магистральных провайдеров CloudFlare возникли проблемы, грозившие нарушить работу 8 из 23-х датацентров компании. Операторам пришлось искать обходные пути, что увеличило нагрузку на некоторые подсети CloudFlare в европейском регионе. По словам сервис-провайдера, такие случаи нередки, и перегрузки по трафику пользователи обычно не ощущают. В тот же день на сайт одного из участников сети доставки контента (content delivery network, CDN) была проведена DDoS-атака.

Началась она как мощный flood 4-го (транспортного) уровня. Мусорный трафик в европейском сегменте CDN на пике превысил 65 Гб/с (что эквивалентно трафику при одновременном просмотре 3400 HD TV), однако большая емкость самой сети позволила легко погасить зловредную волну без поражения в доступе. При таких скоростях операторы сервиса CloudFlare осуществляют фильтрацию трафика и перераспределение нагрузки в ручном режиме, чтобы сохранить атакуемый сайт онлайн и не создать проблем у других участников CDN.

Встретив отпор, дидосер на полчаса затих, а затем возобновил попытки вызвать отказ в обслуживании, каждый раз меняя вектор атаки. Три часа группа мониторинга CloudFlare стойко держала оборону, пока не совершила досадный промах. При очередной смене правил и ограничений по сети новый лимит был применен не только к DDoS-мишени, но к целому блоку клиентских сайтов. Поскольку европейский сегмент CDN был и без того перегружен, произошел слив трафика в североамериканский и азиатско-тихоокеанский регионы. На территории Западной Европы входной и исходящий потоки CloudFlare практически иссякли. Ошибка была быстро исправлена, однако ее результат ― кратковременный отказ в доступе ― успели испытать многие европейские участники CDN.

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

Обидчик CloudFlare пошел другим путем: он увеличил мощь своего удара, применив технику отражения DNS-запросов (DNS reflection). Этот метод подразумевает использование DNS-резолверов, которые установлены у любого интернет-провайдера для ускорения обработки пользовательских запросов. Беда в том, что в Сети функционирует большое количество резолверов, которые сконфигурированы так, что принимают рекурсные запросы не только от своей клиентуры, но и от сторонних пользователей. Они известны как «открытые резолверы» и предоставляют большие возможности для злоупотреблений.

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

В схожих ситуациях владелец открытого резолвера нередко обращался к CloudFlare с требованием остановить нескончаемый поток UDP-пакетов. К счастью, прервать такую атаку весьма несложно: интернет-провайдеру достаточно просто запретить все DNS-запросы, исходящие с IP-адресов CDN, ибо она не обращается к резолверам. Более того, для защиты от подобных атак CloudFlare использует технологию Anycast, позволяющую направить ответы открытого резолвера в ближайший датацентр и рассеять зловредный трафик по сети. Если операторы твердо уверены, что исходящих DNS-запросов с CDN не было, трафик с резолвера блокируется на маршрутизаторе или перенаправляется в магистраль.

Публикации на схожие темы

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

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