Обход функции безопасности
Обход функции безопасности — это действие или совокупность действий, направленных на нейтрализацию, отключение или преодоление защитных механизмов информационной системы, программного обеспечения или аппаратного устройства с целью получения несанкционированного доступа к данным, ресурсам или функционалу. Обход может быть как результатом злонамеренных действий (взлома), так и следствием ошибок проектирования, конфигурации или эксплуатации системы.
История
Понятие обхода функций безопасности возникло одновременно с появлением первых систем защиты информации. В 1960—1970-х годах, с развитием многопользовательских операционных систем, таких как Multics и UNIX, были разработаны первые механизмы разграничения доступа (дискреционные списки контроля доступа, мандатные модели). Уже тогда исследователи и хакеры начали искать способы их обхода — например, через переполнение буфера или подмену идентификационных данных.
В 1980-х годах, с распространением персональных компьютеров и сетей, обход функций безопасности стал массовым явлением. Одним из первых известных примеров стал червь Морриса (1988), который использовал уязвимости в sendmail и fingerd для обхода аутентификации и распространения. В 1990-х годах, с развитием веба, появились методы обхода через SQL-инъекции и межсайтовый скриптинг (XSS).
В 2000-х годах, с внедрением технологий цифровых прав (DRM) и аппаратных защит (TPM, Secure Boot), обход стал предметом юридических и технических споров. Например, взлом защиты DVD (DeCSS) привёл к судебным искам и изменению законодательства об авторском праве. В 2010-х годах, с развитием облачных вычислений и мобильных платформ, появились новые векторы обхода — через уязвимости в гипервизорах, цепочки поставок и side-channel-атаки.
Классификация методов обхода
Методы обхода функций безопасности можно разделить по различным признакам: по типу атакуемой системы, по используемым уязвимостям, по этапу жизненного цикла защиты.
По типу атакуемой системы
- Программные обходы — направлены на прикладное ПО, операционные системы, драйверы. Примеры: обход лицензионной проверки в программах (кряки, кейгены), отключение антивируса через завершение его процессов.
- Аппаратные обходы — связаны с физическим вмешательством в устройство. Примеры: снятие чипа с платы для чтения прошивки, использование JTAG-отладчика для обхода блокировки загрузчика.
- Сетевые обходы — направлены на межсетевые экраны, системы обнаружения вторжений (IDS), VPN. Примеры: туннелирование трафика через разрешённые протоколы (DNS-туннели), обход блокировок через прокси-серверы.
- Криптографические обходы — атаки на алгоритмы шифрования или протоколы. Примеры: атака на уязвимость в SSL/TLS (POODLE, Heartbleed), подбор ключей через side-channel (анализ времени выполнения).
По используемым уязвимостям
- Логические ошибки — неправильная реализация бизнес-логики. Пример: обход аутентификации через смену параметра
admin=falseнаadmin=trueв URL. - Ошибки памяти — переполнение буфера, use-after-free, двойное освобождение. Пример: атака на стек для выполнения произвольного кода с привилегиями.
- Ошибки конфигурации — слабые пароли, открытые порты, неотключённые отладочные режимы. Пример: вход в систему через учётную запись
admin/admin. - Уязвимости в зависимостях — использование библиотек с известными уязвимостями. Пример: обход через внедрение кода в устаревшую версию jQuery.
- Социальная инженерия — обход через манипуляцию людьми. Пример: получение пароля по телефону под видом техподдержки.
По этапу жизненного цикла защиты
- Обход до активации защиты — отключение механизма до его включения (например, загрузка в безопасном режиме с отключённым драйвером защиты).
- Обход в процессе работы — нейтрализация защиты во время выполнения (например, инжекция кода в процесс антивируса).
- Обход после срабатывания — преодоление последствий (например, восстановление доступа после блокировки учётной записи).
Технические примеры
Обход аутентификации
Один из распространённых методов — обход проверки подлинности через манипуляцию с сессионными токенами или куки. Например, в веб-приложениях, где сессионный идентификатор хранится в незашифрованном виде и передаётся по HTTP, атакующий может перехватить его (через сниффинг или XSS) и использовать для входа без пароля. Другой пример — атака «человек посередине» (MITM) на протоколы аутентификации, такие как NTLM, где злоумышленник ретранслирует запросы.
Обход антивирусного ПО
Антивирусные программы используют сигнатурный анализ, эвристику и поведенческий мониторинг. Обход возможен через:
- Полиморфизм — изменение кода вредоносной программы на лету, чтобы избежать сигнатур.
- Обфускацию — запутывание кода (шифрование, упаковка), чтобы затруднить эвристический анализ.
- Отключение служб — завершение процессов антивируса через системные вызовы (например,
TerminateProcess). - Использование легитимных инструментов — атаки «живущие с земли» (LOLBins), когда вредоносное ПО использует штатные утилиты Windows (PowerShell, WMI, certutil) для загрузки и выполнения.
Обход межсетевых экранов
Межсетевые экраны фильтруют трафик на основе IP-адресов, портов и протоколов. Методы обхода включают:
- Туннелирование — инкапсуляция запрещённого трафика в разрешённый протокол (например, HTTP-туннель для SSH).
- Фрагментация — разбиение пакетов на мелкие фрагменты, которые не анализируются фильтром.
- Использование нестандартных портов — запуск службы на порту, который обычно разрешён (например, SSH на порту 443).
- Обход через облачные прокси — использование публичных сервисов (например, Tor, VPN) для маскировки источника.
Обход цифровых прав (DRM)
Системы управления цифровыми правами (DRM) защищают контент от копирования. Обход часто реализуется через:
- Анализ памяти — захват расшифрованного контента из оперативной памяти в момент воспроизведения.
- Эмуляцию — запуск защищённого приложения в виртуальной среде, где можно перехватить его вызовы.
- Взлом ключей — извлечение криптографических ключей из прошивки устройства или через side-channel-атаки.
- Патчинг — модификация исполняемого файла для отключения проверки лицензии.
Обход в контексте безопасности информационных систем
В профессиональной среде обход функций безопасности рассматривается как часть более широкой дисциплины — анализа защищённости (пентеста). Этичные хакеры и специалисты по безопасности целенаправленно ищут способы обхода, чтобы выявить уязвимости и устранить их до того, как ими воспользуются злоумышленники. Методология обхода включает:
- Разведку — сбор информации о системе (открытые порты, версии ПО, конфигурации).
- Моделирование угроз — определение наиболее вероятных векторов атаки.
- Эксплуатацию — реализацию конкретного метода обхода.
- Закрепление — обеспечение постоянного доступа после обхода.
Юридические и этические аспекты
Обход функций безопасности может быть как законным (в рамках пентеста с разрешения владельца системы), так и незаконным (несанкционированный доступ). В России ответственность за неправомерный доступ к компьютерной информации, в том числе через обход защиты, предусмотрена статьёй 272 УК РФ. Наказание варьируется от штрафа до лишения свободы до 7 лет в зависимости от тяжести последствий.
В международном праве, например, в США, обход DRM регулируется Digital Millennium Copyright Act (DMCA), который запрещает обход технических средств защиты авторских прав. В Евросоюзе аналогичные нормы содержатся в Директиве об авторском праве в цифровом едином рынке.
Этический аспект заключается в том, что знание методов обхода должно использоваться только для защиты систем, а не для нападения. Многие компании проводят программы bug bounty, где исследователи за вознаграждение сообщают об уязвимостях, включая способы обхода защиты.
Интересные факты
- Один из первых задокументированных случаев обхода безопасности произошёл в 1972 году, когда хакер Джон Дрейпер (Captain Crunch) использовал игрушечный свисток из коробки с хлопьями для генерации тона 2600 Гц, что позволяло обходить платную систему телефонных звонков (phreaking).
- В 2015 году исследователи из Google Project Zero продемонстрировали обход защищённого режима Intel SGX (Software Guard Extensions) через атаку на кэш процессора.
- В 2020 году была обнаружена уязвимость в механизме Secure Boot (CVE-2020-10713), позволяющая загружать неподписанные драйверы на Windows, что давало возможность обхода антивирусной защиты.
Источники
- Уголовный кодекс Российской Федерации, статья 272 «Неправомерный доступ к компьютерной информации».
- Stallings, W. (2017). Cryptography and Network Security: Principles and Practice. Pearson.
- Mitnick, K. (2002). The Art of Deception: Controlling the Human Element of Security. Wiley.
- CVE database (Common Vulnerabilities and Exposures) — описания уязвимостей, связанных с обходом защиты.
- OWASP (Open Web Application Security Project) — документация по методам обхода аутентификации и контроля доступа.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →