ATALAIA
  1. Início
  2. Serviços
  3. Requisitos de Segurança
02Estação 02 · Design

Requisitos de Segurança

Segurança escrita como requisitos que os seus programadores podem construir e testar: rate limits, trilhos de auditoria, regras de dados e casos de abuso, no ticket desde o primeiro dia.

Da história aos critérios

Escolha um passo, ou deixe correr. Cada fala é o que alguém na sala diz de facto.

Passo 1Partir da história

A user story e o objetivo de negócio, tal como o produto os escreveu.

PRODUTOComo utilizador, vejo ofertas de parceiros e resgato uma com os meus pontos.

ATALAIABom. Agora, o que nunca deve acontecer nesta história?

Sai da salaHistória: resgatar uma oferta de parceiro

Passo 2Fazer as perguntas não funcionais

Dados, identidade, limites, logging, falhas e abuso.

ATALAIAQuantos resgates por minuto são normais para um utilizador?

PRODUTODois, talvez três. Dez seria um bot.

DEV LEADHoje registamos o código do voucher. Devíamos?

ATALAIARegiste que aconteceu, nunca o código. Um código é dinheiro.

Sai da sala6 perguntas, 6 respostas

Passo 3Escrevê-las como critérios

Critérios de aceitação testáveis, não orientações.

DEV LEADCritério: no máximo 5 resgates por minuto por utilizador, depois um 429.

QATestável. E um caso de abuso: um bot a resgatar a partir de 50 contas.

PROGRAMADORUm evento de auditoria por cada resgate, sem o código do voucher.

Sai da sala6 critérios no ticket

Passo 4Torná-las uma baseline

As mais comuns passam a ser o padrão para cada novo serviço.

ATALAIARate limits, eventos de auditoria e regras de segredos entram na baseline do serviço.

DEV LEADAssim o próximo serviço já começa com elas, e ninguém as volta a discutir.

Sai da salaBaseline: 12 regras para cada serviço

  • ATALAIA
  • PRODUTO
  • DEV LEAD
  • QA
  • PROGRAMADOR

Uma história, antes e depois

O mesmo ticket. À esquerda, tal como o produto o escreveu. À direita, depois de uma conversa.

User story · REW-214

Como utilizador, posso resgatar uma oferta de parceiro com os meus pontos.

Critérios de aceitação
  • A oferta mostra um código de voucher
  • O saldo de pontos desce
User story · REW-214 · depois da conversa

Como utilizador, posso resgatar uma oferta de parceiro com os meus pontos.

Critérios de aceitação
  • A oferta mostra um código de voucher
  • O saldo de pontos desce
  • LIMITESNo máximo 5 resgates por utilizador por minuto, depois 429.
  • IDENTIDADESó o dono dos pontos pode resgatar, verificado no servidor.
  • DADOSOs códigos de voucher nunca são registados e aparecem mascarados nas ferramentas de suporte.
  • AUDITORIACada resgate escreve um evento: quem, o quê, quando, resultado.
  • FALHASe o parceiro não responder a tempo, os pontos voltam em menos de um minuto.
  • ABUSOResgates a partir de muitas contas novas são sinalizados. O QA é dono do teste.

Porque importa

“Registe que aconteceu, nunca o código. Um código é dinheiro.”

ATALAIA · passo 2, Fazer as perguntas não funcionais

Se a segurança não está no requisito, chega como um finding. Os programadores corrigem-no depois sob prazo, em código que nunca foi desenhado para isso.

O que recebe

  • Um conjunto de requisitos por funcionalidade, no formato que a sua equipa já usa
  • Casos de abuso escritos ao lado das user stories
  • Uma baseline reutilizável para cada novo serviço
  • Ideias de teste que o QA pode automatizar

Formato típico: Junto ao planeamento, algumas horas por funcionalidade, depois uma baseline que fica.

Vamos conversar

Uma chamada de 30 minutos. Sem slides, sem tabela de preços, e um próximo passo em qualquer caso.