Коллектив авторов - Защита от хакеров корпоративных сетей
Автор желает читателю максимальной удачи при работе со своими системами.
Конспект
Определение спуфинга
· Мерике Кеао (Merike Keao) утверждает, что атаки спуфинга «обеспечивают ложную информацию об идентификационных данных для получения неавторизованного доступа к системе».
· Атаки спуфинга – это нападения, которые фальсифицируют идентификационные данные. Они возможны на всех уровнях обмена данными. Эти атаки ориентированы на управление намерениями пользователя, возможно, с использованием части мандатов, но не на полный или законный доступ. Спуфинг – это еще не предательство. В нем нет ничего нового.
· Спуфинг не всегда злонамерен. Некоторые способы организации сети, как, например, доступ универсальных машин в Интернет или работоспособность большого числа Web-сайтов, основаны на том, что иногда квалифицируется как спуфинг.
Теоретические основы спуфинга
· Доверие свойственно человеку, и люди с древних пор знают об его уязвимости. Это открытие датируется эпохой Декарта, а скорее всего, еще более ранней.
· Доверие необходимо и неизбежно. Можно доверять чему-нибудь и кому-нибудь, но нельзя ничему и никому не доверять. Тем самым можно скатиться обратно к суеверию и личному удобству в оценке реальности. Мы не можем доверять всему, но мы должны довериться чему-либо и кому-либо. Поэтому жизнь заставляет решать постоянную задачу поиска того, чему и кому доверять.
Эволюция доверия
· Человеческое доверие случайно.
· Говорящий случайно отождествляет собственный голос с произносимыми словами.
· Прикосновение случайно устанавливает связь между отпечатками собственных пальцев и поверхностей, которых они коснулись.
· Перемещение случайно связывает человека с любым другим, кто случайно его увидел.
· Человеческое доверие асимметрично.
· Способность распознать голос человека еще не означает возможности его имитации при разговоре с кем-либо.
· Способность распознать отпечатки пальцев не означает возможности поменять свои пальцы на чьи-то другие.
· Способность узнать человека по его внешности не подразумевает возможности стать полностью похожим на него.
· Человеческое доверие универсально.
· У человека нет возможности выбрать голос, отпечатки пальцев или уникальное лицо.
· Мы не доверяем легкокопируемым вещам, например популярным афоризмам или одежде.
Установление идентичности в компьютерных сетях
· Все переданные по компьютерной сети биты явно выбираются и одинаково видимы, их можно перезаписать и повторить с необходимой точностью.
· Нельзя доверять случайной передаче данных в сети, хотя можно использовать случайное поведение для тайного обнаружения рабочего окружения удаленного хоста.
· Универсальная способность законных хостов обмениваться данными означает возможность использования асимметрии в данных для установления доверительных отношений с удаленным хостом.
Способность сомневаться
· Способность к передаче: «Система может разговаривать со мной?» Иной раз при рассмотрении межсетевых экранов и недоверенных хостов ничего не говорится об их способности передавать данные по линиям связи.
· Способность ответить: «Система может мне ответить?» Идея распространенного во многих протоколах первого рубежа защиты основана на том, что хосты, которым не следует доверять, не получат маркера (предопределенную комбинацию битов), который позволил бы им получить ответ от доверенного хоста.
· Способность к кодированию: «Система может говорить на моем языке?» Наиболее опасный рубеж обороны. Он терпит катастрофу, когда идея его построения основана на предположении о незнании недоверенными хостами правил разговора по выбранному протоколу (хотя нет особой тайны в том, что будет сказано).
· Способность доказывать знание разделяемого секрета: «Есть ли секретные данные, известные как мне, так и системе?» Наиболее общий рубеж защиты, к которому относятся пароли. К сожалению, этот рубеж легко преодолевается злоумышленником сразу после того, как пароли станут использоваться коллективно.
· Способность подтвердить секретный ключ криптографической пары: «Я могу распознать ваш голос?» Этот уровень используется PGP и SSL. Он позволяет свободно распространять общедоступный ключ ключевой пары. Одновременно с этим личные и критические операции по расшифровке и подписи данных могут оставаться в безопасности.
· Способность подтвердить подлинность криптографической пары: «Ключевая пара представляет идентичность системы независимым образом?» Используемая SSH и DROP способность подтвердить подлинность криптографической пары предотвращает компрометацию нынешних данных в будущем. Единственное, что должно сохранять свою силу в течение длинного периода времени, – это ключ данных идентификации. Все остальное, включая пароль, используемый для шифрования симметричных ключей, имеет меньшее значение.
Обман пользователей настольных компьютеров
· Автообновление приложений прокалывает дыры в защите сети межсетевыми экранами. Оно позволяет выполнить код, присланный недоверенными хостами, часто вообще без всякой проверки.
· Запрет на патчи систем клиента и их постоянная уязвимость взаимно исключают друг друга.
Эффект обмана
· Для уязвимости характерно, что кто-то может воспользоваться преимуществом различия между тем, чем что-либо является, и тем, чем оно кажется. С другой стороны, обман извлекает выгоду из различия между тем, что кто-то посылает кое-что, и тем, что кто-то, кажется, посылает это. Различие очень важное, потому что в основе наиболее бесчеловечных атак спуфинга лежит не только маскировка идентичности злоумышленника, но и сам факт его нападения.
· Вызывая неустойчивые отказы в нескомпрометированных системах, пользователи могут быть переадресованы к скомпрометированным системам. Обман заключается в том, что пользователи полагают, что причина нестабильности работы системы кроется в ней самой, и самостоятельно решают заменить ее.
· Протокол SSL может быть фальсифицирован с помощью способа, состоящего из трех шагов. Во-первых, увеличение длины URL для запутывания фактического адреса во всплывающем диалоговом окне. Во-вторых, создание строки состояния с включенным признаком «блокировки SSL» и выделение в самостоятельный элемент произвольного, но заслуживающего доверия с точки зрения графики, содержимого окна, j накладываемого на основную экранную форму. В-третьих, для большого правдоподобия может быть определен размер полноэкранного всплывающего прямоугольного окна без обеспечиваемых операционной системой границ или рамок. Впоследствии, по капризу удаленного сервера, они могут быть добавлены.
Малоизвестные подробности: разработка систем спуфинга
· Прямой доступ к сетевым ресурсам характеризуется минимальными ограничениями на данные, передаваемые по проводным каналам связи. Когда пытаются проектировать системы, которые скорее опровергают общепринятые правила, чем чрезмерно следуют им, то это может привести к удивительным по своей эффективности результатам.
· Своим существованием библиотека Libnet доказывает возможность построения эффективного, переносимого с платформы на платформу инструментального средства генерации и посылки фальсифицированных пакетов по проводным каналам связи. Одновременно библиотека libpcap предоставляет противоположные функциональные возможности приема пакетов из канала связи. Комбинация названных инструментальных средств работает вполне прилично.
· Маршрутизатор, реализующий основные функции маршрутизации, должен отвечать на ARP-запросы разрешения «несуществующего» IP-адреса и выдавать ARP-ответы, обслуживающие «несуществующий» MAC-адрес аппаратного устройства, который перехватывает приходящие пакеты. Адресованные маршрутизатору пакеты утилиты ping могут быть перехвачены на месте и отосланы ей обратно. Что-либо еще, адресованное по правильному МАС-адресу, может рассматриваться как нечто, предназначенное для дополнительной сети. Конечно, рассмотренный маршрутизатор сильно упрощен, но тем не менее его можно реализовать.
Часто задаваемые вопросы
Вопрос: Есть ли хорошие решения противодействия спуфингу?
Ответ: Существуют решения, которые могут внести существенный вклад в предотвращение определенных типов спуфинга. Например, реализованный должным образом протокол SSH является хорошим решением удаленного терминала. Но ничто не совершенно. Протокол SSH уязвим к атакам типа «злоумышленник посередине», например во время первого обмена ключами. Если обеспечить безопасность получения ключей в первый раз, то об изменении ключей в последующем будет сообщено. Другой большой проблемой использования основанных на криптографии решений является централизованное распределение и управление ключами. Эта проблема уже обсуждалась в главе.