ate o cliente decidir enviar informacoes no formato SQL no lugar de repostas validas. Sites que solicitam o nome do usuario e o adicionam as requisicoes podem ser atacados por usuarios que decidam responder informando um nome x; DROP TABLE users;. O que acontece e que a base de dados partira do principio do nome do usuario "x" e seguira para o proximo comando, apagando a tabela contendo todos os usuarios.Outras ocasioes que propiciam o abuso por parte de usuarios mais experientes sao as pesquisas digitais. O Buffer overrun continua sendo um dos metodos mais elementares para corromper softwares.Para piorar, varias brechas de seguranca podem surgir da uniao de tres de quatro supostas brechas benignas. Um programador pode permitir que um cliente escreva um arquivo partindo do principio de as permissoes do diretorio serem suficientes para evitar escritas em locais proibidos. Pouco depois, outro programador pode alterar as permissoes temporariamente para corrigir um bug randomico. Sozinhas, essas circunstancias nao oferecem grande risco, mas uma vez combinadas, dao acesso privilegiado ao cliente.Erro de programacao #6 Desconfiar demasiadamente do clienteEm funcao de rotinas fortemente orientadas a seguranca muitas vezes afastarem os usuarios, alguns desenvolvedores web procuram afrouxar a seguranca ao maximo. Isso facilita a interacao de visitantes com os produtos alem de propiciar uma defesa minima de suas informacoes na hora de configurar uma conta, por exemplo.Existe uma variedade de jeitos que permitem as bases de dados armazenar menos informacao enquanto fornecem o mesmo servico. Existem ocasioes em que a solucao ira funcionar sem que guarde qualquer dado legivel.Erro de programacao #7 Confiar cegamente em caixas magicasProgramadores sao, definitivamente, profissionais de muita sorte. Afinal de contas, cientistas de computacao continuam criando bibliotecas interminaveis com correcoes para todo e qualquer mal que assole o codigo. O problema, ao mensurarmos com certa leviandade o trabalho de terceiros, e terminar criando situacoes de risco no codigo, em funcao da complexidade que cerca o projeto.Criptografia e um dos algozes dessa realidade, diz John Viega, um dos autores do 24 Deadly Sins of Software Security: Programming Flaws and How to Fix Them (Os 24 pecados mortais em seguranca de software como corrigir erros de programacao). A maioria dos programadores parte do principio de que linkar dentro da biblioteca de criptografia e garantia de robustez, diz.Erro de programacao #8 Querer reinventar a rodaDesenvolver um metodo de criptografia proprio e um convite aos hackers, diz Viega. O autor sabe que ate programadores cometem erros quando tentam prevenir seus sistemas dos ataques de outros usuarios ou de explorarem eventuais fraquezas em seus sistemas.Entao resta a perguntar em quem confiar. Em voce ou nos outros especialistas em seguranca?A resposta para tal pergunta se encontra na sala e na mente dos gestores de riscos. Muitas bibliotecas dispensam perfeicao, o que permite que se use a primeira solucao em criptografia disponivel.Erro de programacao #9 entregar o controle nas maos dos usuariosProgramadores amam incrementar seus produtos com opcoes de otimizacao e de adequacao para o usuario customizar o aplicativo. O problema e que a maioria dos usuarios nao tem ideia de como faze-lo.Um bom exemplo disso