Безопасность
Мы хотим, чтобы Personal Device Bridge заслуживал доверия благодаря тому, что вы можете проверить сами. На этой странице рассказано, как защищены ваши данные, что уже проверено, а что ещё нет, как проверить загруженную программу и как сообщить о проблеме безопасности компании 프로젝트팀포유 (Project Team For You).
Как защищены ваши данные — простыми словами
Сопряжение начинается с QR-кода на экране ПК. В нём содержится одноразовый секрет, который перестаёт действовать через две минуты, поэтому выполнить сопряжение может только устройство, действительно видевшее ваш экран. Затем оба экрана показывают одинаковый 6-значный код, и вы подтверждаете, что они совпадают.
- Каждое соединение защищено сквозным шифрованием по протоколу Noise (X25519, ChaCha20-Poly1305, BLAKE2s). У каждого устройства есть собственный ключ, который никогда его не покидает, и устройства узнают друг друга именно по этому ключу, а не по IP-адресу, имени или учётной записи.
- Для каждого соединения и каждого потока данных используются новые ключи (прямая секретность): ключ, украденный позже, не позволит расшифровать ранее записанный трафик.
- Шифрование работает поверх сети, поэтому защищает одинаково в Wi-Fi, через интернет (QUIC, TCP или WebRTC) и через наш сервис-посредник, который лишь пересылает запечатанные сообщения и не может их прочитать.
- Сопряжение не даёт права на всё: каждое устройство получает только разрешения, которые вы выдали, а удалённый ввод и камера запрашивают согласие в каждом сеансе.
- Полученные файлы, ссылки и данные буфера обмена проверяются перед использованием: они не могут выйти за пределы папки загрузок, опасные типы ссылок отклоняются, а размеры ограничены.
Полная техническая спецификация и модель угроз описаны в нашей документации по безопасности, которую мы предоставляем исследователям и аудиторам.
Статус аудита
Мы предпочитаем точность громким заявлениям:
- Внутренняя проверка безопасности: проведена. Архитектура, сопряжение, шифрование сеансов, разрешения и проверка входных данных проанализированы по письменной модели угроз, а правила безопасности покрыты автоматическими тестами, которые запускаются при каждом изменении.
- Автоматические проверки: при каждом изменении проверяются уведомления об уязвимостях и лицензии зависимостей, а компоненты, читающие недоверенные данные, еженедельно проходят фаззинг.
- Внешний аудит: запланирован до выхода версии 1.0 и пока не проводился. Когда он завершится, мы опубликуем здесь имя аудитора, охват и краткие итоги.
До тех пор Personal Device Bridge остаётся предварительной версией. Учитывайте это, прежде чем доверять ему особо конфиденциальные данные.
Проверьте то, что скачали
Вам не нужно верить нам на слово, чтобы убедиться в подлинности загрузки:
- Контрольные суммы: в каждый выпуск входит файл SHA256SUMS со всеми его файлами, чтобы вы могли убедиться, что ваша копия в точности совпадает с опубликованной.
- Воспроизводимые сборки: утилита командной строки для Linux собирается детерминированно. Любой, у кого есть исходный код по тегу выпуска, может пересобрать её и получить побитово идентичный файл; автоматическая проверка собирает её дважды в разных окружениях и завершается ошибкой, если различается хотя бы один байт.
- Происхождение сборки: наш процесс выпуска настроен прикладывать к каждому файлу подписанное свидетельство происхождения SLSA (Sigstore) с указанием рабочего процесса и коммита, из которых он собран; проверить его можно командой «gh attestation verify». GitHub включает эту возможность, когда репозиторий с исходным кодом становится публичным; мы сообщим здесь, когда она заработает.
- Подпись кода: наш конвейер выпуска подписывает программы и установщики для Windows с помощью Authenticode (Azure Artifact Signing); перед запуском файла издателя можно проверить в разделе «Свойства» → «Цифровые подписи».
Сборки для Windows и Android пока не воспроизводимы; эта работа запланирована. Пошаговые инструкции по проверке для bash и PowerShell есть в нашем руководстве по воспроизводимым сборкам — предоставим по запросу.
Непрерывное тестирование
Каждый декодер, читающий данные с другого устройства или из сети, — конверты сообщений, ссылки сопряжения, маяки обнаружения, имена файлов и сообщения отдельных функций — еженедельно проходит фаззинг с помощью libFuzzer, который подаёт на вход миллионы искажённых данных, чтобы найти сбои и неработающие проверки безопасности.
Кроме того, при каждом изменении в Windows и Linux запускаются модульные, интеграционные и сквозные тесты, в том числе тесты, в которых два настоящих процесса выполняют сопряжение и передают файлы по сети.
Как сообщить
Напишите на projectteamforyou@gmail.com с темой «[SECURITY] краткое название» на корейском или английском языке. Пожалуйста, укажите:
- затронутое приложение или компонент и его версию;
- в чём заключается проблема и что может сделать с её помощью злоумышленник (вектор CVSS приветствуется);
- пошаговое воспроизведение или доказательство концепции, а также платформу, на которой вы проверяли.
Пожалуйста, не сообщайте об уязвимостях через публичные задачи или социальные сети.
Шифрование: мы пока не опубликовали PGP-ключ. Когда опубликуем, он появится в папке /.well-known/ этого сайта и будет указан в personaldevicebridge.com/.well-known/security.txt. До тех пор, если ваш отчёт содержит чувствительные детали эксплуатации, сначала пришлите короткое письмо без них, и мы договоримся с вами о защищённом канале.
Наш исходный код проприетарный. Если для исследования или подтверждения находки вам нужен доступ к нему, напишите нам — мы рассматриваем каждый запрос индивидуально.
Что происходит после отчёта
- Мы подтверждаем получение отчёта в течение 72 часов.
- В течение 7 дней мы оцениваем его — обоснованность, серьёзность и затронутые версии — и сообщаем о ходе работы не реже чем раз в 14 дней до устранения.
- Сроки исправления с момента оценки: критическая — до 30 дней (по возможности со смягчающими мерами в течение 7 дней), высокая — до 60 дней, средняя — до 90 дней, низкая — в одном из следующих плановых выпусков.
Мы небольшая команда. Если мы не укладываемся в срок, мы объясним причину и сообщим, когда ожидать исправления.
Контакты для автоматических средств
Наши контакты также опубликованы в стандартном машиночитаемом формате (RFC 9116) по адресу personaldevicebridge.com/.well-known/security.txt, который ссылается на эту страницу. Мы отвечаем на корейском или английском языке.