ameaças e vulnerabilidade em apps web-2013

23
APLICAÇÕES WEB Ameaças e Vulnerabilidades Kleitor Franklint [email protected]

Upload: kleitor-franklint

Post on 12-Jan-2017

315 views

Category:

Technology


0 download

TRANSCRIPT

APLICAÇÕES WEB

Ameaças e Vulnerabilidades

Kleitor [email protected]

KLEITOR

Entusiasta da Vida, Qualidade,

Colaborativos,Ágil,

Teste e Testes Ágeis. [email protected]

ombr.linkedin.com/in/kfranklint

99416-0873

OBJETIVOSOBJETIVOS

Visão geral sobre as 10 principais vulnerabilidades e as causas gerais que lhes permitem a existência.

P3

P8P7

WASC THREAT CLASSIFICATION, 2010

Objetivam controlar recursos por falsificação ou quebra de limites: Sistemas, redes, banco de dados, máquinas, etc.

Facilitadas pela engenharia social.

Ameaças e Vulnerabilidades

TERMINOLOGIA E DEFINIÇÕES

Vulnerabilidade: uma fraqueza ou falha que pode acidentalmente ou intencionalmente ser explorada, resultando em quebra da politica de segurança.

Ameaça: vulnerabilidade que representa ameaça aos ativos.

Official (ISC) GUIDE TO THE CSSLP

(Open Web Application Security Project)• Organização internacional que recebe iniciativas de todo o mundo;• Comunidade aberta dedicada a possibilitar a criação de aplicações confiáveis;• Todas as ferramentas, documentos, fóruns e capítulos são livres e abertos a todos interessados;

http://www.owasp.org/index.php/About_OWASP

Um pouco sobre a OWASP

Por que precisamos de Por que precisamos de aplicações seguras?aplicações seguras?

75% ( 60~90) de todos os ataques ocorrem na camada de aplicação;

Fontes: OWASP, CWE, WASC, NIST, CERT, Black hat, White Hat, Sans Institute, Gartner Group.

90% das aplicãções web são vulneráveis;

1,000,000 sites usam SSL (~7,000,000 vulnerabilidades de localização desconhecida);

17,000,000 de desenvolvedores: poucos treinados em segurança de software;

WASC THREAT CLASSIFICATION, 2010

Localização das vulnerabilidades naLocalização das vulnerabilidades na““Visão de Fase de DesenvolvimentoVisão de Fase de Desenvolvimento””

Design Implementação

Deploy

13 42 1246 vulnerabilidades ao todo46 vulnerabilidades ao todo

Riscos de Segurança top 10

São exploradas em conjunto: um abre, outro vasculha. Classificação relativa.

“Para conhecer seu inimigo, se torne o seu inimigo”

A1- FALHAS DE INJEÇÃO

Ataques via browser ou prompt:

SQL Injection: comandos SQL

XSS Injection: Javascript e HTML

Outros: command Injection, LDAP, XML, etc.

Injeta-se uma query SQL na aplicação usando um navegador web comum.

IMPACTO

Criar, ler, atualizar ou excluir qualquer dado disponível para a aplicação através de SQL;

Ganhar acesso a recursos restritos de S.O e rede;

Conectar-se a sistemas como se fosse um usuário autorizado, driblando a necessidade de uma senha.

SQL Injection

Cenários: CAMPOS EDITÁVEIS OU NÃO, UPLOAD MALIOSOS, CSS maliciosos, etc.

A2- QUEBRA DE AUTENTICAÇÃO E GERENCIAMENTO DE SESSÃO

Cenários: vazamentos ou falhas em funções de autenticação ou gerenciamento de sessão para assumir a identidade de outro usuário.

Alvos: contas expostas, senhas fracas, ID de sessão capturáveis ou de baixa randomização,

IMPACTO

A3-CROSS-SITE SCRIPTING (XSS)Executar scripts cliente (Javascript, Flash Script, HTML, etc) de forma direta ( no meu browser) ou remota ( no browser da vítima).

•Roubar sessões de usuário;

•Pichar sites Web;

•Introduzir worms, zumbis, etc;

•Negação de serviço.

IMPACTO

A4-REFERÊNCIA INSEGURA DIRETA A OBJETOS

Alterar parâmetros aplicação web via URL do browser, campo da aplicação ou prompt. O usuário pode ser autorizado ou não.

Quebra de limites e restrições a arquivos, diretórios, banco de dados, etc. Exemplos:

•Votar ou marcar consultas quantas vezes quiser;

•Acessar conta de um usuário alterando um ID;

•Ter acesso a funcionalidades de maior privilégio.

IMPACTO

http://example.com/app/accountInfo?IdConta=1

A5- CONFIGURAÇÃO INCORRETADE SEGURANÇA

Refere-se à configurações de segurança incorretas ou não implementadas, isso

inclui manter atualizados software e suas partes. Utiliza-se demais técnicas de

ataque.

Cenários:

•Contas padrão;

•Páginas não utilizadas;

•Falhas não corrigidas;

•Arquivos e diretórios desprotegidos;

•Padrões de nomes fracos,

•Padrões de senha fracos, etc.

•Relações internas e externas.

•Captchas de baixa randomização e complexidade.

IMPACTO

A6- EXPOSIÇÃO DE DADOS SENSÍVEISAusência ou inadequação da proteção aplicações web a dados sensíveis: Trânsito, armazenamento e exposição ( banco de dados, scripts clientes e servidores).

Ex. dados sensíveis: cartões de crédito, IDs fiscais e credenciais de autenticação.

IMPACTO•Fraudes no cartão de crédito;

•Roubo de identidade.

•Ganho de privilégios

A7- FALTA DE FUNÇÃO PARA CONTROLE DO NÍVEL DE ACESSOO atacante é um usuário autorizado no sistema, que simplesmente muda a URL ou um parâmetro de função privilegiada com o propósito de acessar a funcionalidade sem autorização adequada.

Necessário validar no servidor cada função invocada.

IMPACTO

A8- REQUISIÇÃO REMOTA FORJADA (CSRF)

CENÁRIOS

•Requisições não validadas em aplicações;•Links em e-mails;•Mensagens em forums, etc;•Clones de sites.

Forjar requisições HTTP falsas através de XSS ou engenharia social, além de inúmeras outras técnicas. Se o usuário estiver autenticado, o ataque é bem sucedido.

IMPACTO

A9- UTILIZAÇÃO DE COMPONENTES VULNERÁVEIS CONHECIDOSO atacante identifica um componente vulnerável através de varredura ou análise manual e ataca a aplicação através dele.

Malwares também assumem esse comportamento.

IMPACTO

A10- REDIRECIONAMENTOS E ENCAMINHAMENTOS INVÁLIDOS. O atacante aponta para um redirecionamento válido por encaminhamento inseguro para evitar verificações de segurança.

Observe detalhes tais como: Https, validações vertical e horizontal, diferenças de nomes e layouts, proxys.

IMPACTO• Roubo de identidade.

COMO RESOLVER VULNERABILDADES EM APLICAÇÕES

• Padrão de Verificação de Segurança de Aplicações (ASVS)• Modelagem de Riscos e ameaças.

• Projete segurança de software com guia de desenvolvimento seguro.

• Utilize API de segurança.

COMO RESOLVER VULNERABILDADES EM APLICAÇÕES

Implemente estratégias para segurança de software customizadas para os riscos específicos que a organização enfrenta. Modelo de Maturidade de Garantia do Software (SAMM).

• Participe de ações educacionais sobre desenvolvimento seguro.

23

POSSO COLABORAR COM MAIS RESPOSTAS?

[email protected]

br.linkedin.com/in/kfranklint

99416-0873