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

Blending Automated and Manual Testing

Apr 13, 2017

Download

Technology

Denim Group
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
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