SlideShare a Scribd company logo
Using Third Party Components for
Building an Application Might be More
Dangerous Than You Think!
Achim D. Brucker Fabio Massacci Stanislav Dashevskyi
Abstract
2
Today, nearly all developers rely on third party components for building an application. Thus, for most software vendors, third
party components in general and Free/Libre and Open Source Software (FLOSS) in particular, are an integral part of their
software supply chain.
As the security of a software offering, independently of the delivery model, depends on all components, a secure software supply
chain is of utmost importance. While this is true for both proprietary and as well as FLOSS components that are consumed,
FLOSS components impose particular challenges as well as provide unique opportunities. For example, on the one hand,
FLOSS licenses contain usually a very strong “no warranty” clause and no service-level agreement. On the other hand, FLOSS
licenses allow to modify the source code and, thus, to fix issues without depending on an (external) software vendor.
This talk is based on working on integrating securely third-party components in general, and FLOSS components in particular,
into the SAP's Security Development Lifecycle (SSDL). Thus, our experience covers a wide range of products (e.g., from small
mobile applications of a few thousands lines of code to large scale enterprise applications with more than a billion lines of code),
a wide range of software development models (ranging from traditional waterfall to agile software engineering to DevOps), as
well as a multiple deployment models (e.g., on premise products, custom hosting, or software-as-a-service).
About Us
Achim D. Brucker
• Senior Lecturer (Software Security), University of Sheffield, UK
• Software Security Consultant
• Until 12/2015: Security Testing Strategist at SAP SE, Germany
3
Stanislav Dashevskyi
• PhD Student at the University of Trento and SAP SE, France
Part I:
Securing The Software Supply Chain
or
The Security Risk of Third Party Components
Preparation Development UtilizationTransition
Start of development Release decision
Training
• Security
awareness
• Secure
programming
• Threat modeling
• Security static
analysis
• Data protection
and privacy
• Security expert
curriculum
Risk
Identification
•Security Risk
Identification
and
Management
(SECURIM)
•Data Privacy
Impact
Assessment
•Threat
Modeling
Plan Security
Measures
• Plan product
standard
compliance
• Plan security
features
• Plan security
tests
• Plan security
response
Secure
Development
• Secure
programming
• Static code scan
• Code review
Security
Testing
• Dynamic testing
• Manual testing
• External security
assessment
Security
Validation
• Independent
security
assessment
Security
Response
• Execute the
security response
plan
Secure Software Development
Source: SAP’s Security Development Lifecycle (S2DL)
Preparation Development UtilizationTransition
Start of development Release decision
Training
• Security
awareness
• Secure
programming
• Threat modeling
• Security static
analysis
• Data protection
and privacy
• Security expert
curriculum
Risk
Identification
•Security Risk
Identification
and
Management
(SECURIM)
•Data Privacy
Impact
Assessment
•Threat
Modeling
Plan Security
Measures
• Plan product
standard
compliance
• Plan security
features
• Plan security
tests
• Plan security
response
Secure
Development
• Secure
programming
• Static code scan
• Code review
Security
Testing
• Dynamic testing
• Manual testing
• External security
assessment
Security
Validation
• Independent
security
assessment
Security
Response
• Execute the
security response
plan
Secure Software Development
Source: SAP’s Security Development Lifecycle (S2DL)
Preparation Development UtilizationTransition
Start of development Release decision
• Many external dependencies
• Only control over a small part of the
source code
How We Develop Software Today
• Very few external dependencies
• Full control over source code
How We Used To Develop Software
The Maintenance Challenge
• > 90% of customers are using
the latest two releases
• > 50 % of customers are using
releases older 10 years
Product Release EoL Ext. EoL
Windows XP 2001 2009 2014
Windows 8 2012 2018 2023
SAP SRM 2006 2013 2016
Red Hat 2012 2020 2023
Tomcat 2007 2016 n/a
Preparation Development UtilizationTransition
Start of development Release decision
Training
• Security
awareness
• Secure
programming
• Threat modeling
• Security static
analysis
• Data protection
and privacy
• Security expert
curriculum
Risk
Identification
•Security Risk
Identification
and
Management
(SECURIM)
•Data Privacy
Impact
Assessment
•Threat
Modeling
Plan Security
Measures
• Plan product
standard
compliance
• Plan security
features
• Plan security
tests
• Plan security
response
Secure
Development
• Secure
programming
• Static code scan
• Code review
Security
Testing
• Dynamic testing
• Manual testing
• External security
assessment
Security
Validation
• Independent
security
assessment
Security
Response
• Execute the
security response
plan
Secure Software Development
Source: SAP’s Security Development Lifecycle (S2DL)
Third-party
• Bill of material
• Licensing
• Maintenance
Identify
• Risk and
• Mitigation strategies
of third-party software
Plan third-party specific
• security response
• security tests
Secure consumption
of third-party software
(API usage, etc.)
Test secure
consumption of third
party software and act
on found vulnerabilities
Assess secure
consumption of third-
party software
Monitor vulnerabilities
of third party software
and fix/upgrade
vulnerable versions
Types of Third-Party Software
Commercial Libraries
Outsourcing
Bespoke Software
Freeware
Free/Libre Open
Source Software
(FLOSS)
• Outsourcing
• SAP HANA
• Jabra Device Driver
• NVIDIA Device Driver
• Apache Tomcat
• JQuery
Upfront costs High Low Low
Ease of access
(for developers)
Hard Medium Easy
Modification of
Source Code
Depends on contract Impossible Possible
Support contract Easy Hard Medium
Types of Third-Party Software
Commercial Libraries
Outsourcing
Bespoke Software
Freeware
Free/Libre Open
Source Software
(FLOSS)
• Outsourcing
• SAP HANA
• Jabra Device Driver
• NVIDIA Device Driver
• Apache Tomcat
• JQuery
Upfront costs High Low Low
Ease of access
(for developers)
Hard Medium Easy
Modification of
Source Code
Depends on contract Impossible Possible
Support contract Easy Hard Medium
Data Sources
Public
 FOSS information repositories
 Open Hub (formerly Ohloh)
 Core Infrastructure Initiative (CII) Census project
 Public databases of vulnerabilities
 National Vulnerability Database (NVD)
 Exploit Database website (ExploitDB)
 Open Sourced Vulnerability Database (OSVDB)
 Project data
 Coverity FOSS scan service
 Source code repositories
Internal
 Software inventory (e.g., Black Duck Code Center as used by SAP)
FLOSS Usage At SAP
Based on the 166 most used FOSS components (as of autumn 2015)
Programming Languages
Java
C
JavaScript
PHP
C++
Other
Vulnerabilities (CVEs)
DoS
Code execution
Overflow
Bypass something
Gain information
XSS
Gain privileges
Directory traversal
Memory corruption
CSRF
Part II:
Security of Open Source Enterprise Frameworks
or
Assessing Risks and Planning Efforts of the Secure
Consumption of FLOSS
What We Want
https://www.flickr.com/photos/fimbrethil/4507848067/
1. How many vulnerabilities will be
published next year for component X?
2. How often do I need to ship a patch to fix
a vulnerability caused by component X?
Vulnerability Prediction?
Tomcat 6.x publicly known vulnerabilities (CVEs)
Vulnerability Prediction: Problems
• There is not enough data
• Number of vulnerabilities depends on:
Age of the project
Number of users
• Sometimes you simply have no choice…
Understanding Factors Is More
Critical Than Predictions
 When will a vulnerability appear in a FOSS component?
 We do not know
 Can we distinguish features of projects causing
"problems" for consuming software?
 We use maintenance effort of proprietary consumers to denote “problems”
 Does the ”security culture” of FOSS developers make a difference?
 Does is make a difference which main language/technology is used?
Which Factors Are Interesting?
 Collect all possible data, build a regression model to
asses the impact of each factor
 Can we use all data that is available?
 Actual Total #LoCs of a component
 Added Total #LoCs of a component
 Removed Total #LoCs of a component
 Changed Total #LoCs (added, removed, etc.)...
Relationships Between Factors
Different Maintenance Models
 60 products are using Apache Tomcat
 Requires a lot of expertise to resolve security issues
 It makes more sense to have a team of Apache Tomcat experts around
 2 products are using a small JavaScript library
 This does not require any major expertise
 However, if a company ends up using large number of products for which only the
“local” expertise exists, it may be problematic
Centralized Security Maintenance
 Policy: dev. teams must select only components widely used and
supported within a company
 A central team resolves vulnerabilities in all FOSS components and
pushes changes to all consumers
 The security maintenance effort scales logarithmically with the
number of products consuming a component
Distributed Security Maintenance
 Policy: each dev. team is free of selecting appropriate components
 Each team has to take care of security issues individually
 While this model should decrease the effort for organizational aspects
(not considered by us), it adds up for the technical part of the effort
Hybrid Security Maintenance
Part III:
Practical Recommendations On
Controling Risk & Effort Of Using Third Party Components
Secure Software Development Life Cycle
 Maintain a detailed software inventory
(Do not forget the dependencies)
 Actively monitor vulnerability databases
 Assess project specific risk of third-party components
Obtaining components (or sources)
 Download from trustworthy sources
(https, check signatures/checksums)
Strategies For Controlling Risks (1/2)
Project Selection
 Prefer projects with private bug trackers
 Evidences of a healthy/working SDLC
 Documented security fixes/patches
(no “secret” security fixes)
 Documented security guidelines
 Use of security testing tools
Strategies For Controlling Risks (2/2)
https://www.coreinfrastructure.org/programs
Secure Software Development Life Cycle
 Update early and often
 Avoid own forks
(collaborate with FLOSS community)
Project selection
 Large user base
 Active development community
 Technologies you are familiar with
 Compatible maintenance strategy/life cycle
 Smaller (in terms of code size) and less complex might be better
Strategies For Controlling Effort
Part IV:
Conclusion
Do not waste time with unimportant questions!
(Is FLOSS more/less secure as proprietary software)
Implement a secure consumption strategy:
• Risk assessment of third party consumption (at least security & licenses)
• Plan for the efforts of secure consumption
• Plan the efforts/costs for response and maintenance
Conclusion
Do not waste time with unimportant questions!
(Is FLOSS more/less secure as proprietary software)
Implement a secure consumption strategy:
• Risk assessment of third party consumption (at least security & licenses)
• Plan for the efforts of secure consumption
• Plan the efforts/costs for response and maintenance
Conclusion
Final advice:
• Accept that you can be hit by a “black swan” (e.g., heartbleed)
• If it happens:
• Concentrate on understanding and fixing the issue
• Understanding why you did not find the swan
earlier should not be your first priority
Achim D. Brucker
Department of Computer Science
University of Sheffield
Regent Court
211 Portobello St.
Sheffield S1 4DP, UK
https://de.linkedin.com/in/adbrucker
https://www.brucker.uk
https://www.logicalhacking.com
a.brucker@sheffield.ac.uk
Stanislav Dashevskyi
University of Trento
Scuola di dottorato in Informatica e Telecomunicazioni
Via Sommarive, 14
38123 Povo, Italy
https://st.fbk.eu/people/profile/dashevskyi
stanislav.dashevskyi@unitn.it
Contact:
Thank you!
Bibliography
 Stanislav Dashevskyi, Achim D. Brucker, and Fabio Massacci. On the Security Cost of Using a Free and Open
Source Component in a Proprietary Product. In International Symposium on Engineering Secure Software and
Systems (ESSoS). Lecture Notes in Computer Science 9639, Springer-Verlag, 2016.
https://www.brucker.ch/bibliography/abstract/dashevskyi.ea-foss-costs-2016.en.html
 Ruediger Bachmann and Achim D. Brucker. Developing Secure Software: A Holistic Approach to Security Testing.
In Datenschutz und Datensicherheit (DuD), 38 (4), pages 257-261, 2014.
https://www.brucker.ch/bibliography/abstract/bachmann.ea-security-testing-2014.en.html
 Achim D. Brucker and Uwe Sodan. Deploying Static Application Security Testing on a Large Scale. In GI
Sicherheit 2014. Lecture Notes in Informatics, 228, pages 91-101, GI, 2014.
https://www.brucker.ch/bibliography/abstract/brucker.ea-sast-expierences-2014.en.html
 Achim D. Brucker. Bringing Security Testing To Development: How To Enable Developers To Act As Security
Experts, OWASP AppSecEU 2015. https://youtu.be/LZoz4cv0MAg
https://www.brucker.ch/bibliography/abstract/talk-brucker.ea-owasp-sectest-2015.en.html
36

More Related Content

What's hot (20)

PDF
Remediation Statistics: What Does Fixing Application Vulnerabilities Cost?
Denim Group
 
PPTX
Security Champions - Introduce them in your Organisation
Ives Laaf
 
PPT
Introducing: Klocwork Insight Pro | November 2009
Klocwork
 
PPTX
What Good is this Tool? A Guide to Choosing the Right Application Security Te...
Kevin Fealey
 
PPTX
Implementing an Application Security Pipeline in Jenkins
Suman Sourav
 
PDF
Introduction to the CII Badge Programe, OW2con'16, Paris.
OW2
 
PPTX
Product Security
Steven Carlson
 
PPTX
Red7 Software Application Security Threat Modeling
Robert Grupe, CSSLP CISSP PE PMP
 
PDF
Create code confidence for better application security
Rogue Wave Software
 
PDF
Using threat models to control project brief
Dinis Cruz
 
PDF
AppsSec In a DevOps World
Parasoft
 
PDF
A Successful SAST Tool Implementation
Checkmarx
 
PPTX
Secure Software Development Life Cycle
Maurice Dawson
 
PDF
RSA 2015 Blending the Automated and the Manual: Making Application Vulnerabil...
Denim Group
 
PDF
Secure Agile SDLC BSides 14 - 2017 - Raphael Denipotti
Raphael Denipotti
 
PDF
4 approaches to integrate dev secops in development cycle
Enov8
 
PDF
Secure Coding and Threat Modeling
Miriam Celi, CISSP, GISP, MSCS, MBA
 
PPTX
Programming languages and techniques for today’s embedded andIoT world
Rogue Wave Software
 
PDF
Security's DevOps Transformation
Michele Chubirka
 
PDF
A Warrior's Journey: Building a Global AppSec Program - OWASP Global AppSec 2020
Brian Levine
 
Remediation Statistics: What Does Fixing Application Vulnerabilities Cost?
Denim Group
 
Security Champions - Introduce them in your Organisation
Ives Laaf
 
Introducing: Klocwork Insight Pro | November 2009
Klocwork
 
What Good is this Tool? A Guide to Choosing the Right Application Security Te...
Kevin Fealey
 
Implementing an Application Security Pipeline in Jenkins
Suman Sourav
 
Introduction to the CII Badge Programe, OW2con'16, Paris.
OW2
 
Product Security
Steven Carlson
 
Red7 Software Application Security Threat Modeling
Robert Grupe, CSSLP CISSP PE PMP
 
Create code confidence for better application security
Rogue Wave Software
 
Using threat models to control project brief
Dinis Cruz
 
AppsSec In a DevOps World
Parasoft
 
A Successful SAST Tool Implementation
Checkmarx
 
Secure Software Development Life Cycle
Maurice Dawson
 
RSA 2015 Blending the Automated and the Manual: Making Application Vulnerabil...
Denim Group
 
Secure Agile SDLC BSides 14 - 2017 - Raphael Denipotti
Raphael Denipotti
 
4 approaches to integrate dev secops in development cycle
Enov8
 
Secure Coding and Threat Modeling
Miriam Celi, CISSP, GISP, MSCS, MBA
 
Programming languages and techniques for today’s embedded andIoT world
Rogue Wave Software
 
Security's DevOps Transformation
Michele Chubirka
 
A Warrior's Journey: Building a Global AppSec Program - OWASP Global AppSec 2020
Brian Levine
 

Viewers also liked (16)

PPTX
Security Vulnerabilities in Third Party Code - Fix All the Things!
Kymberlee Price
 
PPTX
Developer guidelines for using third-party code
Epic
 
PDF
AtomPub, beyond blogs
Mohan Krishnan
 
PDF
Developing Secure Software: Experiences From an International Software Vendor
Achim D. Brucker
 
PPSX
Introduction to threat_modeling
Prabath Siriwardena
 
PDF
Microsoft Windows Azure - Security Best Practices for Developing Windows Azur...
Microsoft Private Cloud
 
PPT
Agile Software Security
Futurice
 
PDF
Software development lifecycle: final security review and automatization, Tar...
OWASP Russia
 
PPTX
Security best practices
AVEVA
 
PPTX
Security in the Development Lifecycle - lessons learned
Boaz Shunami
 
PDF
Security Building Blocks of the IBM Cloud Computing Reference Architecture
Stefaan Van daele
 
PDF
XPDS13: Erlang on Xen - Redefining the Cloud Software Stack - Victor Sovietov...
The Linux Foundation
 
PDF
Securing the Cloud Native Stack
Apcera
 
PDF
Serverless Security: Are you ready for the Future?
James Wickett
 
PPTX
Rest API Security
Stormpath
 
PPT
DHS ICS Security Presentation
guest85a34f
 
Security Vulnerabilities in Third Party Code - Fix All the Things!
Kymberlee Price
 
Developer guidelines for using third-party code
Epic
 
AtomPub, beyond blogs
Mohan Krishnan
 
Developing Secure Software: Experiences From an International Software Vendor
Achim D. Brucker
 
Introduction to threat_modeling
Prabath Siriwardena
 
Microsoft Windows Azure - Security Best Practices for Developing Windows Azur...
Microsoft Private Cloud
 
Agile Software Security
Futurice
 
Software development lifecycle: final security review and automatization, Tar...
OWASP Russia
 
Security best practices
AVEVA
 
Security in the Development Lifecycle - lessons learned
Boaz Shunami
 
Security Building Blocks of the IBM Cloud Computing Reference Architecture
Stefaan Van daele
 
XPDS13: Erlang on Xen - Redefining the Cloud Software Stack - Victor Sovietov...
The Linux Foundation
 
Securing the Cloud Native Stack
Apcera
 
Serverless Security: Are you ready for the Future?
James Wickett
 
Rest API Security
Stormpath
 
DHS ICS Security Presentation
guest85a34f
 
Ad

Similar to Using Third Party Components for Building an Application Might be More Dangerous Than You Think! (20)

PPTX
7 Reasons Your Applications are Attractive to Adversaries
Derek E. Weeks
 
PPTX
Aliens in Your Apps! Are You Using Components With Known Vulnerabilities?
Sonatype
 
PDF
White Paper: 7 Security Gaps in the Neglected 90% of your Applications
Sonatype
 
PPT
Software Security in the Real World
Mark Curphey
 
PDF
Aliens in Your Apps!
All Things Open
 
PDF
Security in open source projects
Jose Manuel Ortega Candel
 
PPTX
Open Source Insight: AppSec for DevOps, Open Source vs Proprietary, Malicious...
Black Duck by Synopsys
 
PPTX
Managing Open Source in Application Security and Software Development Lifecycle
Black Duck by Synopsys
 
PDF
AppSec in an Agile World
David Lindner
 
PDF
eb-The-State-of-API-Security.pdf
Sajid Ali
 
PDF
SFScon 2020 - Ivan Pashchenko - Learning from Developers How to Make Dependen...
South Tyrol Free Software Conference
 
PPTX
Secure application deployment in the age of continuous delivery
Tim Mackey
 
PPTX
Secure application deployment in the age of continuous delivery
Black Duck by Synopsys
 
PPTX
5 Ways to Reduce 3rd Party Developer Risk
Security Innovation
 
PDF
Sonatype's 2013 OSS Software Survey
Sonatype
 
PPTX
Reduce Third Party Developer Risks
Kevo Meehan
 
PDF
Filling your AppSec Toolbox - Which Tools, When to Use Them, and Why
Black Duck by Synopsys
 
PPTX
Turning security into code by Jeff Williams
DevSecCon
 
PPTX
2019 04-18 -DevSecOps-software supply chain
Cameron Townshend
 
PPTX
September 13, 2016: Security in the Age of Open Source:
Black Duck by Synopsys
 
7 Reasons Your Applications are Attractive to Adversaries
Derek E. Weeks
 
Aliens in Your Apps! Are You Using Components With Known Vulnerabilities?
Sonatype
 
White Paper: 7 Security Gaps in the Neglected 90% of your Applications
Sonatype
 
Software Security in the Real World
Mark Curphey
 
Aliens in Your Apps!
All Things Open
 
Security in open source projects
Jose Manuel Ortega Candel
 
Open Source Insight: AppSec for DevOps, Open Source vs Proprietary, Malicious...
Black Duck by Synopsys
 
Managing Open Source in Application Security and Software Development Lifecycle
Black Duck by Synopsys
 
AppSec in an Agile World
David Lindner
 
eb-The-State-of-API-Security.pdf
Sajid Ali
 
SFScon 2020 - Ivan Pashchenko - Learning from Developers How to Make Dependen...
South Tyrol Free Software Conference
 
Secure application deployment in the age of continuous delivery
Tim Mackey
 
Secure application deployment in the age of continuous delivery
Black Duck by Synopsys
 
5 Ways to Reduce 3rd Party Developer Risk
Security Innovation
 
Sonatype's 2013 OSS Software Survey
Sonatype
 
Reduce Third Party Developer Risks
Kevo Meehan
 
Filling your AppSec Toolbox - Which Tools, When to Use Them, and Why
Black Duck by Synopsys
 
Turning security into code by Jeff Williams
DevSecCon
 
2019 04-18 -DevSecOps-software supply chain
Cameron Townshend
 
September 13, 2016: Security in the Age of Open Source:
Black Duck by Synopsys
 
Ad

More from Achim D. Brucker (19)

PDF
Usable Security for Developers: A Nightmare
Achim D. Brucker
 
PDF
Formalizing (Web) Standards: An Application of Test and Proof
Achim D. Brucker
 
PDF
Your (not so) smart TV is currently busy with taking down the Internet
Achim D. Brucker
 
PDF
Combining the Security Risks of Native and Web Development: Hybrid Apps
Achim D. Brucker
 
PDF
The Evil Friend in Your Browser
Achim D. Brucker
 
PDF
How to Enable Developers to Deliver Secure Code
Achim D. Brucker
 
PDF
Isabelle: Not Only a Proof Assistant
Achim D. Brucker
 
PDF
Bringing Security Testing to Development: How to Enable Developers to Act as ...
Achim D. Brucker
 
PDF
Security Testing: Myths, Challenges, and Opportunities - Experiences in Integ...
Achim D. Brucker
 
PDF
Industrial Challenges of Secure Software Development
Achim D. Brucker
 
PDF
SAST for JavaScript: A Brief Overview of Commercial Tools
Achim D. Brucker
 
PDF
A Collection of Real World (JavaScript) Security Problems: Examples from 2 1/...
Achim D. Brucker
 
PDF
Deploying Static Application Security Testing on a Large Scale
Achim D. Brucker
 
PDF
Model-based Conformance Testing of Security Properties
Achim D. Brucker
 
PDF
Service Compositions: Curse or Blessing for Security?
Achim D. Brucker
 
PDF
Encoding Object-oriented Datatypes in HOL: Extensible Records Revisited
Achim D. Brucker
 
PDF
A Framework for Secure Service Composition
Achim D. Brucker
 
PDF
Extending Access Control Models with Break-glass
Achim D. Brucker
 
PDF
Security in the Context of Business Processes: Thoughts from a System Vendor'...
Achim D. Brucker
 
Usable Security for Developers: A Nightmare
Achim D. Brucker
 
Formalizing (Web) Standards: An Application of Test and Proof
Achim D. Brucker
 
Your (not so) smart TV is currently busy with taking down the Internet
Achim D. Brucker
 
Combining the Security Risks of Native and Web Development: Hybrid Apps
Achim D. Brucker
 
The Evil Friend in Your Browser
Achim D. Brucker
 
How to Enable Developers to Deliver Secure Code
Achim D. Brucker
 
Isabelle: Not Only a Proof Assistant
Achim D. Brucker
 
Bringing Security Testing to Development: How to Enable Developers to Act as ...
Achim D. Brucker
 
Security Testing: Myths, Challenges, and Opportunities - Experiences in Integ...
Achim D. Brucker
 
Industrial Challenges of Secure Software Development
Achim D. Brucker
 
SAST for JavaScript: A Brief Overview of Commercial Tools
Achim D. Brucker
 
A Collection of Real World (JavaScript) Security Problems: Examples from 2 1/...
Achim D. Brucker
 
Deploying Static Application Security Testing on a Large Scale
Achim D. Brucker
 
Model-based Conformance Testing of Security Properties
Achim D. Brucker
 
Service Compositions: Curse or Blessing for Security?
Achim D. Brucker
 
Encoding Object-oriented Datatypes in HOL: Extensible Records Revisited
Achim D. Brucker
 
A Framework for Secure Service Composition
Achim D. Brucker
 
Extending Access Control Models with Break-glass
Achim D. Brucker
 
Security in the Context of Business Processes: Thoughts from a System Vendor'...
Achim D. Brucker
 

Recently uploaded (20)

PDF
Transforming Utility Networks: Large-scale Data Migrations with FME
Safe Software
 
DOCX
Cryptography Quiz: test your knowledge of this important security concept.
Rajni Bhardwaj Grover
 
PDF
July Patch Tuesday
Ivanti
 
PPTX
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
PDF
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
PDF
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
PDF
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
PDF
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
PDF
Jak MŚP w Europie Środkowo-Wschodniej odnajdują się w świecie AI
dominikamizerska1
 
PDF
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
PDF
IoT-Powered Industrial Transformation – Smart Manufacturing to Connected Heal...
Rejig Digital
 
PPTX
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
PDF
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
PDF
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
PPTX
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
PPTX
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
PDF
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
PDF
"AI Transformation: Directions and Challenges", Pavlo Shaternik
Fwdays
 
PDF
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
PPTX
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
Transforming Utility Networks: Large-scale Data Migrations with FME
Safe Software
 
Cryptography Quiz: test your knowledge of this important security concept.
Rajni Bhardwaj Grover
 
July Patch Tuesday
Ivanti
 
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
Jak MŚP w Europie Środkowo-Wschodniej odnajdują się w świecie AI
dominikamizerska1
 
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
IoT-Powered Industrial Transformation – Smart Manufacturing to Connected Heal...
Rejig Digital
 
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
"AI Transformation: Directions and Challenges", Pavlo Shaternik
Fwdays
 
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 

Using Third Party Components for Building an Application Might be More Dangerous Than You Think!

  • 1. Using Third Party Components for Building an Application Might be More Dangerous Than You Think! Achim D. Brucker Fabio Massacci Stanislav Dashevskyi
  • 2. Abstract 2 Today, nearly all developers rely on third party components for building an application. Thus, for most software vendors, third party components in general and Free/Libre and Open Source Software (FLOSS) in particular, are an integral part of their software supply chain. As the security of a software offering, independently of the delivery model, depends on all components, a secure software supply chain is of utmost importance. While this is true for both proprietary and as well as FLOSS components that are consumed, FLOSS components impose particular challenges as well as provide unique opportunities. For example, on the one hand, FLOSS licenses contain usually a very strong “no warranty” clause and no service-level agreement. On the other hand, FLOSS licenses allow to modify the source code and, thus, to fix issues without depending on an (external) software vendor. This talk is based on working on integrating securely third-party components in general, and FLOSS components in particular, into the SAP's Security Development Lifecycle (SSDL). Thus, our experience covers a wide range of products (e.g., from small mobile applications of a few thousands lines of code to large scale enterprise applications with more than a billion lines of code), a wide range of software development models (ranging from traditional waterfall to agile software engineering to DevOps), as well as a multiple deployment models (e.g., on premise products, custom hosting, or software-as-a-service).
  • 3. About Us Achim D. Brucker • Senior Lecturer (Software Security), University of Sheffield, UK • Software Security Consultant • Until 12/2015: Security Testing Strategist at SAP SE, Germany 3 Stanislav Dashevskyi • PhD Student at the University of Trento and SAP SE, France
  • 4. Part I: Securing The Software Supply Chain or The Security Risk of Third Party Components
  • 5. Preparation Development UtilizationTransition Start of development Release decision Training • Security awareness • Secure programming • Threat modeling • Security static analysis • Data protection and privacy • Security expert curriculum Risk Identification •Security Risk Identification and Management (SECURIM) •Data Privacy Impact Assessment •Threat Modeling Plan Security Measures • Plan product standard compliance • Plan security features • Plan security tests • Plan security response Secure Development • Secure programming • Static code scan • Code review Security Testing • Dynamic testing • Manual testing • External security assessment Security Validation • Independent security assessment Security Response • Execute the security response plan Secure Software Development Source: SAP’s Security Development Lifecycle (S2DL)
  • 6. Preparation Development UtilizationTransition Start of development Release decision Training • Security awareness • Secure programming • Threat modeling • Security static analysis • Data protection and privacy • Security expert curriculum Risk Identification •Security Risk Identification and Management (SECURIM) •Data Privacy Impact Assessment •Threat Modeling Plan Security Measures • Plan product standard compliance • Plan security features • Plan security tests • Plan security response Secure Development • Secure programming • Static code scan • Code review Security Testing • Dynamic testing • Manual testing • External security assessment Security Validation • Independent security assessment Security Response • Execute the security response plan Secure Software Development Source: SAP’s Security Development Lifecycle (S2DL) Preparation Development UtilizationTransition Start of development Release decision • Many external dependencies • Only control over a small part of the source code How We Develop Software Today • Very few external dependencies • Full control over source code How We Used To Develop Software
  • 7. The Maintenance Challenge • > 90% of customers are using the latest two releases • > 50 % of customers are using releases older 10 years Product Release EoL Ext. EoL Windows XP 2001 2009 2014 Windows 8 2012 2018 2023 SAP SRM 2006 2013 2016 Red Hat 2012 2020 2023 Tomcat 2007 2016 n/a
  • 8. Preparation Development UtilizationTransition Start of development Release decision Training • Security awareness • Secure programming • Threat modeling • Security static analysis • Data protection and privacy • Security expert curriculum Risk Identification •Security Risk Identification and Management (SECURIM) •Data Privacy Impact Assessment •Threat Modeling Plan Security Measures • Plan product standard compliance • Plan security features • Plan security tests • Plan security response Secure Development • Secure programming • Static code scan • Code review Security Testing • Dynamic testing • Manual testing • External security assessment Security Validation • Independent security assessment Security Response • Execute the security response plan Secure Software Development Source: SAP’s Security Development Lifecycle (S2DL) Third-party • Bill of material • Licensing • Maintenance Identify • Risk and • Mitigation strategies of third-party software Plan third-party specific • security response • security tests Secure consumption of third-party software (API usage, etc.) Test secure consumption of third party software and act on found vulnerabilities Assess secure consumption of third- party software Monitor vulnerabilities of third party software and fix/upgrade vulnerable versions
  • 9. Types of Third-Party Software Commercial Libraries Outsourcing Bespoke Software Freeware Free/Libre Open Source Software (FLOSS) • Outsourcing • SAP HANA • Jabra Device Driver • NVIDIA Device Driver • Apache Tomcat • JQuery Upfront costs High Low Low Ease of access (for developers) Hard Medium Easy Modification of Source Code Depends on contract Impossible Possible Support contract Easy Hard Medium
  • 10. Types of Third-Party Software Commercial Libraries Outsourcing Bespoke Software Freeware Free/Libre Open Source Software (FLOSS) • Outsourcing • SAP HANA • Jabra Device Driver • NVIDIA Device Driver • Apache Tomcat • JQuery Upfront costs High Low Low Ease of access (for developers) Hard Medium Easy Modification of Source Code Depends on contract Impossible Possible Support contract Easy Hard Medium
  • 11. Data Sources Public  FOSS information repositories  Open Hub (formerly Ohloh)  Core Infrastructure Initiative (CII) Census project  Public databases of vulnerabilities  National Vulnerability Database (NVD)  Exploit Database website (ExploitDB)  Open Sourced Vulnerability Database (OSVDB)  Project data  Coverity FOSS scan service  Source code repositories Internal  Software inventory (e.g., Black Duck Code Center as used by SAP)
  • 12. FLOSS Usage At SAP Based on the 166 most used FOSS components (as of autumn 2015) Programming Languages Java C JavaScript PHP C++ Other Vulnerabilities (CVEs) DoS Code execution Overflow Bypass something Gain information XSS Gain privileges Directory traversal Memory corruption CSRF
  • 13. Part II: Security of Open Source Enterprise Frameworks or Assessing Risks and Planning Efforts of the Secure Consumption of FLOSS
  • 14. What We Want https://www.flickr.com/photos/fimbrethil/4507848067/ 1. How many vulnerabilities will be published next year for component X? 2. How often do I need to ship a patch to fix a vulnerability caused by component X?
  • 15. Vulnerability Prediction? Tomcat 6.x publicly known vulnerabilities (CVEs)
  • 16. Vulnerability Prediction: Problems • There is not enough data • Number of vulnerabilities depends on: Age of the project Number of users • Sometimes you simply have no choice…
  • 17. Understanding Factors Is More Critical Than Predictions  When will a vulnerability appear in a FOSS component?  We do not know  Can we distinguish features of projects causing "problems" for consuming software?  We use maintenance effort of proprietary consumers to denote “problems”  Does the ”security culture” of FOSS developers make a difference?  Does is make a difference which main language/technology is used?
  • 18. Which Factors Are Interesting?  Collect all possible data, build a regression model to asses the impact of each factor  Can we use all data that is available?  Actual Total #LoCs of a component  Added Total #LoCs of a component  Removed Total #LoCs of a component  Changed Total #LoCs (added, removed, etc.)...
  • 20. Different Maintenance Models  60 products are using Apache Tomcat  Requires a lot of expertise to resolve security issues  It makes more sense to have a team of Apache Tomcat experts around  2 products are using a small JavaScript library  This does not require any major expertise  However, if a company ends up using large number of products for which only the “local” expertise exists, it may be problematic
  • 21. Centralized Security Maintenance  Policy: dev. teams must select only components widely used and supported within a company  A central team resolves vulnerabilities in all FOSS components and pushes changes to all consumers  The security maintenance effort scales logarithmically with the number of products consuming a component
  • 22. Distributed Security Maintenance  Policy: each dev. team is free of selecting appropriate components  Each team has to take care of security issues individually  While this model should decrease the effort for organizational aspects (not considered by us), it adds up for the technical part of the effort
  • 24. Part III: Practical Recommendations On Controling Risk & Effort Of Using Third Party Components
  • 25. Secure Software Development Life Cycle  Maintain a detailed software inventory (Do not forget the dependencies)  Actively monitor vulnerability databases  Assess project specific risk of third-party components Obtaining components (or sources)  Download from trustworthy sources (https, check signatures/checksums) Strategies For Controlling Risks (1/2)
  • 26. Project Selection  Prefer projects with private bug trackers  Evidences of a healthy/working SDLC  Documented security fixes/patches (no “secret” security fixes)  Documented security guidelines  Use of security testing tools Strategies For Controlling Risks (2/2) https://www.coreinfrastructure.org/programs
  • 27. Secure Software Development Life Cycle  Update early and often  Avoid own forks (collaborate with FLOSS community) Project selection  Large user base  Active development community  Technologies you are familiar with  Compatible maintenance strategy/life cycle  Smaller (in terms of code size) and less complex might be better Strategies For Controlling Effort
  • 29. Do not waste time with unimportant questions! (Is FLOSS more/less secure as proprietary software) Implement a secure consumption strategy: • Risk assessment of third party consumption (at least security & licenses) • Plan for the efforts of secure consumption • Plan the efforts/costs for response and maintenance Conclusion
  • 30. Do not waste time with unimportant questions! (Is FLOSS more/less secure as proprietary software) Implement a secure consumption strategy: • Risk assessment of third party consumption (at least security & licenses) • Plan for the efforts of secure consumption • Plan the efforts/costs for response and maintenance Conclusion Final advice: • Accept that you can be hit by a “black swan” (e.g., heartbleed) • If it happens: • Concentrate on understanding and fixing the issue • Understanding why you did not find the swan earlier should not be your first priority
  • 31. Achim D. Brucker Department of Computer Science University of Sheffield Regent Court 211 Portobello St. Sheffield S1 4DP, UK https://de.linkedin.com/in/adbrucker https://www.brucker.uk https://www.logicalhacking.com [email protected] Stanislav Dashevskyi University of Trento Scuola di dottorato in Informatica e Telecomunicazioni Via Sommarive, 14 38123 Povo, Italy https://st.fbk.eu/people/profile/dashevskyi [email protected] Contact: Thank you!
  • 32. Bibliography  Stanislav Dashevskyi, Achim D. Brucker, and Fabio Massacci. On the Security Cost of Using a Free and Open Source Component in a Proprietary Product. In International Symposium on Engineering Secure Software and Systems (ESSoS). Lecture Notes in Computer Science 9639, Springer-Verlag, 2016. https://www.brucker.ch/bibliography/abstract/dashevskyi.ea-foss-costs-2016.en.html  Ruediger Bachmann and Achim D. Brucker. Developing Secure Software: A Holistic Approach to Security Testing. In Datenschutz und Datensicherheit (DuD), 38 (4), pages 257-261, 2014. https://www.brucker.ch/bibliography/abstract/bachmann.ea-security-testing-2014.en.html  Achim D. Brucker and Uwe Sodan. Deploying Static Application Security Testing on a Large Scale. In GI Sicherheit 2014. Lecture Notes in Informatics, 228, pages 91-101, GI, 2014. https://www.brucker.ch/bibliography/abstract/brucker.ea-sast-expierences-2014.en.html  Achim D. Brucker. Bringing Security Testing To Development: How To Enable Developers To Act As Security Experts, OWASP AppSecEU 2015. https://youtu.be/LZoz4cv0MAg https://www.brucker.ch/bibliography/abstract/talk-brucker.ea-owasp-sectest-2015.en.html 36