Архитектура безопасности SafeDrop
Обращения шифруются до того, как покидают браузер заявителя. Ниже описано, что происходит с данными на каждом участке и как сообщить нам об уязвимости.
- Транспорт
- TLS 1.3
- Хранение
- AES-256
- Сквозное
- OpenPGP
- Площадки
- Tier III/IV
Модель угроз
Мы проектируем платформу так, чтобы личность заявителя не раскрылась, даже если один из участников действует против него.
| Противник | Возможности | Что ему недоступно |
|---|---|---|
| Недобросовестный работодатель | Администратор кабинета, доступ к корпоративной сети и устройствам | Включить журналы адресов, встроить свой скрипт в форму, увидеть, кто открывал страницу линии |
| Оператор платформы | Инженеры SafeDrop с доступом к инфраструктуре | Открытый текст обращений: закрытый ключ организации у нас не хранится |
| Внешний атакующий | Утечка базы данных или резервной копии | Адреса, отпечатки браузеров и исходные файлы: их нет в хранилище, остальное зашифровано |
Шифрование на трёх уровнях
Каждый уровень защищает от своего класса атак и не зависит от двух других.
Сквозное шифрование OpenPGP
Текст и вложения шифруются в браузере заявителя открытым ключом организации: обмен ключами X25519, симметричное шифрование AES-256, подпись Ed25519. Открытый ключ закреплён в коде формы, отпечаток показан заявителю. Закрытый ключ создаётся на аппаратном токене или устройстве куратора и не покидает его.
Транспорт: только TLS 1.3
Соединения с версией ниже 1.3 отклоняются. Наборы шифров: TLS_AES_256_GCM_SHA384 и TLS_CHACHA20_POLY1305_SHA256, прямая секретность через ECDHE. Домены включены в список предзагрузки HSTS, заголовки Content-Security-Policy запрещают загрузку сторонних скриптов на формах.
Хранение: AES-256 at rest
Тома баз данных, объектное хранилище и резервные копии зашифрованы AES-256-GCM. Ключи шифрования томов находятся в аппаратных модулях безопасности и ротируются каждые 90 дней. Резервные копии хранятся на второй площадке и проверяются восстановлением раз в неделю.
Чего платформа не записывает
Сетевые адреса
Балансировщик завершает TLS и передаёт запрос приложению без адреса клиента. Формат журналов на всех узлах собран без поля адреса, а конфигурация проверяется автоматическим тестом при каждом выпуске. Ограничение частоты запросов работает по одноразовому токену сессии формы.
Метаданные файлов
Модуль WebAssembly в браузере заявителя пересобирает файл до шифрования. Поддерживаются JPEG, PNG, HEIC, WebP, PDF, DOCX, XLSX, PPTX, ODT, MP4 и MOV. Файлы неподдерживаемых форматов форма предлагает отправить архивом с предупреждением о возможных метаданных.
Отпечаток браузера
Форма не обращается к Canvas, WebGL, списку шрифтов и датчикам устройства. Заголовок User-Agent отбрасывается вместе с адресом. На страницах линии нет cookie, счётчиков и шрифтов со сторонних серверов.
Код обращения
Код генерируется в браузере заявителя. Сервер хранит только его хэш Argon2id с солью, поэтому даже сотрудник с доступом к базе не сможет войти в переписку от имени заявителя.
Дата-центры
Основная площадка в Москве и резервная в Санкт-Петербурге построены по стандарту Tier III, аппаратные модули с ключами томов размещены в зоне уровня Tier IV. Синхронная репликация между площадками, переключение без потери принятых обращений.
- Резервирование питания и охлаждения N+1
- Круглосуточная охрана и биометрический доступ к стойкам
- Цель восстановления: RPO 0, RTO 15 минут
Комплаенс
Платформа помогает клиенту выполнить требования к каналам сообщений о нарушениях. Ответственность за регламент проверки остаётся за организацией.
- 152-ФЗ
- Локализация персональных данных граждан РФ, поручение на обработку, уведомление клиента об инцидентах в течение 24 часов.
- GDPR
- Роль processor для содержимого обращений, соглашение об обработке данных по запросу.
- Директива ЕС 2019/1937
- Конфиденциальный канал, подтверждение получения в течение 7 дней, обратная связь заявителю.
- ISO/IEC 27001, ISO 37002
- Процессы управления информационной безопасностью и работы с обращениями выстроены по этим стандартам.
Доступ сотрудников SafeDrop
- Минимальные привилегииДоступ к инфраструктуре выдаётся на время задачи и отзывается автоматически через 8 часов.
- Правило двух лицИзменения конфигурации журналов и балансировщиков требуют подтверждения второго инженера.
- Неизменяемый журналДействия инженеров записываются в журнал с защитой от изменения и хранятся 5 лет.
- Внешний аудитНезависимый тест на проникновение раз в полгода, сводка результатов доступна клиентам по запросу.
Ответственное раскрытие уязвимостей
Если вы нашли уязвимость, напишите нам до публикации. Мы не преследуем исследователей, действующих по этим правилам.
Адрес для отчётов
support@corenode-cloud.ru, тема [security]
Отпечаток PGP-ключа для отчётов
4C1E 8A27 D903 6F5B 21AA
7E40 C9D2 0B6F 93E1 58C7
В рамках программы
- corenode-cloud.ru и поддомены форм
- кабинет организации и его API
- модуль шифрования и очистки метаданных
- любая утечка адресов или отпечатков заявителей
Вне рамок
- нагрузочные атаки и спам через формы
- социальная инженерия против сотрудников
- физический доступ к площадкам
- отчёты автоматических сканеров без подтверждения
Наши сроки
- подтверждение
- 2 дня
- оценка
- 10 дней
- исправление критичных
- 30 дней
Сроки указаны в рабочих днях. Пожалуйста, не обращайтесь к чужим обращениям и не сохраняйте полученные данные: для проверки мы выдадим тестовый кабинет.