Download - Putting to your Robots to Work V1.1

Transcript
Page 1: Putting to your Robots to Work V1.1

@salesforceApril 23, 2013

Putting Your Robots to WorkSecurity Automation at Twitter

Page 2: Putting to your Robots to Work V1.1

@salesforce April 2013@alsmola | @ndm | @presidentbeef

The future

Page 3: Putting to your Robots to Work V1.1

@salesforce April 2013@alsmola | @ndm | @presidentbeef

Page 4: Putting to your Robots to Work V1.1

@salesforce April 2013@alsmola | @ndm | @presidentbeef

Page 5: Putting to your Robots to Work V1.1

@salesforce April 2013@alsmola | @ndm | @presidentbeef

Page 6: Putting to your Robots to Work V1.1

@salesforce April 2013@alsmola | @ndm | @presidentbeef

Page 7: Putting to your Robots to Work V1.1

@salesforce April 2013@alsmola | @ndm | @presidentbeef

Page 8: Putting to your Robots to Work V1.1

@salesforce April 2013@alsmola | @ndm | @presidentbeef

Page 9: Putting to your Robots to Work V1.1

@salesforce April 2013@alsmola | @ndm | @presidentbeef

Page 10: Putting to your Robots to Work V1.1

@salesforce April 2013@alsmola | @ndm | @presidentbeef

Page 11: Putting to your Robots to Work V1.1

@salesforce April 2013@alsmola | @ndm | @presidentbeef

Philosophical Guidelines

Page 12: Putting to your Robots to Work V1.1

@salesforce April 2013@alsmola | @ndm | @presidentbeef

Get the right information to the right people

Page 13: Putting to your Robots to Work V1.1

@salesforce April 2013@alsmola | @ndm | @presidentbeef

Find bugs as quickly as possible

Page 14: Putting to your Robots to Work V1.1

@salesforce April 2013@alsmola | @ndm | @presidentbeef

Don't repeat your mistakes

Page 15: Putting to your Robots to Work V1.1

@salesforce April 2013@alsmola | @ndm | @presidentbeef

Analyze from many angles

Page 16: Putting to your Robots to Work V1.1

@salesforce April 2013@alsmola | @ndm | @presidentbeef

Let people prove you wrong

Page 17: Putting to your Robots to Work V1.1

@salesforce April 2013@alsmola | @ndm | @presidentbeef

Help people help themselves

Page 18: Putting to your Robots to Work V1.1

@salesforce April 2013@alsmola | @ndm | @presidentbeef

Automate dumb work

Page 19: Putting to your Robots to Work V1.1

@salesforce April 2013@alsmola | @ndm | @presidentbeef

Keep it tailored

Page 20: Putting to your Robots to Work V1.1

@salesforce April 2013@alsmola | @ndm | @presidentbeef

Automating Security

Page 21: Putting to your Robots to Work V1.1

@salesforce April 2013@alsmola | @ndm | @presidentbeef

Manual security tasks

Code review

External reports

Pen testing

Page 22: Putting to your Robots to Work V1.1

@salesforce April 2013@alsmola | @ndm | @presidentbeef

Automated security tasks

Code review

External reports

Pen testing

Static analysis tools

Dynamic analysis tools

CSP

Page 23: Putting to your Robots to Work V1.1

@salesforce April 2013@alsmola | @ndm | @presidentbeef

Manual security workflow

Run tool Wait for it...

Interpretreports

Fix stuff

Page 24: Putting to your Robots to Work V1.1

@salesforce April 2013@alsmola | @ndm | @presidentbeef

Manual security workflow

Run tool Wait for it...

Interpretreports

Fix stuff

Repeat

Page 25: Putting to your Robots to Work V1.1

@salesforce April 2013@alsmola | @ndm | @presidentbeef

Put your robots to work!

Code committed

Run dynamictools

Run static analysis tools

Gatherreports

Issuenotifications

Automate dumb work

Page 26: Putting to your Robots to Work V1.1

@salesforce April 2013@alsmola | @ndm | @presidentbeef

After automation

Page 27: Putting to your Robots to Work V1.1

@salesforce April 2013@alsmola | @ndm | @presidentbeef

Jenkins CI

Page 28: Putting to your Robots to Work V1.1

@salesforce April 2013@alsmola | @ndm | @presidentbeef

Security Automation Dashboard (SADB)

Page 29: Putting to your Robots to Work V1.1

@salesforce April 2013@alsmola | @ndm | @presidentbeef

CSP

Brakeman

ThreatDeckPhantom Gang

Roshambo

Emaildevelopers

Emailsecurity

Page 30: Putting to your Robots to Work V1.1

@salesforce April 2013@alsmola | @ndm | @presidentbeef

CSP

Brakeman

ThreatDeckPhantom Gang

Roshambo

Emaildevelopers

Emailsecurity

Page 31: Putting to your Robots to Work V1.1

@salesforce April 2013@alsmola | @ndm | @presidentbeef

Open SourceStatic analysis for Ruby on Rails

brakemanscanner.org

Page 32: Putting to your Robots to Work V1.1

@salesforce April 2013@alsmola | @ndm | @presidentbeef

WriteCode

RunTests

CommitCode

Push to CI

CodeReview

QA DeployCode

Brakeman can run anytime

SaveCode

Find bugs as quickly as possible

Page 33: Putting to your Robots to Work V1.1

@salesforce April 2013@alsmola | @ndm | @presidentbeef

Developer

Mesos +Brakeman

CodeRepository SADB

Push Code

Pull Code

Send Report

Send EmailGet the right information to

the right people

Page 34: Putting to your Robots to Work V1.1

@salesforce April 2013@alsmola | @ndm | @presidentbeef

Historical trends

2007 2008 2009 2010 2011 2012 2013

Page 35: Putting to your Robots to Work V1.1

@salesforce April 2013@alsmola | @ndm | @presidentbeef

Historical trendsTwitter starts using Brakeman

2007 2008 2009 2010 2011 2012 2013

Page 36: Putting to your Robots to Work V1.1

@salesforce April 2013@alsmola | @ndm | @presidentbeef

Reports

Page 37: Putting to your Robots to Work V1.1

@salesforce April 2013@alsmola | @ndm | @presidentbeef

Anatomy of a warning

Warning message

Page 38: Putting to your Robots to Work V1.1

@salesforce April 2013@alsmola | @ndm | @presidentbeef

Anatomy of a warning

When warning first reported

Page 39: Putting to your Robots to Work V1.1

@salesforce April 2013@alsmola | @ndm | @presidentbeef

Anatomy of a warning

Code location, link to repo

Page 40: Putting to your Robots to Work V1.1

@salesforce April 2013@alsmola | @ndm | @presidentbeef

Anatomy of a warning

Code snippet

Page 41: Putting to your Robots to Work V1.1

@salesforce April 2013@alsmola | @ndm | @presidentbeef

Anatomy of a warning

Rails-specific information

Help people help themselves

Page 42: Putting to your Robots to Work V1.1

@salesforce April 2013@alsmola | @ndm | @presidentbeef

Anatomy of a warningFalse positive report button

Let people prove you wrong

Page 43: Putting to your Robots to Work V1.1

@salesforce April 2013@alsmola | @ndm | @presidentbeef

QuickTime™ and aH.264 decompressor

are needed to see this picture.

Page 44: Putting to your Robots to Work V1.1

@salesforce April 2013@alsmola | @ndm | @presidentbeef

Page 45: Putting to your Robots to Work V1.1

@salesforce April 2013@alsmola | @ndm | @presidentbeef

CSP

Brakeman

ThreatDeckPhantom Gang

Roshambo

Emaildevelopers

Emailsecurity

Page 46: Putting to your Robots to Work V1.1

@salesforce April 2013@alsmola | @ndm | @presidentbeef

Mixed-content Sensitive forms posting over HTTPOld, vulnerable versions of jQueryForms without authenticity tokens

What does it look for?

Page 47: Putting to your Robots to Work V1.1

@salesforce April 2013@alsmola | @ndm | @presidentbeef

Don't repeat your mistakes

Page 48: Putting to your Robots to Work V1.1

@salesforce April 2013@alsmola | @ndm | @presidentbeef

Page 49: Putting to your Robots to Work V1.1

@salesforce April 2013@alsmola | @ndm | @presidentbeef

Phantom-gang 2.0

Page 50: Putting to your Robots to Work V1.1

@salesforce April 2013@alsmola | @ndm | @presidentbeef

CSP

Brakeman

ThreatDeckPhantom Gang

Roshambo

Emaildevelopers

Emailsecurity

Page 51: Putting to your Robots to Work V1.1

@salesforce April 2013@alsmola | @ndm | @presidentbeef

Page 52: Putting to your Robots to Work V1.1

@salesforce April 2013@alsmola | @ndm | @presidentbeef

Detecting XSS

Analyze from many angles

Page 53: Putting to your Robots to Work V1.1

@salesforce April 2013@alsmola | @ndm | @presidentbeef

Page 54: Putting to your Robots to Work V1.1

@salesforce April 2013@alsmola | @ndm | @presidentbeef

QuickTime™ and aH.264 decompressor

are needed to see this picture.

Page 55: Putting to your Robots to Work V1.1

@salesforce April 2013@alsmola | @ndm | @presidentbeef

Page 56: Putting to your Robots to Work V1.1

@salesforce April 2013@alsmola | @ndm | @presidentbeef

Implementing CSP is not trivial

Page 57: Putting to your Robots to Work V1.1

@salesforce April 2013@alsmola | @ndm | @presidentbeef

HTTP Strict Transport Security

Page 58: Putting to your Robots to Work V1.1

@salesforce April 2013@alsmola | @ndm | @presidentbeef

X-Frame-Options

Page 59: Putting to your Robots to Work V1.1

@salesforce April 2013@alsmola | @ndm | @presidentbeef

X-Xss-Protection

X-Content-Type-OptionsX-Xss-Protection

Page 60: Putting to your Robots to Work V1.1

@salesforce April 2013@alsmola | @ndm | @presidentbeef

Page 61: Putting to your Robots to Work V1.1

@salesforce April 2013@alsmola | @ndm | @presidentbeef

SecureHeaders

Automate dumb work

Page 62: Putting to your Robots to Work V1.1

@salesforce April 2013@alsmola | @ndm | @presidentbeef

Header status page

Page 63: Putting to your Robots to Work V1.1

@salesforce April 2013@alsmola | @ndm | @presidentbeef

CSP

Brakeman

ThreatDeckPhantom Gang

Roshambo

Emaildevelopers

Emailsecurity

Page 64: Putting to your Robots to Work V1.1

@salesforce April 2013@alsmola | @ndm | @presidentbeef

ThreatDeck

Page 65: Putting to your Robots to Work V1.1

@salesforce April 2013@alsmola | @ndm | @presidentbeef

CSP

Brakeman

ThreatDeckPhantom Gang

Roshambo

Emaildevelopers

Emailsecurity

Page 66: Putting to your Robots to Work V1.1

@salesforce April 2013@alsmola | @ndm | @presidentbeef

Review all the things

Page 67: Putting to your Robots to Work V1.1

@salesforce April 2013@alsmola | @ndm | @presidentbeef

Ro-Sham-Bo

Page 68: Putting to your Robots to Work V1.1

@salesforce April 2013@alsmola | @ndm | @presidentbeef

Ro-Sham-Bo

Page 69: Putting to your Robots to Work V1.1

@salesforce April 2013@alsmola | @ndm | @presidentbeef

Ro-Sham-Bo

Needs to be reviewed

Automate dumb work

Page 70: Putting to your Robots to Work V1.1

@salesforce April 2013@alsmola | @ndm | @presidentbeef

Our journey thus far

Manual tasksLow visibility

Late problem discovery

Automated tasksTrends and reports

Automatic notifications

Page 71: Putting to your Robots to Work V1.1

@salesforce April 2013@alsmola | @ndm | @presidentbeef

Tools in this presentation