introd Ataques web
Desenvolvimento de Software Seguro
• Seja bem vindo, seu aplicativo WEB vai ser atacado!!!
• Se você duvida, então é provável que você já tenha sido vitimado
• Uma máquina com sistema operacional padrão leva em média 14 minutos para começar a ser atacada e não mais que 4 horas para ser invadida na Internet
• Se seu sistema está na internet, ele está sujeito a invasão! Pensamento
Desenvolvimento de Software Seguro
• “Se depurar é a arte de retirar bugs, programar deve ser a arte de inserí-los” (Donald
E. Knuth)
• O que é um programa seguro?
– Uma simples definição seria: Um programa que é capaz de desempenhar a sua tarefa opondo-se a qualquer tentativa de subvertê-lo
Princípios de Segurança em
Aplicações
Desenvolvimento de Software Seguro
•
•
•
•
•
•
•
•
•
•
Aplique defesa em profundidade
Use um modelo de segurança positivo (whitelist)
Tratamento de erros
Execute com o menor privilégio
Evite segurança por obscuridade
Mantenha a segurança o mais simples possível
Detecte intrusões (logs)
Não confie na infra-estrutura e nem na parte cliente
Não confie nos serviços
Conheça (e utilize) padrões de segurança
5 erros comuns
Desenvolvimento de Software Seguro
• Inconsistência na validação de entrada
• Não entender a tecnologia
• Não entender o negócio
• Subestimar a ameaça
• Subestimar o usuário
•
Fonte: http://www.sans.edu/resources/securitylab/secure_code_sec545.php
Design (Modelagem de Ameaças)
Desenvolvimento de Software Seguro
• “Única forma de identificar ameaças é conhecendo-as”;
• Três perguntas vitais:
– O que tem que ser protegido?
• Contra quem?
– Como proteger?
O que dizer de códigos de terceiros? Desenvolvimento de Software Seguro
• Códigos de terceiros devem ser auditados e validados como códigos desenvolvidos pela própria empresa;
• Se for inviável, então contrate uma empresa para auditar e atestar a segurança;
• Se você não pode atestar que um código de terceiro é seguro, então não há como você garantir que a sua aplicação, que