Реализованные меры обеспечения информационной безопасности#
Общие положения#
Назначение документа#
Документ описывает реализованные в Global System меры обеспечения информационной безопасности, включая как встроенные в архитектуру и функциональность системы механизмы (security by design), так и возможности интеграции со сторонними средствами и сервисами безопасности для усиления защиты в процессе эксплуатации.
Область применения#
Распространяется на все компоненты Global System, включая платформу, серверные и клиентские модули, прикладные решения и интерфейсы интеграции.
Подходы к обеспечению безопасности#
В Global System используются два взаимодополняющих подхода:
Security by design — базовые меры информационной безопасности встроены в архитектуру и функциональность системы и обеспечиваются на уровне платформы.
Расширяемая модель безопасности — система предусматривает интеграцию со сторонними средствами и сервисами безопасности (например, внешние системы аутентификации, мониторинга, контроля доступа), позволяя усиливать защиту в зависимости от требований эксплуатации.
Термины и сокращения#
ALDPro — служба каталогов, используемая в инфраструктуре заказчика в качестве источника учетных данных.
CEF (Common Event Format) — стандартный формат представления событий безопасности.
DRP (Disaster Recovery Plan) — план восстановления после сбоев и аварий.
IDM (Identity Management) — системы управления учетными записями, ролями и жизненным циклом идентичностей.
MDM (Mobile Device Management) — класс систем для управления и контроля мобильных устройств.
MFA (Multi-Factor Authentication) — многофакторная аутентификация, использующая два и более независимых факторов подтверждения личности.
NTP (Network Time Protocol) — протокол синхронизации времени в сетях.
ORM (Object-Relational Mapping) — технологии сопоставления объектов приложения с записями в базе данных.
Security by design — подход к разработке, при котором меры информационной безопасности изначально закладываются в архитектуру и функциональность системы.
SIEM (Security Information and Event Management) — системы сбора, корреляции и анализа событий информационной безопасности.
SOAP (Simple Object Access Protocol) — протокол обмена структурированными сообщениями между приложениями.
SQL Injection — уязвимость, связанная с внедрением SQL-кода через пользовательский ввод.
SSO (Single Sign-On) — единая аутентификация пользователя для доступа к нескольким системам без повторного ввода учетных данных.
SSRF (Server-Side Request Forgery) — уязвимость, позволяющая инициировать запросы от имени сервера к внутренним или внешним ресурсам.
XSS (Cross-Site Scripting) — уязвимость, связанная с выполнением внедренного сценарного кода в интерфейсе пользователя.
XXE (XML External Entity) — уязвимость, связанная с обработкой внешних XML-сущностей.
Информационная безопасность (ИБ) — состояние защищенности информации и информационных систем от несанкционированного доступа, искажения, утраты и иных угроз.
Контроль целостности — проверка неизменности компонентов системы и данных.
Расширяемая модель безопасности — модель, предусматривающая интеграцию системы со сторонними средствами и сервисами безопасности.
Ролевая модель доступа — модель разграничения доступа на основе ролей, назначаемых пользователям.
Сетевая безопасность — совокупность мер по защите сетевых взаимодействий и ограничению сетевого доступа.
Реализованные меры#
Идентификация и аутентификация#
В системе реализованы механизмы идентификации и аутентификации пользователей и устройств. Поддерживается:
интеграция с системами единой аутентификации (SSO) во внутреннем контуре;
многофакторная аутентификация (MFA), включая одноразовые пароли и приложения-аутентификаторы, во внешнем контуре;
использование служб каталогов заказчика, включая Active Directory и ALDPro в качестве источников учетных данных.
Парольная политика#
Реализована гибкая парольная политика, включающая:
требования к минимальной длине пароля;
требования к составу пароля (использование различных типов символов);
контроль истории паролей и запрет повторного использования;
проверку паролей по словарям;
регламентированную периодичность смены паролей в соответствии с требованиями заказчика.
Подробнее см. в разделе Политика паролей.
Защита учетных записей#
Поддерживается временная блокировка учетных записей при многократных неуспешных попытках входа.
Для устройств предусмотрены механизмы аутентификации с использованием сертификатов и дополнительных атрибутов, а также совместимость с системами класса MDM.
Ролевая модель#
В Global System реализована ролевая модель доступа с разграничением полномочий на уровне платформы и прикладных компонентов. Поддерживается:
запрет совмещения конфликтующих ролей;
интеграция с внешними IDM-системами.
Доступ к функциям, данным и журналам событий осуществляется строго в соответствии с назначенными ролями.
Контроль привилегий#
Проверка прав пользователя выполняется при обращении к системным и сервисным API, включая критичные REST-интерфейсы.
Безопасная работа с шаблонами#
Ограничен доступ к SOAP-сервису, используемому для работы с шаблонами.
Шедуллер запускается под разными пользователями; настройка разграничения пользователей для шедуллера не применяется.
Вызов JEXL-выражений через SSH-консоль выполняется с использованием безопасного диалекта.
Разграничение прав на REST-сервис сессий внедрено.
Разграничение прав на выполнение JEXL-скриптов через веб-сокеты реализовано.
Защита от изменения логики SQL-запросов (SQL Injection)#
В системе реализован комплекс мер, направленных на предотвращение изменения логики SQL-запросов за счёт пользовательских данных. Меры обеспечивают защиту от SQL-инъекций и исключают возможность выполнения несанкционированных операций с базой данных.
Реализованные меры |
Описание реализации |
|---|---|
Экранирование пользовательского ввода |
Реализована функция |
Безопасное построение динамических SQL-запросов |
Реализован компонент |
Ограничение доступа к SQL-логике через JEXL |
Реализован доступ к пакетам базы данных через JEXL с возможностью ограничения доступа ко всему пакету или к отдельным методам. Пакеты не отображаются в списке объектов администратора. |
Разграничение доступа в REST-пакетах |
Реализована возможность разграничения доступа в REST-пакетах на уровне URL входящих запросов, что ограничивает выполнение операций, связанных с формированием SQL-запросов. |
Указанные меры применяются во всех компонентах системы, где пользовательские данные участвуют в формировании SQL-запросов, включая REST-интерфейсы и серверную логику, доступную через JEXL.
Пример запроса:
GET /GLOBAL-QAS/gtk-ru.bitec.app.btk.utils.Btk_UrlObjectFinder%23UrlFinder/?ex;sTableName_dz=btk_user;SELECT+version()::int%3d1;+--+-&ex;susername=UIB_SCAN2 HTTP/1.1
Host: global-qas.sgc.oil.gas
Cookie: access_token=<JWT>
В результате обработки запроса SQL-инъекция была нейтрализована за счёт экранирования пользовательского ввода и безопасного формирования SQL-запроса. Выполнение внедрённого SQL-кода не произошло.
Пример ответа:
HTTP/1.1 400 Bad Request
Content-Type: application/json; charset=UTF-8
{
"error": "Invalid request parameters"
}
Информация о версии базы данных и иных характеристиках СУБД в ответе отсутствует. Реализованные меры исключают возможность изменения логики SQL-запросов и утечки технических сведений о базе данных.
Защита сеансов#
Система обеспечивает автоматический разрыв сеанса при отсутствии активности пользователя.
Политики управления сеансами, включая обязательность разрыва и значения таймаутов, настраиваются на уровне конфигурации системы.
Безопасность интерфейса доступа#
Для неавторизованных пользователей доступ ограничен минимальным набором функций, включая только страницы входа и восстановления пароля. Информация о внутренней структуре и компонентах системы не раскрывается.
Логирование событий безопасности#
Реализованы механизмы сбора и накопления журналов доступа и событий безопасности.
Журналы могут передаваться во внешние системы мониторинга и SIEM в структурированном виде (JSON, CEF, SYSLOG).
Защита журналов#
Доступ к журналам осуществляется на основе ролевой модели.
В журналах исключено хранение чувствительных данных либо применяется их шифрование.
В журналах исключено хранение чувствительных данных либо применяется их шифрование. Подготовлены и реализованы регламенты обработки и реагирования на события информационной безопасности.
Аудит пользовательской активности#
Система обеспечивает аудит действий пользователей, включая:
доступ к данным;
вызовы сервисных интерфейсов;
действия в рамках пользовательских сеансов.
Для всех транзакций, записанных в журнал аудита добавляются временные метки. Метка берётся либо по времени базы данных, либо по серверу приложения. Метки времени синхронизируются по протоколу NTP, что обеспечивает корректность аудита и расследования инцидентов.
Сетевая безопасность#
Подготовлена схема взаимодействия компонентов системы, используемая для настройки правил сетевого доступа (сетевых листов доступа) на стороне заказчика.
Сокрытие информации о веб-сервере#
В целях снижения риска раскрытия технической информации и усложнения первичного анализа (fingerprinting) инфраструктуры, HTTP-интерфейсы Global System не передают сведения о типе и версии используемого веб-сервера.
Во всех HTTP-ответах исключена передача стандартных и расширенных заголовков, содержащих информацию о серверном программном обеспечении, включая Server, X-Powered-By, а также аналогичные заголовки сторонних компонентов и middleware.
Поведение единообразно для всех публичных и служебных HTTP-эндпоинтов системы, включая REST-интерфейсы.
Пример HTTP-запроса:
GET / HTTP/1.1 Host: global-qas.sgc.oil.gas
Пример HTTP-ответа:
HTTP/1.1 303 See Other
location: https://global-qas.oil.gas/login/login.html?return-uri-Lw==
content-length: 0
Совместимость с защищенной инфраструктурой#
Система совместима с:
решениями по защите виртуальных машин и контейнеров;
антивирусными средствами заказчика, включая потоковый контроль загружаемых файлов;
операционными системами российской разработки.
Безопасная разработка#
В процессе разработки и сопровождения применяются средства статического и динамического анализа кода, а также контроль директивных и транзитивных зависимостей сторонних библиотек.
Учет и устранение уязвимостей#
В Global System реализован процесс централизованного учета, анализа и устранения уязвимостей, выявляемых в ходе внутренних и внешних проверок безопасности, включая результаты специализированных работ по анализу защищенности.
В рамках данного процесса:
все выявленные уязвимости классифицируются по уровню риска (высокий, средний, низкий, информационный);
для каждой уязвимости фиксируются затронутые компоненты, сценарии эксплуатации и потенциальные угрозы;
формируются и реализуются технические меры по устранению либо снижению риска;
результаты устранения подлежат повторной проверке.
Примеры устраняемых уязвимостей приведены в таблице:
Класс уязвимости |
Уровень риска |
Выявленные сценарии |
Реализованные меры |
|---|---|---|---|
Внедрение SQL-кода (SQL Injection) |
Высокий |
Возможность влияния пользовательского ввода на формируемые SQL-запросы и получение данных из БД |
Параметризация запросов, централизованная валидация и экранирование пользовательских данных, аудит ORM-механизмов |
Недостаточная авторизация |
Высокий |
Выполнение пользователем действий, не соответствующих его привилегиям (доступ к служебным отчетам, договорам, идентификаторам) |
Строгая серверная проверка прав доступа, централизованная ролевая модель, контроль доступа к REST- и SOAP-интерфейсам |
Внедрение внешних сущностей XML (XXE) |
Высокий / Средний |
Обработка XML-данных с поддержкой внешних сущностей и DTD |
Отключение обработки DTD и внешних сущностей, ограничение используемых форматов данных |
Раскрытие информации в сообщениях об ошибках |
Средний |
Раскрытие установочных путей и внутренней структуры приложения |
Централизованная обработка ошибок, вывод минимальной информации пользователю, регистрация подробностей только во внутренних журналах |
Подделка запроса со стороны сервера (SSRF) |
Средний |
Возможность выполнения HTTP-запросов к внутренним сервисам |
Ограничение допустимых схем и адресов, фильтрация целевых ресурсов, контроль сетевых взаимодействий |
Использование ПО с известными уязвимостями |
Средний |
Использование уязвимых версий сторонних компонентов |
Регулярный аудит зависимостей, контроль версий, регламент обновления программного обеспечения |
Подбор учетных данных |
Средний |
Многократные попытки аутентификации через точки входа системы |
Ограничение количества попыток входа, отказ от небезопасных схем аутентификации, применение защищенных механизмов входа |
Межсайтовое выполнение сценариев (XSS) |
Средний |
Отображение неэкранированных пользовательских данных в интерфейсе |
Обязательное экранирование пользовательского ввода перед отображением |
Контроль выполнения мер#
Устранение уязвимостей выполняется совместно с разработчиками и ответственными за эксплуатацию.
Критические уязвимости устраняются в приоритетном порядке.
После внесения изменений проводится повторная проверка безопасности.
Результаты проверок документируются и используются для совершенствования архитектуры security by design и интеграционных защитных механизмов.
Контроль целостности#
Реализованы механизмы проверки подписей и контроля целостности компонентов системы. Процедуры описаны в эксплуатационной документации.
Защита данных#
Для сред разработки и тестирования предусмотрены механизмы обезличивания и маскирования данных.
Резервное копирование и восстановление#
Поддерживаются приложений-ориентированные резервные копии, ежедневное инкрементальное резервирование и восстановление инфраструктуры.
Разработаны инструкции DRP, процедуры отката изменений и восстановления из резервных копий.
Обновления и сопровождение#
Реализован регламент выпуска, тестирования и установки обновлений, включая:
функциональное и нагрузочное тестирование;
автотестирование;
установку без простоев при кластеризации;
автоматические и ручные сценарии обновления.
Управление инцидентами и развитие безопасности#
При выявлении инцидентов ИБ проводится анализ причин, разрабатываются корректирующие меры и при необходимости выпускаются обновления системы.
Подготовлены эксплуатационные материалы, инструкции и базы знаний по развертыванию, эксплуатации и устранению нештатных ситуаций в составе документации на систему.
Учет и устранение выявленных уязвимостей#
В Global System реализованы следующие меры по учету и устранению уязвимостей:
выявление уязвимостей на этапах проектирования и разработки (security by design);
учет результатов внутренних и внешних проверок безопасности;
классификация уязвимостей по уровню риска (высокий, средний, низкий);
устранение уязвимостей, связанных с внедрением серверных шаблонов, путем запрета передачи и изменения шаблонов со стороны клиента;
защита от внедрения SQL-кода за счет проверки, фильтрации и экранирования пользовательских данных;
контроль и корректная проверка прав доступа при обращении к REST- и SOAP-сервисам;
защита от межсайтового выполнения сценариев (XSS) путем обязательного экранирования пользовательского ввода;
снижение риска подбора учетных данных за счет использования современных механизмов аутентификации и ограничения количества попыток входа;
документирование реализованных мер и контроль их актуальности при обновлении системы.