Pular para o conteúdo principal

📋 Catálogo Base de Requisitos de Segurança

Este catálogo constitui a referência canónica de requisitos de segurança aplicacional do SbD-ToE. Cada requisito é identificado por um ID canónico estável (CATEGORIA-NNN), tem aplicabilidade definida por nível de risco (L1–L3) e um critério de aceitação mínimo que permite validação objectiva e integração directa em backlogs, definições de pronto e processos de auditoria.


Âmbito: requisitos aplicacionais

Este catálogo cobre requisitos de segurança intrínsecos ao software - as propriedades que o sistema deve garantir em tempo de execução, independentemente de onde é deployed ou como a infraestrutura está definida. Incluem-se: autenticação e gestão de identidade, controlo de acesso, registo e monitorização, gestão de sessões, validação de dados, tratamento de erros, configuração segura de parâmetros da aplicação, segurança de APIs e integrações, e requisitos de processo como gestão de requisitos, distribuição de artefactos e ferramentas de desenvolvimento.

Mapeamento de catálogos por domínio técnico

O SbD-ToE organiza os requisitos de segurança em catálogos canónicos por domínio técnico, distribuídos pelos capítulos do manual. Cada catálogo tem prefixo próprio, responsável típico e artefacto de referência distinto. Este é o mapa completo:

Cap.Prefixo(s)DomínioObjectoResponsável típico
01CLAClassificação de aplicaçõesClassificação formal de criticidade, reclassificação, risco residual e proporcionalidade de controlosProduct Owner, Tech Lead, AppSec, GRC
02AUT ACC LOG SES VAL ERR CFG ENC API INT REQ DST IDERequisitos aplicacionaisPropriedades de segurança do software em runtimeEquipa de desenvolvimento
03THRThreat modelingIdentificação de ameaças, disposição formal, derivação de requisitos e rastreabilidadeArquitecto técnico, AppSec
04ARCArquitectura seguraDesign, estrutura e decisões do sistemaArquitecto técnico, AppSec
05DEPDependências, SBOM e SCAComponentes de terceiros incorporadosEquipa de desenvolvimento, AppSec
06DEVDesenvolvimento seguroPráticas e processos de desenvolvimentoEquipa de desenvolvimento, AppSec
07CICCI/CD seguroO pipeline como produto de engenhariaDevSecOps, plataforma
08IACInfraestrutura como CódigoO projecto IaC como softwareEngenharia de plataforma, DevSecOps
09CNTContainers e imagensO artefacto container e políticas de execuçãoDevSecOps, desenvolvimento
10TSTTestes de segurançaO programa de testes de segurançaAppSec, DevSecOps
11DPLDeploy seguroO processo de promoção a produçãoDevSecOps, Release Management
12OPSMonitorização e operaçõesO programa de monitorização operacionalOperations, SOC, DevSecOps
13TRNFormação e onboardingCapacitação, onboarding verificável, Security Champions e eficácia formativaAppSec, PeopleOps, liderança técnica
14GOVGovernação e contrataçãoModelo de governação, excepções, contratação e maturidade organizacionalAppSec, GRC, CISO

Cada capítulo contém o seu catálogo em addon/00-catalogo-requisitos.md (ou equivalente), com aplicabilidade por nível de risco (L1–L3) e critérios de aceitação no mesmo formato deste catálogo. A distinção entre catálogos é operacionalmente relevante: responsáveis, artefactos e ciclos de revisão diferem por domínio - um requisito do tipo ARC- é avaliado em revisão de arquitectura, não num PR de código.


Sobre a curadoria: Este catálogo foi consolidado a partir de fontes reconhecidas - OWASP ASVS, NIST SSDF, IEC 62443, entre outras - e destina-se a ser adaptado por cada organização e instanciado por cada projecto. Não é imutável: deve ser mantido como documento vivo, revisto periodicamente e ajustado ao contexto técnico e de risco. Quando um projecto não tem catálogo próprio, este serve de ponto de partida directo.

Para a instanciação em projecto e a nomenclatura operacional de rastreabilidade (SEC-Lx-DOMINIO-CODIGO), ver Taxonomia e Rastreabilidade.


Convenções

SímboloSignificado
Requisito obrigatório para este nível
-Não aplicável ou não obrigatório a este nível

Os níveis são cumulativos: L3 inclui todos os requisitos de L1 e L2; L2 inclui todos os de L1.


Índice


AUT - Autenticação e Identidade

Requisitos que garantem que apenas entidades legítimas acedem ao sistema, com controlos proporcionais à sensibilidade das operações.

IDNomeL1L2L3Critério de aceitação
AUT-001MFA obrigatório-Login sem segundo factor é rejeitado; evidência de bloqueio em logs.
AUT-002Política de passwordsSistema rejeita passwords que não cumpram a política; bloqueio evidenciado em teste.
AUT-003Protecção contra brute forceConta bloqueada ou acesso atrasado após N tentativas falhadas; logs evidenciam o evento.
AUT-004Revogação activa de sessõesLogout invalida token/sessão imediatamente; reutilização resulta em erro autenticado.
AUT-005Expiração automática de sessãoSessão termina após período de inactividade configurado; redirect para autenticação.
AUT-006Proibição de credenciais em claroAuditoria confirma hashing com salt; ausência de credenciais em claro em armazenamento e transmissão.
AUT-007Suporte a autenticação federada-Fluxo SAML/OIDC funcional e testado; log de autenticação via IdP externo disponível.
AUT-008Step-up para acções sensíveis-Operações críticas requerem factor adicional; teste evidencia bloqueio sem step-up.
AUT-009Reautenticação para alterações críticasAlterações de credenciais ou dados sensíveis exigem confirmação da identidade activa.
AUT-010Alerta de acessos suspeitos-Acessos anómalos geram alerta ou notificação ao utilizador; log do evento disponível.

ACC - Controlo de Acesso

Requisitos que asseguram que cada entidade acede apenas aos recursos e operações que lhe são explicitamente permitidos.

IDNomeL1L2L3Critério de aceitação
ACC-001Controlo de acesso RBACPerfis e permissões mapeados; role com privilégio reduzido não acede a recursos restritos.
ACC-002Princípio do menor privilégioContas sem permissões desnecessárias; auditoria evidencia restrição efectiva.
ACC-003Bloqueio e auditoria de acessos ilegítimosTentativas de acesso não autorizado são bloqueadas e registadas com contexto suficiente.
ACC-004Separação de perfisPerfis de utilizador, administrador e serviço são distintos; acções de cada perfil são rastreáveis.
ACC-005Controlo de acesso a APIs e serviçosEndpoints rejeitam chamadas não autenticadas ou não autorizadas; logs registam rejeições.
ACC-006Protecção de recursos sensíveisAcesso não autorizado a dados críticos é impedido e registado; teste de bypasse falha.
ACC-007Validação do modelo de acesso-Modelo de permissões revisto e documentado; ameaças de controlo de acesso mapeadas.
ACC-008Revogação em tempo realRemoção de acesso reflecte-se imediatamente; teste de permissão falha após revogação.
ACC-009Autorização baseada em atributos (ABAC)--Decisão de acesso depende de atributos dinâmicos; logs evidenciam avaliação de política.
ACC-010Revisão periódica de permissões-Auditorias periódicas removem permissões obsoletas; registos de revisão mantidos e datados.

LOG - Registo e Monitorização

Requisitos que garantem a existência de evidência auditável das operações do sistema, suportando detecção de incidentes e resposta forense.

IDNomeL1L2L3Critério de aceitação
LOG-001Registo de eventos críticosAcessos, alterações e falhas de segurança críticas são registados; logs verificados por amostragem.
LOG-002Atributos mínimos em logsCada entrada inclui: quem, quando, o quê e onde; ausência de qualquer atributo falha auditoria.
LOG-003Protecção de integridade e acesso aos logsLogs não alteráveis por utilizadores comuns; protecção por permissões ou assinatura verificável.
LOG-004Análise periódica de logs-Processo de análise periódica documentado e evidenciado; frequência proporcional ao risco.
LOG-005Retenção mínima dos logsLogs mantidos pelo período definido em política; verificação de retenção efectiva.
LOG-006Envio para sistema centralizado-Eventos críticos enviados e registados em agregador central (SIEM ou equivalente).
LOG-007Classificação e detecção de anomalias-Política de severidade definida; anomalias disparam alertas configurados e testados.
LOG-008Alarme em falhas do mecanismo de logging-Falhas do sistema de logging geram alerta; ausência de logs é detectada e notificada.
LOG-009Logs suportam resposta a incidentes-Logs com detalhe suficiente para reconstrução de incidente; testado em exercício ou simulação.
LOG-010Logging de eventos críticos de negócio--Eventos de impacto no negócio (transacções, autorizações críticas) registados e rastreáveis.

SES - Sessões e Estado

Requisitos que controlam o ciclo de vida de sessões e tokens, prevenindo reutilização, fixação e persistência indevida.

IDNomeL1L2L3Critério de aceitação
SES-001Expiração automática por inactividadeSessão termina após período configurado de inactividade; redirect para autenticação.
SES-002Logout manual e após alteração de credenciaisLogout termina todas as sessões activas; alteração de password invalida tokens anteriores.
SES-003Identificadores de sessão imprevisíveisTokens/sessões com entropia adequada; análise de previsibilidade não revela padrão.
SES-004Transmissão segura dos tokensTokens transmitidos apenas por canais TLS; cookies com flags Secure e HttpOnly.
SES-005Ligação da sessão ao contexto do cliente-Mudança de IP ou user-agent termina sessão ou exige revalidação; teste evidencia comportamento.
SES-006Revogação explícita da sessãoSessão pode ser terminada a pedido do utilizador ou do sistema; token fica inválido imediatamente.
SES-007Prevenção de sessões long-lived-TTL máximo configurado e aplicado; sessões com duração excessiva não são possíveis.
SES-008Scope, TTL e revogação de tokens JWT-JWTs incluem claims de âmbito e expiração; mecanismo de revogação implementado e testado.

VAL - Validação de Dados

Requisitos que garantem que apenas dados bem formados e esperados são processados pelo sistema, prevenindo injecções e comportamentos não determinísticos.

IDNomeL1L2L3Critério de aceitação
VAL-001Validação geral de entradas externasInputs inválidos são rejeitados com código de erro adequado; logs evidenciam bloqueio.
VAL-002Uso de whitelists em vez de blacklistsApenas valores explicitamente aceites são permitidos; valores não previstos são rejeitados.
VAL-003Validadores de esquema (JSON/XML schema)-Payloads malformados são rejeitados automaticamente; logs de parsing disponíveis.
VAL-004Sanitização contra injecçõesInputs potencialmente perigosos são neutralizados; ataques de injecção resultam em falha controlada.
VAL-005Validação antes do uso internoDados são validados antes de uso em lógica de negócio ou persistência; não há caminhos não validados.
VAL-006Mensagens de erro seguras na validaçãoErros de validação não expõem lógica interna nem dados sensíveis ao cliente.
VAL-007Testes automáticos contra entradas maliciosas-Testes automatizados cobrem XSS, SQLi e outras injecções relevantes; resultados registados.

ERR - Gestão de Erros

Requisitos que asseguram que erros e excepções são tratados de forma controlada, sem exposição de informação sensível ou lógica interna.

IDNomeL1L2L3Critério de aceitação
ERR-001Erros não expõem dados sensíveisMensagens ao cliente são abstractas; logs internos detalhados nunca expostos externamente.
ERR-002Mensagens genéricas no clienteCliente recebe sempre mensagem genérica; stack traces e detalhes internos não transmitidos.
ERR-003Não revelar existência de recursosRespostas de erro são idênticas para recursos existentes e inexistentes (sem enumeração).
ERR-004Mensagens localizadas e segurasMensagens traduzidas sem conteúdo executável ou referências a lógica interna.
ERR-005Gestão padronizada e centralizada-Framework de erros centraliza tratamento e logging; ausência de tratamento ad-hoc disperso.
ERR-006Testes automáticos para erros excessivos-Testes garantem que erros são tratados e não há fuga de informação; cobertura de casos limite.
ERR-007Logs de erro com contexto pseudonimizado-Logs incluem IDs contextuais; dados pessoais ou credenciais nunca registados em logs de erro.

CFG - Configuração Segura

Requisitos que garantem que o sistema é configurado e operado de forma que minimize a superfície de ataque e previna exposição acidental.

IDNomeL1L2L3Critério de aceitação
CFG-001Debug e flags desactivados em produçãoParâmetros de debug, trace e dev_mode desligados em produção; verificação automática no pipeline.
CFG-002Separação de ambientes com validação automáticaDeploys e testes apenas em ambientes segregados; logs evidenciam segregação efectiva.
CFG-003Ausência de parâmetros hardcodedCódigo fonte não contém segredos nem parâmetros sensíveis em claro; scan automatizado confirma.
CFG-004Configuração externa com permissões controladasConfiguração é externa ao código; permissões de acesso ao repositório de configuração são restritivas.
CFG-005Validação de configuração no arranque-Sistema falha arranque quando parâmetros obrigatórios estão em falta ou incorrectos; erro explícito.
CFG-006Uso de cofres e gestão segura de segredos-Segredos existem apenas em cofres seguros; auditoria evidencia ausência de segredos no repositório.
CFG-007Monitorização de drift de configuração--Alterações inesperadas em configuração crítica disparam alertas; baseline documentada.

ENC - Dados Sensíveis e Criptografia

Requisitos que garantem a protecção de dados sensíveis em trânsito e em repouso, o uso de primitivas criptográficas robustas e a prevenção de exposição acidental de segredos e dados pessoais.

IDNomeL1L2L3Critério de aceitação
ENC-001Encriptação de todas as comunicações em trânsitoToda a comunicação entre cliente e servidor e entre serviços internos usa TLS com versão mínima definida; versões inseguras (TLS 1.0, 1.1, SSLv3) desactivadas e verificáveis por configuração.
ENC-002Encriptação de dados sensíveis em repouso-Dados classificados como sensíveis (PII, credenciais, dados financeiros) encriptados em armazenamento persistente; chaves de encriptação geridas separadamente dos dados; evidência de aplicação a todos os datastores relevantes.
ENC-003Algoritmos e configurações criptográficas robustas-Apenas algoritmos aprovados e tamanhos de chave adequados em uso (ex: AES-256, RSA ≥ 2048, curvas elípticas aprovadas); algoritmos fracos ou deprecados (MD5, SHA-1 para integridade, DES) ausentes; lista de primitivas aprovadas documentada.
ENC-004Hashing adaptativo de passwordsPasswords armazenadas com algoritmo adaptativo resistente a força bruta (bcrypt, Argon2, PBKDF2); factor de custo configurado e revisto periodicamente; ausência de hashing estático ou reversível confirmada.
ENC-005Mascaramento de dados sensíveis em logs, outputs e respostas APIPasswords, tokens, números de cartão, dados pessoais sensíveis não aparecem em claro em logs, respostas de erro ou outputs de debugging; cobertura verificada por análise de logs e teste.
ENC-006Detecção e prevenção de segredos expostos em repositóriosFerramenta de detecção de segredos activa no pipeline (ex: truffleHog, gitleaks, detect-secrets); commits com segredos detectados bloqueados ou alertados; sem segredos em claro no histórico do repositório.
ENC-007Rotação periódica de chaves e segredos-Política de rotação definida por tipo de segredo; rotação executada nos prazos definidos; evidência de rotação auditável; ausência de chaves sem data de expiração para material crítico.
ENC-008Prevenção de caching de dados sensíveis no cliente-Respostas com dados sensíveis incluem cabeçalhos que inibem caching (Cache-Control: no-store, etc.); configuração verificável por análise de headers em ambiente de teste.
ENC-009Integridade verificável de dados críticos--Dados críticos com mecanismo de verificação de integridade (MACs, assinaturas, checksums); adulterações detectadas e registadas; cobertura aplicada a dados com impacto de negócio ou regulatório.

API - Segurança de APIs

Requisitos específicos para superfícies de API, que constituem o vector de exposição mais frequente em aplicações modernas.

IDNomeL1L2L3Critério de aceitação
API-001Autenticação e autorização de chamadas APIEndpoints rejeitam chamadas sem autenticação/autorização válida; chamadas anónimas falham.
API-002Endpoints desnecessários removidos ou ocultosEndpoints de debug ou legacy não expostos em produção; apenas em ambientes de teste controlados.
API-003Validação de input em APIsInputs malformados são rejeitados; logs registam tentativa com contexto mínimo.
API-004Rate limiting e detecção de abusos-Limite configurado e activo; chamadas excessivas resultam em 429 ou bloqueio temporário.
API-005Protecção por TLS e certificados actualizadosCanal TLS obrigatório; certificados válidos; cabeçalhos de segurança (HSTS, etc.) activos.
API-006Verificação de SDKs e wrappers utilizadosDependências e versões documentadas em SBOM; auditoria de licenças e vulnerabilidades conhecidas.
API-007Logging e auditoria de chamadas externas-Chamadas externas registadas com dados essenciais (origem, destino, resultado, timestamp).

INT - Mensagens e Integrações

Requisitos que asseguram a segurança nas comunicações entre sistemas, prevenindo intercepção, falsificação e injecção em canais de integração.

IDNomeL1L2L3Critério de aceitação
INT-001Validação de mensagens entre sistemasMensagens malformadas são rejeitadas ou tratadas de forma controlada; sem processamento cego.
INT-002Autenticação mútua ou tokens segurosIntegrações só aceites de fontes autenticadas; tokens verificados e com TTL definido.
INT-003Transmissão cifrada com TLSTodo o tráfego entre sistemas cifrado com TLS; versões inseguras desactivadas.
INT-004Proibição de protocolos insegurosProtocolos sem cifra (HTTP, FTP, Telnet) rejeitados ou redirecionados para equivalente seguro.
INT-005Assinatura e integridade de mensagens-Mensagens sensíveis assinadas e verificadas; logs evidenciam verificação de integridade.
INT-006Validação cruzada de origem e destino-Apenas origens e destinos autorizados aceites; logs de rejeição mantidos.
INT-007Monitorização e detecção de padrões anómalos--Comportamento anómalo nos canais de integração dispara alertas; logs analisados periodicamente.
INT-008Revisão de segurança e contrato em integrações--Integrações documentadas com cláusulas de segurança; checklist de revisão executada.

REQ - Definição de Requisitos

Requisitos que asseguram a incorporação sistemática da segurança no processo de definição e gestão de requisitos do ciclo de vida.

IDNomeL1L2L3Critério de aceitação
REQ-001Inclusão de requisitos de segurançaRequisitos de segurança explícitos em backlog/documentação; marcados e rastreáveis.
REQ-002Revisão formal de segurança dos requisitosProcesso de revisão documentado e evidenciado; responsável identificado.
REQ-003Alinhamento com classificação de riscoMapeamento entre requisitos e nível de criticidade disponível e actualizado.
REQ-004Versionamento e gestão de requisitosHistórico de alterações disponível; controlo de versões aplicado ao catálogo do projecto.
REQ-005Nova análise de ameaça após alteração de requisito-Alterações relevantes disparam revisão de threat modeling; registo da decisão disponível.
REQ-006Rastreabilidade requisito → ameaça → teste-Matriz ou ferramenta demonstra ligação entre requisitos, ameaças identificadas e testes.
REQ-007Revisão iterativa com equipas-Alterações de requisitos discutidas, revistas e registadas em ciclos definidos.

DST - Distribuição de Artefactos

Requisitos que garantem a integridade e rastreabilidade dos artefactos ao longo do processo de build, publicação e distribuição.

IDNomeL1L2L3Critério de aceitação
DST-001Repositórios autenticados e auditáveisAutenticação obrigatória e logs activos para acesso a repositórios de artefactos.
DST-002Aprovação para publicação pública-Publicação em registry público requer aprovação e documentação formal do processo.
DST-003Assinatura digital ou checksum-Artefactos assinados ou validados por hash antes de publicação; verificação automatizada.
DST-004Inclusão de SBOM nos artefactos-SBOM gerado e anexado a cada release; rastreabilidade de dependências disponível.
DST-005Acesso segregado por role e ambiente-Apenas utilizadores e automações autorizados acedem a artefactos de produção.
DST-006Deploy apenas via pipeline validado-Artefactos só deployados por pipeline controlado e auditado; sem deploy manual em produção.
DST-007Revogação e limpeza de artefactos comprometidosVersões comprometidas são removidas prontamente; utilizadores e dependentes notificados.

IDE - Ferramentas de Desenvolvimento

Requisitos que controlam o ambiente de desenvolvimento como superfície de risco, prevenindo introdução de vulnerabilidades por ferramentas ou extensões não controladas.

IDNomeL1L2L3Critério de aceitação
IDE-001Ferramentas e IDEs autorizadasApenas ferramentas aprovadas são utilizadas; lista mantida e actualizada pela organização.
IDE-002Actualização e gestão de vulnerabilidadesIDEs e ferramentas mantidas actualizadas; histórico de actualizações disponível.
IDE-003Auditoria de código gerado por ferramentas-Código gerado por ferramentas ou assistentes é revisto antes de integração em produção.
IDE-004Extensões e plugins de fontes confiáveisApenas extensões de fontes reconhecidas e verificadas são instaladas; logs de instalação.
IDE-005Controlo de permissões de extensões-Permissões de extensões revistas; apenas as necessárias concedidas; execução sandboxed.
IDE-006Limitação de ambientes locais sem controlo-Utilização de ambientes locais controlada; logs de rede ou proxy disponíveis quando aplicável.

Para validação detalhada por requisito, métodos de teste e evidências esperadas, ver Validação de Requisitos. Para o modelo de rastreabilidade e instanciação em projecto, ver Taxonomia e Rastreabilidade. Para a matriz de aplicabilidade por domínio e nível de risco, ver Matriz de Controlos por Risco.