Загрузка 0
ПОДЕЛИТЬСЯ

Мой блог

Листай вниз

Obscura: on-prem шлюз для защиты конфиденциальных данных в ИИ

Obscura: on-prem шлюз для защиты конфиденциальных данных в ИИ

Вопрос безопасности корпоративной информации при работе с искусственным интеллектом остается критически важным для многих организаций. Пересылка в облачные нейросети конфиденциальных сведений, внутренних IP-адресов, логов и учетных данных создает серьезные риски утечек.

Для предотвращения подобных ситуаций разрабатывается специальный on-prem шлюз для защиты конфиденциальных данных под названием Obscura, который функционирует непосредственно внутри локальной сети компании и проверяет каждый исходящий запрос.

Obscura: on-prem шлюз для защиты конфиденциальных данных в ИИ — изображение 9
Obscura: on-prem шлюз для защиты конфиденциальных данных в ИИ — изображение 10

Принцип работы и архитектура шлюза

Клиентские приложения взаимодействуют со шлюзом через стандартный OpenAI-совместимый интерфейс /v1/chat/completions, а для работы с Anthropic предусмотрен специальный адаптер /v1/messages. Помимо этого, для браузеров Chrome, Edge и Firefox создано отдельное расширение, а для обработки файлов и изображений задействуется встроенный инспектор.

Реклама
Obscura: on-prem шлюз для защиты конфиденциальных данных в ИИ: Title: Рис. 2. Архитектура шлюза - Description: Рис. 2. Архитектура шлюза
Title: Рис. 2. Архитектура шлюза – Description: Рис. 2. Архитектура шлюза

Система поддерживает три базовых режима функционирования:

  • Monitor — запросы только анализируются, а результаты фиксируются в журнале событий.
  • Warn — пользователь самостоятельно принимает решение о маскировке данных или отправке сообщения в исходном виде.
  • Enforce — конфиденциальная информация автоматически маскируется или полностью блокируется до момента отправки.

Технологический стек проекта включает в себя язык Python, фреймворк FastAPI, базу данных SQLite с поддержкой WAL, хранилище Redis, библиотеку обработки естественного языка spaCy, а также интерфейсную часть на Svelte 5 для веб-консоли.

Obscura: on-prem шлюз для защиты конфиденциальных данных в ИИ: Title: Рис. 3. Типы найденных данных и распределение по severity - Description: Рис. 3. Типы найденных данных и распр
Title: Рис. 3. Типы найденных данных и распределение по severity – Description: Рис. 3. Типы найденных данных и распределение по severity

Распознавание русскоязычных данных с помощью NER

Большинство существующих систем предотвращения утечек данных (DLP) ориентированы преимущественно на английский язык, из-за чего русскоязычные документы, специфические форматы и грамматические склонения обрабатываются менее эффективно. В данном решении реализованы специализированные правила для поиска русскоязычных реквизитов.

Алгоритмы умеют находить ИНН (как 10-значные, так и 12-значные варианты с обязательной проверкой контрольной суммы), СНИЛС, банковские карты, различные телефонные номера, а также распространенные типы API-ключей и токенов авторизациироде sk-…, AWS, GitHub и JWT. Все совпадения по регулярным выражениям дополнительно подтверждаются контрольными суммами для снижения количества ложных срабатываний.

Использование синтетических суррогатов вместо меток

При стандартном подходе обнаруженные секреты обычно заменяют простыми текстовыми метками. Хотя для обычного текстового чата это приемлемо, при передаче исходного кода или структурированных JSON-документов появление посторонних меток способно полностью нарушить синтаксис или заставить модель рассуждать об этих метках.

Obscura: on-prem шлюз для защиты конфиденциальных данных в ИИ: Модель видит нормальные данные и отвечает естественно, а шлюз возвращает в ответ настоящие значения. Генератор детерм

Для решения этой проблемы в шлюзе реализован механизм синтетических суррогатов. Вместо обезличенных тегов в запросы подставляются реалистичные данные: например, вместо реального адреса электронной почты подставляется случайный корпоративный адрес, вместо номера карты — валидный номер, успешно проходящий алгоритм Луна, а вместо IP-адреса — значение из специального тестового диапазона сети RFC 5737.

Нейросеть получает корректные с точки зрения формата данные и выдает естественный ответ, после чего шлюз прозрачно возвращает пользователю исходные секретные значения. Генератор работает детерминированно, обеспечивая высокую скорость обработки и соответствие стандартам проверки.

Реклама
Obscura: on-prem шлюз для защиты конфиденциальных данных в ИИ: При stream=True ответ приходит кусками по 1–2 символа. Токен может прийти как "[", "EMA", "IL_1", "]", и поиск подстр

Обработка потоковых ответов (стриминг)

В режиме потоковой передачи данных ответы от моделей поступают фрагментами размером в один или два символа. Поиск подстрок по таким разрозненным кускам напрямую невозможен. Для корректной обработки используется конечный автомат, дополненный скользящим окном.

Обычный текст незамедлительно передается клиенту, тогда как хвостовые фрагменты, потенциально являющиеся началом токена, удерживаются в специальном буфере до тех пор, пока их статус не определится окончательно. Данный механизм имеет особое значение для кириллического текста, где символы в кодировке UTF-8 занимают по два байта и могут разделяться границами чанков.

Алгоритмы детекции секретов и журнал событий

Одиночные регулярные выражения неизбежно приводят к большому количеству ложных тревог. По этой причине для каждого обнаруженного фрагмента анализируется целый комплекс признаков: формат, контрольная сумма, окружающий контекстный текст, энтропия Шеннона для строки-кандидата, а также наличие следов деобфускации. Перед началом анализа текст нормализуется — раскодируются данные в форматах Base64 и Hex, удаляются невидимые символы и склеиваются разреженные последовательности.

Все действия фиксируются в системном журнале в виде структурированных вердиктов, позволяющих сотрудникам безопасности понять причины срабатывания конкретных правил. Целостность журнала защищена криптографическими хэшами, поэтому любые попытки изменения или удаления записей нарушают цепочку.

Контроль клиентских устройств и работа с изображениями

Каждое установленное браузерное расширение регистрируется в системе как отдельное устройство. В случае отключения или удаления расширения статус устройства мгновенно меняется в консоли управления.

Obscura: on-prem шлюз для защиты конфиденциальных данных в ИИ: Title: Рис. 4. Журнал событий и объяснение вердикта - Description: Рис. 4. Журнал событий и объяснение вердикта
Title: Рис. 4. Журнал событий и объяснение вердикта – Description: Рис. 4. Журнал событий и объяснение вердикта

Шлюз также анализирует изображения и скриншоты, содержащие текстовые данные с паспортами или банковскими картами. С помощью оптического распознавания текста (OCR) информация извлекается и проверяется тем же конвейером. При обнаружении секретных данных запрос блокируется с кодом 403, оригинальное изображение шифруется и помещается в защищенное хранилище улик, а служба безопасности получает соответствующее оповещение.

Управление уликами и дополнительные защитные механизмы

Перехваченные конфиденциальные данные не хранятся в открытом виде. Фрагменты шифруются, а доступ к ним организуется по принципу четырех глаз, когда для получения временного токена требуется одобрение второго сотрудника. Для реализации права на забвение предусмотрено криптографическое удаление, при котором стирается ключ конкретной записи без разрушения всей хэш-цепочки журнала.

Obscura: on-prem шлюз для защиты конфиденциальных данных в ИИ: Title: Рис. 5. Устройства с расширением - Description: Рис. 5. Устройства с расширением
Title: Рис. 5. Устройства с расширением – Description: Рис. 5. Устройства с расширением

В систему интегрированы инструменты защиты от инъекций, атак типа jailbreak и проверки аргументов инструментов на предмет shell-инъекций и уязвимостей SSRF. Администраторы могут настраивать лимиты токенов на уровне ключей и отделов, использовать симулятор политик для предварительной проверки новых правил на исторических логах, а также настраивать передачу метаданных алертов в системы SIEM.

Obscura: on-prem шлюз для защиты конфиденциальных данных в ИИ: Title: Рис. 6. Хранилище улик - Description: Рис. 6. Хранилище улик
Title: Рис. 6. Хранилище улик – Description: Рис. 6. Хранилище улик

Перспективы развития проекта

Дальнейшее развитие программного комплекса включает внедрение прозрачного перехвата трафика на уровне ядра операционной системы с использованием технологии eBPF, поддержку единого входа SSO, организацию мультирегионального хранилища улик и расширение функциональных возможностей.

01.