SlideShare a Scribd company logo
Benchmarking Web Application Scanners
           for YOUR Organization
           Dan Cornell!
           CTO, Denim Group!
           @danielcornell




© Copyright 2012 Denim Group - All Rights Reserved
My Background
    •  Dan Cornell, founder and CTO of
       Denim Group

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

    •  OWASP San Antonio, Global
       Membership Committee




© Copyright 2012 Denim Group - All Rights Reserved   2
Denim Group Background

  •  Secure software services and products company
           –  Builds secure software
           –  Helps organizations assess and mitigate risk of in-house developed and third party
              software
           –  Provides classroom training and e-Learning so clients can build software securely
  •  Software-centric view of application security
           –  Application security experts are practicing developers
           –  Development pedigree translates to rapport with development managers
           –  Business impact: shorter time-to-fix application vulnerabilities
  •  Culture of application security innovation and contribution
           –  Develops open source tools to help clients mature their software security programs
                   •  Remediation Resource Center, ThreadFix
           –  OWASP national leaders & regular speakers at RSA, SANS, OWASP, ISSA, CSI
           –  World class alliance partners accelerate innovation to solve client problems


© Copyright 2012 Denim Group - All Rights Reserved                                                 3
What Do You Want From a Scanner?
 •  Coverage

 •  Low False Positives

 •  Low False Negatives




© Copyright 2012 Denim Group - All Rights Reserved   4
Scanner Coverage
 •  You can’t test what you can’t see

 •  How effective is the scanner’s crawler?

 •  How are URLs mapped to functionality?
         –  RESTful
         –  Parameters


 •  Possible issues:
         –  Login routines
         –  Multi-step processes
         –  Anti-CSRF protection


© Copyright 2012 Denim Group - All Rights Reserved   5
Are You Getting a Good Scan?
 Large financial firm: “Our 500 page website is secure because the
 scanner did not find any vulnerabilities!”

 Me: “Did you teach the scanner to log in so that it can see more than just
 the homepage?”

 Large financial firm: “…”




© Copyright 2012 Denim Group - All Rights Reserved                            6
Can Your Scanner Do This?
 •  Two-step login procedure:
         –  Enter username / password (pretty standard)
         –  Enter answer to one of several arbitrary questions


 •  Challenge was that the parameter indicating the question was
    dynamic
         –  Question_1, Question_2, Question_3, and so on
         –  Makes standard login recording ineffective




© Copyright 2012 Denim Group - All Rights Reserved                 7
It All Started With A Simple Blog Post…
 •     Ran into an application with a complicated login procedure
 •     Wrote blog post about the toolchain used to solve the problem
         –  http://blog.denimgroup.com/denim_group/2012/04/automated-application-scanning-handling-
            complicated-logins-with-appscan-and-burp-suite.html
 •     Other scanner teams responded:
         –  IBM Rational AppScan
                 •    http://blog.denimgroup.com/denim_group/2012/04/automated-application-scanning-handling-complicated-
                      logins-with-appscan-only.html
         –  HP WebInspect
                 •    http://blog.denimgroup.com/denim_group/2012/05/handling-challengeresponse-logins-in-hp-
                      webinspect.html
         –  Mavituna Security Netsparker
                 •    http://blog.denimgroup.com/denim_group/2012/05/handling-challengeresponse-logins-in-mavituna-
                      netsparker.html
         –  NTObjectives NTOSpider
                 •    http://blog.denimgroup.com/denim_group/2012/05/handling-challengeresponse-logins-in-ntospider.html



© Copyright 2012 Denim Group - All Rights Reserved                                                                          8
Scanner Authentication Scenario Examples
 •  Built as a response to the previously-mentioned blog conversation

 •  Example implementations of different login routines
         –  How can different scanners be configured to successfully scan?


 •  GitHub site:
         –  https://github.com/denimgroup/authexamples




© Copyright 2012 Denim Group - All Rights Reserved                           9
Did I Get a Good Scan?
 •  Scanner training is really important
         –  Read the Larry Suto reports…


 •  Must sanity-check the results of your scans

 •  What URLs were accessed?
         –  If only two URLs were accessed on a 500 page site, you probably have a bad scan
         –  If 5000 URLs were accessed on a five page site, you probably have a bad scan


 •  What vulnerabilities were found and not found?
         –  Scan with no vulnerabilities – probably not a good scan
         –  Scan with excessive vulnerabilities – possibly a lot of false positives


© Copyright 2012 Denim Group - All Rights Reserved                                            10
Low False Positives
 •  Reports of vulnerabilities that do not actually exist

 •  How “touchy” is the scanner’s testing engine?

 •  Why are they bad?
         –  Take time to manually review and filter out
         –  Can lead to wasted remediation time




© Copyright 2012 Denim Group - All Rights Reserved          11
Low False Negatives
 •  Scanner failing to report vulnerabilities that do exist

 •  How effective is the scanner’s testing engine?

 •  Why are they bad?
         –  You are exposed to risks you do not know about
         –  You expect that the scanner would have found certain classes of vulnerabilities


 •  What vulnerability classes do you think scanners will find?




© Copyright 2012 Denim Group - All Rights Reserved                                            12
Other Benchmarking Efforts
 •  Larry Suto’s 2007 and 2010 reports
         –    Analyzing the Accuracy and Time Costs of Web Application Security Standards
         –    http://ha.ckers.org/files/Accuracy_and_Time_Costs_of_Web_App_Scanners.pdf
         –    Vendor reactions were … varied
         –    [Ofer Shezaf attended this talk at AppSecEU 2012 and had some great questions
              and comments. See his reactions to the latest Larry Suto scanner report here :
              http://www.xiom.com/2010/02/09/wafs-are-not-perfect-any-security-tool-perfect ]


 •  Shay Chen’s Blog and Site
         –  http://sectooladdict.blogspot.com/
         –  http://www.sectoolmarket.com/


 •  Web Application Vulnerability Scanner Evaluation Project (wavsep)
         –  http://code.google.com/p/wavsep/
© Copyright 2012 Denim Group - All Rights Reserved                                              13
So I Should Just Buy the Best Scanner, Right?
 •  Or the cheapest?

 •  Well…
         –  What do you mean by “best”?




 •  Follow-on questions
         –  How well do the scanners work on your organization’s applications?
         –  How many false positives are you willing to deal with?
         –  What depth and breadth of coverage do you need?

© Copyright 2012 Denim Group - All Rights Reserved                               14
ThreadFix - Overview
 •  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.

 •  Freely available under the Mozilla Public License (MPL)

 •  Hosted at Google Code: http://code.google.com/p/threadfix/




© Copyright 2012 Denim Group - All Rights Reserved                           15
What is a Unique Vulnerability?
 •  (CWE, Relative URL)
         –  Predictable resource location
         –  Directory listing misconfiguration


 •  (CWE, Relative URL, Injection Point)
         –  SQL injection
         –  Cross-site Scripting (XSS)


 •  Injection points
         –  Parameters – GET/POST
         –  Cookies
         –  Other headers


© Copyright 2012 Denim Group - All Rights Reserved   16
What Do The Scanner Results Look Like?
 •  Usually XML
         –  Skipfish uses JSON and gets packaged as a ZIP


 •  Scanners have different concepts of what a “vulnerability” is
         –  We normalize to the (CWE, location, [injection point]) noted before


 •  Look at some example files

 •  Several vendors have been really helpful adding additional data to
    their APIs and file formats to accommodate requests



© Copyright 2012 Denim Group - All Rights Reserved                                17
Why Common Weakness Enumeration (CWE)?
 •  Every tool has their own “spin” on naming vulnerabilities
 •  OWASP Top 10 / WASC 24 are helpful but not comprehensive

 •  CWE is exhaustive (though a bit sprawling at times)
 •  Reasonably well-adopted standard
 •  Many tools have mappings to CWE for their results

 •  Main site: http://cwe.mitre.org/




© Copyright 2012 Denim Group - All Rights Reserved              18
Demo
 •  Unpack and install ThreadFix
 •  Use ThreadFix to normalize and report on the use of multiple scanning
    technologies on a given application
 •  Import multiple scans and de-duplicate the results

 •  These screenshots are based on UNTUNED scans and are NOT
    meant to show a real benchmark of these scanners – only the
    process




© Copyright 2012 Denim Group - All Rights Reserved                          19
Unzip the ThreadFix Package (like WebGoat!)




© Copyright 2012 Denim Group - All Rights Reserved   20
Make threadfix.sh Executable




© Copyright 2012 Denim Group - All Rights Reserved   21
Run ThreadFix Pre-Configured Tomcat Server




© Copyright 2012 Denim Group - All Rights Reserved   22
Login to ThreadFix (“user” and “password”)




© Copyright 2012 Denim Group - All Rights Reserved   23
Upload Various Scan Results Files




© Copyright 2012 Denim Group - All Rights Reserved   24
This Vulnerability Found By Three Scanners




© Copyright 2012 Denim Group - All Rights Reserved   25
Mark False Positives
 (wavsep Uses “FalsePositives” In the URL…)




© Copyright 2012 Denim Group - All Rights Reserved   26
Summary Report – Found, Not Found, False
 Positives (Again – NOT Based on Tuned Scans)




© Copyright 2012 Denim Group - All Rights Reserved   27
Report By Vulnerability Type




© Copyright 2012 Denim Group - All Rights Reserved   28
Detail Report Can Be Used To Error-Check
 Merge Process




© Copyright 2012 Denim Group - All Rights Reserved   29
Current Limitations
 •  Vulnerability importers are not currently
    formally vendor-supported
         –  Though a number have helped us test and
            refine them (thanks!)
         –  After you get a good scan make sure you also
            got a good import


 •  Summary report should show data by
    severity rating
         –  Make it easier to focus on vulnerabilities you
            probably care more about
         –  But you can look at the data by vulnerability
            type


© Copyright 2012 Denim Group - All Rights Reserved           30
Try This At Home, Kids
 •  Pick some applications to test
         –  Representative sample for your organization
         –  Common languages, frameworks


 •  Run scans with the targeted scanning technologies
         –  Make sure you get good scans: login, other state-based issues
         –  If you train the scans (always a good idea) be consistent


 •  Import the scans into ThreadFix
         –  Make sure you’re happy with the import


 •  Run some reports

© Copyright 2012 Denim Group - All Rights Reserved                          31
You Know What Would Make All This Way Easier?
 •  Common data standards for scanning
    tools!

 •  Current efforts:
         –  MITRE Software Assurance Findings
            Expression Schema (SAFES)
                 •  http://www.mitre.org/work/tech_papers/
                    2012/11_3671/
         –  OWASP Data Exchange Format Project
                 •  https://www.owasp.org/index.php/
                    OWASP_Data_Exchange_Format_Project




© Copyright 2012 Denim Group - All Rights Reserved           32
Simple Software Vulnerability Language (SSVL)
 •  Common way to represent static and dynamic scanner findings
 •  Based on our experience building importers for ThreadFix
         –  It “works” for real-world applications because we are essentially using it


 •  Love to hear feedback
         –  Send me a request and I can share the document for editing/annotation


 •  Online:
         –  https://docs.google.com/document/d/
            1H5hWUdj925TtoZ7ZvnfHdFABe7hBCGuZtLUas29yBGI/edit?pli=1
         –  Or http://tinyurl.com/cslqv47




© Copyright 2012 Denim Group - All Rights Reserved                                       33
Simple Software Vulnerability Language (SSVL)




© Copyright 2012 Denim Group - All Rights Reserved   34
Questions

 Dan Cornell
 dan@denimgroup.com
 Twitter: @danielcornell

 www.denimgroup.com
 www.denimgroup.com/threadfix
 code.google.com/p/threadfix
 (210) 572-4400




© Copyright 2012 Denim Group - All Rights Reserved   35

More Related Content

PDF
Building Your Application Security Data Hub - OWASP AppSecUSA
PDF
Vulnerability Management In An Application Security World: AppSecDC
PDF
Do You Have a Scanner or Do You Have a Scanning Program? (AppSecEU 2013)
PDF
The Magic of Symbiotic Security
PDF
Top Strategies to Capture Security Intelligence for Applications
PDF
Software Security for Project Managers: What Do You Need To Know?
PDF
Monitoring Attack Surface to Secure DevOps Pipelines
PDF
What Permissions Does Your Database User REALLY Need?
Building Your Application Security Data Hub - OWASP AppSecUSA
Vulnerability Management In An Application Security World: AppSecDC
Do You Have a Scanner or Do You Have a Scanning Program? (AppSecEU 2013)
The Magic of Symbiotic Security
Top Strategies to Capture Security Intelligence for Applications
Software Security for Project Managers: What Do You Need To Know?
Monitoring Attack Surface to Secure DevOps Pipelines
What Permissions Does Your Database User REALLY Need?

What's hot (20)

PDF
RSA 2015 Blending the Automated and the Manual: Making Application Vulnerabil...
PPTX
Building a Mobile Security Program
PDF
Hybrid Analysis Mapping: Making Security and Development Tools Play Nice Toge...
PDF
The ThreadFix Ecosystem: Vendors, Volunteers, and Versions
PDF
Smart Phones Dumb Apps
PDF
ThreadFix 2.2 Preview Webinar with Dan Cornell
PDF
Software Security: Is OK Good Enough? OWASP AppSec USA 2011
PDF
Using ThreadFix to Manage Application Vulnerabilities
PDF
Mobile Application Assessment By the Numbers: a Whole-istic View
PDF
Application Security Assessments by the Numbers - A Whole-istic View - OWASP ...
PDF
Managing Your Application Security Program with the ThreadFix Ecosystem
PDF
Vulnerability Management In An Application Security World
PDF
Secure DevOps with ThreadFix 2.3
PDF
Running a Software Security Program with Open Source Tools
PDF
ThreadFix 2.4: Maximizing the Impact of Your Application Security Resources
PDF
SecDevOps: Development Tools for Security Pros
PPTX
How iOS and Android Handle Security Webinar
PDF
The Self Healing Cloud: Protecting Applications and Infrastructure with Autom...
PDF
Structuring and Scaling an Application Security Program
PDF
Blending Automated and Manual Testing
RSA 2015 Blending the Automated and the Manual: Making Application Vulnerabil...
Building a Mobile Security Program
Hybrid Analysis Mapping: Making Security and Development Tools Play Nice Toge...
The ThreadFix Ecosystem: Vendors, Volunteers, and Versions
Smart Phones Dumb Apps
ThreadFix 2.2 Preview Webinar with Dan Cornell
Software Security: Is OK Good Enough? OWASP AppSec USA 2011
Using ThreadFix to Manage Application Vulnerabilities
Mobile Application Assessment By the Numbers: a Whole-istic View
Application Security Assessments by the Numbers - A Whole-istic View - OWASP ...
Managing Your Application Security Program with the ThreadFix Ecosystem
Vulnerability Management In An Application Security World
Secure DevOps with ThreadFix 2.3
Running a Software Security Program with Open Source Tools
ThreadFix 2.4: Maximizing the Impact of Your Application Security Resources
SecDevOps: Development Tools for Security Pros
How iOS and Android Handle Security Webinar
The Self Healing Cloud: Protecting Applications and Infrastructure with Autom...
Structuring and Scaling an Application Security Program
Blending Automated and Manual Testing
Ad

Viewers also liked (6)

PPTX
Chapter No:3 Web Productivity Measurement and Benchmarking
PPT
Benchmarking and assessing your web strategy
PPTX
Benchmarking Web Accessibility Evaluation Tools: Measuring the Harm of Sole R...
PDF
Web Analytics Benchmarking Solution
PPTX
Case competitive benchmarking
PPT
UserZoom Webinar: How to Conduct Web Customer Experience Benchmarking
Chapter No:3 Web Productivity Measurement and Benchmarking
Benchmarking and assessing your web strategy
Benchmarking Web Accessibility Evaluation Tools: Measuring the Harm of Sole R...
Web Analytics Benchmarking Solution
Case competitive benchmarking
UserZoom Webinar: How to Conduct Web Customer Experience Benchmarking
Ad

Similar to Benchmarking Web Application Scanners for YOUR Organization (20)

PPTX
Cyber security - It starts with the embedded system
PPTX
Thread Fix Tour Presentation Final Final
PPT
WE-06-Testing.ppt
PDF
Skeletons in the Closet: Securing Inherited Applications
PPTX
Programming languages and techniques for today’s embedded andIoT world
PDF
Dan Cornell - The Real Cost of Software Remediation
PDF
Real Cost of Software Remediation
PDF
Rolling Out An Enterprise Source Code Review Program
PDF
Best practices for using open source software in the enterprise
PDF
Bringing Security Testing to Development: How to Enable Developers to Act as ...
PDF
Mobile Browser Content Handling
PPTX
The End of Security as We Know It - Shannon Lietz
PDF
SOA: What It Means To The Enterprise
PDF
USG Rock Eagle 2017 - PWP at 1000 Days
PDF
Securing a Moving Target
PDF
Oracle ADF Architecture TV - Design - Designing for Security
PDF
E2 Labs: ADVANCED PROGRAM ON: THE SECURITY OF A WEBSITE
PPTX
Twelve Factor - Designing for Change
PDF
Create code confidence for better application security
PPTX
Technologies for startup
Cyber security - It starts with the embedded system
Thread Fix Tour Presentation Final Final
WE-06-Testing.ppt
Skeletons in the Closet: Securing Inherited Applications
Programming languages and techniques for today’s embedded andIoT world
Dan Cornell - The Real Cost of Software Remediation
Real Cost of Software Remediation
Rolling Out An Enterprise Source Code Review Program
Best practices for using open source software in the enterprise
Bringing Security Testing to Development: How to Enable Developers to Act as ...
Mobile Browser Content Handling
The End of Security as We Know It - Shannon Lietz
SOA: What It Means To The Enterprise
USG Rock Eagle 2017 - PWP at 1000 Days
Securing a Moving Target
Oracle ADF Architecture TV - Design - Designing for Security
E2 Labs: ADVANCED PROGRAM ON: THE SECURITY OF A WEBSITE
Twelve Factor - Designing for Change
Create code confidence for better application security
Technologies for startup

More from Denim Group (20)

PDF
Long-term Impact of Log4J
PDF
Threat Modeling the CI/CD Pipeline to Improve Software Supply Chain Security ...
PDF
Threat Modeling the CI/CD Pipeline to Improve Software Supply Chain Security ...
PDF
Optimizing Security Velocity in Your DevSecOps Pipeline at Scale
PDF
Application Asset Management with ThreadFix
PDF
OWASP San Antonio Meeting 10/2/20
PDF
AppSec Fast and Slow: Your DevSecOps CI/CD Pipeline Isn’t an SSA Program
PDF
Using Collaboration to Make Application Vulnerability Management a Team Sport
PDF
Managing Penetration Testing Programs and Vulnerability Time to Live with Thr...
PDF
Security Champions: Pushing Security Expertise to the Edges of Your Organization
PDF
The As, Bs, and Four Cs of Testing Cloud-Native Applications
PDF
An Updated Take: Threat Modeling for IoT Systems
PPTX
Continuous Authority to Operate (ATO) with ThreadFix – Bringing Commercial In...
PDF
A New View of Your Application Security Program with Snyk and ThreadFix
PDF
Enabling Developers in Your Application Security Program With Coverity and Th...
PDF
AppSec in a World of Digital Transformation
PDF
The As, Bs, and Four Cs of Testing Cloud-Native Applications
PDF
Enabling Developers in Your Application Security Program With Coverity and Th...
PDF
AppSec in a World of Digital Transformation
PDF
Enumerating Enterprise Attack Surface
Long-term Impact of Log4J
Threat Modeling the CI/CD Pipeline to Improve Software Supply Chain Security ...
Threat Modeling the CI/CD Pipeline to Improve Software Supply Chain Security ...
Optimizing Security Velocity in Your DevSecOps Pipeline at Scale
Application Asset Management with ThreadFix
OWASP San Antonio Meeting 10/2/20
AppSec Fast and Slow: Your DevSecOps CI/CD Pipeline Isn’t an SSA Program
Using Collaboration to Make Application Vulnerability Management a Team Sport
Managing Penetration Testing Programs and Vulnerability Time to Live with Thr...
Security Champions: Pushing Security Expertise to the Edges of Your Organization
The As, Bs, and Four Cs of Testing Cloud-Native Applications
An Updated Take: Threat Modeling for IoT Systems
Continuous Authority to Operate (ATO) with ThreadFix – Bringing Commercial In...
A New View of Your Application Security Program with Snyk and ThreadFix
Enabling Developers in Your Application Security Program With Coverity and Th...
AppSec in a World of Digital Transformation
The As, Bs, and Four Cs of Testing Cloud-Native Applications
Enabling Developers in Your Application Security Program With Coverity and Th...
AppSec in a World of Digital Transformation
Enumerating Enterprise Attack Surface

Recently uploaded (20)

PDF
Encapsulation_ Review paper, used for researhc scholars
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
DOCX
The AUB Centre for AI in Media Proposal.docx
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PPTX
Programs and apps: productivity, graphics, security and other tools
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
cuic standard and advanced reporting.pdf
PDF
Empathic Computing: Creating Shared Understanding
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPTX
Cloud computing and distributed systems.
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PPTX
Spectroscopy.pptx food analysis technology
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Encapsulation_ Review paper, used for researhc scholars
20250228 LYD VKU AI Blended-Learning.pptx
Reach Out and Touch Someone: Haptics and Empathic Computing
The AUB Centre for AI in Media Proposal.docx
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Programs and apps: productivity, graphics, security and other tools
Digital-Transformation-Roadmap-for-Companies.pptx
cuic standard and advanced reporting.pdf
Empathic Computing: Creating Shared Understanding
Advanced methodologies resolving dimensionality complications for autism neur...
Diabetes mellitus diagnosis method based random forest with bat algorithm
Cloud computing and distributed systems.
Dropbox Q2 2025 Financial Results & Investor Presentation
Spectroscopy.pptx food analysis technology
Chapter 3 Spatial Domain Image Processing.pdf
The Rise and Fall of 3GPP – Time for a Sabbatical?
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Profit Center Accounting in SAP S/4HANA, S4F28 Col11

Benchmarking Web Application Scanners for YOUR Organization

  • 1. Benchmarking Web Application Scanners for YOUR Organization Dan Cornell! CTO, Denim Group! @danielcornell © Copyright 2012 Denim Group - All Rights Reserved
  • 2. My Background •  Dan Cornell, founder and CTO of Denim Group •  Software developer by background (Java, .NET, etc) •  OWASP San Antonio, Global Membership Committee © Copyright 2012 Denim Group - All Rights Reserved 2
  • 3. Denim Group Background •  Secure software services and products company –  Builds secure software –  Helps organizations assess and mitigate risk of in-house developed and third party software –  Provides classroom training and e-Learning so clients can build software securely •  Software-centric view of application security –  Application security experts are practicing developers –  Development pedigree translates to rapport with development managers –  Business impact: shorter time-to-fix application vulnerabilities •  Culture of application security innovation and contribution –  Develops open source tools to help clients mature their software security programs •  Remediation Resource Center, ThreadFix –  OWASP national leaders & regular speakers at RSA, SANS, OWASP, ISSA, CSI –  World class alliance partners accelerate innovation to solve client problems © Copyright 2012 Denim Group - All Rights Reserved 3
  • 4. What Do You Want From a Scanner? •  Coverage •  Low False Positives •  Low False Negatives © Copyright 2012 Denim Group - All Rights Reserved 4
  • 5. Scanner Coverage •  You can’t test what you can’t see •  How effective is the scanner’s crawler? •  How are URLs mapped to functionality? –  RESTful –  Parameters •  Possible issues: –  Login routines –  Multi-step processes –  Anti-CSRF protection © Copyright 2012 Denim Group - All Rights Reserved 5
  • 6. Are You Getting a Good Scan? Large financial firm: “Our 500 page website is secure because the scanner did not find any vulnerabilities!” Me: “Did you teach the scanner to log in so that it can see more than just the homepage?” Large financial firm: “…” © Copyright 2012 Denim Group - All Rights Reserved 6
  • 7. Can Your Scanner Do This? •  Two-step login procedure: –  Enter username / password (pretty standard) –  Enter answer to one of several arbitrary questions •  Challenge was that the parameter indicating the question was dynamic –  Question_1, Question_2, Question_3, and so on –  Makes standard login recording ineffective © Copyright 2012 Denim Group - All Rights Reserved 7
  • 8. It All Started With A Simple Blog Post… •  Ran into an application with a complicated login procedure •  Wrote blog post about the toolchain used to solve the problem –  http://blog.denimgroup.com/denim_group/2012/04/automated-application-scanning-handling- complicated-logins-with-appscan-and-burp-suite.html •  Other scanner teams responded: –  IBM Rational AppScan •  http://blog.denimgroup.com/denim_group/2012/04/automated-application-scanning-handling-complicated- logins-with-appscan-only.html –  HP WebInspect •  http://blog.denimgroup.com/denim_group/2012/05/handling-challengeresponse-logins-in-hp- webinspect.html –  Mavituna Security Netsparker •  http://blog.denimgroup.com/denim_group/2012/05/handling-challengeresponse-logins-in-mavituna- netsparker.html –  NTObjectives NTOSpider •  http://blog.denimgroup.com/denim_group/2012/05/handling-challengeresponse-logins-in-ntospider.html © Copyright 2012 Denim Group - All Rights Reserved 8
  • 9. Scanner Authentication Scenario Examples •  Built as a response to the previously-mentioned blog conversation •  Example implementations of different login routines –  How can different scanners be configured to successfully scan? •  GitHub site: –  https://github.com/denimgroup/authexamples © Copyright 2012 Denim Group - All Rights Reserved 9
  • 10. Did I Get a Good Scan? •  Scanner training is really important –  Read the Larry Suto reports… •  Must sanity-check the results of your scans •  What URLs were accessed? –  If only two URLs were accessed on a 500 page site, you probably have a bad scan –  If 5000 URLs were accessed on a five page site, you probably have a bad scan •  What vulnerabilities were found and not found? –  Scan with no vulnerabilities – probably not a good scan –  Scan with excessive vulnerabilities – possibly a lot of false positives © Copyright 2012 Denim Group - All Rights Reserved 10
  • 11. Low False Positives •  Reports of vulnerabilities that do not actually exist •  How “touchy” is the scanner’s testing engine? •  Why are they bad? –  Take time to manually review and filter out –  Can lead to wasted remediation time © Copyright 2012 Denim Group - All Rights Reserved 11
  • 12. Low False Negatives •  Scanner failing to report vulnerabilities that do exist •  How effective is the scanner’s testing engine? •  Why are they bad? –  You are exposed to risks you do not know about –  You expect that the scanner would have found certain classes of vulnerabilities •  What vulnerability classes do you think scanners will find? © Copyright 2012 Denim Group - All Rights Reserved 12
  • 13. Other Benchmarking Efforts •  Larry Suto’s 2007 and 2010 reports –  Analyzing the Accuracy and Time Costs of Web Application Security Standards –  http://ha.ckers.org/files/Accuracy_and_Time_Costs_of_Web_App_Scanners.pdf –  Vendor reactions were … varied –  [Ofer Shezaf attended this talk at AppSecEU 2012 and had some great questions and comments. See his reactions to the latest Larry Suto scanner report here : http://www.xiom.com/2010/02/09/wafs-are-not-perfect-any-security-tool-perfect ] •  Shay Chen’s Blog and Site –  http://sectooladdict.blogspot.com/ –  http://www.sectoolmarket.com/ •  Web Application Vulnerability Scanner Evaluation Project (wavsep) –  http://code.google.com/p/wavsep/ © Copyright 2012 Denim Group - All Rights Reserved 13
  • 14. So I Should Just Buy the Best Scanner, Right? •  Or the cheapest? •  Well… –  What do you mean by “best”? •  Follow-on questions –  How well do the scanners work on your organization’s applications? –  How many false positives are you willing to deal with? –  What depth and breadth of coverage do you need? © Copyright 2012 Denim Group - All Rights Reserved 14
  • 15. ThreadFix - Overview •  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. •  Freely available under the Mozilla Public License (MPL) •  Hosted at Google Code: http://code.google.com/p/threadfix/ © Copyright 2012 Denim Group - All Rights Reserved 15
  • 16. What is a Unique Vulnerability? •  (CWE, Relative URL) –  Predictable resource location –  Directory listing misconfiguration •  (CWE, Relative URL, Injection Point) –  SQL injection –  Cross-site Scripting (XSS) •  Injection points –  Parameters – GET/POST –  Cookies –  Other headers © Copyright 2012 Denim Group - All Rights Reserved 16
  • 17. What Do The Scanner Results Look Like? •  Usually XML –  Skipfish uses JSON and gets packaged as a ZIP •  Scanners have different concepts of what a “vulnerability” is –  We normalize to the (CWE, location, [injection point]) noted before •  Look at some example files •  Several vendors have been really helpful adding additional data to their APIs and file formats to accommodate requests © Copyright 2012 Denim Group - All Rights Reserved 17
  • 18. Why Common Weakness Enumeration (CWE)? •  Every tool has their own “spin” on naming vulnerabilities •  OWASP Top 10 / WASC 24 are helpful but not comprehensive •  CWE is exhaustive (though a bit sprawling at times) •  Reasonably well-adopted standard •  Many tools have mappings to CWE for their results •  Main site: http://cwe.mitre.org/ © Copyright 2012 Denim Group - All Rights Reserved 18
  • 19. Demo •  Unpack and install ThreadFix •  Use ThreadFix to normalize and report on the use of multiple scanning technologies on a given application •  Import multiple scans and de-duplicate the results •  These screenshots are based on UNTUNED scans and are NOT meant to show a real benchmark of these scanners – only the process © Copyright 2012 Denim Group - All Rights Reserved 19
  • 20. Unzip the ThreadFix Package (like WebGoat!) © Copyright 2012 Denim Group - All Rights Reserved 20
  • 21. Make threadfix.sh Executable © Copyright 2012 Denim Group - All Rights Reserved 21
  • 22. Run ThreadFix Pre-Configured Tomcat Server © Copyright 2012 Denim Group - All Rights Reserved 22
  • 23. Login to ThreadFix (“user” and “password”) © Copyright 2012 Denim Group - All Rights Reserved 23
  • 24. Upload Various Scan Results Files © Copyright 2012 Denim Group - All Rights Reserved 24
  • 25. This Vulnerability Found By Three Scanners © Copyright 2012 Denim Group - All Rights Reserved 25
  • 26. Mark False Positives (wavsep Uses “FalsePositives” In the URL…) © Copyright 2012 Denim Group - All Rights Reserved 26
  • 27. Summary Report – Found, Not Found, False Positives (Again – NOT Based on Tuned Scans) © Copyright 2012 Denim Group - All Rights Reserved 27
  • 28. Report By Vulnerability Type © Copyright 2012 Denim Group - All Rights Reserved 28
  • 29. Detail Report Can Be Used To Error-Check Merge Process © Copyright 2012 Denim Group - All Rights Reserved 29
  • 30. Current Limitations •  Vulnerability importers are not currently formally vendor-supported –  Though a number have helped us test and refine them (thanks!) –  After you get a good scan make sure you also got a good import •  Summary report should show data by severity rating –  Make it easier to focus on vulnerabilities you probably care more about –  But you can look at the data by vulnerability type © Copyright 2012 Denim Group - All Rights Reserved 30
  • 31. Try This At Home, Kids •  Pick some applications to test –  Representative sample for your organization –  Common languages, frameworks •  Run scans with the targeted scanning technologies –  Make sure you get good scans: login, other state-based issues –  If you train the scans (always a good idea) be consistent •  Import the scans into ThreadFix –  Make sure you’re happy with the import •  Run some reports © Copyright 2012 Denim Group - All Rights Reserved 31
  • 32. You Know What Would Make All This Way Easier? •  Common data standards for scanning tools! •  Current efforts: –  MITRE Software Assurance Findings Expression Schema (SAFES) •  http://www.mitre.org/work/tech_papers/ 2012/11_3671/ –  OWASP Data Exchange Format Project •  https://www.owasp.org/index.php/ OWASP_Data_Exchange_Format_Project © Copyright 2012 Denim Group - All Rights Reserved 32
  • 33. Simple Software Vulnerability Language (SSVL) •  Common way to represent static and dynamic scanner findings •  Based on our experience building importers for ThreadFix –  It “works” for real-world applications because we are essentially using it •  Love to hear feedback –  Send me a request and I can share the document for editing/annotation •  Online: –  https://docs.google.com/document/d/ 1H5hWUdj925TtoZ7ZvnfHdFABe7hBCGuZtLUas29yBGI/edit?pli=1 –  Or http://tinyurl.com/cslqv47 © Copyright 2012 Denim Group - All Rights Reserved 33
  • 34. Simple Software Vulnerability Language (SSVL) © Copyright 2012 Denim Group - All Rights Reserved 34
  • 35. Questions Dan Cornell dan@denimgroup.com Twitter: @danielcornell www.denimgroup.com www.denimgroup.com/threadfix code.google.com/p/threadfix (210) 572-4400 © Copyright 2012 Denim Group - All Rights Reserved 35