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

Preview:

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

1RejectConf SP’07

segurança em aplicações web

myke hamada

mykesh <at> gmail

2RejectConf SP’07

whoami

ciência da computação

segurança da informaçãoruby rails c# vbscript opensource microsoftethical hacking

3RejectConf SP’07

agenda

introduçãoontem e hojeinput validationsecurity on ruby on

railsferramentasconsiderações finaisconclusãoreferências

sql injectionxsscsrf

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

5RejectConf SP’07

ontem

páginas estáticaspoucas tecnologiasoutros alvos

6RejectConf SP’07

hoje

sites dinâmicosmuitas ferramentasnovos vetores de ataqueinformação muito fácilbaixo conhecimento

7RejectConf SP’07

hoje (cont)owasp top 10

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!!!

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

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

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

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

]

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

14RejectConf SP’07

xss (cont)

http://host:8987/?<script>alert('vulnerable to XSS');</script>

account hijacking false advertisinguser settings cookie

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>

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

17RejectConf SP’07

csrf

1

2

3

4vítima

site darth vader

site dory

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

19RejectConf SP’07

ferramentas

web inspectacunetixwatchfire appscann-stalkerhacker safe

metasploit framework

nikto / wiktoparos proxyweb scarabw3afpriamosnessusburp

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

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

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

Recommended