Защита от хакеров корпоративных сетей
Шрифт:
Общепринята методика посылки ответа на принятые данные для проверки истинности сетевого адреса отправителя. Многие с большой охотой обращают внимание на адреса отправителей как на средство обеспечения неприкосновенности сетей и подавления атак фальсификации. Всегда найдется сеть, которая будет утверждать, что она лишь передала произвольный пакет, хотя на самом деле она породила его.
Для обработки подобной ситуации во многих протоколах предусмотрена попытка аннулирования подложного адреса отправителя посредством передачи ответного сигнала предполагаемому отправителю пакета. Если предполагается передача ответа, содержащего некоторые сведения о принятом сигнале, то это подразумевает некоторую форму интерактивного взаимодействия.
В протоколе TCP данный уровень
Если на сетевом уровне рассматривать направленную против сети фальсификацию, целью которой является нейтрализация способности системы ответить на переданные ей данные, то существуют два типа атаки спуфинга: спуфинг вслепую и активный спуфинг (active spoofs). При спуфинге вслепую злоумышленник имеет смутные представления о входящем и выходящем трафиках атакуемого хоста (в особенности относительно неопознанных им переменных, с помощью которых протоколом предусмотрен ответ получателя данных их отправителю). При активном спуфинге у злоумышленника, по крайней мере, есть возможность прослушивания выходного трафика атакуемого хоста и, вероятно, возможность влиять в той или иной мере на трафик. Эти два вида атаки далее будут обсуждены отдельно.
Спуфинг вслепую. Для типовой реализации атаки спуфинга вслепую более чем достаточно того, что было сказано в главе ll по поводу перехвата сеанса. Но чисто теоретически спуфинг вслепую преследует одну цель – найти способ предсказания изменений значения прогнозируемой переменной, а затем установить столько возможных соединений, сколько протокол может выдержать, и случайным способом правильно выбрать одно из них для успешного ответа на данные, которые никогда не были получены.
Одним из наиболее интересных результатов, полученным при развитии спуфинга вслепую, является открытие способов сканирования удаленных хостов вслепую. Конечно, невозможно проверить соединение с выбранным хостом или портом без посылки ему пакета и анализа на него реакции (нельзя заранее знать реакцию на пакет, который фактически не был отправлен), но сканирование вслепую позволяет исследовать ничего не подозревающий хост без его ведома. Попытки установления соединения проводятся обычным способом, но если они исходят от другого компьютера, так называемого компьютера зомби, то они фальсифицированы. Подобные зомби имеют связь с Интернетом, которая практически ими не используется, как, например, забытый всеми сервер. Поэтому злоумышленник может предполагать, что весь входящий и исходящий трафик этого зомби является результатом его косвенных или непосредственных действий.
Конечно, косвенный трафик является результатом возврата зомби пакетов исследуемому хосту.
При сканировании вслепую исследуемый хост должен как-то знать о получении зомби его положительных ответов. Антирез (Antirez) обнаружил способ узнать об этом, который был реализован хакером Федором (Fyodor) при построении сетевых схем nmap в виде опции —si. В открытом Антирезом (Antirez) способе используется поле IPID. На уровне протокола IP
Существенным является то, что зомби посылает пакет RSTIACK каждый раз, когда злоумышленник находит у атакуемого хоста открытый порт. При каждой посылке этого пакета установленная на машине зомби операционная система увеличивает счетчик поля IPID на l. Злоумышленник может исследовать зомби до и после попытки установления соединения с хостом. И если поле IPID будет увеличено на большее число раз, чем зомби прислал злоумышленнику пакетов, то злоумышленник может предположить, что зомби после получения пакетов от атакуемого хоста SYNIASK ответил ему пакетами RSTIACK.
Таким образом, атакуемый хост может быть исследован без всякого согласия с его стороны. Он может даже и не подозревать об его изучении. В то же время злоумышленник может использовать произвольный хост Интернета для маскировки своей деятельности.
Сканирование вслепую тривиально осуществить при помощи nmap. Достаточно в командной строке указать опцию – sI zombie_host: port target: port и ждать. Более подробные сведения можно найти по адресу www.bursztein.net/secu/temoinus.html.
Активный спуфинг. Большинство переменных запросов при наличии возможности перехватить их заведомо могут стать жертвой спуфинга. Предполагая, что только законные доверенные хосты могут прислать ответ, читатель тем самым демонстрирует свою неправоту. Несанкционированный пользователь при помощи найденного им способа активного поиска может обнаружить запрос, а затем ответить на него. Тем самым он кому-то что-то доказал, выполнив никому не нужную трудоемкую работу.
Чуть более интересным представляется вопрос модуляции потока данных, передающегося по каналам связи. Сама по себе способность к передаче данных еще не предоставляет больших возможностей по управлению их содержимым. Можно создать помехи передаваемым сигналам и подавить их (особенно это относится к передаче данных по радиоканалу). Как правило, способность к передаче данных еще не подразумевает возможности понять, передает ли кто-либо еще что-нибудь. Фальсификация ответа является нечто большим. Возможность определить, что следует передать в ответ, подразумевает более сложную способность прочитать передаваемые биты (в противоположность чтения простых служебных бит, описывающих возможное время и место передачи данных).
Сказанное не означает возможности ответить на все, что передается по каналу связи. Как правило, способность ответить присутствует у многих явлений, но для передачи содержательных данных ее значение минимально. Активная деятельность на уровне битов на носителе данных может включать следующие дополнительные возможности:
• возможность прослушивать некоторые или все необработанные биты данных или пакеты в уже существующем потоке данных. Существенно, что в данном случае дополнительные данные не передаются, но на переданные данные отвечают или данными, которые ранее были сохранены на локальном хосте, или передают их по другому соединению;