Segurança na Web
Será que seu sistema está realmente seguro?
Rodrigo Branas – @rodrigobranas - youtube.com/rodrigobranas
youtube.com/rodrigobranas
inscreva-se
Quais são seus piores pesadelos
em relação a segurança do seu sistema?
Piores Pesadelos
• Vazamento de dados expondo informações
importantes de um ou mais usuários
Piores Pesadelos
• Vazamento de dados expondo informações
importantes de um ou mais usuários
• Descoberta de fraudes pela execução de
operações de forma indevida
Piores Pesadelos
• Vazamento de dados expondo informações
importantes de um ou mais usuários
• Descoberta de fraudes pela execução de
operações de forma indevida
• Perda parcial ou total dos dados ou até
mesmo sequestro com pedido de resgate
Piores Pesadelos
• Vazamento de dados expondo informações
importantes de um ou mais usuários
• Descoberta de fraudes pela execução de
operações de forma indevida
• Perda parcial ou total dos dados ou até
mesmo sequestro com pedido de resgate
• Queda do sistema por conta de ataques
Lei Geral de Proteção de Dados ou LGPD
As multas podem chegar a 2% do
faturamento, limitado a 50 milhões de reais
Não é só isso, como fica a sua reputação
frente aos seus clientes e ao mercado?
Quem aqui acessa a rede em lugares
públicos ou desconhecidos?
Nunca trafegue informações importantes
fora de um meio criptografado
Riscos
• Vazamento dos dados que estiverem sendo
trafegados
Riscos
• Vazamento dos dados que estiverem sendo
trafegados
• Manipulação de informações sendo induzido a
tomar determinadas ações
Riscos
• Vazamento dos dados que estiverem sendo
trafegados
• Manipulação de informações sendo induzido a
tomar determinadas ações
• Execução de operações indevidas por meio
do sequestro de sessão ativa
A utilização de HTTPS deve ser obrigatória
Dependendo da rede que você acessar,
considere a utilização de VPN
Serviço de autenticação
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
Por isso é necessário trafegar um código
secreto em cada requisição
Transmitindo na URI da requisição
GET /resources?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
Cache-Control: no-cache
Transmitindo no header da requisição
GET /resources 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
Secret-Code: rodrigobranas
Cache-Control: no-cache
Transmitindo no body da requisição
POST /resources 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
secret-code=rodrigobranas
Se esse código secreto for obtido é
possível se passar pelo usuário
Em termos de segurança, o serviço de
autenticação é o mais crítico do sistema
Crie atrasos na resposta e bloqueie a conta
dos usuários por excesso de tentativa
Dados geográficos também podem ser
utilizados para aumentar a segurança
Cuidado com ataques utilizando a mesma
senha em uma lista de usuários diferentes
Onde um atacante conseguiria a lista
de usuários do sistema?
Em alguns sistemas essa informação é
pública: GitHub, Instagram ou Twitter
Em outros, são usados dados conhecidos
como documentos ou números sequenciais
A sua tela de recuperação de senha deixa
claro se um usuário existe ou não?
Além de expor a existência dos usuários
ainda pode trazer problemas de privacidade
Por isso, independente das reclamações, o
uso de senhas fortes deve ser obrigatório
Expirar a senha é uma boa prática?
Evite despertar o ódio dos usuários se não
for realmente necessário
Cuidado, evite a recuperação de senha
por meio de resposta secreta
Alguém deve saber o nome do seu primeiro
cachorro ou o seu apelido de infância
Sempre guarde as senhas de forma
criptografada no banco de dados
Não confie em um sistema que manda
a senha aberta por e-mail
É um problema de privacidade que
pode se tornar um risco de segurança
Utilize um salt diferente para cada senha,
prevenindo o uso de rainbow table
Não importa onde, evite usar a mesma
senha em sistemas diferentes
Você tem uma técnica para criar as suas
senhas de forma segura e confiável?
Dependendo do nível de segurança
necessário, use Multi-Factor Authentication
Uma vez obtido o código, é necessário
armazená-lo em algum lugar no cliente
E agora, cookie ou token?
Cookies
Surgiram em 1994, foram criados por Lou
Montulli na Netscape para viabilizar a criação
de carrinhos de compras
Ao acessar um recurso protegido, o servidor
pode redirecionar ou mesmo retornar
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
Vantagens dos cookies
• São passados automaticamente nas
requisições, simplificando o
desenvolvimento
• Podem ser marcados como httpOnly,
impedindo ataques do tipo XSS
Alguma vez, você já teve a sensação
de estar sendo seguido?
Tokens
Os tokens seguem uma abordagem mais
moderna, flexível e escalável, não mantendo
estado de conversação no servidor
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_VFrYXd
pDDq6l
5MmNALRAy8
Connection: keep-alive
Quais são as vantagens dos tokens?
Vantagens dos tokens
• Não são transmitidos automaticamente
para obter recursos estáticos
• Podem melhorar a escalabilidade da
aplicação
• Não sofrem ataques de CSRF
Tipos de Ataques
https://seginfo.com.br/2017/12/12/artigo-1-3-atualizacao-do-owasp-top-10-2017-
conheca-os-10-atuais-e-principais-riscos-de-seguranca-em-aplicacoes-web/
SQL Injection
Injeção de código SQL malicioso por meio
de campos de formulários, parâmetros da
URL entre outras possibilidades
O que é possível fazer a partir de
um ataque do tipo SQL Injection?
Ataques de SQLInjection
• Obter acesso não autorizado
• Extrair informações
• Atacar a base de dados apagando
tabelas, registros e outros recursos
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.
O que é possível fazer a partir de
um ataque do tipo CSRF?
Ataques de CSRF
• Realizar requisições se passando pelo
usuário
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?
Ataques de XSS
• Sequestrar sessão ativa
• Roubar informações
• Manipular o usuário com informações
falsas
• Obter vantagens a partir de cliques em
propagandas não desejadas
Prevenção
Checklist
HTTPS
Política para utilização de senhas (sem senha master)
As senhas são guardadas de forma criptografada
Tempo de expiração compatível com o tipo de software
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 CSRF
Proteção contra ataques de XSS
Confirmação de senha ou código SMS em operações mais críticas
Política de segurança da informação
Registro de todas as operações
Dependências e pacotes sempre atualizados
Espalhe boatos sobre a segurança e o
rastreamento de operações do sistema
Obrigado!
Rodrigo Branas
Twitter: http://www.twitter.com/rodrigobranas
Instagram: http://www.instagram.com/rodrigobranas
YouTube: http://www.youtube.com/rodrigobranas
LinkedIn: http://br.linkedin.com/in/rodrigobranas
GitHub: http://www.github.com/rodrigobranas
Medium: http://www.medium.com/@rodrigobranas

[DTC21] Rodrigo Branas - Segurança na Web: Será que o seu sistema está realmente seguro?

  • 1.
    Segurança na Web Seráque seu sistema está realmente seguro? Rodrigo Branas – @rodrigobranas - youtube.com/rodrigobranas
  • 4.
  • 5.
    Quais são seuspiores pesadelos em relação a segurança do seu sistema?
  • 6.
    Piores Pesadelos • Vazamentode dados expondo informações importantes de um ou mais usuários
  • 7.
    Piores Pesadelos • Vazamentode dados expondo informações importantes de um ou mais usuários • Descoberta de fraudes pela execução de operações de forma indevida
  • 8.
    Piores Pesadelos • Vazamentode dados expondo informações importantes de um ou mais usuários • Descoberta de fraudes pela execução de operações de forma indevida • Perda parcial ou total dos dados ou até mesmo sequestro com pedido de resgate
  • 9.
    Piores Pesadelos • Vazamentode dados expondo informações importantes de um ou mais usuários • Descoberta de fraudes pela execução de operações de forma indevida • Perda parcial ou total dos dados ou até mesmo sequestro com pedido de resgate • Queda do sistema por conta de ataques
  • 12.
    Lei Geral deProteção de Dados ou LGPD
  • 13.
    As multas podemchegar a 2% do faturamento, limitado a 50 milhões de reais
  • 14.
    Não é sóisso, como fica a sua reputação frente aos seus clientes e ao mercado?
  • 15.
    Quem aqui acessaa rede em lugares públicos ou desconhecidos?
  • 16.
    Nunca trafegue informaçõesimportantes fora de um meio criptografado
  • 17.
    Riscos • Vazamento dosdados que estiverem sendo trafegados
  • 18.
    Riscos • Vazamento dosdados que estiverem sendo trafegados • Manipulação de informações sendo induzido a tomar determinadas ações
  • 19.
    Riscos • Vazamento dosdados que estiverem sendo trafegados • Manipulação de informações sendo induzido a tomar determinadas ações • Execução de operações indevidas por meio do sequestro de sessão ativa
  • 20.
    A utilização deHTTPS deve ser obrigatória
  • 21.
    Dependendo da redeque você acessar, considere a utilização de VPN
  • 22.
  • 23.
    O HTTP, ouHyper 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
  • 24.
    Por isso énecessário trafegar um código secreto em cada requisição
  • 25.
    Transmitindo na URIda requisição GET /resources?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 Cache-Control: no-cache
  • 26.
    Transmitindo no headerda requisição GET /resources 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 Secret-Code: rodrigobranas Cache-Control: no-cache
  • 27.
    Transmitindo no bodyda requisição POST /resources 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 secret-code=rodrigobranas
  • 28.
    Se esse códigosecreto for obtido é possível se passar pelo usuário
  • 29.
    Em termos desegurança, o serviço de autenticação é o mais crítico do sistema
  • 30.
    Crie atrasos naresposta e bloqueie a conta dos usuários por excesso de tentativa
  • 31.
    Dados geográficos tambémpodem ser utilizados para aumentar a segurança
  • 32.
    Cuidado com ataquesutilizando a mesma senha em uma lista de usuários diferentes
  • 33.
    Onde um atacanteconseguiria a lista de usuários do sistema?
  • 34.
    Em alguns sistemasessa informação é pública: GitHub, Instagram ou Twitter
  • 35.
    Em outros, sãousados dados conhecidos como documentos ou números sequenciais
  • 36.
    A sua telade recuperação de senha deixa claro se um usuário existe ou não?
  • 37.
    Além de expora existência dos usuários ainda pode trazer problemas de privacidade
  • 38.
    Por isso, independentedas reclamações, o uso de senhas fortes deve ser obrigatório
  • 39.
    Expirar a senhaé uma boa prática?
  • 40.
    Evite despertar oódio dos usuários se não for realmente necessário
  • 41.
    Cuidado, evite arecuperação de senha por meio de resposta secreta
  • 42.
    Alguém deve sabero nome do seu primeiro cachorro ou o seu apelido de infância
  • 43.
    Sempre guarde assenhas de forma criptografada no banco de dados
  • 44.
    Não confie emum sistema que manda a senha aberta por e-mail
  • 45.
    É um problemade privacidade que pode se tornar um risco de segurança
  • 46.
    Utilize um saltdiferente para cada senha, prevenindo o uso de rainbow table
  • 47.
    Não importa onde,evite usar a mesma senha em sistemas diferentes
  • 48.
    Você tem umatécnica para criar as suas senhas de forma segura e confiável?
  • 49.
    Dependendo do nívelde segurança necessário, use Multi-Factor Authentication
  • 50.
    Uma vez obtidoo código, é necessário armazená-lo em algum lugar no cliente
  • 51.
    E agora, cookieou token?
  • 52.
  • 53.
    Surgiram em 1994,foram criados por Lou Montulli na Netscape para viabilizar a criação de carrinhos de compras
  • 55.
    Ao acessar umrecurso protegido, o servidor pode redirecionar ou mesmo retornar 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>
  • 56.
    O cliente enviauma 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
  • 57.
    O servidor respondecom 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
  • 58.
    O cliente passaa 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
  • 59.
    Vantagens dos cookies •São passados automaticamente nas requisições, simplificando o desenvolvimento • Podem ser marcados como httpOnly, impedindo ataques do tipo XSS
  • 60.
    Alguma vez, vocêjá teve a sensação de estar sendo seguido?
  • 65.
  • 66.
    Os tokens seguemuma abordagem mais moderna, flexível e escalável, não mantendo estado de conversação no servidor
  • 68.
    Ao acessar umrecurso 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>
  • 69.
    O cliente enviauma 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
  • 70.
    O servidor respondecom 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"}
  • 71.
    O cliente passaa 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_VFrYXd pDDq6l 5MmNALRAy8 Connection: keep-alive
  • 74.
    Quais são asvantagens dos tokens?
  • 75.
    Vantagens dos tokens •Não são transmitidos automaticamente para obter recursos estáticos • Podem melhorar a escalabilidade da aplicação • Não sofrem ataques de CSRF
  • 76.
  • 77.
  • 78.
  • 79.
    Injeção de códigoSQL malicioso por meio de campos de formulários, parâmetros da URL entre outras possibilidades
  • 80.
    O que épossível fazer a partir de um ataque do tipo SQL Injection?
  • 81.
    Ataques de SQLInjection •Obter acesso não autorizado • Extrair informações • Atacar a base de dados apagando tabelas, registros e outros recursos
  • 82.
    CSRF, ou Cross-SiteRequest Forgery
  • 83.
    Por padrão, osnavegadores enviam cookies nas requisições automaticamente, o ataque se baseia em executar ações em sites que o usuário já está autenticado.
  • 84.
    O que épossível fazer a partir de um ataque do tipo CSRF?
  • 85.
    Ataques de CSRF •Realizar requisições se passando pelo usuário
  • 86.
  • 87.
    O ataque sebaseia 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.
  • 88.
    O que épossível fazer a partir de um ataque do tipo XSS?
  • 89.
    Ataques de XSS •Sequestrar sessão ativa • Roubar informações • Manipular o usuário com informações falsas • Obter vantagens a partir de cliques em propagandas não desejadas
  • 90.
  • 91.
    Checklist HTTPS Política para utilizaçãode senhas (sem senha master) As senhas são guardadas de forma criptografada Tempo de expiração compatível com o tipo de software 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 CSRF Proteção contra ataques de XSS Confirmação de senha ou código SMS em operações mais críticas Política de segurança da informação Registro de todas as operações Dependências e pacotes sempre atualizados
  • 92.
    Espalhe boatos sobrea segurança e o rastreamento de operações do sistema
  • 93.
    Obrigado! Rodrigo Branas Twitter: http://www.twitter.com/rodrigobranas Instagram:http://www.instagram.com/rodrigobranas YouTube: http://www.youtube.com/rodrigobranas LinkedIn: http://br.linkedin.com/in/rodrigobranas GitHub: http://www.github.com/rodrigobranas Medium: http://www.medium.com/@rodrigobranas