How Sec Can Convince DevOps To Believe In The Boogeyman (B-Sides SF)

73
How Sec Can Convince DevOps To Believe In The Boogeyman

Transcript of How Sec Can Convince DevOps To Believe In The Boogeyman (B-Sides SF)

Page 1: How Sec Can Convince DevOps To Believe In The Boogeyman (B-Sides SF)

How Sec Can Convince DevOps To Believe In The Boogeyman

Page 2: How Sec Can Convince DevOps To Believe In The Boogeyman (B-Sides SF)

Sr. AppSec Engineer@leifdreizler

Page 3: How Sec Can Convince DevOps To Believe In The Boogeyman (B-Sides SF)

Sr. Security Engineer@leifdreizler

Page 4: How Sec Can Convince DevOps To Believe In The Boogeyman (B-Sides SF)

Your Elastic Security Team

Page 5: How Sec Can Convince DevOps To Believe In The Boogeyman (B-Sides SF)

So What Does Bugcrowd Actually Do?

• Incorporate up to 16,000 freelance security researchers as part of a public or private engagement

• Run a crowd sourced pen test

• Manage an ongoing bug bounty program

Page 6: How Sec Can Convince DevOps To Believe In The Boogeyman (B-Sides SF)

What’s a bug bounty program?

Page 7: How Sec Can Convince DevOps To Believe In The Boogeyman (B-Sides SF)

A Brief History of Bug Bounty Programs

Page 8: How Sec Can Convince DevOps To Believe In The Boogeyman (B-Sides SF)

These  brands  (and  others)  trust  Bugcrowd

Page 9: How Sec Can Convince DevOps To Believe In The Boogeyman (B-Sides SF)

• A brief introduction to DevOps • How to incorporate Sec into DevOps • Accelerating your RO (security) I • What’s in it for me (as a security person)?

Things we’ll cover

Page 10: How Sec Can Convince DevOps To Believe In The Boogeyman (B-Sides SF)

How did we get here?

Page 11: How Sec Can Convince DevOps To Believe In The Boogeyman (B-Sides SF)

Old School Thinking

Page 12: How Sec Can Convince DevOps To Believe In The Boogeyman (B-Sides SF)

Fast forward to 2015CLOUD / SaaS

MOBILE / BYOD DISTRIBUTED/SOA

AGILE / LEAN

Page 13: How Sec Can Convince DevOps To Believe In The Boogeyman (B-Sides SF)
Page 14: How Sec Can Convince DevOps To Believe In The Boogeyman (B-Sides SF)
Page 15: How Sec Can Convince DevOps To Believe In The Boogeyman (B-Sides SF)
Page 16: How Sec Can Convince DevOps To Believe In The Boogeyman (B-Sides SF)

Move Security as Close to the Code as Possible

The New Fence

Page 17: How Sec Can Convince DevOps To Believe In The Boogeyman (B-Sides SF)

Ops Don’t break anything

Dev and Ops teams traditionally had different goals

Devs Build all the things

Page 18: How Sec Can Convince DevOps To Believe In The Boogeyman (B-Sides SF)

• core to agile software development • deploy code frequently/continuously • increase speed of release cycles • reduce time to fix bugs • reduces ‘tension’ between stability and

new features

DevOps

Page 19: How Sec Can Convince DevOps To Believe In The Boogeyman (B-Sides SF)

The Double Edged Sword

Page 20: How Sec Can Convince DevOps To Believe In The Boogeyman (B-Sides SF)

Ops Don’t break anything

Dev, Ops, and Sec teams have different goals

Sec Break Everything

Devs Build all the things

Page 21: How Sec Can Convince DevOps To Believe In The Boogeyman (B-Sides SF)

We’re different…

Builders Breakers

…and that’s good.

Page 22: How Sec Can Convince DevOps To Believe In The Boogeyman (B-Sides SF)

You’re [built | incentivized | driven] to do completely opposite things.

Page 23: How Sec Can Convince DevOps To Believe In The Boogeyman (B-Sides SF)

Difficult to Navigate

Page 24: How Sec Can Convince DevOps To Believe In The Boogeyman (B-Sides SF)

Developer Incentive

Push this feature by this deadline because $REASON.

Page 25: How Sec Can Convince DevOps To Believe In The Boogeyman (B-Sides SF)

Ops Incentive

Push this feature by this deadline because $REASON.

Page 26: How Sec Can Convince DevOps To Believe In The Boogeyman (B-Sides SF)

Security Incentive

Page 27: How Sec Can Convince DevOps To Believe In The Boogeyman (B-Sides SF)

• Good guys who think like bad guys tend to overestimate the ability for everyone else to think like a bad guy.

• Doesn’t make security people “better”. Does make us useful (and annoying if you don’t buy-in to what we’re saying).

• Tip: The next time you feel like calling a developer “dumb”, build and launch a product first.

Side note:

Page 28: How Sec Can Convince DevOps To Believe In The Boogeyman (B-Sides SF)

The real developer problem

I don’t believe in the boogeyman

Page 29: How Sec Can Convince DevOps To Believe In The Boogeyman (B-Sides SF)

The real Ops Problem

Push this feature by this deadline because $REASON.

Page 30: How Sec Can Convince DevOps To Believe In The Boogeyman (B-Sides SF)

The real security problem

Page 31: How Sec Can Convince DevOps To Believe In The Boogeyman (B-Sides SF)

• Security vendors for making this even harder.

• Fear, Uncertainty, & Doubt works as a awareness tool, but FUD fatigue is very, very real.

A Big Thanks

Page 32: How Sec Can Convince DevOps To Believe In The Boogeyman (B-Sides SF)

Status quo

• Developer checklists

• Check-in testing/CI tests

• Security awareness training

• Pentesting/VA/SCA/outsourced things

BLOCKERS

Page 33: How Sec Can Convince DevOps To Believe In The Boogeyman (B-Sides SF)

So security people do this…

(and let’s be honest, we quite enjoy it too…)

Page 34: How Sec Can Convince DevOps To Believe In The Boogeyman (B-Sides SF)

It doesn’t work over the long term.

Page 35: How Sec Can Convince DevOps To Believe In The Boogeyman (B-Sides SF)

Integrating Security into DevOps

Page 36: How Sec Can Convince DevOps To Believe In The Boogeyman (B-Sides SF)

start simple, take small steps,

leverage easy wins

The Secret

Page 37: How Sec Can Convince DevOps To Believe In The Boogeyman (B-Sides SF)

“developers have to care about the security of every

line of code”

Page 38: How Sec Can Convince DevOps To Believe In The Boogeyman (B-Sides SF)

Educate developers about the security implications of the

code they write

Page 39: How Sec Can Convince DevOps To Believe In The Boogeyman (B-Sides SF)

“everyone has to care about process”

• Make everyone part of the same team • Diversify your scrum team • Implement a fire fighting team

Page 40: How Sec Can Convince DevOps To Believe In The Boogeyman (B-Sides SF)

Decrease friction between Dev, Ops,

and Sec

Page 41: How Sec Can Convince DevOps To Believe In The Boogeyman (B-Sides SF)

500 devs != 5 security engs

Page 42: How Sec Can Convince DevOps To Believe In The Boogeyman (B-Sides SF)

Protect staff from phishing

Monitor/scan server infrastructure

Respond to ongoing security threats

AND review 500 dev * # lines of code per day!

Security Responsibilities

Page 43: How Sec Can Convince DevOps To Believe In The Boogeyman (B-Sides SF)

Peer code reviews (Pull Requests) TDD Applied to Security

Static Application Security Testing Dynamic Application Security Testing

Improve the Security Process

Page 44: How Sec Can Convince DevOps To Believe In The Boogeyman (B-Sides SF)

Server side input validation failure when client side validation exists

Validation for hidden fields, radio buttons, or drop down menus

Blatant SQLi or XSS

Browsing to /admin/login.php or other honeypot URIs

App Layer IDS

src: OWASP Proactive Controls

Page 45: How Sec Can Convince DevOps To Believe In The Boogeyman (B-Sides SF)

introduce crowd sourcing

Bug Bounty Programs Responsible Disclosure

Crowdsourced Penetration Test

Page 46: How Sec Can Convince DevOps To Believe In The Boogeyman (B-Sides SF)

…because people are the new automation

Page 47: How Sec Can Convince DevOps To Believe In The Boogeyman (B-Sides SF)

[REDACTED] eCommerce provider

• Long time customer of [EXPENSIVE WEB APP SCANNER] getting “clean results”

• Researcher gained super admin access through a chained attack within 24 hours of launch

• They thought they were doing a great job at writing secure code…

Page 48: How Sec Can Convince DevOps To Believe In The Boogeyman (B-Sides SF)

assume it’s broken

Page 49: How Sec Can Convince DevOps To Believe In The Boogeyman (B-Sides SF)

Instructure received 8x the number of unique vulnerabilities compared to previous pen tests

Page 50: How Sec Can Convince DevOps To Believe In The Boogeyman (B-Sides SF)

Lots of bugs == great dev training

Page 51: How Sec Can Convince DevOps To Believe In The Boogeyman (B-Sides SF)

Aggregate vulnerabilities by category to focus on areas of improvement

Page 52: How Sec Can Convince DevOps To Believe In The Boogeyman (B-Sides SF)

Software is always going to have bugs

Page 53: How Sec Can Convince DevOps To Believe In The Boogeyman (B-Sides SF)

Let’s head them off at the pass…

Page 54: How Sec Can Convince DevOps To Believe In The Boogeyman (B-Sides SF)

[REDACTED] Financial Services

• Extortion attempt from Eastern Europe

• Resolved by creating a “one man bug bounty” (we didn’t tell him he was the only one though…)

• Bug received in 15 mins

Page 55: How Sec Can Convince DevOps To Believe In The Boogeyman (B-Sides SF)

History

0

125

250

375

500

1995 2000 2005 2010 2015

Adoption of bug bounty and vulnerability disclosure programs.

Page 56: How Sec Can Convince DevOps To Believe In The Boogeyman (B-Sides SF)

Bug bounties are awesome…

Page 57: How Sec Can Convince DevOps To Believe In The Boogeyman (B-Sides SF)

Minimize Investment

Maximize Quality

Accelerate RO(security)I

Makes a Statement

Page 58: How Sec Can Convince DevOps To Believe In The Boogeyman (B-Sides SF)

It’s not just about being cost-effective, or loud…

Page 59: How Sec Can Convince DevOps To Believe In The Boogeyman (B-Sides SF)

It’s about leveling the playing field…

Page 60: How Sec Can Convince DevOps To Believe In The Boogeyman (B-Sides SF)

…but bug bounties are hard.

Page 61: How Sec Can Convince DevOps To Believe In The Boogeyman (B-Sides SF)

Plan ahead

Page 62: How Sec Can Convince DevOps To Believe In The Boogeyman (B-Sides SF)

The mistake *everyone* makes:

VULNERABILITY DATAPEOPLE

Page 63: How Sec Can Convince DevOps To Believe In The Boogeyman (B-Sides SF)

[REDACTED] Digital Advertising

• Engaged Bugcrowd to help them assess the state of the code

• So many valid vulnerabilities submitted they shut down the bounty in 24 hours

• Thrilled with the results!

Page 64: How Sec Can Convince DevOps To Believe In The Boogeyman (B-Sides SF)

The Golden Rule:

Touch the code ==

Pay the bug

Page 65: How Sec Can Convince DevOps To Believe In The Boogeyman (B-Sides SF)

Align expectations before you engage

Page 66: How Sec Can Convince DevOps To Believe In The Boogeyman (B-Sides SF)

Bug bounties create controlled incidents…

Page 67: How Sec Can Convince DevOps To Believe In The Boogeyman (B-Sides SF)

[REDACTED] Online Marketplace

• The DevOps and Security teams watched vulns being submitted in real time

• Non-security minded people learned a lot from the process

• Great insight into how ‘good guys that think like bad guys’ work

Page 68: How Sec Can Convince DevOps To Believe In The Boogeyman (B-Sides SF)

Mozilla

Thanks to @mwcoates http://www.slideshare.net/michael_coates/bug-bounty-programs-for-the-web

Clearing their assurance debt

Boogeymanbelief

Page 69: How Sec Can Convince DevOps To Believe In The Boogeyman (B-Sides SF)

DevOpsSec feeling confident?

Try a Gamified Pentest

1. Create a pool that benefits your engineering team (team drinks, party, event, whatever)

2. Replace an existing pentest w/ a time-boxed bug bounty program

3. Pay out from the reward pool

4. What ever the hackers don’t get, DevOpsSec gets to keep.

Page 70: How Sec Can Convince DevOps To Believe In The Boogeyman (B-Sides SF)

Great things happen when you tighten the security feedback loop between your engineers, and what

they consider to be the outside world

Page 71: How Sec Can Convince DevOps To Believe In The Boogeyman (B-Sides SF)

Conclusion• Bug bounties are cost effective, and highly

marketable, but that’s not the full story…

• …they create controlled incidents that can powerfully impact the security awareness of your builders.

• Allow people that have historically been ‘builders’ to see how ‘breakers’ think

• Get DevOps to believe in and defeat the boogeyman

Page 72: How Sec Can Convince DevOps To Believe In The Boogeyman (B-Sides SF)

Questions?

Responsible Disclosure Flex Bug Bounty

Page 73: How Sec Can Convince DevOps To Believe In The Boogeyman (B-Sides SF)

We’re hiring!

[email protected]