Самые распространенные виды атак типа «отказ в обслуживании» (DoS)
По сути, атака «Отказ в обслуживании» обычно выполняется путем наводнения сервера - например, сервера веб-сайта - настолько, что он не может предоставлять свои услуги законным пользователям. Это можно сделать несколькими способами, наиболее распространенными из которых являются атаки на атаку TCP и атаки на усиление DNS.
Атаки наводнения TCP
Почти весь веб-трафик (HTTP / HTTPS) выполняется с использованием протокола управления передачей (TCP). TCP имеет больше накладных расходов, чем альтернативный, User Datagram Protocol (UDP), но предназначен для надежной работы. Два компьютера, подключенные друг к другу через TCP, подтвердят получение каждого пакета. Если подтверждения не указано, пакет необходимо отправить снова.
Что произойдет, если один компьютер отключится? Возможно, пользователь теряет власть, у своего интернет-провайдера есть сбой или какое-либо приложение, которое они используют, завершает работу, не сообщив другому компьютеру. Другой клиент должен остановить повторную отправку одного и того же пакета, иначе он будет тратить ресурсы. Чтобы предотвратить бесконечную передачу, указывается продолжительность таймаута и / или устанавливается лимит на сколько раз пакет может быть повторно отправлен до полного удаления соединения.
TCP был разработан для обеспечения надежной связи между военными базами в случае катастрофы, но этот дизайн делает его уязвимым для атак типа «отказ в обслуживании». Когда TCP был создан, никто не отображал, что он будет использоваться более чем миллиардом клиентских устройств. Защита от современных атак типа «отказ в обслуживании» не была частью процесса проектирования.
Наиболее распространенная атака отказа в обслуживании веб-серверов выполняется с помощью спама SYN (синхронизация) пакетов. Отправка пакета SYN является первым шагом при запуске TCP-соединения. После получения пакета SYN сервер отвечает пакетом SYN-ACK (синхронизировать подтверждение). Наконец, клиент отправляет пакет ACK (подтверждение), завершая соединение.
Однако, если клиент не отвечает на пакет SYN-ACK в течение установленного времени, сервер снова отправляет пакет и ожидает ответа. Он повторит эту процедуру снова и снова, что может привести к потере памяти и времени процессора на сервере. На самом деле, если это сделано достаточно, это может привести к тому, что утерянные так много памяти и процессорного времени, что законные пользователи сократят свои сессии, или новые сеансы не могут начаться. Кроме того, увеличение использования полосы пропускания от всех пакетов может насыщать сети, что делает их неспособными переносить трафик, который они действительно хотят.
Усиление DNS-атаки
Атаки на отказ в обслуживании также могут быть нацелены на DNS-серверы: серверы, которые переводят доменные имена (например, howtogeek.com) в IP-адреса (12.345.678.900), которые используют компьютеры для связи. Когда вы вводите howtogeek.com в своем браузере, он отправляется на DNS-сервер. Затем DNS-сервер направляет вас на фактический веб-сайт. Скорость и низкая задержка являются серьезными проблемами для DNS, поэтому протокол работает поверх UDP вместо TCP. DNS является важной частью инфраструктуры Интернета, а пропускная способность, потребляемая DNS-запросами, как правило, минимальна.
Однако DNS медленно рос, и со временем постепенно добавляются новые функции. Это ввело проблему: у DNS был предел размера пакета в 512 байт, чего было недостаточно для всех этих новых функций. Таким образом, в 1999 году IEEE опубликовал спецификацию механизмов расширения для DNS (EDNS), которая увеличила кол-во до 4096 байт, что позволило включить дополнительную информацию в каждый запрос.
Однако это изменение сделало DNS уязвимым для «усиления атаки». Злоумышленник может отправлять специально обработанные запросы на DNS-серверы, запрашивая большой объем информации и запрашивая их отправку на IP-адрес своего целевого объекта. «Усиление» создается, потому что ответ сервера намного больше, чем запрос, генерирующий его, и DNS-сервер отправит свой ответ на поддельный IP-адрес.
Многие DNS-серверы не настроены для обнаружения или отказа от запросов, поэтому, когда злоумышленники неоднократно отправляют поддельные запросы, жертва заливается огромными пакетами EDNS, забирая сеть. Невозможно обработать так много данных, их законный трафик будет потерян.
Итак, что такое атака распределенного отказа в обслуживании (DDoS)?
Распределенная атака отказа в обслуживании - это тот, у которого есть несколько (иногда невольных) злоумышленников. Веб-сайты и приложения предназначены для обработки многих параллельных подключений. В конце концов, веб-сайты не будут очень полезны, если только один человек может посещать за один раз. Гигантские сервисы, такие как Google, Facebook или Amazon, предназначены для обработки миллионов или десятков миллионов одновременных пользователей. Из-за этого невозможно, чтобы один злоумышленник мог сбить их с помощью атаки на отказ в обслуживании. Но много нападавшие могли.
Самый распространенный метод привлечения нападающих - через ботнет.В бот-сети хакеры заражают все виды подключенных к Интернету устройств вредоносными программами. Этими устройствами могут быть компьютеры, телефоны или даже другие устройства в вашем доме, такие как видеорегистраторы и камеры безопасности. После заражения они могут использовать эти устройства (зомби), чтобы периодически обращаться к серверу команд и управления, чтобы запросить инструкции. Эти команды могут варьироваться от криптовалютов добычи до да, участвующих в DDoS-атаках. Таким образом, им не нужна тонна хакеров, чтобы объединиться вместе », они могут использовать небезопасные устройства обычных домашних пользователей для выполнения своей грязной работы.
Другие атаки DDoS могут выполняться добровольно, как правило, по политическим мотивам. Клиенты, такие как Low Orbit Ion Cannon, делают DoS-атаки простыми и легко распространяются. Имейте в виду, что в большинстве стран запрещено (намеренно) участвовать в DDoS-атаке.
Наконец, некоторые атаки DDoS могут быть непреднамеренными. Первоначально названный эффектом Slashdot и обобщенный как «ошибка смерти», огромные объемы законного трафика могут нанести ущерб веб-сайту. Вероятно, вы видели это раньше, потому что популярный сайт ссылается на небольшой блог, и огромный приток пользователей случайно приводит сайт вниз. Технически это по-прежнему классифицируется как DDoS, даже если оно не является преднамеренным или злонамеренным.
Как я могу защитить себя от атак типа «отказ в обслуживании»?
Типичным пользователям не нужно беспокоиться о том, чтобы быть объектом атак типа «отказ в обслуживании». За исключением стримеров и про-геймеров, очень редко для DoS следует указывать на человека. Тем не менее, вы все равно должны сделать все возможное, чтобы защитить все свои устройства от вредоносного ПО, которое может сделать вас частью ботнета.
Однако, если вы являетесь администратором веб-сервера, существует множество сведений о том, как защитить свои услуги от DoS-атак. Конфигурация сервера и устройства могут смягчать некоторые атаки. Другие могут быть предотвращены путем обеспечения того, чтобы пользователи, не прошедшие проверку подлинности, не могли выполнять операции, требующие значительных ресурсов сервера. К сожалению, успех DoS-атаки чаще всего определяется тем, кто имеет большую трубу. Такие услуги, как Cloudflare и Incapsula, предлагают защиту, стоя перед веб-сайтами, но могут быть дорогими.