OWASP Top 10 - A web security cookbook
-
Upload
giovane-liberato -
Category
Technology
-
view
178 -
download
2
Transcript of OWASP Top 10 - A web security cookbook
OWASP TOP 10 A Web Security CookBook
$ whoami
● Estudante de Banco de dados na FATEC SJC;● WebDeveloper na empresa QMágico;● Linux Xiita em potencial e● Entusiasta em segurança da informação.
Projeto OWASP
● Open Web Application Security Project● Comunidade aberta e voluntária● Segurança de aplicações● Aplicações para treinamento● Documentos e manifestos● Apresentações
Projeto OWASP
● Desenvolvimento seguro● Promover o compartilhamento de conteúdo
● “We grow when we share”
OWASP em números
● 420.000 page views por mês● 230 GB de downloads por mês● 4.618 usuários do wiki● 200 atualizações por dia● 124 capítulos● 16.000 membros nos mailings lists● 48 projetos de ferramentas e documentos
OWASP para todos!
● Publicações, artigos e manifestos● OWASP Top 10
● Softwares de teste e treinamento● WebGoat● D.V.W.A.
● Para todos mesmo!● GPL ou creative commons
Vulnerabilidades WEB
Vulnerabilidades WEB
● Aplicações WEB● Home-Mades e Freestyle● Acompanham vicios do programador● Proporciona ataques flexíveis● “Combos de vulnerabilidades”
● Avaliar a internet como um ambiente hostil● Sempre usar a WhiteList● SE PODEM FAZER VÃO FAZER!
Principais ameaças
● Injeções● OWASP TOP 10 2007 - 2º● OWASP TOP 10 2010 - 1º
● Cross Site Scripting (XSS)● OWASP TOP 10 2007 - 1º● OWASP TOP 10 2010 - 2º
OWASP TOP 10
A1 - Injeções
● LDAP, SQL, Shell, etc..● Strings interpretadas como comandos● Exemplo SQL Injection:
SELECT * FROM 'clientes' WHERE 'age'=20
A1 - Injeções
● LDAP, SQL, Shell, etc..● Strings interpretadas como comandos● Exemplo SQL Injection:
SELECT * FROM 'clientes' WHERE 'age'=20
SELECT * FROM 'clientes' WHERE 'age'=20;DROP TABLE 'usuarios';
A1 - Injeções
● Exemplo Shell Injection:● Servidor de pesquisa DNS
site-tinovale.rhcloud.com%20%3B%20/bin/cat%20/etc/passwd%3B
A1 - Injeções
● Exemplo Shell Injection:● Servidor de pesquisa DNS
site-tinovale.rhcloud.com ; /bin/cat /etc/passwd;
A1 - Injeções
A2 – XSS
● Ataques enviados ao browser do usuário● Redirecionamento e/ou roubo de dados● Tipos de XSS:
● Persistente e Não persistente
<script>alert('XSS')</script>
A3 – Quebra de autenticação
● Protocolo HTTP não prevê autenticação● Não é criptografado● Depende do desenvolvedor
A4 – Referência direta a Objetos
● Permissionamento● Validação client-side
A5 – Cross Site Request Forgery (CSRF)● Primo distante do XSS
● Forja requisições aproveitando sessões ativas
<img src=”forum.com.br/logout.php”/>
A6 – Falhas de configuração
● Foge do escopo de código● Exemplos: servidores ou serviços
desatualizados, DDOS ou DOS● Vulneráveis a exploits (conhecidos ou não)
A7 – Armazenamento inseguro
● Permissão e criptografia ● Exemplo: Aplicação E-Commerce na nuvem
A8 – Falha de restrição de acessos a URL● Métodos/paginas acessíveis
● Exemplo: método getAll()
A9 – Canal Inseguro
● Criptografia na transmissão de dados● HTTPS e SSL● Evitam “sniffers”
● Suporte a SSL x Obrigatoriedade de SSL
A10 – Redirecionamentosnão validados● Redirects não validados
● Exemplo: javascript:history.back()
Porque se procupar?
● Negócios● Clientes● Dinheiro● Credibilidade● …..
Como resolver?