Требования к безопасной разработке современных цифровых программных продуктов
01.АУТЕНТИФИКАЦИЯ
Настройка политик сложности и изменяемости пароля
Пароль должен храниться в зашифрованном виде
Ограничение количества неудачных попыток входа
Двухфакторная аутентификация
Интеграция с каталогами управления пользователями
Поддержка SSO (Single Sign-On)
ЦЕННОСТЬ
Для проверки подлинности личности пользователя, который желает получить доступ к защищенным ресурсам системы
Предотвратить угадывание пароля и использования одного и того же пароля на протяжении длительного времени
Предотвратить атаки подбором пароля
Для обеспечения более эффективной защиты от несанкционированного проникновения
Централизованно управлять пользователями и их правами доступа
Предотвращать несанкционированный доступ к ресурсам при краже учетных данных пользователя
02.АВТОРИЗАЦИЯ
Пользователь должен иметь минимально возможный уровень привилегий, необходимых для выполнения своей работы в системе
Ролевая модель управления доступом (RBAC)
Управление доступом на основе контекста (ABAC)
Разделение обязанностей (пользователь, администратор системы, администратор безопасности и т.п.)
ЦЕННОСТЬ
Для определения прав доступа пользователя к ресурсам информационной системы, включая объекты, которые пользователь может видеть, изменять или удалять
Исключить возможность выполнение действий, за исключением тех, что необходимы для выполнения своих задач
Управлять доступом к ресурсам на основе функций (ролей), которые пользователи выполняют в системе
Получить большую гибкость и детализацию в принятии решений о контроле доступа
Предотвратить конфликты интересов и возможность мошенничества или ошибок, связанных с управлением системой
03.АУДИТ ДЕЙСТВИЙ ПОЛЬЗОВАТЕЛЕЙ
Аутентификация и авторизация пользователей, а также всех изменений прав доступа
Регистрирование попыток доступа к защищенным объектам и изменений настроек безопасности
Сохранение результатов попыток доступа даже при падении приложения и/или разрушении его основных данных
ЦЕННОСТЬ
Для осуществления процесса сбора и анализа информации о действиях пользователей в информационной системе
Для выявления нарушений политик безопасности и обнаружения угрозы безопасности в реальном времени
Для анализа возможных проблем, связанных с фактом обращения к защищенным объектам, приводящим к выводу из строя обслуживающих их систем
04.ЖУРНАЛИРОВАНИЕ ИЗМЕНЕНИЙ ДАННЫХ
Регистрация всех действий, связанных с изменением информации в системе
Защита журнала от изменений
Гарантия сохранности данных журнала на протяжении всего времени хранения
Наличие в журнале копий данных до проведенных изменений
ЦЕННОСТЬ
Для отслеживания и анализа изменений, сделанных в системе, и обнаружения потенциальных угроз безопасности
Для обеспечения точности и достоверности информации и предотвращения удаления или подмены данных
Для облегчения процесса анализа данных
05.ЗАЩИТА КРИТИЧНЫХ ДАННЫХ
Соответствие законодательству и регулятивным требованиям в области защиты критичных данных и конфиденциальности
ЦЕННОСТЬ
Позволяет защитить данные от несанкционированного доступа и их использования
06.ЗАЩИЩЕННОСТЬ ПРОГРАММНОГО КОДА
Применение средств (библиотек) защиты от инъекций в HTTP- и SQL-запросы, в JS-код, в код вызова команд ОС
Защита от обращения по внешним ссылкам при обработке текстовых ресурсов (XML. JSON и т.п.)
Защита от изменения значений параметров запросов к backend (контроль прав пользователя на доступ к ресурсам и объектам системы на стороне backend)
Исключение выполнения программного кода, полученного из внешних источников (через параметры вызова или сохраненные ранее данные)
Контроль уязвимостей в коде используемых внешних программных библиотек
ЦЕННОСТЬ
Для предотвращения вредоносных действий злоумышленников путем вставки, подмены, удаления программного кода и/или используемых в коде ресурсов
Для защиты целостности и достоверности данных программного продукта
07.ИСПОЛЬЗОВАНИЕ ЗАЩИЩЕННЫХ КАНАЛОВ СВЯЗИ
Приложение использует протокол https (TLS версии 1.2 и выше)
ЦЕННОСТЬ
Эти протоколы обеспечивают шифрование данных, передаваемых между системами, и аутентификацию сервера и клиента, что позволяет предотвратить возможные атаки типа «Man-in-the-middle» и другие виды киберугроз
08.СБОРКА И ОБНОВЛЕНИЕ ПРИЛОЖЕНИЯ
Использование для проверок на защищенность автоматического конвейера сборки и упаковки приложения (DevSecOps), исключающего последующее ручное вмешательство в дистрибутив
Обеспечение достоверности и целостности поставляемых дистрибутивов и обновлений
ЦЕННОСТЬ
Исключить риски повреждения, а также преднамеренного или случайного изменения программного обеспечения на этапах сборки и доставки
09.СЕГМЕНТИРОВАННОЕ РАЗВЕРТЫВАНИЕ
Выделение различных частей приложения (сервера приложений, сервера базы данных, брокер сообщений), компонентов, взаимодействующих с интернет и иных общедоступных сервисов в разные сетевые сегменты
Все требуемые приложению протоколы и порты взаимодействия описаны и доступны для настройки правил доступа
Способность корректной работы в инфраструктуре со средствами защиты (IDS/IPS/Web Application Filewall)
Обновление продукта без подключения к сети интернет
ЦЕННОСТЬ
Разделение компонентов приложения по изолированным сетевым сегментам уменьшает вероятность компрометации всего приложения в случае успешной атаки на один из его компонентов
Средства защиты помогают обнаруживать и блокировать попытки несанкционированного доступа и предотвращать кражу данных или нарушение конфиденциальности
Для развертывания программного продукта в защищенной среде, такой как дата-центр с высоким уровнем безопасности и с ограниченным доступом