Top Banner
Creating an AppSec Pipeline with containers in a week How we failed and succeeded Jeroen Willemsen – OWASP benelux days
33

Creating an AppSecPipeline with containers in a week · 2017-11-30 · Creating an AppSecPipeline with containers in a week How we failed and succeeded Jeroen Willemsen –OWASP beneluxdays.

Mar 15, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Creating an AppSecPipeline with containers in a week · 2017-11-30 · Creating an AppSecPipeline with containers in a week How we failed and succeeded Jeroen Willemsen –OWASP beneluxdays.

CreatinganAppSec PipelinewithcontainersinaweekHowwefailedandsucceeded

JeroenWillemsen– OWASPbenelux days

Page 2: Creating an AppSecPipeline with containers in a week · 2017-11-30 · Creating an AppSecPipeline with containers in a week How we failed and succeeded Jeroen Willemsen –OWASP beneluxdays.

Aboutme

JeroenWillemsen@[email protected]

“Securityarchitect”“Full-stackdeveloper”“Mobilesecurity”

Page 3: Creating an AppSecPipeline with containers in a week · 2017-11-30 · Creating an AppSecPipeline with containers in a week How we failed and succeeded Jeroen Willemsen –OWASP beneluxdays.

Agenda

• Thechallenge

• Thesolution

• Bumps onthe road

• Recap

Page 4: Creating an AppSecPipeline with containers in a week · 2017-11-30 · Creating an AppSecPipeline with containers in a week How we failed and succeeded Jeroen Willemsen –OWASP beneluxdays.

THECHALLENGE

Whatcouldpossiblygowrong?

Page 5: Creating an AppSecPipeline with containers in a week · 2017-11-30 · Creating an AppSecPipeline with containers in a week How we failed and succeeded Jeroen Willemsen –OWASP beneluxdays.

TheChallenge

Page 6: Creating an AppSecPipeline with containers in a week · 2017-11-30 · Creating an AppSecPipeline with containers in a week How we failed and succeeded Jeroen Willemsen –OWASP beneluxdays.

TheChallenge:TheLandscape

Page 7: Creating an AppSecPipeline with containers in a week · 2017-11-30 · Creating an AppSecPipeline with containers in a week How we failed and succeeded Jeroen Willemsen –OWASP beneluxdays.

TheChallenge:Existingworkflow

ReadyforValidation

E2ETest

DeploytoDev

UnitTest

StoreArtifact

BuildPull&Merge

Page 8: Creating an AppSecPipeline with containers in a week · 2017-11-30 · Creating an AppSecPipeline with containers in a week How we failed and succeeded Jeroen Willemsen –OWASP beneluxdays.

TheChallenge:Newentries

• OWASPDependency-Check• Licensecheckers•

• Etc…

& & SAST

Page 9: Creating an AppSecPipeline with containers in a week · 2017-11-30 · Creating an AppSecPipeline with containers in a week How we failed and succeeded Jeroen Willemsen –OWASP beneluxdays.

THESOLUTION

Wegotthere…kindoff

Page 10: Creating an AppSecPipeline with containers in a week · 2017-11-30 · Creating an AppSecPipeline with containers in a week How we failed and succeeded Jeroen Willemsen –OWASP beneluxdays.

TheSolution:Extend the build step

Add dependency &license checkersontopofquality tooling.

GetfeedbackFAST!

Page 11: Creating an AppSecPipeline with containers in a week · 2017-11-30 · Creating an AppSecPipeline with containers in a week How we failed and succeeded Jeroen Willemsen –OWASP beneluxdays.

TheSolution:Feeding ZAP&BURP

E2ETestwithproxy

Scheduledlongscans

DeploytoDev

UnitTest

StoreArtefact

BuildPull&Merge

Quickscan

Page 12: Creating an AppSecPipeline with containers in a week · 2017-11-30 · Creating an AppSecPipeline with containers in a week How we failed and succeeded Jeroen Willemsen –OWASP beneluxdays.

TheSolution:DAST&reporting

Page 13: Creating an AppSecPipeline with containers in a week · 2017-11-30 · Creating an AppSecPipeline with containers in a week How we failed and succeeded Jeroen Willemsen –OWASP beneluxdays.

TheSolution:Clair

• RunClaironthecreatedcontainers.

• Todo:runClairregularlyontheregistry,addwhitelists&integratewithThreadfix.– Bynowthiscouldbedonedifferentlyusingtheclair-scannerfromArminC.

Page 14: Creating an AppSecPipeline with containers in a week · 2017-11-30 · Creating an AppSecPipeline with containers in a week How we failed and succeeded Jeroen Willemsen –OWASP beneluxdays.

TheSolution:Containerize!

• Ourtoolsembeddedincontainers:+ Lessadditionalplatformcomplexities+Canrunanywhere(locally/deployed)+ Easytoscale- Stillneedtomanagethedata!- Moreassetsthatmightcontainvulnerabilities- Notperfect:stillhavetohardenourassets

Page 15: Creating an AppSecPipeline with containers in a week · 2017-11-30 · Creating an AppSecPipeline with containers in a week How we failed and succeeded Jeroen Willemsen –OWASP beneluxdays.

TheSolution:Astartingpoint

./clair-scannerapp/threadfix example-whitelist.yamlhttp://10.200.98.63:606010.200.98.632017-05-1210:50:19.712897I|Analyzing014fdc7e45e4e7c5967856fc65d7bb5ff0b324fe4ef1ac8ce448843ab310416aAnd9otherlayers...Giving:2017-05-1210:50:19.854789I|Imagecontainsunapprovedvulnerabilities:[CVE-2017-6508]

Examplescanwithalaterversionoftheclair-scannerbyArminCoralic:

Page 16: Creating an AppSecPipeline with containers in a week · 2017-11-30 · Creating an AppSecPipeline with containers in a week How we failed and succeeded Jeroen Willemsen –OWASP beneluxdays.

TheSolution:Astartingpoint

• 2017-05-1210:50:19.854789I|Imagecontainsunapprovedvulnerabilities:[CVE-2017-6508]– Avulnerabilitywhencreatingthecontainer– Notusedduringruntime– Claircannotpickupthelayersinwhichyoucreateyourowncustomtooling(yourownjar’s,executables,etc.)

Page 17: Creating an AppSecPipeline with containers in a week · 2017-11-30 · Creating an AppSecPipeline with containers in a week How we failed and succeeded Jeroen Willemsen –OWASP beneluxdays.

TheSolution:Did it work?

YES!Not all components arein,

butfeedbackisalready ofgreat value

Page 18: Creating an AppSecPipeline with containers in a week · 2017-11-30 · Creating an AppSecPipeline with containers in a week How we failed and succeeded Jeroen Willemsen –OWASP beneluxdays.

BUMPSONTHEROAD

And their countermeasures

Page 19: Creating an AppSecPipeline with containers in a week · 2017-11-30 · Creating an AppSecPipeline with containers in a week How we failed and succeeded Jeroen Willemsen –OWASP beneluxdays.

Bump1:Falsepositives

Page 20: Creating an AppSecPipeline with containers in a week · 2017-11-30 · Creating an AppSecPipeline with containers in a week How we failed and succeeded Jeroen Willemsen –OWASP beneluxdays.

Bump1:Falsepositives

• Use settings/plugins inappà noscaling.

• Use aDBwith aframework:

• Havean API&

Page 21: Creating an AppSecPipeline with containers in a week · 2017-11-30 · Creating an AppSecPipeline with containers in a week How we failed and succeeded Jeroen Willemsen –OWASP beneluxdays.

Bump2:LegacyAPIs

X

Page 22: Creating an AppSecPipeline with containers in a week · 2017-11-30 · Creating an AppSecPipeline with containers in a week How we failed and succeeded Jeroen Willemsen –OWASP beneluxdays.

Bump2:LegacyAPIs

TestlegacyAPIsseparatelyL

Stubit,withthehelpoftheteams

Page 23: Creating an AppSecPipeline with containers in a week · 2017-11-30 · Creating an AppSecPipeline with containers in a week How we failed and succeeded Jeroen Willemsen –OWASP beneluxdays.

Bump3:Notfrustratedevelopers

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

Page 24: Creating an AppSecPipeline with containers in a week · 2017-11-30 · Creating an AppSecPipeline with containers in a week How we failed and succeeded Jeroen Willemsen –OWASP beneluxdays.

Bump4:IntegratingBurpproxy

• IntegrationwithBurpisnotcompleted– Custombuildsforcontainers– Attimeoftesting:AdditionalextensionsnecessarytohaveaproperRESTAPI

Page 25: Creating an AppSecPipeline with containers in a week · 2017-11-30 · Creating an AppSecPipeline with containers in a week How we failed and succeeded Jeroen Willemsen –OWASP beneluxdays.

Bump5:Falsenegatives….

Securityautomationdoesnotmean:nomanualpentesting.

Evenwhenyouaddmoretools(whichwehaveto…).

Page 26: Creating an AppSecPipeline with containers in a week · 2017-11-30 · Creating an AppSecPipeline with containers in a week How we failed and succeeded Jeroen Willemsen –OWASP beneluxdays.

Bump6:Platformteamavailability

Page 27: Creating an AppSecPipeline with containers in a week · 2017-11-30 · Creating an AppSecPipeline with containers in a week How we failed and succeeded Jeroen Willemsen –OWASP beneluxdays.

Lessonlearnedlateron….

• Theneedformultiplepipelines…

Appsec-pipeline:

Page 28: Creating an AppSecPipeline with containers in a week · 2017-11-30 · Creating an AppSecPipeline with containers in a week How we failed and succeeded Jeroen Willemsen –OWASP beneluxdays.

Lessonlearnedlateron….

• Theneedformultiplepipelines…

Appsec-pipeline:

Securitypipeline:

Nmap

….

Page 29: Creating an AppSecPipeline with containers in a week · 2017-11-30 · Creating an AppSecPipeline with containers in a week How we failed and succeeded Jeroen Willemsen –OWASP beneluxdays.

Lessonlearnedlateron

• UsetheSWAGGERApi ifpossible• Soooooooo manytoolstouse:– Docker?ThinkofDockerBench,OpenSCAP,Anchore,etc…– Infrastructure?Startwith OpenVAS,OpenSCAP,Inspec– Inspectcertificates:SSLlabs,testSSL.sh– Everylanguagehasitsquality&securitytooling

Page 30: Creating an AppSecPipeline with containers in a week · 2017-11-30 · Creating an AppSecPipeline with containers in a week How we failed and succeeded Jeroen Willemsen –OWASP beneluxdays.

RECAP

To sum up

Page 31: Creating an AppSecPipeline with containers in a week · 2017-11-30 · Creating an AppSecPipeline with containers in a week How we failed and succeeded Jeroen Willemsen –OWASP beneluxdays.

Recap

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

Page 32: Creating an AppSecPipeline with containers in a week · 2017-11-30 · Creating an AppSecPipeline with containers in a week How we failed and succeeded Jeroen Willemsen –OWASP beneluxdays.

QUESTIONS?

Page 33: Creating an AppSecPipeline with containers in a week · 2017-11-30 · Creating an AppSecPipeline with containers in a week How we failed and succeeded Jeroen Willemsen –OWASP beneluxdays.

THANKYOU!