Pular para o conteúdo principal

🧪 Exemplo Prático - Threat Modeling com LINDDUN

Este exemplo demonstra como aplicar o modelo LINDDUN para identificar ameaças à privacidade numa aplicação que processa dados pessoais e autenticação de utilizadores.

O modelo LINDDUN permite identificar ameaças específicas associadas a:

  • Linkability, Identifiability, Non-repudiation, Detectability, Disclosure, Unawareness, Non-compliance

🎯 Contexto da aplicação

Serviço de autenticação auth-service com as seguintes características:

  • Login via formulário (POST /login com email e password)
  • Geração de JWT com claims: sub, email, role, iat, exp
  • Endpoint /me retorna dados do utilizador autenticado
  • Endpoint /admin/audits retorna logs e ações do utilizador
  • Sem consentimento explícito ou informação sobre retenção de dados

📈 Modelo de dados e fluxos (DFD simplificado)


🔍 Ameaças identificadas (modelo LINDDUN)

CategoriaAmeaça identificadaImpactoRequisito associado (Cap. 2)
LinkabilityJWT permite rastrear utilizadores entre sessões e appsAltaREQ-DAT-008: JWT não deve conter IDs rastreáveis
IdentifiabilityEndpoint /me expõe email e role diretamenteMédiaREQ-DAT-002: Minimizar exposição de dados identificáveis
UnawarenessUtilizador não informado sobre uso dos dadosAltaREQ-PRI-001: Política de privacidade obrigatória
Non-complianceSem registo de consentimento ou base legalAltaREQ-PRI-004: Consentimento explícito e auditável
DisclosureLogs acessíveis via /admin/audits contêm emails completosAltaREQ-LOG-004: Pseudonimização de dados em logs

✅ Recomendações de controlo

  • Anonimizar ou pseudonimizar claims sensíveis nos JWT (usar sub sem email)
  • Aplicar RBAC ao endpoint /admin/audits e filtrar dados retornados
  • Mostrar aviso e link para política de privacidade antes do login
  • Implementar registo de consentimento com data, IP e finalidade

🧭 Validação de requisitos do Cap. 2

Este modelo valida a necessidade de aplicar requisitos das seguintes categorias:

  • Privacidade e Dados Pessoais (REQ-DAT-*)
  • Consentimento e Informação (REQ-PRI-*)
  • Logging e Auditoria (REQ-LOG-*)

Todos os requisitos devem ser:

  • Gerados automaticamente a partir do modelo;
  • Validados em backlog ou código (ex: commits, testes);
  • Rastreáveis no CI/CD ou na ferramenta de threat modeling (ex: IriusRisk).

O uso de LINDDUN permite antecipar riscos legais e operacionais associados a dados pessoais e reforçar a cobertura do Capítulo 2 de forma orientada a ameaças.