Conceitos de segurança em Ruby on Rails
-
Upload
overduka -
Category
Technology
-
view
47 -
download
1
Transcript of Conceitos de segurança em Ruby on Rails
![Page 1: Conceitos de segurança em Ruby on Rails](https://reader030.fdocument.pub/reader030/viewer/2022032505/55c96298bb61ebf6398b46b0/html5/thumbnails/1.jpg)
com Ruby on Rails
Segurança
+
![Page 2: Conceitos de segurança em Ruby on Rails](https://reader030.fdocument.pub/reader030/viewer/2022032505/55c96298bb61ebf6398b46b0/html5/thumbnails/2.jpg)
Segurança"A web foi projetada com pouca ou quase nenhuma preocupação com segurança.”
• Integridade
• Confidenciabilidade
• Negação de Serviço
• Autenticação
Ameaças
![Page 3: Conceitos de segurança em Ruby on Rails](https://reader030.fdocument.pub/reader030/viewer/2022032505/55c96298bb61ebf6398b46b0/html5/thumbnails/3.jpg)
Ruby on RailsFramework WEB
• Foco na produtividade
• Criado para facilitar a vida do desenvolvedor
• Utiliza a linguagem de programação Ruby
![Page 4: Conceitos de segurança em Ruby on Rails](https://reader030.fdocument.pub/reader030/viewer/2022032505/55c96298bb61ebf6398b46b0/html5/thumbnails/4.jpg)
Tipos de Ataques
![Page 5: Conceitos de segurança em Ruby on Rails](https://reader030.fdocument.pub/reader030/viewer/2022032505/55c96298bb61ebf6398b46b0/html5/thumbnails/5.jpg)
Sessões
Cross-Site Request Forgery (CSRF)
Redirecionamento
Arquivos
Gerenciamento do usuário
Injeção
Headers
Geração de query inseguras
Segurança de ambiente
![Page 6: Conceitos de segurança em Ruby on Rails](https://reader030.fdocument.pub/reader030/viewer/2022032505/55c96298bb61ebf6398b46b0/html5/thumbnails/6.jpg)
Replay Attach
Sessões
Alterar o valor de uma sessão
![Page 7: Conceitos de segurança em Ruby on Rails](https://reader030.fdocument.pub/reader030/viewer/2022032505/55c96298bb61ebf6398b46b0/html5/thumbnails/7.jpg)
Replay Attach
Sessões
Como ?
document.cookie = "saldo=200"
![Page 8: Conceitos de segurança em Ruby on Rails](https://reader030.fdocument.pub/reader030/viewer/2022032505/55c96298bb61ebf6398b46b0/html5/thumbnails/8.jpg)
Replay Attach
Sessões
Solução
Guardar valores importantes no banco de dados, dados em sessões somente genéricos.
Dados que deverão ser checados a cada atualização.
![Page 9: Conceitos de segurança em Ruby on Rails](https://reader030.fdocument.pub/reader030/viewer/2022032505/55c96298bb61ebf6398b46b0/html5/thumbnails/9.jpg)
Cross-Site Request Forgery CSRF
Insere código ou link malioso no código que acredita estar numa página autenticada.
![Page 10: Conceitos de segurança em Ruby on Rails](https://reader030.fdocument.pub/reader030/viewer/2022032505/55c96298bb61ebf6398b46b0/html5/thumbnails/10.jpg)
Como ?Pessoa está autenticada no site 1 e clica em algum link que requer autenticação.
Exemplo: pessoa está no facebook e recebe o link de deletar a conta camuflado em uma imagem “fofa”.
Cross-Site Request Forgery CSRF
![Page 11: Conceitos de segurança em Ruby on Rails](https://reader030.fdocument.pub/reader030/viewer/2022032505/55c96298bb61ebf6398b46b0/html5/thumbnails/11.jpg)
Cross-Site Request Forgery CSRF
Solução
Pedir usuário/senha para ações importantes
![Page 12: Conceitos de segurança em Ruby on Rails](https://reader030.fdocument.pub/reader030/viewer/2022032505/55c96298bb61ebf6398b46b0/html5/thumbnails/12.jpg)
Redirect
Redirecionamento explicito na url, é perigoso pois pode redirecionar para um site fake exatamente igual ao original podendo obter usuário/senha do usuário.
![Page 13: Conceitos de segurança em Ruby on Rails](https://reader030.fdocument.pub/reader030/viewer/2022032505/55c96298bb61ebf6398b46b0/html5/thumbnails/13.jpg)
Como ?
Basta aplicar um script que muda a página de redirecionamento, como esse:
<!-- $('.redirect').attr('href',"http://localhost:3000/users/app_details?url=http://terra.com.br") -->
Redirect
![Page 14: Conceitos de segurança em Ruby on Rails](https://reader030.fdocument.pub/reader030/viewer/2022032505/55c96298bb61ebf6398b46b0/html5/thumbnails/14.jpg)
Como ?
Basta aplicar um script que muda a página de redirecionamento, como esse:
<!-- $('.redirect').attr('href',"http://localhost:3000/users/app_details?url=http://terra.com.br") -->
Redirect
![Page 15: Conceitos de segurança em Ruby on Rails](https://reader030.fdocument.pub/reader030/viewer/2022032505/55c96298bb61ebf6398b46b0/html5/thumbnails/15.jpg)
E muito mais..
![Page 16: Conceitos de segurança em Ruby on Rails](https://reader030.fdocument.pub/reader030/viewer/2022032505/55c96298bb61ebf6398b46b0/html5/thumbnails/16.jpg)
Ferramenta estática de checagem de código para detecção de vulnerabilidades de segurança
Para instalar: gem install brakeman
Demonstração
![Page 17: Conceitos de segurança em Ruby on Rails](https://reader030.fdocument.pub/reader030/viewer/2022032505/55c96298bb61ebf6398b46b0/html5/thumbnails/17.jpg)
Perguntas
?