Black box, white box ou gray box?

Quem trabalha na área de pentest sempre se depara com a pergunta: Qual tipo de pentest devo recomendar ao meu cliente? É claro que se o profissional for olhar apenas para o lado lucrativo da coisa, é óbvio que ele irá recomendar o black box. Afinal de contas esse é o tipo de teste que chega mais perto de um ataque real e por isso custa mais caro, sem falar que é o mais trabalhoso.
Mas e ai, será que a empresa realmente precisa de um black box, mesmo tendo ela condições financeiras de arcar com as despesas do teste?

A resposta é não, e vários fatores contribuem para isso.  Temos que entender que mesmo que a empresa tenha condições de arcar com as despesas, um teste black box é muito complexo e exigi muito tempo para ser realizado com eficácia. Como nenhum pentest é realizado por tempo indeterminado o teste black box pode não ser a melhor opção, mesmo sendo o tipo de teste que chega perto de um ataque real.

Talvez você esteja se perguntando: Mas se a empresa pode arcar com os custos de um black box, porque o profissional em pentest deve se preocupar com o tempo que será gasto para realizar o teste?

A resposta é muito simples. Mesmo que a empresa tenha os recursos financeiros, qualquer pentest tem um tempo determinado para ser realizado e devido a complexidade do black box muita coisa pode passar despercebidos. É preciso entender que em um teste black box o profissional que irá realizar os testes não tem conhecimento algum sobre o sistema a ser testado, e devido a isso ele terá que investir muito tempo buscando informações sobre o sistema.

Então qual a melhor opção? Muitos profissionais da área recomendam sempre o gray box que é uma mistura de white box com black box. Como no gray box o profissional tem conhecimento prévio de como funciona todo o sistema, ele terá acesso a informação que em um teste black box ele jamais teria. Com  isso o profissional consegue otimizar e muito seus testes, focando principalmente nas buscas por vulnerabilidades que existem no sistema.
Só para esclarecer black box é o tipo de teste onde o profissional não tem conhecimento algum sobre o sistema que será testado, em alguns casos o profissional tem acesso a um range de IP ou algum endereço de website que faça parte do escopo.

White box é quando o profissional tem total conhecimento do sistema a ser testado. Geralmente esse tipo de teste é realizado pela própria equipe interna da empresa.

Gray box é quando o profissional tem conhecimento parcial sobre o sistema a ser testado. Gray box é uma mistura de black box com white box e por isso geralmente é o tipo de teste mais recomendado.

Esse assunto é meio confuso. O que devemos entender é que o fato do black box chegar mais perto de um ataque real, ele nem sempre é a melhor opção, pois gasta-se muito tempo buscando informações sobre o sistema a ser testado, gasta-se muito tempo tentando entender o funcionamento do sistema. Quando se utiliza o gray box todo esse tempo que seria investido buscando informações sobre o sistema, será investido na busca por vulnerabilidades que existem no mesmo.

Utilizando o gray box muitas das falhas que existem no sistema podem ser encontradas já no início dos testes, coisa que não acontece no black box.