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

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

Transcript of Blending Automated and Manual Testing Making Application Vulnerability Management Pay Dividends.

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