Brakeman - Rails Security Scanner
Dica publicada em Linux / Segurança
Brakeman - Rails Security Scanner
Brakeman[1] é uma ferramenta de segurança, utilizada para escanear códigos escritos em Ruby on Rails por meio de análise estática à procura de vulnerabilidades.
gem install brakeman
brakeman railsgoat/
Ou então, acessar o diretório e apenas executar o Brakeman:
cd railsgoat/
brakeman
Utilize o Git para fazer o download de todo o código:
git clone https://github.com/OWASP/railsgoat.git
Agora, basta executar o Brakeman no código em questão:
brakeman railsgoat/
Você terá uma saída similar a esta abaixo:
Como podemos ver, foi gerado alguns avisos sobre possíveis vulnerabilidades:
Lembrando que nos resultados de ferramentas deste tipo, podemos obter falsos positivos e falsos negativos, sendo assim, é altamente recomendado a análise manual por algum analista e/ou empresa[4] com experiência no assunto, para que todas a falhas presentes sejam mitigadas.
See you in the next tip. :)
@espreto
Instalação
Você precisa ter o RubyGems[2] instalado em sua máquina, sendo assim, basta o comando abaixo para que a ferramenta seja instalada:gem install brakeman
Utilização
Após sua instalação, você pode utilizar o Brakeman de duas formas. A primeira é especificando o diretório que contém a aplicação a ser analisada:brakeman railsgoat/
Ou então, acessar o diretório e apenas executar o Brakeman:
cd railsgoat/
brakeman
E na prática, como fica?
Vamos a um exemplo de código Rails vulnerável, utilizando uma aplicação desenvolvida especialmente para fins didáticos, que é o RailsGoat[3].Utilize o Git para fazer o download de todo o código:
git clone https://github.com/OWASP/railsgoat.git
Agora, basta executar o Brakeman no código em questão:
brakeman railsgoat/
Você terá uma saída similar a esta abaixo:
Como podemos ver, foi gerado alguns avisos sobre possíveis vulnerabilidades:
+-------------------------------+-------+ | Warning Type..................| Total | +-------------------------------+-------+ | Attribute Restriction.........| 1 | | Command Injection.............| 1 | | Cross Site Scripting..........| 1 | | Cross-Site Request Forgery....| 1 | | Dangerous Send................| 1 | | File Access...................| 1 | | Format Validation.............| 1 | | Mass Assignment...............| 5 | | Remote Code Execution.........| 4 | | SQL Injection.................| 2 | | Session Setting...............| 2 | +-------------------------------+-------+
Lembrando que nos resultados de ferramentas deste tipo, podemos obter falsos positivos e falsos negativos, sendo assim, é altamente recomendado a análise manual por algum analista e/ou empresa[4] com experiência no assunto, para que todas a falhas presentes sejam mitigadas.
Referências
- [1]Brakeman - Rails Security Scanner
- [2]RubyGems.org | your community gem host
- [3]OWASP/railsgoat · GitHub
- [4]Conviso Application Security
See you in the next tip. :)
@espreto