Segundo Fred Cohen, no artigo “20 Tips on Software Security”, projetar e executar sistemas de software seguros podem ser complexos, contudo, o autor descreve 20 dicas para auxiliar os desenvolvedores de softwares a construir sistemas mais seguros. Esta 20 dicas são divididas em 05 partes.
Segue abaixo um paralelo entre o artigo de Cohen e O CLASP (Comprehensive, Lightweight Application Security Process) que é um documento que descreve as melhores práticas de devenvolvimento de softwares seguros. O CLASP mantém uma lista de 104 tipos de vulnerabilidades submetidos dentro de 05 categorias.
Segundo Fred Cohen, no artigo “20 Tips on Software Security”, projetar e executar sistemas de software seguros podem ser complexos, contudo, o autor descreve 20 dicas para auxiliar os desenvolvedores de softwares a construir sistemas mais seguros. Esta 20 dicas são divididas em 05 partes.
Segue abaixo um paralelo entre o artigo de Cohen e O CLASP (Comprehensive, Lightweight Application Security Process) que é um documento que descreve as melhores práticas de devenvolvimento de softwares seguros. O CLASP mantém uma lista de 104 tipos de vulnerabilidades submetidos dentro de 05 categorias.
Parte 1 – Elimine as falhas insensatas :
1 - Input overflows, buffer overruns, and no bounds checking
É comum para as entradas de dados supor um comprimento máximo, porém não é checado estas entradas. Classificado pelo CLASP como erros de tipagem e de limites.
2 - Use of external programs via command interpreters
Muitos desenvolvedores acham mais fácil executar chamadas a programas externos do que incluir a mesma funcionalidades no programa corrente.
O CLASP classifica estes erros como : erros de temporização e sincronização, erros de confiança em dados de eventos externos.
3 - Unnecessary functionality - like access to Vbasic for running programs
Deve-se desabilitar funcionalidades que não são necessárias ao usuário, ou no mínimo, bloquear ou dificultar o acesso ãs funcionalidades perigosas do ambiente.
De acordo com o CLASP, os erros podem ser : Erro de lógica, tipagem e de limites.
4 - Including executable content without a good reason
Cohen cita como exemplo o acesso a uma página WEB onde é exibido uma propaganda antes do acesso correto, ou seja, inserir funções desnecessárias no software que desagrade o usuário. O CLASP classifica estes erros como : Erros de tipagem e de limites e suposições na proteção de pacotes.
5 - Train your people in information protection
Treinar e conscientizar os desenvolvedores quanto ao desenvolvimento de softwares seguros, evitando erros classificados pelos CLASP como race conditions e lógica.
6 - Use skilled, experienced, artisans
Trabalhar com desenvolvedores com vivência em programação segura facilitará possíveis erros na concepção do projeto. Erros de lógica podem fazer parte deste item.
Parte 2: Providencie respostas rápidas
7 - Internet-based software updates - encrypted and authenticated
Realizar as atualizações de software via Internet é rápido e custa pouco. Porém, é importante implementar criptografia forte para manter as transações e atualizações seguras. Classificado pelo CLASP como erro de ambiente e de protocolo.
8 - Find and fix them before they effect the customer
Mesmo que você já tenha disponibilizado o uso do sistema, não indica que você não pode melhorá-lo. Mantenha no contrato de suporte as melhorias que farão parte do software, para correção de possíveis falhas. Com isso o cliente estará mais confiante na utilização do produto.
9 - Easy reporting of flaws and rapid response to them
Deve-se corrigir as falhas reportadas pelos clientes o mais rápido possível. Descrito pelo CLASP como erro de protocolo.


Leia este blog no seu celular