
- •Безопасность системы протоколов интернет
- •1.1 Безопасность сетей на базе tcpip
- •5. Протоколы семейства ip
- •5.1 Активные атаки на уровне tcp
- •5.2 Описание
- •5.3 Детектирование и защита
- •5.5 Ранняя десинхронизация
- •5.6 Десинхронизация нулевыми данными
- •5.7 Детектирование и защита
- •5.8 Пассивное сканирование
- •5.9 Затопление icmp-пакетами
- •5.10 Локальная буря
- •5.11 Затопление syn-пакетами
- •6.1 Что лучше?
- •6.2 Атаки на udp
- •6.3 Протокол tcp
- •Примеры соединения:
- •6.4 Атака Syn-Flood
- •6.4.1 Защита от атаки syn-Flood
- •6.5 Буря tcp ack
- •6.6 Организация сеанса (атаки)
- •6.7 Упреждающая десинхронизация
- •6.8 Десинхронизация бессмысленными данными
- •6.9 Детектирование атак и побочные эффекты
- •6.10 Атака Митника
- •6.10.1 Предотвращение атак
- •6.11 Сравнение с атакой Морриса
- •6.12 Заключение
- •7.1 Icmp-сообщение
- •7.2 Технические подробности
- •7.3 Использование icmp-протокола для атак
- •7.4 Использование icmp-сообщений
- •7.5 Список типов сообщений
- •7.6 Правила генерации icmp-пакетов
- •8 Список використаної літератури
6.10 Атака Митника
Е ("A") → B: SYN, ISSe
B → A: SYN, ACK, ISSb', ACK(ISSe+1)
E ("A") → B: ACK, ISSe+1, ACK(ISSb'+1)
6.10.1 Предотвращение атак
Единственным известным автору способом предотвращения описанных здесь атак на сессии telnet является использование схемы шифрования Kerberos (уровень приложений) или шифрование на уровне TCP [TCPcrypt]. Шифрование потока данных предотвратит изменение потока информации атакующей стороной. Для обеспечения безопасности электронной почты могут также использоваться цифровые подписи [pgp].
6.11 Сравнение с атакой Морриса
Описанная в статье Морриса (Morris) [morris85] атака предполагает способность атакующего предсказать стартовый порядковый номер который сервер будет использовать для следующего соединения (SVR_SEQ_0 в данной статье) и использование доверительных отношений, при которых отдельные хосты могут выполнять на сервере те или иные команды без какой-либо дополнительной идентификации.
Атакующий открывает сессию, передавая серверу пакет SYN с адресом доверенного хоста в поле отправителя. Сервер подтверждает запрос SYN пакетом SYN/ACK с SEG_SEQ = SVR_SEQ_0. Атакующий подтверждает этот пакет, используя предсказанный порядковый номер SVR_SEQ_0. Атакующему не нужно собирать и анализировать пакеты, поскольку он может предсказать порядковый номер SVR_SEQ_0. Этому тип атак присущи две особенности:
Клиент, под которого маскируется атакующий хост, будет получать от сервера пакет SYN/ACK и генерировать в результате пакет RST. Моррис предположил, что генерацию пакета RST можно предотвратить с помощью атаки на клиентский хост, при которой на последнем возникнет переполнение очереди TCP и пакет SYN/ACK будет отброшен.
Атакующий не получает пакетов от сервера. Однако атакующий может передавать серверу данные, что во многих случаях вполне достаточно для успешной атаки.
Описанная в данной статье атака имеет 4 принципиальных отличия от атаки Морриса:
Для атаки Морриса требуются доверительные отношения между хостами.
Описанная в данной статье атака обеспечивает организацию полнодуплексного соединения TCP, через которое атакующий может передавать и принимать данные.
Описанная здесь атака использует средство сбора кадров Ethernet для предсказания или определения SVR_SEQ_0.
Данная атака применима к хостам любого типа (не только Unix).
Атаку Морриса можно легко усовершенствовать, добавив возможности описанной выше атаки:
использовать программу захвата пакетов для получения стартового порядкового номера. После этого атака на сервер становится возможной без ожидания попытки соединения клиента с сервером.
В предположении, что клиент не будет передавать серверу пакет RST (например, в силу неработоспособности этого клиента) атакующий может организовать с сервером полнодуплексное соединение TCP, передавая данные от имени клиента. Естественно, атакующему придется преодолеть систему идентификации, но если эта система использует доверительные отношения (как NFS или rlogin), атакующий может получить полный доступ к службе сервера.
Стивен Беллоуин (Steven M. Bellovin) в статье [bellovin89] показал возможность использования пакетов ICMP для блокирования одной из сторон соединения. В этом случае атакующий получает полный контроль над сессией (это называют TCP session hijacking – перехват сессии TCP), но атаку очень легко обнаружить.