A BOLA (Autorização Interrompida em Nível de Objeto) é uma vulnerabilidade de segurança que é considerada a ameaça nº 1 para APIs (interfaces de programação de aplicações), de acordo com a lista dos 10 principais riscos de segurança de APIs do OWASP de 2023. A vulnerabilidade BOLA é uma falha no mecanismo de controle de acesso de uma aplicação web, que permite que os usuários acessem ou manipulem "objetos", como registros de banco de dados, arquivos ou outros recursos em um ambiente de TI. Quando o mecanismo da aplicação não impõe adequadamente os controles de acesso, usuários não autorizados têm permissão para executar ações em objetos que não deveriam ter permissão para acessar.
BOPLA (Autorização Interrompida em Nível de Propriedade de Objeto) é uma vulnerabilidade de segurança em APIs (interfaces de programação de aplicações) que, devido a verificações de autorização inadequadas, pode permitir que hackers visualizem ou manipulem as propriedades de objetos confidenciais. Isso pode resultar em perda de dados, exposição de dados confidenciais, escalonamento de privilégios ou apropriação indevida de contas. A BOPLA está em 3º lugar na lista dos 10 principais problemas de segurança de APIs do OWASP de 2023.
O que é a vulnerabilidade BOPLA?
As aplicações web recuperam dados e preenchem campos em páginas front-end consultando APIs para obter informações sobre objetos como registros ou arquivos de banco de dados. Cada objeto normalmente contém vários pontos de dados ou "propriedades". Por exemplo, o perfil associado a uma conta de usuário pode incluir propriedades como first_name, last_name, email_address, password, SSN_number e is_admin, que indica se o usuário tem privilégios administrativos.
Durante uma chamada de API, as APIs geralmente enviam mais informações do que as tecnicamente necessárias na resposta da API, deixando-as para a aplicação cliente extrair os dados de que precisa e renderizar uma visualização para o usuário. Essa vulnerabilidade cria riscos em um ponto de extremidade de API de duas maneiras diferentes:
Exposição excessiva de dados. Isso ocorre quando uma resposta de API inclui mais informações do que a chamada de API solicitada e, possivelmente, inclui informações confidenciais (senha e SSN_number neste exemplo) às quais um usuário ou aplicação não deve ter acesso. Quando se trata de respostas de API que são mostradas em um website ou aplicação, alguns dos dados excessivos estão apenas na própria resposta da API e podem ser extraídos facilmente.
Atribuição em massa. Isso ocorre quando um ponto de extremidade de API permite que um usuário não autorizado altere, adicione ou exclua o valor de uma propriedade de objeto. No registro de exemplo acima, quando a resposta da API revela desnecessariamente que existe uma propriedade is_admin, os invasores podem escalonar privilégios de maneira não autorizada alterando a propriedade is_admin para TRUE. Isso também pode permitir que eles façam alterações em outras propriedades ou acessem outros objetos que não devem ser capazes de acessar.
A BOPLA foi introduzida pela primeira vez na lista dos 10 principais problemas de segurança de APIs do OWASP de 2023, combinando essas duas ameaças anteriores de exposição excessiva de dados e atribuição em massa que apareceram separadamente nas listas anteriores.
O que é BOPLA versus BOLA?
A BOPLA está relacionado à BOLA (Autorização Interrompida em Nível de Objeto), que aparece no nº 1 na lista dos 10 principais problemas de segurança de APIs do OWASP. No entanto, BOLA se refere à autorização para acessar um objeto inteiro, enquanto BOPLA se refere a vulnerabilidades que afetam propriedades individuais dentro de um objeto.
A diferença entre BOLA (Autorização Interrompida em Nível de Objeto) e BOPLA é que BOLA se refere a um objeto inteiro, enquanto BOPLA se refere a uma propriedade dentro de um objeto.
Mesmo que uma API aplique autorização suficiente em nível de objeto para evitar ataques de BOLA, essas medidas podem não ser suficientes para proteger contra ataques de BOPLA. Para mitigar a vulnerabilidade BOPLA, as equipes devem adotar autorizações mais específicas que abranjam os objetos, bem como suas características, e também devem considerar os diferentes níveis de acesso nos objetos da API, que geralmente têm propriedades públicas e privadas.
Que danos um ataque de BOPLA pode causar?
Os ataques que se concentram na vulnerabilidade BOPLA podem permitir aos invasores:
- Alterar as propriedades dos objetos aos quais eles não devem ter acesso
- Visualizar dados confidenciais que devem ser proibidos de acessar
- Escalar privilégios para assumir contas
Por que as vulnerabilidades BOPLA são difíceis de detectar?
Tradicionalmente, as equipes de segurança contam com firewalls de aplicações web e gateways de API para defender APIs contra ameaças. No entanto, a segurança de gateway de API e WAFs não levam em conta a lógica de negócios e o contexto da API, tornando impossível identificar dados confidenciais enviados por uma API ou entender o nível de exposição que os ativos de dados individuais representam. Essas soluções de proteção de API também nem sempre conseguem distinguir entre chamadas legítimas e atividades mal-intencionadas. Por exemplo, uma chamada de API mal-intencionada que envia uma solicitação usando o método PUT com parâmetros adicionais aparecerá como uma chamada de API normal para um WAF ou gateway de API.
Para detectar vulnerabilidades BOPLA, as equipes de segurança precisam de tecnologia que possa identificar e relatar uma ampla variedade de tipos de dados confidenciais que podem ser incluídos em solicitações e respostas de API. As soluções superiores também devem rastrear atividades anômalas em que os invasores manipularam solicitações de API com parâmetros não autorizados. A capacidade de definir a linha de base e rastrear o acesso à API para cada ponto de extremidade e usuário pode ajudar a identificar o consumo excessivo e descobrir instâncias em que parâmetros adicionais em chamadas de API estão fora do comportamento normal. A segurança de APIs também deve ser capaz de detectar invasores que estão sondando APIs durante a fase de pesquisa de um ataque, à medida que buscam entender a estrutura e a lógica de negócios de uma API.
Como impedir ataques de BOPLA?
Garantir que o código seja seguro e que não haja problemas com a permissão de propriedade do objeto deve ser uma alta prioridade para os desenvolvedores. No entanto, as vulnerabilidades BOPLA estão ocorrendo cada vez mais em APIs de terceiros sobre as quais as equipes de segurança não têm controle.
Para evitar ataques de BOPLA, as equipes de segurança podem tomar várias etapas essenciais.
Ensine os desenvolvedores sobre código seguro . As equipes de segurança devem ajudar os desenvolvedores a entender a necessidade de atribuir permissões no nível de propriedade corretamente e, ao mesmo tempo, aplicar uma estratégia de autorização padronizada para todos os pontos de extremidade de API. O código seguro deve levar em conta o nível de autorização do usuário e os requisitos de autorização de todos os recursos de referência. As políticas de segurança devem controlar rigorosamente quais campos são editáveis por meio de listas de permissão. Os desenvolvedores também devem ser conservadores sobre a quantidade e os tipos de dados retornados nas respostas da API e devem incluir apenas os dados necessários para casos de uso bem compreendidos.
Zero Trust. A implementação do princípio de privilégio mínimo, um elemento fundamental de uma abordagem Zero Trust para a segurança, restringe os usuários ao nível mínimo de acesso necessário, ajudando a evitar ataques de BOPLA ou a limitar os danos que eles podem causar.
Descoberta. Ao identificar pontos de extremidade de API vulneráveis, as equipes podem alertar os desenvolvedores sobre problemas e informar os fornecedores quando suas APIs estão vulneráveis.
Monitoramento. Uma ferramenta de segurança de API pode monitorar o tráfego em busca de ataques, incluindo atribuição em massa, que exploram a vulnerabilidade BOPLA.
Autorização forte. Ao expor um objeto dentro de um ponto de extremidade de API, os processos de autorização devem garantir que o usuário tenha realmente permissão para acessar as propriedades do objeto. A adoção do RBAC (Controle de acesso baseado em função) garante que apenas indivíduos autorizados possam acessar propriedades específicas.
Auditorias e atualizações. A verificação e atualização contínuas das permissões ajuda a garantir que elas permaneçam atualizadas e precisas.
Perguntas frequentes
Uma API (interface de programação de aplicações) é um conjunto de protocolos e definições que permite que programas e componentes de software muito diferentes se comuniquem, troquem dados e compartilhem funcionalidades. Ao definir as maneiras como as aplicações interagem, as APIs permitem que diferentes sistemas de software solicitem e compartilhem informações que dão suporte a funções importantes no comércio eletrônico, pagamentos móveis, serviços de nuvem de redes sociais e muitas outras áreas da computação.
O Open Worldwide Application Security Project (OWASP) é uma organização sem fins lucrativos dedicada a melhorar a segurança de softwares. A cada ano, o OWASP publica uma lista dos 10 principais riscos de segurança para aplicações web e APIs. O relatório é compilado por uma equipe de especialistas em segurança de todo o mundo.
Por que os clientes escolhem a Akamai
A Akamai é a empresa de cibersegurança e computação em nuvem que potencializa e protege negócios online. Nossas soluções de segurança líderes de mercado, inteligência avançada contra ameaças e equipe de operações globais oferecem defesa em profundidade para garantir a segurança de dados e aplicações empresariais em todos os lugares. As abrangentes soluções de computação em nuvem da Akamai oferecem desempenho e acessibilidade na plataforma mais distribuída do mundo. Empresas globais confiam na Akamai para obter a confiabilidade, a escala e a experiência líderes do setor necessárias para expandir seus negócios com confiança.