Transcript
Page 1: Conceitos de segurança em Ruby on Rails

com Ruby on Rails

Segurança

+

Page 2: Conceitos de segurança em Ruby on Rails

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

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

Tipos de Ataques

Page 5: Conceitos de segurança em Ruby on Rails

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

Replay Attach

Sessões

Alterar o valor de uma sessão

Page 7: Conceitos de segurança em Ruby on Rails

Replay Attach

Sessões

Como ?

document.cookie = "saldo=200"

Page 8: Conceitos de segurança em Ruby on Rails

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

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

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

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

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

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

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

E muito mais..

Page 16: Conceitos de segurança em Ruby on Rails

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

Perguntas

?