7.07. Информационная безопасность
Информационная безопасность
Информационная безопасность (Information Security, InfoSec) держится на «трёх китах»:
- C – Confidentiality (Конфиденциальность)
- I – Integrity (Целостность)
- A – Availability (Доступность)
Это основа информационной безопасности, и на её основе строятся все политики, технологии и практики в этой области.
Все они взаимосвязаны. Если слишком усиливать конфиденциальность, нарушится доступность (слишком много проверок). Если игнорировать целостность, можно подставить конфиденциальность (подмена данных), а если нет доступности, то даже самые защищённые данные будут бесполезными.
Сеть должна использовать шифрование, проверять целостность пакетов, использовать балансировщики. Приложение должно шифровать и валидировать данные, выполнять мониторинг. База данных должна ограничивать права, контролировать изменения и использовать резервные копии. Пользовательский интерфейс должен не показывать лишнего, санитизировать ввод и использовать быстрые загрузки. Всё это - совокупность CIA.
Конфиденциальность
Конфиденциальность отвечает на вопрос «Кто может видеть данные?».
| Метод | Описание |
|---|---|
| Шифрование данных (в покое и в движении) | Защита информации путём преобразования в нечитаемую форму. Даже при компрометации данных злоумышленник не сможет их расшифровать без соответствующего ключа. |
| Многофакторная аутентификация (MFA) | Процесс проверки личности пользователя на основе комбинации нескольких факторов: знания (пароль), владения (устройство, токен) и биометрии (отпечаток, лицо). |
| Управление доступом (RBAC, ABAC) | Механизмы разграничения прав доступа: ролевое (RBAC — на основе должности) или атрибутное (ABAC — на основе набора характеристик пользователя, ресурса и контекста). |
| Политики паролей | Требования к сложности паролей, регулярной смене и безопасному хранению (например, с использованием хеширования с солью). |
| DLP (Data Loss Prevention) | Системы и политики, направленные на предотвращение несанкционированной передачи или утечки конфиденциальных данных внутри и за пределами организации. |
| Обучение сотрудников | Повышение осведомлённости персонала о методах социальной инженерии, фишинга и правилах работы с конфиденциальной информацией. |
Нарушением конфиденциальности является утечка данных, перехват токенов авторизации, неправильное раскрытие информации в сети.
Цель конфиденциальности - убедиться, что информация доступна только тем, кто имеет на это право.
Целостность
Целостность данных должна обеспечиваться на протяжении всего их жизненного цикла. Она отвечает на вопрос «Кто может изменять данные?» и «Как мы знаем, что они не были изменены?»
| Метод | Описание |
|---|---|
| Хэши и цифровые подписи | Позволяют проверить целостность данных: любое изменение информации приводит к несоответствию хэша или недействительности подписи. |
| Контроль версий | Системы отслеживания изменений (например, Git) фиксируют все модификации кода и документов, обеспечивая возможность восстановления предыдущих состояний. |
| Разрешения на запись | Ограничение прав на редактирование данных только уполномоченным пользователям или системам. |
| Логирование и аудит | Фиксация всех операций с данными для последующего анализа, выявления инцидентов и установления ответственности. |
| Интеграционные проверки | Валидация данных при вводе или обновлении для обеспечения их корректности и соответствия заданным правилам. |
| Блокчейн (в некоторых системах) | Используется как неизменяемый журнал транзакций, где каждая запись связана с предыдущей, что делает подделку исторических данных вычислительно неосуществимой. |
Нарушением целостности является подмена данных в базе без разрешения, изменение файла без уведомления владельца, и модификация трафика.
Цель целостности - обеспечить неизменность и достоверность информации на всех этапах её жизни.
Доступность
Доступность определяет, что данные должны быть доступны тем, кому они нужны, когда они нужны.
| Метод | Описание |
|---|---|
| Резервное копирование и восстановление | Регулярное создание копий данных с возможностью их восстановления в случае потери из-за сбоя, ошибки или атаки. |
| Высокая доступность (HA) | Архитектурное решение с использованием резервных серверов и автоматическим переключением при отказе основного компонента. |
| Балансировка нагрузки | Распределение входящих запросов между несколькими серверами для повышения производительности и отказоустойчивости. |
| DDoS-защита | Средства фильтрации сетевого трафика, предотвращающие перегрузку сервисов за счёт массовых внешних запросов. |
| Мониторинг и оповещение | Непрерывный сбор метрик состояния систем и автоматическая отправка уведомлений при отклонениях от нормы. |
| SLA (Service Level Agreement) | Договорные обязательства по уровню доступности и времени реакции на инциденты, измеряемые в процентах (например, 99.9%). |
| Регулярное техническое обслуживание | Плановые работы: обновление ПО, установка патчей, очистка логов, дефрагментация и другие операции для поддержания стабильности системы. |
Нарушение доступности - это DDoS-атака, сбой оборудования, отказ диска/сервера, чрезмерная нагрузка на БД.
Цель - гарантировать, что авторизованные пользователи могут получить доступ к данным и ресурсам в нужный момент.
Опасности и безопасность
Опасности строятся на базе рисков, угроз и уязвимостей.
Риск - это вероятность возникновения угрозы, которая может привести к ущербу при наличии уязвимости. К примеру, риск утечки данных через слабые пароли.
Угроза - это потенциальный источник вреда или инцидента, способного нанести ущерб системе. Пример - хакерская атака, фишинг, внутренний злоумышленник.
Уязвимость - это слабое место в системе, которое можно использовать для совершения атаки. Пример - незапатченная библиотека, слабый пароль, открытое API.
Основная формула:
Риск = Угроза x Уязвимость.
Если нет ни одной из составляющих — риска нет.
Инциденты - это любые события, которые угрожают конфиденциальности, целостности или доступности информации.
В случае возникновения инцидентов, необходимо своевременно на него отреагировать в соответствии с планом.
План реагирования на инциденты (IRP - Incident Response Plan) включает в себя следующие этапы:
- Подготовка: обучение команды, инструменты, документация;
- Обнаружение: логи, SIEM, мониторинг;
- Ограничение ущерба: изоляция, отзыв токенов, блокировка IP;
- Расследование: кто, что, где, когда;
- Восстановление: восстановление из бэкапа, патчи;
- Уроки: анализ, улучшение, обновление процедур.
В случае возникновения проблем - утечки данных, изменении условий, взломе учётной записи, нужно уведомить пользователей в течение 72 часов, объяснить, что произошло и указать, какие данные могли быть скомпрометированы.
CERT (Computer Emergency Response Team) — организация, которая помогает в расследовании и реагировании на кибератаки. В РФ это RU-CERT, который осуществляет сбор, хранение и обработку статистических данных, связанных с распространением вредоносных программ и сетевых атак на территории РФ.
Эксплойт - конкретный код или метод, используемый для эксплуатации уязвимости. Пример - SQL-инъекция, XSS-эксплойт, RCE (Remote Code Execution).
Несанкционированный доступ подразумевает получение доступа к данным или системе без разрешения. От этого защититься можно при помощи ролевой модели, двухфакторной аутентификации и аудита активности. К примеру, это может быть взлом аккаунта через подбор пароля, использование чужого токена авторизации, получение прав администратора через IDOR, перехват сессии.
Безопасность приложений как раз рассчитана на защиту от несанкционированного доступа и эксплойтов.
OWASP (Open Web Application Security Project) — это некоммерческая организация, которая выпускает список TOP 10 самых опасных уязвимостей веб-приложений.
OWASP Top 10 — это международно признанный стандарт и рейтинг наиболее критичных уязвимостей веб-приложений. Документ обновляется каждые 3–4 года и служит основой для повышения осведомлённости разработчиков и специалистов по безопасности, а также для внедрения лучших практик защиты.
Сейчас, среди таких проблем перечисляются:
- Нарушение контроля доступа (Broken Access Control) связаны с неправильным контролем;
- Сбои криптографии (Cryptographic Failures) связаны со слабым шифрованием или его отсутствием;
- Инъекции (Injection) предполагают внедрение вредоносного кода (SQLi, CMDi, XSS);
- Небезопасный дизайн (Insecure Design) - уязвимости на уровне архитектуры;
- Ошибки конфигурации безопасности (Security Misconfiguration) - неправильная настройка серверов или сервисов;
- Уязвимые и устаревшие компоненты (Vulnerable and Outdated Components) говорят об использовании устаревших библиотек;
- Ошибки идентификации и аутентификации (Identification and Authentication Failures) - это очевидные проблемы с логином и паролем;
- Нарушения целостности ПО и данных (Software and Data Integrity Failures) - это уязвимости при обновлении и версионировании;
- Ошибки логирования и мониторинга безопасности (Security Logging and Monitoring Failures) говорят об отсутствии логирования или оповещений или их неправильной настройке;
- Подделка запросов на стороне сервера (Server-Side Request Forgery) предполагает принуждение сервера к запросам от своего имени.