Broken Object Level Authorization (BOLA) – O que é?
O BOLA, traduzido para o português como Autorização Quebrada a Nível de Objeto, é um tipo específico de Quebra de Controle de Acesso (Top 1 na lista da OWASP para aplicações web). É uma vulnerabilidade idêntica à conhecida como IDOR (Insecure Direct Object Reference ou Referência Direta ao Objeto Insegura), que já esteve no Top 2 em uma das primeiras listas para aplicações web.
Pense no objeto como sendo o estado de um recurso da API, como um dado pessoal de um usuário, um comentário ou uma compra. Quando um objeto tem sua autorização quebrada, significa que alguém que não tem permissão sobre ele possa acessá-lo se referencia-lo diretamente, mesmo estando autenticado.
É como se houvesse um condomínio fechado em que todas as casas estivessem destrancadas. Um visitante malicioso pode conseguir a credencial de um morador para atravessar o portão do condomínio (autenticação). Uma vez dentro do condomínio, ele é capaz de entrar não só na casa do dono dessa credencial, como em qualquer casa, já que estão destrancadas (quebra na autorização).
Agora, imagine uma API em que você forneça seu CPF para obter seus dados financeiros. Se ela estiver vulnerável ao BOLA, para um agente malicioso obter dados de qualquer cliente, basta oferecer o CPF dele, mesmo que tenha se autenticado como outro. Como você pode ver, uma vez identificada, é uma vulnerabilidade fácil de explorar e escalar. E de grande impacto: sua aplicação vai desde vazar dados importantes a criar transações em nome de outras pessoas.
Ela também é bastante comum. Principalmente quando falamos de aplicações complexas, formadas por muitas APIs, desenvolvidas por diferentes times e com deploys frequentes, a probabilidade de algo ser posto em produção com essa falha em algum momento é alta. E por se tratar de uma falha na lógica de negócio, não é fácil detectar sua presença de forma escalável, seja em testes unitários ou a nível de análise de tráfego.
Quer conhecer as TOP 10 ameaças para APIs da OWASP? Baixe nosso Ebook Gratuito: API Security – Guia para Iniciantes