Upload
marcio-cunha
View
310
Download
1
Embed Size (px)
Citation preview
Segurança de aplicações web, Conhecendo e Considerando dentro ciclo de vida do desenvolvimento do software
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
Ataques em vulnerabilidades web 2011
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
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!
• 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?
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
Fonte: WASC 2010 Web Application Security Statistics
Realidade: Maioria das aplicações web são vulneráveis
(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
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
E AGORA QUEM PODERA NOS DEFENDER ?????
Analista de teste (Especialista em segurança, especializado em PENTEST)
COMO?
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.
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
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
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
OWASP TOP 10 – Falhas Segurança Web
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
Hacking 102: Integrating Web Application Security Testing into Development 21
Demonstração XSS
Código HTML:
Hacking 102: Integrating Web Application Security Testing into Development 22
Código HTML:
Demonstração XSS
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
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.
SQL Injection - Exploit
Hacking 102: Integrating Web Application Security Testing into Development 26
SQL Injection Demonstration
SELECT true FROM users WHERE username = ‘
jsmith
’ AND password = ‘’
Demo1234AAAAAAAA
’
Perguntas?
Contatos:
http://www.facebook.com/marcio.cunha.739
http://www.linkedin.com/profile/view?id=71356290
Obrigado