Атаки из сети → Потенциально уязвимые места в протоколе TCP/IP

Спросите Вы, зачем нам эта информация? Ведь про модель OSI мы знаем еще с институтской скамьи, ведь это давно пройденный этап, а если понадобиться, то «Вика» всегда под рукой! Давайте, все же посмотрим на стек протоколов TCP/IP c точки зрения злоумышленника.
Как известно базовая концепция TCP/IP позволяет организовать взаимодействие различных компьютерных систем и описывает внутреннюю работу сети Internet.
- IP (Internet Protocol – сетевой протокол);
- TCP (Transmission Control Protocol — протокол управления передачей);
- UDP (User Datagram Protocol — протокол пользовательских дейтаграмм);
- ICMP (Internet Control Message Protocol — протокол управляющих сообщений Internet).
- SMTP (Simple Mail Transfer Protocol — простой протокол электронной почты);
- HTTP (Hypertext Transfer Protocol — протокол передачи гипертекста);
- FTP (File Transfer Protocol — протокол передачи файлов).
Протокол IP
Протокол IP описан в документе RFC 791. Протокол IP не ориентирован на установку соединений. Это означает, что каждый пакет передается по сети независимо от других. То есть не гарантируется, что пакеты придут в пункт назначения и сохранится порядок, в котором они были отправлены.
Рассмотрим заголовок IP-пакета. Обратите внимание, что размер полей адресов отправителя и получателя равен 32 битам. При отправке пакета адрес узла-отправителя не проверяется.

Поле TTL (time-to-live — время жизни) предотвращает создание замкнутых маршрутов передачи пакетов. При прохождении пакета через сетевое устройство (маршрутизатор) значение этого поля уменьшается на единицу. Когда значение поля достигнет нуля, пакет будет отброшен и источнику пакета будет отправлено сообщение «время истекло» («time exceded»). Поле TTL может использоваться для определения маршрута передачи сообщения. Программа tracerote отправляет пакет с установленным полем TTL, равным 1. Первый маршрутизатор ответит сообщением «время истекло». Затем один за другим будут отправлены пакеты, в каждом из которых значение поля TTL будет увеличиваться на единицу до тех пор, пока пакет не достигнет пункта назначения. Таким образом собирается информация обо всех промежуточных узлах трансляции пакета.
Если пакеты передаются по сетям, в которых размер IP-пакетов превышает максимально допустимое значение размера кадра, то выполняется фрагментация пакетов. Эта операция необходима для передачи информации в различных физических сетях, но она также может быть использована в незаконных целях. Поле MF указывает, является (MF=0) или нет (MF=l) данный пакет последним фрагментом последовательности. Поле «fragment onset» («смещение фрагмента») указывает на положение фрагмента в исходном пакете. Фрагменты могут быть использованы для попытки обмануть брандмауэр. Например, первый фрагмент отправляется с вполне «невинным» TCP-заголовком (в блоке данных IP-пакета). Второй фрагмент «затеняет» данные первого и заменяет TCP-заголовок. В результате можно провести атаку в обход брандмауэра.
Блок данных IP-пакета содержит заголовок протокола более высокого уровня (TCP, UDP и т.д.), а также непосредственно сами данные.
Протокол TCP
Формат заголовка TCP-пакета также определен в документе RFC 793. В отличие от IP, протокол TCP является ориентированным на установление соединений.
То есть TCP гарантирует доставку и сохранение порядка отправленных пакетов. Это достигается за счет использования порядковых номеров и номеров подтверждения. В то время как протокол IP использует IP-адреса для доставки пакетов указанному компьютеру, протокол TCP использует номера портов для отправки пакета нужному процессу на компьютере-получателе и идентификации процесса-отправителя на компьютере-отправителе. Как и IP-адрес, порт отправителя не проверяется и поэтому может быть подменен нарушителем.
По заголовку TCP можно определить тип отправленного пакета. Тип пакета зависит от набора установленных флагов, которых всего шесть: Urgent, Ack, Push, Reset, Syn и Fin. Флаги Urgent и Push используются довольно редко. Большинство флагов и их комбинаций используются при установлении и разрыве соединений.
Протокол UDP
Как определено в документе RFC 768, протокол UDP является эквивалентом TCP, не ориентированным на установление соединений. Как и IP, UDP не гарантирует доставки пакетов получателю и правильность их порядка. Заголовок UDP-пакета очень простой и не содержит флагов или порядковых номеров

Как и TCP, протокол UDP базируется на возможностях, предоставляемых протоколом IP для доставки пакетов конкретному компьютеру. Номера портов используются для доставки пакетов определенным прикладным программам, запушенным на удаленном компьютере.
Протокол IСМР
Описанный в документе RFC 792 протокол ICMP предназначен для извещения о затруднениях в процессе передачи данных другими протоколами. Каждое ICMP-сообщение имеет идентификатор типа, по которому можно определить причину проблемы, например, недоступность адресата или сообщение о недостижимости порта. Кроме того, с помощью ICMP можно определить, работает ли тот или иной компьютер (ping-запрос).

На многих узлах используется блокирование ICMP-сообщений на брандмауэре и на граничном маршрутизаторе. Это обычная практика для предотвращения разглашения информации о компьютерах локальной сети. Однако блокирование всех ICMP-сообщений может повлиять на производительность сети. Например, при блокировании сообщений типа Destination Unreachable («Адресат недоступен») Web-браузеры будут ожидать превышения лимита времени вместо того, чтобы сразу выдать сообщение о недоступности адресата запроса. Поэтому должен быть выбран разумный компромисс между производительностью и риском предоставления потенциально опасной информации или даже компрометации компьютера.
Если Вам понравилась эта статья,
!
Comments
-
http://dohodwm.ru/ Алан
-
Александр
-
Александр
-
Artur
-
http://www.TechWeek.ru Сергей
-
http://www.03-ektb.ru/ СМП
-
http://zekman.ru/ ZekMan
-
Сергей
-
http://www.myfm.org.ua/ Vadym Яблонский
-
Александр
  Наши сообщества
  Хак новости
  Меню
  Метки


