segurança em aplicações web myke hamada mykesh gmail
DESCRIPTION
segurança em aplicações web myke hamada mykesh gmail. whoami. ciência da computação segurança da informação ruby rails c# vbscript opensource microsoft ethical hacking. introdução ontem e hoje input validation security on ruby on rails ferramentas considerações finais - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: segurança em aplicações web myke hamada mykesh gmail](https://reader036.vdocuments.site/reader036/viewer/2022081420/56813739550346895d9ec94a/html5/thumbnails/1.jpg)
1RejectConf SP’07
segurança em aplicações web
myke hamada
mykesh <at> gmail
![Page 2: segurança em aplicações web myke hamada mykesh gmail](https://reader036.vdocuments.site/reader036/viewer/2022081420/56813739550346895d9ec94a/html5/thumbnails/2.jpg)
2RejectConf SP’07
whoami
ciência da computação
segurança da informaçãoruby rails c# vbscript opensource microsoftethical hacking
![Page 3: segurança em aplicações web myke hamada mykesh gmail](https://reader036.vdocuments.site/reader036/viewer/2022081420/56813739550346895d9ec94a/html5/thumbnails/3.jpg)
3RejectConf SP’07
agenda
introduçãoontem e hojeinput validationsecurity on ruby on
railsferramentasconsiderações finaisconclusãoreferências
sql injectionxsscsrf
![Page 4: segurança em aplicações web myke hamada mykesh gmail](https://reader036.vdocuments.site/reader036/viewer/2022081420/56813739550346895d9ec94a/html5/thumbnails/4.jpg)
4RejectConf SP’07
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
![Page 5: segurança em aplicações web myke hamada mykesh gmail](https://reader036.vdocuments.site/reader036/viewer/2022081420/56813739550346895d9ec94a/html5/thumbnails/5.jpg)
5RejectConf SP’07
ontem
páginas estáticaspoucas tecnologiasoutros alvos
![Page 6: segurança em aplicações web myke hamada mykesh gmail](https://reader036.vdocuments.site/reader036/viewer/2022081420/56813739550346895d9ec94a/html5/thumbnails/6.jpg)
6RejectConf SP’07
hoje
sites dinâmicosmuitas ferramentasnovos vetores de ataqueinformação muito fácilbaixo conhecimento
![Page 7: segurança em aplicações web myke hamada mykesh gmail](https://reader036.vdocuments.site/reader036/viewer/2022081420/56813739550346895d9ec94a/html5/thumbnails/7.jpg)
7RejectConf SP’07
hoje (cont)owasp top 10
![Page 8: segurança em aplicações web myke hamada mykesh gmail](https://reader036.vdocuments.site/reader036/viewer/2022081420/56813739550346895d9ec94a/html5/thumbnails/8.jpg)
8RejectConf SP’07
input validation
você valida de que lado?números devem númerosstrings devem ser stringso 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!!!
![Page 9: segurança em aplicações web myke hamada mykesh gmail](https://reader036.vdocuments.site/reader036/viewer/2022081420/56813739550346895d9ec94a/html5/thumbnails/9.jpg)
9RejectConf SP’07
security on ror
“convenção sobre configuração”rails 1.2.5 (novembro/2007)componentes de validação
model: sql injectionview: xsscontroller: métodos (insecure object
reference) e csrf
![Page 10: segurança em aplicações web myke hamada mykesh gmail](https://reader036.vdocuments.site/reader036/viewer/2022081420/56813739550346895d9ec94a/html5/thumbnails/10.jpg)
10RejectConf SP’07
security on ror (cont)
evite:strip_tags strip_linkssanitize
alternativas:white_listhtml_escapevalidates_email_veracity_
of validates_email_format_o
f redclothsafe_erbcsrf_killer
![Page 11: segurança em aplicações web myke hamada mykesh gmail](https://reader036.vdocuments.site/reader036/viewer/2022081420/56813739550346895d9ec94a/html5/thumbnails/11.jpg)
11RejectConf SP’07
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 interpretadorimpacto: 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
![Page 12: segurança em aplicações web myke hamada mykesh gmail](https://reader036.vdocuments.site/reader036/viewer/2022081420/56813739550346895d9ec94a/html5/thumbnails/12.jpg)
12RejectConf SP’07
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
]
![Page 13: segurança em aplicações web myke hamada mykesh gmail](https://reader036.vdocuments.site/reader036/viewer/2022081420/56813739550346895d9ec94a/html5/thumbnails/13.jpg)
13RejectConf SP’07
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
![Page 14: segurança em aplicações web myke hamada mykesh gmail](https://reader036.vdocuments.site/reader036/viewer/2022081420/56813739550346895d9ec94a/html5/thumbnails/14.jpg)
14RejectConf SP’07
xss (cont)
http://host:8987/?<script>alert('vulnerable to XSS');</script>
account hijacking false advertisinguser settings cookie
![Page 15: segurança em aplicações web myke hamada mykesh gmail](https://reader036.vdocuments.site/reader036/viewer/2022081420/56813739550346895d9ec94a/html5/thumbnails/15.jpg)
15RejectConf SP’07
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>
![Page 16: segurança em aplicações web myke hamada mykesh gmail](https://reader036.vdocuments.site/reader036/viewer/2022081420/56813739550346895d9ec94a/html5/thumbnails/16.jpg)
16RejectConf SP’07
csrf
web browser carrega um site maliciosoweb browser envia solicitações http
para um outro sitetag IMG ou FORM / javascript impacto: acesso a conta bancária, envio de
comentários, acesso a lista de e-mails, compras online
![Page 17: segurança em aplicações web myke hamada mykesh gmail](https://reader036.vdocuments.site/reader036/viewer/2022081420/56813739550346895d9ec94a/html5/thumbnails/17.jpg)
17RejectConf SP’07
csrf
1
2
3
4vítima
site darth vader
site dory
![Page 18: segurança em aplicações web myke hamada mykesh gmail](https://reader036.vdocuments.site/reader036/viewer/2022081420/56813739550346895d9ec94a/html5/thumbnails/18.jpg)
18RejectConf SP’07
controller: csrf
cuidado com “controller/:action”use: hide_action
<img src="http://rails/order/20/delete" />
solução:use o plugin csrf_killer
![Page 19: segurança em aplicações web myke hamada mykesh gmail](https://reader036.vdocuments.site/reader036/viewer/2022081420/56813739550346895d9ec94a/html5/thumbnails/19.jpg)
19RejectConf SP’07
ferramentas
web inspectacunetixwatchfire appscann-stalkerhacker safe
metasploit framework
nikto / wiktoparos proxyweb scarabw3afpriamosnessusburp
![Page 20: segurança em aplicações web myke hamada mykesh gmail](https://reader036.vdocuments.site/reader036/viewer/2022081420/56813739550346895d9ec94a/html5/thumbnails/20.jpg)
20RejectConf SP’07
considerações finais
utilize filtros de validaçãoroot/sys/sa/admin/dba. nunca serão!negar acesso a s.p. e a ferramentas de
adminchroot neles!!!cuidado com url parametercaptchaauditar o códigoids/ipshardeninghead, put, delete, trace
![Page 21: segurança em aplicações web myke hamada mykesh gmail](https://reader036.vdocuments.site/reader036/viewer/2022081420/56813739550346895d9ec94a/html5/thumbnails/21.jpg)
21RejectConf SP’07
conclusão
desenvolver código seguro é fácilpriorize áreas críticas do negóciotreinamentoleast privilegeweb application firewallsql proxyfaça muitos testes, mas defina um
escopocoma tecnologia com farofa
![Page 22: segurança em aplicações web myke hamada mykesh gmail](https://reader036.vdocuments.site/reader036/viewer/2022081420/56813739550346895d9ec94a/html5/thumbnails/22.jpg)
22RejectConf SP’07
referênciaswww.owasp.orgmanuals.rubyonrails.com/read/chapter/40www.quarkruby.com/2007/9/20/ruby-on-rails-security-guidejeremiahgrossman.blogspot.comwww.rorsecurity.infowww.cgisecurity.comrailsify.com/categories/security-productionmysqlsecurity.comwww.matasano.com/logwww.webappsec.orgha.ckers.org/xss.htmlwww.railslodge.com/pluginssvn.techno-weenie.net/projects/pluginsferruh.mavituna.com/makale/sql-injection-cheatsheetwww.foundstone.com/us/resources/proddesc/hacmecasino.htm