Защита от хакеров корпоративных сетей
Шрифт:
Активный спуфинг. Большинство переменных запросов при наличии возможности перехватить их заведомо могут стать жертвой спуфинга. Предполагая, что только законные доверенные хосты могут прислать ответ, читатель тем самым демонстрирует свою неправоту. Несанкционированный пользователь при помощи найденного им способа активного поиска может обнаружить запрос, а затем ответить на него. Тем самым он кому-то что-то доказал, выполнив никому не нужную трудоемкую работу.
Чуть более интересным представляется вопрос модуляции потока данных, передающегося по каналам связи. Сама по себе способность к передаче данных еще не предоставляет больших возможностей по управлению их содержимым. Можно создать помехи передаваемым
Сказанное не означает возможности ответить на все, что передается по каналу связи. Как правило, способность ответить присутствует у многих явлений, но для передачи содержательных данных ее значение минимально. Активная деятельность на уровне битов на носителе данных может включать следующие дополнительные возможности:
• возможность прослушивать некоторые или все необработанные биты данных или пакеты в уже существующем потоке данных. Существенно, что в данном случае дополнительные данные не передаются, но на переданные данные отвечают или данными, которые ранее были сохранены на локальном хосте, или передают их по другому соединению;
• возможность изменять некоторые или все необработанные биты данных либо пакеты в уже существующем потоке данных прежде, чем они достигнут своего адресата. Возможности передачи данных увеличиваются. Появляется возможность первичной обработки некоторых битов данных или даже целых пакетов, если это будет необходимо;
• возможность генерировать некоторые или все необработанные биты или пакеты из потока данных как реакцию на перехват и прослушивание пакетов. Последствия этой возможности очевидны, как очевидно и то, что они не единственны;
• возможность модифицировать некоторые или все необработанные биты или пакеты из потока данных в зависимости от их содержания. Иногда для этого не обязательно создавать шумовые помехи или ретранслировать сигнал. Рассмотрим пример прямой радиотрансляции. Если в зависимости от содержания радиотрансляции (передаваемых в ней данных) есть необходимость внесения в нее изменений, то наилучшим решением будет задержка радиосигнала на время, достаточное для внесения изменений (возможно, с использованием существующих задержек аппаратных средств), до того, как сигнал будет излучен в эфир. Непонятно, как можно промодулировать передающийся по воздуху радиосигнал, но если это удалось бы, то это было бы изящным решением проблемы;
• возможность удалять некоторые или все необработанные биты данных либо пакеты в зависимости от их содержания. Выборочное удаление данных реализовать сложнее модуляции, потому что получаемый при этом сигнал будет рассинхронизирован со своим оригиналом. Изохронному потоку данных (потоку данных с одинаковой скоростью передачи) требуется задержка для предотвращения передачи ложных указателей. (Нужно что-то послать, не так ли? Спертый воздух и будет этим чем-то.)
Вполне возможно, что любая из этих дополнительных возможностей может быть использована для законного подтверждения подлинности пользователя. За исключением случаев повреждения пакета (которые имеют место только тогда, когда удаление или изящная модификация данных невозможна, а пакет в любом случае не должен достичь своего адресата),
все эти операции обычны для межсетевых экранов, концентраторов частных виртуальных сетей VPN и даже маршрутизаторов шлюзов.Что из себя представляет переменная? Немного уже упоминалось о переменной, которая может потребоваться для прослушивания, вероятной генерации или представления какой-либо характеристики хоста с целью фальсификации потенциальной способности протокола отвечать на запросы.
Так что это за переменная?
Рассмотренные две возможности передать и ответить по своему значению чуть превосходят центральные концепции, которые лежат в основе представления бит на цифровом носителе и позволяют интерпретировать их одним из возможных способов. Обе эти возможности не представляют ни одну из форм интеллектуального знания относительно предназначения этих бит в контексте управления данными идентификации. Такими знаниями обладают упоминавшиеся возможности обработки потока данных, которые в большей степени основаны на общих криптографических конструкциях установления подлинности.
Способность к кодированию: «Система может говорить на моем языке?»
Способность к передаче предполагает, что пользователь может послать биты, а если у него есть возможность ответить, то получить, прочитать их и при необходимости ответить на полученные биты. Но как узнать, что нужно каждой из сторон? Так на свет появляется способность к кодированию, означающая, что у определенного пользователя должна быть возможность создавать пакеты в соответствии с требованиями используемых протоколов. Если протокол требует декодирования входных пакетов, то так и должно быть: пользователь должен обеспечить выполнение этого требования.
Относительно разговора о спуфинге протокола IP. TCP/IP – это стек (набор) протоколов, и протокол IP – один из них, причем он требует поддержки. Для защиты протокола IP от спуфинга следует использовать протоколы (подобные протоколу TCP), в которых при инициализации соединения предусмотрен обязательный ответ и которые могут лишить возможности передачи, бесцеремонно сбрасывая полученные данные в битоприемник (bit bucket) (это гипотетическая корзина, в которую сбрасываются «мусорные» записи базы данных), тем самым защищая сеть от входящих и выходящих пакетов, относительно содержимого которых появилось подозрение, что оно фальсифицировано отправителем пакета.
Всесторонняя защита протоколов TCP/IP может быть реализована с использованием методов, описываемых автором. В них большое значение имеет кодирование удостоверения, например кодового числа, которое защищает сообщение от несанкционированного изменения. (В протоколе TCP далеко не все построено на простом кодировании. Возвращаемые при каждом ответе случайные порядковые номера, по своей сути, являются недолговечным разделяемым секретом для каждого соединения. Разделяемые двумя сторонами секретные данные будут обсуждены в следующем разделе.)
Хотя очевидно, что кодирование необходимо для взаимодействия с другими хостами, тем не менее эта глава не о взаимодействии. Эта глава об идентификации. Достаточно ли предусмотренной в протоколе возможности понимать и говорить с другим хостом, для того чтобы подтвердить свою подлинность при получении доступа?
Для общедоступных сервисов это очень важный вопрос.
В большинстве случаев Интернет обслуживает внутренние потоки данных, не тревожа своих клиентов. Доказательство их подлинности может быть сведено к одному запросу HTTP с методом GET/. (В данном случае точка является знаком препинания, завершающим предложение, а не ссылкой слэш-точка. Обязательная ссылка слэш-точка в тексте выделяется курсивом.)