1 of 50

Slide Notes

DownloadGo Live

WHAT WE TALK ABOUT WHEN WE TALK ABOUT WEB SECURITY

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 specific issues.

@NYC.RB [2016/02]

by Dan Schanler hello@danschanler.com

PRESENTATION OUTLINE

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

DAN SCHANLER
NYC.RB 2016-02-09

Photo by ericmcgregor

GOALS

Photo by ericmcgregor

DEFEND OUR APPS FROM HACKERS

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

OPEN WEB APPLICATION SECURITY PROJECT

OWASP TOP TEN
Photo by Lurwah

TAKE-AWAYS

FOR THE LAZY LIKE ME
Photo by Aris.Sanchez

#1 SHAKE WELL BEFORE USER DATA

INJECTION FLAWS = BIG PROBLEMS
Photo by Dirty Bunny

#1 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

#2 WHITELISTS > BLACKLISTS

ENUMERATING BADNESS IS TOUGH
Photo by ChrisL_AK

#2 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

#3 FOLLOW WEB/RAILS STANDARDS

"SECURE BY DEFauLT"

#3 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

#4 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

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