creating an appsecpipeline with containers in a week how ... › presos › devsecops › creating...

32
8-12 May, 2017 Creating an Appsec Pipeline with Containers in a week How we Failed and Succeeded Jeroen Willemsen

Upload: others

Post on 25-Jun-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Creating an AppsecPipeline with Containers in a week How ... › presos › DevSecOps › Creating an AppSec Pi… · Creating an AppsecPipeline with Containers in a week How we Failed

8-12May,2017

CreatinganAppsec PipelinewithContainersinaweek

HowweFailedandSucceededJeroenWillemsen

Page 2: Creating an AppsecPipeline with Containers in a week How ... › presos › DevSecOps › Creating an AppSec Pi… · Creating an AppsecPipeline with Containers in a week How we Failed

About me

Jeroen Willemsen@[email protected]

``Securityarchitect’’``Full-stackdeveloper’’``Mobilesecurity’’

Page 3: Creating an AppsecPipeline with Containers in a week How ... › presos › DevSecOps › Creating an AppSec Pi… · Creating an AppsecPipeline with Containers in a week How we Failed

Agenda

• Thechallenge• Thesolution• Bumps onthe road• Recap

Page 4: Creating an AppsecPipeline with Containers in a week How ... › presos › DevSecOps › Creating an AppSec Pi… · Creating an AppsecPipeline with Containers in a week How we Failed

8-12May,2017

TheChallengeWhatcouldpossiblygowrong?

Page 5: Creating an AppsecPipeline with Containers in a week How ... › presos › DevSecOps › Creating an AppSec Pi… · Creating an AppsecPipeline with Containers in a week How we Failed

TheChallenge

Page 6: Creating an AppsecPipeline with Containers in a week How ... › presos › DevSecOps › Creating an AppSec Pi… · Creating an AppsecPipeline with Containers in a week How we Failed

TheChallenge:Thelandscape

Page 7: Creating an AppsecPipeline with Containers in a week How ... › presos › DevSecOps › Creating an AppSec Pi… · Creating an AppsecPipeline with Containers in a week How we Failed

TheChallenge:Existing workflow

ReadyforValidation

E2ETest

DeploytoDev

UnitTest

StoreArtifact

BuildPull&Merge

Page 8: Creating an AppsecPipeline with Containers in a week How ... › presos › DevSecOps › Creating an AppSec Pi… · Creating an AppsecPipeline with Containers in a week How we Failed

TheChallenge:Newentries

• OWASPDependency-Check• Licensecheckers•

•• Etc…

&

& SAST

Page 9: Creating an AppsecPipeline with Containers in a week How ... › presos › DevSecOps › Creating an AppSec Pi… · Creating an AppsecPipeline with Containers in a week How we Failed

8-12May,2017

TheSolutionWegottherekindoff…

Page 10: Creating an AppsecPipeline with Containers in a week How ... › presos › DevSecOps › Creating an AppSec Pi… · Creating an AppsecPipeline with Containers in a week How we Failed

TheSolution:Extend build step

Add dependency &license checkersontopofquality tooling.

GetfeedbackFAST!

Page 11: Creating an AppsecPipeline with Containers in a week How ... › presos › DevSecOps › Creating an AppSec Pi… · Creating an AppsecPipeline with Containers in a week How we Failed

E2ETestwithproxy

TheSolution:Feeding ZAP&BURP

Scheduledlongscans

DeploytoDev

UnitTest

StoreArtifact

BuildPull&Merge

Quickscan

Page 12: Creating an AppsecPipeline with Containers in a week How ... › presos › DevSecOps › Creating an AppSec Pi… · Creating an AppsecPipeline with Containers in a week How we Failed

TheSolution:DAST&reporting

Page 13: Creating an AppsecPipeline with Containers in a week How ... › presos › DevSecOps › Creating an AppSec Pi… · Creating an AppsecPipeline with Containers in a week How we Failed

TheSolution:Clair

• RunClaironthecreatedcontainers.

• Todo:runClairregularlyontheregistry,addwhitelists&integratewithThreadfix.

Page 14: Creating an AppsecPipeline with Containers in a week How ... › presos › DevSecOps › Creating an AppSec Pi… · Creating an AppsecPipeline with Containers in a week How we Failed

Thesolution:Containerize!

• Our toolsembedded incontainers:+ Less additional platformcomplexities+ Can runanywhere (locally /deployed)+ Easyto scale- Still need to managethe data!- Moreassetsthat might contain vulnerabilities• Not perfect:Still haveto hardenour assets.

Page 15: Creating an AppsecPipeline with Containers in a week How ... › presos › DevSecOps › Creating an AppSec Pi… · Creating an AppsecPipeline with Containers in a week How we Failed

Thesolution:astarting point./clair-scannerapp/threadfix example-whitelist.yaml http://10.200.98.63:606010.200.98.63

2017-05-1210:50:19.712897I|Analyzing014fdc7e45e4e7c5967856fc65d7bb5ff0b324fe4ef1ac8ce448843ab310416aAnd9 otherlayers…

Giving:2017-05-1210:50:19.854789I|Imagecontainsunapprovedvulnerabilities:[CVE-2017-6508]

- A vulnerability in wget…- Used when creating the container- Not used during runtime

Page 16: Creating an AppsecPipeline with Containers in a week How ... › presos › DevSecOps › Creating an AppSec Pi… · Creating an AppsecPipeline with Containers in a week How we Failed

TheSolution:Did it work?

YES!Notallcomponentsarein,butfeedbackis

alreadyofgreatvalue

Page 17: Creating an AppsecPipeline with Containers in a week How ... › presos › DevSecOps › Creating an AppSec Pi… · Creating an AppsecPipeline with Containers in a week How we Failed

8-12May,2017

ThebumpsontheroadAnd their countermeasures

Page 18: Creating an AppsecPipeline with Containers in a week How ... › presos › DevSecOps › Creating an AppSec Pi… · Creating an AppsecPipeline with Containers in a week How we Failed

Bump1:Falsepositives

Page 19: Creating an AppsecPipeline with Containers in a week How ... › presos › DevSecOps › Creating an AppSec Pi… · Creating an AppsecPipeline with Containers in a week How we Failed

Bump1:Falsepositives

• Use settings/plugins inappà noscaling.

• Use aDBwith aframework:

• Use appslike&

Page 20: Creating an AppsecPipeline with Containers in a week How ... › presos › DevSecOps › Creating an AppSec Pi… · Creating an AppsecPipeline with Containers in a week How we Failed

XBump2:LegacyAPIs

Page 21: Creating an AppsecPipeline with Containers in a week How ... › presos › DevSecOps › Creating an AppSec Pi… · Creating an AppsecPipeline with Containers in a week How we Failed

Bump2:LegacyAPIs

TestlegacyAPIsseparatelyL

Page 22: Creating an AppsecPipeline with Containers in a week How ... › presos › DevSecOps › Creating an AppSec Pi… · Creating an AppsecPipeline with Containers in a week How we Failed

Bump3:Notfrustratedevelopers

• Give feedbackfast!• Automate all the things!• Bepartofthe team• Filter&suppress false positives ASAP• Use known tooling

Page 23: Creating an AppsecPipeline with Containers in a week How ... › presos › DevSecOps › Creating an AppSec Pi… · Creating an AppsecPipeline with Containers in a week How we Failed

Bump4:IntegratingBurpproxy

• IntegrationwithBurpisnotcompleted– Custombuildsforcontainers– Attimeoftesting:AdditionalextensionsnecessarytohaveaproperRESTAPI

Page 24: Creating an AppsecPipeline with Containers in a week How ... › presos › DevSecOps › Creating an AppSec Pi… · Creating an AppsecPipeline with Containers in a week How we Failed

Bump5:Falsenegatives….

Securityautomationdoesnotmean:nomanualpentesting.

Evenwhenyouaddmoretools(whichwehaveto…).

Page 25: Creating an AppsecPipeline with Containers in a week How ... › presos › DevSecOps › Creating an AppSec Pi… · Creating an AppsecPipeline with Containers in a week How we Failed

Bump6:Platformteamavailability

Page 26: Creating an AppsecPipeline with Containers in a week How ... › presos › DevSecOps › Creating an AppSec Pi… · Creating an AppsecPipeline with Containers in a week How we Failed

8-12May,2017

Recap

Page 27: Creating an AppsecPipeline with Containers in a week How ... › presos › DevSecOps › Creating an AppSec Pi… · Creating an AppsecPipeline with Containers in a week How we Failed

Recap

• Automateallthethings:getfeedbackFAST.• Containerize• Filterfalsepositives• StublegacyAPIs• HELPdevelopers,DONOTfrustrate!• Stillaneedformanualpentesting &reviewing.• Getplatform-teamsupport!• Everypartofthepipelineisablessing!

Page 28: Creating an AppsecPipeline with Containers in a week How ... › presos › DevSecOps › Creating an AppSec Pi… · Creating an AppsecPipeline with Containers in a week How we Failed

8-12May,2017

QUESTIONS?

Page 29: Creating an AppsecPipeline with Containers in a week How ... › presos › DevSecOps › Creating an AppSec Pi… · Creating an AppsecPipeline with Containers in a week How we Failed

8-12May,2017

Thankyou!

Page 30: Creating an AppsecPipeline with Containers in a week How ... › presos › DevSecOps › Creating an AppSec Pi… · Creating an AppsecPipeline with Containers in a week How we Failed

8-12May,2017

Appendices

Page 31: Creating an AppsecPipeline with Containers in a week How ... › presos › DevSecOps › Creating an AppSec Pi… · Creating an AppsecPipeline with Containers in a week How we Failed

App.1:hot-swappableplatform

Infrastructure as Code Static Host OS

High Availability By Default

Use Autoscaling

Externalize Data

Automated Repeatable Bootstrapping

Page 32: Creating an AppsecPipeline with Containers in a week How ... › presos › DevSecOps › Creating an AppSec Pi… · Creating an AppsecPipeline with Containers in a week How we Failed

App.2:Actualdeployment

RenderFleetUnit

File

SubmitFleetUnit

StartContainers

RegisterService

Configureproxy