Security as Development -...

96
Security as Development Ryan Huber Slack @ryanhuber

Transcript of Security as Development -...

Page 1: Security as Development - QConSPqconsp.com/system/files/keynotes-slides/security_as_development.pdf · “Use tools in preference to unskilled help to lighten a programming task,

Security as Development

Ryan HuberSlack

@ryanhuber

Page 2: Security as Development - QConSPqconsp.com/system/files/keynotes-slides/security_as_development.pdf · “Use tools in preference to unskilled help to lighten a programming task,

A keynote in three acts

Page 3: Security as Development - QConSPqconsp.com/system/files/keynotes-slides/security_as_development.pdf · “Use tools in preference to unskilled help to lighten a programming task,

Preface: The Origin Story

Page 4: Security as Development - QConSPqconsp.com/system/files/keynotes-slides/security_as_development.pdf · “Use tools in preference to unskilled help to lighten a programming task,

Slack (beta)

Page 5: Security as Development - QConSPqconsp.com/system/files/keynotes-slides/security_as_development.pdf · “Use tools in preference to unskilled help to lighten a programming task,

:rage_emoji:

Page 6: Security as Development - QConSPqconsp.com/system/files/keynotes-slides/security_as_development.pdf · “Use tools in preference to unskilled help to lighten a programming task,

The command line is my ~

Page 7: Security as Development - QConSPqconsp.com/system/files/keynotes-slides/security_as_development.pdf · “Use tools in preference to unskilled help to lighten a programming task,

I use WeeChat

Page 8: Security as Development - QConSPqconsp.com/system/files/keynotes-slides/security_as_development.pdf · “Use tools in preference to unskilled help to lighten a programming task,

IRC Gateway

Page 9: Security as Development - QConSPqconsp.com/system/files/keynotes-slides/security_as_development.pdf · “Use tools in preference to unskilled help to lighten a programming task,
Page 10: Security as Development - QConSPqconsp.com/system/files/keynotes-slides/security_as_development.pdf · “Use tools in preference to unskilled help to lighten a programming task,
Page 11: Security as Development - QConSPqconsp.com/system/files/keynotes-slides/security_as_development.pdf · “Use tools in preference to unskilled help to lighten a programming task,
Page 12: Security as Development - QConSPqconsp.com/system/files/keynotes-slides/security_as_development.pdf · “Use tools in preference to unskilled help to lighten a programming task,

❤�

Page 13: Security as Development - QConSPqconsp.com/system/files/keynotes-slides/security_as_development.pdf · “Use tools in preference to unskilled help to lighten a programming task,

Features

Page 14: Security as Development - QConSPqconsp.com/system/files/keynotes-slides/security_as_development.pdf · “Use tools in preference to unskilled help to lighten a programming task,

wee-slack

Page 15: Security as Development - QConSPqconsp.com/system/files/keynotes-slides/security_as_development.pdf · “Use tools in preference to unskilled help to lighten a programming task,

Birthday party

Page 16: Security as Development - QConSPqconsp.com/system/files/keynotes-slides/security_as_development.pdf · “Use tools in preference to unskilled help to lighten a programming task,
Page 17: Security as Development - QConSPqconsp.com/system/files/keynotes-slides/security_as_development.pdf · “Use tools in preference to unskilled help to lighten a programming task,

So I asked if I could work there...

Page 18: Security as Development - QConSPqconsp.com/system/files/keynotes-slides/security_as_development.pdf · “Use tools in preference to unskilled help to lighten a programming task,

… and I was hired!

Page 19: Security as Development - QConSPqconsp.com/system/files/keynotes-slides/security_as_development.pdf · “Use tools in preference to unskilled help to lighten a programming task,
Page 20: Security as Development - QConSPqconsp.com/system/files/keynotes-slides/security_as_development.pdf · “Use tools in preference to unskilled help to lighten a programming task,
Page 21: Security as Development - QConSPqconsp.com/system/files/keynotes-slides/security_as_development.pdf · “Use tools in preference to unskilled help to lighten a programming task,

Looking back

Page 22: Security as Development - QConSPqconsp.com/system/files/keynotes-slides/security_as_development.pdf · “Use tools in preference to unskilled help to lighten a programming task,

The first message I found..

Page 23: Security as Development - QConSPqconsp.com/system/files/keynotes-slides/security_as_development.pdf · “Use tools in preference to unskilled help to lighten a programming task,
Page 24: Security as Development - QConSPqconsp.com/system/files/keynotes-slides/security_as_development.pdf · “Use tools in preference to unskilled help to lighten a programming task,

Act 1:Get To Work

Page 25: Security as Development - QConSPqconsp.com/system/files/keynotes-slides/security_as_development.pdf · “Use tools in preference to unskilled help to lighten a programming task,

The good

Page 26: Security as Development - QConSPqconsp.com/system/files/keynotes-slides/security_as_development.pdf · “Use tools in preference to unskilled help to lighten a programming task,

Veteran web developers

Page 27: Security as Development - QConSPqconsp.com/system/files/keynotes-slides/security_as_development.pdf · “Use tools in preference to unskilled help to lighten a programming task,

DevOps/CI

Page 28: Security as Development - QConSPqconsp.com/system/files/keynotes-slides/security_as_development.pdf · “Use tools in preference to unskilled help to lighten a programming task,

Bug bounty

Page 29: Security as Development - QConSPqconsp.com/system/files/keynotes-slides/security_as_development.pdf · “Use tools in preference to unskilled help to lighten a programming task,

I started exploring

Page 30: Security as Development - QConSPqconsp.com/system/files/keynotes-slides/security_as_development.pdf · “Use tools in preference to unskilled help to lighten a programming task,

Confession:I also spent a LOT of time

updating my client.

Page 31: Security as Development - QConSPqconsp.com/system/files/keynotes-slides/security_as_development.pdf · “Use tools in preference to unskilled help to lighten a programming task,

Networking(the human kind)

Page 32: Security as Development - QConSPqconsp.com/system/files/keynotes-slides/security_as_development.pdf · “Use tools in preference to unskilled help to lighten a programming task,

Basic risk

Page 33: Security as Development - QConSPqconsp.com/system/files/keynotes-slides/security_as_development.pdf · “Use tools in preference to unskilled help to lighten a programming task,

Credential theft is how most breaches start

Page 34: Security as Development - QConSPqconsp.com/system/files/keynotes-slides/security_as_development.pdf · “Use tools in preference to unskilled help to lighten a programming task,

2fa

Page 35: Security as Development - QConSPqconsp.com/system/files/keynotes-slides/security_as_development.pdf · “Use tools in preference to unskilled help to lighten a programming task,

Backend auth

Page 36: Security as Development - QConSPqconsp.com/system/files/keynotes-slides/security_as_development.pdf · “Use tools in preference to unskilled help to lighten a programming task,
Page 37: Security as Development - QConSPqconsp.com/system/files/keynotes-slides/security_as_development.pdf · “Use tools in preference to unskilled help to lighten a programming task,

ssh

Page 38: Security as Development - QConSPqconsp.com/system/files/keynotes-slides/security_as_development.pdf · “Use tools in preference to unskilled help to lighten a programming task,

EC2 Classic

Page 39: Security as Development - QConSPqconsp.com/system/files/keynotes-slides/security_as_development.pdf · “Use tools in preference to unskilled help to lighten a programming task,

Bastions

Page 40: Security as Development - QConSPqconsp.com/system/files/keynotes-slides/security_as_development.pdf · “Use tools in preference to unskilled help to lighten a programming task,

54:1

Page 41: Security as Development - QConSPqconsp.com/system/files/keynotes-slides/security_as_development.pdf · “Use tools in preference to unskilled help to lighten a programming task,

But this is Slack..

Page 42: Security as Development - QConSPqconsp.com/system/files/keynotes-slides/security_as_development.pdf · “Use tools in preference to unskilled help to lighten a programming task,

Bots

Page 43: Security as Development - QConSPqconsp.com/system/files/keynotes-slides/security_as_development.pdf · “Use tools in preference to unskilled help to lighten a programming task,

“Use tools in preference to unskilled help to lighten a programming task,

even if you have to detour to build the tools and expect to throw some of them

out after you've finished using them.”

- Doug Mcllroy, Bell System Technical Journal, 1978

Page 44: Security as Development - QConSPqconsp.com/system/files/keynotes-slides/security_as_development.pdf · “Use tools in preference to unskilled help to lighten a programming task,

python-slackclient

Page 45: Security as Development - QConSPqconsp.com/system/files/keynotes-slides/security_as_development.pdf · “Use tools in preference to unskilled help to lighten a programming task,

python-rtmbot

Page 46: Security as Development - QConSPqconsp.com/system/files/keynotes-slides/security_as_development.pdf · “Use tools in preference to unskilled help to lighten a programming task,

BountyBot

Page 47: Security as Development - QConSPqconsp.com/system/files/keynotes-slides/security_as_development.pdf · “Use tools in preference to unskilled help to lighten a programming task,

YubiKeys

Page 48: Security as Development - QConSPqconsp.com/system/files/keynotes-slides/security_as_development.pdf · “Use tools in preference to unskilled help to lighten a programming task,

This is fine

Page 49: Security as Development - QConSPqconsp.com/system/files/keynotes-slides/security_as_development.pdf · “Use tools in preference to unskilled help to lighten a programming task,

Act 2:Unexpected Challenges

Page 50: Security as Development - QConSPqconsp.com/system/files/keynotes-slides/security_as_development.pdf · “Use tools in preference to unskilled help to lighten a programming task,

Our first red team exercise

Page 51: Security as Development - QConSPqconsp.com/system/files/keynotes-slides/security_as_development.pdf · “Use tools in preference to unskilled help to lighten a programming task,
Page 52: Security as Development - QConSPqconsp.com/system/files/keynotes-slides/security_as_development.pdf · “Use tools in preference to unskilled help to lighten a programming task,

We need this room

Page 53: Security as Development - QConSPqconsp.com/system/files/keynotes-slides/security_as_development.pdf · “Use tools in preference to unskilled help to lighten a programming task,

I need the credit card

Page 54: Security as Development - QConSPqconsp.com/system/files/keynotes-slides/security_as_development.pdf · “Use tools in preference to unskilled help to lighten a programming task,

dd

Page 55: Security as Development - QConSPqconsp.com/system/files/keynotes-slides/security_as_development.pdf · “Use tools in preference to unskilled help to lighten a programming task,

Disk timelines

Page 56: Security as Development - QConSPqconsp.com/system/files/keynotes-slides/security_as_development.pdf · “Use tools in preference to unskilled help to lighten a programming task,

Silos of data

Page 57: Security as Development - QConSPqconsp.com/system/files/keynotes-slides/security_as_development.pdf · “Use tools in preference to unskilled help to lighten a programming task,

Lots of `grep -F`

Page 58: Security as Development - QConSPqconsp.com/system/files/keynotes-slides/security_as_development.pdf · “Use tools in preference to unskilled help to lighten a programming task,

Review every commit + config management

Page 59: Security as Development - QConSPqconsp.com/system/files/keynotes-slides/security_as_development.pdf · “Use tools in preference to unskilled help to lighten a programming task,

A reason to love :cloud:

Page 60: Security as Development - QConSPqconsp.com/system/files/keynotes-slides/security_as_development.pdf · “Use tools in preference to unskilled help to lighten a programming task,

3 days

Page 61: Security as Development - QConSPqconsp.com/system/files/keynotes-slides/security_as_development.pdf · “Use tools in preference to unskilled help to lighten a programming task,

Notification

Page 62: Security as Development - QConSPqconsp.com/system/files/keynotes-slides/security_as_development.pdf · “Use tools in preference to unskilled help to lighten a programming task,

We were lucky

Page 63: Security as Development - QConSPqconsp.com/system/files/keynotes-slides/security_as_development.pdf · “Use tools in preference to unskilled help to lighten a programming task,

Being lucky is great, but..

Page 64: Security as Development - QConSPqconsp.com/system/files/keynotes-slides/security_as_development.pdf · “Use tools in preference to unskilled help to lighten a programming task,

Act 3: Being good

Page 65: Security as Development - QConSPqconsp.com/system/files/keynotes-slides/security_as_development.pdf · “Use tools in preference to unskilled help to lighten a programming task,

Hiring

Page 66: Security as Development - QConSPqconsp.com/system/files/keynotes-slides/security_as_development.pdf · “Use tools in preference to unskilled help to lighten a programming task,

SecOps

Page 67: Security as Development - QConSPqconsp.com/system/files/keynotes-slides/security_as_development.pdf · “Use tools in preference to unskilled help to lighten a programming task,

Building

Page 68: Security as Development - QConSPqconsp.com/system/files/keynotes-slides/security_as_development.pdf · “Use tools in preference to unskilled help to lighten a programming task,

SecOps VPC

Page 69: Security as Development - QConSPqconsp.com/system/files/keynotes-slides/security_as_development.pdf · “Use tools in preference to unskilled help to lighten a programming task,

Vault

Page 70: Security as Development - QConSPqconsp.com/system/files/keynotes-slides/security_as_development.pdf · “Use tools in preference to unskilled help to lighten a programming task,

Elasticsearch

Page 71: Security as Development - QConSPqconsp.com/system/files/keynotes-slides/security_as_development.pdf · “Use tools in preference to unskilled help to lighten a programming task,

go-audit

Page 72: Security as Development - QConSPqconsp.com/system/files/keynotes-slides/security_as_development.pdf · “Use tools in preference to unskilled help to lighten a programming task,

Every important syscall from every server

Page 73: Security as Development - QConSPqconsp.com/system/files/keynotes-slides/security_as_development.pdf · “Use tools in preference to unskilled help to lighten a programming task,
Page 74: Security as Development - QConSPqconsp.com/system/files/keynotes-slides/security_as_development.pdf · “Use tools in preference to unskilled help to lighten a programming task,

ElastAlert

Page 75: Security as Development - QConSPqconsp.com/system/files/keynotes-slides/security_as_development.pdf · “Use tools in preference to unskilled help to lighten a programming task,

AlertCenter

Page 76: Security as Development - QConSPqconsp.com/system/files/keynotes-slides/security_as_development.pdf · “Use tools in preference to unskilled help to lighten a programming task,

Deputizing everyone

Page 77: Security as Development - QConSPqconsp.com/system/files/keynotes-slides/security_as_development.pdf · “Use tools in preference to unskilled help to lighten a programming task,

Securitybot

Page 78: Security as Development - QConSPqconsp.com/system/files/keynotes-slides/security_as_development.pdf · “Use tools in preference to unskilled help to lighten a programming task,

Do your best to avoid annoying people

Page 79: Security as Development - QConSPqconsp.com/system/files/keynotes-slides/security_as_development.pdf · “Use tools in preference to unskilled help to lighten a programming task,

Upstream contributions

Page 80: Security as Development - QConSPqconsp.com/system/files/keynotes-slides/security_as_development.pdf · “Use tools in preference to unskilled help to lighten a programming task,

So we’re done, right?

Page 81: Security as Development - QConSPqconsp.com/system/files/keynotes-slides/security_as_development.pdf · “Use tools in preference to unskilled help to lighten a programming task,

Epilogue

Page 82: Security as Development - QConSPqconsp.com/system/files/keynotes-slides/security_as_development.pdf · “Use tools in preference to unskilled help to lighten a programming task,

Red Team

Page 83: Security as Development - QConSPqconsp.com/system/files/keynotes-slides/security_as_development.pdf · “Use tools in preference to unskilled help to lighten a programming task,

On a Sunday

Page 84: Security as Development - QConSPqconsp.com/system/files/keynotes-slides/security_as_development.pdf · “Use tools in preference to unskilled help to lighten a programming task,

A low severity alert

Page 85: Security as Development - QConSPqconsp.com/system/files/keynotes-slides/security_as_development.pdf · “Use tools in preference to unskilled help to lighten a programming task,

IR Begins

Page 86: Security as Development - QConSPqconsp.com/system/files/keynotes-slides/security_as_development.pdf · “Use tools in preference to unskilled help to lighten a programming task,

We did ok once

Page 87: Security as Development - QConSPqconsp.com/system/files/keynotes-slides/security_as_development.pdf · “Use tools in preference to unskilled help to lighten a programming task,

Continuous improvement+ building

Page 88: Security as Development - QConSPqconsp.com/system/files/keynotes-slides/security_as_development.pdf · “Use tools in preference to unskilled help to lighten a programming task,

The security team is now 14 people

Page 89: Security as Development - QConSPqconsp.com/system/files/keynotes-slides/security_as_development.pdf · “Use tools in preference to unskilled help to lighten a programming task,

Incident ResponseProdSec

Risk & ComplianceSecOps

Page 90: Security as Development - QConSPqconsp.com/system/files/keynotes-slides/security_as_development.pdf · “Use tools in preference to unskilled help to lighten a programming task,

Summary

Page 91: Security as Development - QConSPqconsp.com/system/files/keynotes-slides/security_as_development.pdf · “Use tools in preference to unskilled help to lighten a programming task,

How to hire your first security person

Page 92: Security as Development - QConSPqconsp.com/system/files/keynotes-slides/security_as_development.pdf · “Use tools in preference to unskilled help to lighten a programming task,

You can’t buy security

Page 93: Security as Development - QConSPqconsp.com/system/files/keynotes-slides/security_as_development.pdf · “Use tools in preference to unskilled help to lighten a programming task,

Invest in people

Page 94: Security as Development - QConSPqconsp.com/system/files/keynotes-slides/security_as_development.pdf · “Use tools in preference to unskilled help to lighten a programming task,

The breach taught us a lot

Page 95: Security as Development - QConSPqconsp.com/system/files/keynotes-slides/security_as_development.pdf · “Use tools in preference to unskilled help to lighten a programming task,

Be nice

Page 96: Security as Development - QConSPqconsp.com/system/files/keynotes-slides/security_as_development.pdf · “Use tools in preference to unskilled help to lighten a programming task,

Obrigado!