Segurança é como desempenho.
Você não pode obter uma lata de segurança e espalhá-la pelo software mais tarde.
Quando as pessoas criam produtos e não pensam nas ilidades , você tem problemas.
- segurança
- confiabilidade
- suportabilidade
- desempenho (escalabilidade)
Agora, quando você acha que a segurança não é um requisito, é preciso perguntar: onde está o software usado. Se a resposta não estiver em um cartucho de ROM em uma máquina sem mídia externa ou conexão de rede, sua análise de requisitos é um pouco insuficiente.
Se um cliente executar seu software, ele espera que seu software não exponha seus outros dados a roubo ou dano. Eles também podem razoavelmente esperar que seu computador e rede não sejam usados por algum botnet hostil como resultado de falhas de segurança em seu produto.
Essa expectativa de segurança provavelmente é apropriada para quase todos os softwares. A linguagem que usei é intencionalmente legalista, já que estamos falando sobre problemas que um cliente pode tentar processar você ou seu empregador.
Se alguém pode pensar em algum software que pode ser inseguro de antemão, você pode comentar?