SlideShare une entreprise Scribd logo
1  sur  32
Télécharger pour lire hors ligne
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

Contenu connexe

Tendances

Remediation Statistics: What Does Fixing Application Vulnerabilities Cost?
Remediation Statistics: What Does Fixing Application Vulnerabilities Cost?Remediation Statistics: What Does Fixing Application Vulnerabilities Cost?
Remediation Statistics: What Does Fixing Application Vulnerabilities Cost?Denim Group
 
Security Champions - Introduce them in your Organisation
Security Champions - Introduce them in your OrganisationSecurity Champions - Introduce them in your Organisation
Security Champions - Introduce them in your OrganisationIves Laaf
 
Introducing: Klocwork Insight Pro | November 2009
Introducing: Klocwork Insight Pro | November 2009Introducing: Klocwork Insight Pro | November 2009
Introducing: Klocwork Insight Pro | November 2009Klocwork
 
What Good is this Tool? A Guide to Choosing the Right Application Security Te...
What Good is this Tool? A Guide to Choosing the Right Application Security Te...What Good is this Tool? A Guide to Choosing the Right Application Security Te...
What Good is this Tool? A Guide to Choosing the Right Application Security Te...Kevin Fealey
 
Implementing an Application Security Pipeline in Jenkins
Implementing an Application Security Pipeline in JenkinsImplementing an Application Security Pipeline in Jenkins
Implementing an Application Security Pipeline in JenkinsSuman Sourav
 
Introduction to the CII Badge Programe, OW2con'16, Paris.
Introduction to the CII Badge Programe, OW2con'16, Paris. Introduction to the CII Badge Programe, OW2con'16, Paris.
Introduction to the CII Badge Programe, OW2con'16, Paris. OW2
 
Create code confidence for better application security
Create code confidence for better application security Create code confidence for better application security
Create code confidence for better application security Rogue Wave Software
 
Using threat models to control project brief
Using threat models to control project briefUsing threat models to control project brief
Using threat models to control project briefDinis Cruz
 
AppsSec In a DevOps World
AppsSec In a DevOps WorldAppsSec In a DevOps World
AppsSec In a DevOps WorldParasoft
 
A Successful SAST Tool Implementation
A Successful SAST Tool ImplementationA Successful SAST Tool Implementation
A Successful SAST Tool ImplementationCheckmarx
 
Secure Software Development Life Cycle
Secure Software Development Life CycleSecure Software Development Life Cycle
Secure Software Development Life CycleMaurice Dawson
 
RSA 2015 Blending the Automated and the Manual: Making Application Vulnerabil...
RSA 2015 Blending the Automated and the Manual: Making Application Vulnerabil...RSA 2015 Blending the Automated and the Manual: Making Application Vulnerabil...
RSA 2015 Blending the Automated and the Manual: Making Application Vulnerabil...Denim Group
 
Secure Agile SDLC BSides 14 - 2017 - Raphael Denipotti
Secure Agile SDLC BSides 14 - 2017 - Raphael DenipottiSecure Agile SDLC BSides 14 - 2017 - Raphael Denipotti
Secure Agile SDLC BSides 14 - 2017 - Raphael DenipottiRaphael Denipotti
 
4 approaches to integrate dev secops in development cycle
4 approaches to integrate dev secops in development cycle4 approaches to integrate dev secops in development cycle
4 approaches to integrate dev secops in development cycleEnov8
 
Programming languages and techniques for today’s embedded andIoT world
Programming languages and techniques for today’s embedded andIoT worldProgramming languages and techniques for today’s embedded andIoT world
Programming languages and techniques for today’s embedded andIoT worldRogue Wave Software
 
Security's DevOps Transformation
Security's DevOps TransformationSecurity's DevOps Transformation
Security's DevOps TransformationMichele Chubirka
 
A Warrior's Journey: Building a Global AppSec Program - OWASP Global AppSec 2020
A Warrior's Journey: Building a Global AppSec Program - OWASP Global AppSec 2020A Warrior's Journey: Building a Global AppSec Program - OWASP Global AppSec 2020
A Warrior's Journey: Building a Global AppSec Program - OWASP Global AppSec 2020Brian Levine
 

Tendances (20)

Remediation Statistics: What Does Fixing Application Vulnerabilities Cost?
Remediation Statistics: What Does Fixing Application Vulnerabilities Cost?Remediation Statistics: What Does Fixing Application Vulnerabilities Cost?
Remediation Statistics: What Does Fixing Application Vulnerabilities Cost?
 
Security Champions - Introduce them in your Organisation
Security Champions - Introduce them in your OrganisationSecurity Champions - Introduce them in your Organisation
Security Champions - Introduce them in your Organisation
 
Introducing: Klocwork Insight Pro | November 2009
Introducing: Klocwork Insight Pro | November 2009Introducing: Klocwork Insight Pro | November 2009
Introducing: Klocwork Insight Pro | November 2009
 
What Good is this Tool? A Guide to Choosing the Right Application Security Te...
What Good is this Tool? A Guide to Choosing the Right Application Security Te...What Good is this Tool? A Guide to Choosing the Right Application Security Te...
What Good is this Tool? A Guide to Choosing the Right Application Security Te...
 
Implementing an Application Security Pipeline in Jenkins
Implementing an Application Security Pipeline in JenkinsImplementing an Application Security Pipeline in Jenkins
Implementing an Application Security Pipeline in Jenkins
 
Introduction to the CII Badge Programe, OW2con'16, Paris.
Introduction to the CII Badge Programe, OW2con'16, Paris. Introduction to the CII Badge Programe, OW2con'16, Paris.
Introduction to the CII Badge Programe, OW2con'16, Paris.
 
Product Security
Product SecurityProduct Security
Product Security
 
Red7 Software Application Security Threat Modeling
Red7 Software Application Security Threat ModelingRed7 Software Application Security Threat Modeling
Red7 Software Application Security Threat Modeling
 
Create code confidence for better application security
Create code confidence for better application security Create code confidence for better application security
Create code confidence for better application security
 
Using threat models to control project brief
Using threat models to control project briefUsing threat models to control project brief
Using threat models to control project brief
 
AppsSec In a DevOps World
AppsSec In a DevOps WorldAppsSec In a DevOps World
AppsSec In a DevOps World
 
A Successful SAST Tool Implementation
A Successful SAST Tool ImplementationA Successful SAST Tool Implementation
A Successful SAST Tool Implementation
 
Secure Software Development Life Cycle
Secure Software Development Life CycleSecure Software Development Life Cycle
Secure Software Development Life Cycle
 
RSA 2015 Blending the Automated and the Manual: Making Application Vulnerabil...
RSA 2015 Blending the Automated and the Manual: Making Application Vulnerabil...RSA 2015 Blending the Automated and the Manual: Making Application Vulnerabil...
RSA 2015 Blending the Automated and the Manual: Making Application Vulnerabil...
 
Secure Agile SDLC BSides 14 - 2017 - Raphael Denipotti
Secure Agile SDLC BSides 14 - 2017 - Raphael DenipottiSecure Agile SDLC BSides 14 - 2017 - Raphael Denipotti
Secure Agile SDLC BSides 14 - 2017 - Raphael Denipotti
 
4 approaches to integrate dev secops in development cycle
4 approaches to integrate dev secops in development cycle4 approaches to integrate dev secops in development cycle
4 approaches to integrate dev secops in development cycle
 
Secure Coding and Threat Modeling
Secure Coding and Threat ModelingSecure Coding and Threat Modeling
Secure Coding and Threat Modeling
 
Programming languages and techniques for today’s embedded andIoT world
Programming languages and techniques for today’s embedded andIoT worldProgramming languages and techniques for today’s embedded andIoT world
Programming languages and techniques for today’s embedded andIoT world
 
Security's DevOps Transformation
Security's DevOps TransformationSecurity's DevOps Transformation
Security's DevOps Transformation
 
A Warrior's Journey: Building a Global AppSec Program - OWASP Global AppSec 2020
A Warrior's Journey: Building a Global AppSec Program - OWASP Global AppSec 2020A Warrior's Journey: Building a Global AppSec Program - OWASP Global AppSec 2020
A Warrior's Journey: Building a Global AppSec Program - OWASP Global AppSec 2020
 

En vedette

Security Vulnerabilities in Third Party Code - Fix All the Things!
Security Vulnerabilities in Third Party Code - Fix All the Things! Security Vulnerabilities in Third Party Code - Fix All the Things!
Security Vulnerabilities in Third Party Code - Fix All the Things! Kymberlee Price
 
Developer guidelines for using third-party code
Developer guidelines for using third-party codeDeveloper guidelines for using third-party code
Developer guidelines for using third-party codeEpic
 
Developing Secure Software: Experiences From an International Software Vendor
Developing Secure Software: Experiences From an International Software VendorDeveloping Secure Software: Experiences From an International Software Vendor
Developing Secure Software: Experiences From an International Software VendorAchim D. Brucker
 
Microsoft Windows Azure - Security Best Practices for Developing Windows Azur...
Microsoft Windows Azure - Security Best Practices for Developing Windows Azur...Microsoft Windows Azure - Security Best Practices for Developing Windows Azur...
Microsoft Windows Azure - Security Best Practices for Developing Windows Azur...Microsoft Private Cloud
 
Agile Software Security
Agile Software SecurityAgile Software Security
Agile Software SecurityFuturice
 
Software development lifecycle: final security review and automatization, Tar...
Software development lifecycle: final security review and automatization, Tar...Software development lifecycle: final security review and automatization, Tar...
Software development lifecycle: final security review and automatization, Tar...OWASP Russia
 
Security best practices
Security best practicesSecurity best practices
Security best practicesAVEVA
 
Security in the Development Lifecycle - lessons learned
Security in the Development Lifecycle - lessons learnedSecurity in the Development Lifecycle - lessons learned
Security in the Development Lifecycle - lessons learnedBoaz Shunami
 
Security Building Blocks of the IBM Cloud Computing Reference Architecture
Security Building Blocks of the IBM Cloud Computing Reference ArchitectureSecurity Building Blocks of the IBM Cloud Computing Reference Architecture
Security Building Blocks of the IBM Cloud Computing Reference ArchitectureStefaan Van daele
 
XPDS13: Erlang on Xen - Redefining the Cloud Software Stack - Victor Sovietov...
XPDS13: Erlang on Xen - Redefining the Cloud Software Stack - Victor Sovietov...XPDS13: Erlang on Xen - Redefining the Cloud Software Stack - Victor Sovietov...
XPDS13: Erlang on Xen - Redefining the Cloud Software Stack - Victor Sovietov...The Linux Foundation
 
Securing the Cloud Native Stack
Securing the Cloud Native StackSecuring the Cloud Native Stack
Securing the Cloud Native StackApcera
 
Serverless Security: Are you ready for the Future?
Serverless Security: Are you ready for the Future?Serverless Security: Are you ready for the Future?
Serverless Security: Are you ready for the Future?James Wickett
 
Rest API Security
Rest API SecurityRest API Security
Rest API SecurityStormpath
 
AWS re:Invent 2016: Embracing DevSecOps while Improving Compliance and Securi...
AWS re:Invent 2016: Embracing DevSecOps while Improving Compliance and Securi...AWS re:Invent 2016: Embracing DevSecOps while Improving Compliance and Securi...
AWS re:Invent 2016: Embracing DevSecOps while Improving Compliance and Securi...Amazon Web Services
 
DHS ICS Security Presentation
DHS ICS Security PresentationDHS ICS Security Presentation
DHS ICS Security Presentationguest85a34f
 
Brand As Verb: Principles of High Performing Experience Brands
Brand As Verb: Principles of High Performing Experience BrandsBrand As Verb: Principles of High Performing Experience Brands
Brand As Verb: Principles of High Performing Experience BrandsBen Grossman
 

En vedette (18)

Security Vulnerabilities in Third Party Code - Fix All the Things!
Security Vulnerabilities in Third Party Code - Fix All the Things! Security Vulnerabilities in Third Party Code - Fix All the Things!
Security Vulnerabilities in Third Party Code - Fix All the Things!
 
Developer guidelines for using third-party code
Developer guidelines for using third-party codeDeveloper guidelines for using third-party code
Developer guidelines for using third-party code
 
AtomPub, beyond blogs
AtomPub, beyond blogsAtomPub, beyond blogs
AtomPub, beyond blogs
 
Developing Secure Software: Experiences From an International Software Vendor
Developing Secure Software: Experiences From an International Software VendorDeveloping Secure Software: Experiences From an International Software Vendor
Developing Secure Software: Experiences From an International Software Vendor
 
Introduction to threat_modeling
Introduction to threat_modelingIntroduction to threat_modeling
Introduction to threat_modeling
 
Microsoft Windows Azure - Security Best Practices for Developing Windows Azur...
Microsoft Windows Azure - Security Best Practices for Developing Windows Azur...Microsoft Windows Azure - Security Best Practices for Developing Windows Azur...
Microsoft Windows Azure - Security Best Practices for Developing Windows Azur...
 
Agile Software Security
Agile Software SecurityAgile Software Security
Agile Software Security
 
Software development lifecycle: final security review and automatization, Tar...
Software development lifecycle: final security review and automatization, Tar...Software development lifecycle: final security review and automatization, Tar...
Software development lifecycle: final security review and automatization, Tar...
 
Security best practices
Security best practicesSecurity best practices
Security best practices
 
Security in the Development Lifecycle - lessons learned
Security in the Development Lifecycle - lessons learnedSecurity in the Development Lifecycle - lessons learned
Security in the Development Lifecycle - lessons learned
 
Security Building Blocks of the IBM Cloud Computing Reference Architecture
Security Building Blocks of the IBM Cloud Computing Reference ArchitectureSecurity Building Blocks of the IBM Cloud Computing Reference Architecture
Security Building Blocks of the IBM Cloud Computing Reference Architecture
 
XPDS13: Erlang on Xen - Redefining the Cloud Software Stack - Victor Sovietov...
XPDS13: Erlang on Xen - Redefining the Cloud Software Stack - Victor Sovietov...XPDS13: Erlang on Xen - Redefining the Cloud Software Stack - Victor Sovietov...
XPDS13: Erlang on Xen - Redefining the Cloud Software Stack - Victor Sovietov...
 
Securing the Cloud Native Stack
Securing the Cloud Native StackSecuring the Cloud Native Stack
Securing the Cloud Native Stack
 
Serverless Security: Are you ready for the Future?
Serverless Security: Are you ready for the Future?Serverless Security: Are you ready for the Future?
Serverless Security: Are you ready for the Future?
 
Rest API Security
Rest API SecurityRest API Security
Rest API Security
 
AWS re:Invent 2016: Embracing DevSecOps while Improving Compliance and Securi...
AWS re:Invent 2016: Embracing DevSecOps while Improving Compliance and Securi...AWS re:Invent 2016: Embracing DevSecOps while Improving Compliance and Securi...
AWS re:Invent 2016: Embracing DevSecOps while Improving Compliance and Securi...
 
DHS ICS Security Presentation
DHS ICS Security PresentationDHS ICS Security Presentation
DHS ICS Security Presentation
 
Brand As Verb: Principles of High Performing Experience Brands
Brand As Verb: Principles of High Performing Experience BrandsBrand As Verb: Principles of High Performing Experience Brands
Brand As Verb: Principles of High Performing Experience Brands
 

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

Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...Manoj Purandare ☁
 
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...Manoj Purandare ☁
 
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...Manoj Purandare ☁
 
AppSec How-To: Achieving Security in DevOps
AppSec How-To: Achieving Security in DevOpsAppSec How-To: Achieving Security in DevOps
AppSec How-To: Achieving Security in DevOpsCheckmarx
 
case analysis 2.1.docxby Urusha PandeySubmission date 2.docx
case analysis 2.1.docxby Urusha PandeySubmission date 2.docxcase analysis 2.1.docxby Urusha PandeySubmission date 2.docx
case analysis 2.1.docxby Urusha PandeySubmission date 2.docxcowinhelen
 
OWASP Secure Coding Quick Reference Guide
OWASP Secure Coding Quick Reference GuideOWASP Secure Coding Quick Reference Guide
OWASP Secure Coding Quick Reference GuideAryan G
 
OWASP Secure Coding Practices - Quick Reference Guide
OWASP Secure Coding Practices - Quick Reference GuideOWASP Secure Coding Practices - Quick Reference Guide
OWASP Secure Coding Practices - Quick Reference GuideLudovic Petit
 
Security Testing: Myths, Challenges, and Opportunities - Experiences in Integ...
Security Testing: Myths, Challenges, and Opportunities - Experiences in Integ...Security Testing: Myths, Challenges, and Opportunities - Experiences in Integ...
Security Testing: Myths, Challenges, and Opportunities - Experiences in Integ...Achim D. Brucker
 
Continuous security: Bringing agility to the secure development lifecycle
Continuous security: Bringing agility to the secure development lifecycleContinuous security: Bringing agility to the secure development lifecycle
Continuous security: Bringing agility to the secure development lifecycleRogue Wave Software
 
Security that Scales with Cloud Native Development
Security that Scales with Cloud Native DevelopmentSecurity that Scales with Cloud Native Development
Security that Scales with Cloud Native DevelopmentPanoptica
 
Penetration testing dont just leave it to chance
Penetration testing dont just leave it to chancePenetration testing dont just leave it to chance
Penetration testing dont just leave it to chanceDr. Anish Cheriyan (PhD)
 
Security and DevOps: Agility and Teamwork - SID315 - re:Invent 2017
Security and DevOps: Agility and Teamwork - SID315 - re:Invent 2017Security and DevOps: Agility and Teamwork - SID315 - re:Invent 2017
Security and DevOps: Agility and Teamwork - SID315 - re:Invent 2017Amazon Web Services
 
SCS DevSecOps Seminar - State of DevSecOps
SCS DevSecOps Seminar - State of DevSecOpsSCS DevSecOps Seminar - State of DevSecOps
SCS DevSecOps Seminar - State of DevSecOpsStefan Streichsbier
 
Software Security Assurance for DevOps
Software Security Assurance for DevOpsSoftware Security Assurance for DevOps
Software Security Assurance for DevOpsBlack Duck by Synopsys
 
Security Best Practices
Security Best PracticesSecurity Best Practices
Security Best PracticesClint Edmonson
 
Leverage DevOps & Agile Development to Transform Your Application Testing Pro...
Leverage DevOps & Agile Development to Transform Your Application Testing Pro...Leverage DevOps & Agile Development to Transform Your Application Testing Pro...
Leverage DevOps & Agile Development to Transform Your Application Testing Pro...DevOps.com
 
Leverage DevOps & Agile Development to Transform Your Application Testing Pro...
Leverage DevOps & Agile Development to Transform Your Application Testing Pro...Leverage DevOps & Agile Development to Transform Your Application Testing Pro...
Leverage DevOps & Agile Development to Transform Your Application Testing Pro...DevOps for Enterprise Systems
 
Leverage DevOps & Agile Development to Transform Your Application Testing Pro...
Leverage DevOps & Agile Development to Transform Your Application Testing Pro...Leverage DevOps & Agile Development to Transform Your Application Testing Pro...
Leverage DevOps & Agile Development to Transform Your Application Testing Pro...Deborah Schalm
 

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

Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
 
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
 
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
 
AppSec How-To: Achieving Security in DevOps
AppSec How-To: Achieving Security in DevOpsAppSec How-To: Achieving Security in DevOps
AppSec How-To: Achieving Security in DevOps
 
case analysis 2.1.docxby Urusha PandeySubmission date 2.docx
case analysis 2.1.docxby Urusha PandeySubmission date 2.docxcase analysis 2.1.docxby Urusha PandeySubmission date 2.docx
case analysis 2.1.docxby Urusha PandeySubmission date 2.docx
 
Dev{sec}ops
Dev{sec}opsDev{sec}ops
Dev{sec}ops
 
OWASP Secure Coding Quick Reference Guide
OWASP Secure Coding Quick Reference GuideOWASP Secure Coding Quick Reference Guide
OWASP Secure Coding Quick Reference Guide
 
Coverity Data Sheet
Coverity Data SheetCoverity Data Sheet
Coverity Data Sheet
 
OWASP Secure Coding Practices - Quick Reference Guide
OWASP Secure Coding Practices - Quick Reference GuideOWASP Secure Coding Practices - Quick Reference Guide
OWASP Secure Coding Practices - Quick Reference Guide
 
Security Testing: Myths, Challenges, and Opportunities - Experiences in Integ...
Security Testing: Myths, Challenges, and Opportunities - Experiences in Integ...Security Testing: Myths, Challenges, and Opportunities - Experiences in Integ...
Security Testing: Myths, Challenges, and Opportunities - Experiences in Integ...
 
Continuous security: Bringing agility to the secure development lifecycle
Continuous security: Bringing agility to the secure development lifecycleContinuous security: Bringing agility to the secure development lifecycle
Continuous security: Bringing agility to the secure development lifecycle
 
Security that Scales with Cloud Native Development
Security that Scales with Cloud Native DevelopmentSecurity that Scales with Cloud Native Development
Security that Scales with Cloud Native Development
 
Penetration testing dont just leave it to chance
Penetration testing dont just leave it to chancePenetration testing dont just leave it to chance
Penetration testing dont just leave it to chance
 
Security and DevOps: Agility and Teamwork - SID315 - re:Invent 2017
Security and DevOps: Agility and Teamwork - SID315 - re:Invent 2017Security and DevOps: Agility and Teamwork - SID315 - re:Invent 2017
Security and DevOps: Agility and Teamwork - SID315 - re:Invent 2017
 
SCS DevSecOps Seminar - State of DevSecOps
SCS DevSecOps Seminar - State of DevSecOpsSCS DevSecOps Seminar - State of DevSecOps
SCS DevSecOps Seminar - State of DevSecOps
 
Software Security Assurance for DevOps
Software Security Assurance for DevOpsSoftware Security Assurance for DevOps
Software Security Assurance for DevOps
 
Security Best Practices
Security Best PracticesSecurity Best Practices
Security Best Practices
 
Leverage DevOps & Agile Development to Transform Your Application Testing Pro...
Leverage DevOps & Agile Development to Transform Your Application Testing Pro...Leverage DevOps & Agile Development to Transform Your Application Testing Pro...
Leverage DevOps & Agile Development to Transform Your Application Testing Pro...
 
Leverage DevOps & Agile Development to Transform Your Application Testing Pro...
Leverage DevOps & Agile Development to Transform Your Application Testing Pro...Leverage DevOps & Agile Development to Transform Your Application Testing Pro...
Leverage DevOps & Agile Development to Transform Your Application Testing Pro...
 
Leverage DevOps & Agile Development to Transform Your Application Testing Pro...
Leverage DevOps & Agile Development to Transform Your Application Testing Pro...Leverage DevOps & Agile Development to Transform Your Application Testing Pro...
Leverage DevOps & Agile Development to Transform Your Application Testing Pro...
 

Plus de Achim D. Brucker

Usable Security for Developers: A Nightmare
Usable Security for Developers: A NightmareUsable Security for Developers: A Nightmare
Usable Security for Developers: A NightmareAchim D. Brucker
 
Formalizing (Web) Standards: An Application of Test and Proof
Formalizing (Web) Standards: An Application of Test and ProofFormalizing (Web) Standards: An Application of Test and Proof
Formalizing (Web) Standards: An Application of Test and ProofAchim D. Brucker
 
Your (not so) smart TV is currently busy with taking down the Internet
Your (not so) smart TV is currently busy  with taking down the InternetYour (not so) smart TV is currently busy  with taking down the Internet
Your (not so) smart TV is currently busy with taking down the InternetAchim D. Brucker
 
Combining the Security Risks of Native and Web Development: Hybrid Apps
Combining the Security Risks of Native and Web Development: Hybrid AppsCombining the Security Risks of Native and Web Development: Hybrid Apps
Combining the Security Risks of Native and Web Development: Hybrid AppsAchim D. Brucker
 
The Evil Friend in Your Browser
The Evil Friend in Your BrowserThe Evil Friend in Your Browser
The Evil Friend in Your BrowserAchim D. Brucker
 
How to Enable Developers to Deliver Secure Code
How to Enable Developers to Deliver Secure CodeHow to Enable Developers to Deliver Secure Code
How to Enable Developers to Deliver Secure CodeAchim D. Brucker
 
Isabelle: Not Only a Proof Assistant
Isabelle: Not Only a Proof AssistantIsabelle: Not Only a Proof Assistant
Isabelle: Not Only a Proof AssistantAchim D. Brucker
 
Bringing Security Testing to Development: How to Enable Developers to Act as ...
Bringing Security Testing to Development: How to Enable Developers to Act as ...Bringing Security Testing to Development: How to Enable Developers to Act as ...
Bringing Security Testing to Development: How to Enable Developers to Act as ...Achim D. Brucker
 
Industrial Challenges of Secure Software Development
Industrial Challenges of Secure Software DevelopmentIndustrial Challenges of Secure Software Development
Industrial Challenges of Secure Software DevelopmentAchim D. Brucker
 
SAST for JavaScript: A Brief Overview of Commercial Tools
SAST for JavaScript: A Brief Overview of Commercial ToolsSAST for JavaScript: A Brief Overview of Commercial Tools
SAST for JavaScript: A Brief Overview of Commercial ToolsAchim D. Brucker
 
A Collection of Real World (JavaScript) Security Problems: Examples from 2 1/...
A Collection of Real World (JavaScript) Security Problems: Examples from 2 1/...A Collection of Real World (JavaScript) Security Problems: Examples from 2 1/...
A Collection of Real World (JavaScript) Security Problems: Examples from 2 1/...Achim D. Brucker
 
Deploying Static Application Security Testing on a Large Scale
Deploying Static Application Security Testing on a Large ScaleDeploying Static Application Security Testing on a Large Scale
Deploying Static Application Security Testing on a Large ScaleAchim D. Brucker
 
Model-based Conformance Testing of Security Properties
Model-based Conformance Testing of Security PropertiesModel-based Conformance Testing of Security Properties
Model-based Conformance Testing of Security PropertiesAchim D. Brucker
 
Service Compositions: Curse or Blessing for Security?
Service Compositions: Curse or Blessing for Security?Service Compositions: Curse or Blessing for Security?
Service Compositions: Curse or Blessing for Security?Achim D. Brucker
 
Encoding Object-oriented Datatypes in HOL: Extensible Records Revisited
Encoding Object-oriented Datatypes in HOL: Extensible Records RevisitedEncoding Object-oriented Datatypes in HOL: Extensible Records Revisited
Encoding Object-oriented Datatypes in HOL: Extensible Records RevisitedAchim D. Brucker
 
A Framework for Secure Service Composition
A Framework for Secure Service CompositionA Framework for Secure Service Composition
A Framework for Secure Service CompositionAchim D. Brucker
 
Extending Access Control Models with Break-glass
Extending Access Control Models with Break-glassExtending Access Control Models with Break-glass
Extending Access Control Models with Break-glassAchim D. Brucker
 
Security in the Context of Business Processes: Thoughts from a System Vendor'...
Security in the Context of Business Processes: Thoughts from a System Vendor'...Security in the Context of Business Processes: Thoughts from a System Vendor'...
Security in the Context of Business Processes: Thoughts from a System Vendor'...Achim D. Brucker
 

Plus de Achim D. Brucker (18)

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

Dernier

Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 

Dernier (20)

Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 

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 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!
  • 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