Skip to main content

Атаки на целостность

1. ФИЛОСОФСКО-МЕТОДОЛОГИЧЕСКАЯ ОСНОВА

Цель: Сформировать понимание того, что целостность — это не статическое свойство “неизменности”, а гарантия того, что данные и системы обрабатываются только авторизованными способами и субъектами.

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


2. ДЕТАЛИЗИРОВАННАЯ ТАКСОНОМИЯ АТАК НА ЦЕЛОСТНОСТЬ

Таксономия строится на основе объекта атаки и механизма модификации.

2.1. По объекту атаки

Кластер A: Атаки на целостность данных (Data Integrity)

  • Цель: Несанкционированное изменение информации на отдыхе (at rest) или в движении (in transit).
Тактический классКонкретные техникиТехнические деталиМеры противодействия
Изменение данных в хранилищеПрямая модификация файлов/БДДоступ к файловой системе или СУБД и изменение содержимого (например, изменение суммы счета в базе данных).Контроль доступа: RBAC, Mandatory Access Control (MAC). Мониторинг: FIM (File Integrity Monitoring). Резервное копирование.
Изменение данных в процессе передачиMan-in-the-Middle (MitM) с модификациейПерехват пакета между A и B, изменение его payload и пересылка дальше.Криптография: Цифровые подписи (ECDSA, RSA-PSS), коды аутентичности сообщений (HMAC). Защита канала: TLS с аутентификацией сервера (и клиента).
Подмена пакетовTCP Session HijackingПредсказание/подбор порядкового номера (Sequence Number) для вставки “чужого” пакета в установленное TCP-соединение.Криптография: Шифрование на сетевом/транспортном уровне (IPsec, TLS). Случайность: Использование трудно предсказуемых ISN.
Эскалация привилегий для модификацииSQL Injection (SQLi)Внедрение произвольного SQL-кода в запрос для модификации, удаления или создания данных в БД.Валидация входных данных: Parameterized Queries (Prepared Statements), ORM. Принцип наименьших привилегий: Отказ учетной записи приложения от прав на MODIFY/DELETE.

Кластер B: Атаки на целостность кода (Code Integrity)

  • Цель: Изменение логики выполнения приложения или ОС.
Тактический классКонкретные техникиТехнические деталиМеры противодействия
Внедрение вредоносного кодаБэкдоры, ТрояныМодификация легитимного ПО для обеспечения скрытого удаленного доступа.Целостность кода: Digital Signatures, Secure Boot, Trusted Boot. Контроль: Application Whitelisting.
Изменение среды выполненияDLL Hijacking / Side-LoadingПодмена легитимной динамической библиотеки (DLL) на вредоносную, которая загружается приложением.ОС Hardening: SafeDLLSearchMode, Code Signing для библиотек.
Эксплойты памятиBuffer OverflowЗапись данных за пределы выделенного буфера для перезаписи адреса возврата и выполнения произвольного кода.Защита компилятора: ASLR, DEP/NX Bit, Stack Canaries, CFG.
Return-Oriented Programming (ROP)Использование уже существующих фрагментов кода (“гаджетов”) в памяти для построение вредоносной логики, обходящей DEP.Advanced ASLR, Control Flow Integrity (CFI).

Кластер C: Атаки на целостность сетевого трафика (Network Traffic Integrity)

  • Цель: Нарушение порядка, времени или факта доставки пакетов.
Тактический классКонкретные техникиТехнические деталиМеры противодействия
Повторная передачаReplay AttackПерехват и повторная отправка легитимного пакета (например, команды “перевести 100$”).Механизмы защищенности: Использование одноразовых номеров (nonce), временных меток, инкрементирующихся счетчиков.
Создание пакетовIP Spoofing + Raw SocketСоздание IP-пакетов с поддельным исходным адресом для обмана систем, полагающихся на IP-аутентификацию.Фильтрация: Ingress/Egress Filtering (BCP38). Отказ от IP-based auth.
Манипуляция маршрутизациейBGP HijackingОбъявление ложных маршрутов через BGP для перенаправления трафика через сеть злоумышленника с целью его анализа и модификации.Защита инфраструктуры: RPKI (Resource Public Key Infrastructure), BGPsec.

Кластер D: Атаки на целостность процессов и логики (Process & Logic Integrity)

  • Цель: Обход бизнес-логики или манипуляция процессами для достижения непредусмотренного результата.
Тактический классКонкретные техникиТехнические деталиМеры противодействия
Обход бизнес-ограниченийParameter TamperingИзменение параметров, передаваемых между клиентом и сервером (например, цены товара в price=100 меняется на price=1).Валидация на сервере: Любые данные с клиента не заслуживают доверия.
Нарушение временной логикиRace Condition (TOCTOU)Изменение условия между моментом его проверки (Time-of-Check) и моментом использования (Time-of-Use). Классический пример: смена симлинка на файл с правами доступа.Атомарные операции, использование дескрипторов вместо имен файлов.
Манипуляция учетными даннымиSession HijackingКража идентификатора сессии (cookie, token) для получения прав другого пользователя.Защита сессии: Secure/HttpOnly флаги у cookie, короткое время жизни токенов, инвалидация сессии на сервере.

3. МЕТОДИКА РАЗБОРА ОЛИМПИАДНЫХ ЗАДАЧ (АЛГОРИТМ ДЛЯ ЦЕЛОСТНОСТИ)

  1. Идентификация актива: Что является объектом атаки? (Файл, пакет, процесс, запись в БД, сессия).
  2. Определение механизма модификации: Как происходит изменение? (Прямая запись, внедрение кода, подмена, повтор).
  3. Анализ точки приложения: Где происходит атака? (Клиент, сервер, канал, память).
  4. Поиск корневой причины: Какая уязвимость позволяет провести атаку? (Недостаточная аутентификация, отсутствие контроля целостности, ошибка валидации).
  5. Подбор криптографического или системного контрмеханизма: Какой механизм гарантирует, что изменение будет обнаружено или невозможно? (Подпись, хэш, контроль доступа, атомарность).

4. ПРАКТИКУМ: РАЗБОР КОМПЛЕКСНОГО КЕЙСА ДЛЯ ВСОШ

Кейс: “Цифровая платема для голосования”

  • Сценарий: Разработано веб-приложение для голосования. Пользователь аутентифицируется, получает сессионную cookie, выбирает кандидата, нажимает “Голосовать”. Приложение отправляет POST-запрос с vote_id. Голос хранится в БД.

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

  • Эталонный ответ (макет):

Объект атаки / ЦельКласс атакиКонкретная техникаМеры противодействия
1Целостность транзакцииData Integrity, LogicReplay Attack: Повторная отправка легитимного POST-запроса с vote_id для многократного голосования.Контрмера: Использование одноразового токена (nonce), привязка транзакции к сессии, который инвалидируется после первого использования.
2Целостность данных запросаData IntegrityParameter Tampering (Client-Side): Изменение vote_id в POST-запросе с помощью инструментов разработчика (F12) перед отправкой.Контрмера: Валидация на стороне сервера. Сервер должен проверять, имеет ли право данный пользователь голосовать за данного кандидата. Не доверять данным от клиента.
3Целостность сессииProcess IntegritySession Hijacking: Кража сессионной cookie через XSS-уязвимость на сайте для голосования от имени пользователя.Контрмера 1: Установка флагов HttpOnly и Secure для кук.
Контрмера 2: Регулярная ротация сессионных идентификаторов.
4Целостность данных в БДData IntegritySQL Injection: Внедрение в параметр vote_id модифицирующего SQL-запроса, например, для изменения всех голосов в пользу одного кандидата (' OR 1=1; UPDATE votes SET candidate_id=... --).Контрмера: Строгое использование Parameterized Queries (Prepared Statements). Учетная запись веб-приложения должна иметь минимально необходимые права (только INSERT в таблицу votes, но не UPDATE/DELETE).

5. ТЕХНИЧЕСКИЕ ДЕТАЛИ ДЛЯ УГЛУБЛЕННОГО ИЗУЧЕНИЯ

  • HMAC (Hash-based Message Authentication Code): Механизм, позволяющий удостовериться в целостности и аутентичности сообщения. Требует наличия у обеих сторон общего секретного ключа. HMAC = Hash( (Key ⊕ opad) || Hash( (Key ⊕ ipad) || Message ) )
  • Цифровая подпись (Digital Signature): Использует асимметричную криптографию. Отправитель подписывает хэш сообщения своим приватным ключом. Получатель проверяет подпись с помощью публичного ключа отправителя. Гарантирует целостность, аутентификацию источника и неотрекаемость (non-repudiation).
  • ASLR (Address Space Layout Randomization): Техника, затрудняющая эксплуатацию уязвимостей памяти за счет случайного расположения в адресном пространстве процессов ключевых областей (стек, куча, библиотеки).
  • DEP (Data Execution Prevention) / NX Bit: Техника, помечающая определенные области памяти (например, стек) как неисполняемые, предотвращая выполнение кода, внедренного в эти области.

6. КРИТЕРИИ ОЦЕНКИ ЭКСПЕРТНОГО УРОВНЯ

Учащийся демонстрирует профессиональный уровень, если в ответе:

  • Четко разделяет объекты атаки: Понимает разницу между атакой на целостность данных в БД и целостность кода в памяти.
  • Объясняет механизм работы контрмер: Не просто говорит “использовать HMAC”, а объясняет, что он защищает от модификации сообщения в канале и гарантирует его аутентичность.
  • Видит разницу между профилактикой и обнаружением: Понимает, что контроль доступа предотвращает модификацию, а цифровая подпись обнаруживает факт модификации постфактум.
  • Оперирует сложными концепциями: Может объяснить, чем ROP-атака опаснее простого stack-based overflow и почему ASLR сама по себе не является панацеей.
  • Анализирует атаки на логику приложения: Видит угрозы, не связанные с прямым взломом, например, Race Condition или Parameter Tampering.