29
Segurança de aplicações web, Conhecendo e Considerando dentro ciclo de vida do desenvolvimento do software

Seguranca web Testday2012

Embed Size (px)

Citation preview

Page 1: Seguranca web Testday2012

Segurança de aplicações web, Conhecendo e Considerando dentro ciclo de vida do desenvolvimento do software

Page 2: Seguranca web Testday2012

Quando se fala em segurança, as pessoas voltam o pensamento para a infra estrutura, como

antivírus, firewall e etc. É necessário também olhar para segurança dos dados, a segurança dos pacotes XML que trafegam, a segurança das

aplicações, ou seja deve-se trazer uma visão mais holística de todo o cenário.

Geral

Page 3: Seguranca web Testday2012

Ataques em vulnerabilidades web 2011

Page 4: Seguranca web Testday2012

Usamos Scanners de vulnerabilidade da

rede

Temos Firewalls na infra-estrutura

Nós auditamos 1 vez por semestre com

PenTestes

O Mito: Nosso site é Seguro

Usamos Criptografia SSL

Page 5: Seguranca web Testday2012

Anatomia de uma invasão de segurança

Desenvolvedor de aplicativos Inclui defeito de segurança por falta de especialização no que se refere à conformidade e aos requisitos e métodos de segurança

Hacker O hacker cria solicitações específicas para a URL a fim de explorar a falha do software:https://w3.ibm.com/[email protected]&pass=“foo ' or 1=1—”

Resultado Falha em aplicativo da Web resulta em roubo de identidade, exposição de dados pessoais, responsabilidade legal e perante a imprensa

- Perda de receita- Impacto sobre as ações- Responsabilidade

perante os clientes- Custo de correção

Exemplo:

Custo total relatado da violação >US$

250 milhões

Vendedor do varejo

Origem do Problema!

Page 6: Seguranca web Testday2012

• Aplicações Web são o foco n º 1 de hackers:– 75% dos ataques são na camada da aplicação (Gartner®)– XSS e SQL Injection são #1 e #2 vulnerabilidades reportadas (Mitre®)

• Maioria dos sites são vulneráveis:

– 90% dos sites estão vulneráveis a ataques de aplicações (Watchfire®)

– 78% por cento das vulnerabilidades exploráveis facilmente afetados aplicações Web (Symantec™)

– 80% das organizações vai experimentar um incidente de segurança de aplicativos

em 2012 (Gartner)• Aplicações web são alvos de alto valor para hackers :

– Dados do usuário, Cartões de Credito, Roubo ID, fraudes, site defacement, etc

Porque Aplicações web são uma alta prioridade?

Page 7: Seguranca web Testday2012

Network Server

WebApplication

s

% de Ataques % de Dólares

75%

10%

25%

90%

Fontes: Gartner, Watchfire

Segurança Gastos

De todos os ataques a Segurança da Informação são direcionados para a camada de aplicação Web75%75%

De todas as aplicações web são vulneráveis2/32/3

Realidade: Maioria dos ataques são Apps Web

Page 8: Seguranca web Testday2012

Fonte: WASC 2010 Web Application Security Statistics

Realidade: Maioria das aplicações web são vulneráveis

Page 9: Seguranca web Testday2012

(Apresentação) App Server(lógica Negocio)

Base de dados

Camada cliente (Browser)

Camada Intermediaria Camada Dados

Firewall

Dados sensitivos são armazenados

aqui

SSL

Protege Transport

e

App Cliente é deployed aqui.

Internet

Analise arquitetura aplicação web em alto nível

Protege Rede

Page 10: Seguranca web Testday2012

Desktop Firewall IDS/IPS Applications

SQL Injection

Cross Site Scripting

Pattern-based Attack

Web Server Known

Vulnerabilities

Parameter Tampering

Cookie Poisoning

Segurança da camada frontal não para todos os vetores de ataque

Hacker

Users

Anti-spoofing

DoS

Port Scanning

Privileged users (DBAs,developers)

Databases

Suspicious Activity

Sensitive Data Unauthorized

Access

Como ocorre ataque aplicações web e base dados

Page 11: Seguranca web Testday2012

E AGORA QUEM PODERA NOS DEFENDER ?????

Page 12: Seguranca web Testday2012
Page 13: Seguranca web Testday2012

Analista de teste (Especialista em segurança, especializado em PENTEST)

Page 14: Seguranca web Testday2012

COMO?

Page 15: Seguranca web Testday2012

Ferramentas scaneamento WEB

O que é isso?São ferramentas para automatização usadas para executar avaliações de vulnerabilidade em aplicações Web

Por que eu preciso disso?Para simplificar, encontrar e corrigir problemas de segurança da Web da aplicação.

O que elas fazem?Digitaliza aplicações Web, encontra problemas de segurança e relatórios sobre eles de uma forma amigável.

Quem usa?Auditores de Segurança - Os principais usuários de hojeEngenheiros de QA - Quando os auditores se tornam o “Bottle Neck”Desenvolvedores - Para encontrar as falhas o mais cedo possível.

Page 16: Seguranca web Testday2012

Faz a varredura de aplicativos da Web /

sitesAnálise

(identificação de problemas)

Relatório(detalhado e acionável)

Como trabalha Ferramenta Teste de Segurança?

WEB SCANNING

Page 17: Seguranca web Testday2012

NetworkNetwork

Operating SystemOperating System

ApplicationsApplications

DatabaseDatabase

Web Server

Web Server Configuration

Web Server

Web Server Configuration

Third-party ComponentsThird-party Components

Web Applications

Client-Side Custom Web Services

Web Applications

Client-Side Custom Web ServicesNetwork

NessusISSQualysGuardeEye RetinaFoundstone

Host

SymantecNetIQISSCA Harris STAT

Database

AppSec IncNGS Software

App Scanners

Rational AppScanHP WebInspectCenzicNT ObjectivesAcunetix WVS

Code ScanningEmerging

TechAppScan DE/BEFortifyOunce LabsKlockworkParasoft®

Network

Operating System

Applications

Database

Web Server

Web Server Configuration

Third-party Components

Web Applications

Client-Side Custom Web Services

Page 18: Seguranca web Testday2012

Desenvolvimento

Desenvolvedores

SDLCSDLC

Desenvolvedores

Desenvolvedores

Codificação QA Segurança Produção

Possibilita que os especialistas de segurança levem a correção de volta para o desenvolvimento

Fornece aos desenvolvedores e testadores o conhecimento para detecção

e a capacidade de correção

Garante que as vulnerabilidades sejam tratadas antes de os

aplicativos serem colocados em produção

Ciclo de vida desenvolvimento de software

Page 19: Seguranca web Testday2012

OWASP TOP 10 – Falhas Segurança Web

Page 20: Seguranca web Testday2012

Cross-Site Scripting – (XSS)

O que é isso?

Falhas XSS ocorrem sempre que uma aplicação obtém as informações não confiáveis e envia para um navegador Web sem a devida validação. O XSS permite aos atacantes executarem scripts no navegador da vítima que pode seqüestrar sessões de usuários, sites desfigurar, ou redirecionar o usuário para sites maliciosos

Quais são as implicações?

Tokens de sessão roubado (segurança do navegador contornado)Conteúdo da página completa comprometidaFuturas páginas no navegador comprometida

Page 21: Seguranca web Testday2012

Hacking 102: Integrating Web Application Security Testing into Development 21

Demonstração XSS

Código HTML:

Page 22: Seguranca web Testday2012

Hacking 102: Integrating Web Application Security Testing into Development 22

Código HTML:

Demonstração XSS

Page 23: Seguranca web Testday2012

XSS – O Processo Exploit

Evil.org

User bank.com

1) Link para bank.comenviado pelo usuário viaE-mail ou HTTP

2) usuário envia script incorporado como dados

3) Script/dado retornou, executou pelo browser

4) Script envia cookie usuários e informações de sessão sem consentimento ou conhecimento do usuário

5) Evil.org usa informações da sessão roubado para representar o usuário

Page 24: Seguranca web Testday2012

Injection Flaws

O que é isso?

Falhas na injeção, tais como SQL, sistemas operacionais e injeção LDAP, ocorrem quando os dados não confiáveis é enviado a um intérprete como parte

de um comando ou consulta. Dados hostis do atacante pode enganar o intérprete para executar comandos mal intencionados ou acessar dados não autorizados

Quais são as implicações?

1. SQL Injection – Acessa/modifica dados na DB2. XPath Injection – Acessa/modifica dados Formato XML3. SSI Injection – Executa comandos no servidor e acessa dados sensitivos4. LDAP Injection – Ignora a autenticação (ByPass)5. MX Injection – Usa servidor e-mail como uma maquina spam6. HTTP Injection – Modifica ou envenena cache web7. Etc.

Page 25: Seguranca web Testday2012

SQL Injection - Exploit

Page 26: Seguranca web Testday2012

Hacking 102: Integrating Web Application Security Testing into Development 26

SQL Injection Demonstration

SELECT true FROM users WHERE username = ‘

jsmith

’ AND password = ‘’

Demo1234AAAAAAAA

Page 27: Seguranca web Testday2012

Perguntas?

Page 28: Seguranca web Testday2012

Contatos:

http://www.facebook.com/marcio.cunha.739

http://www.linkedin.com/profile/view?id=71356290

Page 29: Seguranca web Testday2012

Obrigado