Каждый раз, когда пользователь открывает сайт, отправляет сообщение или смотрит видео онлайн, между устройствами происходит обмен данными. Но компьютеры, смартфоны, серверы и маршрутизаторы — это оборудование разных производителей, работающее на разных операционных системах. Выход — общий стандарт. Сетевой протокол задаёт единые правила для всех участников сети: каков формат данных, в каком порядке они идут и как устройство реагирует, если пакет не дошёл.
Разобраться в том, как работают сетевые протоколы, как их анализировать и когда они становятся уязвимым местом, можно на курсе «Специалист по информационной безопасности». На занятиях студенты изучают сетевую инфраструктуру, методы защиты данных и инструменты, которые используют реальные специалисты по инфобезу: от анализа трафика до выявления атак на уровне протоколов.
В основе любого сетевого протокола лежит идея пакетной передачи данных. Когда одно устройство отправляет файл или запрос на другое, данные не летят единым потоком, а разбиваются на пакеты, которые путешествуют по сети самостоятельно и могут добираться до получателя разными маршрутами. На месте пакеты собираются обратно в нужном порядке.
Если контрольная сумма не совпадает, получатель запрашивает повторную отправку конкретного пакета, но не всего файла, а только утерянного фрагмента. Это делает передачу данных экономичной и надёжной.
Чтобы протоколы разных производителей работали вместе, нужна общая схема — описание того, как именно данные проходят путь от одного устройства к другому. Это сложный процесс, который удобнее описывать по частям. Для этого придумали модели сетевого взаимодействия.
OSI появилась в 1984 году. Международная организация по стандартизации разбила процесс передачи данных на семь независимых уровней. Каждый уровень решает свою задачу и ничего не знает об устройстве соседних.
На практике OSI массово не применяется, скорее она осталась как академический эталон. Но именно на её принципах основана реальная модель, по которой работает современный интернет.
TCP/IP — практическая модель, которая объединяет семь уровней OSI в четыре.
Для специалиста по информационной безопасности знание обеих моделей критично: угроза всегда привязана к конкретному уровню, и понимание моделей позволяет вовремя устранить атаку. К примеру, DDoS-атаки чаще всего перегружают сетевой и транспортный уровни, а фишинг — прикладной.
Их в интернете насчитывается около 7000, но большинство из них решают узкоспециальные задачи. В повседневной работе сетей задействован небольшой набор, который отвечает за передачу информации на разных ступенях TCP/IP. Разберёмся, для чего они нужны.
TCP и UDP стоят особняком среди других сетевых протоколов: именно они отвечают за доставку абсолютно всех данных в интернете. Все протоколы прикладного уровня из таблицы выше работают поверх одного из них. Понимание разницы между TCP и UDP помогает объяснить, почему одни приложения теряют данные при плохом соединении, а другие просто тормозят.
Оба сетевых протокола решают одну задачу — передать информацию от одного устройства другому. Но делают это по-разному.
Протоколы создавались в первую очередь для надёжной передачи данных, а вопросы безопасности при их разработке стояли не на первом месте. Это привело к тому, что многие базовые сетевые протоколы уязвимы по своей природе: они не шифруют трафик, не проверяют подлинность отправителя или не защищают от перехвата данных.
Уязвимости проявляются на разных уровнях, и атаки выглядят по-разному в зависимости от того, какой протокол атакующий эксплуатирует.
Для каждой из этих угроз существует защитный механизм:
Знание уязвимостей сетевых протоколов обязательно для карьеры специалиста по ИБ. Чтобы защитить сеть, нужно понимать, как именно её можно атаковать.
Сетевые протоколы работают в фоновом режиме каждый раз, когда устройство подключается к сети. Вот как это выглядит на практике:
Читать также: