Você está na página 1de 105

Segurança de Aplicativos

Cícero Gadelha.
Conceitos Importantes

Confidencialidade.
Integridade.
Disponibilidade.
Conceitos Importantes.

Vulnerabilidade.
Ameaças.
Impacto.
Risco.
Vulnerabilidades Comuns.

Pessoas.
Processos.
Tecnologia.
1 - Injeção.

Funcionamento.
Aplicação Vulnerável

Características.
Formulários.

Entradas de Dados.
Campos do Formulário.
Funcionamento Interno.

PostData.
SQL.
Injetando Consultas.

Manipulando PostData.
Injetando SQL.
Aprendendo Com os Erros.
Aprendendo Sem Erros.
Mundo Real.
Defesas.

Parameterized queries
Bind Parameters.
Detalhamento das Defesas.

Parameterized queries
Bind Parameters.
Sistema Protegido.
2 - Quebra de Autenticação e
Gerenciamento de Sessão.

Funcionamento.
Variações da Vulnerabilidade.

Session Hijacking.
Senhas Fracas.
Controles de Logout Fracos.
Gerenciamento de Sessão.

Usuário.
Senha.
Session ID.
Transmissão em Texto Plano.

Significado.
Riscos.
Captura de Dados.

Modo Promíscuo.
Manipulação do Fluxo dos Dados.
Interceptando Sessões.

Cliente.
Aplicação.
Atacante.
Arp Spoofing.

Funcionamento.
Possibilidades.
Uso Benéfico.
Defesas

Timeout
Criptografia
Controle de Login
Ajuste de Timeout.

Seleção de tempo razoável.


Timeout Absoluto.
Criptografia.

Tuneis Criptografados.
SSL/TLS.
Proteção Session ID.
Controle de Login.

Número de Tentativas.
Delay de Resposta.
3 - Cross-Site Scripting (XSS).

Funcionamento.
Informação da Busca Refletida.

Emissão de Dados.
Informação Refletida.
Injetando Código na Busca.

Código HTML.
Confirmação de Sistema Vulnerável.
Sequência do Ataque.

Hacker.
Usuário.
Servidor Vulnerável.
Mascaramento de URL.
Stored XSS

Onde Armazenar Código Malicioso.


Progressão do Ataque.
Interação Com o Usuário.
Mundo Real.
Validação das Entradas

Validação de Entradas.
Validação de Saídas.
Proteções

Blacklist.
Whitelist.
Canonicalization.
Escaping.
4 - Referência Insegura e Direta a Objetos.

Funcionamento.
Referências via URL.

Acesso Direto a Objetos.


Previsibilidade.
Navegação em Diretórios.
Mundo Real.
Mapeamento Indireto.

Funcionamento.
Vantagens.
5 - Configuração Insegura de Segurança.

Sobre as Configurações.
O que Considerar na Hora da Configuração.
Estratégias.

Hardening ou Fortalecimento.
Configuração do Ambiente.
Bootstrapping.
Erros Comuns de Configuração.

Mensagens de Erros.
Ativação do Verbose.
Erros de Bancos de Dados.
Erros de Login.
Erros de Software ou Debug.
Configurações de Ambiente.

Hardcoding.
Patching.
Hardcoding
Patching.

Consequência Falta de Patch.


Gerência de Atualizações.
Defesas.

Gerência de Erros.
Hardening.
Scripts de Automação de Configuração.
Patch e Auditoria.
Gerência de Erros

Generalização de Erros.
Vantagens.
Riscos.
Exemplos.
Hardening.

Hardware e Sistema.
Sistema Operacional.
Software.
Padronização de Procedimentos.

Isos Remasterizadas.
Scripts de Instalação.
Scripts de Configuração.
Patch e Auditoria.

Gerência de Patch.
Ambiente de Teste.
Auditoria.
6 - Exposição de Dados Sensíveis.

Características.
Agentes de Ameaça.
Vetores de Ataque.

Roubo de Chaves Criptográficas.


Interceptação de Dados.
Coleta de Dados em Texto Plano.
Vulnerabilidades.

Falta de Criptografia.
Chaves e Algorítimos Fracos. *
Falhas no Navegador.
Impactos Técnicos.

Médio
Alto
Muito Alto
Impactos aos Negócios.

Impacto não Quantitativo.*


Reputação.*
Responsabilidade Legal.
Estou Vulnerável?

Dados Críticos em Texto Plano.


Algorítimo Criptográfico Defasado.
Chaves Fracas.
Classificação de Informações

Decidir o que Proteger.


Selecionar Níveis de Proteção.
Proteções e Recomendações.

Criptografia Forte.*
Descarte de Informações.*
Nível Adequado de Segurança.
Algoritmos Específicos para Senhas.*
Exemplos Cenário de Ataque.

Problemas na Gerência da Criptografia.


Comunicação em Texto Plano.
7 - Falta de função para controle de nível de
acesso.

Características.
Agentes de Ameaça.
Vetores de Ataque.

Alteração de Parâmetros URL’s.


Usuários Anônimos.
Exemplo de Alteração de Parâmetro.
Vulnerabilidades.

Gerenciamento nível de Configuração.


Verificações no Código.
Impacto Técnico.

Acesso a Funcionalidades não Autorizadas.


Acesso a Funções Administrativas.
Impactos para os Negócios.

Manipulação de Dados Críticos.


Ameaça a Reputação da Empresa.
Detectar a Vulnerabilidade.

Restrição de Acesso.
Testar e Validar Todas as Funções.
Validar Autenticação e Autorização.
Controle de Identidade.

Criação de Papeis.
Definição de Perfis de Usuário.
Módulo de Autorização. *
Como Evitar?

Modulo de Autorização.
Auditoria Regular.
Exemplos de Cenário de Ataque.

Exploração de Funções Durante Navegação.


Papeis com poderes mal configurados.
8 - Cross-Site Request Forgery (CSRF).

Funcionamento.
Características.
Agentes de Ameaça.

Engenheiros Sociais.
Sites ou Serviços HTML Previamente
Preparados.
Vetores de Ataque.

Requisições HTTP Forjadas.


Uso de técnicas de Apoio, XSS e etc.
Vulnerabilidade.

Previsibilidade da Comunicação.
Fácil Reprodução de Requisições.
Impactos Técnicos.

Manipulação de Configurações.
Explorar Recursos Dependentes de Login.
Impactos ao Negócio.

Funções Afetadas na Continuidade do


Negócio.
Reputação da Empresa.
Detectando a Vulnerabilidade.

Verificar se Links e Formulários Possuem


Tokens.
Mecanismos Para Confirmar Intenção.
OWASP CSRF Tester.
Proteção.

Utilização de Tokens de Difícil Previsão.


Inclusão de Tokens Automaticamente com
CSRF Guard.
Exemplo de Ataque.
9 - Utilização de Componentes Vulneráveis
Conhecidos.

Características.
Agentes de Ameaça.

Componentes Vulneráveis.
Bibliotecas.
Vetores de Ataque.

Exploits Preparados Componentes com


Problemas Conhecidos.
Vulnerabilidade.

Componentes com Versões Vulneráveis.


Uso de Bibliotecas Desatualizadas.
Uso de Dependências Com Problemas
Conhecidos.
Impactos Técnicos.

Falha No Controle de Acesso.


XSS.
Variando do Mínimo ao Completo.
Impacto Para O Negócio.

Importância das Funções que Se Apoiam


em Componentes Falhos ou Vulneráveis.
Como Detectar.

Mapeamento dos Componentes.


Report De Vulnerabilidades.
Identificação de Versões.
Defesas.

Não Usar o Componente.


Monitorar os Componentes.
Estabelecer Politicas.
Encapsular Componente.
Exemplo de Ataques.

Apache CXF Authentication Bypass.


Spring Remote Code Execution.
10 - Redirecionamentos e
Encaminhamentos Inválidos.

Funcionamento.
Agentes de Ameaça.

Engenheiros Sociais.
Sites ou Feeds HTML.
Vetores de Ataque.

Redirecionamentos Inválidos.
Vulnerabilidade.

Encaminhamentos.
Especificação de Parâmetros.
Impactos Técnicos.

Instalação de Softwares.
Contorno de Controles de Acesso.
Vazamento de Senhas.
Detecção da Vulnerabilidade.

Revisão de Código.
Whitelist.
Redirecionamentos Com Determinados
Códigos HTTP, 300-307 e 302
Como Evitar?

Evitar o Uso.
Evitar Parâmetros do Usuário.
Verificar se os Parâmetros São Validos Para
o Usuário.
Exemplos de Ataque.
Analise de Código.

Importância.
Ferramentas.

RIPS.
Wireshark.
Kali Linux
Ettercap.
RIPS.

Analisador de Código.
Criação de Relatórios.
Wireshark.

Funcionamento.
Importância.
Desenvolvimento Seguro de Código

Vantagens.
Importância.
Referências.

www.owasp.com
www.kali.org.
www.wireshark.org.