На главную | Содержание | Назад | Вперёд
Наши друзья

 

 

АТАКА СЕАНСА TELNET

Все описанные ранее типы атак могут проводиться при уже существующем со­единении или на этапе его создания. Однако хакеры могут повлиять на любой
тип сетевых коммуникаций. Например, хакер может во время сеанса Telnet про­вести вмешательство по следующей схеме:
1. Прежде чем напасть, хакер пассивно наблюдает за передаваемыми дан­ными.
2. При удобной ситуации хакер посылает серверу огромное количество нулевых данных. Перехватив таким образом соединение, злоумышленник посылает байты ATK_SVR_OFFSET, содержащие последовательность расширенных байт IAC NOP IAC NOP. В протоколе Telnet команда NOP определена как «No Operation». Другими словами, встретив такую команду, компьютер ничего не должен делать, а обязан попросту игнорировать байты этой пары. Расположенный на сервере демон Telnet интерпретирует каждую пару байт (IAC и NOP — это одна пара байт) как нулевое значение. Это связано с командой NOP. Однако эти нулевые данные мешают серверу нормально работать и тем самым мешают текущему сеансу Telnet. После этого сервер получает следующий набор команд:
SVR_ACK = CLT_SEQ + ATK_SVR_OFFSET
3. Получив эти команды, соединение Telnet становится десинхронизированным.
4. Чтобы перевести клиента в десинхронизированное состояние, хакер вы­полняет те же действия, что и для сервера. показано, как хакер передает нулевые данные обеим сторонам соединения.
Описанная ранее атака окажется удачной только в том случае, если сеанс Telnet способен передавать нулевые данные. Даже если это так, хакеру нужно точно определить момент, когда следует их посылать. Если он пошлет их не вовремя, то атака попросту разрушит сеанс или вызовет помехи в его работе. Однако в любом из этих случаев хакер не сможет управлять сеансом. Если во время работы с Telnet вы обнаружите непонятные результаты, то это, скорее всего, свиде­тельствует о том, что кто-то пытается перехватить ваши данные.
ПОДРОБНОСТИ о ШТОРМАХ К
В рамках TCP-соединения почти каждый пакет с установленным флагом АСК и не содержащий никаких полезных данных является подтверждением пакета, ко­торый не может быть принят сервером или клиентом. В любой сети (а особенно в Internet) возникает достаточно большое количество повторно посланных сооб­щений. Каждая описанная ранее атака еще более увеличивает их численность. Это связано с вызванной штормами АСК повышенной нагрузкой на сеть и на хост хакера. Например, при помощи журнала регистрации сервера (в котором регистрируются все пакеты, включая и АСК) можно выяснить, что каждая по­пытка нападения со стороны хакера может создать до 3000 пакетов АСК. В частности, один переданный во время атаки пакет с данными генерирует от 10
до 300 пакетов АСК.
ДЕТЕКТИРОВАНИЕ и ЕГО ПОБОЧНОЕ ДЕЙСТВИЕ
Для детектирования атак можно воспользоваться некоторыми недостатками штор­мов АСК. В этом разделе я расскажу о трех методах детектирования. Однако хочу заранее предупредить вас о том, что существуют и другие, не описанные здесь методы детектирования атак.
Детектирование состояния десинхронизации. При помощи просмотрщика TCP-па­кетов (специальной программы наблюдения или части аппаратного обеспечения, подсчитывающей количество пакетов и отображающей содержание пакета) можно просмотреть номера последовательности пакетов, приходящих с обеих сторон соединения. С их помощью можно определить, находится ли соединение в десинх­ронизированном состоянии или нет. Здесь мы сделали неявное предположение о том, что администратор может передавать номера последовательности при по­мощи протокола TCP. Однако это совсем не значит, что эти номера не могут быть изменены хакером.
Детектирование шторма АСК. Как показывает статистика, в сегменте Ethernet на каждый пустой АСК-пакет в среднем приходится два информационных паке­та Telnet; в более загруженном сегменте Fast Ethernet на каждый пустой АСК-пакет приходится три информационных пакета Telnet. Во время атаки это соотношение меняется коренным образом. Как показывает та статистика, в этом случае на один информационный пакет приходится до 300 пустых АСК-пакетов.
Подсчет процентного соотношения пакетов. Для наблюдения за состоянием со­единения можно воспользоваться подсчетом процентного соотношения пакетов. Под процентным соотношением пакетов подразумевается выраженное в процентах отношение между количеством информационных пакетов и количеством пустых АСК-пакетов. Сравнив соотношение пакетов во время атаки с соотношением до нее, можно сразу определить, находится ли соединение в десинхронизированном состоянии или нет. В таблице 9.1 приведено количество переданных за минуту
информационных пакетов и АСК-пакетов (для нормального соединения). Как видно, в сегменте Local Ethernet количество пройденных в минуту TCP-па-
кетов (так же, как и АСК-пакетов) сильно колеблется. В то же время количество
Telnet-пакетов изменяется довольно слабо. Так как сеанс Telnet, по определению, является интерактивным сеансом, то стабильность количества пакетов объясня­ется тем, что сервер должен отображать на экране клиента и подтверждать каж­дый введенный символ. В сеансе Telnet количество передаваемой информации не так уж велико — ведь каждый пакет содержит только один символ или одну строку текста. Благодаря этому намного уменьшается количество утерянных па­кетов. Если посмотреть на передачу данных в соединении Fast Ethernet, то мож­но увидеть ту же картину. Эта стабильность вызвана большой нагрузочной спо­собностью Fast Ethernet.
Однако ситуация резко изменяется во время атаки. В таблице 9.2 показано, как изменяется соотношение пакетов во время атаки Telnet.
В таблице 9.2 локальное соединение означает соединение, в котором участвует небольшое количество промежуточных компьютеров. Другими словами (см. гла­ву 2), сервер и клиент расположены в нескольких транзитных участках друг от друга. Округленное время передачи (RTD — Round Trip Delay) такого соедине­ния составляет около трех миллисекунд. Например, такое соединение может возникнуть, если между клиентом и сервером расположено не более четырех близко стоящих (в пространстве) серверов. Как видно из таблицы, во время атаки количество пакетов изменяется достаточно сильно. Несмотря на разброс количество почти равняется полному количеству пакетов Telnet. Как видно, почти весь трафик создается пакетами подтверждения.
ПРЕДОТВРАЩЕНИЕ постлесинхронизациошь АТАКИ ПЕРЕХВАТА ПАКЕТОВ
В настоящее время единственными методами борьбы против активной атаки на сеанс Telnet являются схема зашифрованных сообщений Kerberos (расположен­ная на уровне приложений) и TCP с реализацией шифрования (расположенный на транспортном уровне). (Система Kerberos будет подробно описана в главе 10.) Шифрование передаваемых данных не является идеальной защитой от посторонне­го вмешательства. Однако эта мера предосторожности намного затрудняет дейст­вия хакера. Кроме того, вы можете воспользоваться цифровыми подписями, что еще более усложняет перехват и изменение данных в реальном режиме времени.
ЕЩЕ один МЕТОД НАБЛЮДЕНИЯ: маскировочна АТАКА
К этому моменту у вас уже должны быть базовые понятия об активной атаке наблюдения. В этом разделе я расскажу о маскировочной атаке. Для ее проведе­ния хакер посылает серверу пакет SYN (синхронизация), используя в качестве IP-адреса адрес клиента. Этот IP-адрес должен принадлежать надежному хосту. В ответ сервер должен послать пакет подтверждения SYN/ACK, в котором нахо­дится такая строка:
Получив этот пакет, хакер посылает серверу подтверждение о его принятии; в отправляемом пакете находится предполагаемое значение SVR_SEQ_0 (значение последовательности). В этом случае хакеру не нужно просматривать пакеты кли­ента в поисках информации о значении последовательности сервера. У маскиро­вочной атаки есть два существенных недостатка:
1. Получив от сервера пакет клиент, под которого маскируется хакер, может послать серверу пакет RST (переустановка) — ведь, с его точки зрения, никакого сеанса не существует. Теоретически хакер может избавиться от этого пакета, если атака будет проводиться тогда, когда настоящий клиент не работает в сети. Кроме того, он может перегрузить очередь TCP-сообщений клиента (атака десинхронизации при помощи ну­левых данных), и клиент попросту потеряет это сообщение.
2. Хакер не может получить данные с сервера. Однако он может посылать данные, а это, согласитесь, уже не мало.
Существует четыре принципиальных различия между маскировочной атакой и постдесинхронизационной атакой перехвата пакетов:
1. При помощи постдесинхронизационной атаки перехвата пакетов хакер
может управлять этапом идентификации соединения. В то же время мас­кировочная атака построена на схеме идентификации надежного хоста.
2. При помощи постдесинхронизационной атаки перехвата пакетов хакер по­лучает полный доступ к дуплексному потоку данных. Другими словами, хакер может как получать, так и отправлять данные. В маскировочной атаке нет возможности получать данные (однако можно их посылать).
3. В постдесинхронизационной атаке перехвата пакетов для предсказания или получения значения SVR_SEQ_0 используется предварительная атака наблюдения.
атаку перехвата пакетов можно проводить на любом типе хоста. Маскировочная атака (в силу своей зависимости от Unix-модели надежного хоста) может применяться только на Unix-хостах.
Однако если пользователь использует режим offline или по каким-либо причинам не может послать пакет RST, то хакер может провести маскировочную атаку для создания дуплексного TCP-соединения с сервером. В этом случае хакер посылает и принимает данные от имени клиента. Конечно же, ему придется пройти и че­рез идентификацию. Но если в системе используется метод идентификации, осно­ванный на надежных хостах (вроде NFS [Network File System] или Unix-команды rlogin), то у хакера есть все шансы получить полный доступ к службам хоста.
Несмотря на то, что атаки перехвата пакетов довольно легко детектируются, они достаточно эффективны в длинных соединениях, каналах с малой пропускной способностью, сетях с большими задержками (на­пример, в корпоративных глобальных вычислительных сетях). Более того, для проведения постдесинхронизационной атаки перехвата пакетов хакеру достаточ­но ресурсов, необходимых для проведения пассивной атаки наблюдения — са­мой распространенной угрозы Internet. И постдесинхронизационные атаки пе­рехвата пакетов, и маскировочные атаки обладают еще одним неоспоримым преимуществом: они невидимы для пользователя. Дело в том, что сейчас прак­тически любой пользователь сети знает о потенциальной угрозе и использует те или иные средства безопасности. А что уж говорить о корпоративных сетях с целым штатом администраторов. Поэтому невидимость атаки — это еще один шаг к «победе».
ПОДРОБНОСТИ ПОДМЕНЫ
Протоколы TCP и UDP неявно предполагают, что допустим IP-адрес любого хоста, и поэтому в них не включена проверка адресов. Однако это допущение помогает хакеру замаскировать свой хост. Для этого достаточно воспользоваться чужим IP-адресом. При помощи IP-маршрутизации ресурса хакер может указать прямой маршрут к пункту назначения и маршрут возврата. Этот маршрут дол­жен содержать не используемые в обычных ситуациях маршрутизаторы или хос­ты. Таким образом, хакер может перехватить или даже изменить передаваемые данные, даже не пакеты, направленные к нужному хосту. Далее при-
водится пример того, как система хакера может замаскироваться под определен­ного надежного клиента:
Хакер должен изменить IP-адрес маскируемого хоста так, чтобы тот соот­ветствовал адресу реального клиента.
После этого хакер должен создать маршрут источника, ведущий к серве­ру. В этом маршруте нужно указать прямой путь перемещения пакетов к серверу, а затем — к хосту хакера. При этом надежный клиент использу­ется в качестве последнего транзитного участка в маршруте к серверу.
При помощи маршрута источника хакер посылает запрос клиента серверу.
Сервер принимает запрос так, как будто тот пришел непосредственно от надежного клиента. Затем он посылает этому клиенту ответ.
При помощи маршрута источника надежный клиент пересылает ответ хо­сту хакера.
Многие Unix-хосты принимают пакеты с маршрутом источника и передают их так, как указано в этом маршруте. Многие маршрутизаторы также принимают пакеты с источника. Однако можно настроить маршрутизаторы так, чтобы они блокировали такие пакеты. показано, как проводит­ся атака наблюдения.
Наиболее простой метод наблюдения заключается в хакер ожидает до тех пор, пока система клиента не завершит свою работу, и после этого стара­ется замаскироваться под эту систему. Сотрудники многих организаций исполь­зуют компьютеры и сети TCP/IP для соединения друг с другом и использования Unix-хостов в качестве серверов LAN. Нередко для доступа к каталогам и фай­лам сервера в персональных компьютерах используется NFS. (В NFS для иден­тификации клиента используется только его IP-адрес.) Таким образом, хакер может представиться в качестве настоящего пользователя сервера, присвоить хосту IP-адрес другого компьютера, а после этого создать соединение с Unix-хостом. Как видно, хакер может достаточно легко провести атаку наблюдения. Более того, провести подобную атаку могут только члены организации, так как только они знают, какие сетевые компьютеры уже завершили свою работу.

 

На главную | Содержание | Назад | Вперёд
 
Яндекс.Метрика