Controlo de acesso quebrado
O que é Controlo de acesso quebrado?
Controlo de acesso quebradoClasse de vulnerabilidades em que as regras de autorização estão em falta ou são aplicadas incorretamente, permitindo a utilizadores realizar ações ou aceder a dados fora dos seus privilégios.
O controlo de acesso quebrado subiu para a posição nº 1 do OWASP Top 10 (2021), surgindo em 94% das aplicações testadas pelo OWASP e mapeando para 34 CWEs, incluindo CWE-284, CWE-639 e CWE-862 (Missing Authorization). Ocorre quando uma aplicação não aplica de forma consistente quem pode fazer o quê — ausência de verificações no servidor, dependência de URLs ocultos (segurança pela obscuridade), confiança em informação de papéis fornecida pelo cliente ou exposição de referências diretas a objetos sem verificação de propriedade.
Como corre mal
A autorização tem de ser reavaliada no servidor em cada pedido. A falha comum é aplicá-la apenas na interface ou no gateway, confiando depois no identificador enviado pelo cliente. O atacante limita-se a reenviar o pedido com um ID de objeto, parâmetro de papel ou método HTTP diferente.
flowchart TD
A[Pedido: GET /api/invoice/1043] --> B{Autenticado?}
B -->|Não| R[401 Rejeitar]
B -->|Sim| C{Verificação de propriedade / papel<br/>aplicada no servidor?}
C -->|Ausente| L[Devolve a fatura 1043<br/>mesmo que pertença a outro inquilino]
C -->|Presente| D{O sujeito é dono<br/>ou tem papel para o objeto?}
D -->|Não| F[403 Proibido]
D -->|Sim| G[200 Devolver recurso]
L --> X[Controlo de acesso quebrado:<br/>IDOR / divulgação de dados]Incidentes reais
A violação da First American Financial (2019) expôs cerca de 885 milhões de documentos hipotecários através de um IDOR clássico — os URLs sequenciais não exigiam qualquer autenticação. A violação da Optus (2022, Austrália) expôs cerca de 9,8 milhões de registos de clientes através de um endpoint de API não autenticado. O USPS Informed Visibility (2018) permitia a qualquer utilizador autenticado consultar os dados de conta de terceiros através de uma API desprotegida.
Defesas
Utilize middleware de autorização centralizado e com negação por defeito; aplique a verificação de propriedade em cada ação no servidor; prefira identificadores opacos ou com scope; registe as falhas de controlo de acesso e alerte para anomalias; desative a listagem de diretórios; invalide o scope de JWT/sessão no servidor; e cubra os caminhos de autorização com testes de integração e DAST contínuo, em vez de verificações manuais pontuais.
● Exemplos
- 01
Utilizador comum a chamar /api/admin/users sem verificação de papel e a receber listas completas.
- 02
Alterar o UUID de um documento no URL e ler a fatura de outro cliente.
● Perguntas frequentes
O que é Controlo de acesso quebrado?
Classe de vulnerabilidades em que as regras de autorização estão em falta ou são aplicadas incorretamente, permitindo a utilizadores realizar ações ou aceder a dados fora dos seus privilégios. Pertence à categoria Vulnerabilidades da cibersegurança.
O que significa Controlo de acesso quebrado?
Classe de vulnerabilidades em que as regras de autorização estão em falta ou são aplicadas incorretamente, permitindo a utilizadores realizar ações ou aceder a dados fora dos seus privilégios.
Como se defender contra Controlo de acesso quebrado?
As defesas contra Controlo de acesso quebrado costumam combinar controles técnicos e práticas operacionais, conforme detalhado na definição acima.
Quais são outros nomes para Controlo de acesso quebrado?
Nomes alternativos comuns: BAC, Bypass de autorização.