1 of 54

Slide Notes

DownloadGo Live

WHAT WE TALK ABOUT WHEN WE TALK ABOUT WEB SECURITY @RRC

Published on Feb 07, 2016

WHAT WE TALK ABOUT WHEN WE TALK ABOUT WEB SECURITY & RAILS

Simplify some of the major security issues affecting web applications today, with a strong focus on Rails vulnerabilities and the OWASP top ten.

@RUBY REMOTE CONF [2016/03]

by Dan Schanler hello@danschanler.com

PRESENTATION OUTLINE

WHAT WE TALK ABOUT WHEN WE TALK ABOUT
WEB SECURITY & RAILS

DAN SCHANLER
RUBY REMOTE CONF 2016-03-23

MEET DAN

@ jibe
Photo by _maara

Untitled Slide

GOALS

Photo by zen!

DEFEND OUR RAILS APPS

Photo by e³°°°

TAKE-AWAYS

FOR THE LAZY LIKE ME
Photo by Aris.Sanchez

OPEN WEB APPLICATION SECURITY PROJECT

OWASP TOP TEN
Photo by Zuzkins

IS THAT MY JOB?
YES.

"DEVS ARE RESPONSIBLE FOR INSECURITY"

Photo by JonoMueller

WHAT WE WON'T DISCUSS

  • AUTHENTICATION GEMS - DEVISE, OMNIAUTH, ETC
  • BASIC DATA SECURITY - HTTPS, PASSWORDS, ENCRYPTION
  • INFRASTRUCTURE SECURITY - FIREWALLS, LDAP, SSH KEYS
Photo by sboneham

WHAT WE WILL DISCUSS

  • OWASP VULNERABILITIES
  • RAILS SPECIFIC EXAMPLES
  • GENERAL CONCEPTS TO SIMPLIFY DEV SECURITY KNOWLEDGE
Photo by Jeremy Brooks

INJECTION FLAWS = BIG PROBLEMS

SHAKE WELL BEFORE USER DATA
Photo by Dirty Bunny

shake well BEFORE USER DATA

  • SQL INJECTION
  • CROSS-SITE SCRIPTING XSS
Photo by 96dpi

SQL INJECTION

OWASP #1 VULNERABILITY
Photo by mwin

SQL INJECTION

CLICHE BUT I JUST LOVE IT: https://xkcd.com/327  
image source: https://xkcd.com/327

Untitled Slide

RAILS PARAMETERS HASH

AVAILABLE now IN YOUR CONTROLLERs

SQL INJECTION ATTACK

CROSS-SITE SCRIPTING
XSS INJECTION
OWASP #3

Photo by kjetikor

XSS - 3RD PARTY JAVASCRIPT RUNNING ON YOUR DOMAIN

Photo by Keith Allison

Untitled Slide

XSS ATTACKS:

  • STEAL USER COOKIES
  • SESSION HIJACKING
  • REDIRECT TO FAKE WEBSITE
  • CHANGE FORMS TO SNAG CONFIDENTIAL INFO
  • LOTS OF OTHER BAD THINGS
Photo by Connor Tarter

XSS ATTACK EXAMPLES

If thIS runS in your form, attack IS possible

Untitled Slide

XSS PREVENTION

SANITIZE INPUT AND OUTPUT

WHITELISTS > BLACKLISTS

ENUMERATING BADNESS IS TOUGH
Photo by ChrisL_AK

whitelists > Blacklists

  • SECURITY headers
  • MASS ASSIGNMENT
Photo by Ionics

SECURITY HTTP HEADERS

TO MAKE OUR WEB A LITTLE SAFER
Photo by Jaymis

RESPONSE

Untitled Slide

DEFAULT HEADERS

& SEE TWITTER'S SECURE HEADERS

MASS ASSIGNMENT

RAILS HELPER THAT LEADS TO PROBLEMS
Photo by GotCredit

MASS ASSIGNMENT ATTACK

MASS ASSIGNMENT

OWASP #2 Broken Auth & Sess. MGMT
Photo by roger_ipa

MASS ASSIGNMENT MITIGATION

STRONG PARAMS

FOLLOW WEB/RAILS STANDARDS

"SECURE BY DEFauLT"

FOLLOW STANDARDS

  • CROSS-SITE REQUEST FORGERY: CSRF
Photo by backseatpilot

CROSS-SITE REQUEST FORGERY

OWASP #8 CSRF
Photo by 1lenore

CSRF: ATTACKER FORCES USER TO EXECUTE UNWANTED ACTIONS ON WEB APP THEY'RE AUTHENTICATED TO

Photo by aldoaldoz

CSRF

VICTIM HAS JUST:

  • TWEETED, FOLLOWED, LIKED
  • RESET THEIR EMAIL
  • RESET THEIR PASSWORD
  • ANY NUMBER OF OTHER BAD THINGS
Photo by kevin dooley

CSRF MITIGATION

WATCH THE NEWS

RECENT VULNERABILITIES

DON'T LET THEM CREEP UP ON YOU

Untitled Slide

RECENT VULNERABILITIES:
GOOGLE GROUPS
rubyonrails-security

Photo by qousqous

TAKE-AWAYS

  • SHAKE WELL BEFORE USER DATA
  • WHITELISTS > BLACKLISTS
  • FOLLOW WEB & RAILS STANDARDS
  • WATCH THE NEWS

congrats

RAILS WEB SEC 101
Photo by .reid.

LOW HANGING FRUIT

  • DO SOME AUDITING
  • SCAN CODE
  • SCAN APP
  • READ MORE ABOUT SPECIFICS

GEM AUDITING

  • BUNDLER AUDIT
  • HAKIRI
  • GEMNASIUM

SCANNERS:

  • BRAKEMAN
  • DAWNSCANNER
  • W3AF
  • TARANTULA

ARTICLES:

  • ROR SECURITY GUIDE
  • OWASP ROR CHEATSHEET
  • RAILS-SQLI.ORG
  • PHRACK - ATTACKING ROR APPLICATIONS
--ARTICLES--
Ruby on Rails Security Guide: http://guides.rubyonrails.org/security.html
OWASP RoR Cheatsheet: https://www.owasp.org/index.php/Ruby_on_Rails_Cheatsheet
Rails SQL Injection Examples: http://rails-sqli.org/
Phrack - Attacking Ruby on Rails Applications: http://www.phrack.org/papers/attacking_ruby_on_rails.html

Untitled Slide

THANKS ALL.


DAN SCHANLER
HIT ME WITH QUESTIONS:
HELLO@DANSCHANLER.COM