Na minha universidade local, há um pequeno clube de computação para estudantes com cerca de 20 alunos. O clube possui várias equipes pequenas com áreas de foco específicas, como desenvolvimento móvel, robótica, desenvolvimento de jogos e hackers / segurança.
Estou introduzindo alguns conceitos básicos de desenvolvimento ágil para algumas equipes, como histórias de usuários, estimativa de complexidade de tarefas e integração contínua para controle de versão e builds / testes automatizados.
Estou familiarizado com alguns ciclos de vida básicos de desenvolvimento, como cascata, espiral, RUP, ágil etc., mas estou imaginando se existe um ciclo de vida de desenvolvimento de software para invadir / violar a segurança. Certamente, os hackers estão escrevendo código de computador, mas qual é o ciclo de vida desse código? Eu não acho que eles estariam preocupados demais com a manutenção, uma vez que a violação foi encontrada e corrigida, o código que explorou essa violação é inútil.
Eu imagino que o ciclo de vida seria algo como:
- Encontre lacunas na segurança
- Explorar a lacuna na segurança
- Adquirir carga útil
- Utilize carga útil
Que tipo de diferenças (se houver) existem para o ciclo de vida de desenvolvimento de software quando o objetivo do produto é violar a segurança?