Защита API от DDoS-атак
9 января 2023 г.DDoS и API
В мире, где цифровая безопасность имеет решающее значение, будущее бизнеса находится под угрозой из-за целого ряда различных угроз. В основе многих приложений лежит набор API. Эти API используются для связи между потребителями и приложениями, и они имеют решающее значение для бизнеса. Если они перестанут работать, клиенты ничего не смогут сделать с приложением, а это означает потерю дохода.
Насколько распространены эти атаки?
Хотя некоторые сообщают об общем падении в области RDDoS (распределенный отказ в обслуживании с выкупом) также было зарегистрировано увеличение на 164 % DDoS-атак на прикладном уровне (уровень 7). Япония, например, столкнулась с участившимися DDoS-атаками с целью выкупа в 2022 году. «В случае DDoS-атак с целью выкупа , увеличивается доля атак L7 с использованием более продвинутых соединений, а также DDoS-атак с использованием традиционного трафика большой емкости на уровне L3 и L4».
API-интерфейсы могут быть внутренними, но любые API-интерфейсы, открытые для Интернета, открыты для атак со стороны злоумышленников, которые хотят предотвратить их использование законными пользователями. Что, если кто-то попытается их отключить, отправляя миллионы запросов в минуту, а это намного больше, чем может обработать система? Это может привести к распределенной атаке типа "отказ в обслуживании" (DDoS), которая наводняет API запросами данных так быстро, что он не может ответить ни на один из них.
DDoS-атаки представляют собой распространенную угрозу для сетей и приложений и обычно совершаются ботами или ботнетами из-за возросшей потребности в вычислительной мощности. Эти атаки могут быть запущены из любой точки мира, результаты которых могут варьироваться от неудобных (снижение производительности) до разрушительных (отключение систем).
Типы DDoS
Одним из факторов защиты API от DDoS-атак является понимание распространенных типов атак:
- Наводнение TCP SYN
- HTTP Post Flood и
- Объемные атаки.
Поток TCP SYN возникает, когда злоумышленник отправляет множество пакетов SYN, но никогда не завершает трехэтапное рукопожатие. Сервер не может обработать все эти незавершенные соединения и используемые ресурсы.
HTTP Post Flood возникает, когда злоумышленник отправляет POST-запросы на сервер с большим объемом данных. Поскольку многие серверы принимают запросы POST только с небольшими объемами данных, отправка этих чрезмерных запросов может привести к их перегрузке из-за обработки запросов без их завершения до поступления следующего.
Объемные атаки — это попытки создать такой объем трафика, который приводит к перегрузке ресурсов и прерыванию обслуживания законных пользователей. Некоторые примеры включают усиление DNS, smurf и атаки с отражением/усилением NTP.
Защита
Хорошим первым шагом в защите API от неправомерного использования является знание конечных точек. Инвентарь, инвентарь, инвентарь. Если это общедоступно, это цель, которая будет найдена и использована.
Один из способов — через брандмауэры веб-приложений (WAF). Использование WAF с профилированием атак позволяет использовать правила, которые обнаруживают определенные типы трафика и блокируют их до того, как они достигнут вашего сервера приложений. Например, если вы знаете, что наводнения TCP SYN обычно вызываются автоматическими поисковыми роботами или ботами, пытающимися найти уязвимости на вашем веб-сайте, вы можете настроить WAF таким образом, чтобы он отклонял любые запросы, поступающие с этих IP-адресов, или полностью блокировал их до тех пор, пока они не отправят действительные учетные данные. .
Важным отличием между обычной блокировкой IP-адресов веб-приложений и обнаружением API является контекстуализация. Чтобы должным образом защитить API от злоупотребления IP-адресами, технология WAF должна анализировать модели трафика с течением времени и выявлять ненормальное поведение, например повторяющиеся запросы с разных IP-адресов.
Другой частью уровня безопасности является использование сети доставки контента (CDN), такой как Cloudflare. Сеть CDN позволит распределять контент по нескольким серверам по всему миру, так что если один сервер выйдет из строя из-за атаки, у пользователей все еще будут другие, доступные для доступа к информации без каких-либо перебоев в обслуживании.
Дополнительным приемом является трансляция, при которой WAF настраивается на блокировку определенных типов трафика, перенаправляя его на другой порт на вашем сервере.
Когда WAF обнаруживает атаку, он может отреагировать, заблокировав атакующий IP-адрес или перенаправив пользователя на другую страницу. Этот тип защиты называется фильтрацией черной дыры.
Другие стратегии включают анализ пакетов в реальном времени, ограничение скорости и увеличение пропускной способности для предотвращения подобных атак.
Активная защита
Еще один способ защитить API от DDoS – это авторизованное тестирование и соблюдение рисков компании. Важное примечание: никогда не тестируйте ресурсы, если у вас нет разрешения. Между тестированием и незаконной деятельностью тонкая грань! Если тестируемый API размещается в облаке (например, Azure, AWS), прочтите соглашение. Тестирование DoS может быть запрещено или может быть ограничено только определенным диапазоном IP-адресов или ресурсов.
Вот несколько способов проверки после авторизации:
- После включения ограничения скорости отправьте многочисленные запросы из Postman или Burp Suite в API. Ответ после достижения порога будет отображаться как заблокированный. Если это не так, то запросы были отправлены в неверный API, порог не включен в правильном API или порог установлен неправильно
2. Используйте Slowloris (на основе Python), чтобы создать нужное количество запросов для тестирования.
:::подсказка ПРИМЕЧАНИЕ. Это действующий инструмент тестирования, которым также злоупотребляют злоумышленники. Используйте только в том случае, если это разрешено тестируемой компанией, и действуйте с осторожностью. Помните: DoS — это отказ в обслуживании, даже если он используется для тестирования уполномоченным персоналом.
:::
Хотя его сложнее настроить и запустить, это хороший тест, потому что Slowloris — это распространенный способ развертывания DDoS. Эти медленно-медленные атаки являются типичными способами злоупотребления API, поскольку «традиционные атаки , такие как SQL-инъекции или межсайтовые сценарии, по-прежнему случаются, но успешные атаки API не следуют тем типам «одноразовых» механизмов, которые используют известные уязвимости».
Зачем тратить ресурсы?
Одной из причин DDoS-атак является потеря дохода, будь то назло или из мести. Другим может быть перевод бизнеса на другой сайт (ПРИМЕЧАНИЕ: это не означает, что, когда X не работает, это сделал конкурент Y — это просто возможная причина).
Какой бы ни была причина, сбой — это просто сбой и как минимум проблема безопасности, поскольку он нарушает триаду А (доступность) триады ЦРУ (две другие — конфиденциальность и целостность).
DDoS-атаки представляют собой серьезную угрозу для бизнеса. Это не только стоимость самой DDoS-атаки, но и ущерб репутации и потеря дохода.
Какой бы ни была ваша роль (официальная или нет) — разработчик, инженер, специалист по безопасности, DevOps — делайте все возможное, чтобы смягчить последствия DDoS. Все прогресс!
Оригинал