5

Sou dev e quero aprofundar meus conhecimentos em Pentest e Segurança: o que vocês recomendam?

Fala, pessoal! Tudo certo?

Trabalho como desenvolvedor e gosto bastante da área de segurança da informação e de DevOps. Não pretendo mudar de área, mas quero elevar meu conhecimento nesses temas, principalmente em pentest, para me tornar um profissional mais completo e escrever aplicações mais seguras.
Como já tenho uma base de programação, imagino que consigo aproveitar bastante coisa, mas sinto que tem tanto conteúdo espalhado por aí que fica difícil saber o que realmente vale a pena.

Indicações que seriam muito bem-vindas:

  • Cursos (gratuitos ou pagos) que vocês fizeram e recomendam
  • Livros que fizeram diferença no aprendizado
  • Plataformas práticas, laboratórios e CTFs para treinar
  • Canais do YouTube, blogs ou podcasts que acompanham
  • Certificações que agregam valor mesmo para quem é dev
  • Conteúdos que unem segurança e DevOps (DevSecOps, segurança em cloud, containers, CI/CD etc.)
  • Pontos de atenção para devs: vulnerabilidades e más práticas que todo desenvolvedor deveria conhecer

Se puderem, contem também um pouco da experiência de vocês: como estudaram esses temas, o que fariam diferente e o que mais ajudou no dia a dia.

Desde já, valeu demais pela ajuda! Tenho certeza de que as respostas vão ajudar não só a mim, mas muita gente que também quer evoluir nessa área.

Carregando publicação patrocinada...
3

Opa. Acho importante começar esclarecendo que segurança da informação não é uma coisa só, tem dezenas de subáreas diferentes. Pentest, por exemplo, não é uma área específica, é um tipo de teste de segurança onde um profissional de segurança simula a ação de um atacante. O que você deve estudar para aprender a fazer pentest vai depender do sistema que está sendo testado.

Exemplo: aprender a fazer pentest em uma aplicação web é completamente diferente de aprender a fazer pentest em um hardware; que é completamente diferente de fazer pentest em uma rede WiFi; que é completamente diferente de fazer pentest em um ambiente físico (como um prédio empresarial, datacenter etc.) e por aí vai.

Já escrevi algo sobre pentest, a propósito: https://www.tabnews.com.br/Silva97/como-fazer-pentest-na-pratica

[...]para me tornar um profissional mais completo e escrever aplicações mais seguras.

Se você quer aprender a escrever aplicações mais seguras, então existe uma subárea de segurança específica para isso chamada Application Security (AppSec). E aprender sobre AppSec é útil para aprender pentest também porque, como eu falei, pentest é um tipo de teste de segurança e não uma área por si só.

Cursos e materiais de estudos gratuitos

Antes de mais nada, vale mencionar que já escrevi alguns conteúdos que podem ser de ajuda, principalmente o primeiro:

Sobre cursos, a Mente Binária tem vários cursos gratuitos sobre segurança da informação: https://www.mentebinaria.com.br/cursos/

Só que provavelmente você não vai achar um de seu interesse porque a Mente Binária não tem nenhum material educativo sobre web security ou AppSec, que seriam os temas de seu interesse.

Alguns outros materiais de estudos gratuitos que eu recomendo:

Particularmente sobre segurança de aplicações web (Web AppSec), a referência principal é a OWASP. Eles têm bastante material de referência. Você não vai aprender segurança de verdade só estudando os projetos da OWASP, mas os projetos da OWASP servem como guia para você saber o que estudar. Pensa nos projetos da OWASP como um mapa: te mostra o caminho correto, mas não é o caminho em si.

Alguns projetos da OWASP que recomendo dar uma olhada:

Laboratórios para praticar

Esses são os que eu recomendo:

Todos gratuitos. O Hack The Box tem plano pago, mas dá pra praticar muita coisa sem pagar nada.

Também tem essa plataforma focada especificamente em praticar code review com o propósito de encontrar falhas de segurança: https://www.codereviewlab.com/

Eu achei a ideia muito boa mas, sinceramente, os desafios são fáceis demais. Até os de nível de dificuldade mais alta eu achei fácil. Mas para quem não tem nenhuma prática nisso, talvez sirva.

Sobre design / arquitetura de software

Sempre acho importante mencionar algo que até galera da própria área de segurança acaba negligenciando: falha de segurança não ocorre apenas no código, também pode ocorrer no design/arquitetura do sistema. Isso é o que a gente chama de falha de segurança de design.

Falha de design é o hard mode das falhas de segurança. Falha de implementação está para Candy Crush e falha de design está para Dark Souls. É tipo isso. Só para você ter uma noção: o pessoal adora vangloriar como IA/LLM acha falhas de segurança muito mais rápido que um humano. Pois até agora não vi uma IA achar uma falha de design, só acham falhas de implementação.

Isso se dá porque falha de implementação pode ser encontrada por meio de reconhecimento de padrões e IA basicamente é uma grande especialista em reconhecer e reproduzir padrões. Mas encontrar falhas de design requer um pensamento analítico que IA não consegue reproduzir - falhas de design não tem um padrão.

Dito isto, se tiver interesse em aprender a evitar e identificar falhas de design, o que você tem que aprender é basicamente arquitetura de software e threat modeling. Já escrevi um artigo sobre o último:

Sobre faculdade

Olha, acho importante mencionar que a faculdade no Brasil é, provavelmente, o pior lugar possível para aprender segurança da informação. A faculdade de segurança da informação não ensina segurança da informação de forma geral como o nome pode sugerir, na verdade ensina uma subárea específica chamada GRC (Governance, Risk, and Compliance).

GRC é o tipo de coisa que um C-level ou gestor estudaria, não um profissional que faz segurança de verdade, na prática, como é o nosso caso. Se você quiser ser o cara que manda os outros fazerem segurança, GRC é útil para você ter uma vaga noção do que eles estão fazendo e entender mais ou menos sobre o que eles estão falando. Se você quiser fazer segurança você mesmo, GRC é extremamente superficial.

Então, faculdade é o pior lugar possível para aprender segurança - pelo menos no Brasil (não sei como é lá fora).

Se for fazer faculdade, minha recompendação é fazer Ciência da Computação. Você vai aprender muito mais sobre segurança da informação cursando Ciência da Computação do que Segurança da Informação em si. Bizarro, mas verdade.

Mas se quiser aprender segurança da informação de verdade, sua única opção é ser autodidata. O ensino tradicional não ensina segurança de verdade, só um troço bizarramente superficial que eles resolveram chamar de "segurança da informação".

1
1

Não é querendo polemizar, mas esse Hackers do Bem aí virou piada nas comunidades de segurança. Os caras fizeram o milagre de ensinar até coisas muito básicas totalmente errado.

Como eu sempre gosto de falar: não saber nada é melhor do que aprender errado, então eu evitaria.

E uma regrinha que vale a pena decorar: qualquer material educativo que tenha "hacker" ou derivados no título não presta.

Nunca vi essa regra falhar.

-1

Más práticas e vulnerabilidades, como o desenvolvedor do Mulher Amparada seriam:

Principalmente para código yaml, não colocar a quantidade de espacos certos, exemplo:

errado:

  • name: exemplo
    needs: outro exemplo

Certo:

  • name: exemplo
    needs: outro exemplo

Outra má prática que parece boba mas é:

Não pensar antes de criar o código

Acontece muito comigo, mas eu geralmente tenho uma ideia e ja vou direto pra programação, mas antes tem que pensar como seria arquitetado aquele código, senão dará muito mais trabalho no final

Outra má pratica e nao formatar o código, muita gente faz o código assim:

<div class="exemplo">
<section></section>
</div>

Mas eu penso que seria muito melhor para leitura fazer:

<div class="exemplo">
    <section>
    </section>
</div>