Коллектив авторов - Защита от хакеров корпоративных сетей
И самое плохое. В случае использования межсетевого экрана Cisco PIX с отсутствующей опцией norandomseq порядковые номера, которые нужны для ответа каждому пакету TCP, становятся непредсказуемыми при переходе от одной сессии к другой. Поскольку порядковые номера занимают 32 бита, то потребуется 16 бит энтропии (65 000 попыток) для достижения пятидесятипроцентного шанса получения пакетов SYMIACK. Автору остается только пожелать читателю удачи в этом начинании.
Конечно, по-прежнему остается нерешенным один из самых больших вопросов. Как раньше использовали рассмотренные системы? Наиболее вероятной причиной того, что способ обреченного установления связи не был разработан ранее, является то, что раньше это было невозможно. Нет никаких параметров сокета, которые позволяют определять, когда пакет должен прекратить свое существование. Уже не говоря о параметрах, которые бы точно определяли все выполняемые компоненты процедуры установления связи. Этого не было до второй половины 90-х годов, когда стало очевидным, что простое нападение на сайт большим числом запросов на соединение (лавиной пакетов SYN) от несуществующих хостов (которые не отвечают пакетами RSTIACK) явилось причиной проблем большинства сетевых стеков. Доступные инструментальные средства определяют технологию. Даже если несовершенные инструментальные средства к настоящему времени устарели, автор все еще не знает ни о каких системах, которые составили бы альтернативу ядру операционной системы при выполнении функций сетевых сервисов. Программа DoxRoute является первым и действительно внушающим доверие средством тонкой настройки сетевого трафика. Наиболее вероятно, что первыми системами, реализующими обсужденные в секции способы, будут решения в стиле программы DoxRoute с использованием библиотек libnet/libpcap. Хотя могут быть и другие решения.
Как говорят, все течет, все меняется.
Резюме
В результате спуфинга до одного пользователя сети доводится фальсифицированная информация о данных идентификации другого пользователя, что позволяет последнему получить неавторизованный доступ к системе. Классическим примером спуфинга является спуфинг IP-протокола. Протоколы TCP/IP требуют, чтобы каждый хост указал в заголовке пакета адрес отправителя (собственный адрес), но практически нельзя на месте уличить хост во лжи, запретив ему записывать неверные данные. Спуфинг всегда преднамерен, он никогда не бывает случайным. Однако то, что некоторые сбои и ошибки в настройке программ вызывают точно такой же эффект, как и преднамеренный спуфинг, затрудняет определение целей содеянного. Если в силу каких-либо причин администратор сети захочет намеренно нанести обслуживаемой сети ущерб, то, как правило, он сможет правдоподобным образом объяснить свои поступки.
Существуют атаки спуфинга вслепую и атаки информированного спуфинга. При спуфинге вслепую атакующий может только посылать пакеты и должен предполагать или угадывать последствия своих действий. В случае информированного спуфинга злоумышленник может контролировать соединение, активно участвуя в двухстороннем соединении. Воровство учетных записей с параметрами доступа жертвы, то есть его имени и пароля, обычно как спуфинг не рассматривается, но предоставляет большинство его преимуществ.
Спуфинг не всегда злонамерен. Некоторые избыточные сетевые схемы полагаются на автоматизированный спуфинг, для того чтобы завладеть идентификационными данными вышедшего из строя сервера. Это возможно благодаря тому факту, что сетевые технологии никогда не отчитывались в своих потребностях, и поэтому им свойственна жестко запрограммированная концепция одного адреса, одного хоста.
В отличие от человеческих характеристик, которые люди используют для опознания друг друга и которые они считают легкими для использования и трудными для подражания, компьютерные данные легко фальсифицировать. Их можно сохранять и запоминать, классифицировать и анализировать, копировать и повторять самым совершенным и изощренным способом. Все взаимодействующие системы, люди или компьютеры используют способность предъявлять идентификационные данные для определения участников взаимодействия. Диапазон этих способностей очень широк. Им соответствуют как простые, так и сложные способы обеспечения безопасности.
Известны технологии, которые могут оказаться полезными для противодействия фальсификации способности систем предъявлять идентификационные данные для опознания. К ним относятся межсетевые экраны, которые позволяют защититься от передачи неавторизованных данных, разнообразные криптографические способы обеспечения различных уровней идентификации. Хорошую службу может сослужить недоверие к недокументированным протоколам передачи данных как механизму обеспечения безопасности (нет безопасности через завесу секретности).
Изысканные атаки гораздо эффективнее явных нападений. В этом смысле спуфинг опаснее явной атаки. В основе спуфинга лежит маскировка под пользующегося доверием отправителя, которая увеличивает шансы атаки остаться незамеченной.
Если в атаках спуфинга предусмотрена имитация случайных отказов как составная часть их коварного плана, то зачастую пользователь будет думать, что это обычные проблемы повседневной эксплуатации. Время от времени маскируясь таким образом, можно управлять поведением пользователей.
Главным классом атак спуфинга являются атаки, направленные на отключение защиты и фальсификацию канала передачи информации о нормальном положении дел в области защиты. Простым отображением правильных пикселов в нужной области экрана можно имитировать активизацию протокола SSL, хотя эти пикселы не имеют никакого отношения к работе протокола SSL и только создают видимость благополучного сайта. Люди не всегда знают, что внешне хорошо сделанный сайт можно взломать. Тем не менее большинство прекрасно выглядящих вещей трудно подделать.
При реализации систем спуфинга часто бывает полезным сесть и повторно реализовать искомые решения наиболее простым способом, преднамеренно избегая многих сложностей реальных систем. Следуя этим путем, можно достигнуть того, что ныне недоступно современным системам в силу их ограничений.
При скрупулезном анализе организации сетевого взаимодействия при помощи пакетов была найдена одна важная особенность. Она имеет отношение к двум хостам, у которых есть возможность установить мостовое соединение. Они могут инициировать соединение, никогда не устанавливая его. Можно добиться симметричности двух исходящих соединений с помощью попыток инициализации обреченных исходящих соединений, со сбрасывающимся в ноль счетчиком предписанного времени жизни TTL в середине сети, а также с последующим принуждением брокера подключения воспользоваться оставшимся входом в таблице состояний. Возникают серьезные проблемы при выяснении сути трансляции сетевых адресов. При этом все труднее становится контролировать выбор порта отправителя. Потребуется еще много исследований для нахождения наилучшего варианта использования недавно открытых способов.
Изучение идентификационных данных захватывает. Идентификационным данным отводится центральное место в атаках спуфинга. Но они имеют самостоятельное значение. Эти данные являются наиболее важным стандартом безопасного взаимодействия и наиболее непризнанной и недооцененной потребностью. Их трудно найти, легко потребовать, невозможно доказать, но им неизбежно нужно доверять. Можно совершать ошибки. Вопрос состоит в том, можно ли спроектировать системы, которые переживут эти ошибки?
Автор желает читателю максимальной удачи при работе со своими системами.
Конспект
Определение спуфинга
· Мерике Кеао (Merike Keao) утверждает, что атаки спуфинга «обеспечивают ложную информацию об идентификационных данных для получения неавторизованного доступа к системе».
· Атаки спуфинга – это нападения, которые фальсифицируют идентификационные данные. Они возможны на всех уровнях обмена данными. Эти атаки ориентированы на управление намерениями пользователя, возможно, с использованием части мандатов, но не на полный или законный доступ. Спуфинг – это еще не предательство. В нем нет ничего нового.
· Спуфинг не всегда злонамерен. Некоторые способы организации сети, как, например, доступ универсальных машин в Интернет или работоспособность большого числа Web-сайтов, основаны на том, что иногда квалифицируется как спуфинг.
Теоретические основы спуфинга
· Доверие свойственно человеку, и люди с древних пор знают об его уязвимости. Это открытие датируется эпохой Декарта, а скорее всего, еще более ранней.
· Доверие необходимо и неизбежно. Можно доверять чему-нибудь и кому-нибудь, но нельзя ничему и никому не доверять. Тем самым можно скатиться обратно к суеверию и личному удобству в оценке реальности. Мы не можем доверять всему, но мы должны довериться чему-либо и кому-либо. Поэтому жизнь заставляет решать постоянную задачу поиска того, чему и кому доверять.