Защита вашей сети от поддельных IP-пакетов

Опубликовано: 24 Марта, 2023


Зашифрованные файлы в сети


Давайте представим на мгновение, что вы используете шифруемую файловую систему (EFS) для шифрования всех файлов, находящихся на определенном сервере. Теперь давайте представим, что пользователю с законным доступом нужно открыть один из этих файлов на своей рабочей станции. Когда пользователь открывает файл, безопасность ненадолго нарушается. Причина этого в том, что файл должен перемещаться по сети. Это проблема, поскольку когда пользователь получает доступ к зашифрованному файлу, файл расшифровывается на уровне сервера, а не на уровне рабочей станции. Это означает, что файл был расшифрован еще до того, как попал на компьютер пользователя. Любой пользователь сети, обладающий небольшими знаниями, может использовать анализатор протоколов для перехвата файла в пути и получения доступа к информации, содержащейся в файле.


Причина, по которой этот тип эксплойта работает, связана с тем, как работает сеть на самом базовом уровне. Во многих типах сетей все компьютеры в сетевом сегменте используют общую среду соединения. Когда компьютер передает пакет другому компьютеру, все компьютеры сегмента получают пакет. Каждый компьютер проверяет адрес назначения пакета, чтобы определить, является ли он предполагаемым получателем пакета. Если адрес назначения не совпадает с адресом компьютера, то компьютер предполагает, что пакет предназначен для кого-то другого, и игнорирует пакет.


Анализаторы протоколов


Однако, когда на компьютере запущен анализатор протоколов, анализатор протоколов переводит сетевую карту компьютера в неразборчивый режим. Это означает, что компьютер не игнорирует пакеты независимо от предполагаемого адресата. Затем анализатор протокола отображает содержимое каждого пакета на экране. Все анализаторы протоколов разные, но в большинстве случаев анализаторы протоколов позволяют пользователям отфильтровывать нежелательные пакеты и реконструировать потоки пакетов. В результате пользователь, запустивший анализатор протокола, может получить собственную копию передаваемого файла, прочитать сообщения электронной почты и сделать практически все, что захочет.


Очевидно, мысль о том, что пользователь в вашей сети может использовать анализатор протоколов для отслеживания содержимого пакетов, проходящих через сеть, не совсем утешительна. Однако на самом деле ущерб, который пользователь может нанести с помощью анализатора протоколов, намного больше, чем то, о чем я вам уже говорил. Да, пользователь, оснащенный анализатором протокола, может украсть файлы в пути, прочитать электронную почту, просмотреть содержимое веб-страницы, которую вы просматриваете, и тому подобное, но он также может украсть вашу сетевую личность.


Кража личных данных


Подумайте об этом на мгновение. Файлы, сообщения электронной почты и веб-страницы — не единственное, что передается по сети. Учетные данные аутентификации также передаются по сети. Представьте на мгновение, что вы входите на FTP-сайт. При вводе пароля пароль не отображается на экране. Вместо каждого символа вы видите точку или звездочку. Однако, как только вы нажмете ввод, ваш пароль будет передан на FTP-сервер. Если кто-то наблюдает за процессом входа в систему с помощью анализатора протокола, он не увидит ваш пароль в виде точек или звездочек. Они увидят ваш пароль в виде обычного текста.


Хорошо, честно говоря, украсть пароль не всегда так просто. Общий FTP-сеанс передает пароль в виде открытого текста, но большинство современных механизмов аутентификации шифруют пароль перед передачей. Когда сервер получает пароль, он расшифровывается и проверяется на точность. Если бы вы наблюдали за передачей зашифрованного пароля, анализатор протокола не показал бы вам ничего, кроме длинной строки иероглифов.


Хорошей новостью является то, что шифрование пароля затрудняет, если не делает невозможным, его кражу с помощью анализатора протоколов. Плохая новость заключается в том, что пользователю не нужно красть пароль. Пользователь может украсть вашу личность с помощью повторной атаки.


Повторить атаку


Вот как это работает. Человек с анализатором протокола распознает пакет проверки подлинности, но не может прочитать содержащийся в нем пароль, поскольку пароль зашифрован. Однако то, что пароль зашифрован, не означает, что пароля нет. Пакет по-прежнему содержит пароль, и этот пароль существует в форме, совершенно приемлемой для сервера, аутентифицирующего пароль. В этом случае пользователь делает копию пакета проверки подлинности и изменяет исходный адрес пакета, чтобы он соответствовал адресу компьютера, который он использует. Затем они используют анализатор протокола для передачи измененного пакета проверки подлинности на сервер, который обрабатывает проверку подлинности для сети. Сервер получает пакет и видит, что он содержит допустимый набор учетных данных для аутентификации. Поэтому сервер предполагает, что пользователь, чья личность была только что украдена, вошел в систему на машине хакера. Проще говоря, хакер входит в систему как пользователь, чью личность он украл, и ему даже не нужно было выяснять пароль жертвы, чтобы сделать это.


Поскольку хакер выдает себя за законного пользователя, всегда есть шанс, что пользователь, чья личность была украдена, сможет войти в систему, в то время как хакер вошел в систему как он. Иногда хакер запускает атаку типа «отказ в обслуживании» против пользователя, которого он выдает за себя. Это удерживает жертву от входа в систему до тех пор, пока хакер не закончит свою работу.


Как защитить сеть?


Итак, я думаю, что вопрос на миллион долларов заключается в том, как вы можете защитить свою сеть от такого типа атак? Есть несколько разных вещей, которые вы можете сделать. Первое, что вам нужно сделать, — это создать систему для обнаружения любого, кто использует анализатор протоколов в вашей сети. Сначала может показаться невозможным поймать кого-то с помощью анализатора протоколов, поскольку анализатор протоколов пассивно прослушивает сетевой трафик.


Приманка


Ключ к тому, чтобы поймать кого-то с помощью анализатора протоколов, — это следить за разрешениями DNS-имен. Вы можете настроить приманку в своей сети. На самом деле машине не нужно ничего делать, кроме как запускать Windows. Загвоздка в том, что вы не должны никому говорить о существовании этой машины. Поскольку никто не знает, что машина существует и машина ничего не делает, то ни у кого не должно быть причин связываться с машиной. Однако, поскольку машина работает под управлением Windows, она время от времени будет отправлять пакеты. Обычно машины в вашей сети совершенно не обращают внимания на этот пакет. Однако анализатор протоколов заметит, что трафик исходит от неизвестного хоста в сети. Затем анализатор протокола выполнит DNS-запрос, чтобы попытаться определить личность машины. Как правило, ни у кого не должно быть причин делать DNS-запросы относительно вашей машины-приманки, поэтому такие типы запросов почти всегда указывают на то, что кто-то использует анализатор протоколов или другой инструмент для взлома.


IPSec


Еще один способ защитить свою сеть от подобных атак — использовать IPSec для шифрования сетевого трафика. Я уже показал вам, как можно обойти шифрование, так что вам может быть интересно, чем отличается IPSec.


Разница в том, что вся работа IPSec заключается в защите данных, проходящих по сети. Еще до того, как сеанс может быть зашифрован, IPSec настаивает на взаимной аутентификации. Это означает, что если компьютер A хочет безопасно передать пакет компьютеру B, IPSec потребует, чтобы обе машины подтвердили свою личность, прежде чем он разрешит сеанс.


IPSec также принимает меры для предотвращения подделки пакетов в пути. Ранее я объяснял, как хакер может изменить исходный адрес пакета. Однако хакер может изменить гораздо больше, чем просто адрес пакета. Например, представьте, что хакер знал, что компьютер А собирается отправить важное сообщение электронной почты на компьютер Б. Хакер может запустить атаку типа «отказ в обслуживании» на компьютер Б, чтобы помешать ему получить сообщение. Тем временем хакер перехватывает сообщение и изменяет его, чтобы оно выглядело так, будто парень на компьютере А сказал что-то совершенно иное, чем то, что было сказано в исходном сообщении. Затем хакер завершает атаку типа «отказ в обслуживании» против компьютера B и отправляет модифицированные пакеты. В результате человек на компьютере B получает мошенническое сообщение электронной почты, которое выглядит подлинным.


IPSec может защитить от модификации пакетов. IPSec вычисляет значение контрольной суммы на основе исходного содержимого пакета. Если пакет изменен, то значение контрольной суммы становится недействительным, и IPSec узнает, что пакет был подделан.


IPSec даже защищает от повторных атак. Каждому пакету IPSec присваивается порядковый номер. Если хакер попытается воспроизвести зашифрованный пакет IPSec, то порядковый номер не будет соответствовать текущей последовательности пакетов, и IPSec узнает, что пакеты недействительны.


Как видите, развертывание IPSec в вашей сети может значительно повысить безопасность вашей сети. Прежде чем вы решите развернуть IPSec, вам нужно знать несколько вещей. Во-первых, IPSec требует, чтобы в вашей сети был установлен сервер сертификатов. Windows Server 2003 можно настроить для работы в качестве центра сертификации, но вам потребуется выделенный сервер. Технически выделенный сервер не является абсолютным требованием для центра сертификации, но запуск любых других служб на сервере сертификатов — крайне плохая идея с точки зрения безопасности.


Еще одна вещь, которую вам нужно знать, это то, что IPSec создает дополнительную нагрузку на вашу сеть. Дополнительные циклы ЦП необходимы для выполнения процесса шифрования и дешифрования, а шифрование IPSec обычно увеличивает объем трафика, проходящего через вашу сеть. Однако одним из способов облегчения этой дополнительной нагрузки является использование сетевых карт с поддержкой IPSec. Эти сетевые карты разгружают процесс шифрования и дешифрования с центрального процессора машины.


И последнее, что вам нужно знать об IPSec, это то, что не каждая операционная система поддерживает его. IPSec был впервые представлен в Windows 2000. Более старые операционные системы Windows не поддерживают IPSec.


Вывод


В этой статье я объяснил несколько различных способов, которыми хакеры могут использовать трафик, проходящий через вашу сеть. Затем я продолжил объяснять, как вы можете использовать машины-приманки и шифрование IPSec для противодействия этим методам.