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

Вид: 12729|Ответ: 1

[Технический анализ] Подробно и понятно: введение в атаку сетевых атак и защиты

[Скопировать ссылку]
Опубликовано 25.10.2014 21:04:02 | | |
1. Основы DDoS-атак

DDoS (распределённые атаки отказа в обслуживании) — одна из самых мощных и сложных для защиты атак, поскольку основная цель DDoS — не дать назначенной цели предоставлять обычные услуги или даже исчезать из Интернета.

DDoS можно просто разделить на три категории в зависимости от способа их запуска.

Первая категория побеждает силойОгромные пакеты данных рваются со всех уголков Интернета, блокируя вход в IDC, делая бесполезными различные мощные аппаратные системы защиты и быстрые и эффективные аварийные процессы. Типичными примерами такого типа атак являются ICMP Flood и UDP Flood, которые сейчас редки.

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

Третья категория представляет собой смесь двух вышеуказанныхОн не только использует недостатки протокола и системы, но и обладает большим объёмом трафика, такого как атака SYN Flood и DNS Query Flood, которая является основным методом атаки.

В этой статье будут описаны наиболее распространённые и представительные методы атаки один за другим и представлены их варианты защиты.

1.1. Флуд SYN

SYN Flood — одна из самых классических DDoS-атак в Интернете, впервые появившаяся примерно в 1999 году, при этом самой известной жертвой того времени был Yahoo. Атаки SYN Flood используют недостатки тройного рукопожатия TCP, которые могут сделать целевой сервер неотзывчивым и затрудняемым для отслеживания при небольших затратах.

Стандартный процесс трёхстороннего рукопожатия TCP выглядит следующим образом:

  • Клиент отправляет TCP-пакет с флагом SYN, SYN синхронизируется, а пакет синхронизации указывает порт, используемый клиентом, и начальный серийный номер TCP-соединения.
  • После получения пакета SYN от клиента сервер возвращает пакет SYN+ACK (то есть подтверждение подтверждения), что означает, что запрос клиента принят, и начальный серийный номер TCP автоматически добавляется на 1.
  • Клиент также возвращает серверу подтверждение ACK, а серийный номер TCP также добавляется на 1.

После этих трёх шагов устанавливается TCP-соединение. Для обеспечения надёжной передачи протокол TCP создал некоторые механизмы обработки исключений во время трёх рукопожатий. На третьем этапе, если сервер не получает окончательный пакет подтверждения ACK от клиента, сервер останется в состоянии SYN_RECV, добавляет IP-адрес клиента в список ожидания и повторно отправляет пакет SYN+ACK на втором этапе. Повторные публикации обычно проводятся 3-5 раз, а лист ожидания опрашивается раз в 30 секунд, чтобы повторно попробовать всех клиентов. С другой стороны, после отправки пакета SYN+ACK сервер предварительно выделяет ресурсы для хранения информации о предстоящем TCP-соединении, которая сохраняется в ожидании повторного попытки. Что ещё важнее, если ресурсы сервера ограничены, поддерживаемое состояние SYN_RECV перестанет принимать новые SYN-пакеты после превышения лимита, то есть новые TCP-соединения будут отклоняться.

SYN Flood использует вышеуказанные настройки протокола TCP для достижения цели атаки. Злоумышленники маскируют большое количество IP-адресов, чтобы отправлять SYN-пакеты на сервер, и поскольку поддельные IP-адреса практически невозможны, почти ни одно устройство не возвращает ответ на сервер. В результате сервер поддерживает огромный список ожидания и постоянно пытается отправить пакеты SYN+ACK, что потребляет много ресурсов и не может быть выпущено. Что ещё важнее, очередь SYN_RECV атакуемого сервера заполнена вредоносными пакетами, новые SYN-запросы больше не принимаются, а легитимные пользователи не могут выполнить три рукопожатия для установления TCP-соединений. Другими словами, серверу отказали в обслуживании SYN Flood.

Если вас интересует SYN Flood, можете посмотреть http://www.icylife.net/yunshu/show.php?id=367, который я написал в 2006 году, а позже внес несколько изменений, исправил баги и снизил агрессивность, и использовался исключительно для тестирования.

1.2. Flood запросов DNS

Будучи самым базовым и ключевым сервисом Интернета, DNS естественно является одной из важных целей DDoS-атак. Отключение DNS-сервиса может косвенно привести к краху всего бизнеса компании или сетевого сервиса в регионе. Некоторое время назад популярная хакерская группа anonymous также объявила о нападении на 13 DNS-серверов в глобальном Интернете, но в итоге это не удалось.

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

DNS Query Flood — это когда злоумышленник манипулирует большим количеством машин-sockpuppet, чтобы запустить большое количество запросов доменных именей к целевой компании. Чтобы предотвратить фильтрацию на основе ACL, необходимо улучшить случайность пакетов. Распространённая практика — случайное подделка исходного IP-адреса, случайное подделывание исходного порта и других параметров на уровне UDP. На уровне DNS-протокола ID запроса случайным образом подделывается вместе с доменным именем, которое нужно разрешить. Помимо предотвращения фильтрации, случайные поддельные доменные имена, которые нужно разрешить, также могут снизить вероятность попадания в кэш DNS и потреблять максимальное количество ресурсов процессора DNS-сервера.

Что касается кода для DNS Query Flood, я написал код в июле 2011 года для проверки производительности сервера, и ссылка http://www.icylife.net/yunshu/show.php?id=832. Аналогично, этот код искусственно менее агрессивен и предназначен только для тестирования.

1.3. HTTP-флуд

Описанные выше SYN Flood и DNS Query Flood можно эффективно защитить на данном этапе, а настоящая головная боль для крупных производителей и интернет-компаний — это атаки HTTP Flood. HTTP Flood — это атака на веб-сервис по протоколу седьмого уровня. Её большая вредность проявляется главным образом в трёх аспектах: удобном посвящении, сложной фильтрации и далеко идущих последствиях.

И SYN Flood, и DNS Query Flood требуют от злоумышленников управления большим количеством ботов с root-правами. Сбор большого количества корневых привилегий требует времени и усилий, а во время атаки марионеточный автомат медленно восстанавливается из-за быстрой потери ресурсов злоумышленником из-за аномального трафика, обнаруженного администратором, что приводит к значительному снижению интенсивности атаки и невозможной длительной поддержки. Атаки HTTP Flood отличаются: злоумышленникам не нужно управлять большим числом ботов, а использовать порт-сканеры для поиска анонимных HTTP-прокси или SOCKS в Интернете, через которые злоумышленник инициирует HTTP-запросы к цели атаки. Анонимные прокси — это относительно богатый ресурс, и получить их за несколько дней несложно, поэтому атаки легко инициировать и они могут длиться долго.

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

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

Интересно, что у HTTP Flood также есть историческое прозвище — CC-атака. CC — это сокращение от Challenge Collapsar, устройства защиты от DDoS от известной китайской компании в сфере безопасности. Судя по текущей ситуации, не только Collapsar, но и всё оборудование обороны оборудования всё ещё подвергается вызову, и риск не снят.

1.4. Атаки на медленное соединение

Когда речь заходит об атаках, первая реакция — огромный трафик и огромные пакеты. Но есть атака, которая делает обратное, известная своей медлительностью: некоторые цели атаки погибают, не зная, как они умирают; это атака медленной связи, наиболее характерной из которых является Slowloris, изобретённый rsnake.

Протокол HTTP предусматривает, что HTTP-запросы заканчиваются на \r\n\r\n, что означает, что клиент завершил отправку, а сервер начал обработку. Что будет, если ты никогда не отправишь \r\n\r\n? Slowloris использует это в своих интересах в DDoS-атаках. Злоумышленник устанавливает Соединение на Keep-Alive в заголовке HTTP-запроса, просит веб-сервер сохранить TCP-соединение не отключённым, а затем медленно каждые несколько минут отправляет серверу формат ключевого значения, например a:b\r\n, заставляя сервер думать, что заголовок HTTP не получен, и ждёт. Если злоумышленник использует многопоточность или марионетку, веб-контейнер сервера быстро будет перегружен злоумышленником и перестанет принимать новые запросы.

Вскоре начали появляться различные варианты Слоулориса. Например, метод POST отправляет данные на веб-сервер, заполняет большую длину содержимого, но медленный байт за байтом POST реальный контент данных и так далее. Что касается атаки Slowloris, rsnake также даёт тестовый код, см. http://ha.ckers.org/slowloris/slowloris.pl.

2. Продвинутая DDoS-атака2.1. Гибридные атаки

Вышеописанное включает несколько базовых методов атаки, любой из которых может быть использован для атаки на сеть и даже для уничтожения гигантских сайтов, таких как Alibaba, Baidu и Tencent. Но это ещё не всё: разные уровни злоумышленников могут запускать совершенно разные DDoS-атаки, и их использование — одно и то же.

Продвинутые атакующие никогда не используют один вектор для атаки, а гибко комбинируют их в зависимости от среды цели. Обычный SYN Flood легко отфильтровать устройствами очистки трафика с помощью обратного обнаружения, SYN-cookies и других технических средств, но если пакеты SYN+ACK смешаны в SYN Flood, так что каждый поддельный SYN-пакет содержит соответствующий поддельный клиентский подтверждающий пакет, соответствующий здесь относится к исходному IP-адресу, исходному порту, IP назначения, порту назначения, размеру окна TCP, TTL и т. д. — все они совпадают с характеристиками одного и того же хоста и того же TCP-потока. Давление на производительность обратного обнаружения и SYN-cookie оборудования для очистки потоков значительно возрастёт. Фактически, пакеты данных SYN и различные другие флаговые биты имеют специальные эффекты атаки, которые здесь не представлены. Существуют также уникальные методы для DNS Query Flood.

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

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

Во-вторых, атаки на DNS не должны быть сосредоточены исключительно на UDP-портах, которые также являются стандартными сервисами по протоколу DNS. В случае атаки одновременно могут выполняться как UDP, так и TCP-атаки.

Цель HTTP Flood — взломать кэш на фронтенде и напрямую получить доступ к самому веб-серверу через настройки полей в заголовке HTTP. Кроме того, HTTP Flood очень важен для выбора целей, и обычные злоумышленники выбирают страницы, требующие большого количества запросов по данным, например, поиск в качестве цели атаки, что очень корректно и может потреблять как можно больше ресурсов сервера. Но эту атаку легко определить, очистив оборудование с помощью идентификации человека и машины, так как же решить эту проблему? Всё очень просто: попробуйте выбрать страницы, к которым обычные пользователи также обращаются через приложение, обычно разные веб-API. Обычные пользователи и вредоносный трафик поступают из APP, и разница между человеком и машиной очень мала, и сложно отличить базовую интеграцию.

Каждое TCP-соединение существует как на стороне сервера, так и на самой себе, и оно также требует потребления ресурсов для поддержания состояния TCP, поэтому соединение нельзя поддерживать слишком долго. Если это удастся решить, агрессивность значительно усилится: Slowloris сможет запускать атаки без состояния, захватывать серийный номер TCP и подтверждать поддержание TCP-соединений на клиенте с помощью прослушкивания, а ядру системы не нужно обращать внимание на различные изменения состояния TCP, а ноутбук может генерировать до 65 535 TCP-соединений.

Все предыдущие описания — это технические улучшения для атаки. С человеческой стороны есть и другие способы. Если SYN Flood отправляет большое количество пакетов и сопровождается медленными соединениями Slowloris, сколько людей узнает секрет? Даже если сервер выходит из строя, можно найти только SYN-атаки, которые пытаются усилить очистку TCP-слоя и игнорируя поведение прикладного уровня. Все виды атак могут работать вместе для достижения максимального эффекта. Выбор времени атаки также является ключевым моментом, например, выбор обслуживающего персонала во время обеда, когда технический персонал застрял на дороге после работы или когда нет сигнала на беспроводной сетевой карте в метро, а также когда целевой объект проводит масштабное мероприятие и трафик увеличивается.

Это чистая атака, поэтому код или подробное объяснение не предоставляется.

2.2. Атаки из P2P-сетей

Предыдущие методы атак в целом требовали ботов, даже HTTP Flood требовал поиска большого количества анонимных прокси. Если происходит атака, достаточно отдать несколько инструкций, и машина автоматически выйдет для её выполнения — это идеальное решение. Эта атака уже появилась, и это происходит от P2P-сетей.

Как всем известно, P2P-пользователи и трафик в Интернете — чрезвычайно большое число. Если все они идут в определённое место, чтобы скачать данные и подключить тысячи реальных IP-адресов, ни одно устройство не сможет это поддерживать. Возьмём, к примеру, загрузку BT: подделка торрентов некоторых популярных видео и публикация их в поисковых системах способна обмануть многих пользователей и трафик, но это лишь базовая атака.

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

3. Краткое содержание

Вот и всё, что сводит к введению в DDoS-атаки, и я не хочу углубляться — достаточно понять, что слишком много защиты достаточно.

В целом, DDoS-атаки могут быть ловкими и грациозными. Красота применения заключается в единстве ума.





Предыдущий:Бесплатный доступ в Интернет, бесплатный доступ к CMCC с QQWifi и так далее
Следующий:Похудейте и ищите лучший трюк
Опубликовано 25.10.2014 21:46:21 |
Хорошо сформулировано
Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com