Conceitos de segurança em Ruby on Rails

Preview:

Citation preview

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 RailsFramework 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

?