Segurança de APIs (OWASP API Security Top 10)
Voltar para Learn
FAACCapítulo 25

Fundamentos e Arquitetura de APIs Corporativas

Segurança de APIs (OWASP API Security Top 10)

Ameaças, falhas de autorização, abuso de negócio e controles técnicos para proteger APIs corporativas

Edição aprofundada - material de estudo e consulta profissional

Defesa em profundidade protegendo identidades, gateways, backends e dados de APIs

Security Top 10: riscos conectados ao ciclo completo da

Dez riscos do OWASP API Security Top 10 conectados ao ciclo de vida da API
Figura de abertura - Os dez riscos representam classes de falhas que atravessam design, implementação, e operação.

Princípio central

O reduz exposição, mas a autorização e a lógica segura precisam existir em todas as camadas.

Edição aprofundada - material de estudo e consulta profissional

Apresentação do capítulo

O capítulo anterior detalhou o Azure Management e mostrou como aplicam policies, limites, autenticação, roteamento e observabilidade. Este capítulo amplia a visão: segurança de não é uma funcionalidade exclusiva do . A pode estar perfeitamente protegida por e ainda permitir que um usuário autenticado leia objetos de outro cliente, modifique campos proibidos ou execute uma operação administrativa indevida.

O Security Top 10 organiza os riscos mais relevantes para em uma linguagem prática. A edição de 2023 destaca falhas de autorização em objetos, autenticação, propriedades, funções e fluxos sensíveis; consumo irrestrito de recursos; ; configurações inseguras; inventário inadequado; e confiança excessiva em de terceiros. Essas categorias ajudam equipes de produto, arquitetura, desenvolvimento, segurança e operação a construir um vocabulário comum.

O objetivo não é transformar o Top 10 em checklist superficial. Cada risco representa uma família de causas, condições de exploração e impactos. Para compreendê-los, é necessário relacionar identidade, autorização, , limites operacionais, comportamento de negócio, topologia de rede, dependências externas e ciclo de vida. O capítulo também diferencia controles preventivos, detectivos e responsivos, mostrando o papel específico de , WAFs, e processos de governança.

Os exemplos utilizam cenários corporativos e bancários sem expor ambientes reais. O leitor deverá sair capaz de reconhecer padrões vulneráveis, formular hipóteses de ataque, propor controles em múltiplas camadas e transformar achados em requisitos verificáveis de engenharia.

Como estudar este capítulo

Para cada categoria, separe quatro dimensões: ativo protegido, condição vulnerável, ação do atacante e controle verificável. Depois, identifique qual parte pertence ao , qual pertence ao e qual depende de governança ou processo.

Objetivos de aprendizagem

  • Explicar o propósito e as limitações do Security Top 10.
  • Identificar as diferenças entre autorização de objeto, propriedade e função.
  • Reconhecer falhas de autenticação e gestão de , sessões e credenciais.
  • Projetar limites contra consumo irrestrito de recursos e abuso de fluxos de negócio.
  • Compreender , configurações inseguras, inventário inadequado e consumo inseguro de .
  • Relacionar cada risco a controles em código, , , rede, identidade e observabilidade.
  • Aplicar , testes de segurança e evidências de CI/CD ao ciclo de vida.
  • Construir estratégias de hardening, monitoramento, resposta e melhoria contínua.

Estrutura do capítulo

  • 25.1 Modelo de segurança e uso responsável do Top 10
  • 25.2 API1: Broken Object Level Authorization
  • 25.3 API2: Broken Authentication
  • 25.4 API3: Broken Object Property Level Authorization
  • 25.5 API4: Unrestricted Resource Consumption
  • 25.6 API5: Broken Function Level Authorization
  • 25.7 API6: Unrestricted Access to Sensitive Business Flows
  • 25.8 API7: Server Side Forgery
  • 25.9 API8: Security Misconfiguration
  • 25.10 API9: Improper Inventory Management
  • 25.11 API10: of
  • 25.12 Controles de e defesa em profundidade
  • 25.13 Testes, observabilidade e resposta
  • 25.14 Estudos de caso e laboratórios
  • Resumo, checklist, exercícios, glossário e referências

25.1 Modelo de segurança e uso responsável do Top 10

O Top 10 é um documento de conscientização e priorização, não uma especificação completa de segurança. Uma pode estar vulnerável a riscos que não aparecem na lista, e a ausência de achados no Top 10 não prova segurança. O uso correto combina , requisitos de proteção, arquitetura, testes, revisão de código, gestão de dependências, telemetria e resposta a incidentes.

expõem operações diretamente consumíveis por software. Isso amplia automação do atacante, velocidade de enumeração e capacidade de encadear falhas. Identificadores em paths, queries e podem ser alterados em grande escala; permitem explorar propriedades não previstas; e fluxos legítimos podem ser abusados sem qualquer malformado. Por isso, segurança de exige observar intenção e contexto, não apenas sintaxe.

A defesa em profundidade distribui responsabilidades. O reduz tráfego malicioso conhecido; o valida , quotas e contratos; o aplica autorização vinculada ao domínio; o banco limita acesso; e a observabilidade detecta padrões anômalos.

Nenhuma dessas camadas substitui as outras. Um controle de borda pode ser contornado por tráfego interno, enquanto uma falha de negócio pode parecer perfeitamente válida para um filtro genérico.

Defesa em profundidade para

Consumidor, WAF, API Gateway, backend e dados como camadas de defesa em profundidade
Figura 1 - Segurança de é um sistema de controles complementares, não um produto isolado.
Tabela 1 - Cada camada protege um conjunto diferente de decisões.
CamadaControle característicoLimitação
WAF / bordaReputação, assinaturas, proteção volumétrica.Pouco contexto de domínio e ownership.
API GatewayToken, schema, quotas, roteamento e auditoria.Não conhece toda a regra de negócio.
BackendAutorização fina, invariantes e validações.Pode depender de identidade e contexto corretos.
Dados / terceirosMenor privilégio e restrição de saída.Não substitui controles da aplicação.

25.2 API1: Broken Object Level Authorization -

Broken Object Level Authorization ocorre quando uma operação recebe um identificador de objeto e não verifica se o sujeito autenticado possui permissão sobre aquele objeto específico. O atacante não precisa quebrar autenticação: ele utiliza a própria conta, altera um ID e tenta acessar conta, contrato, documento, pedido ou recurso pertencente a outra pessoa ou organização.

O erro comum é interpretar autenticação como autorização. Saber quem fez a chamada não responde se esse sujeito pode ler ou modificar o objeto solicitado. e identificadores aleatórios reduzem previsibilidade, mas não são controle de acesso. IDs podem aparecer em , links, respostas, dispositivos ou integrações, e a autorização precisa ser aplicada independentemente da dificuldade de adivinhação.

A defesa mais robusta é vincular a busca ao contexto autorizado. Em vez de carregar um objeto apenas por ID e checar depois, o repositório pode buscar por ID, tenant e sujeito autorizado, retornando ausência quando a relação não existe. Políticas centralizadas ajudam, mas precisam receber atributos suficientes. Testes devem variar usuário, tenant, papel, objeto e método para encontrar inconsistências.

Usuário autenticado tentando acessar objeto pertencente a outro cliente
Figura 2 - A verificação deve relacionar o objeto ao sujeito e ao tenant, não apenas validar o .

Exemplo conceitual de autorização por objeto

// Padrão vulnerável
conta = repositorio.buscarPorId(idDaRequisicao)
return conta
// Padrão defensivo
conta = repositorio.buscarPorIdETitular(idDaRequisicao, subjectDoToken)
if conta == null: negarAcesso()

25.3 API2: Broken Authentication

Broken Authentication reúne falhas que permitem assumir ou manter a identidade de outro usuário, aplicação ou workload. Exemplos incluem credenciais fracas, de login sem proteção contra automação, previsíveis, validação incompleta de assinatura ou , recuperação de senha insegura, sessões que não expiram e reutilizáveis sem detecção.

Em modernas, a autenticação normalmente envolve mais de um sistema: cliente, authorization server, e . A validação precisa confirmar algoritmo, assinatura, issuer, audience, expiração, tipo de e contexto de uso. Aceitar um onde se espera , ignorar audience ou confiar em chaves obtidas de origem não validada são falhas de desenho, não apenas de implementação.

Controles incluem para operações adequadas, , rotação de , proteção contra , limitação de tentativas, revogação, detecção de anomalias, armazenamento seguro de segredos e prova de posse quando o risco justificar. Mensagens de erro devem evitar enumeração de contas, e fluxos de recuperação precisam ter segurança equivalente ao login principal.

Tabela 2 - Autenticação segura depende do protocolo e de sua operação completa.
FalhaImpactoControle
Issuer ou audience não validadosToken de outro contexto é aceito.Validação estrita e configuração por ambiente.
Refresh token sem rotaçãoRoubo mantém acesso prolongado.Rotação e detecção de reutilização.
Login sem proteçãoCredential stuffing e takeover.Rate limiting, MFA e detecção de risco.
Segredo no código ou logComprometimento do cliente.Vault, rotação e mascaramento.

25.4 API3: Broken Object Property Level Authorization

Essa categoria reúne falhas de autorização no nível das propriedades de um objeto. Na leitura, a pode retornar campos que o usuário não deveria enxergar. Na escrita, pode aceitar propriedades que o consumidor não deveria controlar. A edição de 2023 combina problemas historicamente descritos como excessive data exposure e .

Um exemplo de leitura insegura é devolver o objeto completo da entidade e esperar que o front-end esconda CPF, limite interno, de fraude ou dados administrativos. O consumidor controla a requisição e pode observar a resposta bruta. Na escrita, vincular automaticamente o recebido a uma entidade permite que campos como role, status, ownerId ou approved sejam alterados por quem não possui autorização.

A solução usa modelos de entrada e saída específicos, allowlists de campos, autorização por propriedade, serialização contextual e validação de . exige atenção especial porque campos sensíveis podem existir no e precisar de autorização própria. No , validação e transformação ajudam, mas o deve controlar a verdade do domínio.

que exige allowlist de propriedades editáveis

{
  "nome": "Cliente Exemplo",
  "email": "cliente@example.com",
  "role": "admin",
  "limiteAprovado": 1000000
}

Regra prática

Nunca exponha ou aceite automaticamente todas as propriedades de uma entidade persistida. Contratos de devem ser projeções explícitas, orientadas ao caso de uso e ao nível de autorização.

25.5 API4: Unrestricted Resource Consumption

consomem CPU, memória, threads, conexões, armazenamento, banda e serviços cobrados por uso. Quando não existem limites coerentes, um atacante pode provocar indisponibilidade ou custo excessivo enviando muitas requisições, grandes, consultas complexas, uploads, exportações ou operações que acionam terceiros caros.

por requisição é apenas uma parte. É necessário controlar tamanho de corpo e resposta, profundidade de , duração, concorrência, paginação, número de itens, compressão, quantidade de conexões e custo acumulado por operação. Uma chamada de relatório pode custar milhares de vezes mais que uma leitura simples, portanto limites uniformes podem proteger mal o sistema.

O desenho deve combinar quotas por identidade e tenant, , bulkheads, , filas, limites de conexão e circuit breakers. Métricas precisam distinguir rejeição protetiva de erro interno. Em cloud, alertas de custo e budgets também integram a proteção, pois abuso pode aparecer primeiro na fatura antes de causar indisponibilidade visível.

Tabela 3 - Consumo precisa ser medido pelo custo real da operação.
RecursoAbuso possívelControle técnico
CPU / memóriaQuery complexa, regex cara, decompression bomb.Complexidade, tamanho e timeout.
ConexõesSockets persistentes ou pool esgotado.Limite de concorrência e idle timeout.
ArmazenamentoUploads e logs excessivos.Quota, retenção e tamanho máximo.
Serviço pagoSMS, mapas, IA ou antifraude.Budget, rate por fluxo e aprovação.

25.6 API5: Broken Function Level Authorization

Broken Function Level Authorization ocorre quando um usuário consegue invocar uma função que deveria estar restrita a outro papel, grupo ou contexto. A diferença para é o foco: pergunta se o usuário pode acessar aquele objeto; pergunta se pode executar aquela função, independentemente do objeto.

administrativos ocultos, mudanças de método e caminhos previsíveis são vetores comuns. Um usuário pode trocar por , chamar /admin, reutilizar uma operação observada no portal ou invocar diretamente uma função que a interface visual não exibe. Esconder o botão ou o não é autorização.

Controles incluem , matriz de permissões por função, testes negativos, separação de superfícies administrativas e validação consistente em todos os métodos. O pode aplicar e roles, mas decisões de domínio podem depender de estado, alçada, valor da transação ou segregação de funções, exigindo avaliação no ou PDP.

Tabela 4 - Os três níveis de autorização devem ser testados separadamente.
Objeto da decisãoPerguntaExemplo
Objeto - BOLAEste sujeito pode acessar esta conta?GET /contas/123
Função - BFLAEste sujeito pode encerrar contas?POST /contas/123/encerrar
Propriedade - BOPLAEste sujeito pode alterar este campo?PATCH role ou limite

25.7 API6: Unrestricted Access to Sensitive Business Flows

Alguns fluxos são legítimos do ponto de vista técnico, mas valiosos para abuso automatizado. Compra de ingressos, criação de contas, solicitação de crédito, resgate de benefícios, envio de códigos, reservas e comentários podem ser explorados em escala por bots, mesmo que cada requisição tenha válido e usuário autenticado.

O problema exige modelar intenção e economia do fluxo. Um limite genérico por pode falhar quando o atacante distribui requisições. A proteção pode exigir vínculo com identidade forte, limites por pessoa e dispositivo, detecção comportamental, filas, step-up, prova de humanidade, regras antifraude e restrições específicas por etapa.

Não existe controle universal. O time precisa identificar fluxos sensíveis durante , estimar como geram valor para o atacante e definir sinais de abuso. de negócio, taxas de conversão, tentativas por entidade e padrões temporais são mais úteis que somente métricas técnicas de .

Diferença essencial

Abuso de fluxo de negócio pode usar requisições perfeitamente válidas. e validação de raramente bastam; o controle precisa compreender a finalidade da operação e a identidade econômica do ator.

25.8 API7: Server Side Forgery -

ocorre quando a busca um recurso remoto usando uma ou destino influenciado pelo usuário sem restrições adequadas. O servidor possui conectividade e identidade diferentes do cliente, podendo alcançar metadata de nuvem, painéis internos, serviços administrativos, loopback ou redes privadas inacessíveis diretamente ao atacante.

Casos comuns incluem importação por , , validação de imagens, conversão de documentos e . Validar apenas o esquema não resolve: nomes podem resolver para endereços privados, redirects podem mudar o destino e representações alternativas de podem contornar filtros ingênuos. rebinding e diferenças entre validação e conexão ampliam o risco.

A defesa preferida é allowlist de destinos e rotas de saída específicas. Quando arbitrárias são necessárias, use resolver controlado, bloqueio de ranges privados e especiais, revalidação após redirects, proteção contra mudança de , de egress e identidade mínima. A resposta remota deve ser limitada em tamanho, tipo e tempo.

Exemplo conceitual de tentativa de

POST /importar-documento
{
  "url": "http://169.254.169.254/metadata/..."
}
# A entrada parece uma URL, mas o destino alcançado pelo servidor
# pode expor serviços internos ou credenciais de infraestrutura.

25.9 API8: Security Misconfiguration

Security Misconfiguration cobre configurações inseguras em qualquer camada: permissivo, fraco, de debug, mensagens detalhadas, credenciais padrão, ausentes, serviços desnecessários, permissões excessivas, buckets públicos, administração exposta e policies inconsistentes entre ambientes.

são compostas por muitos componentes e o risco emerge das interações. Um pode validar corretamente, mas confiar em um de identidade enviado pelo cliente. Um pode estar protegido na borda e exposto diretamente por outro endereço. Uma policy segura pode existir em produção, mas não no workspace ou na operação específica por causa de herança incorreta.

A solução depende de baselines versionadas, infrastructure as code, revisão de mudanças, scanners de configuração, separação de ambientes, gestão de segredos e testes pós- . Erros devem ser padronizados sem stack ou detalhes internos. Recursos administrativos precisam de rede e identidade próprias.

Tabela 5 - Configuração efetiva deve ser verificada, não apenas o arquivo pretendido.
ÁreaExemplo de misconfigurationEvidência
TLSVersão ou cipher inadequado.Handshake e configuração do listener.
CORSOrigem refletida com credenciais.Headers preflight e policy.
GatewayHeader interno confiado sem remoção.Trace e configuração efetiva.
BackendEndpoint direto público.DNS, scan autorizado e firewall.

25.10 API9: Improper Inventory Management

Inventário inadequado ocorre quando a organização não sabe quais , versões, hosts, ambientes, operações e dependências estão ativos. Shadow , versões antigas, de teste e documentação divergente mantêm superfícies vulneráveis fora do processo de governança.

O inventário precisa relacionar owner, classificação de dados, consumidores, versão, ambiente, hostname, , autenticação, data de depreciação e telemetria. Descoberta de tráfego pode complementar catálogo, pois documentação não prova que apenas os conhecidos estão acessíveis. , ingress, , repositórios e observabilidade devem ser correlacionados.

Versões retiradas precisam ser realmente desativadas em toda a cadeia. Manter v1 sem suporte por medo de quebrar consumidores acumula risco. Uma política de lifecycle com Deprecation, Sunset, comunicação, evidência de uso e desligamento controlado reduz superfícies órfãs.

Segurança acompanhando design, build, deploy, run e retire no ciclo da API
Figura 3 - Segurança acompanha a desde o design até a retirada, com inventário como eixo de governança.

25.11 API10: of

Uma aplicação pode aplicar validação rigorosa a clientes externos e confiar excessivamente em de parceiros, fornecedores ou serviços internos. of ocorre quando dados e comportamentos vindos dessas dependências são tratados como seguros, permitindo injeção, indireto, corrupção de dados, indisponibilidade ou comprometimento da cadeia.

A comunicação autenticada e criptografada apenas prova o canal e a identidade do peer; não garante que a resposta seja correta ou não comprometida. Respostas de terceiros precisam de , limites de tamanho, , validação semântica, tratamento seguro de redirects e encoding. Bibliotecas de cliente, certificados, e configuração de também integram a superfície.

Arquiteturas resilientes usam egress controlado, allowlists, circuit breakers, isolamento, contratos, observabilidade por dependência e menor privilégio. Segredos enviados ao parceiro devem ser específicos e rotacionáveis. Dados retornados nunca devem ser concatenados em SQL, comandos, templates ou sem tratamento apropriado.

Tabela 6 - Dependências devem ser tratadas como fronteiras de confiança.
DependênciaRiscoControle
API de parceiroResposta maliciosa ou inesperada.Schema, validação e isolamento.
Webhook recebidoOrigem forjada e replay.Assinatura, timestamp e idempotência.
SDK / bibliotecaComportamento ou cadeia comprometida.SBOM, pinning e atualização controlada.
Serviço internoConfiança implícita lateral.mTLS, autorização e egress policy.

25.12 Controles de e defesa em profundidade

O é uma camada privilegiada para aplicar controles uniformes: autenticação, validação de , , limite de , quotas, , remoção de , roteamento, , observabilidade e bloqueio de versões. Ele também oferece um ponto de contenção para resposta a incidentes. Contudo, não deve ser transformado em único mecanismo de autorização de domínio.

, autorização por propriedade e fluxos sensíveis normalmente exigem dados que só o conhece. O pode validar e , mas , alçada, estado do objeto e segregação de função precisam ser avaliados no serviço ou em um PDP com contexto suficiente. A política deve negar por padrão e propagar identidade de forma não falsificável.

Controles também precisam preservar diagnósticos. Rejeições devem registrar regra, identidade, operação, tenant e correlação sem expor segredo. Métricas de 401, 403, 429, violations e bloqueios ajudam a detectar ataques, mas precisam ser contextualizadas para diferenciar abuso de falha de integração.

Tabela 7 - O gateway é importante, mas não substitui segurança da aplicação.
RiscoGateway contribui comBackend / processo precisa garantir
API1 / API3 / API5Identidade, scopes e contrato.Ownership, função e propriedades autorizadas.
API4 / API6Limites, quotas e telemetria.Custo real e regras de negócio.
API7Egress policy e URL policy quando suportado.Validação de destino e isolamento.
API8 / API9Baseline e publicação controlada.Inventário, lifecycle e configuração completa.
API10mTLS, allowlist e timeout.Validação da resposta e confiança mínima.

25.13 Testes, observabilidade e resposta

Testes de segurança precisam explorar contexto, não apenas . Para autorização, use matrizes com usuários, papéis, tenants, objetos, propriedades, estados e métodos. Para autenticação, teste expirados, issuer incorreto, audience diferente, algoritmos e revogação. Para limites, meça comportamento sob concorrência, grandes e operações caras em ambiente autorizado.

Automação de CI/CD pode executar linting de , SAST, SCA, testes de contrato, scanners DAST e políticas de infraestrutura. Ainda assim, achados automáticos precisam de validação. Ferramentas identificam padrões, mas dificilmente compreendem todos os fluxos sensíveis e relações de . Revisões manuais e permanecem necessários.

Observabilidade deve capturar sinais técnicos e de negócio: identidade, tenant, operação, objeto lógico, status, latência, tamanho, custo, rejeição, e correlação. Alertas devem buscar anomalias, como enumeração de IDs, aumento de 403, criação acelerada de contas ou chamadas a destinos incomuns. O plano de resposta precisa permitir revogar credenciais, bloquear rotas, reduzir limites e preservar evidências.

Teste responsável

Testes ofensivos devem ocorrer somente em ambientes e escopos explicitamente autorizados. Use dados sintéticos, limites controlados e plano de para evitar impacto a usuários e sistemas produtivos.

25.14 Estudos de caso e laboratórios

Estudo de caso 1 - em Open Finance: um consulta consentimento por identificador. O é válido, mas o serviço não verifica se o consentimento pertence ao cliente e ao participante corretos. A correção inclui consulta por consentId, subject e organização, além de testes cruzados e de decisão.

Estudo de caso 2 - abuso de fluxo: um de simulação de crédito chama serviços pagos e permite alto volume por contas recém-criadas. por não funciona contra distribuição. A defesa combina limite por pessoa, dispositivo, tenant, custo por operação, detecção comportamental e filas.

Estudo de caso 3 - de parceiro: um serviço de documentos aceita externa e segue redirects. Um domínio permitido redireciona para endereço privado. A correção usa egress , resolução e validação do final, bloqueio de redes especiais, limite de redirects e resposta máxima.

Laboratórios sugeridos

1) Construa uma matriz de autorização para objeto, função e propriedade. 2) Modele limites por custo para três operações. 3) Revise uma especificação em busca de campos sensíveis e órfãos. 4) Desenhe uma arquitetura de egress segura contra . 5) Crie alertas para enumeração, abuso e aumento de rejeições.

Resumo do capítulo

O Security Top 10 2023 organiza riscos que aparecem de forma recorrente em . As primeiras categorias destacam que autenticação e autorização precisam operar em níveis diferentes: objeto, propriedade, função e fluxo de negócio. Outros riscos tratam consumo de recursos, , configuração, inventário e dependências externas.

A proteção efetiva combina controles em borda, , , dados e processos. O padroniza políticas e reduz exposição, mas não conhece sozinho , estado e intenção de negócio. Desenvolvimento seguro, , inventário e observabilidade são indispensáveis.

O Top 10 deve orientar perguntas e prioridades, não servir como certificado de segurança. Uma plataforma madura transforma cada risco em requisitos, testes, métricas, evidências e planos de resposta, mantendo a proteção durante todo o ciclo de vida da .

Próximo passo do curso

O próximo capítulo aprofunda , CSP, e outros cabeçalhos , mostrando como políticas de navegador e transporte complementam a segurança das e aplicações web.

Checklist de segurança de

  • Toda operação que recebe um ID verifica , tenant e contexto de autorização.
  • Input e output usam modelos explícitos e allowlists de propriedades.
  • são validados por assinatura, issuer, audience, tempo e tipo.
  • Funções administrativas possuem e testes negativos.
  • Operações têm limites de tamanho, tempo, concorrência, custo e paginação.
  • Fluxos sensíveis possuem proteção contra automação e abuso econômico.
  • Chamadas de saída usam allowlists, egress controlado e bloqueio de redes especiais.
  • Configuração efetiva é versionada, revisada e testada após .
  • Inventário contém owner, versão, ambiente, dados, consumidores e data de retirada.
  • Respostas de terceiros são validadas e tratadas como não confiáveis.
  • e preservam correlação sem registrar credenciais ou dados sensíveis.
  • Há processo para revogar, bloquear, reduzir limites e responder a incidentes.

Exercícios

  • Diferencie , e autorização por propriedade com exemplos.
  • Explique por que não é controle de autorização.
  • Liste validações necessárias para um .
  • Projete limites para uma operação de exportação de relatório.
  • Descreva como um fluxo tecnicamente válido pode ser abusado por bots.
  • Proponha controles contra em uma funcionalidade de importação por .
  • Identifique riscos de confiar em um de identidade vindo do cliente.
  • Monte um inventário mínimo para corporativas.
  • Descreva como validar respostas de uma de parceiro.
  • Crie uma estratégia de telemetria para detectar enumeração de objetos.

Glossário

Tabela 8 - Vocabulário essencial do capítulo.
TermoDefinição
BOLABroken Object Level Authorization; falha de autorização sobre um objeto específico.
BFLABroken Function Level Authorization; acesso indevido a uma função ou operação.
BOPLABroken Object Property Level Authorization; exposição ou alteração indevida de propriedades.
Credential stuffingUso automatizado de credenciais vazadas em outros serviços.
Deny by defaultPrincípio de negar acesso quando não existe permissão explícita.
Egress controlControle de destinos que uma aplicação pode acessar.
Mass assignmentVinculação automática de campos de entrada a propriedades internas.
OwnershipRelação que determina quem pode acessar ou modificar um objeto.
Rate limitingRestrição de frequência de chamadas em uma janela.
Sensitive business flowFluxo legítimo que produz valor e pode ser abusado em escala.
Shadow APIAPI ativa fora do inventário ou da governança oficial.
SSRFServer Side Request Forgery; indução do servidor a acessar destinos indevidos.
Threat modelingAnálise estruturada de ativos, ameaças, superfícies e controles.
Unsafe consumptionConfiança excessiva em dados e comportamento de APIs dependentes.

Referências técnicas

  • Security Project. Security Top 10 - 2023.
  • . API1:2023 - Broken Object Level Authorization.
  • . API2:2023 - Broken Authentication.
  • . API3:2023 - Broken Object Property Level Authorization.
  • . API4:2023 - Unrestricted Resource Consumption.
  • . API5:2023 - Broken Function Level Authorization.
  • . API6:2023 - Unrestricted Access to Sensitive Business Flows.
  • . API7:2023 - Server Side Forgery.
  • . API8:2023 - Security Misconfiguration.
  • . API9:2023 - Improper Inventory Management.
  • . API10:2023 - of .
  • Application Security Verification Standard e Cheat Sheet Series.
  • . Secure Software Development - SSDF.
  • . 9110 - Semantics.

Nota de atualização

Este capítulo utiliza a edição 2023 do Security Top 10, publicada pelo projeto oficial. A lista deve ser revisitada quando novas edições forem lançadas, sem abandonar controles derivados de riscos que continuem relevantes.