• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
cTIC2009 - Segurança em Aplicações Web-based e RIA
 

cTIC2009 - Segurança em Aplicações Web-based e RIA

on

  • 2,012 views

Apresentação no cTIC2009 sobre segurança de aplicações web-based e RIA.

Apresentação no cTIC2009 sobre segurança de aplicações web-based e RIA.

Statistics

Views

Total Views
2,012
Views on SlideShare
1,962
Embed Views
50

Actions

Likes
0
Downloads
61
Comments
1

4 Embeds 50

http://webappsec.netmust.eu 31
http://blog.carlosserrao.net 15
http://www.carlosserrao.net 3
http://www.slideshare.net 1

Accessibility

Categories

Upload Details

Uploaded via as Apple Keynote

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel

11 of 1 previous next

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • <br />
  • Agradecer o convite aos organizadores da cTIC2009; <br /> <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • In terms of OWASP Tools and Technology, our coverage is a bit spotty, but we’re actively working to remedy that. <br /> <br /> We have a lot of tools for automated verification, but we lag behind the commercial tools a bit here. We have 3 SoC projects to build better static and dynamic tools, so look for some advances here. <br /> <br /> Our manual verification tools are quite good, with WebScarab listed as one of the most popular security tools anywhere. <br /> <br /> In the security architecture area, we do not have a lot of tools or technology, although the Enterprise Security API is an important part of this key area. <br /> <br /> We have a number of tools to encourage security coding, including several appsec libraries and many guards and filters. <br /> <br /> Our appsec management tools are fairly weak, although the OWASP Report Generator shows some promise <br /> <br /> And in the AppSec Education area, the WebGoat tool has been very successful, although this region is yellow because we can and should do more in the education areas. <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />

cTIC2009 - Segurança em Aplicações Web-based e RIA cTIC2009 - Segurança em Aplicações Web-based e RIA Presentation Transcript

  • Segurança em Aplicações Web-based e em Rich Internet Applications cTIC 2009 IX Conferência sobre Tecnologias de Informação e Comunicação Carlos Serrão ISCTE-IUL, DCTI | www.iscte.pt Adetti/NetMuST | www.adetti.pt OWASP Portugal | www.owasp.org Viseu, Maio de 2009
  • 2 Obrigado cTIC2009 - IX Conferência sobre Tecnologias de Informação e Comunicação IPViseu, Viseu, Maio 2009
  • Contexto 3 cTIC2009 - IX Conferência sobre Tecnologias de Informação e Comunicação IPViseu, Viseu, Maio 2009
  • Contexto 3 Desenvolvimento de Aplicações e Sistemas de Informação Web-based cTIC2009 - IX Conferência sobre Tecnologias de Informação e Comunicação IPViseu, Viseu, Maio 2009
  • Contexto 3 Desenvolvimento de Aplicações e Sistemas de Informação Web-based Cliente-Servidor cTIC2009 - IX Conferência sobre Tecnologias de Informação e Comunicação IPViseu, Viseu, Maio 2009
  • Contexto 3 Desenvolvimento de Aplicações e Sistemas de Informação Web-based Cliente-Servidor Browser Web como Interface único cTIC2009 - IX Conferência sobre Tecnologias de Informação e Comunicação IPViseu, Viseu, Maio 2009
  • Contexto 3 Desenvolvimento de Aplicações e Sistemas de Informação Web-based Cliente-Servidor Browser Web como Interface único no browser RIA standalone cTIC2009 - IX Conferência sobre Tecnologias de Informação e Comunicação IPViseu, Viseu, Maio 2009
  • Contexto 4 RIA (Rich Internet Applications) Relacionadas Relacionadas Desktop Web com Desktop com Web processamento Aplicações de client-side Desktop Clássicas Cliente Rico e Fat/ Aplicação Internet-enable Cliente inteligente Web 2.0 processamento server-side Cliente thin Aplicações web e sites clássicos definição abrangente de RIA cTIC2009 - IX Conferência sobre Tecnologias de Informação e Comunicação IPViseu, Viseu, Maio 2009
  • Contexto Arquitecturas Cliente- 5 Servidor Distributed Remote Distributed Remote Data Distributed Presentation Presentation Logic Management Database Server Data Data Data Data Data Logic Logic Logic Presentation Network Network Network Network Data Logic Logic Logic Presentation Presentation Presentation Presentation Presentation Client cTIC2009 - IX Conferência sobre Tecnologias de Informação e Comunicação IPViseu, Viseu, Maio 2009
  • Contexto de Segurança 6 cTIC2009 - IX Conferência sobre Tecnologias de Informação e Comunicação IPViseu, Viseu, Maio 2009
  • Contexto de Segurança 6 Hardware cTIC2009 - IX Conferência sobre Tecnologias de Informação e Comunicação IPViseu, Viseu, Maio 2009
  • Contexto de Segurança 6 Sistema Hardware cTIC2009 - IX Conferência sobre Tecnologias de Informação e Comunicação IPViseu, Viseu, Maio 2009
  • Contexto de Segurança 6 Web-browser Aplicações (web-browser) (standalone) RIDA RIA Sistema Hardware Client-Side cTIC2009 - IX Conferência sobre Tecnologias de Informação e Comunicação IPViseu, Viseu, Maio 2009
  • Contexto de Segurança 6 Web-browser Aplicações (web-browser) (standalone) RIDA RIA Servidor de Base de Dados Sistema Operativo Sistema Hardware Servidor Web/ Aplicacional Hardware Sistema Operativo Hardware Client-Side Server-Side cTIC2009 - IX Conferência sobre Tecnologias de Informação e Comunicação IPViseu, Viseu, Maio 2009
  • Contexto de Segurança 6 Web-browser Aplicações (web-browser) (standalone) RIDA RIA Servidor de Base de Dados Sistema Operativo Sistema Hardware Servidor Web/ Aplicacional Hardware Network Sistema Operativo Hardware Client-Side Server-Side cTIC2009 - IX Conferência sobre Tecnologias de Informação e Comunicação IPViseu, Viseu, Maio 2009
  • Contexto de Segurança Vectores de Ataque 7 Web-browser Aplicações (web-browser) (standalone) RIDA RIA Servidor de Base de Dados Sistema Operativo Sistema Operativo Hardware Servidor Web/ Aplicacional Hardware Network Sistema Operativo Hardware Client-Side Server-Side cTIC2009 - IX Conferência sobre Tecnologias de Informação e Comunicação IPViseu, Viseu, Maio 2009
  • Contexto de Segurança Vectores de Ataque 7 Web-browser Aplicações (web-browser) (standalone) RIDA RIA Servidor de Base de Dados Sistema Operativo Sistema Operativo Hardware Servidor Web/ Aplicacional Hardware Network Sistema Operativo Hardware Client-Side Server-Side cTIC2009 - IX Conferência sobre Tecnologias de Informação e Comunicação IPViseu, Viseu, Maio 2009
  • Contexto de Segurança Vectores de Ataque 7 Web-browser Aplicações (web-browser) (standalone) RIDA RIA Servidor de Base de Dados Sistema Operativo Sistema Operativo Hardware Servidor Web/ Aplicacional Hardware Network Sistema Operativo Hardware Client-Side Server-Side cTIC2009 - IX Conferência sobre Tecnologias de Informação e Comunicação IPViseu, Viseu, Maio 2009
  • Contexto de Segurança Vectores de Ataque 7 Web-browser Aplicações (web-browser) (standalone) RIDA RIA Servidor de Base de Dados Sistema Operativo Sistema Operativo Hardware Servidor Web/ Aplicacional Hardware Network Sistema Operativo Hardware Client-Side Server-Side cTIC2009 - IX Conferência sobre Tecnologias de Informação e Comunicação IPViseu, Viseu, Maio 2009
  • Contexto de Segurança Vectores de Ataque 7 Web-browser Aplicações (web-browser) (standalone) RIDA RIA Servidor de Base de Dados Sistema Operativo Sistema Operativo Hardware Servidor Web/ Aplicacional Hardware Network Sistema Operativo Hardware Client-Side Server-Side cTIC2009 - IX Conferência sobre Tecnologias de Informação e Comunicação IPViseu, Viseu, Maio 2009
  • Segurança 8 cTIC2009 - IX Conferência sobre Tecnologias de Informação e Comunicação IPViseu, Viseu, Maio 2009
  • Segurança 8 Desktop cTIC2009 - IX Conferência sobre Tecnologias de Informação e Comunicação IPViseu, Viseu, Maio 2009
  • Segurança 8 Rede cTIC2009 - IX Conferência sobre Tecnologias de Informação e Comunicação IPViseu, Viseu, Maio 2009
  • Segurança 8 Aplicação cTIC2009 - IX Conferência sobre Tecnologias de Informação e Comunicação IPViseu, Viseu, Maio 2009
  • Aplicações 9 RIA (Rich Internet Applications) Relacionadas Relacionadas Desktop Web com Desktop com Web processamento C++/C# client-side Java Rich Client/ Java Applet .Net Javascript ULC JavaFX/ Java Web Start Echo Flash (browser) AIR GWT Silverlight Ajax processamento server-side Adobe Flex/ OpenLaszlo HTML/DHTML CSS definição abrangente de RIA cTIC2009 - IX Conferência sobre Tecnologias de Informação e Comunicação IPViseu, Viseu, Maio 2009
  • 10
  • A WWW foi desenvolvida com poucas preocupações ao nível da segurança aplicacional. 10
  • O actual modelo da WWW apresenta sérias vulnerabilidades, que podem ser exploradas por atacantes determinados. 10
  • 11
  • Aplicações Web RIAs Web-Services 11
  • Common Vulnerabilities and Exposures 12 Common Vulnerabilities and Exposures cTIC2009 - IX Conferência sobre Tecnologias de Informação e Comunicação IPViseu, Viseu, Maio 2009
  • Common Vulnerabilities and Exposures 12 Common Vulnerabilities and Exposures 7000 5250 3500 1750 2000 2001 2002 2003 0 2004 2005 CVE é um directório de informação 2006 pública sobre vulnerabilidades e 2007 2008 falhas de segurança. cve.mitre.org cTIC2009 - IX Conferência sobre Tecnologias de Informação e Comunicação IPViseu, Viseu, Maio 2009
  • Common Vulnerabilities and Exposures 13 OWASP Top 10 XSS SQL injection cTIC2009 - IX Conferência sobre Tecnologias de Informação e Comunicação IPViseu, Viseu, Maio 2009
  • Common Vulnerabilities and Exposures 13 OWASP Top 10 XSS SQL injection 1500 1125 750 375 2000 2001 2002 2003 2004 0 2005 2006 2007 cve.mitre.org 2008 cTIC2009 - IX Conferência sobre Tecnologias de Informação e Comunicação IPViseu, Viseu, Maio 2009
  • Frameworks RIA 14 Java Adobe Google Silver- RIA Framework JFX AIR Applet Flash Gears light Controlos - a framework RIA tem acesso a outros objectos no DOM? N Y LSO LD ? Y Dispositivos - permite acesso a câmaras ou microfones? N LF N LD N Y DNS Pinning - protege contra o DNS pinning? N N N LD N N DOM - tem acesso ao DOM? Y Y Y ? Y Y Exchange - usa formatos que misturam dados e código (HTML, JSON) N N ? LD Y Y Ficheiros - acesso ao filesystem local? N N N LD LU Y Nativo - acesso a código nativo local ou executáveis? N N N LD N Y Persistência - permite que os dados persistam no cliente? N LF LSO LD LU Y Pipes - comunicação entre RIAs no cliente? Y N N ? N Y Auto-modificável - pode a RIA modificar a framework? N N ? LD N Y Partilha - permite o upload de informação? LSO LSO Y LS LSO Y Sockets - acesso a sockets de rede? LSO LSO LSO LD N Y Windows - permite a criação de janelas? LF N N LD N Y Y - Permitido pela framework RIA LD - Limitado por programador LF - Limitado pela framework LU - Limitado por utilizador LSO - Limitado pela mesma política da origem N - Não permitido pela framework RIA cTIC2009 - IX Conferência sobre Tecnologias de Informação e Comunicação IPViseu, Viseu, Maio 2009
  • Frameworks RIA 14 Java Adobe Google Silver- RIA Framework JFX AIR Applet Flash Gears light Controlos - a framework RIA tem acesso a outros objectos no DOM? N Y LSO LD ? Y Dispositivos - permite acesso a câmaras ou microfones? N LF N LD N Y DNS Pinning - protege contra o DNS pinning? N N N LD N N DOM - tem acesso ao DOM? Y Y Y ? Y Y Exchange - usa formatos que misturam dados e código (HTML, JSON) N N ? LD Y Y Ficheiros - acesso ao filesystem local? N N N LD LU Y Nativo - acesso a código nativo local ou executáveis? N N N LD N Y Persistência - permite que os dados persistam no cliente? N LF LSO LD LU Y Pipes - comunicação entre RIAs no cliente? Y N N ? N Y Auto-modificável - pode a RIA modificar a framework? N N ? LD N Y Partilha - permite o upload de informação? LSO LSO Y LS LSO Y Sockets - acesso a sockets de rede? LSO LSO LSO LD N Y Windows - permite a criação de janelas? LF N N LD N Y www.owasp.org Y - Permitido pela framework RIA LD - Limitado por programador LF - Limitado pela framework LU - Limitado por utilizador LSO - Limitado pela mesma política da origem N - Não permitido pela framework RIA cTIC2009 - IX Conferência sobre Tecnologias de Informação e Comunicação IPViseu, Viseu, Maio 2009
  • Vulnerabilidades 15 Vulnerabilidades A MITRE indica que no total de Não-Cobertas todos os vendedores de produtos 55% Vulnerabilidades de segurança aplicacional cobrem Cobertas apenas 45% das vulnerabilidades 45% descobertas (mais de 600) cTIC2009 - IX Conferência sobre Tecnologias de Informação e Comunicação IPViseu, Viseu, Maio 2009
  • Mitos 16 • Estamos seguros porque temos uma firewall... • 75% das vulnerabilidades da Internet existem ao nível da camada das aplicações web Gartner Group, 2002 cTIC2009 - IX Conferência sobre Tecnologias de Informação e Comunicação IPViseu, Viseu, Maio 2009
  • Mitos 17 Jeremiah Grossman, BlackHat 2001 cTIC2009 - IX Conferência sobre Tecnologias de Informação e Comunicação IPViseu, Viseu, Maio 2009
  • Mitos 18 • Estamos seguros porque usamos o protocolo SSL • apenas permite a segurança dos dados em trânsito • não resolve as vulnerabilidades em • browser • servidor web cTIC2009 - IX Conferência sobre Tecnologias de Informação e Comunicação IPViseu, Viseu, Maio 2009
  • Mitos 19 Jeremiah Grossman, BlackHat 2001 cTIC2009 - IX Conferência sobre Tecnologias de Informação e Comunicação IPViseu, Viseu, Maio 2009
  • Aplicação faz parte do perímetro de segurança 20 O seu perímetro de segurança possui buracos enormes na camada aplicacional Application Layer Legacy Systems Human Resrcs Web Services Directories Databases Billing Custom Developed Application Code APPLICATION ATTACK App Server Web Server Network Layer Hardened OS Firewall Firewall Não é possível usar protecção ao nível da camada de rede (firewall, SSL, IDS, hardening) para parar ou detectar ataques ao nível aplicacional cTIC2009 - IX Conferência sobre Tecnologias de Informação e Comunicação IPViseu, Viseu, Maio 2009
  • 21 Soluções (?) cTIC2009 - IX Conferência sobre Tecnologias de Informação e Comunicação IPViseu, Viseu, Maio 2009
  • Pessoas, Processos e Tecnologia 22 cTIC2009 - IX Conferência sobre Tecnologias de Informação e Comunicação IPViseu, Viseu, Maio 2009
  • Pessoas, Processos e Tecnologia 22 cTIC2009 - IX Conferência sobre Tecnologias de Informação e Comunicação IPViseu, Viseu, Maio 2009
  • Pessoas, Processos e Tecnologia Formação 22 Percepção Orientações Testes Automáticos Desenvolvimento Seguro Revisão da Firewalls Segurança do Código Aplicacionais Configuração Testes de Segurança Segura cTIC2009 - IX Conferência sobre Tecnologias de Informação e Comunicação IPViseu, Viseu, Maio 2009
  • Pessoas, Processos e Tecnologia 23 cTIC2009 - IX Conferência sobre Tecnologias de Informação e Comunicação IPViseu, Viseu, Maio 2009
  • Pessoas, Processos e Tecnologia 23 •Segurança “desde o primeiro dia” cTIC2009 - IX Conferência sobre Tecnologias de Informação e Comunicação IPViseu, Viseu, Maio 2009
  • Pessoas, Processos e Tecnologia 23 •Segurança “desde o primeiro dia” •Segurança no Software Development Life Cycle cTIC2009 - IX Conferência sobre Tecnologias de Informação e Comunicação IPViseu, Viseu, Maio 2009
  • Pessoas, Processos e Tecnologia 23 •Segurança “desde o primeiro dia” •Segurança no Software Development Life Cycle •Formar e Informar os programadores cTIC2009 - IX Conferência sobre Tecnologias de Informação e Comunicação IPViseu, Viseu, Maio 2009
  • Pessoas, Processos e Tecnologia 23 •Segurança “desde o primeiro dia” •Segurança no Software Development Life Cycle •Formar e Informar os programadores •Usar standards, recomendações e boas práticas aceites internacionalmente (OWASP, IEEE, MITRE, CERT, ...) cTIC2009 - IX Conferência sobre Tecnologias de Informação e Comunicação IPViseu, Viseu, Maio 2009
  • Secure Software Development Lifecycle (SSDLC) 24 cTIC2009 - IX Conferência sobre Tecnologias de Informação e Comunicação IPViseu, Viseu, Maio 2009
  • Secure Software Development Lifecycle (SSDLC) 24 !quot;#$%&%'(&) *quot;&quot;+,() -./0quot;.quot;+'123() 45) 67(8$23() !!quot;#$%&'()*( !!5'&0'()(6).#4)(.#( !!=#/,&'('#/'0*(.#( !!C.#%@$:0'( !!60%-#'(#4#<0.)*( '#+,&*&-)*(.#( 78#010*(.0( .#*#%<)4<&8#%-)( +,0&*+,#'(D,/*( %><#&*(.#( *#/,'0%10(.0( 794&:013)( *#/,')( .#(*#/,'0%10( *#/,'0%10( )'/0%&2013)( !!;#04&20'(,80( !!;#04&20'(-#*-#*( !!;#04&20'(-#*-#*( !!F40%#0'(-#*-#*(.#( !!quot;#$%&'()*( 0<04&013)(.)*( 0,-)80@20.)*(.#( 0,-)80@:)*(.#( 9#%#-'013)( '#+,&*&-)*( '&*:)*(.#( *#/,'0%10( *#/,'0%10( '#/,40.)'#*( *#/,'0%10( !!;#04&20'('#<&*A#*( !!E#*-#*(.#( !!=#/,&'(9'&%:>9&)*( .#(*#/,'0%10(0)( 9#%#-'013)( .#(.#*#%?)( :B.&/)( !!5#'@$:013)(.#( *#/,')( *#/,'0%10( !!5'&0'(:0*)*(.#( -#*-#(.#( *#/,'0%10( cTIC2009 - IX Conferência sobre Tecnologias de Informação e Comunicação IPViseu, Viseu, Maio 2009
  • OWASP? 25 cTIC2009 - IX Conferência sobre Tecnologias de Informação e Comunicação IPViseu, Viseu, Maio 2009
  • OWASP? 25 cTIC2009 - IX Conferência sobre Tecnologias de Informação e Comunicação IPViseu, Viseu, Maio 2009
  • OWASP? 25 • Open Web Application Security Project • Organização sem fins lucrativos, orientada para esforço voluntário • Todos os membros são voluntários • Todo o trabalho é “doado” por patrocinadores • Oferecer recursos livres para a comunidade • Publicações, Artigos, Normas • Software de Testes e de Formação • Chapters Locais & Mailing Lists • Suportada através de patrocínios • Suporte de empresas através de patrocínios financeiros ou de projectos • Patrocínios pessoais por parte dos membros cTIC2009 - IX Conferência sobre Tecnologias de Informação e Comunicação IPViseu, Viseu, Maio 2009
  • OWASP Ferramentas e Tecnologias 7 cTIC2009 - IX Conferência sobre Tecnologias de Informação e Comunicação IPViseu, Viseu, Maio 2009
  • Chapters locais da OWASP 20 cTIC2009 - IX Conferência sobre Tecnologias de Informação e Comunicação IPViseu, Viseu, Maio 2009
  • Top 10 (2007) 28 cTIC2009 - IX Conferência sobre Tecnologias de Informação e Comunicação IPViseu, Viseu, Maio 2009
  • Top 10 (2007) 28 4'.))%B+*(%B0'+<C&9%JPBBK% !quot;#$quot;)%/(%8&O(0,-.% 8&0#6)-.%2(5.*quot;%(%8&)(96'quot;%/(%!+0$(+'.)% 2(E('L&0+quot;%M+'(0*quot;%(%8&)(96'quot;%/(%N@O(0*.)% 4'.))%B+*(%2(H6()*%!.'9('I%J4B2!K% 2(D(#quot;,-.%/(%8&E.'5quot;,-.%(%F'quot;*quot;5(&*.%/(%G''.)%8&quot;/(H6quot;/.% ?6(@'quot;%/(%A()*-.%/(%B())7()%(%/(%:6*(&C0quot;,-.% :'5quot;;(&quot;5(&*.%4'+<*.9'=>0.%8&)(96'.% 4.56&+0quot;,7()%8&)(96'quot;)% !quot;#$quot;%&quot;%'()*'+,-.%/(%quot;0()).%quot;%123% cTIC2009 - IX Conferência sobre Tecnologias de Informação e Comunicação IPViseu, Viseu, Maio 2009
  • Top 10 29 cTIC2009 - IX Conferência sobre Tecnologias de Informação e Comunicação IPViseu, Viseu, Maio 2009
  • Top 10 29 0 7.5 15 22.5 30 Cross Site Scripting Falhas de Injecção Inclusão Remota e Insegura de Ficheiros Referência Directa e Insegura de Objectos Cross Site Request Forgery Rev. Inf. e Tratamento Inadequado de Erros Quebras de Sessões e de Autenticação Armazenamento Criptográfico Inseguro Comunicações Inseguras Falha na restrição de acesso a URL www.mitre.org www.owasp.org cTIC2009 - IX Conferência sobre Tecnologias de Informação e Comunicação IPViseu, Viseu, Maio 2009
  • Top 10 30 cTIC2009 - IX Conferência sobre Tecnologias de Informação e Comunicação IPViseu, Viseu, Maio 2009
  • Top 10 30 !quot;#$$%&'()% &*quot;'+,-.%/0&&1% O p r o b l e m a q u e m a i s t e m prevalecido em termos de segurança nas aplicações web Permite que os atacantes possam executar código no browser da vítima cTIC2009 - IX Conferência sobre Tecnologias de Informação e Comunicação IPViseu, Viseu, Maio 2009
  • Top 10 30  Vulnerabilidades 3 tipos: !quot;#$$%&'()%  Reflectidos &*quot;'+,-.%/0&&1%  Armazenados  DOM injection Os ataques são normalmente realizados através de Javascript, ou através da manipulação directa dos pedidos HTTP  Verificação de Segurança O p r o b l e m a q u e m a i s t e m prevalecido em termos de Todos os parâmetros de entrada devem ser validados ou codificados segurança nas aplicações web Revisões de Código Mecanismo central de validação ou de Permite que os atacantes possam codificação executar código no browser da  Protecção vítima Combinar um conjunto de validações de todos os dados de entrada e a codificação de todos os dados de saída cTIC2009 - IX Conferência sobre Tecnologias de Informação e Comunicação IPViseu, Viseu, Maio 2009
  • Top 10 31 cTIC2009 - IX Conferência sobre Tecnologias de Informação e Comunicação IPViseu, Viseu, Maio 2009
  • Top 10 31 !quot;#$quot;%&'(&& )*+(,-./& A injecção ocorre quando dados fornecidos pelo utilizador é enviada para um interpretador como parte de um comando ou query Injecção de comandos de SQL é o mais comum cTIC2009 - IX Conferência sobre Tecnologias de Informação e Comunicação IPViseu, Viseu, Maio 2009
  • Top 10 31  Vulnerabilidades Se o input do utilizador for passado !quot;#$quot;%&'(&& directamente para um interpretador sem validação ou codificação, a aplicação fica )*+(,-./& vulnerável. Verificar se o input do utilizador é passado directamente a queries dinâmicas  Verificação de Segurança A injecção ocorre quando dados  Verificar que o utilizador não pode modificar fornecidos pelo utilizador é enviada comandos ou queries enviadas para qualquer interpretador usado pela aplicação para um interpretador como parte  Revisões de Código de um comando ou query  Protecção  Impedir o acesso a interpretadores sempre que Injecção de comandos de SQL é o possível mais comum  “Correr com o menor privilégio possível”  As stored procedures são igualmente afectadas  Validação das entradas do utilizador cTIC2009 - IX Conferência sobre Tecnologias de Informação e Comunicação IPViseu, Viseu, Maio 2009
  • Top 10 32 cTIC2009 - IX Conferência sobre Tecnologias de Informação e Comunicação IPViseu, Viseu, Maio 2009
  • Top 10 32 !quot;#$%&'()*+,(-.) +)!quot;&+/%0.)1+) 23#4+30(&) Permite que os atacantes possam realizar execução remota de código, comprometendo ficheiros de input Causado frequentemente por se confiar em ficheiros de input cTIC2009 - IX Conferência sobre Tecnologias de Informação e Comunicação IPViseu, Viseu, Maio 2009
  • Top 10 32  Vulnerabilidades !quot;#$%&'()*+,(-.) Dados hostis a serem carregados para ficheiros de sessão ou dados de execução +)!quot;&+/%0.)1+) PHP é mais comum, mas outras 23#4+30(&) linguagens são igualmente susceptíveis  Java e .Net  DTD hostis em documentos XML  Verificação de Segurança Permite que os atacantes possam Revisões de Código realizar execução remota de código, Ferramentas automáticas de pesquisa comprometendo ficheiros de input  Protecção Nunca permitir que um ficheiro enviado Causado frequentemente por se confiar pelo utilizador possa usar recursos do em ficheiros de input servidor Implementação de protocolos de segurança devidamente configurados Validar o input do utilizador cTIC2009 - IX Conferência sobre Tecnologias de Informação e Comunicação IPViseu, Viseu, Maio 2009
  • Top 10 33 cTIC2009 - IX Conferência sobre Tecnologias de Informação e Comunicação IPViseu, Viseu, Maio 2009
  • Top 10 33 !quot;#quot;$%&'()* +($quot;',)*quot;*-&.quot;/0$)* )*123quot;',4.* Ocorre quando o programador expõe uma referência não validada a um objecto interno da implementação, tal como um ficheiro, directoria, registo ou chave de uma base de dados, com uma URL ou parâmetro num formulário cTIC2009 - IX Conferência sobre Tecnologias de Informação e Comunicação IPViseu, Viseu, Maio 2009
  • Top 10 33  Vulnerabilidades !quot;#quot;$%&'()*  Exposição de referências internas de objectos +($quot;',)*quot;*-&.quot;/0$)*  Atacantes modificam os parâmetros para alterar as referências e violarem as políticas de )*123quot;',4.* controlo de acessos construídas na aplicações  As referências a chaves de base de dados são frequentemente expostas  Verificação de Segurança Ocorre quando o programador expõe  Remover qualquer referência directa a uma referência não validada a um objectos que possa ser manipulada por um objecto interno da implementação, tal atacante determinado como um ficheiro, directoria, registo  Análise e revisão do código (difícil e morosa quer por métodos manuais ou automáticos) ou chave de uma base de dados, com uma URL ou parâmetro num  Protecção formulário  A melhor protecção é evitar expor referências directas a objectos aos utilizadores  Verificar a autorização de acesso a todos os objectos referenciados cTIC2009 - IX Conferência sobre Tecnologias de Informação e Comunicação IPViseu, Viseu, Maio 2009
  • Top 10 34 cTIC2009 - IX Conferência sobre Tecnologias de Informação e Comunicação IPViseu, Viseu, Maio 2009
  • Top 10 34 !quot;#$$%&'()% *)+,)$(%-#quot;.)quot;/% 0!&*-1% Um ataque que engana a vítima a carregar uma página que contém um pedido malicioso Também conhecidos como Session Riding, One-Click Attacks, Cross Site Reference Forgery, Hostile Linking, e Automation Attack cTIC2009 - IX Conferência sobre Tecnologias de Informação e Comunicação IPViseu, Viseu, Maio 2009
  • Top 10 34  Vulnerabilidades !quot;#$$%&'()% Num forum, o ataque pode dirigir o *)+,)$(%-#quot;.)quot;/% utilizador a invocar uma função de logout Pode ser combinado com XSS 0!&*-1%  Verificação de Segurança  Usar tokens de autenticação que não sejam automaticamente submetidos pelo browser Um ataque que engana a vítima a  Protecção carregar uma página que contém um  Eliminar as vulnerabilidades de XSS da aplicação pedido malicioso  Acrescentar um “nonce” na URL por cada pedido e em todos os formulários em adição à sessão tradicional - se isto já não estiver presente na Também conhecidos como Session framework de aplicações web a ser usada Riding, One-Click Attacks, Cross Site  Solicitar écrans de login adicionais para dados Reference Forgery, Hostile Linking, e mais sensíveis Automation Attack  Não usar pedidos GET para dados mais sensíveis cTIC2009 - IX Conferência sobre Tecnologias de Informação e Comunicação IPViseu, Viseu, Maio 2009
  • Top 10 35 cTIC2009 - IX Conferência sobre Tecnologias de Informação e Comunicação IPViseu, Viseu, Maio 2009
  • Top 10 35 !quot;#quot;$%&'()*quot;) +,-(./%&'()quot;) 0.%1%/quot;,1()*quot;)2..(3) +,%*quot;45%*()) As aplicações podem sem intenção, revelar informação sobre a sua configuração, forma funcionamento interno, ou violar a privacidade através de diversos problemas da aplicação cTIC2009 - IX Conferência sobre Tecnologias de Informação e Comunicação IPViseu, Viseu, Maio 2009
  • Top 10 35 !quot;#quot;$%&'()*quot;)  Vulnerabilidades Mensagens de Erro com demasiado detalhe +,-(./%&'()quot;)  Stack Traces 0.%1%/quot;,1()*quot;)2..(3)  SQL Statements +,%*quot;45%*()) Registo desapropriado de mensagens detalhadas  Verificação de Segurança  O objectivo é que uma aplicação não dê As aplicações podem sem intenção, demasiada informação sobre os erros revelar informação sobre a sua  Exige uma verificação manual do código para ver configuração, forma funcionamento qual o detalhe das mensagens interno, ou violar a privacidade  Protecção através de diversos problemas da aplicação  Testes para gerar mensagens de erro e outras verificações no desenvolvimento  Desactivar ou limitar as mensagens de erro cTIC2009 - IX Conferência sobre Tecnologias de Informação e Comunicação IPViseu, Viseu, Maio 2009
  • Top 10 36 cTIC2009 - IX Conferência sobre Tecnologias de Informação e Comunicação IPViseu, Viseu, Maio 2009
  • Top 10 36 !quot;#$%&'(#' )#**+#*'#' ,quot;-#./0&123' Falhas na autenticação e gestão de sessões envolvem frequentemente a falha de protecção das credenciais e tokens de sessão ao longo do seu ciclo de vida. cTIC2009 - IX Conferência sobre Tecnologias de Informação e Comunicação IPViseu, Viseu, Maio 2009
  • Top 10 36  Vulnerabilidades !quot;#$%&'(#' Falha do mecanismo principal de controlo de acesso )#**+#*'#' Gestão de passwords ,quot;-#./0&123' Timeout de Sessões  Verificação de Segurança  A Aplicação de deve autenticar os utilizadores de forma apropriada e proteger as suas credenciais  Difícil de conseguir através de ferramentas automáticas Falhas na autenticação e gestão de  Combinação de Revisões de Código e de Testes sessões envolvem frequentemente a  Protecção falha de protecção das credenciais e  Manter a comunicação segura e armazenamento de credenciais tokens de sessão ao longo do seu  Usar sempre um mecanismo de autenticação sempre que ciclo de vida. se aplique  Criar uma nova sessão após a autenticação  Assegurar que o link de logout destrói toda a informação pertinente  Não expor quaisquer credenciais na URL ou nos logs cTIC2009 - IX Conferência sobre Tecnologias de Informação e Comunicação IPViseu, Viseu, Maio 2009
  • Top 10 37 cTIC2009 - IX Conferência sobre Tecnologias de Informação e Comunicação IPViseu, Viseu, Maio 2009
  • Top 10 37 !quot;#$%&'$#&'()* +quot;,-().quot;/01)* 2'3&.4quot;)* A falha de não proteger dados sensíveis recorrendo a criptografia é um defeito recorrente As aplicações que usam criptografia frequentemente, usam algoritmos mal concebidos - ou usando cifras não apropriadas ou cometendo sérios erros na sua aplicação cTIC2009 - IX Conferência sobre Tecnologias de Informação e Comunicação IPViseu, Viseu, Maio 2009
  • Top 10  Vulnerabilidades 37  Não cifrar dados sensíveis !quot;#$%&'$#&'()*  Usar algoritmos inventados +quot;,-().quot;/01)*  Uso inseguro de algoritmos criptográficos fortes 2'3&.4quot;)*  Continuar a usar algoritmos que já provaram ser fracos (MD5, RC3, RC4, etc…)  Usar chaves hard-coded, e armazenar chaves em repositórios não-seguros  Verificação de Segurança A falha de não proteger dados  Verificar que a aplicação cifra de forma adequada a sensíveis recorrendo a criptografia é informação sensível um defeito recorrente  Ferramentas de verificação automática não oferecem grande ajuda As aplicações que usam criptografia  Revisões de código são a forma mais eficiente de frequentemente, usam algoritmos verificação mal concebidos - ou usando cifras  Protecção não apropriadas ou cometendo  Usar apenas algoritmos públicos aprovados sérios erros na sua aplicação  Verificar para ter a certeza de que toda a informação sensível está a ser cifrada cTIC2009 - IX Conferência sobre Tecnologias de Informação e Comunicação IPViseu, Viseu, Maio 2009
  • Top 10 38 cTIC2009 - IX Conferência sobre Tecnologias de Informação e Comunicação IPViseu, Viseu, Maio 2009
  • Top 10 38 !quot;#$%&'()*+,- .%,+/$0(,- As aplicações frequentemente não cifram o tráfego de dados quando é necessário proteger comunicações sensíveis SSL deve ser usado para todas as ligações autenticadas cTIC2009 - IX Conferência sobre Tecnologias de Informação e Comunicação IPViseu, Viseu, Maio 2009
  • Top 10  Vulnerabilidades 38  Sniffing da rede  Todo o tráfego autenticado deve passar por !quot;#$%&'()*+,- SSL, porque o HTTP contem credenciais de autenticação, ou tokens de sessão em cada .%,+/$0(,- pedido; e não apenas no pedido de login  Usar sempre o SSL para proteger a transmissão de dados sensíveis  Verificação de Segurança  Verificar que a aplicação cifra de forma As aplicações frequentemente não apropriada todas as comunicações autenticadas cifram o tráfego de dados quando é e sensíveis necessário proteger comunicações  Ferramentas de scanning de vulnerabilidades sensíveis podem verificar se o SSL está a ser usado no front-end, e encontrar os problemas de segurança SSL deve ser usado para todas as  Revisões de código ajudam a perceber o uso apropriado do SSL para todas as ligações de ligações autenticadas backend  Protecção  Usar sempre o SSL para proteger dados sensíveis cTIC2009 - IX Conferência sobre Tecnologias de Informação e Comunicação IPViseu, Viseu, Maio 2009
  • Top 10 39 cTIC2009 - IX Conferência sobre Tecnologias de Informação e Comunicação IPViseu, Viseu, Maio 2009
  • Top 10 39 !quot;#$quot;%&quot;%'()*'+,-.% /(%quot;0()).%quot;%123% D e p e n d e r d e s e g u r a n ç a p o r obscuridade para restringir o acesso a URL Não usar verificações de controlo de acesso para URLs cTIC2009 - IX Conferência sobre Tecnologias de Informação e Comunicação IPViseu, Viseu, Maio 2009
  • Top 10 39  Vulnerabilidades !quot;#$quot;%&quot;%'()*'+,-.%  Navegação forçada  URLs e ficheiros escondidos /(%quot;0()).%quot;%123%  Mecanismo de segurança ultrapassado  Avaliar os privilégios apenas no cliente  Verificação de Segurança  Verificar que o controlo de acesso é utilizado de D e p e n d e r d e s e g u r a n ç a p o r forma consistente em todas as URL da aplicação obscuridade para restringir o acesso a  Ferramentas de verificação automática têm algumas dificuldades em verificar isto URL  Uma combinação de revisões de código e testes são mais eficazes Não usar verificações de controlo de  Protecção acesso para URLs  Desenhar e implementar os diferentes perfis de acesso a URL  Assegurar que todas as URL fazem parte deste processo  Não usar URL escondidas cTIC2009 - IX Conferência sobre Tecnologias de Informação e Comunicação IPViseu, Viseu, Maio 2009
  • Ferramentas 40 •WebGoat •WebScarab cTIC2009 - IX Conferência sobre Tecnologias de Informação e Comunicação IPViseu, Viseu, Maio 2009
  • Ferramentas 41 •WebGoat •WebScarab cTIC2009 - IX Conferência sobre Tecnologias de Informação e Comunicação IPViseu, Viseu, Maio 2009
  • Ferramentas 42 •Application Security Verification Standards cTIC2009 - IX Conferência sobre Tecnologias de Informação e Comunicação IPViseu, Viseu, Maio 2009
  • 43 Conclusões cTIC2009 - IX Conferência sobre Tecnologias de Informação e Comunicação IPViseu, Viseu, Maio 2009
  • 44 Sistemas de Informação Web-based Rich Internet (Desktop) Applications Software As A Service (SaaS) Cloud Computing cTIC2009 - IX Conferência sobre Tecnologias de Informação e Comunicação IPViseu, Viseu, Maio 2009
  • 45 Segurança de Redes + Segurança Aplicacional cTIC2009 - IX Conferência sobre Tecnologias de Informação e Comunicação IPViseu, Viseu, Maio 2009
  • 46 Security by Design cTIC2009 - IX Conferência sobre Tecnologias de Informação e Comunicação IPViseu, Viseu, Maio 2009
  • 47 Developers, developers, developers... developer Steve Ballmer, Microsoft CEO cTIC2009 - IX Conferência sobre Tecnologias de Informação e Comunicação IPViseu, Viseu, Maio 2009
  • 48 Educação, Formação, Treino cTIC2009 - IX Conferência sobre Tecnologias de Informação e Comunicação IPViseu, Viseu, Maio 2009
  • 49 Filter input; Escape output. Chris Shiflett, OmniTI cTIC2009 - IX Conferência sobre Tecnologias de Informação e Comunicação IPViseu, Viseu, Maio 2009
  • 50 Seguir standards, recomendações internacionais, boas cTIC2009 - IX Conferência sobre Tecnologias de Informação e Comunicação IPViseu, Viseu, Maio 2009
  • 51 OWASP Open Web Applications Security Project Projectos, Documentos, Ferramentas cTIC2009 - IX Conferência sobre Tecnologias de Informação e Comunicação IPViseu, Viseu, Maio 2009
  • 52 Questões? cTIC2009 - IX Conferência sobre Tecnologias de Informação e Comunicação IPViseu, Viseu, Maio 2009
  • 53 Obrigado cTIC2009 - IX Conferência sobre Tecnologias de Informação e Comunicação IPViseu, Viseu, Maio 2009