П О Р Т А Л                            
С Е Т Е В Ы Х                          
П Р О Е К Т О В                        
  
                                                 
Главная

О проекте

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

MySQL

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

Хостинг

Другое







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

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

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

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

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

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

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

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

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

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

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

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






 
 



Сетевые атаки

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

Атаки, основанные на IP-фрагментации

Данная атака направлена на оборудование, находящееся за защитой IP фильтрующего оборудования. Для ее реализации злоумышленники используют два разных метода: "микрофрагменты" (Tiny Fragments) и "перекрытие фрагментов" (Fragment Overlapping). Эти атаки становятся достоянием истории, поскольку современные межсетевые экраны давно успешно с ними справляются.

Микрофрагменты

Согласно документу RFC (Request For Comment) 791 (IP), все узлы (маршрутизаторы) Internet должны уметь передавать пакеты, размером 68 байт, без их фрагментации. Минимальный размер заголовка IP-пакета, без опций -- 20 байт. При заданных опциях, максимальный размер заголовка равен 60 байтам. В поле IHL (Internet Header Length) содержится длинна заголовка в 32 битных словах. Это поле использует 4 бита, потому количество возможных его значений равно 2^4 - 1 = 15 (поле не может принимать значение 0000). Следовательно, максимальный размер заголовка действительно равен 15*4 = 60 байтам. Наконец, поле смещения фрагмента (Fragment Offset), указывающее смещение первого байта фрагмента относительно всей дейтаграммы, займёт 8 байт. Таким образом данные в фрагменте занимают минимум восемь байт. Откуда и получаем размер пакета в 68 байт.

Атака состоит из запроса TCP соединения, фрагментированного на два IP-пакета. Первый IP-пакет состоит из 68 байт и содержит лишь первые восемь байт заголовка TCP (порты источника, назначения, и порядковый номер). Данные второго IP-пакета содержат запрос на TCP соединение (Флаг SYN установлен, ACK снят).

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

На рисунках 1 и 2 показаны оба фрагмента, а на третьем -- дефрагментированный пакет на целевой машине:

Рис.1: Фрагмент 1
Tiny-Frag-1
Рис.2: Фрагмент 2
Tiny-Frag-2
Рис.3: Дефрагментированный пакет
Tiny-Frag-3

Перекрытие фрагментов

В соответствии с тем же RFC 791 (IP), если два IP-фрагмента перекрываются, второй перезаписывает собой первый. Данный тип атаки также заключается в разбиении IP-пакета на два фрагмента. Пакетный фильтр пропускает первый пакет из 68 байт (по тому же принципу, что и в атаке типа "микрофрагменты") поскольку он не содержит запроса на TCP соединение (флаг SYN = 0 и флаг ACK = 0). И снова, данное правило применяется для всех фрагментов пакета. Второй фрагмент (со смещением = 1), содержащий настоящие данные о соединении, пропускается фильтром, так как он не видит, что в этом фрагменте содержится запрос на установление соединения. При дефрагментации, данные второго фрагмента замещают данные первого, начиная с восьмого байта (так как смещение = 1). Результирующий пакет получается корректным запросом на соединение для целевой машины. Соединение установлено, несмотря на присутствующий пакетный фильтр.

На рисунках 1 и 2 показаны оба фрагмента, а на третьем -- дефрагментированный пакет на целевой машине:

Рис.4: Фрагмент 1
Tiny-Frag-4
Рис.5: Фрагмент 2
Tiny-Frag-5
Рис.6: Дефрагментированный пакет
Tiny-Frag-6

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



 





Copyright © 2005-2011 Project.Net.Ru