Tag: Rekognition

  • Score Trust: arquitetura serverless na AWS para análise de risco (FIAP Challenge 2025)

    Score Trust: arquitetura serverless na AWS para análise de risco (FIAP Challenge 2025)

    O Score Trust foi o projeto que desenvolvemos para o FIAP Challenge 2025, como trabalho de conclusão de curso. É uma plataforma que analisa o comportamento do usuário no momento do login ou do checkout de uma aplicação e decide, em tempo real, se a operação deve ser liberada, revisada ou negada.

    Todo o backend roda em uma arquitetura serverless na AWS. Neste post de apoio ao vídeo, explico o papel de cada serviço, como o score é calculado e as decisões de segurança do projeto.

    O problema

    Fraudes em e-commerce acontecem justamente nos pontos mais sensíveis: login com credenciais vazadas, criação de contas falsas e checkout com dados roubados. Bloquear tudo gera atrito e perde vendas. Liberar tudo gera prejuízo. A ideia do Score Trust é dar a cada tentativa uma nota de risco e agir de forma proporcional:

    ScoreAção
    0 a 30ALLOW: segue normalmente
    31 a 75REVIEW: pede uma verificação extra (biometria facial)
    76 a 100DENY: bloqueia a operação

    A arquitetura na AWS

    Arquitetura serverless do Score Trust na AWS: WAF, API Gateway, Lambda, DynamoDB, S3 e Rekognition

    O e-commerce integra um SDK em JavaScript que coleta os sinais do usuário e chama a API do Score Trust. A partir daí, tudo é serverless:

    Serviço AWSPapel no Score Trust
    Route 53DNS e domínio das APIs
    AWS Certificate ManagerCertificados TLS das APIs
    AWS WAFProteção na borda, antes de qualquer requisição chegar à lógica. Veja como configurar: Como configurar o AWS WAF
    Amazon API GatewayExpõe as rotas /identity/verify, /identity/face-verify e /getRiskEvents, com API Key e planos de uso
    AWS Lambda (Python)Motor de risco, verificação facial, consulta de eventos e administração de regras
    Amazon DynamoDBTabelas de eventos, regras, pesos e dispositivos conhecidos
    Amazon S3Armazenamento das fotos usadas na biometria
    Amazon RekognitionCompareFaces para comparar a foto atual com a foto base do usuário
    AWS KMSCriptografia dos dados em repouso
    IAMRoles com permissão mínima para cada Lambda
    Amazon CloudWatchLogs e observabilidade de todas as funções

    Por que serverless

    • Custo proporcional ao uso: sem servidor ligado esperando requisição. Para um projeto que começa pequeno, isso faz muita diferença.
    • Escala automática em picos, como Black Friday, sem planejamento de capacidade.
    • Menos superfície de ataque: não há sistema operacional para manter e corrigir.

    Como o score é calculado

    A Lambda RiskEngineEvaluate soma pesos de acordo com os sinais de risco encontrados. Os pesos ficam na tabela RuleWeights do DynamoDB, então dá para ajustar o motor sem mexer no código:

    SinalPeso
    País de origem diferente do Brasil80
    User-Agent suspeito (ex.: navegador headless)50
    Dispositivo não reconhecido40
    IP privado ou suspeito40
    Biometria facial não verificada25
    Timezone inesperado (fora de America/Sao_Paulo e America/Buenos_Aires)20
    IP com reputação ruim no AbuseIPDB20
    Idioma diferente de português10

    O score final é limitado a 100 pontos e convertido em ação pelas faixas da tabela ScoringRules. A resposta da API é simples e explicável:

    {
      "score": 68,
      "action": "REVIEW",
      "reason": [
        "Dispositivo não reconhecido",
        "Timezone inesperado",
        "País de origem não é Brasil"
      ]
    }

    A lista de motivos (reason) é importante: quem opera o sistema entende por que uma decisão foi tomada, o que facilita ajustar os pesos e atender o cliente.

    Verificação facial com Amazon Rekognition

    Quando o resultado é REVIEW, o usuário pode confirmar a identidade com uma foto, pela Lambda faceVerify:

    1. Primeira captura: a foto é salva no S3 como imagem base do usuário. Nenhuma comparação é cobrada nesse momento.
    2. Capturas seguintes: a nova foto é comparada com a base usando o CompareFaces do Rekognition.
    3. Se a similaridade passa do limite configurado, o evento muda para ALLOW e o score é reduzido. Se não passa, vira DENY.

    O evento original no DynamoDB é atualizado, e não duplicado, o que mantém a linha do tempo de cada usuário limpa para auditoria.

    Decisões de segurança

    • AWS WAF na frente do API Gateway.
    • APIs separadas por tipo de uso: usuário final e administrador.
    • API Key e planos de uso no API Gateway, para limitar o consumo.
    • KMS para dados em repouso e TLS em todas as chamadas.
    • TTL no DynamoDB, para que eventos antigos expirem automaticamente (minimização de dados, alinhada à LGPD).
    • IAM Roles com privilégio mínimo em cada Lambda. É o mesmo princípio que mostro com o Secrets Manager: AWS Secrets Manager com Lambda.

    Próximos passos do projeto

    • Portal de gestão para administrar regras e pesos.
    • Detecção de vivacidade (face liveness) na biometria.
    • Aprendizado contínuo para ajustar os pesos automaticamente com base nos resultados.

    Equipe e material de apoio

    O Score Trust foi desenvolvido por Adrian Wicke, Ana Carolina, Camille, Demetrio Paszko e Luiz Pessol.

    Se você trabalha com prevenção a fraudes ou arquitetura serverless, conta nos comentários como você resolveria esse problema.

Visão geral de privacidade

Este site usa cookies para que possamos oferecer a melhor experiência de usuário possível. As informações dos cookies são armazenadas em seu navegador e executam funções como reconhecê-lo quando você retorna ao nosso site e ajudar nossa equipe a entender quais seções do site você considera mais interessantes e úteis.