com Ruby on Rails
Segurança
+
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
Ruby on Rails
Framework WEB
• Foco na produtividade
• Criado para facilitar a vida do desenvolvedor
• Utiliza a linguagem de programação Ruby
Tipos de Ataques
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
Replay Attach
Sessões
Alterar o valor de uma sessão
Replay Attach
Sessões
Como ?
document.cookie = "saldo=200"
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.
Cross-Site Request Forgery
CSRF
Insere código ou link malioso no código que acredita estar
numa página autenticada.
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
Cross-Site Request Forgery
CSRF
Solução
Pedir usuário/senha para ações importantes
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.
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
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
E muito mais..
Ferramenta estática de checagem de código para detecção de
vulnerabilidades de segurança
Para instalar: gem install brakeman
Demonstração
Perguntas
?

Conceitos de segurança em Ruby on Rails