22
1 RejectCo nf SP’07 segurança em aplicações web myke hamada mykesh <at> gmail

segurança em aplicações web myke hamada mykesh gmail

Embed Size (px)

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 Presentation

Citation preview

Page 1: segurança em aplicações web myke hamada mykesh  gmail

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

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

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

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

5RejectConf SP’07

ontem

páginas estáticaspoucas tecnologiasoutros alvos

Page 6: segurança em aplicações web myke hamada mykesh  gmail

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

7RejectConf SP’07

hoje (cont)owasp top 10

Page 8: segurança em aplicações web myke hamada mykesh  gmail

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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