Segurança em aplicações web: pequenas ideias, grandes resultados Prof. Alex Camargo alexcamargoweb@gmail.com

Documentos relacionados
(In)Segurança em Aplicações Web. Marcelo Mendes Marinho Thiago Canozzo Lahr

Nomes: Questão 1 Vulnerabilidade: SQL Injection (Injeção de SQL):

Segurança em Sistemas Web. Addson A. Costa

Desenvolvimento e disponibilização de Conteúdos para a Internet

Segurança na WEB Ambiente WEB estático

Boas Práticas de Desenvolvimento Seguro

Prof. Roberto Franciscatto 4º Semestre - TSI - CAFW. Free Powerpoint Templates Page 1

XSS - CROSS-SITE SCRIPTING

Fonte: - Illustration by Gaich Muramatsu

Programação Orientada a Objetos com PHP & MySQL Cookies e Sessões. Prof. MSc. Hugo Souza

Tecnologias WEB Web 2.0

O atacante pode roubar a sessão de um usuário legítimo do sistema, que esteja previamente autenticado e realizar operações que o mesmo poderia.

Falha segurança Baco Cross-site scripting (XSS) e Logins por canal não seguro (http) perenboom@hmamail.com

Ameaças, riscos e vulnerabilidades Cont. Objetivos

Rede de Laboratórios de Produtividade de Software

Análise de Vulnerabilidades em Aplicações WEB


FACULDADES INTEGRADAS PROMOVE DE BRASÍLIA PROJETO DE INICIAÇÃO CIENTÍFICA

JDBC Java Database Connectivity

Programação Web Prof. Wladimir

VULNERABILIDADES WEB v.2.2

Escrito por Sáb, 15 de Outubro de :19 - Última atualização Seg, 26 de Março de :32

Segurança da Internet. Ricardo Terra (rterrabh [at] gmail.com) Segurança da Internet Outubro,

PLANIFICAÇÕES ATIVIDADES E ESTRATÉGIAS

Desenvolvendo para WEB

Desenvolvendo Websites com PHP

Sistemas para Internet 06 Ataques na Internet

Políticas de Segurança de Sistemas

Prof. Roberto Franciscatto 4º Semestre - TSI - CAFW. Free Powerpoint Templates Page 1

MALWARE. Spyware. Seguem algumas funcionalidades implementadas em spywares, que podem ter relação com o uso legítimo ou malicioso:

Segurança em aplicações Web. Exemplos e Casos Práticos em

Documentação. Programa de Evolução Contínua Versão 1.72

Kaspersky Anti-Virus 2013 Kaspersky Internet Security 2013 Lista de novos recursos

Omega Tecnologia Manual Omega Hosting

MANUAL DO INSTAR-MAIL 1.0. Pagina de login e senha do Instar-Mail

Conteúdo Programático de PHP

segurança em aplicações web

Prova de pré-requisito

O Komunik é uma ferramenta de comunicação interna que permite a interação completa entre todos os setores de uma empresa.

O curso aborda como criar sistemas com php e mysql utilizando a integração do Dreamweaver, sem a necessidade de programação.

SERVIDOR WEB - APACHE SERVIDOR WEB - APACHE SERVIDOR WEB - APACHE 27/02/2012

Manual do Instar Mail v2.0

Aula 03 - Projeto Java Web

Segurança da Informação:

Programação Web com PHP. Prof. Wylliams Barbosa Santos Optativa IV Projetos de Sistemas Web

Nesse artigo abordaremos os principais aspectos de instalação e uso do NTOP no Fedora Core 4.

Sumário. Capítulo 1 Revisão de PHP Capítulo 2 Melhorando o processamento de formulários... 46

Aplicação web protegida

Sistema de Chamados Protega

Desenvolvendo Websites com PHP

CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web;

Construtor de sites SoftPixel GUIA RÁPIDO - 1 -

ALUNES MANUAL DO USUÁRIO. Guia rápido Alunes

Manual do usuário - Service Desk SDM - COPASA. Service Desk

Aspectos de Segurança em Programação com Java

Sumário. Parte I Introdução Introdução O Rails é ágil Explorando o conteúdo Agradecimentos... 19

Programando em PHP. Conceitos Básicos

Procedimentos para configuração de Filters

Curso de Aprendizado Industrial Desenvolvedor WEB

DESENVOLVIMENTODE APLICAÇÕESPARAINTERNET:PHP. VitorFariasCoreia

MANUAL PARA UTILIZAÇÃO DO SISTEMA DE SUPORTE TÉCNICO GLPI

Sumário. Capítulo 1 O que é o PHP? Capítulo 2 Instalação do PHP Capítulo 3 Noções básicas de programação... 25

3 SERVIÇOS IP. 3.1 Serviços IP e alguns aspectos de segurança

Manual de Utilização do GLPI

Tecnologias Web. Lista de Exercícios AV02. Luiz Leão

Ferramentas de Acesso Remoto

Follow-Up Acompanhamento Eletrônico de Processos (versão 3.0) Manual do Sistema. 1. Como acessar o sistema Requisitos mínimos e compatibilidade

Josh Pauli Revisão técnica Scott White. Novatec

- Versão 1.0 Página 1

0,5 pelo negrito das palavras ID, Nome, e Analisar em outro momento.

Como funciona a plataforma Superlógica? - Livro 4 de 4. Como funciona a interface de integração? Como você poderá complementar o sistema?

BEM VINDO (A) À ACTVS SOFTWARE E APOIO A GESTÃO

Manual de Utilização do TOTVS Restore

Manipulação de Dados em PHP (Visualizar, Inserir, Atualizar e Excluir) Parte 2

Prof.: MARCIO HOLLWEG

Como conectar-se à rede Sem Fio (Wireless) da UNISC. Pré-Requisitos:

Intranets. FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO

INFORMÁTICA FUNDAMENTOS DE INTERNET. Prof. Marcondes Ribeiro Lima

Geris Engenharia e Serviços

Entrar neste site/arquivo e estudar esse aplicativo Prof. Ricardo César de Carvalho

WHITE PAPER CERTIFICADOS SSL

Componentes de um sistema de firewall - II. Segurança de redes

Projuris Enterprise Visão Geral da Arquitetura do Sistema

Programação Orientada a Objetos com PHP & MySQL Sistema Gerenciador de Banco de Dados: Introdução e configuração de bases de dados com Postgre e MySQL

Vamos iniciar a nossa exploração do HTTP baixando um arquivo em HTML simples - bastante pequeno, que não contém objetos incluídos.

Transcrição:

UNIVERSIDADE FEDERAL DO PAMPA CAMPUS BAGÉ ENGENHARIA DE COMPUTAÇÃO Segurança em aplicações web: pequenas ideias, grandes resultados alexcamargoweb@gmail.com

Sobre o professor Formação acadêmica: Bacharel em Sistemas de Informação (URCAMP, 2010) TCC: Web sistema integrado a uma rede social para academias de ginástica. Orientador: Prof. Me. Abner Guedes Especialista em Sistemas Distribuídos com Ênfase em Banco de Dados (UNIPAMPA, 2013) TCC: Interligando bases de dados do sistema Controle de Marcas e Sinais utilizando o MySQL Cluster. Orientadores: Prof. Me. Érico Amaral e Prof. Me. Rafael Bastos

Sobre o professor Formação acadêmica: Mestrando em Engenharia de Computação (FURG, 2016) Linha de pesquisa: Bioinformática. Orientador: Ainda não definido

Sobre o professor Antes da UNIPAMPA: Programador Web e DBA Local: Prefeitura Municipal de Bagé Professor das disciplinas de Banco de Dados e Análise de Sistemas Local: Capacitar Escola Técnica

Sobre o professor Atualmente: Professor da disciplina de Algoritmos e Programação Turmas: Engenharia de Computação, Engenharia de Alimentos, Engenharia de Energias Renováveis e Ambiente, Engenharia Química e Licenciatura em Física Professor da disciplina de Laboratório de Programação II Turma: Engenharia de Computação

Esta palestra é sobre... Segurança em aplicações web. Boas práticas de programação. Erros comuns. Tipos de ataques. Foco na implementação com PHP e MySQL Pode ser aplicado para outras linguagens e bancos de dados.

Esta palestra NÃO é sobre... Segurança em servidores. Configuração de servidores. Firewalls. DNS, FTP, SSH, HTTPS. DoS, IP spoofing, phishing.

The beginning...

The beginning

Introdução Atualmente as vulnerabilidades nas aplicações web são o maior vetor para os ataques contra a segurança de TI. Falhas ou em erros de programação nas linguagens usadas para aplicações web (Java,.NET, PHP, Python, Perl, Ruby, etc). Tais vulnerabilidades podem ser complexas e se manifestarem em muitas situações diferentes.

Introdução Porque segurança em aplicações é prioridade? 75% dos ataques acontecem na camada da aplicação (Gartner) 90% dos sites são vulneráveis à ataques (Watchfire) 78% das vulnerabilidades facilmente exploráveis afetam aplicações web (Symantec)

Introdução Porque segurança em aplicações é prioridade? 75% dos ataques acontecem na camada da aplicação (Gartner) 90% dos sites são vulneráveis à ataques (Watchfire) 78% das vulnerabilidades facilmente exploráveis afetam aplicações web (Symantec) Fonte: (Gartner, 2008)

Introdução Principais causas das vulnerabilidades: Imaturidade em segurança Desenvolvimento in-house Restrições de recursos e tempo

Introdução Por que o PHP? Facilidade, rapidez, versatilidade, etc. Ampla documentação e cases de sucesso. Acabou se tornando a linguagem server-side mais utilizada na web.

Aplicações web Como funcionam as aplicações web?

Aplicações Web Como funcionam as aplicações web?

Vamos à prática...

Tipos de ataque Nesta palestra serão abordadas as principais ameaças a aplicações web, dentre elas: Cross-Site Scripting (XSS) Cross-Site Request Forgery (CSRF) SQL Injection Outras vulnerabilidades...

Cross-Site Scripting (XSS) O atacante normalmente explorará essa falha inserindo tags e código Javascript no seu HTML. Tags <iframe> chamando páginas maliciosas Código js para ler os cookies do usuário Código js para alterar as informações do site (defacement)

Cross-Site Scripting (XSS) O atacante normalmente explorará essa falha inserindo tags e código Javascript no seu HTML. Tags <iframe> chamando páginas maliciosas Código js para ler os cookies do usuário Código js para alterar as informações do site (defacement)

Cross-Site Scripting (XSS) Para se proteger, basta: Filtrar a entrada strip_tags: Retira as tags HTML e PHP de uma string. Escapar a saída htmlespecialchars: Exibe as tags HTML sem interpretá-las.

Cross-Site Scripting (XSS) Demonstração: XSS

Cross-Site Request Forgery (CSRF) Como o nome diz, consiste em tentar forjar uma requisição de um site para outro. O ataque pode ser feito da seguinte forma: Você recebe um e-mail com uma URL oculta, geralmente algum e-mail do tipo "Veja as nossas fotos". Esta URL executa alguma ação em uma aplicação que você esteja autenticado no momento (por exemplo, o Facebook). Esta ação pode dar poderes ao atacante para remover os seus dados (ou do seu cliente) permanentemente.

Cross-Site Request Forgery (CSRF) Como o nome diz, consiste em tentar forjar uma requisição de um site para outro. O ataque pode ser feito da seguinte forma: Você recebe um e-mail com uma URL oculta, geralmente algum e-mail do tipo "Veja as nossas fotos". Esta URL executa alguma ação em uma aplicação que você esteja autenticado no momento (por exemplo, o Facebook). Esta ação pode dar poderes ao atacante para remover os seus dados (ou do seu cliente) permanentemente.

Cross-Site Request Forgery (CSRF) Como se defender do CSRF? O método GET deve ser utilizado apenas para consultas Exibição de páginas, listagens, pesquisas. O método POST deve ser utilizado para as operações Cadastros, atualização, exclusão, autenticação. Utilizar tokens na sessão Gerados de forma aleatória e comparados ao receber a sessão.

Cross-Site Request Forgery (CSRF) Demonstração: CSRF

SQL Injection Entre as vulnerabilidades citadas, o SQL Injection é uma das mais destrutivas, tanto para a aplicação quanto para os seus usuários. Entrada do usuário inserida em comandos SQL. Informação maliciosa fornecida pelo atacante engana o interpretador. Uma exploração da injeção de SQL bem sucedida pode ler/alterar/excluir dados sigilosos do banco de dados.

SQL Injection Entre as vulnerabilidades citadas, o SQL Injection é uma das mais destrutivas, tanto para a aplicação quanto para os seus usuários. Entrada do usuário inserida em comandos SQL. Informação maliciosa fornecida pelo atacante engana o interpretador. Uma exploração da injeção de SQL bem sucedida pode ler/alterar/excluir dados sigilosos do banco de dados.

SQL Injection Felizmente, é muito fácil se proteger contra esse tipo de ataque. Basta escapar os dados enviados nas queries mysql_escape_string: Escapa uma string para usar em uma consulta MySQL. addslashes: Adiciona barras invertidas a uma string.

SQL Injection Demonstração: SQL Injection

Boas práticas em PHP URLs seguras e amigáveis. Senhas criptografadas. Monitore os erros de senha.

Considerações finais Crie o hábito de programar de forma segura. Toda entrada deve ser filtrada e toda saída deve ser escapada. Visualize as brechas e implemente soluções simples para elas. Esteja atualizado.

Referências PROBLEMAS COMUNS DE SEGURANÇA EM APLICAÇÕES WEB http://klauslaube.com.br/2012/04/15/problemas-de-seguranca-em-aplicacoes-web.html MANUAL DO PHP http://php.net/ (IN)SEGURANÇA EM APLICAÇÕES WEB http://www.detaileventos.com.br/ibm_dc2008/download/(in)seguranca%20em%20aplicacoes %20Web.pdf SEGURANÇA PARA APLICAÇÕES WEB http://www.siteblindado.com/pt/pags/view/files/whitepaper+qualysguard+vulnerability+web+applic ations.pdf SEGURANÇA EM APLICAÇÕES WEB COM PHP http://pt.slideshare.net/gedvan/segurana-em-aplicaes-web-com-php-8676135 SEGURANÇA EM PHP - BLINDE SEU CÓDIGO DE VOCÊ MESMO! http://pt.slideshare.net/gustavonevesgn/segurana-em-php-blinde-seu-cdigo-de-voc-mesmo WEB HACKING: ATAQUES E VULNERABILIDADES EM APLICAÇÕES WEB http://blog.corujadeti.com.br/web-hacking-ataques-e-vulnerabilidades-em-aplicacoes-web/

Fim Agradeço a atenção de todos. Dúvidas, críticas ou sugestões? alexcamargoweb@gmail.com