現地語化脅威モデル

翻訳作業を外部委託したり、クラウドソーシングで第三者に依頼したりすると、追加のセキュリティおよびプライバシー上のリスクが生じます。社内の開発チームとは異なり、翻訳者は組織との信頼関係が限定的である場合があり、さまざまな管轄区域で業務を行っている可能性があります。本モデルは、外部委託先の翻訳者に関連する脅威を特定し、分類するものです。

基本的な前提事項

  • 翻訳者は、契約者、ボランティア、またはさまざまなレベルの審査を受ける外部委託先である場合があります。

  • 翻訳者は Weblate へのアクセスが必要です。

  • 翻訳文字列には、未公開機能、法的文言、セキュリティ関連メッセージなど、機密性の高い内容が含まれている場合があります。

  • 組織は翻訳者のローカル環境を完全には管理できません。

脅威カテゴリ(STRIDE)

1. なりすまし(Spoofing)

  • S1. 正規の翻訳者を装った偽の翻訳者アカウント。

    • リスク: プロジェクトへの不正アクセスまたは悪意のある文字列の挿入。

    • 軽減策:

2. 改ざん(Tampering)

  • T1. 悪意ある翻訳による有害ペイロードの埋め込み。

    • リスク: 翻訳が適切にエスケープされていない場合、JavaScript、HTML、フォーマット文字列攻撃が注入される可能性。

    • 軽減策:

      • Weblate で厳格な入力バリデーションを適用してください。安全でない HTML のような品質検査を強制することで改善できる場合があります。参照: 品質検査 および 検査の強制

      • CI で翻訳ファイルに対する自動セキュリティ スキャンを実行してください。

      • 翻訳ファイルで危険なマークアップの使用を制限してください。使用している現地語化フレームワークによっては、これが暗黙的に処理される場合もあれば、手動で有効化が必要な場合、あるいはサードパーティ ライブラリを必要とする場合もあります。

  • T2. 誤解を招く翻訳の挿入

    • リスク: アプリケーションの動作についてユーザーを誤解させる可能性(例: 同意ダイアログの誤訳など)。

    • 軽減策:

      • 重要な文字列については査読を実施してください。参照: 相互評価 または 専任の査読者

      • 改ざんを防ぐため、スタイルガイドと 用語集 を維持し管理してください。

3. 否認(Repudiation)

  • R1. 悪意のある翻訳や品質の低い翻訳をめぐる争い

    • リスク: 挿入された問題について翻訳者が責任を否認する可能性。

    • 軽減策:

      • Weblate で行われたすべての変更は記録されます。

      • 履歴の改ざんを防止するため、バージョン管理と併用させて Weblate を使用してください。

4. 情報漏えい(Information Disclosure)

  • I1. 未公開の製品情報の漏えい。

    • リスク: 翻訳者が未公開の機能や機密の用語に早期アクセスしてしまう可能性。

    • 軽減策:

      • 機密性の高い文字列へのアクセスを制限するため、プロジェクトを分割してください。

      • 外部委託先には秘密保持契約(NDA)を適用してください。

      • 極めて機密性の高い文字列の翻訳は、公開後まで延期してください。

  • I2. 文字列内の個人データの公開

    • リスク: 翻訳者が埋め込まれたユーザーデータにアクセスしたり、不正に利用したりする可能性。

    • 軽減策:

      • 原文に実際のユーザーデータを含めないようにしてください。

      • 機密性の高い項目にはプレースホルダーを使用してください。

5. サービス拒否(Denial of Service)

  • D1. ジャンク翻訳の一括送信

    • リスク:査読キューが溢れかえり、リリースのスケジュールに支障をきたす。

    • 軽減策:

      • チームの処理能力に応じた適切なワークフローを選択してください。ワークフローの設定 により、言語単位で詳細に設定できます。

      • 翻訳の品質検査の自動化を設定してください。参照: 品質検査

6. 権限昇格(Elevation of Privilege)

  • E1. 翻訳者が、プロジェクト全体または管理者レベルの権限を不正に取得する。

    • リスク:権限のエスカレーションが発生し、改ざんまたはデータ露出を招く可能性がある。

    • 軽減策:

      • 必要最小限の権限のみを付与する原則を適用すること。

      • アクセス権とグループのメンバーを定期的に確認すること。

資産一覧(Asset Inventory)

  • 原文: 未公開の製品機能や法的文言を含む場合があります。

  • 翻訳済みの文字列: 翻訳後の文字列であり、エンドユーザーにそのまま表示される内容。

  • ユーザーデータのプレースホルダー: 文字列内で参照される名前、メールアドレス、ID などのユーザーデータ用プレースホルダー。

  • アクセス資格情報: 翻訳者、翻訳の外部委託先、またはボット用のアカウント。

頼の境界(Trust Boundaries)

  • 組織 ↔ 翻訳者: 認証とロールに基づくアクセス制御を厳格に実施することが必要です。

  • 翻訳プラットフォーム ↔ ソース管理: 同期にはセキュリティ保護された トークン/キー が必要です。

  • 翻訳者 ↔ 翻訳プラットフォーム: ビルドに取り込む前に、すべての入力データを検証、無害化(サニタイズ)することが必要です。

  • プラットフォーム ↔ エンド ユーザー: コードインジェクション防止のため、翻訳結果は必ず検証を行うことが必要です。

緩和策の概要(Mitigation Summary)

  • 翻訳者アカウントには 2FA と RBAC を必ず適用してください。参照: 強制的な二要素認証

  • プロの翻訳者には、秘密保持契約(NDA)または必ず契約書を締結してください。

  • 翻訳には自動的な品質、セキュリティ検査を適用してください。参照: 品質検査

  • 重要な文字列については査読を実施してください。参照: 相互評価 または 専任の査読者

  • プロジェクトの公開範囲を制限して、機密コンテンツの公開を減らしてください。参照: プロジェクトのアクセス制御

  • Weblate サーバーは定期的にパッチ適用とハードニングを行ってください。Weblate によるサポートを受ける方法 の使用も検討してください。

  • バージョン管理システムで、すべての翻訳の変更に対する改ざんが不可能なバージョン履歴を保存してください。

結論(Conclusion)

外部委託先の翻訳者は、社内翻訳者に比べて特有のリスクをもたらします。適切な技術的、組織的、そして契約上の管理体制を整備することで、組織はこれらのリスクを軽減し、製品の完全性とコンプライアンスを維持しながら、外部の翻訳サービスを安全に統合することができます。