SlideShare uma empresa Scribd logo
1 de 134
Baixar para ler offline
Segurança
Será que seu sistema está mesmo protegido?
@rodrigobranas - http://www.youtube.com/rodrigobranas
JavaScript Masterclass
http://www.agilecode.com.br
O conteúdo desta palestra pode
te deixar um pouco paranóico
Quem aqui se interessa por segurança?
Quem aqui acessa a rede em lugares
públicos ou desconhecidos?
Todos os lugares são desconhecidos
Evite trafegar informações importantes
fora de um meio criptografado
Seus dados podem estar sendo capturados
ou alterados no meio do caminho
HTTPS, ou Hyper Text Transfer Protocol
Secure, é baseado em SSL ou TLS
Isso quer dizer que estando em um meio
criptografado, estou sempre protegido?
O HTTP, ou Hyper Text Transfer Protocol, é
um protocolo de comunicação, que funciona
sobre TCP/IP, baseado em requisições e
respostas em formato texto e sem
estado de conversação
http://localhost:3001/books
Requisição
GET /books HTTP/1.1
Host: localhost:3001
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6)
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/
webp,*/*;q=0.8
Accept-Encoding: gzip, deflate, sdch, br
Accept-Language: en,en-US;q=0.8,pt;q=0.6
Request Line
Headers
Body (Optional)
Empty Line
Resposta
HTTP/1.1 200 OK
X-Powered-By: Express
Content-Type: application/json; charset=utf-8
Content-Length: 50
ETag: W/"32-ppv9pZKtoSnTuVC6kOAli8Hhdfg"
Date: Mon, 01 May 2017 11:52:27 GMT
Connection: keep-alive
["Clean Code", "Refactoring", "Extreme Programming"]
Status Line
Headers
Body (Optional)
Empty Line
Cada requisição é independente e
não tem relação com qualquer outra
Como fazer para proteger um recurso
utilizando o protocolo HTTP?
Basta combinar um código secreto com o
servidor e enviar todas as requisições
Em que lugar da requisição o código
secreto poderia ser trafegado?
Transmitindo na URL da requisição
GET /books?secret-code=rodrigobranas HTTP/1.1
Host: localhost:3000
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:46.0)
Gecko/20100101 Firefox/46.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.8,pt-BR;q=0.5,pt;q=0.3
Accept-Encoding: gzip, deflate
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache
Transmitindo no cabeçalho da requisição
GET /books HTTP/1.1
Host: localhost:3000
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:46.0)
Gecko/20100101 Firefox/46.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.8,pt-BR;q=0.5,pt;q=0.3
Accept-Encoding: gzip, deflate
Connection: keep-alive
Pragma: no-cache
Secret-Code: rodrigobranas
Cache-Control: no-cache
Transmitindo no corpo da requisição
POST /books HTTP/1.1
Host: localhost:3000
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:46.0)
Gecko/20100101 Firefox/46.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.8,pt-BR;q=0.5,pt;q=0.3
Accept-Encoding: gzip, deflate
Connection: keep-alive
Content-Type: application/x-www-form-urlencoded; charset=utf-8
Pragma: no-cache
Cache-Control: no-cache
secret-code=rodrigobranas
O código secreto precisa ser complexo, caso
contrário poderia ser facilmente quebrado
Como inviável decorar um código secreto, é
necessário ter uma forma fácil de obtê-lo
Existem outra formas...
• E-Mail e Senha
• Número de Telefone e Código por SMS
• CPF e Data de Nascimento
• Renavan e Placa do Carro
• Integração com diversas redes sociais
como Facebook, Google e Twitter
É importante que exista rastreabilidade
para realizar o acesso de uma forma fácil
Proteção e bloqueio de ataques no
serviço de autenticação
A exposição dos serviços de autenticação
podem dar origem a ataques, inicialmente
do tipo brute force, onde o atacante fica
testando diversas senhas, uma a uma, até
conseguir acessar o sistema
Tente estabelecer uma política de atraso e
bloqueio com base no número de tentativas
E se o ataque for distribuído, utilizando
a mesma senha em todos os usuários?
Sempre obrigue a utilização de
senhas fortes
Expirar ou não expirar a senha?
Evite despertar o ódio nos usuários
sem necessidade
Cuidado com as possibilidades de ataque
no processo de recuperação de senha
Evite a utilização de resposta secreta
Evite confirmar ou não a existência do
usuário no sistema
Apesar da usabilidade acabar sendo
muito prejudicada
Ataque distribuído, utilizando a mesma
senha em diversos usuários diferentes
Além de ser um problema de privacidade,
como no caso da Ashley Madison
Guarde as senhas criptografadas
Qual é o problema em não guardar
as senhas criptografadas?
É um problema de privacidade que pode
se tornar um problema de segurança
Muitos sistemas preferem a utilização de
senhas randômicas ou de tamanho fixo
Por precaução, evite utilizar a mesma
senha em sistemas diferentes
Multi-Factor Authentication ou MFA
Multi-Factor Authentication, ou MFA, é uma
técnica que consiste em solicitar diversos
tipos diferentes de informação para
conceder acesso a um usuário
Tipos de Informação
• Conhecimento: Algo que só o usuário sabe
como uma senha ou outro tipo de código
• Posse: Algo que só o usuário possui como
um cartão de crédito ou um token de
segurança
• Herança: Algo que só o próprio usuário
pode comprovar como um leitor biométrico,
de retina ou reconhecedor de voz
Caixa Eletrônico é um bom exemplo de
Multi-Factor Authentication
Uma vez obtido o código secreto, é
necessário armazená-lo no cliente
Existem alguns caminhos possíveis
Cookie ou Token?
Os cookies foram inventados pela Netscape
em 1994, por Lou Montulli, que na época
estava desenvolvendo um e-commerce e
precisa manter o estado entre as requisições
para viabilizar a implementação de um
carrinho de compras.
Foram inspirados nos Fortune Cookies
ex4_cookies_auth.js
Ao acessar um recurso protegido, o servidor responde
com um status code 401 e pode trazer no body
uma página de autenticação.
HTTP/1.1 401 Unauthorized
X-Powered-By: Express
Date: Sun, 17 Jan 2016 22:56:58 GMT
Connection: keep-alive
Transfer-Encoding: chunked
<html>
<head>
<title>Login</title>
</head>
<body>
<form action="/authenticate" method="POST">
<input type="text" name="username"/>
<input type="password" name="password"/>
</form>
</body>
</html>
O cliente envia uma requisição com as
credenciais de acesso para o servidor
GET /authenticate HTTP/1.1
Host: localhost:3000
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:43.0)
Gecko/20100101 Firefox/43.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/
*;q=0.8
Accept-Language: en,pt-BR;q=0.8,pt;q=0.5,en-US;q=0.3
Accept-Encoding: gzip, deflate
Connection: keep-alive
username=root&password=123456
O servidor responde com o header
Set-Cookie junto com as informações
HTTP/1.1 200 OK
X-Powered-By: Express
Date: Sun, 17 Jan 2016 22:56:58 GMT
Connection: keep-alive
Set-Cookie: Name=xyz123; Expires=Wed, 09 Jun 2021 10:18:14
GMT
Transfer-Encoding: chunked
O cliente passa a enviar as próximas
requisições com o header Cookie
GET /private HTTP/1.1
Host: localhost:3000
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:43.0)
Gecko/20100101 Firefox/43.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/
*;q=0.8
Accept-Language: en,pt-BR;q=0.8,pt;q=0.5,en-US;q=0.3
Accept-Encoding: gzip, deflate
Cookie: Name=xyz123
Connection: keep-alive
Tipos de Cookie
Os session cookies não tem data de
expiração e são apagados após o
navegador ser fechado
Os persistent cookies respeitam a data de
expiração mesmo após o navegador
ser fechado
É seguro utilizar persistent cookies?
Cuidado com ataques como o XSS,
mesmo em um meio criptografado
XSS, ou Cross-Site Scripting
O ataque se baseia na injeção e execução
de script no navegador do alvo. É um dos
ataques mais utilizados da internet já que
não requer qualquer tipo de acesso
privilegiado na rede do alvo.
O que é possível fazer a partir de
um ataque do tipo XSS?
ex7_xss.js
Sequestrar a sessão ativa por meio do
roubo do cookie ou token
Roubar informações por meio da
manipulação da DOM
Realizar ações falsas se aproveitando
das credenciais do usuário
Obter vantagens a partir de cliques em
propagandas não desejadas
Utilize um tempo de expiração
compatível com tipo de software
Alguma vez, você já teve a sensação
de estar sendo seguido?
Cuidado, o mesmo princípio pode ser
utilizado para ataques como o CSRF...
CSRF, ou Cross-Site Request Forgery
Por padrão, os navegadores enviam cookies
nas requisições automaticamente, o ataque
se baseia em executar ações em sites que o
usuário já está autenticado.
Tokens
Os tokens seguem uma abordagem mais
moderna, flexível e escalável, não mantendo
estado de conversação no servidor e
facilitando o desenvolvimento de SPA, ou
Single-Page Application, onde muitas vezes
é necessária a utilização de recursos como o
CORS, ou Cross-Origin Resource Sharing.
ex5_tokens_auth.js
Ao acessar um recurso protegido, o servidor responde
com um status code 401 e pode trazer no body
uma página de autenticação.
HTTP/1.1 401 Unauthorized
X-Powered-By: Express
Date: Sun, 17 Jan 2016 22:56:58 GMT
Connection: keep-alive
Transfer-Encoding: chunked
<html>
<head>
<title>Login</title>
</head>
<body>
<form action="/authenticate" method="POST">
<input type="text" name="username"/>
<input type="password" name="password"/>
</form>
</body>
</html>
O cliente envia uma requisição com as
credenciais de acesso para o servidor
GET /authenticate HTTP/1.1
Host: localhost:3000
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:43.0)
Gecko/20100101 Firefox/43.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/
*;q=0.8
Accept-Language: en,pt-BR;q=0.8,pt;q=0.5,en-US;q=0.3
Accept-Encoding: gzip, deflate
Connection: keep-alive
username=root&password=123456
O servidor responde com um JSON, que
contém os dados do usuário e o token
HTTP/1.1 200 OK
X-Powered-By: Express
Date: Sun, 17 Jan 2016 22:56:58 GMT
Content-Type: application/json; charset=UTF-8
Connection: keep-alive
Transfer-Encoding: chunked
{"token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6MSwia
WF0IjoxNDUzODk0MjA1fQ.qq5jufLte2pfJ_sdGCmL_VFrYXdpDDq6l
5MmNALRAy8"}
O cliente passa a enviar as requisições
com o header Authorization
GET /private HTTP/1.1
Host: localhost:3000
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:43.0)
Gecko/20100101 Firefox/43.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/
*;q=0.8
Accept-Language: en,pt-BR;q=0.8,pt;q=0.5,en-US;q=0.3
Accept-Encoding: gzip, deflate
Authorization: Bearer
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6
MSwiaWF0IjoxNDUzODk0MjA1fQ.qq5jufLte2pfJ_sdGCmL_VFrY
XdpDDq6l
5MmNALRAy8
Connection: keep-alive
Quais são as vantagens dos tokens?
Funcionam melhor em conjunto
com CORS
Não são transmitidos automaticamente
para obter recursos estáticos
Podem melhorar a escalabilidade
da aplicação
Cookies podem sofrer com ataques do
tipo Cross-Site Request Forgery
Cuidado, nem tudo é assim tão fácil
Os tokens devem ser guardados,
gerenciados e transmitidos
Já estou autenticado, e agora?
Autorização
Enquanto a autenticação se preocupa em
identificar um determinado usuário, a
autorização tem interesse em controlar
que tipo de operações o usuário pode
ou não realizar controlado por um
conjunto de permissões
Será que apenas isso é suficiente?
Em sistemas que envolvem operações
críticas, é necessário adotar outras medidas
Pedir a senha novamente
Enviar confirmação por SMS
Utilizar algum tipo de token
Tabela de Senhas
Autorização para terceiros
Uma empresa de impressão de fotos
precisa de acesso as sua conta do Picasa
Como fazer para conceder acesso
aos seus dados para terceiros?
Entregar o nome de usuário e senha
pode não ser uma boa estratégia
E se existisse a possibilidade de liberar um
token, com privilégios específicos associados
OAuth, ou Open Authorization, atualmente
na versão 2.0, é um protocolo aberto que
permite mediar a autorização de uma forma
padronizada, simples e segura, para
aplicações web, modile e desktop.
Papéis
Resource Owner: O usuário que quer delegar a
autorização para determinados recursos (Você)
Client Application: A aplicação cliente, que está
interessada nos recursos (Photobox)
Resource Server: O servidor que contém os
recursos (Facebook)
Authorization Server: O servidor responsável por
negociar o processo de autorização (Facebook)
https://www.facebook.com/v2.3/dialog/oauth?
scope=user_photos&
redirect_uri=http://upload.photobox.com/facebook/auth.html&
client_id=212677532168766
Checklist
HTTPS
Política para utilização de senhas fortes
As senhas são guardadas encriptadas
Controle de autenticação em cada recurso
Controle de autorização em cada recurso
Proteção contra ataques de força bruta
Proteção contra ataques de SQL Injection
Proteção contra ataques de XSS
Se o sistema for crítico, utilização de meios de
autenticação alternativos como SMS ou Token?
https://www.owasp.org/index.php/Web_Application_Security_Testing_Cheat_Sheet
Rodrigo Branas
Agile Code: http://www.agilecode.com.br
Twitter: @rodrigobranas
SlideShare: http://www.slideshare.com/rodrigobranas
YouTube: http://www.youtube.com/rodrigobranas
LinkedIn: http://br.linkedin.com/in/rodrigobranas
+Plus: https://plus.google.com/+RodrigoBranas
GitHub: http://www.github.com/rodrigobranas

Mais conteúdo relacionado

Mais procurados

Cyber Security - Aula 1
Cyber Security - Aula 1Cyber Security - Aula 1
Cyber Security - Aula 1VicenteTino
 
Palestra: Ettercap com SSLstrip - Interceptando tráfego HTTPS com Software Livre
Palestra: Ettercap com SSLstrip - Interceptando tráfego HTTPS com Software LivrePalestra: Ettercap com SSLstrip - Interceptando tráfego HTTPS com Software Livre
Palestra: Ettercap com SSLstrip - Interceptando tráfego HTTPS com Software LivreBruno Rocha da Silva
 
Qualitypress - Segurança em Aplicações Web com PHP
Qualitypress - Segurança em Aplicações Web com PHPQualitypress - Segurança em Aplicações Web com PHP
Qualitypress - Segurança em Aplicações Web com PHPQuality Press
 
Resenha o que é um hacker
Resenha o que é um hackerResenha o que é um hacker
Resenha o que é um hackernilsonsq
 
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
 
OFICINA HACKER - Técnicas de Esteganografia, Criptografia e Navegação Segura
OFICINA HACKER - Técnicas de Esteganografia, Criptografia e Navegação SeguraOFICINA HACKER - Técnicas de Esteganografia, Criptografia e Navegação Segura
OFICINA HACKER - Técnicas de Esteganografia, Criptografia e Navegação SeguraDouglas A. Gomes da Silva
 
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
 
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
 
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
 
[DTC21] Rodrigo Branas - Segurança na Web: Será que o seu sistema está realme...
[DTC21] Rodrigo Branas - Segurança na Web: Será que o seu sistema está realme...[DTC21] Rodrigo Branas - Segurança na Web: Será que o seu sistema está realme...
[DTC21] Rodrigo Branas - Segurança na Web: Será que o seu sistema está realme...Deep Tech Brasil
 
Internet- estrutura, ameaças e segurança
Internet- estrutura, ameaças e segurança Internet- estrutura, ameaças e segurança
Internet- estrutura, ameaças e segurança Filipe de Sousa
 
Cross Site Scripting - XSS
Cross Site Scripting - XSSCross Site Scripting - XSS
Cross Site Scripting - XSSDiego Souza
 
Segurança de Redes
Segurança de RedesSegurança de Redes
Segurança de RedesCassio Ramos
 
Aula 11 aspectos de segurança (windows)
Aula 11   aspectos de segurança (windows)Aula 11   aspectos de segurança (windows)
Aula 11 aspectos de segurança (windows)alex_it
 

Mais procurados (20)

Cyber Security - Aula 1
Cyber Security - Aula 1Cyber Security - Aula 1
Cyber Security - Aula 1
 
Palestra: Ettercap com SSLstrip - Interceptando tráfego HTTPS com Software Livre
Palestra: Ettercap com SSLstrip - Interceptando tráfego HTTPS com Software LivrePalestra: Ettercap com SSLstrip - Interceptando tráfego HTTPS com Software Livre
Palestra: Ettercap com SSLstrip - Interceptando tráfego HTTPS com Software Livre
 
Qualitypress - Segurança em Aplicações Web com PHP
Qualitypress - Segurança em Aplicações Web com PHPQualitypress - Segurança em Aplicações Web com PHP
Qualitypress - Segurança em Aplicações Web com PHP
 
Resenha o que é um hacker
Resenha o que é um hackerResenha o que é um hacker
Resenha o que é um hacker
 
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...
 
Desenvolvimento seguro - WorkSec 2019
Desenvolvimento seguro - WorkSec 2019Desenvolvimento seguro - WorkSec 2019
Desenvolvimento seguro - WorkSec 2019
 
Palestra fatec
Palestra fatecPalestra fatec
Palestra fatec
 
Defensive Programming - by Alcyon Junior
Defensive Programming - by Alcyon JuniorDefensive Programming - by Alcyon Junior
Defensive Programming - by Alcyon Junior
 
OFICINA HACKER - Técnicas de Esteganografia, Criptografia e Navegação Segura
OFICINA HACKER - Técnicas de Esteganografia, Criptografia e Navegação SeguraOFICINA HACKER - Técnicas de Esteganografia, Criptografia e Navegação Segura
OFICINA HACKER - Técnicas de Esteganografia, Criptografia e Navegação Segura
 
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...
 
backdoors
backdoorsbackdoors
backdoors
 
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
 
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...
 
Cross Site Scripting
Cross Site Scripting Cross Site Scripting
Cross Site Scripting
 
[DTC21] Rodrigo Branas - Segurança na Web: Será que o seu sistema está realme...
[DTC21] Rodrigo Branas - Segurança na Web: Será que o seu sistema está realme...[DTC21] Rodrigo Branas - Segurança na Web: Será que o seu sistema está realme...
[DTC21] Rodrigo Branas - Segurança na Web: Será que o seu sistema está realme...
 
Internet- estrutura, ameaças e segurança
Internet- estrutura, ameaças e segurança Internet- estrutura, ameaças e segurança
Internet- estrutura, ameaças e segurança
 
Cross Site Scripting - XSS
Cross Site Scripting - XSSCross Site Scripting - XSS
Cross Site Scripting - XSS
 
Segurança de Redes
Segurança de RedesSegurança de Redes
Segurança de Redes
 
Aula 6 - Ataques de Negação de Serviço (DoS e D-DoS)
Aula 6 - Ataques de Negação de Serviço (DoS e D-DoS)Aula 6 - Ataques de Negação de Serviço (DoS e D-DoS)
Aula 6 - Ataques de Negação de Serviço (DoS e D-DoS)
 
Aula 11 aspectos de segurança (windows)
Aula 11   aspectos de segurança (windows)Aula 11   aspectos de segurança (windows)
Aula 11 aspectos de segurança (windows)
 

Semelhante a Segurança protegida

Segurança da informação
Segurança da informaçãoSegurança da informação
Segurança da informaçãoAdilmar Dantas
 
OWASP Top 10 - A2 2017 Broken Authentication
OWASP Top 10 - A2 2017 Broken AuthenticationOWASP Top 10 - A2 2017 Broken Authentication
OWASP Top 10 - A2 2017 Broken AuthenticationFernando Galves
 
Desenvolvendo sistemas seguros com PHP
Desenvolvendo sistemas seguros com PHPDesenvolvendo sistemas seguros com PHP
Desenvolvendo sistemas seguros com PHPFlavio Souza
 
Sistemas Distribuídos - Aspectos de Segurança em Sistemas Distribuídos e JAAS
Sistemas Distribuídos - Aspectos de Segurança em Sistemas Distribuídos e JAASSistemas Distribuídos - Aspectos de Segurança em Sistemas Distribuídos e JAAS
Sistemas Distribuídos - Aspectos de Segurança em Sistemas Distribuídos e JAASAdriano Teixeira de Souza
 
Construindo uma Aplicação PHP à Prova de Balas - 2010
Construindo uma Aplicação PHP à Prova de Balas - 2010Construindo uma Aplicação PHP à Prova de Balas - 2010
Construindo uma Aplicação PHP à Prova de Balas - 2010Rafael Jaques
 
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
 
Navegação, pesquisa e segurança na rede
Navegação, pesquisa e segurança na redeNavegação, pesquisa e segurança na rede
Navegação, pesquisa e segurança na rederejanetaborda
 
Segurança na internet
Segurança na internet Segurança na internet
Segurança na internet Joao Carlos
 
OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicaç...
OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicaç...OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicaç...
OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicaç...Clavis Segurança da Informação
 
Construindo uma aplicação PHP à Prova de Balas - Rafael Jaques
Construindo uma aplicação PHP à Prova de Balas - Rafael JaquesConstruindo uma aplicação PHP à Prova de Balas - Rafael Jaques
Construindo uma aplicação PHP à Prova de Balas - Rafael JaquesTchelinux
 
Criptografia P2P - Comunicadores Instantâneos
Criptografia P2P - Comunicadores InstantâneosCriptografia P2P - Comunicadores Instantâneos
Criptografia P2P - Comunicadores InstantâneosRaphael Queiroz
 
Sequestro de dados e o contador do futuro
Sequestro de dados  e o contador do futuroSequestro de dados  e o contador do futuro
Sequestro de dados e o contador do futuroMarcelo dos Santos
 
Segurança & Ruby on Rails
Segurança & Ruby on RailsSegurança & Ruby on Rails
Segurança & Ruby on RailsJulio Monteiro
 
Segurança em Aplicativos Web
Segurança em Aplicativos WebSegurança em Aplicativos Web
Segurança em Aplicativos WebSergio Henrique
 

Semelhante a Segurança protegida (20)

Segurança da informação
Segurança da informaçãoSegurança da informação
Segurança da informação
 
OWASP Top 10 - A2 2017 Broken Authentication
OWASP Top 10 - A2 2017 Broken AuthenticationOWASP Top 10 - A2 2017 Broken Authentication
OWASP Top 10 - A2 2017 Broken Authentication
 
Segurança em Angular SPA
Segurança em Angular SPASegurança em Angular SPA
Segurança em Angular SPA
 
Segurança em PHP
Segurança em PHPSegurança em PHP
Segurança em PHP
 
Desenvolvendo sistemas seguros com PHP
Desenvolvendo sistemas seguros com PHPDesenvolvendo sistemas seguros com PHP
Desenvolvendo sistemas seguros com PHP
 
Sistemas Distribuídos - Aspectos de Segurança em Sistemas Distribuídos e JAAS
Sistemas Distribuídos - Aspectos de Segurança em Sistemas Distribuídos e JAASSistemas Distribuídos - Aspectos de Segurança em Sistemas Distribuídos e JAAS
Sistemas Distribuídos - Aspectos de Segurança em Sistemas Distribuídos e JAAS
 
Construindo uma Aplicação PHP à Prova de Balas - 2010
Construindo uma Aplicação PHP à Prova de Balas - 2010Construindo uma Aplicação PHP à Prova de Balas - 2010
Construindo uma Aplicação PHP à Prova de Balas - 2010
 
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
 
Navegação, pesquisa e segurança na rede
Navegação, pesquisa e segurança na redeNavegação, pesquisa e segurança na rede
Navegação, pesquisa e segurança na rede
 
Segurança na internet
Segurança na internet Segurança na internet
Segurança na internet
 
OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicaç...
OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicaç...OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicaç...
OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicaç...
 
Construindo uma aplicação PHP à Prova de Balas - Rafael Jaques
Construindo uma aplicação PHP à Prova de Balas - Rafael JaquesConstruindo uma aplicação PHP à Prova de Balas - Rafael Jaques
Construindo uma aplicação PHP à Prova de Balas - Rafael Jaques
 
Boas Práticas em Segurança da Informação
Boas Práticas em Segurança da InformaçãoBoas Práticas em Segurança da Informação
Boas Práticas em Segurança da Informação
 
Criptografia P2P - Comunicadores Instantâneos
Criptografia P2P - Comunicadores InstantâneosCriptografia P2P - Comunicadores Instantâneos
Criptografia P2P - Comunicadores Instantâneos
 
Sequestro de dados e o contador do futuro
Sequestro de dados  e o contador do futuroSequestro de dados  e o contador do futuro
Sequestro de dados e o contador do futuro
 
Segurança & Ruby on Rails
Segurança & Ruby on RailsSegurança & Ruby on Rails
Segurança & Ruby on Rails
 
Segurança em Aplicativos Web
Segurança em Aplicativos WebSegurança em Aplicativos Web
Segurança em Aplicativos Web
 
SegurançA Na Internet
SegurançA Na InternetSegurançA Na Internet
SegurançA Na Internet
 
VíRus
VíRusVíRus
VíRus
 
OWASP Top Ten
OWASP Top TenOWASP Top Ten
OWASP Top Ten
 

Mais de tdc-globalcode

TDC2019 Intel Software Day - Visao Computacional e IA a servico da humanidade
TDC2019 Intel Software Day - Visao Computacional e IA a servico da humanidadeTDC2019 Intel Software Day - Visao Computacional e IA a servico da humanidade
TDC2019 Intel Software Day - Visao Computacional e IA a servico da humanidadetdc-globalcode
 
TDC2019 Intel Software Day - Tecnicas de Programacao Paralela em Machine Lear...
TDC2019 Intel Software Day - Tecnicas de Programacao Paralela em Machine Lear...TDC2019 Intel Software Day - Tecnicas de Programacao Paralela em Machine Lear...
TDC2019 Intel Software Day - Tecnicas de Programacao Paralela em Machine Lear...tdc-globalcode
 
TDC2019 Intel Software Day - ACATE - Cases de Sucesso
TDC2019 Intel Software Day - ACATE - Cases de SucessoTDC2019 Intel Software Day - ACATE - Cases de Sucesso
TDC2019 Intel Software Day - ACATE - Cases de Sucessotdc-globalcode
 
TDC2019 Intel Software Day - Otimizacao grafica com o Intel GPA
TDC2019 Intel Software Day - Otimizacao grafica com o Intel GPATDC2019 Intel Software Day - Otimizacao grafica com o Intel GPA
TDC2019 Intel Software Day - Otimizacao grafica com o Intel GPAtdc-globalcode
 
TDC2019 Intel Software Day - Deteccao de objetos em tempo real com OpenVino
TDC2019 Intel Software Day - Deteccao de objetos em tempo real com OpenVinoTDC2019 Intel Software Day - Deteccao de objetos em tempo real com OpenVino
TDC2019 Intel Software Day - Deteccao de objetos em tempo real com OpenVinotdc-globalcode
 
TDC2019 Intel Software Day - OpenCV: Inteligencia artificial e Visao Computac...
TDC2019 Intel Software Day - OpenCV: Inteligencia artificial e Visao Computac...TDC2019 Intel Software Day - OpenCV: Inteligencia artificial e Visao Computac...
TDC2019 Intel Software Day - OpenCV: Inteligencia artificial e Visao Computac...tdc-globalcode
 
TDC2019 Intel Software Day - Inferencia de IA em edge devices
TDC2019 Intel Software Day - Inferencia de IA em edge devicesTDC2019 Intel Software Day - Inferencia de IA em edge devices
TDC2019 Intel Software Day - Inferencia de IA em edge devicestdc-globalcode
 
Trilha BigData - Banco de Dados Orientado a Grafos na Seguranca Publica
Trilha BigData - Banco de Dados Orientado a Grafos na Seguranca PublicaTrilha BigData - Banco de Dados Orientado a Grafos na Seguranca Publica
Trilha BigData - Banco de Dados Orientado a Grafos na Seguranca Publicatdc-globalcode
 
Trilha .Net - Programacao funcional usando f#
Trilha .Net - Programacao funcional usando f#Trilha .Net - Programacao funcional usando f#
Trilha .Net - Programacao funcional usando f#tdc-globalcode
 
TDC2018SP | Trilha Go - Case Easylocus
TDC2018SP | Trilha Go - Case EasylocusTDC2018SP | Trilha Go - Case Easylocus
TDC2018SP | Trilha Go - Case Easylocustdc-globalcode
 
TDC2018SP | Trilha Modern Web - Para onde caminha a Web?
TDC2018SP | Trilha Modern Web - Para onde caminha a Web?TDC2018SP | Trilha Modern Web - Para onde caminha a Web?
TDC2018SP | Trilha Modern Web - Para onde caminha a Web?tdc-globalcode
 
TDC2018SP | Trilha Go - Clean architecture em Golang
TDC2018SP | Trilha Go - Clean architecture em GolangTDC2018SP | Trilha Go - Clean architecture em Golang
TDC2018SP | Trilha Go - Clean architecture em Golangtdc-globalcode
 
TDC2018SP | Trilha Go - "Go" tambem e linguagem de QA
TDC2018SP | Trilha Go - "Go" tambem e linguagem de QATDC2018SP | Trilha Go - "Go" tambem e linguagem de QA
TDC2018SP | Trilha Go - "Go" tambem e linguagem de QAtdc-globalcode
 
TDC2018SP | Trilha Mobile - Digital Wallets - Seguranca, inovacao e tendencia
TDC2018SP | Trilha Mobile - Digital Wallets - Seguranca, inovacao e tendenciaTDC2018SP | Trilha Mobile - Digital Wallets - Seguranca, inovacao e tendencia
TDC2018SP | Trilha Mobile - Digital Wallets - Seguranca, inovacao e tendenciatdc-globalcode
 
TDC2018SP | Trilha .Net - Real Time apps com Azure SignalR Service
TDC2018SP | Trilha .Net - Real Time apps com Azure SignalR ServiceTDC2018SP | Trilha .Net - Real Time apps com Azure SignalR Service
TDC2018SP | Trilha .Net - Real Time apps com Azure SignalR Servicetdc-globalcode
 
TDC2018SP | Trilha .Net - Passado, Presente e Futuro do .NET
TDC2018SP | Trilha .Net - Passado, Presente e Futuro do .NETTDC2018SP | Trilha .Net - Passado, Presente e Futuro do .NET
TDC2018SP | Trilha .Net - Passado, Presente e Futuro do .NETtdc-globalcode
 
TDC2018SP | Trilha .Net - Novidades do C# 7 e 8
TDC2018SP | Trilha .Net - Novidades do C# 7 e 8TDC2018SP | Trilha .Net - Novidades do C# 7 e 8
TDC2018SP | Trilha .Net - Novidades do C# 7 e 8tdc-globalcode
 
TDC2018SP | Trilha .Net - Obtendo metricas com TDD utilizando build automatiz...
TDC2018SP | Trilha .Net - Obtendo metricas com TDD utilizando build automatiz...TDC2018SP | Trilha .Net - Obtendo metricas com TDD utilizando build automatiz...
TDC2018SP | Trilha .Net - Obtendo metricas com TDD utilizando build automatiz...tdc-globalcode
 
TDC2018SP | Trilha .Net - .NET funcional com F#
TDC2018SP | Trilha .Net - .NET funcional com F#TDC2018SP | Trilha .Net - .NET funcional com F#
TDC2018SP | Trilha .Net - .NET funcional com F#tdc-globalcode
 
TDC2018SP | Trilha .Net - Crie SPAs com Razor e C# usando Blazor em .Net Core
TDC2018SP | Trilha .Net - Crie SPAs com Razor e C# usando Blazor  em .Net CoreTDC2018SP | Trilha .Net - Crie SPAs com Razor e C# usando Blazor  em .Net Core
TDC2018SP | Trilha .Net - Crie SPAs com Razor e C# usando Blazor em .Net Coretdc-globalcode
 

Mais de tdc-globalcode (20)

TDC2019 Intel Software Day - Visao Computacional e IA a servico da humanidade
TDC2019 Intel Software Day - Visao Computacional e IA a servico da humanidadeTDC2019 Intel Software Day - Visao Computacional e IA a servico da humanidade
TDC2019 Intel Software Day - Visao Computacional e IA a servico da humanidade
 
TDC2019 Intel Software Day - Tecnicas de Programacao Paralela em Machine Lear...
TDC2019 Intel Software Day - Tecnicas de Programacao Paralela em Machine Lear...TDC2019 Intel Software Day - Tecnicas de Programacao Paralela em Machine Lear...
TDC2019 Intel Software Day - Tecnicas de Programacao Paralela em Machine Lear...
 
TDC2019 Intel Software Day - ACATE - Cases de Sucesso
TDC2019 Intel Software Day - ACATE - Cases de SucessoTDC2019 Intel Software Day - ACATE - Cases de Sucesso
TDC2019 Intel Software Day - ACATE - Cases de Sucesso
 
TDC2019 Intel Software Day - Otimizacao grafica com o Intel GPA
TDC2019 Intel Software Day - Otimizacao grafica com o Intel GPATDC2019 Intel Software Day - Otimizacao grafica com o Intel GPA
TDC2019 Intel Software Day - Otimizacao grafica com o Intel GPA
 
TDC2019 Intel Software Day - Deteccao de objetos em tempo real com OpenVino
TDC2019 Intel Software Day - Deteccao de objetos em tempo real com OpenVinoTDC2019 Intel Software Day - Deteccao de objetos em tempo real com OpenVino
TDC2019 Intel Software Day - Deteccao de objetos em tempo real com OpenVino
 
TDC2019 Intel Software Day - OpenCV: Inteligencia artificial e Visao Computac...
TDC2019 Intel Software Day - OpenCV: Inteligencia artificial e Visao Computac...TDC2019 Intel Software Day - OpenCV: Inteligencia artificial e Visao Computac...
TDC2019 Intel Software Day - OpenCV: Inteligencia artificial e Visao Computac...
 
TDC2019 Intel Software Day - Inferencia de IA em edge devices
TDC2019 Intel Software Day - Inferencia de IA em edge devicesTDC2019 Intel Software Day - Inferencia de IA em edge devices
TDC2019 Intel Software Day - Inferencia de IA em edge devices
 
Trilha BigData - Banco de Dados Orientado a Grafos na Seguranca Publica
Trilha BigData - Banco de Dados Orientado a Grafos na Seguranca PublicaTrilha BigData - Banco de Dados Orientado a Grafos na Seguranca Publica
Trilha BigData - Banco de Dados Orientado a Grafos na Seguranca Publica
 
Trilha .Net - Programacao funcional usando f#
Trilha .Net - Programacao funcional usando f#Trilha .Net - Programacao funcional usando f#
Trilha .Net - Programacao funcional usando f#
 
TDC2018SP | Trilha Go - Case Easylocus
TDC2018SP | Trilha Go - Case EasylocusTDC2018SP | Trilha Go - Case Easylocus
TDC2018SP | Trilha Go - Case Easylocus
 
TDC2018SP | Trilha Modern Web - Para onde caminha a Web?
TDC2018SP | Trilha Modern Web - Para onde caminha a Web?TDC2018SP | Trilha Modern Web - Para onde caminha a Web?
TDC2018SP | Trilha Modern Web - Para onde caminha a Web?
 
TDC2018SP | Trilha Go - Clean architecture em Golang
TDC2018SP | Trilha Go - Clean architecture em GolangTDC2018SP | Trilha Go - Clean architecture em Golang
TDC2018SP | Trilha Go - Clean architecture em Golang
 
TDC2018SP | Trilha Go - "Go" tambem e linguagem de QA
TDC2018SP | Trilha Go - "Go" tambem e linguagem de QATDC2018SP | Trilha Go - "Go" tambem e linguagem de QA
TDC2018SP | Trilha Go - "Go" tambem e linguagem de QA
 
TDC2018SP | Trilha Mobile - Digital Wallets - Seguranca, inovacao e tendencia
TDC2018SP | Trilha Mobile - Digital Wallets - Seguranca, inovacao e tendenciaTDC2018SP | Trilha Mobile - Digital Wallets - Seguranca, inovacao e tendencia
TDC2018SP | Trilha Mobile - Digital Wallets - Seguranca, inovacao e tendencia
 
TDC2018SP | Trilha .Net - Real Time apps com Azure SignalR Service
TDC2018SP | Trilha .Net - Real Time apps com Azure SignalR ServiceTDC2018SP | Trilha .Net - Real Time apps com Azure SignalR Service
TDC2018SP | Trilha .Net - Real Time apps com Azure SignalR Service
 
TDC2018SP | Trilha .Net - Passado, Presente e Futuro do .NET
TDC2018SP | Trilha .Net - Passado, Presente e Futuro do .NETTDC2018SP | Trilha .Net - Passado, Presente e Futuro do .NET
TDC2018SP | Trilha .Net - Passado, Presente e Futuro do .NET
 
TDC2018SP | Trilha .Net - Novidades do C# 7 e 8
TDC2018SP | Trilha .Net - Novidades do C# 7 e 8TDC2018SP | Trilha .Net - Novidades do C# 7 e 8
TDC2018SP | Trilha .Net - Novidades do C# 7 e 8
 
TDC2018SP | Trilha .Net - Obtendo metricas com TDD utilizando build automatiz...
TDC2018SP | Trilha .Net - Obtendo metricas com TDD utilizando build automatiz...TDC2018SP | Trilha .Net - Obtendo metricas com TDD utilizando build automatiz...
TDC2018SP | Trilha .Net - Obtendo metricas com TDD utilizando build automatiz...
 
TDC2018SP | Trilha .Net - .NET funcional com F#
TDC2018SP | Trilha .Net - .NET funcional com F#TDC2018SP | Trilha .Net - .NET funcional com F#
TDC2018SP | Trilha .Net - .NET funcional com F#
 
TDC2018SP | Trilha .Net - Crie SPAs com Razor e C# usando Blazor em .Net Core
TDC2018SP | Trilha .Net - Crie SPAs com Razor e C# usando Blazor  em .Net CoreTDC2018SP | Trilha .Net - Crie SPAs com Razor e C# usando Blazor  em .Net Core
TDC2018SP | Trilha .Net - Crie SPAs com Razor e C# usando Blazor em .Net Core
 

Último

Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptxSlides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptxLuizHenriquedeAlmeid6
 
CRUZADINHA - Leitura e escrita dos números
CRUZADINHA   -   Leitura e escrita dos números CRUZADINHA   -   Leitura e escrita dos números
CRUZADINHA - Leitura e escrita dos números Mary Alvarenga
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...azulassessoria9
 
Atividade - Letra da música Esperando na Janela.
Atividade -  Letra da música Esperando na Janela.Atividade -  Letra da música Esperando na Janela.
Atividade - Letra da música Esperando na Janela.Mary Alvarenga
 
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptxJOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptxTainTorres4
 
Bullying - Atividade com caça- palavras
Bullying   - Atividade com  caça- palavrasBullying   - Atividade com  caça- palavras
Bullying - Atividade com caça- palavrasMary Alvarenga
 
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfPRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfprofesfrancleite
 
Música Meu Abrigo - Texto e atividade
Música   Meu   Abrigo  -   Texto e atividadeMúsica   Meu   Abrigo  -   Texto e atividade
Música Meu Abrigo - Texto e atividadeMary Alvarenga
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...IsabelPereira2010
 
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...licinioBorges
 
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamentalAntônia marta Silvestre da Silva
 
GEOGRAFIA - ENSINO FUNDAMENTAL ANOS FINAIS.pdf
GEOGRAFIA - ENSINO FUNDAMENTAL ANOS FINAIS.pdfGEOGRAFIA - ENSINO FUNDAMENTAL ANOS FINAIS.pdf
GEOGRAFIA - ENSINO FUNDAMENTAL ANOS FINAIS.pdfElianeElika
 
Discurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxDiscurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxferreirapriscilla84
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...azulassessoria9
 
Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Ilda Bicacro
 
Construção (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãConstrução (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãIlda Bicacro
 
Manual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envioManual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envioManuais Formação
 
VARIEDADES LINGUÍSTICAS - 1. pptx
VARIEDADES        LINGUÍSTICAS - 1. pptxVARIEDADES        LINGUÍSTICAS - 1. pptx
VARIEDADES LINGUÍSTICAS - 1. pptxMarlene Cunhada
 
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteCOMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteVanessaCavalcante37
 

Último (20)

Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptxSlides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
 
CRUZADINHA - Leitura e escrita dos números
CRUZADINHA   -   Leitura e escrita dos números CRUZADINHA   -   Leitura e escrita dos números
CRUZADINHA - Leitura e escrita dos números
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
 
Atividade - Letra da música Esperando na Janela.
Atividade -  Letra da música Esperando na Janela.Atividade -  Letra da música Esperando na Janela.
Atividade - Letra da música Esperando na Janela.
 
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptxJOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
 
Bullying - Atividade com caça- palavras
Bullying   - Atividade com  caça- palavrasBullying   - Atividade com  caça- palavras
Bullying - Atividade com caça- palavras
 
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfPRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
 
Música Meu Abrigo - Texto e atividade
Música   Meu   Abrigo  -   Texto e atividadeMúsica   Meu   Abrigo  -   Texto e atividade
Música Meu Abrigo - Texto e atividade
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
 
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
 
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
 
GEOGRAFIA - ENSINO FUNDAMENTAL ANOS FINAIS.pdf
GEOGRAFIA - ENSINO FUNDAMENTAL ANOS FINAIS.pdfGEOGRAFIA - ENSINO FUNDAMENTAL ANOS FINAIS.pdf
GEOGRAFIA - ENSINO FUNDAMENTAL ANOS FINAIS.pdf
 
Discurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxDiscurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptx
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
 
Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!
 
CINEMATICA DE LOS MATERIALES Y PARTICULA
CINEMATICA DE LOS MATERIALES Y PARTICULACINEMATICA DE LOS MATERIALES Y PARTICULA
CINEMATICA DE LOS MATERIALES Y PARTICULA
 
Construção (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãConstrução (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! Sertã
 
Manual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envioManual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envio
 
VARIEDADES LINGUÍSTICAS - 1. pptx
VARIEDADES        LINGUÍSTICAS - 1. pptxVARIEDADES        LINGUÍSTICAS - 1. pptx
VARIEDADES LINGUÍSTICAS - 1. pptx
 
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteCOMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
 

Segurança protegida

  • 1. Segurança Será que seu sistema está mesmo protegido? @rodrigobranas - http://www.youtube.com/rodrigobranas
  • 3. O conteúdo desta palestra pode te deixar um pouco paranóico
  • 4. Quem aqui se interessa por segurança?
  • 5. Quem aqui acessa a rede em lugares públicos ou desconhecidos?
  • 6. Todos os lugares são desconhecidos
  • 7. Evite trafegar informações importantes fora de um meio criptografado
  • 8. Seus dados podem estar sendo capturados ou alterados no meio do caminho
  • 9. HTTPS, ou Hyper Text Transfer Protocol Secure, é baseado em SSL ou TLS
  • 10. Isso quer dizer que estando em um meio criptografado, estou sempre protegido?
  • 11. O HTTP, ou Hyper Text Transfer Protocol, é um protocolo de comunicação, que funciona sobre TCP/IP, baseado em requisições e respostas em formato texto e sem estado de conversação
  • 13. Requisição GET /books HTTP/1.1 Host: localhost:3001 Connection: keep-alive Pragma: no-cache Cache-Control: no-cache Upgrade-Insecure-Requests: 1 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/ webp,*/*;q=0.8 Accept-Encoding: gzip, deflate, sdch, br Accept-Language: en,en-US;q=0.8,pt;q=0.6 Request Line Headers Body (Optional) Empty Line
  • 14. Resposta HTTP/1.1 200 OK X-Powered-By: Express Content-Type: application/json; charset=utf-8 Content-Length: 50 ETag: W/"32-ppv9pZKtoSnTuVC6kOAli8Hhdfg" Date: Mon, 01 May 2017 11:52:27 GMT Connection: keep-alive ["Clean Code", "Refactoring", "Extreme Programming"] Status Line Headers Body (Optional) Empty Line
  • 15. Cada requisição é independente e não tem relação com qualquer outra
  • 16. Como fazer para proteger um recurso utilizando o protocolo HTTP?
  • 17. Basta combinar um código secreto com o servidor e enviar todas as requisições
  • 18. Em que lugar da requisição o código secreto poderia ser trafegado?
  • 19. Transmitindo na URL da requisição GET /books?secret-code=rodrigobranas HTTP/1.1 Host: localhost:3000 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:46.0) Gecko/20100101 Firefox/46.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: en-US,en;q=0.8,pt-BR;q=0.5,pt;q=0.3 Accept-Encoding: gzip, deflate Connection: keep-alive Pragma: no-cache Cache-Control: no-cache
  • 20. Transmitindo no cabeçalho da requisição GET /books HTTP/1.1 Host: localhost:3000 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:46.0) Gecko/20100101 Firefox/46.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: en-US,en;q=0.8,pt-BR;q=0.5,pt;q=0.3 Accept-Encoding: gzip, deflate Connection: keep-alive Pragma: no-cache Secret-Code: rodrigobranas Cache-Control: no-cache
  • 21. Transmitindo no corpo da requisição POST /books HTTP/1.1 Host: localhost:3000 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:46.0) Gecko/20100101 Firefox/46.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: en-US,en;q=0.8,pt-BR;q=0.5,pt;q=0.3 Accept-Encoding: gzip, deflate Connection: keep-alive Content-Type: application/x-www-form-urlencoded; charset=utf-8 Pragma: no-cache Cache-Control: no-cache secret-code=rodrigobranas
  • 22. O código secreto precisa ser complexo, caso contrário poderia ser facilmente quebrado
  • 23. Como inviável decorar um código secreto, é necessário ter uma forma fácil de obtê-lo
  • 24.
  • 25. Existem outra formas... • E-Mail e Senha • Número de Telefone e Código por SMS • CPF e Data de Nascimento • Renavan e Placa do Carro • Integração com diversas redes sociais como Facebook, Google e Twitter
  • 26. É importante que exista rastreabilidade para realizar o acesso de uma forma fácil
  • 27. Proteção e bloqueio de ataques no serviço de autenticação
  • 28. A exposição dos serviços de autenticação podem dar origem a ataques, inicialmente do tipo brute force, onde o atacante fica testando diversas senhas, uma a uma, até conseguir acessar o sistema
  • 29. Tente estabelecer uma política de atraso e bloqueio com base no número de tentativas
  • 30. E se o ataque for distribuído, utilizando a mesma senha em todos os usuários?
  • 31. Sempre obrigue a utilização de senhas fortes
  • 32. Expirar ou não expirar a senha?
  • 33. Evite despertar o ódio nos usuários sem necessidade
  • 34. Cuidado com as possibilidades de ataque no processo de recuperação de senha
  • 35. Evite a utilização de resposta secreta
  • 36. Evite confirmar ou não a existência do usuário no sistema
  • 37. Apesar da usabilidade acabar sendo muito prejudicada
  • 38. Ataque distribuído, utilizando a mesma senha em diversos usuários diferentes
  • 39. Além de ser um problema de privacidade, como no caso da Ashley Madison
  • 40. Guarde as senhas criptografadas
  • 41. Qual é o problema em não guardar as senhas criptografadas?
  • 42. É um problema de privacidade que pode se tornar um problema de segurança
  • 43. Muitos sistemas preferem a utilização de senhas randômicas ou de tamanho fixo
  • 44. Por precaução, evite utilizar a mesma senha em sistemas diferentes
  • 46. Multi-Factor Authentication, ou MFA, é uma técnica que consiste em solicitar diversos tipos diferentes de informação para conceder acesso a um usuário
  • 47. Tipos de Informação • Conhecimento: Algo que só o usuário sabe como uma senha ou outro tipo de código • Posse: Algo que só o usuário possui como um cartão de crédito ou um token de segurança • Herança: Algo que só o próprio usuário pode comprovar como um leitor biométrico, de retina ou reconhecedor de voz
  • 48. Caixa Eletrônico é um bom exemplo de Multi-Factor Authentication
  • 49. Uma vez obtido o código secreto, é necessário armazená-lo no cliente
  • 52. Os cookies foram inventados pela Netscape em 1994, por Lou Montulli, que na época estava desenvolvendo um e-commerce e precisa manter o estado entre as requisições para viabilizar a implementação de um carrinho de compras.
  • 53. Foram inspirados nos Fortune Cookies
  • 54.
  • 56. Ao acessar um recurso protegido, o servidor responde com um status code 401 e pode trazer no body uma página de autenticação. HTTP/1.1 401 Unauthorized X-Powered-By: Express Date: Sun, 17 Jan 2016 22:56:58 GMT Connection: keep-alive Transfer-Encoding: chunked <html> <head> <title>Login</title> </head> <body> <form action="/authenticate" method="POST"> <input type="text" name="username"/> <input type="password" name="password"/> </form> </body> </html>
  • 57. O cliente envia uma requisição com as credenciais de acesso para o servidor GET /authenticate HTTP/1.1 Host: localhost:3000 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:43.0) Gecko/20100101 Firefox/43.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/ *;q=0.8 Accept-Language: en,pt-BR;q=0.8,pt;q=0.5,en-US;q=0.3 Accept-Encoding: gzip, deflate Connection: keep-alive username=root&password=123456
  • 58. O servidor responde com o header Set-Cookie junto com as informações HTTP/1.1 200 OK X-Powered-By: Express Date: Sun, 17 Jan 2016 22:56:58 GMT Connection: keep-alive Set-Cookie: Name=xyz123; Expires=Wed, 09 Jun 2021 10:18:14 GMT Transfer-Encoding: chunked
  • 59. O cliente passa a enviar as próximas requisições com o header Cookie GET /private HTTP/1.1 Host: localhost:3000 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:43.0) Gecko/20100101 Firefox/43.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/ *;q=0.8 Accept-Language: en,pt-BR;q=0.8,pt;q=0.5,en-US;q=0.3 Accept-Encoding: gzip, deflate Cookie: Name=xyz123 Connection: keep-alive
  • 61. Os session cookies não tem data de expiração e são apagados após o navegador ser fechado
  • 62. Os persistent cookies respeitam a data de expiração mesmo após o navegador ser fechado
  • 63. É seguro utilizar persistent cookies?
  • 64. Cuidado com ataques como o XSS, mesmo em um meio criptografado
  • 65. XSS, ou Cross-Site Scripting
  • 66. O ataque se baseia na injeção e execução de script no navegador do alvo. É um dos ataques mais utilizados da internet já que não requer qualquer tipo de acesso privilegiado na rede do alvo.
  • 67. O que é possível fazer a partir de um ataque do tipo XSS?
  • 69. Sequestrar a sessão ativa por meio do roubo do cookie ou token
  • 70. Roubar informações por meio da manipulação da DOM
  • 71. Realizar ações falsas se aproveitando das credenciais do usuário
  • 72. Obter vantagens a partir de cliques em propagandas não desejadas
  • 73. Utilize um tempo de expiração compatível com tipo de software
  • 74. Alguma vez, você já teve a sensação de estar sendo seguido?
  • 75.
  • 76.
  • 77.
  • 78.
  • 79. Cuidado, o mesmo princípio pode ser utilizado para ataques como o CSRF...
  • 80. CSRF, ou Cross-Site Request Forgery
  • 81. Por padrão, os navegadores enviam cookies nas requisições automaticamente, o ataque se baseia em executar ações em sites que o usuário já está autenticado.
  • 82.
  • 84. Os tokens seguem uma abordagem mais moderna, flexível e escalável, não mantendo estado de conversação no servidor e facilitando o desenvolvimento de SPA, ou Single-Page Application, onde muitas vezes é necessária a utilização de recursos como o CORS, ou Cross-Origin Resource Sharing.
  • 85.
  • 86.
  • 87.
  • 89. Ao acessar um recurso protegido, o servidor responde com um status code 401 e pode trazer no body uma página de autenticação. HTTP/1.1 401 Unauthorized X-Powered-By: Express Date: Sun, 17 Jan 2016 22:56:58 GMT Connection: keep-alive Transfer-Encoding: chunked <html> <head> <title>Login</title> </head> <body> <form action="/authenticate" method="POST"> <input type="text" name="username"/> <input type="password" name="password"/> </form> </body> </html>
  • 90. O cliente envia uma requisição com as credenciais de acesso para o servidor GET /authenticate HTTP/1.1 Host: localhost:3000 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:43.0) Gecko/20100101 Firefox/43.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/ *;q=0.8 Accept-Language: en,pt-BR;q=0.8,pt;q=0.5,en-US;q=0.3 Accept-Encoding: gzip, deflate Connection: keep-alive username=root&password=123456
  • 91. O servidor responde com um JSON, que contém os dados do usuário e o token HTTP/1.1 200 OK X-Powered-By: Express Date: Sun, 17 Jan 2016 22:56:58 GMT Content-Type: application/json; charset=UTF-8 Connection: keep-alive Transfer-Encoding: chunked {"token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6MSwia WF0IjoxNDUzODk0MjA1fQ.qq5jufLte2pfJ_sdGCmL_VFrYXdpDDq6l 5MmNALRAy8"}
  • 92. O cliente passa a enviar as requisições com o header Authorization GET /private HTTP/1.1 Host: localhost:3000 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:43.0) Gecko/20100101 Firefox/43.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/ *;q=0.8 Accept-Language: en,pt-BR;q=0.8,pt;q=0.5,en-US;q=0.3 Accept-Encoding: gzip, deflate Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6 MSwiaWF0IjoxNDUzODk0MjA1fQ.qq5jufLte2pfJ_sdGCmL_VFrY XdpDDq6l 5MmNALRAy8 Connection: keep-alive
  • 93. Quais são as vantagens dos tokens?
  • 94. Funcionam melhor em conjunto com CORS
  • 95. Não são transmitidos automaticamente para obter recursos estáticos
  • 96. Podem melhorar a escalabilidade da aplicação
  • 97. Cookies podem sofrer com ataques do tipo Cross-Site Request Forgery
  • 98. Cuidado, nem tudo é assim tão fácil
  • 99. Os tokens devem ser guardados, gerenciados e transmitidos
  • 102. Enquanto a autenticação se preocupa em identificar um determinado usuário, a autorização tem interesse em controlar que tipo de operações o usuário pode ou não realizar controlado por um conjunto de permissões
  • 103. Será que apenas isso é suficiente?
  • 104. Em sistemas que envolvem operações críticas, é necessário adotar outras medidas
  • 105. Pedir a senha novamente
  • 107. Utilizar algum tipo de token
  • 109.
  • 110.
  • 111.
  • 112.
  • 113.
  • 115. Uma empresa de impressão de fotos precisa de acesso as sua conta do Picasa
  • 116. Como fazer para conceder acesso aos seus dados para terceiros?
  • 117. Entregar o nome de usuário e senha pode não ser uma boa estratégia
  • 118. E se existisse a possibilidade de liberar um token, com privilégios específicos associados
  • 119.
  • 120. OAuth, ou Open Authorization, atualmente na versão 2.0, é um protocolo aberto que permite mediar a autorização de uma forma padronizada, simples e segura, para aplicações web, modile e desktop.
  • 121.
  • 122. Papéis Resource Owner: O usuário que quer delegar a autorização para determinados recursos (Você) Client Application: A aplicação cliente, que está interessada nos recursos (Photobox) Resource Server: O servidor que contém os recursos (Facebook) Authorization Server: O servidor responsável por negociar o processo de autorização (Facebook)
  • 123.
  • 124.
  • 125.
  • 126.
  • 127.
  • 129.
  • 130.
  • 131.
  • 132.
  • 133. Checklist HTTPS Política para utilização de senhas fortes As senhas são guardadas encriptadas Controle de autenticação em cada recurso Controle de autorização em cada recurso Proteção contra ataques de força bruta Proteção contra ataques de SQL Injection Proteção contra ataques de XSS Se o sistema for crítico, utilização de meios de autenticação alternativos como SMS ou Token? https://www.owasp.org/index.php/Web_Application_Security_Testing_Cheat_Sheet
  • 134. Rodrigo Branas Agile Code: http://www.agilecode.com.br Twitter: @rodrigobranas SlideShare: http://www.slideshare.com/rodrigobranas YouTube: http://www.youtube.com/rodrigobranas LinkedIn: http://br.linkedin.com/in/rodrigobranas +Plus: https://plus.google.com/+RodrigoBranas GitHub: http://www.github.com/rodrigobranas