blending automated and manual testing making application vulnerability management pay dividends

25
Blending Automated and Manual Testing Making Application Vulnerability Management Pay Dividends

Upload: osborn-dean

Post on 17-Jan-2016

224 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Blending Automated and Manual Testing Making Application Vulnerability Management Pay Dividends

Blending Automated and Manual Testing

Making Application Vulnerability Management Pay Dividends

Page 2: Blending Automated and Manual Testing Making Application Vulnerability Management Pay Dividends

My Background

• Dan Cornell, founder and CTO of Denim Group

• Software developer by background (Java, .NET, etc)

• OWASP San Antonio@danielcornell

Page 3: Blending Automated and Manual Testing Making Application Vulnerability Management Pay Dividends

My Background

• Steve Springett, Application Security Architect for Axway

• Software developer by background

• Leader of OWASP Dependency-Track

• Contributor to OWASP Dependency-Check@stevespringett

Page 4: Blending Automated and Manual Testing Making Application Vulnerability Management Pay Dividends

Goal: Continuous Security

• Prerequisites– Standardization– Continuous Integration– Continuous Delivery

• Compliments– Continuous Acceptance

Page 5: Blending Automated and Manual Testing Making Application Vulnerability Management Pay Dividends

Standardization

• All projects use same build system• All projects built the same way• Automated onboarding for new projects• Per-project build expertise not required

Page 6: Blending Automated and Manual Testing Making Application Vulnerability Management Pay Dividends

MetricsArtifacts

Continuous Integration

Continuous Integration Factory

Source Code (SCM)

Page 7: Blending Automated and Manual Testing Making Application Vulnerability Management Pay Dividends

Deliverables

Continuous Delivery

Continuous Delivery Factory

Artifacts

Page 8: Blending Automated and Manual Testing Making Application Vulnerability Management Pay Dividends

Security Metrics

Continuous Security

Continuous Security Factory

Source Code (SCM) Deliverables

Page 9: Blending Automated and Manual Testing Making Application Vulnerability Management Pay Dividends

Automated Security Metrics

• Static Analysis Findings• Dynamic Analysis Findings• Component Analysis Findings• Attack Surface Analysis Findings

Page 10: Blending Automated and Manual Testing Making Application Vulnerability Management Pay Dividends

Continuous Security Pipe

Jenkins CI ThreadFix Defect TrackerSCM

False Positive

Page 11: Blending Automated and Manual Testing Making Application Vulnerability Management Pay Dividends

TargetApplication

Page 12: Blending Automated and Manual Testing Making Application Vulnerability Management Pay Dividends

12

ThreadFixAccelerate Software Remediation

ThreadFix is a software vulnerability aggregation and management system that helps organizations aggregate vulnerability data, generate virtual patches, and interact with software defect tracking systems.

Page 13: Blending Automated and Manual Testing Making Application Vulnerability Management Pay Dividends

ThreadFix

• Open Source (MPL) application vulnerability management platform

• Create a consolidated view of your applications and vulnerabilities

• Prioritize application risk decisions based on data

• Translate vulnerabilities to developers in the tools they are already using

Page 14: Blending Automated and Manual Testing Making Application Vulnerability Management Pay Dividends

ThreadFix Community Edition• Main ThreadFix website: www.threadfix.org

– General information, downloads

• ThreadFix GitHub site: www.github.com/denimgroup/threadfix – Code, issue tracking

• ThreadFix GitHub wiki: https://github.com/denimgroup/threadfix/wiki – Project documentation

• ThreadFix Google Group: https://groups.google.com/forum/?fromgroups#!forum/threadfix – Community support, general discussion

Page 15: Blending Automated and Manual Testing Making Application Vulnerability Management Pay Dividends

Vulnerability AggregationAutomated

Automated Manual

Page 16: Blending Automated and Manual Testing Making Application Vulnerability Management Pay Dividends

Access to Vulnerability Data

• Tradeoffs– The more places the vulnerability data lives, the

more likely a compromise– Withholding information from people who need it

makes remediation more challenging

Page 17: Blending Automated and Manual Testing Making Application Vulnerability Management Pay Dividends

Managing All Vulnerability Data

• Manual activities– Penetration Testing– Code Reviews

• 3rd Party Data Sources– Customer-performed Testing– External auditor-performed Results

Page 18: Blending Automated and Manual Testing Making Application Vulnerability Management Pay Dividends

SSVL and Manual Results

• SSVL Data Format:– https://github.com/owasp/ssvl

• SSVL Conversion Tool:– https://github.com/denimgroup/threadfix/wiki/SSVL-Converter

Page 19: Blending Automated and Manual Testing Making Application Vulnerability Management Pay Dividends

RESTful API to Vulnerability Data

CustomR&D Monitoring

Dashboard

CustomDashboards

Page 20: Blending Automated and Manual Testing Making Application Vulnerability Management Pay Dividends

Key Performance Indicators

• Don’t go overboard – Use only what is needed• Progress and velocity• Per team comparison• Min/max/avg time to close per severity• By CWE

Page 21: Blending Automated and Manual Testing Making Application Vulnerability Management Pay Dividends

Lessons Learned

• Always automate static analysis• Always automate attack surface analysis• Always automate component analysis• Always automate dynamic analysis• Always perform manual dynamic analysis• Use native tools & workflow for static analysis

Page 22: Blending Automated and Manual Testing Making Application Vulnerability Management Pay Dividends

Lessons Learned

• Provide as much visibility as possible– Varying degrees of detail– Multiple delivery vehicles

• Set clear pass/fail criteria for Security Bars– Provide custom dashboard to provide status and

advanced warning

Page 23: Blending Automated and Manual Testing Making Application Vulnerability Management Pay Dividends

Additional Advice

• Automation is not better than manual– It’s faster and more efficient– Both are necessary

• Don’t forget manual assessments– Threat Modeling– Secure Design/Architecture and Code Review– Penetration Testing

Page 24: Blending Automated and Manual Testing Making Application Vulnerability Management Pay Dividends

Finally

• Vulnerabilities in CI / CD / CS Infrastructure– Threat Model– Secure Architecture Review– Patch Management – Configuration Management– Key Management– Always use TLS

Page 25: Blending Automated and Manual Testing Making Application Vulnerability Management Pay Dividends

Q & A