Eu gostaria de entrar na segurança de computadores em minha carreira. Quais são as melhores maneiras de aprender a programar com segurança?
Parece-me que, além de livros didáticos e aulas, talvez aprender a "hackear" seria uma das melhores maneiras de aprender. Minha razão para pensar isso é o pensamento de que a melhor maneira de aprender a impedir alguém de fazer o que você não quer é aprender o que é capaz de fazer.
Se for esse o caso, isso coloca outra questão: como você aprenderia a invadir de maneira ética? Definitivamente, não quero violar leis ou causar danos em minha busca.
Respostas:
Há muita coisa por aí sobre "hackers éticos" - uma palavra frequente é "teste de penetração". Também existem códigos de ética sobre como fazê-lo - mas minha única regra geral seria a mesma das regras do jardim de infância - não são coisas difíceis que não são suas.
Se você estiver interessado nos dois lados da moeda, sugiro projetos domésticos - crie um aplicativo simples e tente hackear. Então você tem o código disponível para poder quebrá-lo e corrigi-lo no conteúdo do seu coração.
A outra coisa são sites como OWASP (veja outra resposta). Há uma tonelada de vulnerabilidades conhecidas por aí. Aprender sobre eles e aprender a evitá-los é um grande passo que interrompe a tentativa e erro de hacking DIY. Também aprender sobre os mecanismos de confidencialidade, integridade, identificação e disponibilidade de software, redes e computadores em geral é um grande passo. Ter experiência na implementação desses mecanismos em seu idioma / implantação preferida é uma ótima maneira de desenvolver habilidades de segurança de software.
fonte
Você já viu o OWASP ? Além disso, aqui está um link mais direto para os 10 principais problemas de segurança .
fonte
Uma maneira seria olhar para as ferramentas que podem ser usadas para testar a penetração de um sistema. Você pode fazer o download de algumas distribuições especializadas de teste de penetração do Linux para começar.
Outra parte de sua busca de aprendizado é ler a literatura existente. OWASP, como sugerido por @ S.Lott, é um recurso incrível para segurança de aplicativos da web. O SafeCode é uma fonte mais generalizada, mas é definitivamente muito menos detalhada.
fonte