Upload
marcio-cunha
View
700
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 vulnerabil idade da rede
Usamos Scanners de vulnerabil idade da rede
Temos Firewalls na infra-estruturaTemos Firewalls
na infra-estrutura Nós auditamos 1 vez por semestre com PenTestes Nós auditamos 1 vez por semestre com PenTestes
O Mito: Nosso site é Seguro
Usamos Criptografia SSL
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
WebApplications
% 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 Web
75%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 Transporte
App Cliente é deployed aqui.
InternetInternet
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 / sites Aná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
Codif icaçã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