blending automated and manual testing

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

Upload: denim-group

Post on 13-Apr-2017

965 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Blending Automated and Manual Testing

Blending  Automated  and  Manual  Testing

Making  Application  Vulnerability  Management  Pay  Dividends

Page 2: Blending Automated and Manual Testing

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

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

Goal:  Continuous  Security

• Prerequisites– Standardization– Continuous  Integration– Continuous  Delivery

• Compliments– Continuous  Acceptance

Page 5: Blending Automated and Manual Testing

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

MetricsArtifacts

Continuous  Integration

Continuous   Integration  Factory

Source  Code  (SCM)

Page 7: Blending Automated and Manual Testing

Deliverables

Continuous  Delivery

Continuous   Delivery  Factory

Artifacts

Page 8: Blending Automated and Manual Testing

Security  Metrics

Continuous  Security

Continuous   Security  Factory

Source  Code  (SCM) Deliverables

Page 9: Blending Automated and Manual Testing

Automated  Security  Metrics

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

Page 10: Blending Automated and Manual Testing

Continuous  Security  Pipe

Jenkins  CI ThreadFix Defect  TrackerSCM

False  Positive

Page 11: Blending Automated and Manual Testing

TargetApplication

Page 12: Blending Automated and Manual Testing

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

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

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

– General  information,  downloads

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

• ThreadFix GitHubwiki:  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

Vulnerability  AggregationAutomated

Automated Manual

Page 16: Blending Automated and Manual Testing

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

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

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

RESTful API  to  Vulnerability  Data

CustomR&D  Monitoring

Dashboard

CustomDashboards

Page 20: Blending Automated and Manual Testing

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

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

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

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

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

Q  &  A