Bug bounty ou pentest, eis a questão!

Views: 297
0 0
Read Time:5 Minute, 6 Second

Realizar testes de intrusão (pentest) ou abrir um programa de bug bounty — afinal, qual das duas opções é a mais adequada para a sua empresa? Essa é uma discussão tão antiga quanto a origem de ambos os conceitos, mas que vem se tornando cada vez mais comum especialmente por conta das novas plataformas de bug hunting que nascem no mercado, tornando tal opção mais atraente para orçamentos apertados. Afinal, existe um caminho correto a se seguir? Tudo depende de cada situação.

Antes de mais nada, vale a pena reviver a origem das duas práticas. Mais conhecido e comum, o pentesting tem suas origens na década de 60, bem nos primórdios da computação científica. Em uma conferência sobre computação militar, o termo “penetração” foi usado pela primeira vez para descrever um ataque contra um sistema computacional, e, em pouco tempo, uma força-tarefa foi formada com membros de diversas agências federais dos EUA (incluindo a NSA e a CIA) para encontrar falhas nos sistemas utilizados no país.

Já o termo bug bounty é bem mais jovem e sua criação é um tanto engraçada. Em 1983, a Hunter & Ready, desenvolvedora do sistema operacional Versatile Real-Time Executive (VRTE), começou a veicular propagandas dizendo que quem encontrasse um bug em seu SO seria premiado com um Volkswagen Fusca — que lá fora se chama Volkswagen Beetle (besouro, ou seja, um inseto). Assim, quem achasse um bug ganharia um “bug”.

A publicidade era esperta, mas a H&R estava apenas brincando, já que confiava demais na integridade de seu software (descrevendo “mais de 100 mil horas de desenvolvimento e testes humanos”) e propôs o desafio apenas para fins de marketing próprio. O prêmio real, caso algum bug fosse realmente encontrado, era de “apenas” US$ 1 mil.

Porém, foi com tal inspiração que Jarrett Ridlinghafer, um engenheiro de suporte técnico da Netscape, cunhou o termo “bug bounty” em 1995. Ele percebeu que havia uma oportunidade de ouro na comunidade de fãs do navegador e criou o Netscape Bugs Bounty Program para recompensar em dinheiro aqueles que, até então, reportavam falhas no programa gratuitamente. A diretoria da empresa não curtiu muito a ideia, mas Jarrett conseguiu uma verba de US$ 50 mil para tocar a proposta. Foi um sucesso.

Ok, mas o que exatamente é cada um?

A prática de pentesting ou teste de intrusão se baseia em usar técnicas de segurança ofensiva para encontrar vulnerabilidades em um software, appliance etc. de forma controlada, através de uma equipe que usará táticas e técnicas reais de cibercriminosos para garantir que não haja “buracos” que possam ser usados por meliantes de verdade. Essa equipe pode ser formada por profissionais internos (situação na qual costumamos chamá-los de red team) ou por um time de consultoria terceirizado.

Esses testes ocorrem dentro de uma janela temporal bem específica e são sazonais, o que significa que você pode, por exemplo, contratar pentesters para virarem seu software ao avesso durante uma semana a cada semestre. Ao final das experimentações, eles lhe entregarão um relatório que listará todos os problemas encontrados, tal como orientações de como corrigi-los. Se a equipe for interna (red team), o time dedicado a estudar esse relatório e aplicar as correções é chamado de blue team.

Já o bug bounty é a prática de criar um programa aberto no qual qualquer pessoa poderá tentar encontrar falhas no seu ambiente computacional — claro, sempre respeitando limites e sem causar danos ao seu ecossistema de trabalho. Ao encontrar algum bug, o pesquisador deve notificá-lo com uma descrição elaborada do problema, junto com uma prova-de-conceito (PoC). Se os seus desenvolvedores confirmarem o erro, o pesquisador é recompensado com um prêmio em dinheiro pré-definido.

Diferente do pentest, um programa de bug bounty costuma ser perpétuo. A empresa lista os valores a serem oferecidos de acordo com o nível de criticidade do bug e, para facilitar, pode contratar uma plataforma que gerencia o intermédio entre o recebimento das notificações privadas (conhecidas como reports), reconhecimento do problema, correção da brecha, pagamento ao pesquisador e autorização — ou não, depende de sua preferência — para que ele comente publicamente sobre o incidente.

Investimento x Tempo

Levando em consideração tais características, é comum que as empresas enxerguem o bug bounty como a solução mais prática e barata — afinal, você só gastará dinheiro se uma vulnerabilidade for, de fato, encontrada. Ademais, não precisa se preocupar em contratar um red team ou contratar uma consultoria especializada, o que lhe dá mais tempo para focar em seu core business. Essa visão está parcialmente correta: é preciso pensar em vários outros detalhes caso um orçamento apertado seja a sua principal preocupação.

Primeiramente, você terá uma equipe com disponibilidade de tempo para lidar com os reports (que, muitas vezes, são submetidos em duplicata por dois ou mais pesquisadores que o encontraram em um curto intervalo de tempo)? Se o seu budget é limitado, as recompensas oferecidas serão atraentes o suficiente para recompensar os caçadores? E, mais importante ainda: se o seu produto nunca passou por uma auditoria de segurança, você está pronto para receber centenas de notificações e corrigir vários bugs?

O pentesting pode demandar um investimento inicial mais alto, mas lembre-se: ele é um conjunto de testes em um ambiente controlado. Sendo assim, trata-se de uma excelente auditoria inicial que lhe ajudará a encontrar os principais problemas existentes no seu ambiente, dando tempo o suficiente para a sua equipe consertá-los com a devida atenção. A facilidade com a qual as brechas são descritas em um relatório profissional também ajuda bastante nesse quesito.

Após tampar os buracos maiores, aí sim, o bug bounty pode ser uma excelente opção para garantir a continuidade da segurança de um software ou aplicação. Ainda assim, lembre-se de que será necessário ter ao menos um profissional dedicado a analisar os reports e respondê-los o mais rápido possível. No fim das contas, as duas abordagens — bug bounty e pentesting — possuem a mesma finalidade, mas têm suas vantagens e desvantagens, podendo ser aplicadas de forma complementar para reduzir riscos ao máximo.

FONTE: THE HACK

POSTS RELACIONADOS