Pular para o conteúdo principal

Exemplos de Aplicação de Requisitos de Segurança

Este anexo ilustra, de forma prática, como aplicar os requisitos de segurança ao longo do ciclo de vida de uma nova funcionalidade, com base na classificação de risco da aplicação.

ℹ️ Este documento apresenta um exemplo prático completo da aplicação dos requisitos de segurança definidos no Capítulo 2, demonstrando como aplicá-los a uma nova funcionalidade ao longo do ciclo de vida do desenvolvimento.
Não se trata de um documento prescritivo, mas sim de um estudo de caso reutilizável que segue a lógica:
classificação → seleção → rastreabilidade → validação.
Pode ser adaptado e replicado noutros contextos, mantendo os princípios da proporcionalidade e da rastreabilidade.

Cenário: Nova funcionalidade de upload de documentos numa aplicação web B2B

🧩 1. Contexto

  • Aplicação: Portal web de gestão de contratos
  • Tipo: Aplicação web com autenticação federada
  • Dados: Contratuais e pessoais (alguns sensíveis)
  • Classificação: Nível 2 (risco médio), conforme Capítulo 1
  • Nova funcionalidade: Permitir upload de documentos PDF por utilizadores autenticados

🔎 2. Revisão da classificação de risco

Antes de definir requisitos, a equipa revê a classificação da aplicação à luz da nova funcionalidade:

FatorAlteração com a nova feature
Superfície de exposição↑ Upload direto de utilizador final
Sensibilidade dos dados↔ Igual (dados já eram sensíveis)
Dependência de terceiros↔ Sem alterações

Decisão: Mantém-se como Nível 2, mas a exposição aumenta.


📝 3. Identificação dos requisitos relevantes

Com base nos temas do catálogo (Cap. 2) e nos domínios impactados pela feature (input, ficheiros, autenticação, registos), são selecionados os seguintes requisitos:

IDDescriçãoTema
REQ-003Sessões com timeout de 15 minutos de inatividadeSessões e Estado
REQ-010Validação de tipo, extensão e tamanho no upload de ficheirosValidação de Input e Output
REQ-011Análise de malware antes do armazenamento de ficheirosAntivírus e Malware
REQ-015Logging de tentativas de upload e erros associadosRegisto e Auditoria
REQ-018Criação de testes automáticos para inputs malformados no endpoint de APITestes de Segurança

🔗 4. Rastreabilidade (risco → requisito → controlo → validação)

Risco identificadoRequisitoControlo implementadoValidação
Upload de ficheiros maliciososREQ-011Integração com antivírus no pipelineCI/CD com scan automático
Abuso do endpoint com ficheiros grandesREQ-010Limite de 10 MB + verificação de MIME typeTeste funcional + logs
Sessões abusivamente longasREQ-003Timeout de 15 min com reautenticaçãoTeste de UI + script Selenium
Falta de visibilidade sobre ações críticasREQ-015Logging com nível de alerta e centralizaçãoRevisão de logs + alertas

👥 5. Papéis envolvidos

PapelContributo
Dev TeamIntegração dos controlos nos endpoints/API
QA/TestesEscrita dos testes automatizados
Segurança (AppSec)Validação de requisitos e rastreabilidade
Product OwnerInclusão dos critérios no backlog e user stories

📆 6. Ponto de verificação no ciclo de vida

  • Os requisitos foram incluídos nas histórias de utilizador
  • Os critérios de aceitação foram definidos em Gherkin
  • Os testes foram validados na fase de integração contínua (CI)
  • A validação da rastreabilidade foi feita durante a sprint review com apoio de segurança

Conclusão

Este exemplo demonstra a aplicação prática dos requisitos de segurança desde a identificação do risco até à validação técnica, garantindo rastreabilidade, proporcionalidade e integração com os processos de desenvolvimento ágil.

Este mesmo processo pode ser reutilizado noutros casos com adaptações mínimas, desde que se mantenha a lógica: classificação → seleção → rastreabilidade → validação.