O termo pentest (teste de penetração ou teste de invasão) se refere a processos, ferramentas e serviços projetados para simular ataques e violações de dados e encontrar vulnerabilidades de segurança.
Ou seja, o pentest simula um ataque de um invasor mal-intencionado – sondando sua rede e sistemas em busca de uma entrada (geralmente qualquer uma).
O processo de teste de penetração geralmente envolve várias fases.
Primeiro, o testador (ou solução) reúne informações sobre o alvo e identifica possíveis pontos de entrada. Em seguida, o testador tenta violar o ambiente testado. Por fim, o testador compila um relatório detalhando as vulnerabilidades encontradas e sugestões para melhorar a segurança do ambiente testado.
Objetivo do Pentest
O pentest é uma das formas mais agressivas de segurança, podendo assumir várias formas, dependendo do que é considerado “dentro” ou “fora” do escopo.
Por exemplo, alguns pentests simplesmente buscam uma maneira de entrar na rede – de qualquer forma. Isso pode variar de um ataque em links de rede a engenharia social, até um testador invadindo fisicamente o prédio.
Já outros pentests são limitados – apenas ataques em links de rede são permitidos, sem ataques físicos.
Independentemente do escopo e dos métodos permitidos, o objetivo de um pentest é sempre o mesmo: determinar se um invasor pode ignorar sua segurança e acessar seus sistemas.
Logo, o foco do teste de invasão é descobrir vulnerabilidades que os invasores podem explorar.
Ao contrário de uma avaliação de vulnerabilidades, que normalmente apenas as cataloga, um pentest tenta explorar as vulnerabilidades para ver quanto acesso elas permitem.
Dessa forma, os testes de penetração são muito úteis das seguintes formas:
- Eles podem mostrar relações entre uma série de itens de “baixo risco” que podem ser explorados sequencialmente para obter acesso (tornando-os um item de “alto risco” no agregado);
- Eles podem ser usados para testar o treinamento de funcionários, a eficácia de suas medidas de segurança e a capacidade de sua equipe de detectar e responder a possíveis invasores;
- Eles geralmente podem identificar e testar vulnerabilidades que são difíceis ou mesmo impossíveis de detectar com ferramentas de verificação tradicionais.
Enfim, os testes de invasão são esforços concentrados para determinar a eficácia dos controles de segurança usados para proteger um sistema.
Entenda sobre os diferentes tipos de ataques de rede!
Pentest White Box
As técnicas de white box, também conhecido como clear box ou teste de ambiente conhecido, testam as estruturas internas e o processamento dentro de um aplicativo quanto a bugs, vulnerabilidades e assim por diante. Um testador white box detalhará o conhecimento do aplicativo que está examinando.
Eles irão desenvolver casos de testes projetados para exercitar cada caminho, árvore de decisão, campo de entrada e rotina de processamento do aplicativo.
Assim, o teste de ambiente conhecido é frequentemente usado para testar caminhos dentro de um aplicativo (se X, então vá fazer isso; se Y, então vá fazer aquilo), fluxos de dados, árvores de decisão etc.
Às vezes, o termo teste de white box é aplicado a avaliações de rede em que o testador terá conhecimento detalhado da rede. Isso inclui, entre outros, endereços IP, rotas de rede e credenciais de usuário válidas.
Pentest Black Box
Por outro lado, existe o teste de ambiente desconhecido – o black box –, que é uma técnica de teste de software que consiste em encontrar bugs de implementação usando injeção de dados malformados ou semi-malformados de forma automatizada.
Tais técnicas testam a funcionalidade do software, geralmente de uma perspectiva externa ou do usuário.
Os testadores que usam técnicas de black box normalmente não têm conhecimento do funcionamento interno do software que estão testando. Eles tratam todo o pacote de software como uma “caixa preta” – eles inserem a entrada e analisam a saída.
Dessa maneira, eles não têm visibilidade de como os dados são processados dentro do aplicativo, apenas a saída que retorna a eles.
Pentest Grey Box
Os testes de ambiente parcialmente conhecidos são chamados de grey box – e nada mais são do que uma mistura de teste de ambiente conhecido com teste de ambiente desconhecido.
Nele, os testadores normalmente têm algum conhecimento do software, rede ou sistemas que estão testando.
Por conta disso, o grey box pode ser muito eficiente porque os testadores podem eliminar rapidamente caminhos de teste inteiros, casos de teste e conjuntos de ferramentas, e podem descartar coisas que simplesmente não funcionam e não valem a pena tentar.
Em suma, a principal diferença entre esses 3 tipos de pentest é a perspectiva e o conhecimento do testador:
- Os testadores de ambiente desconhecido (black box) não têm conhecimento do funcionamento interno e realizam seus testes de uma perspectiva externa;
- Os testadores de ambiente conhecido (white box) têm conhecimento detalhado do funcionamento interno e realizam seus testes de uma perspectiva interna;
- Os testadores de ambiente parcialmente conhecido (grey box) têm conhecimento parcial.
Isso é separado do elemento de autorização: atividades autorizadas (white hat) versus não autorizadas (black hat).
Em conclusão, podemos entender que um pentest eficaz oferece vários elementos críticos. Ele se concentra nos vetores de ameaças mais comumente empregados no ambiente de ameaças atual.
Além disso, um teste de penetração eficaz se concentra nos objetivos do invasor do mundo real, como obter e roubar propriedade intelectual (IP). Apenas contornar as defesas, mas não obter os objetivos do invasor, novamente, não fornece um exercício completo dos recursos de segurança.
Leia os outros textos no blog e deixe seu comentário se tiver alguma dúvida sobre o pentest.
E para se qualificar em Segurança Cibernética e outras áreas relacionadas a Segurança da Informação, aproveite as trilhas de formação do plano de assinatura da PMG Prime.
Uma resposta em “Pentest – O que é teste de invasão?”
[…] Conheça os diversos tipos de Pentest aqui. […]