SlideShare a Scribd company logo
5
Most read
9
Most read
16
Most read
The open source vulnerability scanner
Expectations.
u History of Dependency Check
u Importance of Dependency Check.
u Why to care about the Dependencies which we use in our daily coding.
u To understand what is Dependency Checker by
u Supported Languages/tech.
u Relation to OWASP top 10.
u Reviewing How it works.
u Vulnerability Data Source.
u Library Identification and issues.
u Evidence based identification, issues and Remediation.
u Using Dependency Check.
u Components of Dependency Check.
u Use Cases of Dependency Check.
u Enterprise Deployments.
u How to read the reports.
u Demo.
History of Dependency Check
u Dependency-Check is developed by a team of volunteers. The primary
contributors to date have been:
u Jeremy Long
u Steve Springett
u Will Stranathan
Relation to OWASP top 10.
u Most critical web application risks
u A9 – Using components with known vulnerabilities
u Prevalence: Widespread
u Detectability: Difficult
u Difficult for 3 reasons
u Awareness
u Visibility
u Lack of tooling in 2012/2013
Importance of Dependency Check
u CVE-2018-2815 – JAVA SE DOS via Serialization.
u CVE-2016-5000 - Apache POI Information Disclosure via External Entity
Expansion (XXE)
u CVE-2016-4216 - Adobe XMP Toolkit for Java Information Disclosure via
External Entity Expansion (XXE)
u CVE-2016-3081 - Remote code execution vulnerability in Apache Struts when
dynamic method invocation is enabled
u CVE-2015-8103 - Remote code execution vulnerability in Jenkins remoting;
related to the Apache commons-collections
u 95% of applications include open source
u 67% of applications contained open source vulnerabilities
u Average age of open source vulnerability identified: 1,894 days
Patching Programs
u Generally do not cover application dependencies
u Lack of awareness of 3rd party or FOSS application dependencies
u Patching teams cannot push patches
u Patching application dependencies requires
u Possible code changes
u Full regression testing
Supported Languages/tech.
u Fully supported: Java & .NET
u Experimental Analyzers:
u CocoaPods
u Swift Package Manager
u Python
u PHP (composer)
u Node.js
u Ruby
Components of Dependency Check
How it works.
u National Vulnerability Database (NVD)
u https://nvd.nist.gov
u Contains a listing of Common Vulnerability and Exposures (CVE)
u Each CVE entry contains
u A description of the vulnerability or exposure
u A Common Vulnerability Scoring System (CVSS) score
u A list of the affected platforms identified by their Common Platform Enumeration
(CPE)
Vulnerability Data Source.
Steps to run
u Extract the bat file obtained from link.
u Go to bin.
u Execute the command :
Dependency.bat --format <HTML or PDF> --out “<Location for extracting report>” --scan
“<location of jar/dependent files>” --project <name of report.>
e.g.
Dependency.bat --format HTML --out “C:UsersAdministratorDesktopSecurity Testing” --scan
“C:UsersAdministratorDesktopSecurity Testing*.*” --project SecurityScannerToolCommand
How to read the reports.
Evidence based identification, issues
and Remediation.
u Identification :
u Evidence is extracted from dependencies
u File name, manifest, POM, package names, etc.
u Evidence is grouped into Vendor, Product, and Version collections
u Local copy of the NVD CVE is maintained
u Lucene Index of the CPE information is created
u Evidence collected is used to search the index and identify the library by CPE
Evidence based identification, issues
and Remediation.
u Issues :
u False Positives
u Evidence extracted may cause incorrect identification
u False Negatives
u If key elements are not included in the dependency (e.g. jar,
dll) the library will not be identified and may result in un-
reported risk
Library Identification and issues.
u Identification :
Reporting on known/published vulnerabilities requires the correct identification of the libraries used
u Issues :
u Development & Security use different identifiers
u Development (GAV coordinates):
u org.springframework:spring-core:3.2.0.RELEASE
u Security uses Common Platform Enumeration (CPE):
u cpe:/a:springsource:spring_framework:3.2.0
u cpe:/a:pivotal:spring_framework:3.2.0
u cpe:/a:pivotal_software:spring_framework:3.2.0
u No publicly available database exists to map between the two
Dealing with False Positives
u Invalid dependency identification can be resolved using a suppression file:
<suppress>
<notes><![CDATA[
This suppresses false positives identified on spring security.
]]></notes>
<gav regex="true">org.springframework.security:spring.*</gav>
<cpe>cpe:/a:mod_security:mod_security</cpe>
<cpe>cpe:/a:springsource:spring_framework</cpe>
<cpe>cpe:/a:vmware:springsource_spring_framework</cpe>
</suppress>
Enterprise Deployments.
u Use a centralized database to maintain the local copy of the NVD
u Single instance of dependency-check used to update
u Scanning instances do not need to update
u Use an internal Nexus instead of Maven Central
u Run dependency-check within their CI
u Continuous monitoring/reporting using OWASP dependency-check sonar plugin,
OWASP dependency-track, or ThreadFix
Use Cases for dependency-check
u Prove the existence of the problem
u Baseline test when conducting POCs with commercial solutions
u OWASP dependency-check is used as the primary tool to identify known
vulnerable components
DEMO
Questions?
OWASP dependency-check
Appendix
Getting Involved
u Involvement in the development and promotion of dependency-check is actively
encouraged! You do not have to be a security expert in order to contribute. How you can
help:
• Use the tool
• Provide feedback via the mailing list or by creating github issues (both bugs and feature
requests are encouraged)
• The project source code is hosted on github - if you are so inclined fork it and provide
push requests!
References:-
u https://www.owasp.org/index.php/OWASP_Dependency_Check
u https://medium.com/@PrakhashS/checking-vulnerabilities-in-3rd-party-
dependencies-using-owasp-dependency-check-plugin-in-jenkins-bedfe8de6ba8
u https://wiki.jenkins.io/display/JENKINS/OWASP+Dependency-Check+Plugin
u OWASP dependency-check
u http://jeremylong.github.io/DependencyCheck/
u OWASP dependency-track
u https://github.com/stevespringett/dependency-track
u OWASP dependency-check-sonar-plugin
u https://github.com/stevespringett/dependency-check-sonar-plugin

More Related Content

PPTX
DEVSECOPS.pptx
PPTX
Jenkins CI presentation
PPTX
Getting started with Docker
PDF
Jenkins
PDF
MLOps 플랫폼을 만드는 과정의 고민과 해결 사례 공유(feat. Kubeflow)
PDF
Secure coding presentation Oct 3 2020
PPTX
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...
PDF
카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개
DEVSECOPS.pptx
Jenkins CI presentation
Getting started with Docker
Jenkins
MLOps 플랫폼을 만드는 과정의 고민과 해결 사례 공유(feat. Kubeflow)
Secure coding presentation Oct 3 2020
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...
카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개

What's hot (20)

PDF
Security Process in DevSecOps
PPTX
DevSecOps reference architectures 2018
PPT
Introduction To OWASP
PPT
Docker introduction
PDF
Docker Introduction
PPTX
Docker introduction
PPTX
An Introduction To REST API
PDF
DevOps - A Gentle Introduction
PDF
Understanding Reactive Programming
PDF
Introduction to GitHub Actions
PPTX
PPTX
Containerization
PDF
Monitoring with prometheus
PDF
Practical DevSecOps Course - Part 1
PDF
PDF
Secure Coding - Web Application Security Vulnerabilities and Best Practices
PDF
Introduction à Docker et utilisation en production /Digital apéro Besançon [1...
PDF
Sécurité des applications web: attaque et défense
PDF
Introdução do DEVSECOPS
PPTX
Os Command Injection Attack
Security Process in DevSecOps
DevSecOps reference architectures 2018
Introduction To OWASP
Docker introduction
Docker Introduction
Docker introduction
An Introduction To REST API
DevOps - A Gentle Introduction
Understanding Reactive Programming
Introduction to GitHub Actions
Containerization
Monitoring with prometheus
Practical DevSecOps Course - Part 1
Secure Coding - Web Application Security Vulnerabilities and Best Practices
Introduction à Docker et utilisation en production /Digital apéro Besançon [1...
Sécurité des applications web: attaque et défense
Introdução do DEVSECOPS
Os Command Injection Attack
Ad

Similar to OWASP - Dependency Check (20)

PPTX
dependency-check is ppt from owasp to test dependecies
PPTX
Dependency check
PPTX
Software Composition Analysis Deep Dive
PPTX
Managing Security in External Software Dependencies
PPTX
Managing Security in External Software Dependencies
PDF
The Log4Shell Vulnerability – explained: how to stay secure
PDF
Доступная безопасность: смесь инструментов с данными. Советы архитектора Oracle
PDF
Securing Open Source Code in Enterprise
PDF
Spring Boot & Spring Cloud on PAS- Nate Schutta (2/2)
PPTX
Say No to the Dependency Hell
DOCX
Security assessment of mediawiki web-application
PDF
Continuous Security: From tins to containers - now what!
PDF
PVS-Studio advertisement - static analysis of C/C++ code
PDF
AppSec & OWASP Top 10 Primer
PPTX
20091112 - Mars Jug - Apache Maven
PDF
Demystify Information Security & Threats for Data-Driven Platforms With Cheta...
PPTX
The Veil-Framework
PDF
Vulners: Google for hackers
PPTX
Opendaylight SDN Controller
PDF
Web application penetration testing lab setup guide
dependency-check is ppt from owasp to test dependecies
Dependency check
Software Composition Analysis Deep Dive
Managing Security in External Software Dependencies
Managing Security in External Software Dependencies
The Log4Shell Vulnerability – explained: how to stay secure
Доступная безопасность: смесь инструментов с данными. Советы архитектора Oracle
Securing Open Source Code in Enterprise
Spring Boot & Spring Cloud on PAS- Nate Schutta (2/2)
Say No to the Dependency Hell
Security assessment of mediawiki web-application
Continuous Security: From tins to containers - now what!
PVS-Studio advertisement - static analysis of C/C++ code
AppSec & OWASP Top 10 Primer
20091112 - Mars Jug - Apache Maven
Demystify Information Security & Threats for Data-Driven Platforms With Cheta...
The Veil-Framework
Vulners: Google for hackers
Opendaylight SDN Controller
Web application penetration testing lab setup guide
Ad

More from Vandana Verma (18)

PDF
Building security into the pipelines
PPTX
Applying OWASP web security testing guide (OWSTG)
PDF
Running an app sec program with OWASP projects_ Defcon AppSec Village
PDF
SARCON Talk - Vandana Verma Sehgal
PDF
Sacon 2020 living in the world of zero trust v1.0
PDF
Addo 2019 vandana_dev_secops_culturalchange
PDF
App Sec village DevSecOps as a culture
PPTX
Oscp - Journey
PPTX
Web sockets - Pentesting
PPTX
Story of http headers
PPTX
Security audits & compliance
PPTX
Basics of Server Side Template Injection
PPTX
SIEM Vendor Neutrality
PPTX
Getting started with android
PPTX
Importance of Penetration Testing
PPTX
Identity & access management
PPTX
Chariot generic presentation owaspwia_Infosecgirls
PDF
Incident response in Cloud
Building security into the pipelines
Applying OWASP web security testing guide (OWSTG)
Running an app sec program with OWASP projects_ Defcon AppSec Village
SARCON Talk - Vandana Verma Sehgal
Sacon 2020 living in the world of zero trust v1.0
Addo 2019 vandana_dev_secops_culturalchange
App Sec village DevSecOps as a culture
Oscp - Journey
Web sockets - Pentesting
Story of http headers
Security audits & compliance
Basics of Server Side Template Injection
SIEM Vendor Neutrality
Getting started with android
Importance of Penetration Testing
Identity & access management
Chariot generic presentation owaspwia_Infosecgirls
Incident response in Cloud

Recently uploaded (20)

PDF
cuic standard and advanced reporting.pdf
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Approach and Philosophy of On baking technology
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Encapsulation theory and applications.pdf
PPTX
Cloud computing and distributed systems.
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Empathic Computing: Creating Shared Understanding
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
NewMind AI Monthly Chronicles - July 2025
PPTX
A Presentation on Artificial Intelligence
PPTX
Big Data Technologies - Introduction.pptx
cuic standard and advanced reporting.pdf
Unlocking AI with Model Context Protocol (MCP)
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Dropbox Q2 2025 Financial Results & Investor Presentation
Chapter 3 Spatial Domain Image Processing.pdf
Approach and Philosophy of On baking technology
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Encapsulation theory and applications.pdf
Cloud computing and distributed systems.
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Per capita expenditure prediction using model stacking based on satellite ima...
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Building Integrated photovoltaic BIPV_UPV.pdf
Empathic Computing: Creating Shared Understanding
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
NewMind AI Monthly Chronicles - July 2025
A Presentation on Artificial Intelligence
Big Data Technologies - Introduction.pptx

OWASP - Dependency Check

  • 1. The open source vulnerability scanner
  • 2. Expectations. u History of Dependency Check u Importance of Dependency Check. u Why to care about the Dependencies which we use in our daily coding. u To understand what is Dependency Checker by u Supported Languages/tech. u Relation to OWASP top 10. u Reviewing How it works. u Vulnerability Data Source. u Library Identification and issues. u Evidence based identification, issues and Remediation. u Using Dependency Check. u Components of Dependency Check. u Use Cases of Dependency Check. u Enterprise Deployments. u How to read the reports. u Demo.
  • 3. History of Dependency Check u Dependency-Check is developed by a team of volunteers. The primary contributors to date have been: u Jeremy Long u Steve Springett u Will Stranathan
  • 4. Relation to OWASP top 10. u Most critical web application risks u A9 – Using components with known vulnerabilities u Prevalence: Widespread u Detectability: Difficult u Difficult for 3 reasons u Awareness u Visibility u Lack of tooling in 2012/2013
  • 5. Importance of Dependency Check u CVE-2018-2815 – JAVA SE DOS via Serialization. u CVE-2016-5000 - Apache POI Information Disclosure via External Entity Expansion (XXE) u CVE-2016-4216 - Adobe XMP Toolkit for Java Information Disclosure via External Entity Expansion (XXE) u CVE-2016-3081 - Remote code execution vulnerability in Apache Struts when dynamic method invocation is enabled u CVE-2015-8103 - Remote code execution vulnerability in Jenkins remoting; related to the Apache commons-collections u 95% of applications include open source u 67% of applications contained open source vulnerabilities u Average age of open source vulnerability identified: 1,894 days
  • 6. Patching Programs u Generally do not cover application dependencies u Lack of awareness of 3rd party or FOSS application dependencies u Patching teams cannot push patches u Patching application dependencies requires u Possible code changes u Full regression testing
  • 7. Supported Languages/tech. u Fully supported: Java & .NET u Experimental Analyzers: u CocoaPods u Swift Package Manager u Python u PHP (composer) u Node.js u Ruby
  • 9. How it works. u National Vulnerability Database (NVD) u https://nvd.nist.gov u Contains a listing of Common Vulnerability and Exposures (CVE) u Each CVE entry contains u A description of the vulnerability or exposure u A Common Vulnerability Scoring System (CVSS) score u A list of the affected platforms identified by their Common Platform Enumeration (CPE) Vulnerability Data Source.
  • 10. Steps to run u Extract the bat file obtained from link. u Go to bin. u Execute the command : Dependency.bat --format <HTML or PDF> --out “<Location for extracting report>” --scan “<location of jar/dependent files>” --project <name of report.> e.g. Dependency.bat --format HTML --out “C:UsersAdministratorDesktopSecurity Testing” --scan “C:UsersAdministratorDesktopSecurity Testing*.*” --project SecurityScannerToolCommand
  • 11. How to read the reports.
  • 12. Evidence based identification, issues and Remediation. u Identification : u Evidence is extracted from dependencies u File name, manifest, POM, package names, etc. u Evidence is grouped into Vendor, Product, and Version collections u Local copy of the NVD CVE is maintained u Lucene Index of the CPE information is created u Evidence collected is used to search the index and identify the library by CPE
  • 13. Evidence based identification, issues and Remediation. u Issues : u False Positives u Evidence extracted may cause incorrect identification u False Negatives u If key elements are not included in the dependency (e.g. jar, dll) the library will not be identified and may result in un- reported risk
  • 14. Library Identification and issues. u Identification : Reporting on known/published vulnerabilities requires the correct identification of the libraries used u Issues : u Development & Security use different identifiers u Development (GAV coordinates): u org.springframework:spring-core:3.2.0.RELEASE u Security uses Common Platform Enumeration (CPE): u cpe:/a:springsource:spring_framework:3.2.0 u cpe:/a:pivotal:spring_framework:3.2.0 u cpe:/a:pivotal_software:spring_framework:3.2.0 u No publicly available database exists to map between the two
  • 15. Dealing with False Positives u Invalid dependency identification can be resolved using a suppression file: <suppress> <notes><![CDATA[ This suppresses false positives identified on spring security. ]]></notes> <gav regex="true">org.springframework.security:spring.*</gav> <cpe>cpe:/a:mod_security:mod_security</cpe> <cpe>cpe:/a:springsource:spring_framework</cpe> <cpe>cpe:/a:vmware:springsource_spring_framework</cpe> </suppress>
  • 16. Enterprise Deployments. u Use a centralized database to maintain the local copy of the NVD u Single instance of dependency-check used to update u Scanning instances do not need to update u Use an internal Nexus instead of Maven Central u Run dependency-check within their CI u Continuous monitoring/reporting using OWASP dependency-check sonar plugin, OWASP dependency-track, or ThreadFix
  • 17. Use Cases for dependency-check u Prove the existence of the problem u Baseline test when conducting POCs with commercial solutions u OWASP dependency-check is used as the primary tool to identify known vulnerable components
  • 18. DEMO
  • 21. Getting Involved u Involvement in the development and promotion of dependency-check is actively encouraged! You do not have to be a security expert in order to contribute. How you can help: • Use the tool • Provide feedback via the mailing list or by creating github issues (both bugs and feature requests are encouraged) • The project source code is hosted on github - if you are so inclined fork it and provide push requests!
  • 22. References:- u https://www.owasp.org/index.php/OWASP_Dependency_Check u https://medium.com/@PrakhashS/checking-vulnerabilities-in-3rd-party- dependencies-using-owasp-dependency-check-plugin-in-jenkins-bedfe8de6ba8 u https://wiki.jenkins.io/display/JENKINS/OWASP+Dependency-Check+Plugin u OWASP dependency-check u http://jeremylong.github.io/DependencyCheck/ u OWASP dependency-track u https://github.com/stevespringett/dependency-track u OWASP dependency-check-sonar-plugin u https://github.com/stevespringett/dependency-check-sonar-plugin