Pular para o conteúdo

Detecção de Ameaças de Segurança

Visao Geral

O Floopy monitora todo o trafego que passa pelo gateway em tempo real e detecta automaticamente padroes de uso suspeitos. Quando uma ameaca e identificada, o sistema cria um alerta com severidade classificada e registra os detalhes para investigacao.

A deteccao de ameacas opera em duas camadas — contadores rapidos para resposta imediata e consultas analiticas profundas para analise historica. Isso permite que o gateway identifique tanto ataques repentinos quanto anomalias sutis que se desenvolvem ao longo do tempo. A deteccao roda de forma assincrona — sem adicionar latencia ao caminho principal.

Arquitetura

sequenceDiagram
    participant Client
    participant Gateway
    participant Counters
    participant Analytics
    participant Alerts

    Client->>Gateway: API Request
    Gateway->>Client: Response
    Gateway--)Counters: Increment counters (async)
    Counters-->>Gateway: Check thresholds
    alt Threshold exceeded
        Gateway--)Analytics: Deep evaluation query
        Analytics-->>Gateway: Threat results
        Gateway--)Alerts: Insert security alert
    end

A arquitetura de alto nivel mostra como os componentes interagem:

graph LR
    A[Request Pipeline] -->|post-dispatch| B[Threat Monitor]
    B -->|increment| C[Counters]
    B -->|check thresholds| C
    C -->|exceeded| D[Distributed Lock]
    D -->|acquired| E[Threat Detectors]
    E -->|query| F[Analytics Engine]
    E -->|persist| G[Alert Storage]
    G --> H[Dashboard]

Tipos de Ameaca

O sistema executa seis detectores independentes em paralelo. Cada detector analisa uma janela temporal diferente com logica de comparacao especifica.

Volume Spike

Detecta picos anormais no volume de requisicoes por chave de API. Compara o volume dos ultimos 5 minutos com a media dos ultimos 7 dias.

  • Janela: 5 minutos vs media de 7 dias
  • Limiar: Contagem atual acima de 3x media e acima de 10 requisicoes
  • Granularidade: Por chave de API

Brute Force

Identifica chaves de API com taxa de erro anormalmente alta, indicando possivel tentativa de forca bruta ou uso indevido.

  • Janela: 5 minutos
  • Limiar: Taxa de erro acima de 50% e acima de 10 requisicoes totais
  • Granularidade: Por chave de API

Geo Anomaly

Detecta requisicoes originadas de paises nunca vistos anteriormente para uma chave de API, comparando a ultima hora com o historico de 30 dias. Requer banco de dados GeoIP (MaxMind GeoLite2).

  • Janela: 1 hora vs historico de 30 dias
  • Limiar: Pais inedito para a chave
  • Granularidade: Por chave de API + pais

Cost Anomaly

Identifica picos de custo anormais comparando o custo da ultima hora com a media horaria dos ultimos 7 dias.

  • Janela: 1 hora vs media de 7 dias
  • Limiar: Custo atual acima de 5x media e acima de $1.00
  • Granularidade: Por organizacao

Firewall Threat

Detecta volumes elevados de requisicoes bloqueadas pelo LLM Firewall, indicando possivel ataque coordenado.

  • Janela: 30 minutos
  • Limiar: 10+ requisicoes bloqueadas
  • Granularidade: Por organizacao

Model Switching

Identifica troca rapida entre modelos por uma unica chave de API, o que pode indicar exploracao automatizada ou abuso.

  • Janela: 10 minutos
  • Limiar: 5+ modelos distintos
  • Granularidade: Por chave de API

Camadas de Deteccao

Hot Detection

A primeira camada usa contadores para deteccao rapida com overhead sub-milissegundo. Apos cada requisicao, o gateway incrementa contadores atomicos e verifica se os limiares foram ultrapassados.

  • Contador de requisicoes — incrementado a cada requisicao
  • Contador de erros — incrementado quando o status e de erro
  • Conjunto de paises — pais de origem adicionado ao conjunto por chave

Quando qualquer limiar e ultrapassado, o gateway adquire um lock distribuido e inicia a avaliacao profunda.

Esta camada atua como um filtro barato — a grande maioria das requisicoes incrementa um contador e segue em frente sem acionar trabalho adicional.

Deep Evaluation

A segunda camada executa consultas detalhadas para analisar padroes historicos. Os seis detectores rodam em paralelo e produzem resultados com severidade classificada.

  • Baselines historicos: Consultas buscam medias de 7 dias, conjuntos de paises de 30 dias e agregacoes de custo por hora.
  • Execucao paralela: Todos os 6 detectores rodam concorrentemente.
  • Protecao por lock: Um lock distribuido impede que multiplas instancias do gateway executem avaliacoes duplicadas para a mesma organizacao simultaneamente.
  • Deduplicacao: Antes de inserir um alerta, o sistema verifica alertas abertos existentes do mesmo tipo para evitar notificacoes duplicadas.

Ciclo de Vida do Alerta

Cada alerta de seguranca segue um ciclo de vida com estados definidos:

stateDiagram-v2
    [*] --> open: Threat detected
    open --> acknowledged: User reviews
    acknowledged --> resolved: Issue fixed
    acknowledged --> dismissed: False positive
    open --> resolved: Auto-resolved
    open --> dismissed: User dismisses
    resolved --> [*]
    dismissed --> [*]
  • Open: Alerta criado automaticamente quando uma ameaca e detectada.
  • Acknowledged: O usuario revisou o alerta e esta investigando.
  • Resolved: O problema foi corrigido ou mitigado com uma acao concreta.
  • Dismissed: O alerta foi classificado como falso positivo.

Classificacao de Severidade

A severidade e calculada automaticamente com base na razao entre o valor observado e o limiar esperado:

RazaoSeveridade
Acima de 10xCritical
Acima de 5xHigh
Acima de 2xMedium
Ate 2xLow

Por exemplo, se a media de requisicoes em 5 minutos e 100 e o volume atual e 1200, a razao e 12x, resultando em severidade critical.

A excecao e o detector geo anomaly, que sempre retorna severidade high, e o model switching, que sempre retorna severidade medium.

Configuracao

O sistema de deteccao de ameacas e configurado via variaveis de ambiente no gateway.

ConfiguracaoDescricaoPadrao
Chave de API de SegurancaAutentica chamadas agendadas de avaliacao. Necessaria para producao.
Caminho do Banco GeoIPCaminho para o arquivo MaxMind GeoLite2-Country.mmdb. Necessario para deteccao geo.
Limiar de VolumeRequisicoes por janela de 5 min para acionar avaliacao.500
Limiar de ErrosErros por janela de 5 min para acionar avaliacao.50
Limiar GeograficoNumero de paises distintos por chave para acionar avaliacao.3

Sem o banco GeoIP configurado, a deteccao de anomalias geograficas e silenciosamente desabilitada. Todos os outros detectores continuam funcionando normalmente.

Configuracao do GeoIP

A deteccao de anomalias geograficas requer o banco de dados MaxMind GeoLite2-Country.

  1. Crie uma conta gratuita em MaxMind
  2. Baixe o arquivo GeoLite2-Country.mmdb
  3. Coloque o arquivo em um caminho acessivel pelo gateway
  4. Configure a variavel de ambiente com o caminho absoluto do arquivo

O banco de dados deve ser atualizado periodicamente (MaxMind lanca atualizacoes semanais). Se o arquivo estiver ausente ou ilegivel na inicializacao, o gateway registra um aviso e desabilita a deteccao de anomalias geograficas.

Acoes no Dashboard

O painel de seguranca no dashboard permite gerenciar alertas e tomar acoes de mitigacao:

  • Acknowledge: Marca o alerta como em investigacao. Impede que apareca como nova notificacao para outros membros da equipe.
  • Dismiss: Marca o alerta como falso positivo. O alerta e arquivado.
  • Revogar chave: Revoga imediatamente a chave de API afetada. Todas as requisicoes subsequentes usando essa chave sao rejeitadas.
  • Habilitar rate limit: Aplica um limite de taxa na chave ou organizacao afetada. Isso reduz o trafego suspeito sem bloquea-lo completamente.

Todas as acoes sao registradas com o usuario e timestamp para fins de auditoria.