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

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

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

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!