webinar - exploração de vulnerabilidades em softwares in seguros

Post on 15-Jan-2017

155 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

CIRCUITO DE PALESTRASEXIN Brasil 2016

https://www.exin.com/home_portfolio/

EXIN PORTFOLIO Baseado no e-CF(e-COMPETENCE FRAMEWORK)

BEM-VINDO AO CIRCUITO DE PALESTRAS 2016

Desenvolvimento de Software  Num ambiente de negócios novo, flexível e dinâmico as empresas precisam estar focadas em inovação contínua. TIC tem um papel crucial neste contexto. O EXIN oferece programas de certificação que abordam a necessidade de desenvolvimento de softwares inovadores e flexíveis, considerando o aumento do cyber crime e o desenvolvimento de novas tecnologias e abordagens, tais como Cloud Computing e Agile.

BEM-VINDO AO CIRCUITO DE PALESTRAS 2016

Governança e (Ciber) Segurança - Segurança da Informação  A ascensão da mobilidade e a explosão de dados resultou na crescente necessidade de levar em consideração a segurança, a fim de reduzir riscos corporativos e proteger seus próprios ativos e o de seus clientes. O cibercrime está em ascensão e pode ter resultados devastadores. Com uma estimativa de 95% de todos os incidentes de segurança envolvendo erro humano, as pessoas podem ser consideradas o seu elo mais fraco.

O EXIN oferece uma ampla gama de certificações relevantes no domínio da governação & SECURITY (CYBER), atendendo a todas as funções e níveis dentro de uma organização, de modo que você tenha, internamente, todo o conhecimento necessário para proteger o seu negócio.

• Pesquisador Doutor em Ciência da Computação (UNESP)

• Docente Permanente do MPMQ – Inmetro

• Docente Colaborador do PPGI/UFRJ

• Orientador de alunos de mestrado/doutorado MPMQ/PPGI

• Área de atuação: análise e proteção de software e análise forense

• Mais de 50 artigos científicos publicados

• Instrutor dos cursos de Análise Forense Computacional, Análise de Malware, Análise Forense de Redes pela Clavis e do curso Secure Programming Foundation da EXIN

About me

• Introdução• Vulnerabilidades mais comuns (OWASP)• Alguns cases de exploração (bWAPP & bee-box)• Conclusões

Exploração de Vulnerabilidades em Softwares InSeguros

• Crime cibernético

• Vazamento de dados

• Segurança da informação

• Foco atual em medidas reativas e preventivas

• É necessário mitigar as vulnerabilidades em sua origem

Introdução

• O que é uma vulnerabilidade ?

– Fraqueza em um sistema– Inerente em sistemas complexos; sempre estarão presentes– Maioria advém da falta de práticas de codificação segura– O caminho na qual uma ameaça é manifestada– Duas categorias: conhecidas e desconhecidas (zero day)

Introdução

TOP 10 - OWASP

• Injeção de código• Quebra de autenticação e Gerenciamento de Sessão• Cross-Site Scripting (XSS)• Referência Insegura e Direta a Objetos• Configuração Incorreta de Segurança• Exposição de Dados Sensíveis• Falta de Função para Controle do Nível de Acesso• Cross-Site Request Forgery (CSRF)• Utilização de Componentes Vulneráveis Conhecidos• Redicionamentos e Encaminhamentos Inválidos

bWAPP & bee-box

• bWAPP: aplicação web insegura gratuita e de código aberto• bee-box: máquina virtual já com o bWAPP instalado• Cobre mais de 100 vulnerabilidades web incluindo todos os

riscos do projeto OWASP TOP 10• Aplicação PHP com banco de dados MySQL• Desenvolvido para próposito educacional e para testes de

segurança

#1 – Injeção de código

• Existem vários tipos de vulnerabilidades de injeção:– Injeção SQL, de Código, de Comando de SO, LDAP, XML, Xpath, IMAP/SMTP, Buffer

Overflow

• Envolvem a permissão de execução de requisições, comandos ou consultas não confiáveis ou manipuladas pela aplicação web

• Riscos elevados quando a vulnerabilidade é efetivamente explorada: perda/corrupção de dados, roubo de dados, acesso não autorizado, negação de serviço

#2 – Quebra de autenticação e Gerenciamento de Sessão

• Uma vulnerabilidade que permite a captura ou evasão de métodos de autenticação utilizados para proteger contra acessos não-autorizados

• Esquema mais comum é a utilização de usuário e senha

• Estudos recentes de 2015 indicam que 23% das aplicações testadas são vulneráveis

#2 – Quebra de autenticação e Gerenciamento de Sessão

• Passos utilizados para logar em uma aplicação Web– Solicitação das credenciais (usualmente usuário e senha)– As informações são submetidas a aplicação e um ID da sessão é criado e correlacionado

as credenciais

• Fraquezas – Conexões não criptografadas– Credenciais previsíveis– Valor de sessão não expira ou não é invalidado depois de um logout– Credenciais de autenticação não são protegidas em seu armazenamento– IDs da sessão são utilizados na URL

#3 – Cross-Site Scripting (XSS)

• Inserção pelo atacante de trechos de código JavaScript não confiáveis em sua aplicação sem a devida validação

• Código JavaScript é executado pela vítima que visita a aplicação• 2 tipos principais:

– Refletido: link enviado pelo atacante por meio de email, rede social, etc. Este link contém um script executado pela vítima

– Armazenado: o atacante embarca o código de forma persistente no website alvo na qual será executado por todos que visitarem o site

#3 – Cross-Site Scripting (XSS)

• Riscos:– Comprometimento da conta do usuário– Obtenção dos dados da aplicação Web– Modificação de conteúdo da página– Redirecionamento da vítima para outro site malicioso ou falsificado– Plataforma para instalação de outros códigos maliciosos no sistema da

vítima

• Demonstração

#4 – Referência Insegura e Direta a Objetos

• Ocorre quando um programador expõe uma referência a implementação interna de um objeto, como um arquivo, diretório, ou registro da base de dados

• Sem a verificação do controle de acesso ou outra proteção, os atacantes podem manipular estas referências para acessar dados não-autorizados

• Demonstração

#5 – Configuração Incorreta de Segurança

• Configuração inapropriada do servidor ou aplicação Web– Depuração habilitada– Permissões incorretas das pastas– Uso de contas e senhas padrão– Páginas de configuração/gerenciamento habilitadas

• Uma boa segurança exige a definição de uma configuração segura e implementada na aplicação, frameworks, servidor de aplicação, servidor web, banco de dados e plataforma

#6 – Exposição de Dados Sensíveis

• O que são dados sensíveis:– Dados bancários (números de contas e cartões de crédito)– Dados médicos– Informação pessoal (data de nascimento, CPF)– Contas de usuário/senhas

• Quais são as implicações:– Perda financeira– Hijacking da identidade– Perda de confiança

• Principais causas:– Proteção insuficiente na camada de transporte– Armazenamento inseguro de dados criptográficos

#7 – Falta de Função para Controle do Nível de Acesso

• Trata dos seguintes pontos:– Um usuário pode acessar diretamente um recurso?– A interface de usuário expõe um recurso não autorizado?– O servidor não deve confiar somente na entrada do

usuário

• Demonstração

#8 – Cross-Site Request Forgery (CSRF)

• Vulnerabilidade que permite um atacante forçar um usuário a realizar operações sem seu consentimento

• Dependendo da ação, esta vulnerabilidade pode causar danos seríssimos para o usuário– Postagens constransgedoras em redes sociais– Movimentação de $ de contas bancárias

• Ex. Enquanto logado em sua conta bancária, você acessa um siste que tem um ataque CSRF (neste ponto, o atacante transfere seu $ para a conta dele)

#9 – Utilização de Componentes Vulneráveis Conhecidos

• Componentes, tais como bibliotecas, frameworks, e outros módulos de software quase sempre são executados com privilégios elevados

• Se um componente vulnerável é explorado, um ataque pode causar sérias perdas de dados ou o comprometimento do servidor

• As aplicações que utilizam componentes com vulnerabilidades conhecidas podem minar as suas defesas e permitir uma gama de possíveis ataques e impactos

#10 – Redicionamentos e Encaminhamentos Inválidos

• Situação onde um atacante pode controlar qual site você será redirecionado alterando um parâmetro inserido pelo usuário

• Sem uma validação adequada, os atacantes podem redirecionar as vítimas para sites de phishing ou malware, ou usar encaminhamentos para acessar páginas não autorizadas

Conclusões

• Treinamento e conscientização de programadores e desenvolvedores de software como forma de mitigar vulnerabilidades

– Minimização no tempo de reparo– Redução de custo para correção de falhas– Reputação da empresa– Satisfação do cliente

ACESSO AO MATERIAL

Vamos disponibilizar na próxima semana: Link desta apresentação no YouTube e Blog Clavis.

Página do curso para todos os detalhes: http://www.clavis.com.br/treinamento-ensino-a-distancia-

ead/exin-secure-programming-foundation

Para mais informações entre em contato conosco: contato@clavis.com.br

Apresentações do Circuito de Palestras EXIN 2012-2016: https://www.youtube.com/user/EXINexams/videos?flow=g

rid&sort=dd&view=0

ACESSO AO MATERIAL LEMBRETES FINAIS

Aulas17, 19, 24, 26 e 31 de outubro de 2016

Segundas e quartas, das 19:00 as 22:15 horas

QUEM SOMOS

A Prova é composta por 40 questões a serem respondidas em 60 minutos

QUEM SOMOS Certificação EXIN Secure Programming

Requisitos do exame Peso1. Introdução 10%2. Gerenciamento de Sessão e Autenticação 15%3. Manejo de Entrada de Usuário 22.5%4. Autorização 7.5%5. Configuração, Manejo e Registro de Erros 15%6. Criptografia 10%7. Engenharia de Software Seguro 20%Para ser aprovado o candidato precisa acertar 65% do Exame (26 Questões)

Davidson BoccardoPesquisador

davidson@clavis.com.brwww.clavis.com.br

PERGUNTAS E RESPOSTAS

Visite EXIN www.exin.com/BR/pt

Visite Clavis www.clavis.com.br

top related