Многие уверены, что обезопасить компьютер от вторжения можно только при помощи средств операционной системы. Это не совсем так. Ведь сетевые пакеты, прежде чем попасть на ваш ПК, проходят через различные устройства.
В локальной сети взаимное распознавание компьютеров происходит по нескольким признакам. Причиной тому ? длительная эволюция сетевых технологий и протоколов. Впрочем, на сегодня TCP/IP, будучи наиболее гибким и универсальным протоколом сетевых коммуникаций, практически вытеснил своих конкурентов (NetBEUI, IPX).
Одним из преимуществ TCP/IP является инкапсуляция: собственно, сам IP-пакет, как матрешка, состоит из нескольких частей, вложенных друг в друга. Это позволяет передавать по сети всевозможные данные, не заботясь о том, чтобы сетевые устройства были знакомы с их форматом. В месте назначения такая матрешка раскрывается ? и приложение извлекает оттуда предназначенные для него данные.
Такая архитектура пакета, хотя и является весьма эффективной, таит определенную угрозу безопасности. Чтобы разобраться с этим вопросом подробнее, рассмотрим, как происходит опознавание одного ПК другим.
По имени
В сетях Windows каждый компьютер имеет уникальное имя ? "smb name" или "nebios name", которое вы задаете самостоятельно вместе с именем группы. Доступ к ресурсам сети Windows происходит согласно их именам. А как происходит привязка сетевого имени компьютера к IP-адресу его сетевой карты? При загрузке ОС происходит регистрация компьютера: Microsoft придумала для этого специальный протокол, согласно которому в сетевом сегменте есть компьютер, который хранит таблицу имен ресурсов в сети. Называется такой хост "главным браузером сети". Каждый компьютер обращается к такому браузеру и говорит: "Я компьютер VASYA. Мой адрес 192.168.0.43". При случайном совпадении имен или адресов опреационная система автоматически оключит сетевые функции на неправильно сконфигурированном ПК.
По IP-адресу
На более низком уровне (вспомним "матрешку") адресация ресурсов будет производиться по IP-адресу. Имя компьютера ? слишком общее понятие, не дающее возможности задействовать все функции транспортного протокола. Например, IP-адресация позвляет использовать маршрутизацию пакетов из одной сети в другую или использовать средства фильтрации (брандмауэр). Как происходит определение IP-адреса компьютера по его имени, вы уже знаете. А если уже приходилось инсталлировать Windows, то знаете также, что адрес сетевой карты можно ввести либо вручную, либо с помощью автоматических средств. Однако IP-адрес ? это еще не последний уровень сетевой адресации.
По физическому адресу сетевой карты
Каждая сетевая карта маркируется уникальным в пределах сети MAC-адресом ? 12-значным шестнадцатеричным числом. Прежде чем отправить пакет в локальную сеть, драйвер сетевой карты определяет по IP-адресу точки назначения физический адрес сетевой карты компьютера адресата и помечает пакет этим MAC-адресом. С другой стороны сети сетевая карта, получившая пакет со своим MAC-адресом, принимает его и пропускает по цепочке: драйвер ? операционная система ? приложение.
Каким образом можно узнать MAC-адрес по адресу IP? Для этого тоже существует соответствующий протокол ? ARP (Adress Resolution Protocol). Работает он по методу широковещательной рассылки. Когда нужно узнать физический адрес сетевой карты, инициируется посылка пакета с запросом: "А какой MAC-адрес у ресурса с адресом 192.168.0.xxx?". Соответствующий этому адресу компьютер вернет ответ с запрашиваемым физическим адресом. Далее определенное таким образом соотношение "IP-адрес ? MAC-адрес" будет занесено в ARP-таблицу сетевой карты, и последующий широковещательный запрос будет уже не нужен.
Защита IP-адресов
Как видите, идентификация происходит во многом на доверительной основе. Вначале определяется соответствие сетевого имени и IP-адреса. На этом этапе возможно мошенничество: компьютер злоумышленника может зарегистрироваться под чужим именем, а может и просто ввести ПК, инциирующий запрос smb-имени, в заблуждение, отослав ему свой адрес. В результате множество сетевых соединений будет установлено с подложным компьютером.
Такая атака носит название "человек в середине". Она становится возможной в результате подлога IP-адреса, а ее смысл в том, что между общающимися по сети компьютерами вклинивается ? незаметно для обоих ? хост хакера. Если вы собираетесь обезопасить свою сеть от взлома, то на первом этапе должно стоять обеспечение правильного соответствия Windows-имен и сетевых адресов.
Вообще, система стандартов описывает четыре типа сетевых узлов по типу разрешения адресов. Узлы "b" и "m" используют для