Buscar

Segurança em aplicações web

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 22 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 22 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 22 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

RejectConf 
SP’07 1
segurança em aplicações 
web
myke hamada
mykesh <at> gmail
RejectConf 
SP’07 2
whoami
ciência da computação
 segurança da informação
ruby rails c# vbscript 
opensource microsoft
ethical hacking
RejectConf 
SP’07 3
agenda
introdução
ontem e hoje
input validation
security on ruby on rails
ferramentas
considerações finais
conclusão
referências
 
 sql injection
 xss
 csrf
RejectConf 
SP’07 4
introdução
• web application é um alvo fácil 
• sql injection é uma tecnica bem documentada
• muitos desenvolvedores de software não tem 
uma real definição do que é sql injection ou 
xss
• não é objetivo desta apresentação mostrar 
técnicas de invasão, mas sim como previnir 
ataques
RejectConf 
SP’07 5
ontem
páginas estáticas
poucas tecnologias
outros alvos
RejectConf 
SP’07 6
hoje
sites dinâmicos
muitas ferramentas
novos vetores de 
ataque
informação muito fácil
baixo conhecimento
RejectConf 
SP’07 7
hoje (cont)
owasp top 10
RejectConf 
SP’07 8
input validation
você valida de que lado?
números devem números
strings devem ser strings
o dado que é recebido é válido?
o formato do dado é válido?
codificação / decodificação
não esqueça de validar os dados de saída!!!
RejectConf 
SP’07 9
security on ror
“convenção sobre configuração”
rails 1.2.5 (novembro/2007)
componentes de validação
model: sql injection
view: xss
controller: métodos (insecure object reference) 
e csrf
RejectConf 
SP’07 10
security on ror (cont)
evite:
strip_tags 
strip_links
sanitize
alternativas:
white_list
html_escape
validates_email_veracity_of 
validates_email_format_of 
redcloth
safe_erb
csrf_killer
RejectConf 
SP’07 11
sql injection
o comando inserido na entrada é interpretado 
como parte do código
 o interpretador entende o código de entrada 
como um comando
comando é executado pelo interpretador
impacto: criar, ler, atualizar e excluir dados
 é possível alterar a aplicação/s.o. e fazer o 
bypass de todos os controles de firewall/ips
RejectConf 
SP’07 12
model: sql injection
Email.find_all 
"owner_id = 123 AND subject = '#{@params['subject']}'" 
"owner_id = 123 AND subject = '' OR 1 --''“
subject = @params['subject']
Email.find_all [ "owner_id = 123 AND subject = ?", subject ]
RejectConf 
SP’07 13
cross site scripting? xss? css?
activex / javascript / vbscript / html / flash / pdf
web application recebe a informação (link)
codifica a parte maliciosa do link 
o link altera a “cara” do site
 forum e guesbooks
RejectConf 
SP’07 14
xss (cont)
http://host:8987/?<script>alert('vulnerable to XSS');</script>
account hijacking 
false advertising
user settings 
cookie 
RejectConf 
SP’07 15
view: xss
<%= @params['text_xss'] %> 
<script>alert(‘document.cookie ’)</script> 
<%=h post.subject %>
<%=h post.text %>
http://ror/controller/action?text=<script>alert(document.cookie)</script>
RejectConf 
SP’07 16
csrf
web browser carrega um site malicioso
web browser envia solicitações http para um 
outro site
tag IMG ou FORM / javascript 
impacto: 
acesso a conta bancária, envio de comentários, 
acesso a lista de e-mails, compras online
RejectConf 
SP’07 17
csrf
1
2
3
4vítim
a
site darth vader
site dory
RejectConf 
SP’07 18
controller: csrf
cuidado com “controller/:action”
use: hide_action 
<img  src="http://rails/order/20/delete" /> 
solução:
use o plugin csrf_killer
RejectConf 
SP’07 19
ferramentas
web inspect
acunetix
watchfire appscan
n-stalker
hacker safe
metasploit framework
nikto / wikto
paros proxy
web scarab
w3af
priamos
nessus
burp
RejectConf 
SP’07 20
considerações finais
utilize filtros de validação
root/sys/sa/admin/dba. nunca serão!
negar acesso a s.p. e a ferramentas de admin
chroot neles!!!
cuidado com url parameter
captcha
auditar o código
ids/ips
hardening
head, put, delete, trace
RejectConf 
SP’07 21
conclusão
desenvolver código seguro é fácil
priorize áreas críticas do negócio
treinamento
least privilege
web application firewall
sql proxy
faça muitos testes, mas defina um escopo
coma tecnologia com farofa
RejectConf 
SP’07 22
referências
www.owasp.org
manuals.rubyonrails.com/read/chapter/40
www.quarkruby.com/2007/9/20/ruby-on-rails-security-guide
jeremiahgrossman.blogspot.com
www.rorsecurity.info
www.cgisecurity.com
railsify.com/categories/security-production
mysqlsecurity.com
www.matasano.com/log
www.webappsec.org
ha.ckers.org/xss.html
www.railslodge.com/plugins
svn.techno-weenie.net/projects/plugins
ferruh.mavituna.com/makale/sql-injection-cheatsheet
www.foundstone.com/us/resources/proddesc/hacmecasino.htm

Outros materiais