Com aplicações web cada vez mais granulares e com vários tipos de integrações, como garantir que essas aplicações não possuam vulnerabilidades de segurança, não exponham dados privados de usuários, dados financeiros, dados sensíveis ou possam ser manipuladas por um hacker externo ao sistema?

Para prevenir esses problemas existe o PenTest ou Penetration Test, que na tradução é conhecido como Teste de Intrusão. Esse teste tenta simular ataques ao sistema para detectar e explorar possíveis vulnerabilidades de segurança que poderiam ser usadas para acesso a dados privados ou comprometer a confiabilidade do sistema e dos servidores por trás dele.

Para realizar o teste, utiliza-se várias ferramentas automáticas de varredura de vulnerabilidades conhecidas, mas também é possível realizar o teste manualmente. Além das ferramentas é preciso ter um bom conhecimento de redes, segurança da informação e sistemas operacionais. O profissional que realiza esse tipo de teste é conhecido como PenTester ou Ethical Hacker.

Um Ethical Hacker é um especialista em encontrar vulnerabilidades em sistemas, mas ao invés de se aproveitar dessas falhas em vantagem própria, reporta o que encontrou para a empresa responsável. Esse tipo de profissional geralmente trabalha em consultorias voltadas para a segurança da informação e a realização de PenTest.

Existem basicamente 2 tipos de PenTest, cada um é realizado para tentar descobrir falhas e prevenir ataques específicos.

White Box

Nesse tipo de teste o profissional deve ter um conhecimento prévio do sistema, estrutura de rede, firewalls, range de IPs e até um usuário de acesso. Isso é necessário para que nenhuma parte do sistema ou servidor fique de fora do teste, já que o profissional tem informação de tudo que é necessário para o sistema funcionar. O teste white box é o mais completo e que dá mais cobertura para descoberta de vulnerabilidades, porém fica um pouco distante do que seria a ação de um atacante real, já que são usadas informações privilegiadas para a verificação.

Black Box

Esse teste parte que o profissional não tem informações sobre o sistema nem da estrutura da empresa e trata a aplicação como uma “caixa preta”. Sendo mais difícil de ser aplicado, já que é preciso colher algumas informações para tentar explorar vulnerabilidades, mas em compensação, essa simulação fica mais próxima de um ataque real feito externamente por um hacker.

OWASP

A “Open Web Application Security Project” conhecida pela sigla OWASP é uma organização aberta, sem fins lucrativos, que tem como foco principal, projetos de segurança de software e conta com a colaboração de profissionais do mundo todo para detectar falhas e compartilharam conhecimento sobre segurança da informação.

Uma das grandes contribuições da OWASP e talvez a mais conhecida, é a lista das Top 10 vulnerabilidades de segurança para aplicações web. A lista inclui as falhas mais perigosas e comumente encontradas, junto com instruções de como mitigá-las. Essas são as Top 10 vulnerabilidades atuais:

  1. Injeção de Código.
  2. Quebra de Autenticação.
  3. Exposição de Dados Sensíveis.
  4. Entidades Externas de XML.
  5. Quebra de Controle de Acesso.
  6. Configuração Incorreta de Segurança.
  7. Cross-Site Scripting (XSS).
  8. Deserialização Insegura.
  9. Utilização de Componentes com Vulnerabilidades Conhecidas.
  10. Log e Monitoramento Ineficientes.

Conclusão

Ao final da realização de um PenTest, geralmente é gerado um relatório com os passos que foram realizados, evidências coletadas e sugestões de ações a serem tomadas para melhorar a segurança da aplicação. É importante entender os impactos que as vulnerabilidades exploradas podem causar nos dados dos usuários, acesso a rede, roubo de credenciais e etc.

Com esse relatório é possível tomar decisões sobre recursos e funcionalidade da aplicação que precisam ser reparadas, desabilitados ou configuradas para aumentar a segurança e confiabilidade dos dados

O teste realiza um fotografia da aplicação no momento atual, mas com evoluções e atualizações, o teste deve ser refeito para manter sempre um ambiente seguro . Uma solução ainda melhor é se o monitoramento de segurança puder ser feita constantemente para prevenir qualquer tipo de ataque.

Samuel Pisa

Samuel Pisa

Desenvolvedor de Software na Tegra Soluções Digitais

E-mail: samuel.pisa@tegra.com.br