Данные для экономики данных — не просто активы, а кровь, циркулирующая в организме предприятия, основа для принятия стратегических решений и формирования конкурентных преимуществ. Однако с ростом ценности данных растет и изощренность атак на них, угрожающих репутационными потерями и самому факту существования бизнеса. Вместе с тем традиционные подходы к безопасности, основанные на защите периметра и ролевых моделях доступа, демонстрируют свою несостоятельность перед лицом инсайдерских угроз, атак типа Advanced Persistent Threat (APT) и злонамеренных действий со стороны привилегированных администраторов СУБД.
За основу СУБД «Квант-Гибрид» был взят проект PostgreSQL, однако изначально не ставилась цель создания простого форка с добавлением нескольких плагинов или функций: была проведена глубокая модернизация кода системы с применением одного из самых современных и безопасных языков программирования — Rust.
Глубокая переработка ядра СУБД затронула все низкоуровневые механизмы системы:
- механизмы хранения: переработка работы с диском, буферами и транзакциями для повышения пропускной способности и снижения задержек, особенно под высокие нагрузки, характерные для современных веб-приложений и систем реального времени;
- система транзакций: модификация механизма многоверсионности (multiversion concurrency control, MVCC) для повышения эффективности управления блокировками и устранения «раздувания» базы данных (bloat);
- параллелизм: улучшена масштабируемость на многоядерных системах — ахиллесова пята многих традиционных СУБД, включая ванильный PostgreSQL, несмотря на его постоянное развитие в этом направлении;
- расширения: разработаны собственные уникальные функции (усовершенствованные методы партиционирования, встроенная бизнес-логика, интеграция с определенными экосистемами).
Такой подход требовал не просто глубокого понимания внутреннего устройства PostgreSQL, но и определенной смелости для внесения фундаментальных изменений в код, включая и ядро. Самым новационным стало применение языка программирования Rust — решение было продиктовано ключевыми проблемами разработки на Cи как основного языка СУБД PostgreSQL.
Безопасность памяти. Язык Cи печально известен уязвимостями, связанными с переполнением буфера, «висячими» указателями и гонками данных. Эти недостатки стали частой причиной падений и уязвимостей в сложных системах, написанных на основе этого языка программирования, включая и СУБД. Язык Rust на системном уровне гарантирует безопасность памяти, не требуя сборщика мусора, — компилятор просто не пропустит код, ведущий к неопределенному поведению.
Многопоточность без гонок. Модель владения (ownership) и проверки заимствований (borrowing) в языке Rust делает практически невозможным возникновение состояний гонки (data races), исключая их еще на этапе компиляции. Для высокопараллельной СУБД это колоссальное преимущество.
Совместимость с Cи. Язык Rust обладает средствами для взаимодействия с кодом на Cи (Foreign Function Interface, FFI), что позволило постепенно проводить гибридизацию — переписывать наиболее критичные и уязвимые модули ядра на Rust, оставляя при этом общую архитектуру и части кода на Cи, проверенные временем.
Таким образом, СУБД «Квант-Гибрид» — это не просто форк PostgreSQL c расширенным набором инструментов обеспечения безопасности, а принципиально иная парадигма защиты — «архитектурная безопасность». Целостность, конфиденциальность и подотчетность — не надстройка, а функции ядра системы, что гарантирует надежность и безопасность базы данных. Такая архитектура основана на трех взаимосвязанных и дополняющих друг друга столпах: неизменяемая криптографическая история; принцип разделения власти и распределенного доверия; гибридная модель шифрования.
Неизменяемая криптографическая история
Как можно быть уверенным в том, что история изменений данных достоверна и не была подделана постфактум для сокрытия компрометирующих операций?
Традиционные журналы транзакций (logs) в СУБД — это, по сути, обычные файлы, которые администратор с достаточными правами может спокойно редактировать, удалив следы несанкционированного доступа либо подправив историю обращения к базе данных. Все это вносит сомнения в любой аудит.
В СУБД «Квант-Гибрид» реализован механизм децентрализованной цепочки блоков (блокчейн), оптимизированный для работы в условиях высоких нагрузок реляционной СУБД. Любая транзакция, меняющая состояние базы данных, не просто записывается в журнал, а становится звеном непрерывной криптографической цепочки. Каждая новая запись в журнале содержит криптографический хэш (уникальный цифровой отпечаток) не только своих собственных данных, но и предыдущей записи. Таким образом, формируется цепочка, каждое последующее звено которой жестко связано с предыдущим. Любая попытка изменить хотя бы один байт в любой записи журнала приведет к катастрофическому изменению ее хэша, разорвет связь со следующей записью, и система мгновенно обнаружит нарушение целостности всей последующей истории. Таким образом журнал становится неизменяемым (immutable). Эта технология не просто позволяет обеспечить защиту от внешних хакеров, но и, в первую очередь, поставить барьер внутренним злоумышленникам. Администратор базы данных, даже имея полный доступ к серверу, не может скрыть факт внесения некорректных изменений и подделать финансовую операцию, совершенную месяц назад. Кроме этого, невозможно безнаказанно удалить запись о том, что кто-то просматривал конфиденциальные данные.
Представленная в СУБД «Квант-Гибрид» технология предоставляет обоснованную гарантию того, что аудиторская история полна, точна и не подвергалась изменению. Это критически важно для согласованности с ГОСТ Р 57580, ФЗ-152, PCI DSS и прочими нормативными требованиями к системам, для которых важен юридический вес электронных доказательств.
Принцип разделения власти и распределенного доверия
Как предотвратить ситуацию, когда один человек (например, DBA), обладающий неограниченной, бесконтрольной властью над данными, потенциально может их скомпрометировать?
В классических СУБД администратор — это «царь и бог», который может прочитать любую таблицу с персональными данными, паролями или конфиденциальной информацией, составляющей коммерческую тайну, обладая при этом техническими средствами для сокрытия своих действий.
В «Квант-Гибрид» на уровне архитектуры разделены ключевые функции управления системой и управления безопасностью (ключами). Администратор отвечает за производительность, доступность, резервное копирование и общее техническое состояние базы данных, однако лишен возможности прочитать пользовательские данные, защищенные сквозным шифрованием, а видит их только в зашифрованном виде. В СУБД введена роль «Хранитель ключей», который отвечает за криптографические ключи. Это может быть специально выделенный сотрудник (например, офицер безопасности), аппаратный модуль (Hardware Security Module, HSM) или доверенная микросервисная система. Хранитель ключей не имеет доступа к самой базе данных и не влияет на ее эксплуатацию.
Для получения несанкционированного доступа к данным злоумышленнику необходимо скомпрометировать как минимум две независимые и изолированные системы безопасности. Это радикально повышает сложность и стоимость атаки, особенно инсайдерской.
Снижение рисков при таком подходе реализуется как в классическом принципе информационной безопасности «Разделение обязанностей» (Separation of Duties), но не только на уровне политик, а также на уровне архитектуры.
Гибридная модель шифрования
Как обеспечить максимальную конфиденциальность данных, не принося в жертву производительность и функциональность системы?
Шифрование «все подряд» прозрачным методом (Transparent Data Encryption, TDE) защищает данные на диске, но бессильно против атаки на работающую СУБД, когда данные находятся в памяти в расшифрованном виде. Эту проблему решает сквозное шифрование (End-to-End Encryption, E2EE), делающее данные «слепыми» для сервера, лишая его возможности выполнять сложные запросы.
В СУБД «Квант-Гибрид» используется гибридная модель, позволяющая для каждого типа данных выбрать оптимальный уровень безопасности. Сквозное шифрование применяется для критичных данных: персональные идентификаторы (паспорта, СНИЛС и пр.), финансовые реквизиты, медицинские диагнозы и пароли, которые шифруются на стороне клиентского приложения и передаются в базу уже в зашифрованном виде — сервер СУБД в открытой форме их не видит. Это обеспечивает защиту даже в случае полной компрометации сервера. TDE применяется для структурных или менее чувствительных данных, по которым требуется выполнять поиск, сортировку и агрегацию на стороне сервера. Ключи для этого шифрования хранятся отдельно от данных, как того требует принцип разделения власти и распределенного доверия.
В итоге подобный подход позволяет архитекторам баз данных проводить точную градацию безопасности — критичные данные получают максимальную защиту, неприкосновенную для кого бы то ни было, кроме их истинного владельца, а все остальные данные защищены на уровне хранилища, но остаются функциональными для бизнес-логики. Такой компромисс позволяет бизнесу не платить производительностью за безопасность там, где это не требуется.
Каждый из этих трех столпов по отдельности способствует усилению безопасности, но их реальная мощь раскрывается в синергии. Представим попытку следующей инсайдерской атаки — администратор системы, действуя злонамеренно, пытается извлечь конфиденциальные данные, защищенные E2EE, но терпит неудачу, так как у него нет ключей (принцип разделения власти и распределенного доверия; гибридная модель шифрования); администратор пытается подделать журналы для сокрытия следов своего неудачного доступа, однако система обнаруживает нарушение целостности криптографической цепочки (неизменяемая криптографическая история); администратор пытается получить ключи у Хранителя, но соответствующая система изолирована и все попытки доступа к ней также журналируются и отслеживаются.
Сертификация
На текущий момент СУБД «Квант-Гибрид» имеет три основных блока сертификатов, подтверждающих соответствие нормативным требованиям использования СУБД в государственных информационных системах, в критической информационной инфраструктуре (КИИ) и в качестве средства криптографической защиты информации (СКЗИ):
- сертификат Минцифры, подтверждающий соответствие требованиям приказа министерства и включение в Единый реестр российских программ для электронных вычислительных машин и баз данных (наличие ПО в этом реестре — обязательное условие для закупки государственными и муниципальными учреждениями, а также компаниями с госучастием);
- сертификат ФСТЭК России, подтверждающий, что в СУБД реализованы встроенные функции и механизмы безопасности, необходимые для построения защищенных информационных систем для использования СУБД в системах, обрабатывающих информацию с ограниченным доступом и на объектах КИИ (СЗИ);
- сертификат ФСБ России, подтверждающий соответствие требованиям к средствам криптографической защиты информации, предназначенным для защиты информации и данных, работы с электронными подписями и др. (СКЗИ).
***
Модель «крепости с крепкими стенами», внутри которой царит полное доверие в пользу СУБД, сегодня устарела — вместе нее разработчики ПО, работающего в составе КИИ, взяли на вооружение принцип «архитектурного недоверия», когда каждый элемент системы проверяет другой, а криптография обеспечивает убедительные доказательства достоверности. Принятый в СУБД «Квант-Гибрид» прагматичный подход признает, что угроза может прийти изнутри, а администраторы базы данных могут ошибаться или быть скомпрометированы, а само ПО может содержать неизвестные уязвимости. Вместо борьбы с последствиями атаки в СУБД на уровне архитектуры существенно усложняется сама ее возможность, делая процедуру ее сокрытия чрезвычайно сложной, дорогой и обнаруживаемой уже в момент вмешательства.
В конечном счете «Квант-Гибрид» предоставляет не просто защиту, а доказуемо гарантирует целостность и конфиденциальность данных, превращая их из уязвимого актива в надежный фундамент функционирования предприятий цифровой экономики.
Владимир Листов (listov.v@granit-concern.ru) — cоветник генерального директора «Концерн-Гранит» (Москва).