П О Р Т А Л                            
С Е Т Е В Ы Х                          
П Р О Е К Т О В                        
  
Поиск по сайту:
                                                 
Главная

О проекте

Web-мастеру
     HTML & JavaScript
     SSI
     Perl
     PHP
     XML & XSLT
     Unix Shell

MySQL

Безопасность

Хостинг

Другое








Самое читаемое:

Учебник PHP - "Для Чайника".
Просмотров 3524 раз(а).

Иллюстрированный самоучитель по созданию сайтов.
Просмотров 6122 раз(а).

Учебник HTML.
Просмотров 3276 раз(а).

Руководство по PHP5.
Просмотров 5498 раз(а).

Хостинг через призму DNS.
Просмотров 4148 раз(а).

Подборка текстов стандартных документов.
Просмотров 55773 раз(а).

Учебник PHP - Самоучитель
Просмотров 3093 раз(а).

Документация на MySQL (учебник & справочное руководство)
Просмотров 5751 раз(а).

Внешние атаки...
Просмотров 3843 раз(а).

Учебник PHP.
Просмотров 2826 раз(а).

SSI в примерах.
Просмотров 37463 раз(а).






 
 
| Добавить в избранное | Сделать стартовой Project.Net.Ru | Помощь





Отказ в обслуживании

Название этих атак хорошо отражает их суть, поскольку результатом данных атак является недоступность того или иного сервиса (определенного приложения) или целевой машины. Мы рассмотрим два типа отказа в обслуживании: один, основанный на ошибке в приложении, и другой, основанный на плохой реализации или уязвимости протокола.

Отказ в обслуживании приложения

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

Сетевой отказ в обслуживании

Существует несколько типов атак "отказ в обслуживании", основывающихся на особенностях стека протоколов TCP/IP.

SYN-наводнение

Мы уже рассматривали механизм установления TCP-соединения (механизм тройного квитирования). SYN-наводнение использует этот механизм. Как вы помните, есть три состояния: посылка SYN-пакета, получение пакета SYN-ACK и посылка ACK-пакета. Идея атаки состоит в создании большого количества не до конца установленных TCP-соединений. Для реализации этого, злоумышленник посылает множество запросов на установление соединения (пакеты, с выставленным флагом SYN), целевая машина отвечает пакетами SYN-ACK. Злоумышленник же не завершает процесс установки соединения, а оставляет их в полу-открытом состоянии. Следовательно, для каждого полученного SYN-пакета сервер выделяет ресурсы и вскоре они исчерпываются. В результате, новые соединения не могут быть открыты. Этот тип отказа в обслуживании направлен только на целевую машину.

Для реализации атаки SYN-наводнения злоумышленник может использовать программу synk4, передавая ей в качестве параметра целевой хост, порт и случайный адрес источника. Последнее затрудняет определение машины злоумышленника.

UDP-наводнение

Этот тип атаки "отказ в обслуживании" использует бессеансовый режим протокола UDP. Злоумышленник генерирует большое количество UDP-пакетов ("шторм UDP-пакетов") направленных на одну или две машины. В результате происходит перегрузка сети и целевых машин. Эффективность данной атаки особенно высокая, поскольку UDP-трафик приоритетнее TCP-трафика. В протоколе TCP есть механизмы предотвращения перегрузок, если подтверждения приема пакетов приходят с значительной задержкой, передающая сторона замедляет скорость передачи TCP-пакетов. В протоколе UDP такой механизм отсутствует, и после начала атаки, UDP-трафик быстро захватит всю доступную полосу пропускания, и TCP-трафику останется лишь малая ее часть.

Наиболее известный пример UDP-наводнения это атака на сервис chargen. Реализация этой атаки проста: достаточно установить связь между сервисами chargen на одной машине и сервисом echo на другой. Сервис chargen генерирует символы, а сервис echo дублирует полученные данные. Злоумышленник посылает UDP-пакеты на порт 19 (chargen) одной из машин-жертв, подделывая IP-адрес и порт источника. В данном случае, портом источника будет UDP-порт 7 (echo). Атака UDP-наводнение приводит к перегрузке сети на отрезке между двумя машинами. В результате, пострадать может вся сеть.

Пакетная фрагментация

Отказ в обслуживании, достигаемый с помощью пакетной фрагментации использует уязвимости некоторых стеков TCP/IP, связанных с дефрагментацией пакетов (сборкой IP-фрагментов).

Известная атака, использующая этот подход -- это Teardrop. Фрагментарное смещение второго сегмента меньше размера первого сегмента. Это означает, что при сборке фрагментов первый сегмент должен будет содержать данные второго сегмента, происходит перекрытие фрагментов. Во время сборки таких пакетов, некоторые системы не могут обработать сложившуюся ситуацию, что приводит к отказу в обслуживании. Существуют разные варианты этой атаки, например bonk, boink и newtear. Атака отказ в обслуживании "пинг смерти" использует некорректную обработку ICMP-фрагментов, посылая больше данных, чем максимальный размер IP-пакета. Разные типы атак "отказ в обслуживании" ведут к отказам целевой системы.

Smurfing

Данная атака использует ICMP-протокол. При посылке ping-пакета (сообщение ICMP ECHO) по широковещательному адресу (например, 10.255.255.255), он доставляется каждой машине в этой сети. Принцип атаки заключается в посылке пакета ICMP ECHO REQUEST с адресом-источником машины-жертвы. Злоумышленник шлет постоянный поток ping-пакетов по сетевому широковещательному адресу. Все машины, получив запрос, отвечают источнику пакетом ICMP ECHO REPLY. Соответственно, размер ответного потока пакетов возрастает в пропорциональное количеству хостов число раз. В результате, вся сеть подвергается отказу в обслуживании из-за перегрузки.

Распределенная атака типа "отказ в обслуживании"

Распределенная атака "отказ в обслуживании" перегружает целевую сеть или систему. Идея атаки, заключается в использовании разных источников (демонов) для атаки, и "владельцев" для управления. Наиболее известные утилиты организации DDoS (распределенный отказ в обслуживании, Distributed Denial of Service) -- это Tribal Flood Network (TFN), TFN2K, Trinoo и Stacheldraht. На рисунке 13 приведен пример организации DDoS:

Pиc.13: Распределенная атака "отказ в обслуживании"
ddos

Злоумышленник использует "хозяинов" (masters) для управления источниками. Очевидно, что ему необходимо подключится (TCP) к "хозяинам" для того, чтобы их настроить и приготовить атаку. "Хозяева" лишь пересылают команды источникам по протоколу UDP. Без "хозяев", злоумышленнику пришлось бы устанавливать соединение с каждым из источников. Таким образом, происхождение атаки можно было бы легко обнаружить, а реализация ее занимала бы больше времени.

Каждый источник обменивается с "хозяином" специфическими сообщениями. В зависимости от используемых утилит, общение может быть с использованием механизма авторизации и/или шифрования. Для установки источников и "хозяев", злоумышленник использует известные уязвимости (переполнение буфера таких сервисов, как RPC, FTP, и т.п.). Сама же атака являет собой либо SYN-наводнение, либо Smurf и приводит к отказу в обслуживании целевой сети или системы.

[ Назад ] [ Содержание ] [ Вперед ]



Если Вы не нашли что искали, то рекомендую воспользоваться поиском по сайту:
 





Copyright © 2005-2016 Project.Net.Ru