Модель угроз локализации¶
Передача задач перевода на аутсорсинг или краудсорсинг третьим сторонам создаёт дополнительные риски для безопасности и конфиденциальности. В отличие от внутренних команд разработчиков, переводчики могут иметь ограниченные доверительные отношения с организацией и могут действовать из разных юрисдикций. Эта модель выявляет и классифицирует угрозы, связанные с внешними участниками перевода.
Ключевые предположения¶
Переводчики могут быть подрядчиками, волонтёрами или агентствами с разным уровнем проверки.
Переводчикам требуется доступ к Weblate.
Строки перевода могут содержать конфиденциальный контент, такой как невыпущенные функции, юридические термины или сообщения безопасности.
Организация имеет ограниченный контроль над локальными средами переводчиков.
Категории угроз (STRIDE)¶
1. Подмена¶
S1. Поддельные учётные записи переводчиков, выдающие себя за законных участников.
Риск: Несанкционированный доступ к проектам или внедрение вредоносных строк.
Смягчающие меры:
Применяйте сильную аутентификацию (2FA); см. Принудительная двухфакторная аутентификация.
Проверяйте личности нанятых переводчиков.
Используйте управление доступом на основе ролей для ограничения масштаба проекта; см. Контроль доступа к проекту.
2. Фальсификация¶
T1. Вредоносные переводы, внедряющие опасные полезные нагрузки.
Риск: Внедрение JavaScript, HTML или атак на форматные строки, если переводы не экранированы должным образом.
Смягчающие меры:
Применяйте строгую проверку ввода в Weblate. Принудительное выполнение проверок качества, таких как Небезопасный HTML-код, может помочь. См. Проверки качества и Принудительная проверка.
Используйте автоматическое сканирование безопасности для файлов перевода в вашем CI.
Ограничьте использование опасной разметки из файлов переводов. В зависимости от используемого фреймворка локализации, это может быть неявным, опциональным или требовать сторонней библиотеки.
T2. Вставка вводящих в заблуждение переводов.
Риск: Введение пользователей в заблуждение относительно поведения приложения (например, неправильный перевод диалогов согласия).
Смягчающие меры:
Выполняйте взаимное рецензирование критически важных строк; см. Коллегиальное рецензирование или Выделенные рецензенты.
Ведите руководства по стилю и Словарь для предотвращения манипуляций.
3. Отказ¶
R1. Споры по поводу вредоносных или некачественных переводов.
Риск: Переводчики отрицают ответственность за внесённые проблемы.
Смягчающие меры:
Все изменения в Weblate регистрируются.
Используйте Weblate с контролем версий для неизменяемой истории.
4. Раскрытие информации¶
I1. Утечка деталей невыпущенного продукта.
Риск: Переводчики получают ранний доступ к невыпущенным функциям или конфиденциальной терминологии.
Смягчающие меры:
Разделяйте проекты, чтобы ограничить доступ к конфиденциальным строкам.
Применяйте соглашения о неразглашении с внешними агентствами.
Отложите перевод высококонфиденциальных строк до публичного выпуска.
I2. Раскрытие личных данных в строках.
Риск: Переводчики могут получить доступ или неправильно использовать встроенные пользовательские данные.
Смягчающие меры:
Избегайте раскрытия реальных пользовательских данных в исходных строках.
Используйте заполнители для конфиденциальных полей.
5. Отказ в обслуживании¶
D1. Массовая отправка некачественных переводов.
Риск: Переполнение очередей рецензирования; нарушение сроков выпуска.
Смягчающие меры:
Выберите соответствующий рабочий процесс в соответствии с мощностью вашей команды. Настройка рабочего процесса может позволить вам настроить это на языковой основе.
Настройте автоматические проверки качества перевода; см. Проверки качества.
6. Повышение привилегий¶
E1. Переводчик получает несанкционированные права в масштабе проекта или административные права.
Риск: Эскалация, ведущая к взлому или раскрытию данных.
Смягчающие меры:
Применяйте принцип наименьших привилегий.
Регулярно проверяйте права доступа и членство в группах.
Инвентаризация активов¶
Исходные строки: Могут содержать невыпущенные функции продукта или юридический текст.
Переведённые строки: Вывод, представляемый непосредственно конечным пользователям.
Заполнители пользовательских данных: Имена, адреса электронной почты или идентификаторы, на которые есть ссылки в строках.
Учётные данные доступа: Учётные записи для переводчиков, агентств или ботов.
Границы доверия¶
Организация ↔ Переводчики: Должны быть обеспечены аутентификация и управление доступом на основе ролей.
Платформа перевода ↔ Система контроля версий: Синхронизация требует защищённых токенов/ключей.
Переводчики ↔ Платформа перевода: Все входные данные должны быть очищены перед интеграцией в сборки.
Платформа ↔ Конечные пользователи: Переводы должны быть проверены для предотвращения внедрения кода.
Сводка мер по смягчению¶
Применяйте 2FA и RBAC для учётных записей переводчиков; см. Принудительная двухфакторная аутентификация.
Требуйте соглашения о неразглашении или контракты для профессиональных переводчиков.
Используйте автоматическое сканирование качества/безопасности для переводов; см. Проверки качества.
Выполняйте взаимное рецензирование критически важных строк; см. Коллегиальное рецензирование или Выделенные рецензенты.
Ограничьте видимость проекта, чтобы уменьшить раскрытие конфиденциального содержимого; см. Контроль доступа к проекту.
Регулярно обновляйте и укрепляйте ваш сервер Weblate. Вы также можете рассмотреть Получение поддержки по Weblate.
Сохраняйте неизменяемую историю версий для всех изменений перевода в системе контроля версий.
Заключение¶
Сторонние переводчики создают уникальные риски по сравнению с внутренними участниками. При надлежащих технических, организационных и договорных мерах контроля организации могут снизить эти риски и безопасно интегрировать внешние службы перевода, сохраняя целостность продукта и соответствие требованиям.