security testing para rails

12

Click here to load reader

Upload: cristian-rojas

Post on 29-Jul-2015

545 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: Security Testing para Rails

Security Testing para Rails

Cristián RojasEspecialista en Seguridad de SoftwareInexperto en desarrollo Ruby/Rails

Page 2: Security Testing para Rails

¿Es Rails seguro?

Page 3: Security Testing para Rails

¿Entonces por qué no probamos seguridad?

def test_sql_injectionvisit "http://www.misitiobacan.cl"fill_in "user", :with => "cracker"fill_in "password", :with => "' OR '1'='1"click_button "Ingresar"response.should_not contain("bienvenido,")

end

Page 4: Security Testing para Rails

¿Qué vulnerabilidades puede haber?

● Cross site scripting (XSS)● SQL injection● Command injection● Cross-Site Request Forgery (CSRF)● Redirecciones no protegidas● Acceso inseguro a archivos● Rutas por defecto● Validación insuficiente de modelos● Abuso de mass assignment● Uso peligroso de eval()● …etc.

Page 5: Security Testing para Rails

¿Qué hacemos?

Page 6: Security Testing para Rails

gem install brakeman(perro)

Page 7: Security Testing para Rails

Brakeman● Es un analizador estático● Detecta vulnerabilidades:

– Que nosotros introducimos en nuestras apps

– Inherentes a la versión Rails que utilizamos

● Se integra con rake y herramientas CI como Jenkins (¿ew?) o Guard

Page 8: Security Testing para Rails

Demo

Page 9: Security Testing para Rails

Sin embargo...¿Será suficiente con Brakeman?

Page 10: Security Testing para Rails
Page 11: Security Testing para Rails

Recursos● Ruby on Rails Security Guide:

http://guides.rubyonrails.org/security.html● Analizador Estático Brakeman:

http://brakemanscanner.org/● ¿Todas las vulnerabilidades se vuelven obvias?:

http://injcristianrojas.github.com/analisis/2012/12/26/todas-las-vulnerabilidades-se-vuelven-obvias/

● Ruby on Rails releases "extremely critical" fixes:http://www.scmagazine.com/ruby-on-rails-releases-extremely-critical-fixes/article/275399/

Page 12: Security Testing para Rails

Muchas gracias por su atención.

¿Preguntas?¿Comentarios?