Você já deve ter ouvido alguma notícia sobre vazamento de
dados, certo? Facebook, Yahoo, PSN, são só exemplos de algumas grandes empresas
que tiveram dados de usuários vazados. Independentemente da área de atuação,
qualquer tipo de aplicação web ou ambientes físicos com redes com acesso
externo, existe sempre o risco de ter vulnerabilidades expostas em decorrência
de atitudes de pessoas mal-intencionadas que tentam explorar falhas para ter
acesso a informações privilegiadas. É por isso que existe o Pentest.
O que é Pentest?
É uma ferramenta que faz testes de invasão em aplicações web
ou em uma rede, identificando vulnerabilidades e falhas de segurança. Algumas
ferramentas, quando encontram falhas, já indicam as melhores práticas para
solucionar o problema. Normalmente essas listas são fornecidas por projetos
abertos de segurança, como é o caso da OWASP.
Alguns exemplos de testes que essas ferramentas fazem...
Falhas de injeção (injection); cross-site scripting (xss);
erros de configuração; vulnerabilidade em cookies; componentes vulneráveis;
certificados digitais; headers de segurança; vazamento de dados sensíveis;
referência insegura e direta a objetos; encaminhamentos inválidos; falhas no
fluxo lógico da aplicação; erros criptográficos; cross-site request forgery.
Por que fazer Pentest?
Esta é uma medida eficaz de segurança, pois entrega todas as
falhas encontradas em suas aplicações. Imagine um E-Commerce, deixaria os dados
do seu cartão de crédito numa loja online que já teve dados vazados? Difícil,
certo?! Além disso, é possível entender
o tamanho do dano ou prejuízo que determinado problema causaria caso ocorresse
em produção. O maior benefício, obviamente, é poder contornar a vulnerabilidade
o quanto antes e corrigir cada um dos erros.
Por que não descentralizar o Pentest?
A maioria das empresas aplica Pentests trimestrais ou
mensais. Com a LGPD entrando em vigor em 2020, percebi um aumento de clientes
solicitando relatórios ou comprovações de execução desses testes. Agora eu
pergunto: em vez de ter uma pessoa executando estes testes, por que não
deixá-los executando em tempo de desenvolvimento?
Algumas ferramentas liberam esse tipo de execução em tempo
de desenvolvimento, logo após o commit do programador.
Obviamente é bom ter alguém trabalhando com segurança da
informação olhando para o desenvolvimento, mas como a cultura de segurança
ainda está engatinhando na maioria das empresas do Brasil tendo somente 1
analista na maioria delas, nada melhor que descentralizar o pentest para que
este analista tenha mais tempo para avaliação de riscos e compliance de
segurança corporativa. 😉
Tem uma ferramenta, de um projeto gratuito, muito legal chamada OWASP ZAP (OWASP Zed Attack Proxy Project). Ainda estamos na fase de testes, mas já vimos alguns resultados bacanas.
Já utilizou esta ferramenta? Tem alguma outra ferramenta para indicar? Compartilha nos comentários! 😀