Securing your
Deployment
Pipeline
Strategy & Tech Talk - April 19, 2016
Maximilian Schöfmann | @schoefmann
Container Solutions Switzerland
www.container-solutions.com | info@container-solutions.com
B.C. (Before Continuous Integration)
www.container-solutions.com | info@container-solutions.com
B.C. (Before Continuous Integration)
homo	abap-cobolus	integrating	software	modules,	ca.	200000	B.C
www.container-solutions.com | info@container-solutions.com
A.D. - but Pre-DevOps (CI only)
www.container-solutions.com | info@container-solutions.com
DevOps (present time)
www.container-solutions.com | info@container-solutions.com
DevOps + Continuous Delivery + PaaS
www.container-solutions.com | info@container-solutions.com
… and Security
www.container-solutions.com | info@container-solutions.com
Avg: 103 days to fix a vulnerability
http://darkmatters.norsecorp.com/2015/06/09/security-vulnerabilities-take-average-of-103-days-to-remediate/
www.container-solutions.com | info@container-solutions.com
CD improves reaction time!
www.container-solutions.com | info@container-solutions.com
So we need to:
www.container-solutions.com | info@container-solutions.com
…with better tooling!
www.container-solutions.com | info@container-solutions.com
Stages of a delivery pipeline
Commit Integration Acceptance Release
www.container-solutions.com | info@container-solutions.com
Stages of a delivery pipeline
Commit Integration Acceptance Release
unit tests
www.container-solutions.com | info@container-solutions.com
Stages of a delivery pipeline
Commit Integration Acceptance Release
unit tests service tests
www.container-solutions.com | info@container-solutions.com
Stages of a delivery pipeline
Commit Integration Acceptance Release
unit tests service tests UI tests
www.container-solutions.com | info@container-solutions.com
Stages of a delivery pipeline
Commit Integration Acceptance Release
unit tests service tests UI tests (exploratory tests)
www.container-solutions.com | info@container-solutions.com
Test pyramid
Unit Tests
Service Tests
UI tests
fasterfeedback
confidence
coverage
www.container-solutions.com | info@container-solutions.com
“AppSec Pipeline”
Commit Integration Acceptance Release
unit tests service tests UI tests (exploratory tests)
www.container-solutions.com | info@container-solutions.com
“AppSec Pipeline”
Commit Integration Acceptance Release
unit tests service tests UI tests (exploratory tests)
static code

analysis
www.container-solutions.com | info@container-solutions.com
“AppSec Pipeline”
Commit Integration Acceptance Release
unit tests service tests UI tests (exploratory tests)
static code

analysis
vulnerability
scanning
www.container-solutions.com | info@container-solutions.com
“AppSec Pipeline”
Commit Integration Acceptance Release
unit tests service tests UI tests (exploratory tests)
static code

analysis
vulnerability
scanning
end-to-end
security tests
www.container-solutions.com | info@container-solutions.com
“AppSec Pipeline”
Commit Integration Acceptance Release
unit tests service tests UI tests (exploratory tests)
static code

analysis
vulnerability
scanning
end-to-end
security tests
(penetration
tests)
www.container-solutions.com | info@container-solutions.com
AppSec pyramid?
static code analysis
vulnerability
scanning
E2E
security tests
fasterfeedback
confidence
coverage
www.container-solutions.com | info@container-solutions.com
Challenge: False Positives
• maintain exception/fine tuning config for scanner
• run with sensitive heuristics nightly, then update config
• or branch to manual stage to check false positives
www.container-solutions.com | info@container-solutions.com
Static analysis
• SonarQube (multiple languages)
• Brakeman (Ruby/Rails)
• OWASP WAP (PHP)
• FindBugs (Java)
• FlawFinder (C/C++)
• … (many commercial, e.g. CHECKMARX)
www.container-solutions.com | info@container-solutions.com
Vulnerability scanners (many commercial)
• OWASP Zed Attack Proxy (ZAP)
• Burp suite
• Acunetix
• Nessus, OpenVAS
• Nikto
• w3af
• … (lots and lots more)
www.container-solutions.com | info@container-solutions.com
End to end security tests
• Standard tools like Selenium work well
• BDD-Security if you fancy text or want to integrate PO
friendly E2E tests with vulnerability scans
continuumsecurity.net/bdd-intro.html
www.container-solutions.com | info@container-solutions.com
more…
owasp.org/index.php/Appendix_A:_Testing_Tools
www.container-solutions.com | info@container-solutions.com
But…
• Too many!
• Too different!
• Too complex!
• Stuff to install (lots!)
• Stuff to configure…
www.container-solutions.com | info@container-solutions.com
But…
• Too many!
• Too different!
• Too complex!
• Stuff to install (lots!)
• Stuff to configure…
www.container-solutions.com | info@container-solutions.com
And what about…
www.container-solutions.com | info@container-solutions.com
If we just had a way to package those tools uniformly…
www.container-solutions.com | info@container-solutions.com
If we just had a way to package those tools uniformly…
www.container-solutions.com | info@container-solutions.com
Demo: Static analysis
www.container-solutions.com | info@container-solutions.com
If we just had an easy way to connect scanners to apps…
www.container-solutions.com | info@container-solutions.com
If we just had an easy way to connect scanners to apps…
www.container-solutions.com | info@container-solutions.com
Demo: Vulnerability scanners
www.container-solutions.com | info@container-solutions.com
If there was just a way to scale those tests…
www.container-solutions.com | info@container-solutions.com
If there was just a way to scale those tests…
maximilian.schoefmann@container-solutions.com | @schoefmann



container-solutions.com

Securing Your Deployment Pipeline With Docker