Основы компьютерных сетей для этичных хакеров

Этот масштабный курс закладывает крепкий технический фундамент для начинающих специалистов в сфере информационной безопасности. Вы детально изучите устройство сетей, опираясь на разбор модели OSI [hackerlab.pro](https://hackerlab.pro/blog/osnovy-setey-dlya-nachinayushchih-v-ib) и стека TCP/IP [habr.com](https://habr.com/ru/articles/906802). Программа охватывает анализ трафика, криптографию [cs.vsb.cz](https://www.cs.vsb.cz/ochodkova/courses/kpb/cryptography-and-network-security_-principles-and-practice-7th-global-edition.pdf) и безопасность инфраструктуры [hadess.io](https://hadess.io/network-security-guide/) исключительно с точки зрения защиты и предотвращения киберугроз.

1. Введение в компьютерные сети: базовые понятия и топологии

Введение в компьютерные сети: базовые понятия и топологии

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

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

Анатомия сети: базовые строительные блоки

> Компьютерная сеть — это совокупность независимых устройств, соединенных между собой каналами связи для обмена данными и совместного использования ресурсов.

Любая, даже самая сложная глобальная сеть, такая как интернет, строится из базовых компонентов. Рассмотрим их подробнее.

Узлы и хосты

В сетевой терминологии любое устройство, подключенное к сети, называется узлом (node). Это максимально широкое понятие. Узлом может быть ваш смартфон, умный чайник, принтер или мощный сервер в дата-центре.

Однако среди узлов выделяют особую категорию — хосты (hosts). Хост — это узел, который имеет уникальный адрес в сети и может быть источником или получателем информации.

Разница тонкая, но важная: каждый хост является узлом, но не каждый узел является хостом. Например, простой кабельный разветвитель или базовый коммутатор (о которых мы поговорим ниже) — это узлы сети, так как они участвуют в передаче сигнала, но они не являются хостами, потому что сами не инициируют отправку пользовательских данных.

Сетевой интерфейс

Чтобы устройство могло стать частью сети, ему нужна «дверь». Эту роль выполняет сетевой интерфейс (Network Interface Controller, NIC). Физически это может быть разъем для кабеля (Ethernet-порт) на материнской плате компьютера или Wi-Fi антенна внутри смартфона.

Каждый сетевой интерфейс имеет уникальный аппаратный идентификатор, зашитый в него на заводе. Этот идентификатор называется MAC-адресом (Media Access Control).

Пример из жизни: MAC-адрес похож на VIN-номер автомобиля. Он уникален и привязан к конкретному «железу». Даже если вы перевезете компьютер в другую страну и подключите к другой сети, его MAC-адрес останется прежним.

Каналы связи

Канал связи (link) — это физическая или логическая среда, по которой передаются данные между узлами. Каналы делятся на две большие группы:

  • Проводные: данные передаются в виде электрических импульсов (медная витая пара) или световых пучков (оптоволоконный кабель).
  • Беспроводные: данные передаются с помощью электромагнитных радиоволн (Wi-Fi, Bluetooth, 4G/5G).
  • Главные характеристики любого канала — это его пропускная способность и задержка.

    Пропускная способность (bandwidth) измеряется в битах в секунду (бит/с, bps) и показывает, какой максимальный объем данных может пройти через канал за одну секунду.

    Задержка (latency) измеряется в миллисекундах (мс) и показывает, сколько времени требуется одному минимальному блоку данных, чтобы добраться от отправителя к получателю.

    Пример: представьте трубу с водой. Пропускная способность — это диаметр трубы (сколько литров выливается за секунду). Задержка — это длина трубы (как быстро первая капля достигнет конца трубы после открытия крана). Для скачивания большого файла важен «диаметр трубы», а для онлайн-игр или видеозвонков критична «длина трубы».

    Управление трафиком: коммутаторы и маршрутизаторы

    Если соединить два компьютера одним кабелем, получится простейшая сеть. Но что делать, если компьютеров десять, сто или тысяча? Нам нужны устройства-посредники, которые будут направлять трафик.

    Коммутатор (Switch)

    Коммутатор — это устройство, которое объединяет несколько узлов в пределах одной локальной сети.

    Его главная задача — получить данные от одного компьютера и передать их только тому компьютеру, которому они предназначены. Для этого коммутатор ведет специальную таблицу (MAC-таблицу), в которой записывает: «К порту №1 подключен компьютер с MAC-адресом X, а к порту №2 — с MAC-адресом Y».

    Когда данные поступают на коммутатор, он смотрит на адрес получателя, сверяется со своей таблицей и отправляет сигнал в нужный порт.

    Взгляд этичного хакера: Коммутаторы доверяют MAC-адресам. Одна из классических атак на локальные сети называется MAC Flooding (переполнение MAC-таблицы). Злоумышленник отправляет на коммутатор тысячи поддельных пакетов с разными выдуманными MAC-адресами. Память коммутатора переполняется, и он, не зная, куда отправлять легитимный трафик, начинает рассылать его во все порты одновременно. В этот момент хакер может перехватить чужие данные. Понимание этого механизма позволяет специалистам по защите настраивать функции безопасности (например, Port Security), ограничивающие количество MAC-адресов на одном порту.

    Маршрутизатор (Router)

    Если коммутатор объединяет компьютеры в одну сеть, то маршрутизатор объединяет разные сети между собой.

    Маршрутизатор (или роутер) работает не с аппаратными MAC-адресами, а с логическими IP-адресами (Internet Protocol). Если MAC-адрес — это VIN-номер автомобиля, то IP-адрес — это почтовый адрес дома (город, улица, номер).

    Домашний Wi-Fi роутер, который стоит у вас в квартире, выполняет именно эту функцию: он объединяет вашу домашнюю сеть (смартфоны, ноутбуки, телевизор) с глобальной сетью вашего интернет-провайдера.

    | Характеристика | Коммутатор (Switch) | Маршрутизатор (Router) | | :--- | :--- | :--- | | Среда работы | Внутри одной локальной сети | Между разными сетями | | Тип адресации | MAC-адреса (аппаратные) | IP-адреса (логические) | | Аналогия | Офисный менеджер, распределяющий документы между сотрудниками в одном здании | Почтовый сортировочный центр, отправляющий посылки в другие города |

    Топологии сетей: архитектура соединений

    Топология сети — это геометрическая форма или физическое расположение узлов и связей между ними. Выбор топологии влияет на надежность сети, ее стоимость и безопасность.

    Топология «Шина» (Bus)

    Исторически одна из первых топологий. Все компьютеры подключаются к одному общему кабелю (магистрали). Данные, отправленные одним компьютером, распространяются по всему кабелю в обе стороны и достигают всех остальных узлов. Каждый узел проверяет адрес получателя: если данные предназначены ему, он их принимает; если нет — игнорирует.

    * Плюсы: Дешевизна и простота прокладки (в прошлом). Минусы: Если центральный кабель обрывается, падает вся сеть. Кроме того, возникает проблема коллизий*: если два компьютера попытаются передать данные одновременно, сигналы столкнутся и исказятся.

    Взгляд этичного хакера: С точки зрения безопасности «Шина» — это кошмар. Поскольку сигнал физически доходит до всех узлов, злоумышленнику достаточно перевести свою сетевую карту в «неразборчивый режим» (promiscuous mode), чтобы начать читать весь трафик в сети (сниффинг), даже тот, который предназначен не ему. Защититься от этого на физическом уровне в шинной топологии невозможно — спасает только шифрование данных.

    Топология «Звезда» (Star)

    Современный стандарт для локальных сетей. В центре находится коммутатор, и каждый компьютер подключается к нему отдельным кабелем.

    * Плюсы: Высокая надежность кабельной системы. Если один кабель обрывается, от сети отключается только один компьютер, остальные продолжают работать. Нет коллизий, так как коммутатор разделяет потоки данных. Минусы: Центральный узел (коммутатор) является единой точкой отказа (Single Point of Failure*). Если коммутатор сгорит или зависнет, сеть перестанет существовать.

    !Схемы сетевых топологий: Шина, Звезда и Ячеистая

    Топология «Ячеистая» (Mesh)

    В этой топологии каждый узел соединен с несколькими другими (частичная ячеистая) или вообще со всеми остальными узлами сети (полная ячеистая).

    * Плюсы: Максимальная отказоустойчивость. Если один канал связи обрывается, данные автоматически находят обходной путь через другие узлы. * Минусы: Очень дорого и сложно в настройке при использовании проводов.

    Где это применяется? Сам интернет построен по принципу частичной ячеистой топологии на уровне магистральных маршрутизаторов. Также эта топология активно используется в современных системах умного дома (протоколы Zigbee) и в продвинутых домашних Wi-Fi системах (Mesh Wi-Fi), где несколько точек доступа общаются друг с другом, создавая бесшовное покрытие.

    Масштабы сетей: от комнаты до планеты

    Сети классифицируют не только по форме соединений, но и по их физическому охвату.

    LAN (Local Area Network)

    Локальная вычислительная сеть охватывает небольшую территорию: квартиру, офис, здание или кампус.

    Особенности LAN: * Принадлежит одной организации или человеку. * Использует высокоскоростные каналы связи (от 1 Гбит/с до 100 Гбит/с). * Имеет низкую задержку. * Строится преимущественно на коммутаторах и топологии «Звезда».

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

    WAN (Wide Area Network)

    Глобальная вычислительная сеть охватывает города, страны и континенты. Самый известный пример WAN — это интернет.

    Особенности WAN: * Объединяет множество локальных сетей (LAN). * Принадлежит множеству разных провайдеров (ISP). * Скорости могут быть ниже, а задержки — значительно выше из-за огромных физических расстояний. * Строится на мощных маршрутизаторах.

    Помимо LAN и WAN, существуют промежуточные термины, такие как MAN (Metropolitan Area Network — городская сеть) или PAN (Personal Area Network — персональная сеть, например, связь смартфона с беспроводными наушниками по Bluetooth), но фундаментальное разделение проходит именно между локальными и глобальными сетями.

    Архитектура взаимодействия: кто кем управляет

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

    Клиент-серверная архитектура

    В этой модели роли строго разделены: * Сервер — это мощный компьютер, который хранит данные, обрабатывает запросы и предоставляет услуги. Он работает круглосуточно и ждет обращений. * Клиент — это устройство пользователя (ваш ноутбук или телефон), которое отправляет запрос серверу и получает результат.

    Пример: когда вы открываете видео на YouTube, ваш браузер (клиент) отправляет запрос на серверы Google. Сервер находит видео и отправляет его вам. Ваш компьютер не делится этим видео с другими пользователями.

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

    Одноранговая сеть (Peer-to-Peer, P2P)

    В P2P-сети нет выделенных серверов и клиентов. Каждый узел (называемый пиром) является одновременно и клиентом, и сервером. Все участники сети равноправны.

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

    Взгляд этичного хакера: Одноранговые сети невероятно устойчивы к DDoS-атакам. Нельзя «выключить» торрент-сеть, отключив один сервер, потому что серверами являются миллионы компьютеров по всему миру. Однако в P2P-сетях возникает проблема доверия: вы скачиваете данные напрямую с компьютеров незнакомых людей, что открывает векторы для распространения вредоносного ПО, если протокол не проверяет целостность данных (хеширование).

    Резюме

    Мы заложили фундамент. Теперь вы знаете, что сеть состоит из узлов и каналов связи, что коммутаторы управляют трафиком внутри офиса, а маршрутизаторы прокладывают путь между городами. Вы понимаете разницу между физической топологией (как проложены кабели) и логической архитектурой (кто кому подчиняется).

    Однако пока мы рассмотрели сеть лишь как набор «железа» и базовых принципов. Чтобы компьютеры разных производителей с разными операционными системами могли понимать друг друга, им нужен универсальный язык — строгий набор правил. В следующей статье мы погрузимся в абстрактный мир сетевых моделей и разберем эталонную модель OSI, которая является главным компасом любого сетевого инженера и этичного хакера.

    10. Уязвимости сетевого оборудования: ARP-spoofing, MAC-flooding и защита

    Уязвимости сетевого оборудования: ARP-spoofing, MAC-flooding и защита

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

    Когда злоумышленник получает физический или логический доступ к локальной сети (например, подключается к розетке в переговорной комнате или взламывает корпоративный Wi-Fi), он оказывается внутри периметра доверия. С этого момента его целью становится перехват трафика других пользователей. Поскольку современные коммутаторы изолируют трафик, направляя его только легитимным получателям, хакеру необходимо заставить сетевое оборудование изменить логику своей работы.

    Два классических вектора атак на канальном (L2) уровне — это переполнение таблицы MAC-адресов и отравление ARP-кэша. Обе техники направлены на реализацию атаки Man-in-the-Middle (MitM, Человек посередине), при которой трафик жертвы проходит через устройство атакующего.

    MAC Flooding: Как превратить умный коммутатор в глупый хаб

    Как мы выяснили ранее, коммутатор (Switch) направляет кадры Ethernet адресно. Для этого он изучает MAC-адреса отправителей из проходящего трафика и записывает их в свою CAM-таблицу (Content Addressable Memory), связывая физический адрес устройства с конкретным портом.

    Проблема заключается в том, что память коммутатора строго ограничена аппаратными ресурсами. Бюджетный офисный коммутатор может хранить около 4000–8000 записей, корпоративные модели — десятки тысяч. Но ни одна таблица не бесконечна.

    Атака MAC Flooding (Переполнение MAC-таблицы) эксплуатирует это аппаратное ограничение. Злоумышленник использует специализированные утилиты (например, macof), которые генерируют сотни тысяч фальшивых кадров в секунду. Каждый такой кадр содержит случайно сгенерированный MAC-адрес отправителя.

    Коммутатор, следуя своему алгоритму обучения, честно пытается запомнить каждый новый адрес. При скорости генерации кадров в секунду, CAM-таблица переполняется за доли секунды.

    > Представьте гардеробщика в театре, у которого всего 1000 номерков. Внезапно в фойе врывается толпа из 10 000 человек, и каждый сует ему свою куртку. Гардеробщик впадает в панику: номерки закончились, вешать некуда. Чтобы не останавливать работу театра, он начинает просто бросать новые куртки в общую кучу на полу, предлагая зрителям самим искать свои вещи.

    Когда CAM-таблица заполнена, коммутатор больше не может изучать адреса легитимных устройств. Столкнувшись с кадром, адрес получателя которого ему неизвестен (или был вытеснен из таблицы фальшивыми записями), коммутатор переходит в аварийный режим Fail-Open. В этом режиме он начинает работать как устаревший сетевой концентратор (хаб) — рассылает все входящие кадры на все свои порты.

    !Схема атаки MAC Flooding и переход коммутатора в режим хаба

    Теперь злоумышленнику достаточно перевести свою сетевую карту в Promiscuous mode (неразборчивый режим) и запустить сниффер (например, Wireshark или tcpdump), чтобы пассивно перехватывать весь трафик в локальной сети, включая пароли, передаваемые в открытом виде, и сессионные файлы cookie.

    Защита от MAC Flooding: Port Security

    Защита от этой атаки реализуется на уровне конфигурации самого коммутатора с помощью функции Port Security (Безопасность порта).

    Сетевой администратор жестко ограничивает максимальное количество MAC-адресов, которые коммутатор имеет право изучить на одном физическом порту. Для порта, к которому подключен обычный рабочий компьютер, это значение обычно равно 1 или 2 (если используется IP-телефон с транзитным подключением ПК).

    Если злоумышленник запускает атаку и коммутатор фиксирует появление третьего MAC-адреса на порту, срабатывает политика нарушения (Violation mode):

  • Protect: Коммутатор просто отбрасывает кадры с неизвестными MAC-адресами, не обучаясь им.
  • Restrict: То же самое, но коммутатор отправляет уведомление администратору (SNMP trap) о попытке атаки.
  • Shutdown (по умолчанию): Коммутатор немедленно отключает порт, переводя его в состояние err-disable. Злоумышленник полностью теряет доступ к сети до ручного вмешательства администратора.
  • ARP Spoofing: Иллюзия подлинности

    Если MAC Flooding — это грубая атака на отказ в обслуживании (DoS) для оборудования, то ARP Spoofing (также известная как ARP Poisoning или Отравление ARP) — это тонкая, хирургическая манипуляция логикой работы сети.

    Протокол ARP (Address Resolution Protocol) работает на стыке Сетевого (L3) и Канального (L2) уровней. Его задача — найти MAC-адрес устройства, зная только его IP-адрес.

    В нормальных условиях процесс выглядит так:

  • Компьютер Алисы хочет отправить данные на маршрутизатор (IP 192.168.1.1), но не знает его MAC-адрес.
  • Алиса отправляет широковещательный запрос (ARP Request): «Кто имеет IP 192.168.1.1? Сообщите свой MAC-адрес Алисе».
  • Маршрутизатор получает запрос и отправляет направленный ответ (ARP Reply): «Я 192.168.1.1, мой MAC-адрес AA:AA:AA:AA:AA:AA».
  • Алиса сохраняет эту связку в свой ARP-кэш (временную таблицу в оперативной памяти), чтобы не спрашивать каждый раз заново.
  • Уязвимость протокола ARP кроется в его полном отсутствии механизмов аутентификации и проверки состояния (stateless). Устройство примет и обработает ARP-ответ, даже если оно не отправляло запрос.

    Механика отравления кэша

    Злоумышленник (Ева) отправляет Алисе поддельный ARP-ответ (Gratuitous ARP), в котором утверждает: «Я маршрутизатор 192.168.1.1, мой MAC-адрес EE:EE:EE:EE:EE:EE» (где EE... — это реальный MAC-адрес компьютера Евы).

    Компьютер Алисы, слепо доверяя протоколу, обновляет свой ARP-кэш. Теперь, когда Алиса хочет открыть сайт в интернете, ее компьютер упаковывает IP-пакеты в кадры Ethernet, указывая в качестве получателя MAC-адрес Евы. Коммутатор послушно доставляет эти кадры на порт злоумышленника.

    > Это похоже на то, как если бы мошенник подкинул вам в почтовый ящик письмо: «Ваш банк переехал. Наш новый адрес: улица Темная, дом 13». В следующий раз, когда вы захотите отправить в банк конфиденциальные документы, вы отправите их прямо в руки мошеннику.

    Чтобы атака MitM была полной и жертва не заметила потери интернета, Ева должна отравить ARP-кэш и второго участника — маршрутизатора, сказав ему: «Я Алиса, вот мой MAC-адрес». После этого Ева включает на своем компьютере функцию маршрутизации (IP Forwarding). Трафик течет от Алисы к Еве, Ева его читает (или модифицирует) и пересылает маршрутизатору. Ответы идут по тому же пути.

    !Интерактивная симуляция атаки ARP Spoofing и перенаправления трафика

    Последствия и анализ трафика

    Успешный ARP Spoofing позволяет этичному хакеру проводить глубокий анализ сетевого взаимодействия. Используя снифферы, можно извлекать из перехваченного трафика:

  • Учетные данные, передаваемые по незащищенным протоколам (HTTP, FTP, Telnet).
  • DNS-запросы жертвы, чтобы понять, какие ресурсы она посещает.
  • Файлы, скачиваемые по сети.
  • Кроме того, атакующий может активно вмешиваться в трафик: подменять скачиваемые файлы на вредоносные или осуществлять атаку SSL Stripping, принудительно понижая защищенное HTTPS-соединение жертвы до уязвимого HTTP.

    Если же злоумышленник отравит ARP-кэш, но забудет включить пересылку пакетов (IP Forwarding), трафик Алисы придет к нему и будет уничтожен. Это приведет к локальной атаке Отказ в обслуживании (DoS) — Алиса полностью потеряет связь с сетью.

    Стратегии защиты от ARP Spoofing

    Поскольку проблема заложена в самом стандарте протокола ARP, защита требует внедрения дополнительных интеллектуальных механизмов на сетевом оборудовании.

    1. Dynamic ARP Inspection (DAI)

    DAI (Динамическая проверка ARP) — это самая надежная архитектурная защита от подмены адресов в корпоративных сетях. Эта функция работает на коммутаторах совместно с другой технологией — DHCP Snooping.

    Когда компьютер подключается к сети и легитимно получает IP-адрес от DHCP-сервера, коммутатор запоминает эту выдачу, создавая надежную базу данных привязок (DHCP Snooping Binding Database). В ней записано: «На порту №5 находится устройство с MAC-адресом BB:BB:BB:BB:BB:BB, которому официально выдан IP 192.168.1.15».

    Когда DAI включена, коммутатор начинает перехватывать и проверять все ARP-пакеты в сети. Если злоумышленник попытается отправить поддельный ARP-ответ, утверждая, что он маршрутизатор, коммутатор сверит этот пакет со своей базой данных. Увидев несовпадение (IP маршрутизатора не выдавался на порт злоумышленника), коммутатор немедленно уничтожит вредоносный пакет и заблокирует порт атакующего.

    2. Статические ARP-записи

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

    Команда arp -s 192.168.1.1 AA:AA:AA:AA:AA:AA (в Windows) жестко связывает IP и MAC-адрес. Операционная система будет игнорировать любые ARP-ответы, пытающиеся изменить эту запись.

    Минус этого подхода — абсолютная немасштабируемость. Невозможно вручную поддерживать статические таблицы на тысячах компьютеров в меняющейся корпоративной среде.

    3. Шифрование на верхних уровнях

    С точки зрения информационной безопасности, лучшая защита от перехвата на канальном уровне — это сделать перехваченные данные бесполезными.

    Даже если хакер успешно провел ARP Spoofing и весь трафик проходит через его компьютер, использование криптографических протоколов Прикладного и Транспортного уровней сводит ценность атаки к нулю. Если жертва использует HTTPS для веб-серфинга, SSH для удаленного управления или VPN (IPsec/WireGuard) для доступа к корпоративной сети, сниффер злоумышленника увидит лишь нечитаемый набор зашифрованных байт.

    Именно поэтому концепция Zero Trust (Нулевое доверие) предполагает, что локальная сеть по умолчанию считается враждебной средой, и безопасность должна обеспечиваться сквозным шифрованием (End-to-End Encryption) независимо от надежности коммутаторов.

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

    11. Основы беспроводных сетей: стандарты Wi-Fi и радиочастотные каналы

    Основы беспроводных сетей: стандарты Wi-Fi и радиочастотные каналы

    В предыдущих статьях мы подробно разобрали, как данные передаются по медным и оптическим кабелям, как коммутаторы изолируют трафик на Канальном уровне (L2) и как маршрутизаторы управляют им на Сетевом уровне (L3). Мы выяснили, что для проведения классических атак, таких как ARP Spoofing или MAC Flooding, злоумышленнику необходимо физически или логически проникнуть в локальную сеть — подключиться к розетке или взломать порт коммутатора.

    Но что происходит, когда мы убираем кабель?

    Беспроводные сети фундаментально меняют правила игры в информационной безопасности. В сетях Wi-Fi средой передачи данных выступает открытое радиопространство. Радиоволны не знают границ кабинетов, не останавливаются перед стенами зданий и не требуют физического подключения к порту. Для этичного хакера это означает, что периметр сети больше не ограничивается стенами офиса — он распространяется на парковку, соседние здания и улицу.

    В этой статье мы разберем физические основы работы Wi-Fi, эволюцию беспроводных стандартов, логику разделения радиочастотных каналов и то, как архитектура открытой среды передачи данных создает уникальные векторы угроз.

    Физика эфира: как радиоволны переносят данные

    Аббревиатура Wi-Fi часто расшифровывается как Wireless Fidelity (Беспроводная точность), однако технически это коммерческое название семейства протоколов, базирующихся на международном стандарте IEEE 802.11.

    С точки зрения эталонной модели OSI, Wi-Fi работает на двух нижних уровнях:

  • Физический уровень (L1): вместо электрических импульсов в медном проводе используются электромагнитные радиоволны.
  • Канальный уровень (L2): вместо классических кадров Ethernet используются кадры 802.11, но адресация по-прежнему осуществляется с помощью MAC-адресов.
  • Чтобы понять, как работают беспроводные сети и почему они уязвимы, необходимо вспомнить базовую физику радиоволн. Любая электромагнитная волна характеризуется своей частотой.

    Связь между частотой и длиной волны описывается классической физической формулой:

    Где — длина волны (в метрах), — скорость света (приблизительно м/с), а — частота волны (в герцах).

    Из этой формулы вытекает главный закон беспроводных сетей: чем выше частота сигнала, тем короче длина его волны. А чем короче длина волны, тем хуже она огибает препятствия и проникает сквозь твердые объекты (стены, мебель, человеческие тела).

    > Радиоволны подобны звуку. Низкие частоты (басы из сабвуфера соседа) легко проходят сквозь бетонные стены. Высокие частоты (пение птиц или свист) легко блокируются закрытым окном. > > Основы радиофизики для IT-специалистов

    Битва диапазонов: 2.4 ГГц против 5 ГГц

    Современные маршрутизаторы (роутеры) работают в двух основных частотных диапазонах: 2.4 ГГц и 5 ГГц. Недавно к ним добавился диапазон 6 ГГц (стандарт Wi-Fi 6E), но базовые принципы остаются неизменными.

    Диапазон 2.4 ГГц: Дальнобойный, но шумный

    Исторически первый и самый массовый диапазон. Согласно формуле выше, частота 2.4 ГГц имеет длину волны около 12.5 сантиметров.

    Преимущества:

  • Отличная проникающая способность. Сигнал легко проходит через 2-3 бетонные стены.
  • Большая зона покрытия. Один роутер может покрыть большую квартиру или небольшой частный дом.
  • Недостатки:

  • Катастрофическая зашумленность. Диапазон 2.4 ГГц относится к нелицензируемым частотам ISM (Industrial, Scientific, Medical). В нем работают не только соседские роутеры, но и микроволновые печи, устройства Bluetooth, радионяни и беспроводные мыши.
  • Низкая пропускная способность по современным меркам.
  • Диапазон 5 ГГц: Быстрый, но хрупкий

    Длина волны при частоте 5 ГГц составляет всего около 6 сантиметров.

    Преимущества:

  • Огромная пропускная способность. Именно в этом диапазоне достигаются гигабитные скорости.
  • Свободный эфир. В этом диапазоне гораздо больше доступных каналов, и устройства не мешают друг другу.
  • Недостатки:

  • Плохая проникающая способность. Сигнал 5 ГГц сильно затухает даже при прохождении через одну кирпичную стену.
  • Меньший радиус действия. Для покрытия большого офиса потребуется установка нескольких точек доступа.
  • | Характеристика | Диапазон 2.4 ГГц | Диапазон 5 ГГц | | :--- | :--- | :--- | | Проникающая способность | Высокая (проходит сквозь стены) | Низкая (затухает от препятствий) | | Максимальная скорость | Низкая / Средняя | Очень высокая | | Зашумленность эфира | Очень высокая (много помех) | Низкая (эфир свободен) | | Количество непересекающихся каналов | 3 | Более 20 |

    Анатомия эфира: Каналы и их перекрытие

    Радиочастотный диапазон — это не монолитная труба, по которой летят данные. Он разделен на более узкие полосы, называемые каналами (Channels).

    Представьте диапазон 2.4 ГГц как широкую автомагистраль. Чтобы машины (данные от разных роутеров) не сталкивались, магистраль расчертили на полосы (каналы). В России и Европе в диапазоне 2.4 ГГц выделено 13 каналов. Шаг между центрами соседних каналов составляет всего 5 МГц.

    Однако для передачи данных по стандарту Wi-Fi требуется ширина канала минимум 20 МГц.

    Возникает математический парадокс: если центр канала 1 находится на частоте 2412 МГц, а его ширина 20 МГц, он занимает полосу от 2402 до 2422 МГц. Канал 2 имеет центр на 2417 МГц и занимает полосу от 2407 до 2427 МГц.

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

    В диапазоне 2.4 ГГц существует только три непересекающихся канала: 1, 6 и 11.

    !Интерактивный симулятор перекрытия каналов Wi-Fi в диапазоне 2.4 ГГц

    Для этичного хакера или сетевого инженера анализ радиоэфира (Site Survey) — это первый шаг при аудите беспроводной сети. Если корпоративная сеть настроена на пересекающиеся каналы (например, 3, 4 или 8), она будет подвержена естественным атакам типа «Отказ в обслуживании» (DoS) просто из-за физики радиоволн.

    В диапазоне 5 ГГц этой проблемы практически нет: каналы изначально разнесены так, чтобы не пересекаться при стандартной ширине в 20 МГц. Однако современные стандарты позволяют объединять каналы (ширина 40, 80 или 160 МГц) для увеличения скорости, что снова возвращает нас к проблеме планирования частот.

    Эволюция стандартов IEEE 802.11

    Чтобы не путать пользователей сложными буквенными индексами (802.11b, 802.11ac), организация Wi-Fi Alliance ввела упрощенную нумерацию поколений.

  • Wi-Fi 4 (802.11n, 2009 год): Настоящий прорыв. Впервые внедрена поддержка обоих диапазонов (2.4 и 5 ГГц). Главное нововведение — технология MIMO (Multiple Input Multiple Output). До этого роутеры общались с устройствами через одну антенну. MIMO позволила использовать несколько антенн одновременно для передачи нескольких потоков данных, кратно увеличив скорость (до 600 Мбит/с).
  • Wi-Fi 5 (802.11ac, 2013 год): Работает только в диапазоне 5 ГГц. Внедрена технология MU-MIMO (Multi-User MIMO). Если раньше роутер мог общаться только с одним устройством в конкретную долю секунды (быстро переключаясь между ними), то MU-MIMO позволила роутеру передавать данные нескольким клиентам одновременно. Скорости перешагнули порог в 1 Гбит/с.
  • Wi-Fi 6 (802.11ax, 2019 год): Фокус сместился со «скорости для одного» на «эффективность для многих». Главная инновация — OFDMA (Orthogonal Frequency-Division Multiple Access).
  • Как работает OFDMA (Простое объяснение)

    Представьте, что роутер — это служба доставки, канал связи — это грузовик, а пакеты данных — это посылки.

    В старых стандартах (Wi-Fi 4 и 5) использовалась технология OFDM. Грузовик загружался посылками только для одного клиента и ехал к нему. Даже если клиенту нужно было отправить всего одно короткое сообщение (маленькую коробочку), огромный грузовик ехал полупустым. Остальные клиенты ждали своей очереди.

    В Wi-Fi 6 технология OFDMA позволяет разделить кузов грузовика на множество мелких отсеков (ресурсных единиц, RU). Теперь один грузовик за один рейс может везти посылки сразу для смартфона, телевизора, умной лампочки и ноутбука. Это кардинально снижает задержки (пинг) в сетях с большим количеством устройств.

    !Сравнение технологий OFDM и OFDMA: как роутер распределяет данные между устройствами

    Логика общения в эфире: CSMA/CA и Маячковые кадры

    В проводных сетях Ethernet устройства могут одновременно слушать и передавать данные (дуплексный режим). Если происходит столкновение сигналов (коллизия), они это обнаруживают и повторяют передачу.

    Радиоэфир — это полудуплексная среда. Устройство с одной антенной не может одновременно кричать и слушать. Поэтому в Wi-Fi используется протокол CSMA/CA (Carrier Sense Multiple Access with Collision Avoidance — Множественный доступ с контролем несущей и избеганием коллизий).

    Алгоритм работы CSMA/CA:

  • Устройство хочет отправить данные.
  • Оно «слушает» эфир на своем канале.
  • Если эфир занят (кто-то другой передает данные), устройство замолкает и ждет случайное количество времени.
  • Если эфир свободен, устройство отправляет данные.
  • Получатель обязан отправить подтверждение (ACK). Если подтверждения нет, отправитель считает, что произошла коллизия, и повторяет процесс.
  • > Это похоже на вежливую дискуссию в темной комнате. Вы не видите собеседников. Прежде чем заговорить, вы прислушиваетесь. Если кто-то говорит — вы ждете. Если тихо — начинаете говорить. Если вы начали говорить одновременно с кем-то другим, вы оба замолкаете, ждете случайную паузу и пробуете снова.

    Идентификация сетей: SSID и BSSID

    Как ваш смартфон понимает, какие сети есть вокруг? Точки доступа (роутеры) постоянно, примерно 10 раз в секунду, рассылают в эфир Маячковые кадры (Beacon frames).

    В этих кадрах содержится:

  • SSID (Service Set Identifier): Человекочитаемое имя сети (например, Cafe_Free_WiFi).
  • BSSID (Basic Service Set Identifier): Уникальный MAC-адрес радиоинтерфейса самого роутера (например, 00:11:22:33:44:55).
  • Поддерживаемые стандарты шифрования и скорости.
  • Даже если администратор скроет имя сети (настройка Hidden SSID), роутер все равно продолжит рассылать Beacon-кадры, просто поле имени в них будет пустым. Этичный хакер с помощью сниффера легко обнаружит такую сеть и узнает ее имя в момент, когда к ней подключится легитимный клиент.

    Уязвимость открытой среды: Режим монитора

    Мы подошли к главному аспекту безопасности беспроводных сетей. В проводной сети коммутатор доставляет кадры адресно. Если вы подключили ноутбук к порту №5, вы не увидите трафик, идущий на порт №6 (если не примените атаку MAC Flooding, описанную в прошлой статье).

    В Wi-Fi радиоволны распространяются во все стороны. Ваш ноутбук физически принимает радиосигналы от всех устройств в радиусе действия, даже если они адресованы не вам.

    В обычном режиме (Managed mode) сетевая карта вашего смартфона или ПК отбрасывает все кадры, в которых MAC-адрес получателя не совпадает с ее собственным. Она ведет себя как законопослушный гражданин, который не читает чужие письма, даже если они лежат в открытом почтовом ящике.

    Однако любую совместимую Wi-Fi карту можно перевести в Режим монитора (Monitor mode). В этом режиме сетевая карта перестает отбрасывать чужие кадры и начинает передавать в операционную систему абсолютно весь радиочастотный мусор, который она способна уловить на выбранном канале.

    Используя утилиты вроде Wireshark или Airodump-ng, специалист по безопасности может пассивно (не подключаясь к сети и не отправляя ни одного бита данных) собрать огромный массив информации:

  • MAC-адреса всех роутеров и подключенных к ним клиентов.
  • К каким сетям пытаются подключиться смартфоны прохожих.
  • Объемы передаваемого трафика.
  • Угроза: Поддельные точки доступа (Rogue AP / Evil Twin)

    Поскольку эфир открыт, ничто не мешает злоумышленнику принести свой собственный роутер (или использовать ноутбук с Wi-Fi адаптером) и создать сеть с точно таким же SSID, как у легитимной корпоративной сети. Эта атака называется Evil Twin (Злой двойник).

    Устройства пользователей (смартфоны, ноутбуки) исторически запрограммированы на удобство: они автоматически подключаются к известным сетям. Если в эфире есть две сети с именем Corporate_WiFi, устройство клиента, как правило, выберет ту, чей физический радиосигнал мощнее.

    Если хакер сядет в лобби офиса с мощной антенной, устройства сотрудников могут автоматически переключиться на его поддельную точку доступа. С этого момента весь трафик жертв пойдет через устройство атакующего, реализуя классическую атаку Man-in-the-Middle (MitM) на беспроводном уровне.

    Защита: Почему шифрование — это всё

    В проводных сетях безопасность можно обеспечить физически: закрыть серверную на ключ, отключить неиспользуемые порты на коммутаторе (Port Security), настроить привязку MAC-адресов.

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

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

    Эволюция механизмов защиты (от дырявого WEP до современного WPA3), принципы криптографического рукопожатия и методы защиты от атак типа Evil Twin станут темой нашей следующей статьи.

    12. Безопасность Wi-Fi: эволюция шифрования от WEP до WPA3

    Безопасность Wi-Fi: эволюция шифрования от WEP до WPA3

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

    В проводной сети коммутатор доставляет данные адресно, а физический доступ к кабелю ограничен стенами здания. В Wi-Fi стеной служит криптография. Если данные не зашифрованы или зашифрованы слабо, ваша сеть становится открытой книгой для любого прохожего.

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

    Базовая криптография: как защитить радиоэфир

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

    Симметричное шифрование означает, что для превращения читаемого текста в бессмысленный набор символов (шифрование) и для обратного процесса (расшифровка) используется один и тот же секретный ключ.

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

    Главная проблема симметричного шифрования в беспроводных сетях — как безопасно передать этот «дубликат ключа» легитимному пользователю так, чтобы его не перехватил злоумышленник, слушающий эфир? Именно эволюция решения этой проблемы и легла в основу развития стандартов Wi-Fi.

    WEP: Иллюзия безопасности и фатальные ошибки

    Первый протокол безопасности, WEP (Wired Equivalent Privacy — Эквивалент проводной конфиденциальности), был представлен в 1997 году. Его амбициозная цель заключалась в том, чтобы сделать беспроводную сеть такой же безопасной, как и проводную. На практике WEP стал одним из самых известных провалов в истории криптографии.

    Как работал WEP

    WEP использовал потоковый шифр RC4. Потоковый шифр генерирует бесконечную псевдослучайную последовательность битов (гамму), которая затем математически накладывается на исходные данные с помощью логической операции XOR (Исключающее ИЛИ).

    Если бы роутер использовал один и тот же статический пароль для шифрования всех пакетов, злоумышленник быстро бы вычислил закономерности. Чтобы этого избежать, WEP добавлял к паролю уникальную приставку для каждого пакета — Вектор инициализации (IV — Initialization Vector).

    Вектор инициализации передавался в эфир в открытом виде вместе с зашифрованным пакетом. Получатель брал открытый IV, соединял его с секретным паролем, генерировал ключ RC4 и расшифровывал данные.

    Анатомия уязвимости: почему WEP мертв

    Фундаментальная ошибка WEP заключалась в длине вектора инициализации. Под него было выделено всего 24 бита.

    Давайте посчитаем количество возможных уникальных векторов с помощью простой математики:

    Где — общее количество уникальных комбинаций IV.

    Кажется, что 16 миллионов — это много. Однако современный роутер при активной загрузке файла или просмотре видео может передавать тысячи пакетов в секунду.

    Согласно математическому «Принципу Дирихле» (или парадоксу дней рождения), в загруженной сети векторы инициализации неизбежно начнут повторяться уже через несколько минут или часов. Это явление называется Коллизией IV.

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

    В контексте этичного хакинга аудит сети с WEP выглядит так:

  • Специалист переводит адаптер в режим монитора и начинает пассивно собирать пакеты (утилита airodump-ng).
  • Чтобы ускорить процесс, специалист активно отправляет в сеть специальные пакеты (ARP Replay), заставляя роутер генерировать тысячи новых ответов в секунду.
  • Как только собирается достаточное количество пакетов с повторяющимися IV (обычно около 50 000), утилита (aircrack-ng) за пару секунд вычисляет пароль от сети.
  • Сегодня использование WEP недопустимо ни при каких обстоятельствах. Взлом такой сети занимает менее 5 минут даже у начинающего специалиста.

    WPA: Временная заплатка

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

    В 2003 году консорциум Wi-Fi Alliance выпустил WPA (Wi-Fi Protected Access). Это был компромиссный протокол, который можно было установить на старые устройства WEP путем простого обновления прошивки.

    Главным нововведением WPA стал протокол TKIP (Temporal Key Integrity Protocol).

    Вместо того чтобы использовать один статический ключ для всей сессии, TKIP динамически генерировал новый, уникальный ключ шифрования для каждого отдельного пакета. Кроме того, длина вектора инициализации была увеличена с 24 до 48 бит, что полностью исключило проблему коллизий IV (повторение векторов заняло бы сотни лет).

    Также WPA внедрил проверку целостности сообщений (MIC — Message Integrity Check), чтобы злоумышленники не могли изменять перехваченные пакеты на лету.

    Несмотря на эти улучшения, WPA оставался временным решением, так как под капотом все еще использовался устаревший и уязвимый шифр RC4. Вскоре исследователи нашли способы частичного взлома TKIP, и индустрия перешла к полноценному стандарту.

    WPA2: Золотой стандарт и его слабые места

    В 2004 году был утвержден стандарт WPA2, который оставался непререкаемым лидером в безопасности Wi-Fi более 14 лет и до сих пор используется в большинстве домашних сетей.

    WPA2 отказался от компромиссов и устаревшего RC4. В его основу лег AES (Advanced Encryption Standard) — мощный алгоритм блочного шифрования, который используется правительствами и банками по всему миру. Для управления ключами был внедрен протокол CCMP.

    Как устройства договариваются: 4-Way Handshake

    Самая важная концепция WPA2, которую должен понимать этичный хакер, — это механизм подключения клиента к роутеру.

    Вы вводите пароль от Wi-Fi на своем смартфоне. Как смартфон докажет роутеру, что знает пароль, не передавая сам пароль в открытом радиоэфире? Для этого используется элегантный криптографический танец, называемый Четырехэтапным рукопожатием (4-Way Handshake).

    !Схема 4-этапного рукопожатия (4-Way Handshake) в сетях WPA2: обмен ключами между клиентом и роутером без передачи пароля в открытом виде

    Процесс выглядит следующим образом:

  • Генерация PMK: И роутер (Authenticator), и смартфон (Supplicant) берут пароль от сети (PSK) и название сети (SSID), пропускают их через криптографическую хеш-функцию 4096 раз и получают одинаковый Мастер-ключ — PMK (Pairwise Master Key). PMK никогда не передается по сети.
  • Этап 1 (Роутер -> Смартфон): Роутер генерирует случайное число (ANonce) и отправляет его смартфону в открытом виде.
  • Этап 2 (Смартфон -> Роутер): Смартфон генерирует свое случайное число (SNonce). Теперь у смартфона есть все ингредиенты: PMK, ANonce, SNonce и MAC-адреса обоих устройств. Смартфон смешивает их математически и получает сессионный ключ PTK (Pairwise Transient Key). Затем смартфон отправляет роутеру свой SNonce и специальный код подтверждения (MIC), зашифрованный ключом PTK.
  • Этап 3 (Роутер -> Смартфон): Роутер, получив SNonce, проводит те же самые вычисления. Если полученный им PTK совпадает с тем, которым смартфон зашифровал код подтверждения, роутер понимает: «Этот парень действительно знает пароль!». Роутер отправляет подтверждение.
  • Этап 4 (Смартфон -> Роутер): Смартфон отправляет финальное подтверждение. Рукопожатие завершено. Весь дальнейший трафик шифруется уникальным сессионным ключом PTK.
  • Уязвимость WPA2: Офлайн-атака по словарю

    Алгоритм AES в WPA2 практически невозможно взломать напрямую. Однако этичные хакеры атакуют не сам алгоритм, а человеческий фактор — слабые пароли, используя уязвимость в архитектуре 4-Way Handshake.

    Поскольку случайные числа (ANonce и SNonce) и код подтверждения (MIC) передаются в эфире, злоумышленник может перехватить их.

    Вектор атаки выглядит так:

  • Хакер переводит адаптер в режим монитора и слушает эфир.
  • Хакер отправляет легитимному клиенту поддельный пакет деаутентификации (Deauth attack), принудительно отключая его от роутера.
  • Смартфон клиента автоматически пытается переподключиться и выполняет 4-Way Handshake.
  • Хакер перехватывает все 4 этапа рукопожатия и сохраняет их в файл.
  • Далее хакеру больше не нужно находиться рядом с вашей сетью. Он уходит домой, загружает перехваченное рукопожатие в мощный компьютер с несколькими видеокартами (GPU) и запускает утилиту вроде Hashcat.

    Программа берет словарь с миллионами популярных паролей (например, qwerty, password123, admin) и для каждого слова пытается локально воссоздать 4-Way Handshake. Если вычисленный программой код MIC совпадает с перехваченным из эфира — пароль найден.

    > Современная ферма из нескольких видеокарт RTX 4090 способна перебирать миллионы паролей WPA2 в секунду. Если ваш пароль состоит только из 8 цифр (например, дата рождения), он будет взломан менее чем за час.

    Единственная надежная защита WPA2 от этой атаки — использование длинного, сложного и бессмысленного пароля (от 14 символов, с буквами разного регистра, цифрами и спецсимволами), который отсутствует в словарях хакеров.

    !Интерактивный калькулятор времени взлома пароля WPA2 в зависимости от его длины и сложности

    WPA3: Современная крепость

    В 2018 году, спустя 14 лет после выхода WPA2, был представлен стандарт WPA3. Его главная цель — устранить фундаментальные архитектурные недостатки предшественника и защитить пользователей даже от их собственных ошибок (слабых паролей).

    SAE: Конец офлайн-брутфорсу

    Главная революция WPA3 — замена уязвимого механизма PSK (Pre-Shared Key) на протокол SAE (Simultaneous Authentication of Equals — Одновременная аутентификация равных), основанный на криптографическом обмене «Стрекоза» (Dragonfly Key Exchange).

    В WPA2 пароль использовался напрямую для генерации ключей, что позволяло проверять догадки в офлайне. В WPA3 пароль используется совершенно иначе.

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

    Если хакер перехватит обмен ключами SAE, он получит лишь бессмысленные математические параметры. Он не сможет взять этот перехват домой и перебирать пароли на видеокартах. Чтобы проверить хотя бы один пароль, хакеру придется физически отправить запрос роутеру в реальном времени (онлайн-атака).

    Роутер легко заметит, что кто-то пытается подобрать пароль, и заблокирует атакующего после нескольких неудачных попыток. Таким образом, скорость перебора падает с миллионов паролей в секунду до 1-2 попыток в секунду. Взлом даже простого пароля становится математически нецелесообразным.

    Совершенная прямая секретность (Perfect Forward Secrecy)

    Представьте сценарий: хакер годами сидел возле офиса компании и записывал весь зашифрованный трафик WPA2. Он ничего не мог прочитать. Но однажды он узнал пароль от Wi-Fi (например, нашел стикер на мониторе сотрудника). В WPA2 хакер может взять этот пароль и расшифровать все исторические данные, которые он записывал годами.

    WPA3 внедряет Совершенную прямую секретность (PFS). При каждом новом подключении устройства генерируется абсолютно новый, независимый сессионный ключ. Даже если хакер узнает пароль от Wi-Fi сегодня, он не сможет расшифровать трафик, перехваченный вчера. Пароль дает доступ к сети, но не дает возможности расшифровать прошлые сессии.

    OWE: Защита в публичных сетях

    Вы приходите в кафе и подключаетесь к открытой сети Cafe_Free_WiFi без пароля. В стандартах до WPA3 это означало, что ваш трафик летит в эфир абсолютно открытым текстом. Любой человек за соседним столиком с запущенным сниффером (например, Wireshark) мог видеть, какие сайты вы посещаете.

    WPA3 представляет технологию OWE (Opportunistic Wireless Encryption — Оппортунистическое беспроводное шифрование).

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

    Personal против Enterprise: масштабирование безопасности

    До сих пор мы говорили о методах аутентификации, которые классифицируются как Personal (WPA2-Personal, WPA3-Personal). В этом режиме используется единый пароль для всех устройств.

    Для домашних сетей это удобно. Но представьте корпорацию на 500 сотрудников. Если один сотрудник увольняется, системному администратору придется менять пароль от Wi-Fi на всех 500 ноутбуках, смартфонах и принтерах, чтобы бывший сотрудник не мог подключиться к сети с улицы.

    Для решения этой проблемы существует режим Enterprise (WPA2-Enterprise, WPA3-Enterprise), основанный на стандарте 802.1X.

    В режиме Enterprise единого пароля от Wi-Fi не существует. Роутер (или точка доступа) выступает лишь в роли вышибалы. Когда клиент пытается подключиться, роутер перенаправляет его запрос на специальный сервер аутентификации — RADIUS (Remote Authentication Dial-In User Service).

    Каждый сотрудник имеет свой собственный уникальный логин и пароль (или цифровой сертификат).

  • Ноутбук отправляет учетные данные сотрудника.
  • Точка доступа передает их на сервер RADIUS.
  • RADIUS проверяет базу данных (например, Active Directory). Если сотрудник действующий, сервер генерирует уникальный ключ шифрования только для этого ноутбука и разрешает доступ.
  • Если сотрудник увольняется, администратор просто отключает его учетную запись на сервере. Доступ к Wi-Fi для этого человека мгновенно прекращается, а остальным 499 сотрудникам ничего менять не нужно.

    Резюме для этичного хакера

    Понимание эволюции протоколов Wi-Fi — это не просто история технологий, это понимание векторов атак.

    Сталкиваясь с WEP, вы знаете, что сеть можно взломать за минуты путем сбора IV. Сталкиваясь с WPA2-Personal, ваша стратегия — перехват 4-Way Handshake и мощный офлайн-брутфорс по качественным словарям. Сталкиваясь с WPA3, вы понимаете, что криптографические атаки практически бесполезны, и вектор аудита должен сместиться в сторону социальной инженерии, атак на инфраструктуру (Rogue AP / Evil Twin) или поиска уязвимостей в веб-интерфейсе самого роутера.

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

    13. Анализ сетевого трафика: чтение дампов и работа со снифферами

    Анализ сетевого трафика: чтение дампов и работа со снифферами

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

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

    Что такое сниффер и как он работает

    Сетевой адаптер вашего компьютера (Wi-Fi модуль или порт Ethernet) в нормальном режиме работы работает как строгий секретарь. Он получает из среды передачи данных абсолютно все электрические или радиосигналы, но передает в операционную систему только те кадры, в которых MAC-адрес получателя совпадает с MAC-адресом самого адаптера (а также широковещательные запросы).

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

    Сниффер (от англ. sniff — нюхать) — это программное или аппаратно-программное обеспечение, предназначенное для перехвата и анализа проходящего через него сетевого трафика.

    Чтобы сниффер мог увидеть «чужой» трафик, сетевой адаптер необходимо перевести в специальный режим работы:

  • В проводных сетях (Ethernet) это называется Неразборчивый режим (Promiscuous mode). В этом режиме драйвер сетевой карты отключает аппаратный фильтр MAC-адресов и передает в операционную систему копии абсолютно всех кадров, которые физически доходят до порта.
  • В беспроводных сетях (Wi-Fi) используется Режим монитора (Monitor mode), о котором мы говорили в предыдущей статье. Он позволяет захватывать радиокадры в эфире без необходимости подключения к конкретной точке доступа.
  • > «Пакеты не лгут. Логи серверов можно подделать, вредоносный файл можно удалить, но если данные прошли по сети, они навсегда оставили свой след в дампе трафика». > > Network Challenge

    Wireshark: микроскоп сетевого инженера

    Безусловным индустриальным стандартом для анализа трафика является программа Wireshark. Это бесплатный сниффер с открытым исходным кодом, который понимает тысячи различных сетевых протоколов.

    Результат перехвата трафика сохраняется в специальный файл — Дамп сети (Network Dump). Чаще всего используется формат PCAP (Packet Capture) или его современная версия PCAPNG. Дамп содержит точные копии всех перехваченных пакетов с метками времени вплоть до микросекунд.

    Интерфейс Wireshark гениален в своей простоте и состоит из трех главных панелей, которые идеально отражают процесс декапсуляции данных.

    !Схема интерфейса Wireshark: соответствие трех панелей программы эталонной модели OSI и процессу декапсуляции пакета

    1. Список пакетов (Packet List)

    Верхняя панель показывает все перехваченные пакеты в хронологическом порядке. Каждая строка — это один пакет. Здесь отображается базовая информация: номер по порядку, точное время перехвата, IP-адрес отправителя, IP-адрес получателя, протокол самого высокого уровня (который Wireshark смог распознать) и краткая информационная сводка.

    2. Детали пакета (Packet Details)

    Средняя панель — это сердце анализатора. Если вы выделите любой пакет в верхнем списке, здесь появится его подробная структура, разложенная строго по уровням модели OSI или стека TCP/IP. Вы можете раскрывать каждый уровень как папку:
  • Frame (Физический уровень): метаданные о времени захвата и размере пакета.
  • Ethernet II (Канальный уровень): MAC-адреса отправителя и получателя.
  • Internet Protocol (Сетевой уровень): IP-адреса, параметр TTL, флаги фрагментации.
  • Transmission Control Protocol (Транспортный уровень): порты источника и назначения, номера Sequence и Acknowledgment, флаги (SYN, ACK, FIN).
  • Hypertext Transfer Protocol (Прикладной уровень): полезная нагрузка, например, HTTP-заголовки или тело запроса.
  • 3. Байты пакета (Packet Bytes)

    Нижняя панель показывает «сырые» данные пакета в том виде, в котором они были переданы по сети — в шестнадцатеричном формате (Hex) слева и в виде декодированных ASCII-символов справа. Если вы кликнете на MAC-адрес в средней панели, в нижней панели подсветятся именно те 6 байт, которые за него отвечают.

    Искусство фильтрации: поиск иголки в стоге сена

    Главная проблема при анализе трафика — это его колоссальный объем. Современные сети передают огромные массивы данных.

    Давайте посчитаем объем дампа для загруженного гигабитного канала:

    Где — объем данных в мегабайтах, — скорость канала в мегабитах в секунду (1000 Мбит/с), — время захвата в секундах, а деление на 8 переводит биты в байты.

    При полной загрузке канала за одну минуту сниффер запишет:

    Это означает, что всего за 60 секунд вы получите файл дампа размером 7.5 Гигабайт, содержащий миллионы пакетов. Найти среди них один вредоносный запрос без фильтров физически невозможно.

    Wireshark использует мощную систему Display Filters (Фильтры отображения). Они не удаляют пакеты из памяти, а лишь скрывают те, которые не соответствуют заданному логическому условию.

    | Задача аналитика | Синтаксис фильтра Wireshark | Пояснение | | :--- | :--- | :--- | | Найти трафик конкретного узла | ip.addr == 192.168.1.50 | Покажет все пакеты, где этот IP является либо отправителем, либо получателем. | | Отфильтровать по порту | tcp.port == 443 | Оставит только HTTPS-трафик (порт 443). | | Найти конкретный HTTP-метод | http.request.method == "POST" | Покажет только запросы на отправку данных (например, ввод логина и пароля). | | Исключить «шум» | !(arp or icmp) | Уберет из выдачи служебные протоколы ARP и пинги (ICMP). | | Комбинированный поиск | ip.src == 10.0.0.5 and tcp.flags.syn == 1 | Покажет пакеты, отправленные с адреса 10.0.0.5, у которых установлен флаг SYN (начало TCP-соединения). |

    !Интерактивный тренажер фильтров Wireshark: введите логическое условие, чтобы увидеть, какие пакеты останутся на экране

    Восстановление сессий: Follow TCP Stream

    Пакеты редко существуют сами по себе. Когда вы скачиваете картинку с сайта, она разбивается на сотни TCP-сегментов. В списке пакетов Wireshark они выглядят как разрозненные строки, перемешанные с трафиком от других приложений (например, фоновыми обновлениями ОС или сообщениями из мессенджера).

    Для удобства анализа в Wireshark есть функция Follow TCP Stream (Следовать за TCP-потоком).

    Когда аналитик применяет эту функцию к одному из пакетов, программа делает следующее:

  • Находит все пакеты с идентичной комбинацией четырех параметров: IP-отправителя, IP-получателя, Порт-отправителя, Порт-получателя.
  • Выстраивает их в правильном порядке, ориентируясь на TCP Sequence Numbers (номера последовательности).
  • Отбрасывает все служебные заголовки (MAC, IP, TCP).
  • Склеивает полезную нагрузку (Payload) и выводит ее в отдельном окне в виде связного текста.
  • Если трафик не был зашифрован (например, использовался протокол HTTP или FTP), аналитик увидит точную копию того, что видел пользователь: HTML-код страницы, переданные файлы или введенные пароли в открытом виде. Красным цветом обычно подсвечиваются запросы клиента, а синим — ответы сервера.

    Выявление сетевых аномалий и атак

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

    Рассмотрим несколько классических примеров.

    1. Сканирование портов (Port Scanning)

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

    Если используется скрытное SYN-сканирование, аналитик увидит следующую картину:

  • Атакующий отправляет пакет с флагом SYN на порт 80.
  • Сервер отвечает SYN-ACK (порт открыт).
  • Атакующий немедленно отправляет RST (Reset), грубо обрывая соединение, чтобы оно не попало в логи веб-сервера.
  • Фильтр tcp.flags.reset == 1 часто помогает выявить такие аномалии.

    2. Атака ARP Spoofing (Отравление ARP)

    В норме протокол ARP используется редко: компьютер спрашивает «У кого IP 192.168.1.1?», получает ответ с MAC-адресом роутера и кэширует его на несколько минут.

    Если в сети работает хакер, реализующий атаку Man-in-the-Middle, дамп трафика наполнится сотнями непрошеных ARP-ответов (ARP Replies). Хакер будет безостановочно рассылать широковещательные пакеты, сообщающие: «IP-адрес роутера 192.168.1.1 теперь находится на моем MAC-адресе».

    Аналитик, применив фильтр arp.opcode == 2 (показать только ответы ARP), увидит шторм пакетов, исходящих от одного MAC-адреса, который пытается присвоить себе чужой IP.

    3. Эксфильтрация данных через DNS

    Иногда злоумышленники, проникнув во внутреннюю сеть компании, не могут выгрузить украденные данные напрямую из-за строгих правил фаервола, который блокирует исходящие HTTP/FTP соединения. Однако DNS-запросы (порт 53) почти всегда разрешены для работы интернета.

    Хакер разбивает украденный файл (например, базу паролей) на мелкие кусочки, кодирует их в формат Base64 и подставляет в качестве поддоменов к своему серверу.

    В Wireshark это выглядит как сотни странных DNS-запросов: A? cGFzc3dvcmQxMjM.hacker-domain.com A? YWRtaW46cGFzcw.hacker-domain.com

    Обычный DNS-трафик содержит запросы к известным доменам (google.com, microsoft.com). Длинные, бессмысленные строки в DNS-запросах — верный признак туннелирования или эксфильтрации.

    Проблема шифрования: когда пакеты молчат

    В современном интернете более 90% трафика зашифровано с помощью протокола TLS (HTTPS). Если вы перехватите такой трафик и нажмете Follow TCP Stream, вместо читаемого HTTP-запроса вы увидите бессмысленный набор символов (кракозябры).

    Сниффер видит MAC-адреса, IP-адреса и порты (поскольку они нужны оборудованию для доставки пакета), но полезная нагрузка прикладного уровня надежно скрыта криптографией.

    Означает ли это, что Wireshark бесполезен в современных сетях? Нет. Существует два подхода к работе с зашифрованным трафиком:

  • Анализ метаданных. Даже не видя содержимого, аналитик может сделать выводы по косвенным признакам. К какому IP-адресу идет подключение? Каков объем переданных данных? В какое время произошел обмен? Например, если рабочая станция бухгалтера в 3 часа ночи устанавливает зашифрованное соединение с IP-адресом, принадлежащим известному ботнету, и передает туда 5 Гигабайт данных — содержимое пакетов уже не имеет значения, инцидент налицо.
  • Расшифровка на лету (SSL Decryption). В корпоративных сетях или лабораторных условиях (при анализе вредоносного ПО) специалисты могут настроить операционную систему так, чтобы она сохраняла сессионные ключи шифрования в специальный текстовый файл (переменная окружения SSLKEYLOGFILE). Если скормить этот файл Wireshark, программа сможет математически расшифровать перехваченный дамп и показать HTTPS-трафик в открытом виде.
  • Понимание того, как читать сетевые дампы, переводит специалиста с уровня «пользователь утилит» на уровень инженера, понимающего фундаментальные процессы. Вы перестаете слепо доверять выводам автоматических сканеров и получаете возможность самостоятельно верифицировать любую сетевую активность.

    В следующей статье мы подробно разберем механизмы, которые делают современный интернет безопасным, и погрузимся в основы криптографии: изучим разницу между симметричным и асимметричным шифрованием, хешированием и инфраструктурой открытых ключей (PKI).

    14. Сканирование сетей: теория обнаружения открытых портов и сервисов

    Сканирование сетей: теория обнаружения открытых портов и сервисов

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

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

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

    Анатомия сетевого адреса: IP и Порты

    Чтобы понять логику сканирования, необходимо вспомнить, как устройства находят друг друга.

    IP-адрес (например, 192.168.1.50) указывает на конкретное устройство в сети. Это аналог почтового адреса многоквартирного дома. Однако на одном сервере может одновременно работать множество программ: веб-сайт, почтовый сервер, файловое хранилище. Если пакет просто придет на IP-адрес, операционная система не поймет, какому именно приложению его передать.

    Для решения этой проблемы на Транспортном уровне (L4) модели OSI используются порты.

    Порт — это числовой идентификатор от 0 до 65535, который указывает на конкретный процесс или службу внутри устройства. Это номера квартир в нашем многоквартирном доме.

    > Комбинация IP-адреса и порта называется сокетом (Socket). Например, запись 192.168.1.50:80 означает: «обратиться к устройству с адресом 192.168.1.50 и передать данные приложению, которое слушает порт 80».

    Исторически сложилось так, что первые 1024 порта закреплены за стандартными, общеизвестными сервисами (Well-known ports):

  • Порт 22 — SSH (безопасное удаленное управление)
  • Порт 53 — DNS (разрешение доменных имен)
  • Порт 80 — HTTP (незашифрованный веб-трафик)
  • Порт 443 — HTTPS (защищенный веб-трафик)
  • Остальные порты (до 65535) могут использоваться приложениями динамически или назначаться администраторами для нестандартных задач.

    Многие начинающие специалисты совершают критическую ошибку: они проверяют только стандартные порты. Злоумышленники прекрасно об этом знают и часто прячут вредоносные программы (бэкдоры) или тестовые уязвимые сервисы на высоких, нестандартных портах, например, 49152 или 65000.

    !Визуализация концепции IP-адресов и портов: многоквартирный дом, где каждая дверь ведет к определенному сервису

    Три состояния порта

    Когда сканер (например, индустриальный стандарт Nmap) отправляет пакет на определенный порт, он анализирует ответ, чтобы присвоить порту одно из трех основных состояний. Понимание этих состояний — фундамент сетевой разведки.

    1. Открыт (Open)

    Приложение на целевом узле активно прослушивает этот порт и готово принимать соединения.

    Для этичного хакера открытый порт — это потенциальный вектор атаки. Это та самая «дверь», через которую можно попытаться взаимодействовать с сервисом: отправить ему легитимный запрос, попытаться подобрать пароль или применить эксплойт (программу, эксплуатирующую уязвимость).

    2. Закрыт (Closed)

    Устройство находится в сети, оно получило наш пакет, но на данном порту не запущено ни одно приложение.

    Операционная система честно отвечает сканеру: «Здесь никого нет, соединение отклонено». Закрытые порты полезны для подтверждения того, что сам хост жив (IP-адрес активен), но атаковать через них невозможно, так как нет программы, которая могла бы обработать вредоносные данные.

    3. Отфильтрован (Filtered)

    Самое интригующее состояние. Сканер отправляет пакет, но не получает никакого ответа, либо получает сообщение об ошибке от промежуточного устройства.

    Это означает, что между нами и целевым портом стоит межсетевой экран (Firewall) или система предотвращения вторжений (IPS). Пакет был уничтожен (Drop) по пути. Сканер не может определить, открыт порт на самом деле или закрыт, потому что его запросы просто не доходят до цели.

    Методология сканирования: как стучать в двери

    Существует множество способов проверить состояние порта. Они отличаются по уровню скрытности, скорости и надежности. Рассмотрим три фундаментальных метода.

    TCP Connect Scan (Полное соединение)

    Это самый базовый и «вежливый» метод сканирования. Он использует стандартный механизм тройного рукопожатия (3-Way Handshake) протокола TCP, который мы изучали ранее.

  • Сканер отправляет пакет с флагом SYN (запрос на синхронизацию).
  • Если порт открыт, сервер отвечает SYN-ACK (согласие).
  • Сканер отправляет ACK (подтверждение). Соединение установлено.
  • Поняв, что порт открыт, сканер немедленно отправляет пакет RST (Reset), чтобы разорвать только что созданное соединение.
  • Плюсы: Не требует прав администратора (root) на компьютере сканирующего, так как использует стандартные функции операционной системы для работы с сетью. Минусы: Очень шумный. Поскольку соединение устанавливается полностью, приложение на сервере (например, веб-сервер Apache) зафиксирует это подключение в своих логах. Системный администратор легко увидит, что кто-то перебирает порты.

    TCP SYN Scan (Полуоткрытое сканирование)

    Этот метод часто называют «скрытным» (Stealth Scan). Он является стандартом де-факто в профессиональной среде и используется в Nmap по умолчанию (если у пользователя есть права администратора).

    Логика заключается в том, чтобы прервать рукопожатие до его завершения:

  • Сканер отправляет SYN.
  • Сервер отвечает SYN-ACK (порт открыт).
  • Вместо завершающего ACK, сканер грубо обрывает связь, отправляя RST.
  • Поскольку полноценное соединение так и не было установлено, большинство прикладных программ (веб-серверы, базы данных) не запишут этот инцидент в свои журналы. Для них это выглядит как технический сбой на линии. Однако современные системы обнаружения вторжений (IDS) на уровне сети легко распознают паттерн из тысяч SYN-пакетов, летящих на разные порты.

    !Интерактивная симуляция сканирования портов: сравнение TCP Connect и TCP SYN сканирования с пошаговой визуализацией обмена пакетами

    UDP Scan (Сканирование датаграмм)

    Протокол UDP работает без установки соединения. Он не использует рукопожатия, флаги SYN или ACK. Это делает сканирование UDP-портов крайне медленным и ненадежным процессом.

    Как это работает:

  • Сканер отправляет пустой UDP-пакет на порт.
  • Если порт закрыт, операционная система цели обычно отвечает служебным сообщением протокола ICMP: Destination Port Unreachable (Порт недоступен).
  • Если порт открыт, сервис чаще всего просто «проглатывает» пакет и ничего не отвечает (ведь UDP не требует подтверждений).
  • Проблема в том, что отсутствие ответа может означать как то, что порт открыт, так и то, что пакет был молча уничтожен фаерволом (состояние Filtered). Чтобы отличить одно от другого, сканерам приходится отправлять специфические запросы, понятные конкретным UDP-сервисам (например, правильный DNS-запрос на порт 53), и ждать осмысленного ответа.

    > Из-за архитектурных особенностей сканирование всех 65535 UDP-портов может занять часы, тогда как TCP-сканирование той же сети завершится за пару минут.

    Обнаружение версий: кто именно за дверью?

    Узнать, что порт 80 открыт — это лишь половина дела. По стандарту там должен работать веб-сервер (HTTP). Но какой именно? Это современный и безопасный Nginx, или древняя, дырявая версия Microsoft IIS десятилетней давности? А может, системный администратор решил запутать хакеров и повесил на 80-й порт службу удаленного доступа SSH?

    Для этичного хакера критически важно знать точную версию программного обеспечения. Имея версию (например, Apache 2.4.49), можно открыть публичные базы уязвимостей (CVE) и проверить, существуют ли для этой программы готовые эксплойты.

    Процесс определения сервиса называется Service Enumeration или Banner Grabbing.

    Как сканер понимает, что перед ним:

  • Чтение баннеров. Многие программы при подключении к ним сами радостно сообщают свое имя и версию. Например, FTP-сервер может прислать строку: 220 ProFTPD 1.3.5 Server ready.
  • Анализ отпечатков (Fingerprinting). Если сервис молчит, сканер начинает отправлять ему заведомо некорректные или нестандартные запросы. Разные программы по-разному реагируют на ошибки. Анализируя структуру сообщения об ошибке, сканер сверяет её со своей огромной базой данных и делает вывод: «Так на эту ошибку реагирует только MySQL версии 5.7».
  • Стратегии защиты от сканирования

    Сканирование портов само по себе не является взломом. Это сбор информации. Однако это всегда первый шаг к атаке. Как защитить свою инфраструктуру от излишнего любопытства?

    1. Политика Default-Deny (Запрещено всё, что не разрешено)

    Это золотое правило настройки межсетевых экранов. Фаервол должен блокировать абсолютно все входящие соединения извне, кроме тех портов, которые критически необходимы для работы бизнеса (например, 80 и 443 для веб-сайта).

    При этом фаервол следует настраивать на Drop (молчаливое уничтожение пакетов), а не на Reject (отправка ответа об отказе). Режим Drop заставляет сканер злоумышленника долго ждать ответа (тайм-аут), что катастрофически замедляет процесс сканирования всей сети.

    2. Port Knocking (Стук в порты)

    Это элегантный метод скрытия сервисов (например, SSH для администратора). Суть в том, что порт управления изначально закрыт фаерволом для всех.

    Чтобы он открылся, администратор должен отправить серию пакетов на определенную последовательность закрытых портов (например, «постучать» в порты 1000, 2000, 3000). Фаервол замечает эту секретную комбинацию и временно открывает порт 22 только для IP-адреса администратора. Для любого внешнего сканера порт 22 будет выглядеть как Filtered.

    3. Системы обнаружения вторжений (IDS/IPS)

    Современные системы безопасности (например, Snort или Suricata) анализируют сетевой трафик в реальном времени. Если они видят, что один IP-адрес за секунду пытается подключиться к сотне разных портов, они распознают это как сканирование (Port Scan) и автоматически вносят IP-адрес атакующего в черный список, блокируя ему любой доступ к сети.

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

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

    15. Сетевая криптография: симметричное шифрование, хеширование и открытые ключи

    Сетевая криптография: симметричное шифрование, хеширование и открытые ключи

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

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

    В основе защиты данных лежат три базовых принципа, известных как триада ЦИА (CIA Triad): конфиденциальность, целостность и доступность. В контексте криптографии нас больше всего интересуют первые два, а также дополнительный принцип — аутентификация (подтверждение авторства).

    Принцип Керкгоффса: почему алгоритмы должны быть открытыми

    Прежде чем погружаться в технические детали, необходимо усвоить главное правило современной криптографии, сформулированное голландским лингвистом Огюстом Керкгоффсом еще в 1883 году.

    > Система должна оставаться безопасной, даже если всё о ней, кроме ключа, известно. > > Принцип Керкгоффса

    Исторически многие пытались защитить данные, скрывая сам алгоритм шифрования (Security through obscurity — безопасность через неясность). Это провальная стратегия. Если алгоритм станет известен злоумышленнику (например, через реверс-инжиниринг программы), вся система рухнет.

    Современные криптографические алгоритмы (такие как AES или RSA) абсолютно публичны. Их исходный код изучают тысячи математиков по всему миру, пытаясь найти уязвимости. Безопасность строится исключительно на секретности ключа — уникальной последовательности бит, которая используется в математических преобразованиях.

    Симметричное шифрование: один ключ для двух замков

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

    Процесс можно описать простой математической моделью:

    Где:

  • — функция шифрования (Encryption)
  • — функция расшифровки (Decryption)
  • — открытый текст, исходное сообщение (Message)
  • — шифротекст, зашифрованные данные (Ciphertext)
  • — секретный симметричный ключ (Key)
  • Представьте, что Алиса хочет отправить Бобу секретный документ. Она кладет его в прочный металлический ящик и вешает навесной замок. У Алисы и Боба есть два абсолютно одинаковых ключа от этого замка. Алиса запирает ящик своим ключом и отправляет его почтой. Даже если курьер (злоумышленник) перехватит ящик, он не сможет его открыть. Когда Боб получает посылку, он открывает замок своей копией ключа.

    Стандарт AES (Advanced Encryption Standard)

    Сегодня золотым стандартом симметричного шифрования является алгоритм AES. Он работает с блоками данных фиксированного размера (128 бит) и использует ключи длиной 128, 192 или 256 бит.

    AES выполняет множество циклов (раундов) математических преобразований: он заменяет байты по специальным таблицам, сдвигает строки, перемешивает столбцы и складывает результат с фрагментами секретного ключа.

    Пример из практики: если вы зашифруете файл алгоритмом AES-256, то для перебора всех возможных вариантов ключа (брутфорса) современным суперкомпьютерам потребуются миллионы лет. Математически алгоритм считается неприступным.

    Проблема распределения ключей

    Симметричное шифрование работает невероятно быстро и идеально подходит для шифрования больших объемов данных (например, жестких дисков или потокового видео). Но у него есть один фатальный недостаток в контексте компьютерных сетей.

    Как Алиса и Боб изначально договорятся о секретном ключе , если они находятся на разных континентах и общаются только через интернет, который прослушивается?

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

    Асимметричная криптография: публичные и приватные ключи

    В 1970-х годах была изобретена асимметричная криптография (криптография с открытым ключом). Она навсегда изменила принципы безопасного общения в сетях.

    Вместо одного ключа генерируется математически связанная пара ключей:

  • Публичный ключ (Public Key) — открытый ключ, который можно и нужно раздавать абсолютно всем желающим. Он не является секретом.
  • Приватный ключ (Private Key) — закрытый ключ, который хранится в строжайшей тайне у его владельца и никогда не передается по сети.
  • Главное математическое свойство этой пары: то, что зашифровано публичным ключом, может быть расшифровано ТОЛЬКО соответствующим ему приватным ключом.

    !Схема асимметричного шифрования: использование публичного и приватного ключей

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

    Когда Алиса хочет написать Бобу, она кладет письмо в ящик и защелкивает на нем открытый замок Боба. Щелк! С этого момента открыть ящик не может никто — даже сама Алиса. Ящик спокойно путешествует по интернету. Когда он доходит до Боба, тот достает свой уникальный приватный ключ и открывает замок.

    Алгоритм RSA

    Самым известным асимметричным алгоритмом является RSA (назван по первым буквам фамилий создателей: Ривест, Шамир, Адлеман). Его безопасность базируется на вычислительной сложности факторизации больших чисел.

    Простыми словами: компьютеру очень легко перемножить два огромных простых числа (например, длиной в сотни цифр), чтобы получить их произведение. Но если дать компьютеру это гигантское произведение и попросить найти те два исходных простых числа, из которых оно состоит — на это уйдут тысячелетия. Произведение становится основой публичного ключа, а исходные простые числа — основой приватного.

    | Характеристика | Симметричное шифрование | Асимметричное шифрование | | :--- | :--- | :--- | | Количество ключей | Один (общий секрет) | Два (публичный и приватный) | | Скорость работы | Очень высокая | Очень низкая (требует много ресурсов) | | Главная проблема | Как безопасно передать ключ? | Медлительность при больших объемах данных | | Примеры алгоритмов | AES, ChaCha20, DES (устарел) | RSA, ECC (эллиптические кривые) |

    На практике в сетях (например, в протоколе HTTPS) используется гибридный подход. Асимметричная криптография применяется только в самом начале сеанса связи, чтобы Алиса и Боб могли безопасно передать друг другу симметричный ключ. А затем весь тяжелый трафик шифруется быстрым симметричным алгоритмом AES.

    Хеширование: цифровые отпечатки пальцев

    Шифрование обеспечивает конфиденциальность — скрывает данные от чужих глаз. Но как убедиться в их целостности? Как узнать, что хакер не перехватил зашифрованный пакет и не изменил в нем пару случайных байтов по пути?

    Для этого используется хеширование.

    Хеш-функция — это математический алгоритм, который принимает на вход данные любого размера (пароль из 5 символов, текстовый документ или видеофайл на 10 гигабайт) и превращает их в строку фиксированной длины (хеш-сумму).

    Важнейшие свойства криптографических хеш-функций:

  • Односторонность. Из хеша невозможно восстановить исходные данные. Это не шифрование, это мясорубка. Из куска мяса можно сделать фарш, но из фарша собрать исходный кусок мяса нельзя.
  • Детерминированность. Один и тот же файл всегда будет давать абсолютно одинаковый хеш.
  • Уникальность (защита от коллизий). Найти два разных файла, которые дадут одинаковый хеш, математически почти невозможно.
  • Лавинный эффект. Изменение хотя бы одного бита во входных данных (например, замена запятой на точку в договоре) полностью и до неузнаваемости меняет итоговый хеш.
  • !Интерактивный хеш-калькулятор — демонстрирует лавинный эффект при изменении входных данных

    Самым распространенным алгоритмом хеширования сегодня является SHA-256 (Secure Hash Algorithm), который всегда выдает строку длиной 256 бит (64 шестнадцатеричных символа).

    Пример использования: когда вы скачиваете дистрибутив операционной системы (например, Kali Linux), разработчики публикуют на сайте его SHA-256 хеш. Скачав файл, вы вычисляете его хеш на своем компьютере. Если строки совпадают символ в символ — файл скачался без ошибок и в него не был внедрен вирус на промежуточном сервере.

    Также хеширование — это единственный правильный способ хранения паролей в базах данных. Сервер никогда не хранит ваш пароль qwerty12345. Он хранит только его хеш. Когда вы вводите пароль при авторизации, сервер хеширует то, что вы ввели, и сравнивает с хешем из базы. Если хакер украдет базу данных, он получит только бесполезные хеши, из которых нельзя извлечь пароли пользователей.

    Электронная цифровая подпись (ЭЦП)

    Мы решили проблему скрытности (шифрование) и проблему целостности (хеширование). Осталась последняя задача — аутентификация.

    Представьте, что Боб получает письмо, зашифрованное его публичным ключом. Внутри написано: "Переведи 1000 долларов на этот счет. Твоя мама". Боб расшифровал письмо своим приватным ключом. Но как ему доказать, что письмо действительно написала его мама, а не хакер, который просто скачал публичный ключ Боба (ведь он доступен всем)?

    Здесь на помощь приходит магия асимметричной криптографии, работающая в обратную сторону.

    Помните правило? То, что зашифровано публичным ключом, расшифровывается приватным. Но верно и обратное: то, что зашифровано приватным ключом, может быть расшифровано публичным.

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

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

    На практике шифровать весь файл приватным ключом слишком долго. Поэтому процесс создания цифровой подписи выглядит так:

  • Алиса берет свой документ (например, контракт) и пропускает его через хеш-функцию (SHA-256). Получается короткий уникальный хеш.
  • Алиса шифрует только этот хеш своим приватным ключом. Этот зашифрованный хеш и есть Цифровая подпись.
  • Алиса отправляет Бобу сам документ (в открытом виде) и прикрепленную к нему цифровую подпись.
  • Как Боб проверяет подпись:

  • Боб берет документ Алисы и сам вычисляет его хеш с помощью SHA-256.
  • Боб берет цифровую подпись Алисы и расшифровывает ее с помощью публичного ключа Алисы. В результате он получает оригинальный хеш, который вычислила Алиса.
  • Боб сравнивает два хеша. Если они совпадают, значит: а) документ не был изменен в пути (целостность) и б) его точно подписала Алиса (аутентификация).
  • Инфраструктура открытых ключей (PKI)

    Вся эта стройная система имеет одну уязвимость, известную как атака "Человек посередине" (Man-in-the-Middle).

    Что, если хакер Ева создаст свою пару ключей, назовет свой публичный ключ "Ключом Алисы" и подсунет его Бобу? Боб будет проверять подписи Евы, думая, что общается с Алисой.

    Чтобы этого избежать, в сетях существует Инфраструктура открытых ключей (PKI) и Удостоверяющие центры (Certificate Authorities, CA).

    Удостоверяющий центр — это независимая, всемирно доверенная организация (например, DigiCert или Let's Encrypt). Когда Алиса (или веб-сайт) хочет раздать свой публичный ключ, она идет в Удостоверяющий центр, предъявляет паспорт (или доказывает владение доменом) и отдает свой публичный ключ.

    Удостоверяющий центр берет публичный ключ Алисы, добавляет к нему информацию о ней и подписывает этот пакет своим собственным приватным ключом. Получившийся документ называется Цифровым сертификатом (стандарт X.509).

    Публичные ключи самих Удостоверяющих центров заранее вшиты в операционные системы (Windows, macOS) и браузеры (Chrome, Firefox). Поэтому ваш компьютер всегда может криптографически проверить, действительно ли публичный ключ сайта google.com принадлежит компании Google, проверив подпись доверенного центра на их сертификате.

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

    16. Защищенные протоколы: архитектура TLS, VPN и безопасный удаленный доступ

    Защищенные протоколы: архитектура TLS, VPN и безопасный удаленный доступ

    В предыдущей статье мы разобрали математический фундамент информационной безопасности: симметричное и асимметричное шифрование, хеширование и инфраструктуру открытых ключей (PKI). Однако сама по себе математика не защищает данные. Чтобы криптография работала в реальном интернете, ее необходимо встроить в сетевые протоколы.

    Исторически интернет создавался на основе абсолютного доверия. Базовые протоколы прикладного уровня, такие как HTTP (передача веб-страниц), FTP (передача файлов) или Telnet (удаленное управление), передают данные в открытом виде — обычным текстом (Plaintext). Если этичный хакер или злоумышленник подключится к той же сети и запустит сниффер (например, Wireshark), он увидит каждый переданный байт, включая логины, пароли и содержимое личных сообщений.

    Для решения этой проблемы были разработаны защищенные протоколы — криптографические «обертки», которые обеспечивают конфиденциальность, целостность и аутентификацию данных при передаче через недоверенные сети. В этой статье мы подробно разберем архитектуру трех главных столпов сетевой безопасности: TLS, SSH и VPN.

    Эволюция защиты веба: от SSL к TLS

    Когда в 1990-х годах в интернете появилась электронная коммерция, стало очевидно, что передавать номера кредитных карт по открытому протоколу HTTP нельзя. Компания Netscape разработала протокол SSL (Secure Sockets Layer), который добавлял слой шифрования между транспортным (TCP) и прикладным (HTTP) уровнями.

    Со временем в SSL были найдены критические уязвимости. Протокол был передан инженерному совету интернета (IETF), переименован в TLS (Transport Layer Security) и с тех пор постоянно совершенствуется. Сегодня стандартом де-факто является версия TLS 1.3, а все версии SSL и ранние версии TLS (1.0 и 1.1) признаны устаревшими и небезопасными.

    > Важно понимать терминологию: когда вы видите в браузере https://, это означает не какой-то отдельный протокол, а обычный HTTP, данные которого инкапсулируются и шифруются протоколом TLS перед отправкой по сети. > > Основы протокола TLS для безопасности Интернета

    Как работает TLS: Анатомия рукопожатия

    Протокол TLS решает классическую криптографическую задачу: как двум узлам (браузеру и серверу) безопасно договориться о едином симметричном ключе шифрования, общаясь через прослушиваемую сеть. Этот процесс называется TLS Handshake (TLS-рукопожатие).

    В современной версии TLS 1.3 рукопожатие оптимизировано и происходит всего за один цикл обмена сообщениями (1-RTT):

  • Client Hello. Браузер отправляет серверу приветственное сообщение. В нем содержится список поддерживаемых алгоритмов шифрования (Cipher Suites) и случайное число (Client Random).
  • Server Hello & Certificate. Сервер выбирает самый надежный алгоритм из предложенных клиентом, генерирует свое случайное число (Server Random) и отправляет свой цифровой сертификат (содержащий публичный ключ сервера, заверенный Удостоверяющим центром).
  • Key Exchange (Обмен ключами). Используя асимметричную криптографию (алгоритм Диффи-Хеллмана), клиент и сервер математически вычисляют общий секрет. При этом сам секрет по сети не передается — передаются только математические параметры, из которых каждая сторона вычисляет одинаковый результат.
  • Finished. Стороны подтверждают, что рукопожатие завершено. С этого момента весь дальнейший трафик (например, HTTP-запросы) шифруется быстрым симметричным алгоритмом (например, AES-256) с использованием вычисленного общего ключа.
  • !Интерактивная схема TLS-рукопожатия

    Совершенная прямая секретность (PFS)

    В старых версиях TLS (до 1.2 включительно) часто использовался алгоритм RSA для обмена ключами. Клиент генерировал симметричный ключ, шифровал его публичным ключом сервера и отправлял по сети.

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

    Современный TLS 1.3 требует обязательного использования свойства Perfect Forward Secrecy (PFS). При PFS для каждой новой сессии генерируется уникальная пара временных ключей. Даже если хакер украдет главный приватный ключ сервера сегодня, он не сможет расшифровать вчерашний трафик, потому что временные ключи, использованные вчера, были уничтожены сразу после закрытия сессии.

    Безопасный удаленный доступ: протокол SSH

    Системным администраторам необходимо удаленно управлять серверами и маршрутизаторами. Изначально для этого использовался протокол Telnet, который передавал команды и пароли в открытом виде. Любой сниффер в сети мог перехватить учетные данные администратора.

    На смену Telnet пришел протокол SSH (Secure Shell), работающий на порту 22 TCP. SSH создает защищенный криптографический туннель между клиентом и сервером, обеспечивая надежную аутентификацию и шифрование команд.

    Механизмы аутентификации в SSH

    SSH поддерживает два основных метода подтверждения личности пользователя:

  • По паролю. Традиционный метод. Пароль передается на сервер только после установки зашифрованного туннеля, поэтому перехватить его сниффером невозможно. Однако этот метод уязвим к атакам полного перебора (Brute-force) и словарным атакам.
  • По SSH-ключам (Асимметричная криптография). Золотой стандарт безопасности. Пользователь генерирует пару ключей (публичный и приватный). Публичный ключ копируется на сервер в файл authorized_keys. Приватный ключ остается на компьютере пользователя. При попытке входа сервер отправляет клиенту случайную строку. Клиент подписывает ее своим приватным ключом и возвращает серверу. Сервер проверяет подпись публичным ключом. Если математика сходится — доступ разрешен. Пароль по сети не передается вообще.
  • SSH-туннелирование (Port Forwarding)

    Для этичного хакера SSH — это не просто терминал, это мощный инструмент маршрутизации трафика. SSH позволяет «заворачивать» другие сетевые соединения внутрь своего зашифрованного туннеля. Это называется пробросом портов (Port Forwarding).

    Например, в корпоративной сети есть внутренняя база данных, доступная только локально (порт 3306). Из интернета к ней подключиться нельзя. Но если у вас есть SSH-доступ к веб-серверу в этой же сети, вы можете создать локальный проброс портов:

    ssh -L 8080:database_ip:3306 user@web_server_ip

    Теперь, подключаясь к порту 8080 на своем локальном компьютере, ваш трафик будет зашифрован, передан по SSH на веб-сервер, а веб-сервер расшифрует его и перенаправит на внутреннюю базу данных. Для систем обнаружения вторжений (IDS) этот трафик будет выглядеть как обычная зашифрованная SSH-сессия.

    Виртуальные частные сети (VPN)

    TLS защищает конкретное приложение (например, браузер), а SSH защищает терминальную сессию. Но что делать, если нужно безопасно объединить два офиса в разных городах так, чтобы все компьютеры в них могли общаться друг с другом, как будто они подключены к одному коммутатору? Или как дать удаленному сотруднику полный доступ ко всем корпоративным ресурсам из дома?

    Для этого используется VPN (Virtual Private Network). VPN — это технология, позволяющая организовать логическую (виртуальную) сеть поверх другой сети (например, интернета) с использованием криптографии.

    Архитектуры VPN

    Существует два главных архитектурных подхода к построению VPN:

  • Site-to-Site VPN (Узел-Узел). Соединяет две локальные сети (например, главный офис и филиал). VPN-туннель устанавливается между двумя пограничными маршрутизаторами. Компьютеры внутри сетей даже не знают о существовании VPN — они просто отправляют пакеты на другие IP-адреса, а маршрутизаторы прозрачно шифруют их, передают через интернет и расшифровывают на другой стороне.
  • Remote Access VPN (Удаленный доступ). Соединяет отдельное устройство (ноутбук, смартфон) с корпоративной сетью. На устройстве пользователя устанавливается VPN-клиент, который создает зашифрованный туннель до VPN-шлюза компании. Устройство получает внутренний IP-адрес и становится полноправным участником корпоративной сети.
  • !Архитектура виртуальных частных сетей: Site-to-Site и Remote Access

    Протоколы VPN: IPsec, SSL/TLS и WireGuard

    VPN — это концепция, а реализуется она с помощью различных протоколов. Рассмотрим три самых важных стандарта.

    #### 1. IPsec (Internet Protocol Security)

    IPsec — это набор протоколов, работающий на Сетевом уровне (L3) модели OSI. Он шифрует сами IP-пакеты, независимо от того, какое приложение их сгенерировало. IPsec является стандартом для Site-to-Site соединений.

    IPsec может работать в двух режимах:

  • Транспортный режим (Transport Mode): Шифруется только полезная нагрузка IP-пакета (данные транспортного уровня). Исходный IP-заголовок остается открытым. Используется редко, так как раскрывает IP-адреса отправителя и получателя.
  • Туннельный режим (Tunnel Mode): Весь оригинальный IP-пакет (вместе с заголовками) шифруется и помещается внутрь нового IP-пакета с новыми заголовками. Маршрутизаторы в интернете видят только внешние IP-адреса VPN-шлюзов, но не видят внутренние адреса общающихся узлов.
  • Главный недостаток IPsec — сложность настройки и проблемы с прохождением через NAT (Network Address Translation), так как IPsec использует специфические протоколы (ESP, AH), которые многие домашние роутеры блокируют.

    #### 2. SSL/TLS VPN

    Чтобы обойти проблемы IPsec с NAT и фаерволами, были созданы VPN на базе протокола TLS (например, OpenVPN или SSTP). Они работают на Транспортном (L4) или Прикладном (L7) уровнях.

    Главное преимущество SSL VPN — они используют стандартные порты (например, 443 TCP/UDP), которые открыты в 99% сетей, так как это порт для HTTPS-трафика. Для провайдера или фаервола трафик SSL VPN выглядит как обычный защищенный просмотр веб-сайтов. Это делает их идеальным выбором для Remote Access VPN.

    | Характеристика | IPsec VPN | SSL/TLS VPN (OpenVPN) | | :--- | :--- | :--- | | Уровень модели OSI | Сетевой (L3) | Транспортный/Прикладной (L4/L7) | | Основное применение | Site-to-Site (между офисами) | Remote Access (для пользователей) | | Прохождение через NAT | Затруднено (требует NAT-T) | Отличное (выглядит как HTTPS) | | Сложность настройки | Высокая | Средняя |

    #### 3. WireGuard

    WireGuard — это современный протокол VPN, который произвел революцию в индустрии. В отличие от IPsec и OpenVPN, которые содержат сотни тысяч строк кода и поддерживают десятки устаревших криптографических алгоритмов, WireGuard состоит всего из ~4000 строк кода.

    Он использует только самые современные и быстрые криптографические примитивы (ChaCha20 для симметричного шифрования, Curve25519 для обмена ключами). WireGuard работает исключительно по протоколу UDP, не имеет концепции «установки соединения» (работает как маршрутизация без сохранения состояния) и обеспечивает высочайшую скорость при минимальной нагрузке на процессор.

    Уязвимости и риски VPN (Взгляд этичного хакера)

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

    Раздельное туннелирование (Split Tunneling) Для экономии пропускной способности корпоративного VPN-шлюза администраторы часто включают Split Tunneling. В этом режиме через VPN направляется только трафик, предназначенный для корпоративной сети, а обычный интернет-трафик пользователя идет напрямую через его домашнего провайдера.

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

    Утечки DNS (DNS Leaks) При подключении к VPN весь трафик должен идти через туннель. Однако из-за ошибок конфигурации операционной системы DNS-запросы (преобразование имен сайтов в IP-адреса) могут отправляться в открытом виде через DNS-серверы локального провайдера. В результате провайдер (или злоумышленник в локальной сети) не может прочитать ваш трафик, но видит полный список сайтов и серверов, к которым вы обращаетесь.

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

    17. Этичный хакинг: правовые основы, методология аудита и защита инфраструктуры

    Этичный хакинг: правовые основы, методология аудита и защита инфраструктуры

    На протяжении предыдущих пятнадцати статей мы с вами разбирали фундамент компьютерных сетей: от передачи битов по кабелю до сложной криптографии, защищающей глобальный интернет. Мы изучили, как работают коммутаторы и маршрутизаторы, как устройства находят друг друга по IP и MAC-адресам, и как протоколы вроде TLS и VPN создают защищенные туннели в недоверенной среде.

    Теперь, обладая этими знаниями, вы можете смотреть на любую сеть глазами инженера. Но наша конечная цель — научиться смотреть на нее глазами этичного хакера.

    Многие новички, скачав специализированную операционную систему (например, Kali Linux) и запустив свой первый сетевой сканер, задаются вопросом: «А не нарушаю ли я закон? Не попаду ли я в тюрьму за изучение этих технологий?». Этот страх понятен, ведь в СМИ слово «хакер» прочно ассоциируется с киберпреступниками. В этой статье мы развеем юридические страхи, разберем строгую методологию легального аудита безопасности и поймем, как этичный хакинг помогает защищать инфраструктуру.

    Философия «Шляп»: кто такие этичные хакеры

    В индустрии информационной безопасности (ИБ) специалистов принято классифицировать по «цвету шляпы» — этот термин пришел из старых вестернов, где хорошие парни носили белые шляпы, а плохие — черные.

    | Тип хакера | Описание и мотивация | Отношение к закону | | :--- | :--- | :--- | | Black Hat (Черная шляпа) | Злоумышленники. Ищут и эксплуатируют уязвимости ради финансовой выгоды, кражи данных, шпионажа или вандализма. | Строго незаконно. Нарушают уголовный кодекс. | | White Hat (Белая шляпа) | Этичные хакеры и пентестеры. Взламывают системы только с разрешения владельца, чтобы найти слабые места до того, как их найдут преступники. | Полностью легально. Работают по договору. | | Gray Hat (Серая шляпа) | Исследователи, которые ищут уязвимости без разрешения владельца, но не наносят вреда. Найдя брешь, они сообщают о ней компании (иногда прося вознаграждение). | Находятся в серой зоне. Их действия формально нарушают закон, даже если мотивы благие. |

    > Этичный хакинг — это авторизованная деятельность по поиску уязвимостей в информационных системах с целью их последующего устранения. Главное отличие этичного хакера от преступника заключается не в используемых инструментах (они абсолютно одинаковые), а в наличии разрешения и конструктивной цели.

    Правовые основы и принципы работы

    Чтобы ваша деятельность оставалась в рамках закона (например, не подпадала под статью 272 УК РФ «Неправомерный доступ к компьютерной информации» или аналогичные законы в других странах), необходимо строго соблюдать пять ключевых принципов этичного хакинга.

    1. Авторизация (Правило №1)

    Это абсолютный фундамент. Вы не имеете права сканировать, а тем более атаковать чужую сеть без явного, задокументированного согласия ее владельца. В профессиональной среде это оформляется в виде договора на проведение пентеста (Penetration Test — тестирование на проникновение) и документа Rules of Engagement (Правила взаимодействия), где четко прописано, какие IP-адреса можно атаковать, а какие серверы трогать категорически запрещено.

    2. Конфиденциальность (NDA)

    В процессе аудита этичный хакер неизбежно получает доступ к коммерческой тайне, персональным данным клиентов или критическим уязвимостям. Перед началом работы всегда подписывается NDA (Non-Disclosure Agreement — Соглашение о неразглашении). Утечка информации от пентестера — это конец его карьеры и судебное преследование.

    3. Ограниченность и безопасность

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

    4. Отчетность

    Результат работы Black Hat — украденные деньги. Результат работы White Hat — подробный технический отчет. В нем описывается каждая найденная уязвимость, шаги для ее воспроизведения и, самое главное, конкретные рекомендации по ее устранению.

    Где новичку практиковаться легально?

    Если сканировать чужие сайты нельзя, как тогда учиться? Существует три абсолютно легальных и безопасных пути:

  • Собственные лаборатории. Вы можете развернуть виртуальные машины (например, VirtualBox) на своем компьютере, установить туда уязвимые операционные системы и атаковать их. Это ваша локальная сеть, вы ее владелец — делайте что хотите.
  • CTF-платформы (Capture The Flag). Это специальные обучающие сайты (например, Hack The Box, TryHackMe), где созданы виртуальные сети с искусственными уязвимостями. Ваша задача — легально взломать их и найти спрятанный текстовый флаг, доказав свой успех.
  • Bug Bounty программы. Многие крупные компании (Яндекс, VK, Google, Apple) официально разрешают всем желающим искать уязвимости на их ресурсах по строгим правилам. За найденную и подтвержденную ошибку компания выплачивает денежное вознаграждение.
  • Методология тестирования на проникновение (Пентест)

    Этичный хакинг — это не хаотичный набор команд в терминале. Это строгий, стандартизированный процесс. Большинство профессиональных аудитов строится на базе методологий (например, PTES или OWASP), которые можно свести к пяти основным этапам.

    !Этапы тестирования на проникновение

    Этап 1: Разведка (Reconnaissance)

    Прежде чем атаковать, нужно собрать максимум информации о цели. Этот этап часто называют OSINT (Open-Source Intelligence — разведка по открытым источникам). Хакер изучает структуру компании, ищет забытые поддомены, анализирует DNS-записи (вспомните нашу статью про DNS) и даже собирает email-адреса сотрудников через социальные сети для будущих фишинговых рассылок. На этом этапе хакер вообще не касается серверов жертвы напрямую.

    Этап 2: Сканирование (Scanning)

    Здесь начинается активное взаимодействие с сетью. Используя инструменты вроде Nmap (о которых мы говорили в 14-й статье), пентестер сканирует IP-адреса компании, чтобы найти открытые порты и определить, какие сервисы за ними скрываются (например, веб-сервер на порту 80 или устаревший SSH на порту 22). Далее в ход идут сканеры уязвимостей, которые автоматически сверяют найденные версии программ с базами известных ошибок.

    Этап 3: Эксплуатация (Exploitation)

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

    Этап 4: Пост-эксплуатация (Post-Exploitation)

    Получив первоначальный доступ к одному компьютеру, хакер не останавливается. Его цель — закрепиться в системе (создать скрытого пользователя) и начать горизонтальное перемещение (Pivoting) по внутренней сети. Хакер перехватывает ARP-трафик, собирает хеши паролей из памяти и пытается добраться до «сердца» инфраструктуры — контроллера домена или базы данных.

    Этап 5: Отчетность (Reporting)

    Сбор всех доказательств, логов сетевого трафика и скриншотов в единый документ. Отчет переводится с технического языка на язык бизнеса: руководству компании объясняют, какие риски несут найденные уязвимости и сколько денег компания потеряет при реальной атаке.

    Оценка рисков и защита инфраструктуры

    Зачем компаниям платить деньги за то, чтобы их взламывали? Ответ кроется в математической модели информационной безопасности. В индустрии риск часто оценивается по классической формуле:

    Где: (Risk*) — Итоговый уровень риска для бизнеса. (Threat*) — Угроза (вероятность того, что хакеры попытаются вас атаковать). Мы не можем контролировать этот параметр — в интернете атакуют всех. (Vulnerability*) — Уязвимость (наличие слабых мест в вашей сети). (Impact*) — Ущерб (финансовые или репутационные потери в случае успешной атаки).

    Поскольку компания не может заставить хакеров исчезнуть (снизить ) и не может отказаться от хранения ценных данных (снизить ), единственный способ уменьшить итоговый риск — это снизить количество уязвимостей ().

    Именно для этого нужен этичный хакинг. Понимая, как злоумышленники сканируют порты, перехватывают кадры на канальном уровне (MAC Flooding) или подделывают IP-адреса, инженеры выстраивают эшелонированную защиту (Defense-in-Depth):

  • Сетевая сегментация: Разделение сети на изолированные части с помощью маршрутизаторов и VLAN. Если хакер взломает гостевой Wi-Fi, он не сможет добраться до серверов бухгалтерии.
  • Принцип наименьших привилегий: Пользователи и программы получают ровно столько прав, сколько необходимо для их работы.
  • Шифрование: Использование TLS и VPN (как мы разбирали в прошлой статье), чтобы даже при успешной атаке Man-in-the-Middle (ARP Spoofing) хакер перехватил лишь бесполезный набор зашифрованных байтов.
  • Заключение

    Компьютерные сети — это кровеносная система современного мира. В рамках этого курса мы прошли путь от понимания базовых электрических сигналов до архитектуры глобального интернета. Вы узнали, как работают протоколы, где кроются их фундаментальные слабости и как криптография пытается эти слабости закрыть.

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

    2. Эталонная модель OSI: инкапсуляция и взаимодействие семи уровней

    Эталонная модель OSI: инкапсуляция и взаимодействие семи уровней

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

    Чтобы компьютеры разных производителей, работающие на разных операционных системах, могли понимать друг друга в этом хаосе сигналов, им нужен строгий универсальный стандарт. Таким стандартом стала эталонная модель OSI (Open Systems Interconnection — взаимодействие открытых систем).

    Для этичного хакера и специалиста по информационной безопасности модель OSI — это не просто скучная теория из учебника. Это главная система координат. Когда пентестер ищет уязвимость, он всегда точно знает, на каком «этаже» этой модели он сейчас работает. Невозможно защитить сеть, если вы не понимаете, на каком этапе передачи данных происходит атака.

    Что такое модель OSI и зачем она нужна

    Модель OSI была разработана Международной организацией по стандартизации (ISO) в 1984 году. Важно понимать: OSI — это концептуальная, теоретическая модель. Это не программа, которую можно скачать, и не кабель, который можно потрогать. Это архитектурный шаблон, который делит весь процесс сетевого взаимодействия на семь логических уровней.

    Каждый уровень выполняет строго определенную задачу и взаимодействует только с двумя соседними уровнями: тем, что находится прямо над ним, и тем, что находится прямо под ним.

    > Абстракция уровней — это принцип, при котором каждый слой скрывает детали своей работы от других слоев. Уровню, который прокладывает маршрут по IP-адресам, совершенно неважно, передаются ли данные по медному кабелю или по Wi-Fi. А уровню кабелей неважно, что именно по ним летит — картинка с котиком или зашифрованный пароль от банка.

    !Схема семи уровней модели OSI

    Такое разделение труда позволяет инженерам разрабатывать оборудование и программы независимо друг от друга. Создателям веб-браузера не нужно писать код для управления напряжением в сетевой карте — за них это сделают нижние уровни операционной системы.

    Инкапсуляция и декапсуляция: принцип матрешки

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

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

    Процесс добавления служебных заголовков при движении данных сверху вниз называется инкапсуляцией.

    На каждом уровне получившийся блок данных имеет свое название — PDU (Protocol Data Unit, блок данных протокола): На верхних уровнях (7, 6, 5) это просто Данные (Data*). На 4 уровне данные нарезаются на куски и получают заголовок. Это Сегмент (Segment*). На 3 уровне к сегменту добавляются IP-адреса. Это Пакет (Packet*). На 2 уровне к пакету добавляются MAC-адреса. Это Кадр или Фрейм (Frame*). На 1 уровне кадр превращается в поток нулей и единиц — Биты (Bits*).

    !Интерактивная визуализация инкапсуляции данных

    Когда биты достигают компьютера получателя, начинается обратный процесс — декапсуляция. Данные поднимаются снизу вверх (от 1 к 7 уровню). Каждый уровень читает свой заголовок, выполняет нужные действия, отрывает этот заголовок и передает чистый остаток на уровень выше. В итоге пользователь видит на экране исходную фотографию.

    Взгляд этичного хакера: Понимание инкапсуляции критически важно для анализа сетевого трафика. Когда специалист использует программы-снифферы (например, Wireshark) для перехвата данных, он видит весь этот «слоеный пирог» заголовков. Умение читать заголовки каждого уровня позволяет обнаружить аномалии — например, поддельный IP-адрес или скрытую вредоносную нагрузку внутри легитимного пакета.

    Теперь давайте спустимся по этой лестнице сверху вниз, от интерфейса пользователя к физическим проводам.

    Уровень 7: Прикладной (Application Layer)

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

    Важно не путать: сам веб-браузер (Google Chrome или Safari) не является 7-м уровнем. Прикладной уровень — это протоколы, которые браузер использует для общения с сетью.

    Самые известные протоколы этого уровня: * HTTP/HTTPS — для передачи веб-страниц. * SMTP, IMAP, POP3 — для отправки и получения электронной почты. * FTP — для передачи файлов. * DNS — для преобразования доменных имен (например, google.com) в IP-адреса.

    Взгляд этичного хакера: Прикладной уровень — это огромная поверхность для атак. Именно здесь происходят SQL-инъекции, межсайтовый скриптинг (XSS) и атаки на бизнес-логику веб-приложений. Защита на этом уровне часто реализуется с помощью WAF (Web Application Firewall), который анализирует HTTP-запросы и блокирует те, что содержат вредоносный код.

    Уровень 6: Представительский (Presentation Layer)

    Если 7-й уровень решает, что передавать, то 6-й уровень решает, как это должно выглядеть. Представительский уровень отвечает за кодирование, сжатие и шифрование данных.

    Компьютеры могут использовать разные кодировки текста (например, UTF-8 или ASCII). Представительский уровень переводит данные из формата, понятного приложению, в универсальный сетевой формат перед отправкой, и делает обратное преобразование при получении.

    Здесь же происходит шифрование. Протоколы TLS/SSL, которые делают ваш веб-серфинг безопасным (превращая HTTP в HTTPS), работают именно на стыке прикладного и представительского уровней.

    Взгляд этичного хакера: Ошибки конфигурации на этом уровне приводят к утечкам данных. Если шифрование настроено слабо (используются устаревшие алгоритмы), злоумышленник, перехвативший трафик на нижних уровнях, сможет расшифровать его. Этичные хакеры часто проверяют серверы на подверженность атакам типа Downgrade Attack, когда сервер принудительно заставляют использовать слабую версию шифрования.

    Уровень 5: Сеансовый (Session Layer)

    Этот уровень управляет диалогом между двумя компьютерами. Он устанавливает, поддерживает и безопасно завершает сеанс (сессию) связи.

    Пример: вы совершаете видеозвонок. Сеансовый уровень следит за тем, чтобы аудио и видео потоки были синхронизированы. Если связь на секунду прервется, именно сеансовый уровень попытается восстановить соединение с того же места, чтобы вам не пришлось звонить заново.

    Взгляд этичного хакера: Уязвимости сеансового уровня часто связаны с перехватом сессий (Session Hijacking). Если злоумышленник сможет украсть уникальный идентификатор вашей сессии (например, сессионный cookie-файл), он сможет выдать себя за вас и получить доступ к вашему аккаунту без ввода логина и пароля.

    Уровень 4: Транспортный (Transport Layer)

    Мы переходим к сердцу модели OSI. Транспортный уровень отвечает за сквозную доставку данных от процесса на одном компьютере к процессу на другом.

    Здесь данные, полученные от верхних уровней, нарезаются на управляемые блоки — сегменты. На этом уровне работают два главных протокола, которые определяют философию передачи:

  • TCP (Transmission Control Protocol) — протокол с гарантированной доставкой. Он устанавливает надежное соединение, нумерует каждый сегмент и требует от получателя подтверждения (ACK) о получении. Если кусок данных потерялся по дороге, TCP отправит его заново. Используется там, где важна точность: загрузка файлов, веб-страницы, текстовые сообщения.
  • UDP (User Datagram Protocol) — протокол без гарантии доставки. Он просто «выстреливает» данные в сеть максимально быстро и не проверяет, дошли ли они. Используется там, где важна скорость, а потеря пары кадров не критична: онлайн-игры, стриминг видео, голосовая связь.
  • Также на транспортном уровне вводится понятие портов. IP-адрес доставляет данные до нужного компьютера, а порт указывает, какому именно приложению на этом компьютере предназначены данные (например, порт 80 для веб-сервера, порт 25 для почты).

    Математика портов проста. В заголовке транспортного уровня под адрес порта выделено 16 бит.

    Где — общее количество доступных портов (от 0 до 65535), а — количество бит. Первые 1024 порта зарезервированы за стандартными системными службами.

    Взгляд этичного хакера: Транспортный уровень — это поле битвы для сканеров сети (таких как Nmap). Хакер отправляет специальные TCP-запросы на различные порты сервера, чтобы узнать, какие из них открыты и какие службы за ними прячутся. Защита здесь строится на базе межсетевых экранов (Firewalls), которые блокируют обращения к несанкционированным портам.

    Уровень 3: Сетевой (Network Layer)

    Сетевой уровень отвечает за логическую адресацию и маршрутизацию. Именно здесь сегменты превращаются в пакеты.

    Главный протокол этого уровня — IP (Internet Protocol). Каждое устройство в сети получает уникальный логический IP-адрес.

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

    Взгляд этичного хакера: Классическая атака на сетевом уровне — подмена IP-адреса (IP Spoofing). Злоумышленник формирует пакет, в котором указывает чужой IP-адрес в качестве отправителя, чтобы обойти системы фильтрации или перенаправить ответный трафик на жертву (DDoS-атаки типа Amplification). Защита требует правильной настройки маршрутизаторов провайдеров, чтобы они отбрасывали пакеты с поддельными адресами.

    Уровень 2: Канальный (Data Link Layer)

    Сетевой уровень прокладывает маршрут от начальной точки до конечной (например, из Москвы в Нью-Йорк). Но канальный уровень отвечает за передачу данных на каждом отдельном отрезке этого пути (от вашего компьютера до домашнего роутера, от роутера до оборудования провайдера и так далее).

    Здесь пакеты упаковываются в кадры (фреймы). На этом уровне используются физические MAC-адреса, вшитые в сетевые карты устройств.

    Канальный уровень делится на два подуровня: LLC (Logical Link Control*) — общается с верхним сетевым уровнем. MAC (Media Access Control*) — управляет доступом к физической среде (кабелю или радиоэфиру) и обнаруживает ошибки передачи.

    Главное устройство канального уровня — коммутатор (свитч). Он запоминает MAC-адреса подключенных устройств и пересылает кадры только в нужный порт.

    Взгляд этичного хакера: Локальные сети наиболее уязвимы именно на канальном уровне. Атака ARP Spoofing позволяет хакеру обмануть компьютеры в локальной сети, заявив: «Мой MAC-адрес теперь принадлежит IP-адресу роутера». В результате весь трафик пользователей начинает идти через компьютер злоумышленника (атака Man-in-the-Middle). Для защиты сетевые инженеры используют технологии вроде Dynamic ARP Inspection на корпоративных коммутаторах.

    Уровень 1: Физический (Physical Layer)

    Мы добрались до самого дна. Физический уровень не знает ничего об адресах, портах или шифровании. Его единственная задача — передать биты (нули и единицы) от одного устройства к другому.

    Здесь определяются физические характеристики среды передачи: * Уровни электрического напряжения для медных кабелей (витая пара). * Частоты радиоволн для беспроводных сетей (Wi-Fi, Bluetooth). * Интенсивность световых импульсов для оптоволокна. * Форма разъемов (например, коннектор RJ-45).

    Взгляд этичного хакера: Физическая безопасность — фундамент информационной безопасности. Если злоумышленник может физически подключить свой кабель к порту коммутатора в вашем офисе или поставить скрытую точку доступа Wi-Fi (Rogue AP) под столом, никакие сложные межсетевые экраны вас не спасут. Защита на этом уровне включает контроль доступа в помещения, отключение неиспользуемых розеток и экранирование кабелей.

    Зачем учить OSI, если есть TCP/IP?

    В реальном мире интернет работает на базе другой модели — стека протоколов TCP/IP, который состоит всего из четырех (иногда выделяют пять) уровней. Модель TCP/IP более практична и появилась раньше, чем OSI была окончательно стандартизирована.

    | Модель OSI (7 уровней) | Модель TCP/IP (4 уровня) | | :--- | :--- | | 7. Прикладной | Прикладной (Application) | | 6. Представительский | (Входит в Прикладной) | | 5. Сеансовый | (Входит в Прикладной) | | 4. Транспортный | Транспортный (Transport) | | 3. Сетевой | Сетевой / Межсетевой (Internet) | | 2. Канальный | Канальный / Доступ к сети (Network Access) | | 1. Физический | (Входит в Доступ к сети) |

    Почему же на каждом собеседовании по кибербезопасности или сетевой инженерии спрашивают именно OSI?

    Потому что OSI — это идеальный язык для диагностики проблем и проектирования защиты. Когда у пользователя не открывается сайт, инженер мыслит уровнями:

  • Кабель подключен? Лампочка на сетевой карте горит? (Проверка L1).
  • Компьютер получил IP-адрес? Пингуется ли роутер? (Проверка L3).
  • Открыт ли порт 443 на сервере? (Проверка L4).
  • Не выдает ли браузер ошибку сертификата? (Проверка L6/L7).
  • Понимая эту иерархию, вы перестаете смотреть на сеть как на черный ящик. Вы видите четкую структуру, где каждый слой выполняет свою функцию и имеет свои специфические уязвимости. В следующей статье мы перейдем от теории к практике и подробно разберем, как именно работает стек TCP/IP и как устройства находят друг друга в глобальной сети.

    3. Стек протоколов TCP/IP: архитектура и отличие от модели OSI

    Стек протоколов TCP/IP: архитектура и отличие от модели OSI

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

    Если модель OSI — это подробный архитектурный чертеж идеального города, то TCP/IP — это реальный город с его улицами, светофорами и правилами дорожного движения, который был построен и успешно функционирует. Для этичного хакера и специалиста по информационной безопасности TCP/IP — это основная рабочая среда. Понимание того, как именно этот стек упаковывает, доставляет и распаковывает данные, является ключом к анализу трафика, обнаружению уязвимостей и построению надежной защиты.

    Исторический контекст: почему TCP/IP победил

    Стек TCP/IP (Transmission Control Protocol / Internet Protocol) был разработан в 1970-х годах по заказу Министерства обороны США для сети ARPANET — прародителя современного интернета.

    Перед инженерами стояла конкретная практическая задача: создать сеть, которая сможет пережить выход из строя отдельных узлов (например, в случае ядерного удара) и объединить компьютеры разных производителей, работающие на разных операционных системах.

    > Принцип выживаемости: Архитектура TCP/IP изначально проектировалась как децентрализованная. В ней нет главного управляющего сервера. Если один маршрутизатор выходит из строя, протоколы автоматически находят обходной путь для доставки данных.

    В то время как международные комитеты годами согласовывали идеальную 7-уровневую модель OSI, инженеры TCP/IP просто писали рабочий код. К моменту, когда стандарт OSI был окончательно готов, стек TCP/IP уже де-факто управлял глобальной сетью. Он оказался проще, быстрее в реализации и требовал меньше вычислительных ресурсов.

    Четыре уровня стека TCP/IP

    В отличие от семиуровневой модели OSI, классическая архитектура TCP/IP состоит всего из четырех уровней. Разработчики TCP/IP объединили некоторые функции, посчитав излишним жесткое разделение задач.

    !Сравнение моделей OSI и TCP/IP

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

    4. Прикладной уровень (Application Layer)

    В стеке TCP/IP Прикладной уровень берет на себя задачи сразу трех верхних уровней модели OSI (Прикладного, Представительского и Сеансового).

    Философия TCP/IP гласит: сеть должна просто доставлять данные, а вся сложная логика (шифрование, кодировка, управление сессиями) должна реализовываться на конечных узлах — в самих приложениях.

    Именно здесь работают протоколы, с которыми пользователи взаимодействуют каждый день: * HTTP/HTTPS — передача веб-страниц. * DNS — преобразование доменных имен в IP-адреса. * SSH — безопасное удаленное управление серверами. * SMTP/IMAP — маршрутизация и получение электронной почты.

    Взгляд этичного хакера: Прикладной уровень — это основная мишень для современных кибератак. Поскольку стек TCP/IP доверяет приложениям самим разбираться с форматом данных, злоумышленники используют это для внедрения вредоносного кода. Атаки типа SQL-инъекций или Cross-Site Scripting (XSS) происходят именно здесь.

    Для защиты на этом уровне применяются WAF (Web Application Firewall). В отличие от обычных межсетевых экранов, WAF умеет «читать» протокол HTTP и блокировать запросы, содержащие подозрительные команды, даже если они отправлены на легитимный открытый порт веб-сервера.

    3. Транспортный уровень (Transport Layer)

    Этот уровень полностью соответствует Транспортному уровню модели OSI. Его главная задача — обеспечить связь между конкретными процессами (программами) на разных компьютерах с помощью портов.

    Здесь безраздельно властвуют два протокола, которые определяют характер передачи данных:

    1. TCP (Transmission Control Protocol) Это протокол с установлением соединения и гарантией доставки. Прежде чем отправить полезные данные, TCP устанавливает логическую связь между отправителем и получателем. Этот процесс называется тройным рукопожатием (3-way handshake).

    Аналогия из жизни: вы звоните другу по телефону.

  • Вы набираете номер и ждете гудков (отправка пакета SYNSynchronize).
  • Друг берет трубку и говорит: «Алло, я тебя слышу, а ты меня?» (ответ пакетом SYN-ACK).
  • Вы отвечаете: «Да, слышу, начинаю рассказывать» (отправка пакета ACKAcknowledge).
  • Только после этого начинается передача самих данных.

    2. UDP (User Datagram Protocol) Это протокол без установления соединения. Он просто отправляет данные по нужному адресу, не проверяя, готов ли получатель их принять и дошли ли они вообще.

    Аналогия из жизни: вы выступаете с рупором на площади. Вы просто транслируете информацию. Если кто-то в толпе отвлекся и не услышал слово — вы не будете повторять его персонально.

    Взгляд этичного хакера: Транспортный уровень — это основа для разведки и сканирования сети. Когда пентестер использует инструмент вроде Nmap, он отправляет TCP-пакеты с флагом SYN на различные порты сервера. * Если сервер отвечает SYN-ACK, значит, порт открыт и приложение готово к общению. * Если сервер отвечает RST (Reset), значит, порт закрыт. * Если ответа нет, значит, пакет был молча уничтожен межсетевым экраном (Firewall).

    Понимание тройного рукопожатия также необходимо для защиты от SYN Flood — классической DDoS-атаки, при которой злоумышленник отправляет миллионы SYN-запросов, но никогда не завершает рукопожатие (не отправляет финальный ACK). Сервер выделяет память под каждое ожидаемое соединение и в итоге зависает. Для митигации (снижения рисков) таких атак инженеры настраивают лимиты полуоткрытых соединений на маршрутизаторах.

    2. Межсетевой уровень (Internet Layer)

    Соответствует Сетевому уровню OSI. Это фундамент глобальной маршрутизации. Если транспортный уровень использует порты для поиска нужной программы, то межсетевой уровень использует IP-адреса для поиска нужного компьютера в масштабах всей планеты.

    Главный протокол здесь — IP (Internet Protocol). Он берет сегменты данных от транспортного уровня, добавляет к ним IP-адрес отправителя и IP-адрес получателя, превращая их в пакеты.

    В настоящее время параллельно существуют две версии протокола: * IPv4: использует 32-битные адреса (например, 192.168.1.5). * IPv6: использует 128-битные адреса, созданные для решения проблемы нехватки IP-адресов в мире.

    Математика исчерпания адресов проста. В протоколе IPv4 длина адреса составляет 32 бита. Общее количество возможных адресов вычисляется по формуле:

    Где — максимальное количество уникальных IPv4-адресов (около 4,3 миллиарда). Учитывая, что сегодня к интернету подключены смартфоны, умные часы и даже холодильники, этого количества катастрофически не хватает. IPv6 решает эту проблему, предоставляя адресов.

    Также на этом уровне работает служебный протокол ICMP (Internet Control Message Protocol). Он не передает пользовательские данные, а сообщает об ошибках. Именно ICMP используется в популярной утилите ping для проверки доступности узла.

    Взгляд этичного хакера: Уязвимость протокола IP заключается в том, что он по умолчанию не проверяет подлинность адреса отправителя. Это делает возможной атаку IP Spoofing (подмена IP-адреса). Хакер может сформировать пакет, указав в качестве отправителя доверенный IP-адрес внутри корпоративной сети, чтобы обойти правила межсетевого экрана.

    Для защиты от спуфинга сетевые инженеры применяют списки контроля доступа (ACL) на пограничных маршрутизаторах, которые отбрасывают пакеты, приходящие из внешнего интернета, но имеющие внутренние IP-адреса. Также для защиты данных на этом уровне применяется протокол IPSec, который шифрует сами IP-пакеты, создавая защищенные VPN-туннели.

    1. Уровень доступа к сети (Network Access Layer)

    Этот уровень объединяет Канальный и Физический уровни модели OSI. Стек TCP/IP абстрагируется от того, как именно физически передаются данные. Ему неважно, используете ли вы медный кабель (Ethernet), радиоволны (Wi-Fi) или оптоволокно.

    Задача этого уровня — принять IP-пакет, перевести его в формат, понятный конкретной физической сети (создать кадр или фрейм), добавить физические MAC-адреса сетевых карт и отправить в виде электрических или радиосигналов.

    Взгляд этичного хакера: Безопасность на уровне доступа к сети критически важна для локальных сетей (LAN). В беспроводных сетях (Wi-Fi) данные передаются по открытому радиоэфиру. Если сеть использует устаревшие протоколы шифрования (например, WEP или WPA), злоумышленник может перехватить радиосигналы с помощью сниффера и расшифровать трафик.

    В проводных сетях популярна атака ARP Spoofing. Протокол ARP используется для связи IP-адресов (уровень 2) с MAC-адресами (уровень 1). Хакер отправляет поддельные ARP-ответы, заставляя компьютеры жертв думать, что его MAC-адрес принадлежит легитимному маршрутизатору. В результате весь трафик локальной сети начинает проходить через компьютер злоумышленника. Защита строится на использовании коммутаторов корпоративного класса с функцией Dynamic ARP Inspection, которая блокирует поддельные пакеты на аппаратном уровне.

    Сравнение моделей: OSI против TCP/IP

    Чтобы структурировать понимание, давайте сопоставим обе модели. Это классический вопрос на любом собеседовании в сфере кибербезопасности.

    | Характеристика | Модель OSI | Стек TCP/IP | | :--- | :--- | :--- | | Количество уровней | 7 уровней | 4 уровня | | Происхождение | Теоретический стандарт (ISO) | Практическая реализация (DoD) | | Подход к надежности | Надежность может обеспечиваться на разных уровнях | Надежность — задача Транспортного уровня (TCP) | | Разделение функций | Строгое разделение Прикладного, Представительского и Сеансового уровней | Все функции верхних уровней объединены в Прикладном уровне | | Применение сегодня | Используется как язык общения инженеров и для траблшутинга | Реально работает на всех устройствах в интернете |

    Инкапсуляция в TCP/IP на реальном примере

    Чтобы закрепить материал, давайте проследим путь данных через стек TCP/IP. Представьте, что вы отправляете текстовое сообщение «Привет» через защищенный мессенджер.

  • Прикладной уровень: Мессенджер берет текст «Привет», шифрует его и формирует блок данных.
  • Транспортный уровень: Данные спускаются вниз. Протокол TCP нарезает зашифрованный текст на части и добавляет свой заголовок. В заголовке указывается порт отправителя (например, случайный порт 54321) и порт получателя (например, порт 443 сервера мессенджера). Получается сегмент.
  • Межсетевой уровень: Сегмент передается протоколу IP. Тот добавляет свой заголовок с вашим IP-адресом и IP-адресом сервера. Теперь это пакет.
  • Уровень доступа к сети: Пакет спускается к драйверу вашей сетевой карты (например, Wi-Fi). Добавляется заголовок с MAC-адресом вашего роутера. Формируется кадр. Кадр переводится в радиоволны и летит к роутеру.
  • Роутер принимает радиоволны, собирает из них кадр, отрывает MAC-заголовок, читает IP-адрес в пакете, понимает, куда его нужно отправить дальше, добавляет новый MAC-заголовок и отправляет по кабелю провайдеру. Этот процесс повторяется на каждом узле, пока пакет не достигнет сервера.

    Понимание этой «матрешки» — главный навык при анализе сетевого трафика. Когда в следующих статьях мы начнем изучать работу снифферов (анализаторов трафика), вы увидите, что они показывают перехваченные данные именно в виде этих вложенных друг в друга заголовков TCP/IP.

    4. Физический и канальный уровни: MAC-адресация, кадры и коммутация

    Физический и канальный уровни: MAC-адресация, кадры и коммутация

    В предыдущих статьях мы рассматривали сеть «сверху вниз» — от приложений, которыми вы пользуетесь каждый день, до глобальной маршрутизации IP-пакетов. Мы узнали, как данные упаковываются в сегменты и пакеты. Однако ни IP-адреса, ни порты не способны передать информацию по медному кабелю или через радиоэфир. Для того чтобы абстрактные нули и единицы превратились в реальные физические сигналы и достигли соседнего устройства, в дело вступают два нижних уровня модели OSI: Физический и Канальный.

    В стеке TCP/IP эти два уровня объединены в один — Уровень доступа к сети (Network Access Layer). Именно здесь программный код встречается с аппаратным обеспечением: сетевыми картами, кабелями, антеннами и коммутаторами.

    Для специалиста по информационной безопасности понимание этих уровней критически важно. Большинство атак на локальные сети (LAN) и беспроводные сети (Wi-Fi) происходят именно здесь. Если злоумышленник контролирует физический или канальный уровень, никакие сложные системы защиты на верхних уровнях не смогут гарантировать безопасность.

    Физический уровень (L1): среда передачи данных

    Физический уровень (Physical Layer) — это фундамент любой сети. Его единственная задача — передача неструктурированного потока битов (нулей и единиц) от одного устройства к другому через физическую среду.

    На этом уровне нет ни IP-адресов, ни MAC-адресов, ни файлов, ни заголовков. Здесь существуют только электрические импульсы, световые вспышки или радиоволны.

    В зависимости от используемой технологии, биты передаются по-разному: * Медный кабель (Витая пара): нули и единицы кодируются изменениями электрического напряжения. * Оптоволокно: данные передаются с помощью импульсов света (лазера или светодиода), что обеспечивает огромную скорость и защиту от электромагнитных помех. * Беспроводная связь (Wi-Fi, Bluetooth): биты кодируются изменениями амплитуды, частоты или фазы радиоволн.

    > Безопасность сети всегда начинается с физической безопасности. Если у злоумышленника есть физический доступ к вашему оборудованию, сеть скомпрометирована. > > Кевин Митник, эксперт по кибербезопасности

    Взгляд этичного хакера: Атаки на физическом уровне часто требуют присутствия злоумышленника на объекте. Классический пример — подключение миниатюрного устройства (например, Raspberry Pi или специализированного LAN Turtle) в свободную сетевую розетку в переговорной комнате компании. Такое устройство может скрыто собирать данные или предоставлять хакеру удаленный доступ во внутреннюю сеть в обход внешних межсетевых экранов.

    В беспроводных сетях физический уровень уязвим к глушению (Jamming). Злоумышленник использует мощный радиопередатчик, который генерирует белый шум на частоте работы Wi-Fi роутера, делая передачу полезных сигналов невозможной. Защита от таких угроз лежит в плоскости организационных мер: контроль доступа в помещения, отключение неиспользуемых розеток и мониторинг радиоэфира.

    Канальный уровень (L2): организация хаоса

    Если физический уровень просто пересылает биты, то Канальный уровень (Data Link Layer) придает этому потоку смысл. Он берет сырые биты с физического уровня и организует их в логические блоки, которые называются кадрами (или фреймами, от английского frame).

    Аналогия из жизни: представьте, что физический уровень — это непрерывный поток букв, написанных на длинной бумажной ленте: ПРИВЕТКАКДЕЛАЭТОЯ. Канальный уровень расставляет пробелы и знаки препинания, превращая поток в осмысленные сообщения: Привет, как дела? Это я.

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

    Самой популярной технологией канального уровня для проводных сетей сегодня является Ethernet.

    Структура кадра Ethernet

    Когда сетевой уровень (L3) передает IP-пакет вниз, канальный уровень «заворачивает» его в свой конверт — кадр Ethernet. Этот процесс называется инкапсуляцией.

    !Структура кадра Ethernet

    Давайте разберем содержимое этого «конверта»:

  • Преамбула (Preamble): Последовательность чередующихся нулей и единиц. Она нужна для того, чтобы принимающая сетевая карта «проснулась» и синхронизировала свои часы с передатчиком перед началом чтения полезных данных.
  • MAC-адрес получателя (Destination MAC): Физический адрес устройства, которому предназначен кадр.
  • MAC-адрес отправителя (Source MAC): Физический адрес устройства, которое отправило кадр.
  • Тип (EtherType): Указывает, какой протокол находится внутри кадра (чаще всего это IPv4 или IPv6). Это помогает принимающей стороне понять, кому передать распакованные данные на верхнем уровне.
  • Полезная нагрузка (Payload): Собственно сам IP-пакет с вашими данными (сообщением, куском фотографии и т.д.). Размер полезной нагрузки в стандартном Ethernet ограничен 1500 байтами (это значение называется MTU — Maximum Transmission Unit).
  • Контрольная сумма (FCS - Frame Check Sequence): Математическое значение, вычисленное на основе всего содержимого кадра. Принимающая сторона заново вычисляет эту сумму. Если результаты совпадают — кадр дошел без повреждений. Если нет (например, из-за электрической помехи на кабеле) — кадр молча уничтожается.
  • MAC-адресация: аппаратный паспорт устройства

    Как мы увидели в структуре кадра, для доставки данных в локальной сети используются MAC-адреса (Media Access Control).

    Если IP-адрес — это ваш почтовый адрес (город, улица, дом), который может меняться при переезде, то MAC-адрес — это ваш ИНН или номер паспорта, который выдается устройству на заводе и теоретически остается с ним навсегда.

    MAC-адрес состоит из 48 битов. Для удобства чтения человеком он записывается в виде шести пар шестнадцатеричных чисел, разделенных двоеточиями или дефисами.

    Пример MAC-адреса: 00:1A:2B:3C:4D:5E

    Адрес логически разделен на две равные части: Первые 24 бита (00:1A:2B): Это OUI (Organizationally Unique Identifier*) — уникальный идентификатор производителя. По этой части адреса можно узнать, кто выпустил сетевую карту: Apple, Cisco, Intel или другой вендор. * Вторые 24 бита (3C:4D:5E): Это уникальный серийный номер конкретной сетевой карты, назначенный самим производителем.

    Математика показывает, что общее количество возможных MAC-адресов вычисляется по формуле:

    Этого количества (более 281 триллиона) с запасом хватает для всех сетевых устройств в мире.

    Уязвимости MAC-адресации: MAC Spoofing

    Взгляд этичного хакера: Хотя MAC-адрес «зашит» в микросхему сетевой карты (ROM), операционная система при загрузке копирует его в оперативную память (RAM) и использует именно эту программную копию для общения с сетью. Это означает, что пользователь может легко изменить свой MAC-адрес на программном уровне. Этот процесс называется MAC Spoofing (подмена MAC-адреса).

    Зачем это нужно?

  • Обход фильтрации: Многие корпоративные сети и публичные точки Wi-Fi используют белые списки MAC-адресов. Если хакер перехватит (просниффает) трафик и увидит MAC-адрес легитимного устройства (например, компьютера директора), он может подменить свой MAC-адрес на этот же и получить доступ к сети.
  • Анонимность: В публичных сетях (кафе, аэропорты) системы авторизации часто дают бесплатный интернет на 30 минут, привязывая таймер к MAC-адресу. Сменив адрес, можно получить следующие 30 минут. Современные смартфоны (iOS и Android) по умолчанию используют функцию рандомизации MAC-адреса при подключении к новым сетям именно для защиты от отслеживания перемещений пользователя маркетологами.
  • Для защиты от злонамеренного спуфинга в корпоративных сетях сетевые инженеры настраивают аутентификацию по стандарту 802.1X, которая требует ввода логина и пароля (или наличия цифрового сертификата) независимо от того, какой MAC-адрес использует устройство.

    Коммутация: как работают локальные сети

    Теперь, когда мы знаем, как выглядят кадры и адреса, давайте посмотрим, как устройства обмениваются ими. Центральным элементом современной локальной сети является коммутатор (Switch).

    Исторически первыми устройствами для объединения компьютеров были концентраторы (Hubs). Концентратор работал исключительно на физическом уровне (L1). Он был крайне «глупым» устройством: получив электрический сигнал на один порт, он просто копировал и рассылал его на все остальные порты.

    Это создавало две проблемы:

  • Проблема безопасности: Любой компьютер в сети мог читать трафик всех остальных компьютеров, просто запустив программу-сниффер (например, Wireshark).
  • Коллизии: Если два компьютера пытались передать данные одновременно, электрические сигналы сталкивались в кабеле и искажались. Это называется коллизией. Устройствам приходилось ждать случайное время и повторять передачу, что сильно снижало скорость сети.
  • Современный коммутатор работает на канальном уровне (L2). Он «понимает» структуру кадра Ethernet и умеет читать MAC-адреса. Коммутатор создает выделенный виртуальный канал между отправителем и получателем, полностью устраняя коллизии.

    Таблица коммутации (MAC-таблица)

    Секрет интеллекта коммутатора кроется в его памяти, где хранится Таблица коммутации (или CAM-таблица — Content Addressable Memory). Эта таблица связывает физические порты коммутатора с MAC-адресами подключенных к ним устройств.

    Когда вы только достаете коммутатор из коробки и включаете его, его таблица пуста. Он обучается в процессе работы:

  • Компьютер А (MAC: AA:AA) отправляет кадр Компьютеру Б (MAC: BB:BB) через порт №1 коммутатора.
  • Коммутатор получает кадр, смотрит на MAC-адрес отправителя (AA:AA) и записывает в свою таблицу: «Ага, за портом №1 находится устройство AA:AA».
  • Затем коммутатор смотрит на MAC-адрес получателя (BB:BB). Поскольку таблица еще пуста и он не знает, где находится BB:BB, он вынужден отправить копию этого кадра на все остальные порты (кроме порта №1). Это действие называется Flooding (затопление).
  • Компьютер Б получает кадр и отправляет ответ. Ответный кадр заходит в порт №2.
  • Коммутатор читает MAC отправителя ответа (BB:BB) и записывает в таблицу: «За портом №2 находится устройство BB:BB».
  • Теперь, когда коммутатор знает оба адреса, все последующие кадры между А и Б будут передаваться строго между портами №1 и №2. Никто другой в сети этот трафик не увидит.
  • !Интерактивная симуляция работы коммутатора

    Уязвимости коммутаторов: MAC Flooding

    Взгляд этичного хакера: Память коммутатора (CAM-таблица) не безгранична. Дешевые домашние роутеры могут запомнить пару тысяч MAC-адресов, корпоративные коммутаторы — десятки тысяч. Что произойдет, если память переполнится?

    На этом основана классическая атака MAC Flooding (переполнение MAC-таблицы).

    Злоумышленник запускает специальную утилиту (например, macof), которая генерирует сотни тысяч поддельных кадров Ethernet в секунду. У каждого кадра — случайный, несуществующий MAC-адрес отправителя.

    Коммутатор честно пытается запомнить все эти адреса. За считанные секунды его CAM-таблица заполняется мусором на 100%. Когда после этого легитимный компьютер пытается отправить нормальный кадр, коммутатор не может найти получателя в таблице (так как старые правильные записи были вытеснены новыми поддельными).

    В этой ситуации коммутатор, согласно стандарту Ethernet, переходит в режим Fail-Open — он начинает рассылать все входящие кадры на все порты. Умный коммутатор превращается в глупый концентратор (Hub).

    Теперь хакеру достаточно включить сниффер, и он начнет видеть весь чужой трафик в локальной сети, перехватывая пароли, сессии и конфиденциальные документы.

    Как защититься? Для митигации (снижения риска) этой атаки сетевые инженеры используют функцию Port Security (Безопасность порта). Администратор настраивает коммутатор так, чтобы на одном физическом порту разрешалось использовать, например, не более трех различных MAC-адресов. Если порт фиксирует появление четвертого уникального MAC-адреса (начало атаки), коммутатор мгновенно блокирует этот порт, отключая злоумышленника от сети, и отправляет уведомление администратору.

    Протокол ARP: мост между L2 и L3

    Мы разобрали, как устройства общаются по MAC-адресам. Но когда вы вводите в браузере адрес сайта или обращаетесь к серверу, вы используете IP-адреса (уровень L3). Как ваш компьютер узнает, какой MAC-адрес соответствует нужному IP-адресу?

    Для этого существует служебный протокол ARP (Address Resolution Protocol — протокол разрешения адресов).

    Процесс выглядит так:

  • Ваш компьютер знает IP-адрес роутера (например, 192.168.1.1), но не знает его MAC-адрес. Без MAC-адреса он не может сформировать кадр Ethernet.
  • Компьютер отправляет широковещательный ARP-запрос (на специальный MAC-адрес FF:FF:FF:FF:FF:FF, который означает «всем в локальной сети»): «Эй, у кого IP-адрес 192.168.1.1? Скажите мне свой MAC-адрес!».
  • Все устройства в сети получают этот запрос. Те, чей IP не совпадает, просто игнорируют его.
  • Роутер с IP 192.168.1.1 отвечает напрямую вашему компьютеру: «Это я! Мой MAC-адрес — AA:BB:CC:DD:EE:FF».
  • Ваш компьютер сохраняет эту пару (IP + MAC) в свой локальный ARP-кэш, чтобы не спрашивать каждый раз заново, и начинает передачу данных.
  • Уязвимости протокола ARP (в частности, атака ARP Spoofing) — это огромная и невероятно важная тема для пентестеров, которая позволяет проводить атаки типа «Человек посередине» (Man-in-the-Middle). Мы посвятим механике этой атаки и методам защиты от нее отдельную подробную статью в нашем курсе.

    В следующей статье мы поднимемся на Сетевой уровень (L3) и подробно разберем, как работает протокол IP, что такое маски подсети и как маршрутизаторы находят путь для ваших данных через весь земной шар.

    5. Сетевой уровень: IPv4, IPv6 и принципы логической адресации

    Сетевой уровень: IPv4, IPv6 и принципы логической адресации

    В прошлой статье мы спустились на самый нижний этаж сетевого взаимодействия. Мы узнали, как коммутаторы передают кадры Ethernet внутри одной локальной сети, опираясь на физические MAC-адреса устройств. Однако MAC-адреса имеют один критический недостаток — они работают только «здесь и сейчас», в пределах одного широковещательного домена (одной локальной сети).

    Представьте, что вы хотите отправить бумажное письмо другу в другую страну. Если вы напишете на конверте только его номер паспорта (аналог MAC-адреса), почта не будет знать, куда нести письмо. Почтальонам нужна иерархическая система: страна, город, улица, дом.

    Именно такую глобальную систему логической адресации и маршрутизации обеспечивает Сетевой уровень (Network Layer) — третий уровень модели OSI или уровень Интернета (Internet Layer) в стеке TCP/IP. Главный герой этого уровня — протокол IP (Internet Protocol).

    Для специалиста по информационной безопасности (этичного хакера) сетевой уровень — это основное поле битвы. Именно здесь происходит сканирование сетей, обнаружение целей, обход межсетевых экранов (firewalls) и реализация атак типа IP Spoofing. Понимание того, как формируются и маршрутизируются IP-пакеты, является фундаментом для любого пентестера.

    Логическая адресация: что такое IP-адрес

    IP-адрес — это уникальный логический адрес узла в компьютерной сети, построенной на базе протокола IP. В отличие от MAC-адреса, который «зашит» в сетевую карту на заводе, IP-адрес назначается программно (вручную администратором или автоматически с помощью протокола DHCP) и может меняться при подключении устройства к другой сети.

    Исторически сложилось так, что сегодня в интернете параллельно существуют две версии протокола IP: старая, но всё ещё доминирующая IPv4, и новая, призванная её заменить — IPv6.

    Архитектура IPv4

    IP-адрес четвертой версии (IPv4) представляет собой 32-битное число. Для удобства восприятия человеком эти 32 бита (нули и единицы) делят на четыре блока по 8 бит (октеты). Каждый октет переводится в привычную нам десятичную систему счисления, и блоки разделяются точками.

    Пример классического IPv4-адреса: 192.168.1.15

    Если заглянуть «под капот» и перевести этот адрес в двоичный код, который понимают компьютеры, он будет выглядеть так: 11000000.10101000.00000001.00001111

    Поскольку каждый из четырех октетов состоит из 8 бит, минимальное значение октета — 0 (восемь нулей), а максимальное — 255 (восемь единиц). Таким образом, теоретический диапазон адресов IPv4 лежит в пределах от 0.0.0.0 до 255.255.255.255.

    Используя простую математику, мы можем вычислить общее количество возможных IPv4-адресов:

    Около 4,3 миллиарда адресов. В 1980-х годах, когда создавался протокол, это число казалось бесконечным. Никто не мог представить, что однажды интернет появится в каждом телефоне, телевизоре и даже холодильнике.

    Маски подсети: разделяй и властвуй

    Любой IP-адрес логически разделен на две части:

  • Идентификатор сети (Network ID): указывает, к какой именно сети принадлежит устройство (аналог названия улицы).
  • Идентификатор узла (Host ID): указывает конкретное устройство внутри этой сети (аналог номера дома).
  • Но как компьютер понимает, где заканчивается адрес сети и начинается адрес конкретного компьютера? Для этого используется маска подсети (Subnet Mask).

    Маска подсети — это тоже 32-битное число, которое накладывается поверх IP-адреса. Правило очень простое: там, где в маске стоят двоичные единицы — это часть сети. Там, где стоят нули — это часть узла.

    Самая популярная маска в домашних сетях выглядит так: 255.255.255.0. В двоичном виде это 24 единицы и 8 нулей: 11111111.11111111.11111111.00000000

    Если мы применим эту маску к нашему адресу 192.168.1.15, то: * 192.168.1 — это адрес сети. * 15 — это адрес конкретного компьютера в этой сети.

    !Схема логического И (AND) между IP-адресом и маской подсети

    Бесклассовая адресация (CIDR)

    Писать длинные маски вроде 255.255.255.0 неудобно. Поэтому инженеры придумали сокращенную запись, которая называется CIDR (Classless Inter-Domain Routing).

    Вместо полной маски через слеш (/) пишется количество единиц в ней. Например, маска 255.255.255.0 содержит 24 единицы, поэтому адрес записывается как 192.168.1.15/24.

    > Понимание масок подсети критически важно для этичного хакера. Когда пентестер получает контракт на аудит безопасности, заказчик выдает ему область видимости (Scope) в формате CIDR, например: «Вам разрешено атаковать сеть 10.50.0.0/16». Ошибка в расчете маски может привести к тому, что хакер начнет сканировать и атаковать чужие серверы, что является уголовным преступлением.

    !Интерактивный калькулятор подсетей IPv4

    Проблема исчерпания адресов и спасительный NAT

    Как мы уже выяснили, IPv4 предоставляет всего 4,3 миллиарда адресов. К началу 2010-х годов свободные публичные адреса закончились. Чтобы интернет не остановился, инженеры внедрили технологию NAT (Network Address Translation — трансляция сетевых адресов) и выделили специальные диапазоны частных (серых) IP-адресов.

    Публичные и частные IP-адреса

    Все IPv4-адреса делятся на две большие категории:

  • Публичные (белые) адреса: Уникальны во всем мире. Они маршрутизируются в глобальном интернете. Любой сервер (например, сервер Google или ваш корпоративный сайт) должен иметь публичный IP-адрес, чтобы к нему могли подключиться из любой точки планеты.
  • Частные (серые) адреса: Предназначены только для использования внутри локальных сетей (дома, в офисе, на предприятии). Эти адреса не маршрутизируются в интернете. Провайдеры просто отбрасывают пакеты с такими адресами.
  • Выделено три основных диапазона частных адресов: * 10.0.0.010.255.255.255 (огромная сеть для корпораций) * 172.16.0.0172.31.255.255 (сети среднего размера) * 192.168.0.0192.168.255.255 (самый частый гость в домашних роутерах)

    Также существует специальный адрес 127.0.0.1 (localhost) — это адрес обратной петли (loopback). Если компьютер отправляет пакет на этот адрес, пакет не выходит в сеть, а возвращается обратно в операционную систему. Это используется разработчиками для тестирования программ на своем же компьютере.

    Как работает NAT

    Если частные адреса не работают в интернете, как ваш домашний ноутбук с адресом 192.168.1.15 открывает сайты?

    Здесь в игру вступает ваш домашний роутер и технология NAT.

    Аналогия: представьте крупный офис. У компании есть один внешний городской номер телефона (публичный IP). Внутри офиса у каждого сотрудника есть короткий внутренний номер: 101, 102, 103 (частные IP). Если сотрудник 101 хочет позвонить клиенту, он набирает номер, звонок идет на офисную АТС (роутер), которая подменяет внутренний номер на общий городской и совершает звонок. Клиент видит только общий номер компании. Когда клиент отвечает, АТС помнит, кто именно запрашивал звонок, и переводит его на добавочный 101.

    Технически это выглядит так:

  • Ваш ноутбук (192.168.1.15) отправляет запрос к серверу 8.8.8.8.
  • Пакет доходит до домашнего роутера.
  • Роутер имеет два интерфейса: внутренний (смотрит в квартиру) и внешний (смотрит к провайдеру, имея публичный IP, например, 82.146.50.10).
  • Роутер «стирает» ваш серый IP-адрес отправителя в заголовке пакета и вписывает свой белый IP-адрес. Эту подмену он записывает в специальную таблицу NAT в своей памяти.
  • Сервер 8.8.8.8 получает запрос, думая, что с ним общается роутер, и отправляет ответ на 82.146.50.10.
  • Роутер получает ответ, сверяется с таблицей NAT, понимает, что ответ предназначался ноутбуку, меняет адрес получателя обратно на 192.168.1.15 и отдает пакет вам.
  • Взгляд этичного хакера: Изначально NAT создавался не для безопасности, а для экономии адресов. Но побочным эффектом стала отличная базовая защита. Из-за NAT устройства из глобального интернета не могут напрямую инициировать подключение к вашему домашнему компьютеру — они просто не знают его внутреннего адреса, а роутер отбросит любой входящий пакет, которого он не ждал (которого нет в таблице NAT).

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

    IPv6: бесконечное пространство

    Несмотря на NAT, адреса IPv4 всё равно заканчиваются. Решением стал протокол IPv6.

    Главное отличие IPv6 — длина адреса. Вместо 32 бит используется 128 бит. Количество возможных адресов поражает воображение:

    Это 340 ундециллионов адресов. Если бы каждый атом на поверхности Земли нуждался в IP-адресе, нам бы с запасом хватило IPv6.

    Из-за огромной длины IPv6 записывается не в десятичной, а в шестнадцатеричной системе счисления, и разделяется двоеточиями на 8 блоков по 4 символа: 2001:0db8:85a3:0000:0000:8a2e:0370:7334

    Для упрощения записи нули можно сокращать. Подряд идущие нулевые блоки заменяются двойным двоеточием :: (но только один раз в адресе). Тот же адрес будет выглядеть так: 2001:db8:85a3::8a2e:370:7334

    Взгляд этичного хакера: Внедрение IPv6 меняет правила игры в разведке. В сетях IPv4 пентестер часто использует инструмент Nmap для сканирования всей подсети (например, 256 адресов в сети /24), чтобы найти активные серверы. Это занимает несколько секунд.

    В IPv6 стандартная подсеть для одной локальной сети имеет размер /64. Это означает, что в ней находится (18 квинтиллионов) адресов. Если сканировать по одному миллиону адресов в секунду, на сканирование одной такой подсети уйдет более 500 000 лет.

    Поэтому в IPv6 классическое «слепое» сканирование портов по всему диапазону мертво. Хакеры вынуждены использовать другие методы: анализ DNS-записей, перехват мультикаст-трафика (Multicast) или поиск утечек информации, чтобы узнать точные адреса серверов.

    Маршрутизация и время жизни пакета (TTL)

    Мы разобрались с адресами, но как пакет находит дорогу от вашего компьютера до сервера на другом континенте? Этим занимаются маршрутизаторы (Routers).

    Если коммутатор (L2) соединяет компьютеры в одной комнате, то маршрутизатор (L3) соединяет разные сети между собой.

    Когда ваш компьютер хочет отправить данные на IP-адрес, который не принадлежит вашей локальной сети (маска подсети показала, что это чужая сеть), он отправляет этот пакет на Шлюз по умолчанию (Default Gateway) — это внутренний IP-адрес вашего роутера.

    Роутер заглядывает в заголовок IP-пакета, читает IP-адрес получателя и сверяется со своей Таблицей маршрутизации. В ней записаны правила: «Если пакет идет в сеть А, передай его направо; если в сеть Б — налево». Роутер передает пакет следующему роутеру (этот прыжок называется Hop), тот — следующему, пока пакет не достигнет цели.

    Защита от вечного блуждания: TTL

    Что произойдет, если администраторы ошибутся в настройках, и два роутера будут перекидывать пакет друг другу бесконечно, создав петлю? Сеть мгновенно перегрузится.

    Чтобы этого избежать, в заголовке IPv4 есть специальное поле — TTL (Time to Live — время жизни).

    При отправке пакета операционная система устанавливает значение TTL (обычно 64, 128 или 255). Каждый раз, когда пакет проходит через любой маршрутизатор, этот маршрутизатор обязан вычесть из TTL единицу.

    Если пакет попал в петлю, его TTL будет уменьшаться: 5, 4, 3, 2, 1... Как только , маршрутизатор безжалостно уничтожает этот пакет и отправляет отправителю служебное сообщение (по протоколу ICMP): «Время жизни истекло».

    Взгляд этичного хакера: Поле TTL — это не только защита от петель, но и инструмент разведки. Знаменитая утилита traceroute (или tracert в Windows) работает именно за счет манипуляции TTL. Она отправляет пакет к цели с . Первый же роутер на пути убивает пакет и присылает ответ. Хакер записывает IP-адрес этого роутера. Затем отправляется пакет с . Он проходит первый роутер, но умирает на втором. Второй роутер присылает ответ. Таким образом, шаг за шагом, пентестер выстраивает полную карту маршрутизаторов от себя до сервера жертвы, понимая топологию сети провайдеров.

    Уязвимости сетевого уровня: IP Spoofing

    Протокол IP создавался в эпоху доверия. В базовом заголовке IP-пакета нет никаких криптографических подписей или сертификатов.

    Это порождает фундаментальную уязвимость: IP Spoofing (подмена IP-адреса).

    Злоумышленник может сформировать IP-пакет вручную и вписать в поле «IP-адрес отправителя» абсолютно любой адрес, например, адрес доверенного сервера компании или адрес жертвы. Маршрутизаторы в интернете по умолчанию смотрят только на адрес получателя, чтобы доставить пакет, им всё равно, кто указан отправителем.

    Где это используется?

  • Обход фильтрации: Если межсетевой экран (Firewall) настроен пропускать трафик только от IP-адреса директора (10.0.0.5), хакер внутри сети может подменить свой IP на адрес директора и отправить вредоносный пакет.
  • DDoS-атаки с отражением (Reflection): Хакер отправляет миллионы запросов к мощным серверам в интернете (например, DNS-серверам), но в качестве адреса отправителя указывает IP-адрес своей жертвы. Серверы обрабатывают запросы и отправляют тяжелые ответы не хакеру, а ничего не подозревающей жертве, перегружая её канал связи.
  • Как защититься? Для защиты от спуфинга на уровне провайдеров и корпоративных сетей применяется практика Egress Filtering (фильтрация исходящего трафика). Корпоративный роутер настраивается так: «Если из моей внутренней сети пытается выйти пакет, у которого IP-адрес отправителя не принадлежит моей сети — немедленно уничтожь его». Это не позволяет хакерам генерировать поддельный трафик наружу.

    В следующей статье мы поднимемся на Транспортный уровень (L4) и узнаем, как протоколы TCP и UDP обеспечивают надежность передачи данных, что такое сетевые порты и как именно хакеры проводят сканирование уязвимых сервисов.

    6. Маршрутизация пакетов: статические маршруты и протоколы ICMP, ARP

    Маршрутизация пакетов: статические маршруты и протоколы ICMP, ARP

    В предыдущих материалах мы разобрали, как устройства общаются внутри одной локальной сети с помощью MAC-адресов (Канальный уровень) и как IP-адреса позволяют находить узлы в глобальном интернете (Сетевой уровень). Однако для того, чтобы сетевой пакет успешно добрался от вашего ноутбука до сервера на другом континенте, одного лишь знания адресов недостаточно.

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

    Для специалиста по информационной безопасности глубокое понимание этих механизмов критически важно. Большинство атак типа «Человек посередине» (Man-in-the-Middle, MitM) внутри локальных сетей базируется на уязвимостях протокола ARP, а разведка и обход межсетевых экранов невозможны без знания тонкостей ICMP и логики маршрутизации.

    Протокол ARP: мост между логикой и физикой

    Представьте ситуацию: ваш компьютер с IP-адресом 192.168.1.10 хочет отправить данные на соседний компьютер с IP-адресом 192.168.1.20. Сетевой уровень (L3) сформировал IP-пакет. Но чтобы передать этот пакет по кабелю или Wi-Fi, его нужно упаковать в кадр Ethernet на Канальном уровне (L2). А для кадра Ethernet нужен физический MAC-адрес получателя.

    Компьютер знает IP-адрес соседа, но не знает его MAC-адрес. Как ему поступить?

    Здесь в работу вступает ARP (Address Resolution Protocol — протокол определения адреса). Его единственная задача — связать логический IP-адрес с физическим MAC-адресом.

    Как работает ARP: шаг за шагом

    Процесс работы ARP похож на то, как если бы вы зашли в переполненную аудиторию и громко спросили: «У кого здесь номер паспорта 12345? Назовите свое имя!». Все услышат ваш вопрос, но ответит только тот, чей номер совпадает.

  • ARP Request (Запрос): Компьютер-отправитель формирует специальный широковещательный пакет (Broadcast). В нем сказано: «Кто имеет IP-адрес 192.168.1.20? Сообщите свой MAC-адрес компьютеру 192.168.1.10». Этот пакет рассылается абсолютно всем устройствам в локальной сети.
  • Обработка запроса: Коммутатор доставляет этот кадр на все порты. Каждое устройство в сети получает его, читает и сравнивает искомый IP-адрес со своим. Те, у кого адреса не совпадают, просто отбрасывают пакет.
  • ARP Reply (Ответ): Устройство с адресом 192.168.1.20 узнает свой IP. Оно формирует ответный пакет (Unicast), который отправляется уже направленно (только спрашивающему): «Это я, 192.168.1.20. Мой MAC-адрес — AA:BB:CC:DD:EE:FF».
  • Чтобы не кричать на всю аудиторию перед отправкой каждого байта, операционные системы сохраняют полученные ответы в специальную память — ARP-таблицу (или ARP-кэш). Записи в ней хранятся несколько минут. Если адрес есть в кэше, компьютер использует его сразу, без отправки запроса.

    Уязвимость ARP Spoofing (Отравление ARP-кэша)

    Протокол ARP был разработан в 1982 году, когда интернет был академической средой, где все доверяли друг другу. В ARP нет никакой аутентификации. Устройство поверит любому ARP-ответу, даже если оно не отправляло запрос.

    Эта архитектурная особенность породила одну из самых известных атак в локальных сетях — ARP Spoofing (или ARP Poisoning).

    Суть атаки: Хакер, находящийся в одной локальной сети с жертвой, начинает непрерывно отправлять жертве поддельные ARP-ответы (так называемые Gratuitous ARP). В этих пакетах хакер утверждает: «Я — роутер (шлюз по умолчанию), вот мой MAC-адрес». Одновременно хакер отправляет такие же пакеты настоящему роутеру, заявляя: «Я — компьютер жертвы, вот мой MAC-адрес».

    В результате ARP-таблицы жертвы и роутера обновляются (отравляются). Теперь жертва, желая открыть сайт в интернете, отправляет свой трафик не на роутер, а на компьютер хакера. Хакер читает перехваченные данные (пароли, сообщения) и незаметно пересылает их настоящему роутеру. Для жертвы интернет продолжает работать, но весь трафик проходит через злоумышленника.

    !Схема атаки ARP Spoofing: хакер перехватывает трафик между жертвой и роутером

    Как защититься? Этичный хакер должен знать не только как провести атаку, но и как от нее защитить сеть. Основные методы защиты: * Статические ARP-записи: Администратор может вручную жестко прописать связку IP и MAC-адреса роутера на всех компьютерах. Это надежно, но абсолютно немасштабируемо в крупных сетях. * Dynamic ARP Inspection (DAI): Умная функция на корпоративных коммутаторах (например, Cisco). Коммутатор анализирует все проходящие ARP-пакеты и сверяет их с доверенной базой данных (DHCP Snooping Binding Database). Если хакер попытается отправить поддельный ARP-ответ, коммутатор мгновенно заблокирует этот пакет и отключит порт хакера.

    Основы маршрутизации: как пакеты находят путь

    Если ARP работает только внутри одной комнаты (локальной сети), то маршрутизация — это система навигации между городами и странами.

    Когда ваш компьютер понимает, что IP-адрес получателя находится в другой сети (сравнивая IP и маску подсети), он не использует ARP для поиска конечного узла. Вместо этого он отправляет пакет на свой Шлюз по умолчанию (Default Gateway) — ближайший маршрутизатор.

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

    Структура таблицы маршрутизации

    Таблица маршрутизации — это набор правил. Каждое правило состоит из нескольких ключевых полей. Рассмотрим упрощенный пример таблицы маршрутизатора:

    | Сеть назначения (Destination) | Маска (Genmask) | Шлюз (Gateway) | Интерфейс (Iface) | Метрика (Metric) | | :--- | :--- | :--- | :--- | :--- | | 192.168.1.0 | 255.255.255.0 | 0.0.0.0 (Подключено напрямую) | eth0 | 0 | | 10.50.0.0 | 255.255.0.0 | 192.168.1.254 | eth0 | 10 | | 0.0.0.0 | 0.0.0.0 | 203.0.113.1 | eth1 | 100 |

    Как роутер читает эту таблицу, когда получает пакет для адреса 10.50.5.5?

  • Он просматривает все строки сверху вниз.
  • Первая строка: сеть 192.168.1.0/24. Адрес 10.50.5.5 туда не входит. Идем дальше.
  • Вторая строка: сеть 10.50.0.0/16. Адрес 10.50.5.5 совпадает с этой сетью!
  • Роутер смотрит в колонку «Шлюз» и видит, что пакет нужно переслать на следующий роутер с адресом 192.168.1.254 через интерфейс eth0.
  • А что если пакет предназначен для сервера Google (8.8.8.8)? Этого адреса нет ни в первой, ни во второй строке. Здесь срабатывает третья строка — Маршрут по умолчанию (Default Route), который обозначается как 0.0.0.0 с маской 0.0.0.0 (или 0.0.0.0/0). Это правило означает: «Если ты не знаешь, куда отправить пакет, отправь его сюда». В нашем примере пакет уйдет провайдеру на адрес 203.0.113.1.

    Статическая маршрутизация

    Маршруты в таблицу могут попадать двумя путями: динамически (роутеры сами общаются друг с другом по протоколам OSPF, BGP и строят карту сети) или статически.

    Статический маршрут — это путь, который сетевой администратор прописал вручную.

    Преимущества статики: * Безопасность: Никакой хакер не сможет прислать роутеру поддельное обновление маршрутов, потому что роутер никого не слушает. Он верит только тому, что ввел администратор. * Отсутствие нагрузки: Роутеру не нужно тратить процессорное время и пропускную способность канала на обмен служебной информацией с другими роутерами.

    Недостатки статики: * Отсутствие отказоустойчивости: Если кабель на прописанном маршруте порвется, роутер не сможет сам найти обходной путь. Трафик будет уходить «в никуда» (в черную дыру), пока администратор вручную не перепишет правило. * Сложность управления: В сети из 5 роутеров прописать статику легко. В сети из 500 роутеров это физически невозможно.

    > В контексте информационной безопасности статические маршруты часто используются для создания Blackhole Routing (маршрутизация в черную дыру). Если сеть подвергается DDoS-атаке с определенных IP-адресов, администратор может создать статический маршрут, направляющий весь трафик от атакующих на несуществующий интерфейс (Null0). Пакеты атакующих будут молча уничтожаться на границе сети, спасая внутренние серверы.

    !Интерактивный симулятор таблицы маршрутизации: проследите путь пакета

    Протокол ICMP: нервная система сети

    Мы разобрались, как пакеты находят путь. Но что происходит, если путь обрывается? Если кабель поврежден, роутер перегружен или администратор ошибся в статическом маршруте?

    IP-протокол сам по себе «слеп и нем». Он просто отправляет пакеты и не гарантирует их доставку. Чтобы сеть могла сообщать об ошибках и проводить диагностику, был создан ICMP (Internet Control Message Protocol — протокол управляющих сообщений интернета).

    ICMP работает на Сетевом уровне (L3) вместе с IP. В отличие от TCP или UDP, у ICMP нет портов. Он не используется для передачи пользовательских данных (картинок или текста), его задача — передавать служебную информацию.

    Каждое сообщение ICMP имеет два важных поля: Тип (Type) и Код (Code). Тип указывает на общую категорию сообщения, а Код уточняет детали.

    Основные типы ICMP-сообщений

  • Эхо-запрос (Type 8) и Эхо-ответ (Type 0):
  • Это основа знаменитой утилиты ping. Когда вы пишете в консоли ping 8.8.8.8, ваш компьютер отправляет ICMP-пакет Типа 8. Сервер Google получает его и обязан ответить пакетом Типа 0. Так вы понимаете, что сервер жив и сеть работает. Время между отправкой и получением ответа называется задержкой (latency или ping).

  • Время жизни истекло (Type 11 - Time Exceeded):
  • В прошлой статье мы обсуждали параметр TTL (Time to Live), который уменьшается на единицу на каждом роутере, чтобы предотвратить вечное блуждание пакета в петлях. Когда TTL достигает нуля, роутер уничтожает пакет. Но он не делает это молча! Он отправляет отправителю ICMP-сообщение Типа 11: «Извини, время жизни твоего пакета истекло на мне». Именно на этом механизме работает утилита traceroute. Она специально отправляет пакеты с TTL=1, TTL=2, TTL=3, заставляя каждый роутер на пути «умирать» и присылать ICMP Типа 11. Так хакер или администратор видит все узлы на пути к цели.

  • Узел недоступен (Type 3 - Destination Unreachable):
  • Если роутер не знает, куда отправить пакет (нет маршрута в таблице), или межсетевой экран (Firewall) блокирует соединение, отправителю возвращается ICMP Типа 3. Коды внутри этого типа уточняют причину: Код 0 — сеть недоступна, Код 1 — хост недоступен, Код 3 — порт недоступен.

    Уязвимости и атаки с использованием ICMP

    Для этичного хакера ICMP — это мощнейший инструмент разведки и, в некоторых случаях, эксплуатации.

    1. Разведка (Reconnaissance) Самый простой способ найти живые хосты в сети — провести Ping Sweep (веерное сканирование). Хакер отправляет ICMP Echo Request на все адреса подсети (например, от 192.168.1.1 до 192.168.1.254). Те, кто ответил — активные цели. Кроме того, анализируя параметр TTL в ответных ICMP-пакетах, можно определить операционную систему жертвы (OS Fingerprinting). По умолчанию у Windows начальный TTL равен 128, у Linux — 64, у сетевого оборудования Cisco — 255.

    2. Атака ICMP Redirect (Навязывание ложного маршрута) Существует особый тип ICMP-сообщения — Перенаправление (Type 5 - Redirect). Исторически он был создан для оптимизации. Если в сети есть два роутера (R1 и R2), и компьютер отправляет пакет на R1, но R1 видит, что путь через R2 короче, R1 перешлет пакет на R2 и отправит компьютеру ICMP Type 5: «В следующий раз отправляй сразу на R2, так быстрее».

    Злоумышленник может использовать это в своих целях. Хакер формирует поддельный пакет ICMP Type 5 от имени легитимного роутера и отправляет его жертве. В пакете сказано: «Оптимальный маршрут в интернет теперь проходит через мой IP-адрес». Операционная система жертвы послушно обновляет свою таблицу маршрутизации. В результате весь трафик жертвы начинает идти через компьютер хакера. Это еще один элегантный способ реализации атаки Man-in-the-Middle, наряду с ARP Spoofing.

    3. Атаки на отказ в обслуживании (DoS) * Ping of Death (Пинг смерти): Устаревшая, но исторически важная атака. Хакер отправлял фрагментированный ICMP-пакет, размер которого после сборки превышал максимально допустимые протоколом IP 65 535 байт. Старые операционные системы не могли обработать такой объем памяти и уходили в синий экран (BSOD). * Smurf Attack: Хакер отправляет ICMP Echo Request (Ping) на широковещательный адрес сети (Broadcast), но подменяет IP-адрес отправителя на IP-адрес своей жертвы. Все сотни компьютеров в сети одновременно отвечают на пинг, отправляя ответы жертве, тем самым перегружая ее канал связи.

    Как защититься от ICMP-угроз? В современных корпоративных сетях ICMP жестко фильтруется.

  • Отключение ответов на Ping: Большинство серверов в интернете (например, серверы Microsoft) настроены игнорировать ICMP Type 8. Они просто не отвечают на пинги, скрывая свое присутствие от простых сканеров.
  • Игнорирование ICMP Redirect: В современных ОС (Windows, Linux) принятие сообщений о перенаправлении маршрутов часто отключено по умолчанию. В Linux это контролируется параметром ядра: sysctl -w net.ipv4.conf.all.accept_redirects=0.
  • Ограничение скорости (Rate Limiting): Межсетевые экраны настраиваются так, чтобы пропускать не более, например, 10 ICMP-пакетов в секунду от одного источника, что делает невозможным проведение Smurf-атак и ICMP-флуда.
  • В следующей статье мы поднимемся на Транспортный уровень (L4) и детально разберем, как протоколы TCP и UDP обеспечивают надежность передачи данных, что такое сетевые порты и как именно хакеры проводят сканирование уязвимых сервисов с помощью утилит вроде Nmap.

    7. Транспортный уровень: надежность TCP, порты и датаграммы UDP

    Транспортный уровень: надежность TCP, порты и датаграммы UDP

    В предыдущих материалах мы изучили, как Сетевой уровень (L3) и протокол IP обеспечивают доставку пакетов от одного компьютера к другому через глобальную сеть. Маршрутизаторы, словно почтовые отделения, передают IP-пакеты по оптимальным маршрутам, пока те не достигнут целевого устройства.

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

    Как операционная система понимает, какие из пришедших нулей и единиц нужно отдать браузеру для отображения видео, а какие — мессенджеру для вывода текстового сообщения? Эту задачу решает Транспортный уровень (L4) эталонной модели OSI и стека TCP/IP.

    Транспортный уровень выступает связующим звеном между сетью, передающей безликие пакеты, и конкретными приложениями, которым эти данные предназначены. Для специалиста по информационной безопасности понимание L4 критически важно: именно здесь работают механизмы сканирования портов, реализуются многие виды атак на отказ в обслуживании (DoS) и настраиваются межсетевые экраны (Firewalls).

    Концепция портов и сокетов

    Чтобы разделить трафик между разными приложениями, Транспортный уровень использует концепцию сетевых портов.

    Если IP-адрес можно сравнить с адресом многоквартирного дома, то порт — это номер конкретной квартиры в этом доме. Письмо (пакет данных) сначала доставляется по адресу дома (IP), а затем почтальон (операционная система) кладет его в почтовый ящик конкретной квартиры (порт), где его уже ждет адресат (приложение).

    Порт представляет собой 16-битное число. Используя простую математику, мы можем вычислить максимальное количество портов: . Таким образом, порты нумеруются от до .

    Организация IANA (Internet Assigned Numbers Authority) делит все порты на три большие категории:

  • Общеизвестные порты (Well-known ports): от 0 до 1023.
  • Зарезервированы для стандартных системных сервисов. В операционных системах (например, Linux) для запуска приложения на этих портах требуются права администратора (root). Примеры: порт 80 (HTTP), порт 443 (HTTPS), порт 22 (SSH), порт 53 (DNS).
  • Зарегистрированные порты (Registered ports): от 1024 до 49151.
  • Используются конкретными программами и корпоративными сервисами. Например, базы данных MySQL по умолчанию работают на порту 3306, а Microsoft RDP (удаленный рабочий стол) — на порту 3389.
  • Динамические порты (Ephemeral ports): от 49152 до 65535.
  • Выделяются операционной системой временно для клиентских приложений. Когда ваш браузер подключается к серверу, он использует один из этих портов для получения ответа.

    > Сокет (Socket) — это программный интерфейс, представляющий собой комбинацию IP-адреса и номера порта, разделенных двоеточием. Например: 192.168.1.10:443. Сокет однозначно идентифицирует конкретное сетевое соединение конкретного приложения в масштабах всего интернета.

    На Транспортном уровне доминируют два протокола, которые кардинально отличаются подходом к доставке данных: TCP и UDP. Выбор между ними зависит от того, что для приложения важнее — надежность или скорость.

    Протокол TCP: гарантия доставки и контроль

    TCP (Transmission Control Protocol — протокол управления передачей) — это надежный протокол с установлением соединения.

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

    Блок данных на уровне TCP называется сегментом. TCP берет большой массив данных от приложения (например, файл изображения), разбивает его на пронумерованные сегменты и отправляет их в сеть.

    Ключевые механизмы надежности TCP

    * Установление соединения: Перед отправкой полезных данных клиент и сервер обязаны «познакомиться» и договориться о параметрах связи. * Нумерация (Sequence Numbers): Каждому байту передаваемых данных присваивается порядковый номер. Это позволяет получателю собрать сегменты в правильном порядке, даже если они пришли разными маршрутами и перемешались в сети. * Подтверждение (Acknowledgments - ACK): Получив сегмент, сервер обязан отправить клиенту квитанцию (ACK): «Я получил данные вплоть до байта номер N, жду следующие». Если клиент не получает ACK в течение определенного времени (тайм-аута), он считает сегмент потерянным и отправляет его заново. * Управление потоком (Flow Control): TCP использует механизм «скользящего окна» (Sliding Window). Получатель сообщает отправителю, сколько свободного места осталось в его буфере памяти. Если сервер перегружен, он уменьшает размер окна, заставляя клиента снизить скорость передачи.

    Тройное рукопожатие (3-Way Handshake)

    Процесс установления соединения в TCP называется тройным рукопожатием. Это фундаментальная концепция, на которой строятся как легитимные сетевые взаимодействия, так и хакерские техники сканирования.

    Рассмотрим процесс подключения вашего браузера (Клиент) к веб-серверу (Сервер):

  • Шаг 1: SYN (Synchronize). Клиент инициирует соединение. Он отправляет серверу TCP-сегмент с установленным флагом SYN и случайным начальным порядковым номером (например, ). Это означает: «Привет, я хочу установить соединение, давай синхронизируем номера. Мой отсчет начинается с 1000».
  • Шаг 2: SYN-ACK. Сервер получает запрос. Если порт открыт и сервер готов к общению, он отвечает сегментом с двумя флагами: SYN и ACK. В нем он подтверждает получение запроса клиента () и задает свой собственный начальный номер (). Это означает: «Привет, я тебя слышу. Мой отсчет начинается с 5000».
  • Шаг 3: ACK (Acknowledge). Клиент получает ответ сервера и отправляет финальное подтверждение с флагом ACK (). Это означает: «Отлично, я тоже тебя слышу. Начинаем передачу данных».
  • Только после этих трех шагов соединение считается установленным (статус ESTABLISHED), и начинается передача HTTP-запросов и картинок.

    !Интерактивная симуляция тройного рукопожатия TCP

    Уязвимость TCP: атака SYN Flood

    Сложность и надежность TCP имеют обратную сторону — они требуют вычислительных ресурсов и памяти. Эта архитектурная особенность породила классическую атаку на отказ в обслуживании (DoS) — SYN Flood (СИН-флуд).

    Как работает атака: Злоумышленник отправляет на сервер тысячи запросов SYN (Шаг 1) с поддельных IP-адресов. Сервер честно отвечает каждому SYN-ACK (Шаг 2), выделяет под это соединение оперативную память и переходит в режим ожидания финального ACK (Шаг 3).

    Но финальный ACK никогда не приходит, потому что IP-адреса отправителей были подделаны. Сервер держит эти «полуоткрытые» (Half-Open) соединения в памяти до истечения тайм-аута. Когда очередь полуоткрытых соединений переполняется, сервер перестает принимать новые запросы. Для легитимных пользователей сайт становится недоступен.

    Методы защиты (Митигация): Для защиты от SYN Flood инженеры разработали механизм SYN Cookies. Суть защиты: когда сервер находится под нагрузкой, он перестает выделять память под новые SYN-запросы. Вместо этого он математически зашифровывает параметры соединения в самом номере , который отправляет в ответном SYN-ACK. Если клиент легитимный, он вернет этот номер в финальном ACK. Сервер расшифрует его, проверит подлинность и только тогда выделит память. Это элегантное решение позволяет отбивать атаки, не нарушая стандарт протокола TCP.

    Протокол UDP: скорость без гарантий

    UDP (User Datagram Protocol — протокол пользовательских датаграмм) — это полная противоположность TCP.

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

    Блок данных в UDP называется датаграммой.

    В UDP нет тройного рукопожатия, нет подтверждений получения, нет контроля порядка следования пакетов и нет управления потоком. Заголовок UDP-датаграммы минималистичен и занимает всего 8 байт (в отличие от 20 байт у TCP). Он содержит только порт отправителя, порт получателя, длину и контрольную сумму.

    !Сравнение механизмов доставки TCP и UDP

    Зачем нужен «ненадежный» протокол?

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

    * Потоковое видео и аудио (VoIP, Skype, Zoom): Если при видеозвонке потеряется один пакет (датаграмма), на экране на долю секунды появится артефакт или пикселизация. Человеческий глаз этого почти не заметит. Но если бы использовался TCP, программа остановила бы видео, запросила потерянный пакет заново и ждала его доставки. Это привело бы к постоянным зависаниям и рассинхронизации звука. * Сетевые онлайн-игры: В динамичных шутерах координаты игроков должны обновляться десятки раз в секунду. Если пакет с координатами устарел (потерялся), нет смысла запрашивать его снова — нужно просто принять следующий, более свежий пакет. * Служебные запросы (DNS): Когда вы вводите адрес сайта, компьютер отправляет короткий запрос к DNS-серверу, чтобы узнать IP-адрес. Устанавливать тяжеловесное TCP-соединение ради одного короткого вопроса неэффективно. Проще отправить UDP-запрос. Если ответ не пришел через секунду — просто отправить запрос еще раз.

    Уязвимости UDP: атаки усиления (Amplification)

    Отсутствие предварительного рукопожатия делает UDP идеальным инструментом для атак типа UDP Amplification (Атака с плечом усиления).

    Как работает атака: Хакер хочет «положить» сервер жертвы (IP-адрес А). Хакер формирует UDP-запрос к публичному уязвимому серверу (например, DNS или NTP), но в поле «IP-адрес отправителя» подставляет IP-адрес жертвы (IP Spoofing).

    Особенность некоторых протоколов в том, что на маленький запрос (например, 60 байт) сервер может отправить огромный ответ (например, 3000 байт). Публичный сервер получает запрос, обрабатывает его и отправляет массивный ответ... прямо на сервер жертвы! Хакер тратит минимум ресурсов своего канала связи, а жертва получает лавину мусорного трафика, усиленного в 50 раз.

    Методы защиты: Защита от таких атак строится на уровне интернет-провайдеров. Применяется технология BCP38 (Egress Filtering): провайдеры настраивают свои маршрутизаторы так, чтобы они блокировали исходящие пакеты, если IP-адрес отправителя не принадлежит сети этого провайдера. Это делает невозможным подмену (Spoofing) адреса.

    | Характеристика | TCP | UDP | | :--- | :--- | :--- | | Установление соединения | Требуется (3-Way Handshake) | Не требуется (Fire and forget) | | Надежность | Гарантированная доставка | Возможны потери пакетов | | Порядок данных | Строго последовательный | Могут прийти вразнобой | | Скорость | Медленнее (из-за накладных расходов) | Максимально быстро | | Типичное применение | Веб-сайты (HTTP), Почта, Передача файлов | Видеосвязь, Онлайн-игры, DNS |

    Основы сканирования портов (Взгляд этичного хакера)

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

    Самый популярный инструмент для этой задачи — утилита Nmap (Network Mapper).

    Цель сканирования — определить состояние порта. Порт может быть: * Open (Открыт): Приложение слушает порт и готово принимать соединения. * Closed (Закрыт): Порт доступен, но на нем не запущено ни одно приложение. * Filtered (Отфильтрован): Межсетевой экран (Firewall) блокирует пакеты, и сканер не может определить, открыт порт или закрыт.

    Методы сканирования TCP

    1. TCP Connect Scan (Полное соединение) Это самый базовый и «шумный» вид сканирования. Сканер использует стандартные функции операционной системы для полного прохождения тройного рукопожатия (SYN SYN-ACK ACK). Плюс:* Не требует прав администратора. Минус:* Оставляет четкие следы в логах (журналах) целевого сервера, так как соединение было полностью установлено.

    2. TCP SYN Scan (Полуоткрытое сканирование / Stealth Scan) Это стандартный метод работы профессионалов. Сканер отправляет SYN-пакет. * Если сервер отвечает SYN-ACK (порт открыт), сканер мгновенно отправляет пакет с флагом RST (Reset — сброс), обрывая соединение до его полного установления. * Если сервер отвечает RST-ACK, значит порт закрыт. Плюс:* Соединение не завершается, поэтому большинство простых приложений не записывают этот визит в логи. Работает очень быстро. Минус:* Требует прав администратора (root) для формирования нестандартных пакетов.

    Особенности сканирования UDP

    Сканирование UDP-портов — это боль для любого пентестера. Поскольку UDP не имеет рукопожатий и подтверждений, сканирование превращается в игру в угадайку.

    Сканер отправляет пустую UDP-датаграмму на порт. * Если приходит ответ от приложения — порт открыт (бывает редко, так как приложения ждут специфичных данных, а не пустых пакетов). * Если приходит ICMP-сообщение «Port Unreachable» (Порт недоступен) — порт закрыт. * Если не приходит вообще ничего (тишина) — порт помечается как Open|Filtered (Открыт или Отфильтрован). Сканер не знает: пакет потерялся в сети, его «молча» уничтожил Firewall, или приложение приняло пакет, но решило на него не отвечать.

    Именно поэтому UDP-сканирование занимает в десятки раз больше времени, чем TCP-сканирование, и часто дает неточные результаты.

    Защита от сканирования

    С точки зрения защиты (Blue Team), скрыть открытые порты от сканирования полностью невозможно — если сервис должен быть доступен клиентам, он будет доступен и сканеру. Однако можно усложнить жизнь атакующему:

  • Default-Deny Policy (Политика запрета по умолчанию): Межсетевой экран должен блокировать всё, что не разрешено явно. Если серверу нужен только веб-трафик, открытыми должны быть только порты 80 и 443. Все остальные 65533 порта должны отбрасывать пакеты (Drop), не отправляя никаких ответов.
  • Port Knocking (Стук в порты): Продвинутая техника скрытия сервисов (например, SSH). Порт 22 закрыт фаерволом для всех. Но если клиент предварительно «постучится» (отправит пакеты) в определенной секретной последовательности на закрытые порты (например, 7000, затем 8500, затем 9000), фаервол временно откроет порт 22 только для IP-адреса этого клиента.
  • Системы обнаружения вторжений (IDS/IPS): Такие системы, как Snort или Suricata, анализируют сетевой трафик. Если они видят, что с одного IP-адреса за секунду приходят SYN-запросы на сотни разных портов, они распознают это как сканирование и автоматически блокируют IP-адрес атакующего.
  • В этой статье мы разобрали, как Транспортный уровень организует логическую связь между приложениями, обеспечивая надежность с помощью TCP или скорость с помощью UDP. Мы также увидели, как эти механизмы используются для разведки и атак. В следующем материале мы поднимемся на самый верхний уровень — Прикладной (L7), где разберем протоколы, с которыми пользователи взаимодействуют напрямую: HTTP, DNS и основы криптографии в сети.

    8. Прикладной уровень: принципы работы DNS, HTTP и HTTPS

    Прикладной уровень: принципы работы DNS, HTTP и HTTPS

    В предыдущих материалах мы прошли долгий путь от физических кабелей и MAC-адресов до IP-маршрутизации и транспортных протоколов TCP и UDP. Мы научились доставлять пакеты данных от одного компьютера к другому и распределять их между нужными программами с помощью портов.

    Однако для обычного пользователя все эти процессы невидимы. Когда вы открываете браузер, вы не вводите IP-адрес 142.250.190.46 и не указываете вручную порт 443. Вы просто пишете google.com и видите красивую веб-страницу с картинками и текстом.

    Превращением безликих нулей, единиц и IP-адресов в понятную для человека информацию занимается Прикладной уровень (L7 в модели OSI или уровень Application в стеке TCP/IP). Это вершина сетевой архитектуры, где работают протоколы, с которыми мы взаимодействуем каждый день. Для этичного хакера Прикладной уровень — это основное поле битвы, так как именно здесь находится большинство уязвимостей современных веб-приложений.

    В этой статье мы разберем три фундаментальных протокола интернета: DNS (как компьютеры находят друг друга по именам), HTTP (как передаются веб-страницы) и HTTPS (как эта передача защищается с помощью криптографии).

    DNS: Телефонная книга интернета

    Компьютеры общаются исключительно с помощью чисел — IP-адресов. Но человеческий мозг плохо запоминает длинные числовые последовательности. Нам гораздо проще запомнить осмысленное слово, например, gurufy.com.

    Чтобы объединить удобство для людей и технические требования машин, была создана DNS (Domain Name System — система доменных имен). Ее главная задача — переводить (разрешать) понятные человеку доменные имена в IP-адреса, по которым маршрутизаторы смогут доставить пакеты.

    > DNS работает как телефонный справочник: вы знаете имя абонента (домен), открываете справочник (DNS-сервер) и находите его номер телефона (IP-адрес).

    Иерархия доменных имен

    Доменное имя читается справа налево, от самого общего к самому частному. Структура DNS строго иерархична и напоминает перевернутое дерево:

  • Корневая зона (Root): Обозначается невидимой точкой в самом конце домена (например, example.com.). В мире существует 13 логических корневых серверов, которые знают, где искать зоны следующего уровня.
  • Домены верхнего уровня (TLD - Top-Level Domain): Это привычные нам окончания .com, .org, .ru, .net. Серверы TLD знают адреса серверов, отвечающих за конкретные сайты в их зоне.
  • Домены второго уровня: Это уникальные имена, которые покупают компании и люди (например, google в google.com).
  • Поддомены (Subdomains): Дополнительные разделы сайта, создаваемые владельцем (например, mail.google.com или blog.google.com).
  • Как происходит разрешение имени (DNS Lookup)

    Представьте, что вы ввели в браузере адрес mail.example.com. Ваш компьютер не знает, куда отправлять данные. Начинается процесс поиска, который состоит из нескольких шагов:

  • Локальный кэш: Сначала операционная система проверяет свою внутреннюю память (кэш). Если вы недавно заходили на этот сайт, IP-адрес уже сохранен, и поиск завершается.
  • Рекурсивный резолвер (DNS-сервер провайдера): Если в кэше пусто, компьютер отправляет запрос DNS-серверу вашего интернет-провайдера (или публичному серверу, например, 8.8.8.8 от Google). Резолвер берет на себя всю грязную работу по поиску.
  • Запрос к корневому серверу: Резолвер спрашивает корневой сервер: «Где находится mail.example.com?». Корневой сервер отвечает: «Я не знаю точный адрес, но я знаю, кто отвечает за зону .com. Вот его IP».
  • Запрос к TLD-серверу: Резолвер обращается к серверу зоны .com: «Где mail.example.com?». TLD-сервер отвечает: «Я знаю, кто купил домен example.com. Вот IP-адрес его авторитативного сервера».
  • Запрос к авторитативному серверу: Резолвер обращается к конечному серверу, который управляется владельцем сайта. Тот проверяет свои записи и отвечает: «IP-адрес для mail.example.com93.184.216.34».
  • Возврат ответа: Резолвер сохраняет этот ответ в свой кэш (чтобы в следующий раз ответить быстрее) и передает IP-адрес вашему компьютеру.
  • !Интерактивная схема процесса разрешения DNS-имени

    Типы DNS-записей и параметр TTL

    Авторитативный сервер хранит информацию в виде специальных записей. Для специалиста по кибербезопасности анализ этих записей — первый этап разведки (Reconnaissance) при аудите компании.

    * A-запись (Address): Связывает домен с IPv4-адресом (например, example.com 93.184.216.34). * AAAA-запись: Связывает домен с современным IPv6-адресом. * CNAME (Canonical Name): Работает как псевдоним. Указывает не на IP-адрес, а на другое доменное имя (например, www.example.com example.com). * MX (Mail Exchange): Указывает на почтовые серверы, которые принимают email для этого домена. Хакеры часто ищут MX-записи, чтобы найти корпоративные почтовые шлюзы для атак. * TXT (Text): Текстовая информация. Сегодня используется в основном для подтверждения владения доменом и настройки безопасности электронной почты (SPF, DKIM), чтобы письма не попадали в спам.

    У каждой записи есть параметр TTL (Time To Live — время жизни). Он измеряется в секундах и указывает, как долго другие серверы и компьютеры могут хранить эту запись в кэше. Если TTL равен 3600, это значит, что IP-адрес будет закэширован на 1 час.

    Уязвимости DNS и методы защиты

    Исторически протокол DNS создавался без учета безопасности. Запросы отправляются открытым текстом по протоколу UDP (порт 53). Это порождает серьезные риски.

    Атака DNS Spoofing (Подмена DNS / Отравление кэша) Поскольку UDP не имеет механизмов проверки подлинности отправителя, злоумышленник может перехватить запрос жертвы и отправить ей фальшивый ответ быстрее, чем это сделает настоящий DNS-сервер. В результате жертва вводит bank.com, но DNS направляет ее на IP-адрес хакера, где развернута точная копия сайта банка для кражи паролей.

    Методы защиты (Митигация):

  • DNSSEC (DNS Security Extensions): Технология, которая добавляет криптографические цифровые подписи к DNS-записям. Резолвер может математически проверить, что ответ пришел от истинного владельца домена и не был изменен в пути.
  • DoH (DNS over HTTPS) и DoT (DNS over TLS): Эти протоколы заворачивают обычные DNS-запросы в зашифрованный туннель. Это не позволяет интернет-провайдерам или злоумышленникам в публичной сети Wi-Fi видеть, на какие сайты вы заходите, и подменять ответы.
  • HTTP: Язык общения в вебе

    Узнав IP-адрес сервера, браузер устанавливает с ним TCP-соединение (тройное рукопожатие, которое мы разбирали в прошлой статье). Теперь им нужно начать обмениваться данными. Для этого используется протокол HTTP (Hypertext Transfer Protocol — протокол передачи гипертекста).

    HTTP работает по классической клиент-серверной модели. Клиент (ваш браузер) отправляет Запрос (Request), а сервер возвращает Ответ (Response). HTTP является протоколом без сохранения состояния (stateless): сервер обрабатывает каждый запрос как новый и не помнит предыдущих действий пользователя (для сохранения памяти о пользователе придумали Cookies).

    Структура HTTP-запроса

    Когда вы переходите по ссылке, браузер формирует текстовое сообщение. Оно состоит из стартовой строки, заголовков и (иногда) тела.

    Пример типичного запроса:

    Разберем ключевые элементы: * Метод (GET): Указывает, что именно мы хотим сделать. * URI (/index.html): Путь к конкретному ресурсу на сервере. * Версия протокола (HTTP/1.1): Указывает правила форматирования. * Заголовки (Headers): Дополнительная служебная информация. Host указывает целевой домен (обязателен, так как на одном IP может быть 100 разных сайтов). User-Agent сообщает серверу, какой у вас браузер и операционная система (хакеры часто подделывают этот заголовок, чтобы выдать свои автоматизированные скрипты за обычных пользователей).

    Основные HTTP-методы: | Метод | Описание | Пример использования | | :--- | :--- | :--- | | GET | Запрашивает данные с сервера. Не должен ничего менять. | Открытие статьи, загрузка картинки. | | POST | Отправляет данные на сервер для обработки. | Регистрация аккаунта, отправка комментария. | | PUT | Полностью заменяет существующий ресурс на сервере. | Обновление профиля пользователя. | | DELETE | Удаляет ресурс с сервера. | Удаление поста в социальной сети. |

    Структура HTTP-ответа

    Получив запрос, веб-сервер (например, Nginx или Apache) обрабатывает его и формирует ответ.

    Пример ответа:

    Самая важная часть ответа — Код состояния (Status Code). Это трехзначное число, которое сообщает клиенту результат операции.

    * 1xx (Информационные): Запрос принят, процесс продолжается. * 2xx (Успешные): Запрос успешно обработан. Самый частый — 200 OK. * 3xx (Перенаправления): Ресурс перемещен. Например, 301 Moved Permanently скажет браузеру автоматически перейти на новый адрес. * 4xx (Клиентские ошибки): Проблема на стороне пользователя. Знаменитый 404 Not Found означает, что вы запросили несуществующую страницу. 403 Forbidden означает, что у вас нет прав доступа к ресурсу (любимый код пентестеров, который они пытаются обойти). * 5xx (Серверные ошибки): Проблема на стороне сервера. 500 Internal Server Error означает, что код сайта сломался при обработке вашего запроса.

    Уязвимость HTTP: отсутствие шифрования

    Главная проблема чистого HTTP (работает на порту 80) заключается в том, что все данные передаются в виде открытого текста.

    Если вы сидите в кафе с публичным Wi-Fi и вводите логин и пароль на сайте по HTTP, любой человек в этой же сети может запустить программу-сниффер (например, Wireshark), перехватить ваши пакеты и прочитать пароль так же легко, как вы читаете этот текст. Это классическая атака Man-in-the-Middle (MitM) — «Человек посередине».

    Чтобы решить эту критическую проблему, к HTTP добавили букву «S».

    HTTPS и TLS: Броня для ваших данных

    HTTPS (Hypertext Transfer Protocol Secure) — это не отдельный протокол. Это тот же самый HTTP, но завернутый в криптографический туннель протокола TLS (Transport Layer Security). Исторически этот протокол назывался SSL, поэтому термины часто используют как синонимы. HTTPS работает на порту 443.

    Задача TLS — обеспечить три фундаментальных принципа информационной безопасности:

  • Конфиденциальность: Никто не сможет прочитать данные в пути (шифрование).
  • Целостность: Никто не сможет незаметно изменить данные в пути (хеширование).
  • Аутентификация: Вы точно знаете, что общаетесь с настоящим сервером банка, а не с хакером (цифровые сертификаты).
  • Основы криптографии: симметричная и асимметричная

    Чтобы понять, как работает TLS, нужно знать два базовых подхода к шифрованию.

    Симметричное шифрование использует один и тот же секретный ключ для зашифровки и расшифровки данных. Плюс:* Работает очень быстро, подходит для передачи гигабайтов видео. Минус:* Проблема передачи ключа. Как передать этот секретный ключ серверу через интернет так, чтобы хакер его не перехватил?

    Эту проблему решает Асимметричное шифрование. В нем используется пара математически связанных ключей: Публичный (Public Key) и Приватный (Private Key). То, что зашифровано публичным ключом, можно расшифровать только приватным. Публичный ключ сервер раздает всем желающим, а приватный хранит в строжайшем секрете.

    > Если Алиса хочет отправить секрет Бобу, она берет публичный ключ Боба и шифрует им сообщение. Даже если хакер перехватит сообщение, он ничего не сможет сделать, так как расшифровать его может только Боб своим приватным ключом.

    TLS Handshake (Рукопожатие TLS)

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

    Этот процесс настройки называется TLS Handshake:

  • Client Hello: Браузер говорит серверу: «Привет, я хочу установить защищенное соединение. Вот список алгоритмов шифрования, которые я поддерживаю».
  • Server Hello + Certificate: Сервер отвечает: «Привет, будем использовать алгоритм AES-256. Вот мой цифровой сертификат, внутри которого лежит мой Публичный ключ».
  • Проверка сертификата: Браузер проверяет подлинность сертификата (об этом ниже).
  • Генерация сессионного ключа: Браузер генерирует случайный секретный ключ (симметричный). Затем он шифрует этот ключ Публичным ключом сервера и отправляет его серверу.
  • Расшифровка: Сервер получает сообщение и расшифровывает его своим Приватным ключом. Теперь и у браузера, и у сервера есть одинаковый секретный симметричный ключ, который никто в интернете не знает.
  • Защищенный обмен: Начинается передача HTTP-запросов (GET, POST), зашифрованных этим симметричным ключом.
  • !Схема процесса TLS Handshake

    Инфраструктура открытых ключей (PKI) и Сертификаты

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

    Для защиты от этого используются Цифровые сертификаты и система Удостоверяющих центров (CA - Certificate Authority).

    Удостоверяющий центр — это всемирно признанная организация (например, Let's Encrypt, DigiCert, GlobalSign). Когда банк создает свой сайт, он генерирует пару ключей и отправляет публичный ключ в CA. CA проверяет документы банка, убеждается, что домен действительно принадлежит им, и ставит на публичный ключ банка свою цифровую подпись. Этот подписанный документ и есть Сертификат.

    В операционную систему вашего компьютера и в браузер заранее, еще на заводе, вшиты публичные ключи всех доверенных Удостоверяющих центров.

    Когда сервер присылает вам сертификат, браузер проверяет подпись CA. Если подпись совпадает — браузер рисует зеленый замочек в адресной строке. Если сертификат подписан неизвестно кем (самоподписанный сертификат) или срок его действия истек, браузер выдаст страшное красное предупреждение: «Подключение не защищено».

    Атаки на HTTPS и защита

    Взломать современное шифрование TLS 1.3 математически практически невозможно. Поэтому хакеры атакуют не саму криптографию, а логику работы протоколов.

    Популярная атака — SSL Stripping (Снятие SSL). Допустим, вы вводите в браузере bank.com. По умолчанию браузер сначала пытается подключиться по незащищенному HTTP (порт 80). Сервер банка должен ответить: 301 Redirect на HTTPS. Хакер, находящийся в одной Wi-Fi сети с вами, перехватывает этот первый HTTP-запрос. Он сам устанавливает защищенное HTTPS-соединение с банком, а вам отдает незашифрованную HTTP-версию сайта. Вы видите сайт банка, вводите пароль, хакер его читает и пересылает в банк.

    Методы защиты: Для борьбы с этой атакой придуман механизм HSTS (HTTP Strict Transport Security). Это специальный HTTP-заголовок, который сервер отправляет браузеру. Он означает: «Запомни на ближайший год: к этому сайту можно подключаться ТОЛЬКО по HTTPS. Если кто-то попытается перевести тебя на HTTP — немедленно блокируй соединение». Благодаря HSTS браузер даже не попытается отправить первый уязвимый запрос по порту 80.

    В этой статье мы завершили подъем по сетевой модели. Мы увидели, как DNS переводит имена в IP-адреса, как HTTP структурирует запросы к серверам, и как HTTPS с помощью элегантной комбинации асимметричной и симметричной криптографии защищает наши данные от перехвата. Понимание этих механизмов — базовый навык для любого специалиста, который планирует заниматься анализом защищенности веб-приложений.

    9. Сетевое оборудование: логика работы коммутаторов и маршрутизаторов

    Сетевое оборудование: логика работы коммутаторов и маршрутизаторов

    Любая компьютерная сеть, от скромного домашнего Wi-Fi до глобальной инфраструктуры транснациональной корпорации, строится на физических устройствах. Протоколы, IP-адреса и криптографические алгоритмы — это лишь правила игры. Но чтобы игра состоялась, нужны игроки: кабели, радиоволны и специализированное оборудование, которое принимает решения о том, куда направить каждый бит информации.

    Для этичного хакера или специалиста по информационной безопасности понимание логики работы сетевого оборудования — это фундамент. Невозможно защитить сеть (или найти в ней уязвимости), если вы воспринимаете ее как «черный ящик». Большинство архитектурных атак, таких как перехват трафика или подмена адресов, эксплуатируют не ошибки в коде, а саму природу работы сетевых устройств.

    В этом материале мы разберем эволюцию и принципы работы трех главных устройств, управляющих трафиком: концентраторов, коммутаторов и маршрутизаторов.

    Сетевой концентратор (Hub): Эхо прошлого и рай для сниффера

    Чтобы понять, почему современные сети устроены именно так, нужно взглянуть на их предшественника — сетевой концентратор (или Hub). Сегодня эти устройства практически вышли из употребления, но их логика работы идеально иллюстрирует базовые проблемы сетевой безопасности.

    Концентратор работает на самом нижнем, Физическом уровне (L1) эталонной модели OSI. У него нет ни процессора для анализа данных, ни памяти для запоминания адресов. Он работает исключительно с электрическими сигналами.

    Логика работы хаба примитивна: когда электрический сигнал (кадр с данными) поступает на один из портов концентратора, устройство просто копирует этот сигнал и рассылает его на все остальные порты, кроме того, с которого сигнал пришел.

    > Представьте себе темную комнату, в которой сидят пять человек. Если Алиса хочет сказать что-то Бобу, она просто громко выкрикивает его имя и сообщение. Сообщение слышат абсолютно все в комнате, но реагирует на него только Боб. Остальные просто игнорируют услышанное.

    Проблемы концентраторов

    Такой подход порождает две критические проблемы:

  • Коллизии (Столкновения данных). Если Алиса и Чарли попытаются крикнуть свои сообщения одновременно, их голоса сольются в неразборчивый шум. В сетях это называется коллизией. Чем больше устройств подключено к хабу, тем чаще происходят коллизии, и тем медленнее работает сеть. Вся сеть, построенная на хабе, представляет собой один большой домен коллизий.
  • Абсолютная незащищенность. Поскольку хаб рассылает трафик всем устройствам, любой компьютер в сети получает чужие данные. В нормальном режиме сетевая карта компьютера отбрасывает кадры, в которых указан чужой MAC-адрес. Но этичный хакер может перевести свою сетевую карту в Promiscuous mode (неразборчивый режим) с помощью программ вроде Wireshark. В этом режиме компьютер начинает сохранять и читать весь проходящий мимо трафик. Перехват паролей в такой сети не требует вообще никаких усилий — достаточно просто «слушать».
  • Чтобы решить проблемы производительности и безопасности, инженеры создали более умное устройство.

    Коммутатор (Switch): Интеллектуальный регулировщик локальной сети

    Коммутатор (Switch) — это стандартное устройство для построения современных локальных сетей (LAN). Внешне он может быть похож на хаб (коробочка с множеством портов), но внутри это совершенно другой механизм.

    Коммутатор работает на Канальном уровне (L2) модели OSI. Это значит, что он понимает структуру кадра Ethernet и умеет читать MAC-адреса (уникальные физические идентификаторы сетевых карт).

    Главная задача коммутатора — доставлять кадры только тому устройству, которому они предназначены. Благодаря этому коммутатор разбивает сеть на множество мелких доменов коллизий (каждый порт — отдельный домен), позволяя всем компьютерам общаться одновременно на максимальной скорости.

    Как коммутатор изучает сеть: CAM-таблица

    Чтобы отправлять данные адресно, коммутатор должен знать, какое устройство подключено к какому порту. Для этого у него есть специальная быстрая память — CAM-таблица (Content Addressable Memory), также известная как таблица MAC-адресов.

    Процесс работы коммутатора состоит из трех шагов:

  • Обучение (Learning). Когда вы подключаете новый компьютер к порту №1 и он отправляет свой первый кадр, коммутатор смотрит на MAC-адрес отправителя в этом кадре. Коммутатор делает запись в CAM-таблице: «Ага, устройство с MAC-адресом AA:AA:AA:AA:AA:AA находится на порту №1».
  • Направленная передача (Forwarding). Коммутатор смотрит на MAC-адрес получателя в кадре. Если этот адрес уже есть в CAM-таблице (например, коммутатор знает, что получатель сидит на порту №4), он отправляет кадр только на порт №4. Никто другой в сети этот кадр не увидит.
  • Широковещательная рассылка (Flooding). Что делать, если коммутатор еще не знает, где находится получатель (его MAC-адреса нет в таблице)? В этом случае коммутатор вынужден поступить как старый хаб: он рассылает кадр на все порты. Тот, кому предназначался кадр, ответит, и коммутатор тут же запишет его адрес в таблицу для будущих передач.
  • !Интерактивная симуляция работы коммутатора: заполнение CAM-таблицы

    Уязвимости коммутаторов: MAC Flooding

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

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

    Атака MAC Flooding (Переполнение MAC-таблицы) работает следующим образом: Злоумышленник запускает специальный скрипт (например, утилиту macof), который генерирует десятки тысяч фальшивых кадров в секунду. У каждого кадра — новый, случайно сгенерированный MAC-адрес отправителя.

    Коммутатор, честно выполняя свою работу (шаг «Обучение»), пытается запомнить их все. За несколько секунд его CAM-таблица переполняется. Когда таблица заполнена, коммутатор больше не может запоминать новые адреса легитимных устройств.

    Столкнувшись с неизвестным адресом получателя при переполненной таблице, коммутатор переходит в режим безопасности (Fail-Open) и начинает рассылать все новые кадры на все порты. По сути, атака превращает умный коммутатор в глупый хаб. Теперь хакер может спокойно перехватывать чужой трафик.

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

    Маршрутизатор (Router): Пограничный контроль между мирами

    Коммутаторы отлично справляются с объединением сотен компьютеров в пределах одного здания. Но они работают только с MAC-адресами. MAC-адрес не имеет иерархии и не содержит информации о том, в какой сети находится устройство.

    Если бы весь интернет был построен только на коммутаторах, их CAM-таблицы должны были бы хранить миллиарды записей, а широковещательные запросы (когда кто-то ищет неизвестный MAC-адрес) мгновенно парализовали бы все каналы связи планеты.

    Поэтому для объединения разных сетей (например, вашей домашней сети и сети провайдера) используется Маршрутизатор (Router).

    Маршрутизатор работает на Сетевом уровне (L3) модели OSI. Он игнорирует MAC-адреса (они остаются внутри локальной сети) и оперирует IP-адресами.

    > Если коммутатор — это почтальон, который разносит письма по кабинетам внутри одного офисного здания, то маршрутизатор — это сортировочный центр на вокзале, который решает, в какой город отправить вагон с почтой.

    Логика работы маршрутизатора

    Главная задача маршрутизатора — найти оптимальный путь для пакета данных от отправителя к получателю через лабиринт других сетей. Для этого он использует Таблицу маршрутизации.

    Таблица маршрутизации — это карта дорог. В ней записано: «Чтобы попасть в сеть 142.250.0.0 (серверы Google), нужно отправить пакет через порт WAN на IP-адрес провайдера».

    Ключевые отличия маршрутизатора от коммутатора:

  • Разделение широковещательных доменов. Маршрутизаторы по умолчанию блокируют широковещательный трафик (кадры, отправленные всем). Если компьютер в вашей сети крикнет «Кто-нибудь, ответьте!», маршрутизатор не пропустит этот крик в интернет. Это спасает глобальную сеть от перегрузки.
  • Работа с логической адресацией. Маршрутизатор анализирует IP-адрес получателя, определяет его подсеть (с помощью маски подсети) и решает, куда переслать пакет.
  • Изменение заголовков. При передаче пакета из одной локальной сети в другую маршрутизатор снимает старый L2-заголовок (с MAC-адресами) и надевает новый, подходящий для следующего участка пути.
  • !Схема взаимодействия коммутаторов и маршрутизатора при объединении сетей.

    Уязвимости архитектуры L3

    Маршрутизаторы — это мощные компьютеры со своими операционными системами (например, Cisco IOS). Они подвержены классическим уязвимостям ПО, но в контексте архитектуры этичным хакерам интересны логические атаки.

    Одна из самых опасных — появление Rogue Router (Поддельного маршрутизатора) или атака через подмену шлюза по умолчанию (Default Gateway Spoofing).

    Если злоумышленник сможет убедить компьютеры в локальной сети, что именно его устройство является главным маршрутизатором (выходом в интернет), весь внешний трафик потечет через компьютер хакера. Это достигается с помощью атак ARP Spoofing или поднятия поддельного DHCP-сервера, который раздает жертвам неправильные сетевые настройки.

    Методы защиты: Защита строится на сегментации сети и строгих правилах. На коммутаторах настраивают DHCP Snooping (блокировка поддельных ответов от неавторизованных серверов). На самих маршрутизаторах активно применяются ACL (Access Control Lists — списки контроля доступа) — правила, которые работают как фейсконтроль, разрешая или запрещая прохождение пакетов с определенных IP-адресов или на определенные порты.

    Сравнение: Как пакет путешествует по сети

    Чтобы окончательно закрепить разницу между устройствами, давайте проследим путь одного сообщения. Вы сидите за компьютером (PC1) в офисе и отправляете сообщение на сервер в другом городе.

  • PC1 формирует пакет данных. Он знает IP-адрес сервера, но сервер находится в другой сети. Поэтому PC1 решает отправить пакет своему маршрутизатору (Шлюзу по умолчанию).
  • PC1 упаковывает IP-пакет в кадр Ethernet. В качестве MAC-адреса получателя он указывает MAC-адрес внутреннего порта маршрутизатора.
  • Кадр попадает на офисный Коммутатор. Коммутатор смотрит только на MAC-адрес. Он сверяется со своей CAM-таблицей, видит, что маршрутизатор подключен к порту №24, и пересылает кадр туда.
  • Кадр попадает на Маршрутизатор. Маршрутизатор распаковывает кадр, отбрасывает MAC-адреса и смотрит на IP-адрес сервера.
  • Маршрутизатор сверяется со своей таблицей маршрутизации, находит нужный путь к провайдеру, упаковывает IP-пакет в новый кадр (уже с MAC-адресом оборудования провайдера) и отправляет его дальше.
  • | Характеристика | Коммутатор (Switch) | Маршрутизатор (Router) | | :--- | :--- | :--- | | Уровень OSI | Канальный (L2) | Сетевой (L3) | | Тип адресации | MAC-адреса (физические) | IP-адреса (логические) | | Единица данных | Кадр (Frame) | Пакет (Packet) | | Основная задача | Соединение устройств внутри одной сети | Соединение разных сетей между собой | | Широковещание | Пропускает всем (один Broadcast-домен) | Блокирует (разделяет Broadcast-домены) | | База знаний | CAM-таблица (таблица MAC-адресов) | Таблица маршрутизации |

    Домашние роутеры: Мастера на все руки

    У многих начинающих специалистов возникает путаница: «У меня дома стоит коробочка, которую провайдер назвал роутером. К ней по Wi-Fi подключен телефон, а кабелем — телевизор. Получается, это коммутатор и маршрутизатор одновременно?»

    Да, именно так. То, что мы в быту называем «домашним роутером» (Home Router) — это не одно устройство, а комбинированный сетевой комбайн, спрятанный в один пластиковый корпус. Обычно он включает в себя:

  • Маршрутизатор (Router): Отвечает за связь вашей домашней сети (LAN) с сетью провайдера (WAN) и скрывает ваши домашние устройства за одним публичным IP-адресом с помощью технологии NAT.
  • Коммутатор (Switch): Те самые 4 желтых порта на задней панели. Они объединяют устройства внутри квартиры по кабелю.
  • Точку доступа (Access Point): Антенны, которые преобразуют проводной сигнал в радиоволны Wi-Fi, позволяя подключать устройства без кабелей.
  • Брандмауэр (Firewall): Базовая защита, которая блокирует нежелательные входящие подключения из интернета.
  • В корпоративной среде эти функции всегда разделены по разным физическим устройствам. Отдельно стоят мощные коммутаторы в серверных стойках, отдельно — маршрутизаторы на границе сети, и отдельно по потолкам развешаны точки доступа Wi-Fi. Это делается для отказоустойчивости, высокой производительности и гибкости настройки безопасности.

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