SlideShare ist ein Scribd-Unternehmen logo
1 von 43
Downloaden Sie, um offline zu lesen
Preventing Supply Chain Attacks
on Open Source Software
1
March 29, 2022
2
Kavitha Venkataswamy
Product Security @ Capital One
3
Srinivasan Rangaraj
Product Security @ Capital One
Confidential 4
AGENDA
● Software Supply Chain Attacks
● OWASP Dependency Track
● Supply chain attacks in Mobile Apps
● Implementing Supply chain Frameworks
Explosion on supply chain attacks
Supply chain attacks on open source software packages increased by 650% in 2021
5
Confidential 6
Software Supply chain
• A software supply chain attack happens when adversaries manipulate the code in
third-party software components in order to compromise the ‘downstream’
applications that use them.
• Attackers leverage compromised software to steal data, corrupt targeted systems, or
to gain access to other parts of the victim’s network through lateral movement.
• Any other ‘upstream’ part of an organization’s supply chain can be thus targeted,
including application developers, publishers of off-the-shelf software like SolarWinds,
API providers, and the open source community.
Confidential 7
Software Supply chain
• Need to have a comprehensive map of the dependences used by their applications
• Be Alert to vulnerability disclosures
• Build a robust system for patching security issues.
Key Step : First and Foremost application dependencies have to be mapped
Confidential 8
Software Bill of Materials (SBOM)
● Software bill of materials is an inventory of all software components (proprietary and
open source), open source licenses, and dependencies in a given product.
● A software bill of materials (SBOM) provides visibility into the software supply chain
and any license compliance, security, and quality risks that may exist
● CycloneDX - lightweight software bill-of-material (SBOM) spec designed for
supply chain component analysis.
Confidential 9
OWASP Dependency Track - Features
• Components with known vulnerabilities
• Out-of-date components
• License risk
Confidential 10
Operationalize software Bill of Materials
Confidential 11
Dependency Track - Integration
● National Vulnerability Database(NVD)
● Github Advisories
● Repositories including NPM, PyPi etc
● Sontatype OSS Index
● Private Vulnerability Repository
Confidential 12
Dependency Track - EcoSystem
• Maven (Java)
• NPM (JS)
• Pypi (Python)
• Gems (Ruby)
• NuGet (.NET)
• Hex (Erlang/Elixir)
Confidential 13
Dependency Track - Database & LDAP support
Database:
● Includes H2 by default - not for production, used for quick evaluation & Testing
● Microsoft SQL Server
● MySQL
● PostgreSQL
LDAP:
● Active Directory
● Apache DS
● Fedora 389
Confidential 14
Creating BOM File
Confidential 15
Software Bill of Materials (BOM)
Confidential 16
Software Bill of Materials (BOM)
Confidential 17
Dependency Track - How to Get Started
• Minimum Requirements : Java 8 u162 (or higher)
• java -Xmx12G -jar dependency-track-embedded.war -port 8081
• Launch the application.
• OWASP Dependency Track Launched
Confidential 18
Dependency Track - Project Creation
Dependency Track -Upload BOM
Confidential 19
Dependency Track -Vulnerabilities
Confidential 20
Dependency Track - Scan for Vulnerabilities
Confidential 21
Confidential 22
Dependency Track - Project Vulnerabilities Overview
Confidential 23
Dependency Track - Auditing
Project auditing is the
process of triaging
findings on the
components for each
project. Audit decisions,
comments, and audit
history performed on a
project
Confidential 24
Vulnerability Analysis
Known Vulnerability Analysis
● integrates with multiple sources of
vulnerability intelligence to identify
components with known
vulnerabilities.
● employs several methods of
vulnerability identification including
OSS Index analyzer, VulnDB
analyzer
Outdated Component Vulnerability
Analysis
● use of components which do not have known
vulnerabilities but are not the latest release,
also represent risk
● By keeping components consistently updated,
organizations are better prepared to respond
with urgency when a vulnerability affecting a
component
Confidential 25
Dependency Track - Jenkins Integration
● Dependency-Track Jenkins Plugin is the recommended for
publishing CycloneDX BOMs to Dependency-Track in a Jenkins
environment
Confidential 26
Dependency Track - Jenkins Integration
Confidential 27
Dependency Track - Impact Analysis
● Analyze the potential for impact of
a vulnerability in the environment.
● Dependency-Track can help
identify all affected projects across
the organization
● Can help organizations answer two
important questions:
What is affected? Where am I
affected?
● For example, search by a library
say, structs 2.3.5 or search by CVE
Confidential 28
Dependency Track - Impact Analysis
● perform vendor risk assessments
and identifying potential risk in
third-party software during and
after procurement.
● Ability for vendors to generate
Software Bill of Materials (SBOM)
demonstrates a certain level of
organizational maturity
Confidential 29
Supply Chain Component Analysis
Component Analysis is Process of identifying potential areas of risk from the use of
third-party and open-source software and hardware components.
Component Analysis is a function within an overall Cyber Supply Chain Risk
Management (C-SCRM) framework.
Confidential 30
Dependency Track - ECO System
Supply Chain Attacks in
Mobile Application
NIST/Google
SLSA
Access Control
Harderden the CI/CD
pipeline
Testing
Feature Disable
provision
Secure CryptoVault
Monitoring
Provenance
Vulnerability Scanning
Patching
Open Source in Mobile App
Mobile APP
Malicious App/Bot
Mobile Firmware
Mobile Operating System
Third Party Apps
Your Application
Mobile
Hardware
Requirements Design Development Testing
Deployment/Di
stribution
Dependencies Supply Chain
Third Party
First Party
Open Source -In Mobile Apps
● Open source is widely used in Mobile applications, providing attackers
with a target-rich environment.
● How do you patch your OpenSource in your App and SDKs
● Are you aware of open source used in your code base
● Does it get the Job done?
● Does it have an open source license?
● Does it have good docs
● Does it have SDK that make use of Open source libraries
● Does it have lots of downloads and GitHub stars
● Does it have recent commits
● How do you defend against common attacks targeting known
vulnerabilities.
● Hackers can exploit known open source security vulnerabilities as they
are available and is published in the CVE database,
NIST Mobile Threat Catalogue
# Threat List Description
1
SPC-0: Malicious Code in Open Source Software An adversary with access to open source code and knowledge of its particular use for the system being acquired can
insert malicious code into open source software used for libraries
2 SPC-1: Hardware or Firmware Component Interception A hardware or firmware component can be intercepted by an adversary while in transit between supplier and
acquirer, for the purpose of substitution or manipulation
3 SPC-2: Malicious Critical Hardware Replacement Adversarial supply chain distribution channel personnel (e.g., packaging, shipping, receiving, or transfer) can
intercept and replace legitimate critical hardware components with malicious ones
4 SPC-3: Malicious Software Inserted into Software
Processes or Tools
An adversary with access to software processes and tools within the development or software support environment
can insert malicious software into components during development or update/maintenance
5 SPC-4: Malicious Logic Introduction A software or firmware programmer with access to the configuration control system can introduce malicious logic into
software or microelectronics during coding and/or logic-bearing component development or update/maintenance
6 SPC-5: Malware Embedded in Critical Component An adversary with access to hardware procurement, maintenance, or upgrade control can embed malware in a
critical component
7 SPC-6: Improperly Vetted or Untested Malicious
Microelectronics
An adversary with access to the hardware commodity procurement process can insert improperly vetted or untested
malicious critical microelectronics components into the system during development
8 SPC-7: Hardware Component Substitution During
Transfer
An adversary with access to production component supplier shipping channels during transfer of system
components can substitute a maliciously altered hardware component for a tested and approved component
9 SPC-8: Firmware Component Substitution During
Transfer
An adversary with access to supplier shipping channels during transfer of system components can substitute a
counterfeit firmware component for an authentic component
10 SPC-9: Malicious Code in Custom Software An adversary with access privileges within the software development environment and to associated tools, including
the software unit/component test system and the software configuration management system, can hide malicious
code in custom software
11 SPC-10: Malicious Software in 3rd Party Bundling
Process
An adversary with access to 3rd party bundling processes and tools can implant malicious software in a system
during the hardware-software integration phase
12 SPC-11: Vulnerable BIOS Installation An adversary with access to download and update system software installs a BIOS containing known vulnerabilities
for future exploitation
From NIST
Malicious Code in Open Source
Threat Description: An adversary with access to open source code and knowledge of its particular use for the system being acquired can
insert malicious code into open source software used for libraries
Mobile App Developer- Possible Countermeasure
Prefer open source
software libraries for which
integrity-checking
mechanisms are provided
To increase the complexity
of this attack, when
possible, obtain multiple
instances of the same
library as hosted by various
sources (e.g., FTP mirrors)
from which it should be
available. Then evaluate all
obtained versions for
consistency (e.g., compare
strong hashes). If any
discrepancies are detected,
contact the open source
software developer
To reduce the probability
this variety of attack
goes undetected at
runtime, implement
defensive programming.
Any call to untrusted
code that can impact
critical functionality of
the system should
include checks on the
output for conditions that
should always be true
given an assumption the
library behaves as
expected
To protect open source library
used by a product from
modification, then if possible,
package a verified authentic
instance of the open source library
and apply cryptographic
protections (e.g., strong hashing,
digital signatures) to the product to
allow customers to verify the
authenticity and integrity of all
packaged components
To prevent distributing a
software package that
contains maliciously
modified open source
libraries, perform
sufficient functional
testing of the complete
system to verify that it
exhibits correct and
consistent behavior
Supply Chain Level for Software Artifacts
SLSA is a set of standards and technical controls
you can adopt to improve artifact integrity, and build
towards completely resilient systems. It’s not a
single tool, but a step-by-step outline to prevent
artifacts being tampered with and tampered artifacts
from being used, and at the higher levels, hardening
up the platforms that make up a supply chain.
https://slsa.dev/spec/v0.1/#supply-chain-threats
Protecting Against Key Threats
Reduce Dependency
Confusion Issues
Typosquatting
Using Red Team Tests
Against Supply Chain
Attacks
Open Source
Third Party
SDK/Lib
Mobile APP
source
SCM
CI/CD Distribution To APP
Store
Implement SLSA
SLSA Requirements
SLSA Provenance
Software Supply Chain
Confidential 42
References
• https://dependencytrack.org/
• https://pages.nist.gov/mobile-threat-catalogue/supply-chain-threats/SPC-0.html
• https://slsa.dev/spec/v0.1/#supply-chain-threats
Confidential 43
Thank You

Weitere ähnliche Inhalte

Was ist angesagt?

Hardening Your CI/CD Pipelines with GitOps and Continuous Security
Hardening Your CI/CD Pipelines with GitOps and Continuous SecurityHardening Your CI/CD Pipelines with GitOps and Continuous Security
Hardening Your CI/CD Pipelines with GitOps and Continuous SecurityWeaveworks
 
Intro to Kubernetes & GitOps Workshop
Intro to Kubernetes & GitOps WorkshopIntro to Kubernetes & GitOps Workshop
Intro to Kubernetes & GitOps WorkshopWeaveworks
 
The New York Times: Sustainable Systems, Powered by Python
The New York Times: Sustainable Systems, Powered by PythonThe New York Times: Sustainable Systems, Powered by Python
The New York Times: Sustainable Systems, Powered by PythonAll Things Open
 
It’s 2021. Why are we -still- rebooting for patches? A look at Live Patching.
It’s 2021. Why are we -still- rebooting for patches? A look at Live Patching.It’s 2021. Why are we -still- rebooting for patches? A look at Live Patching.
It’s 2021. Why are we -still- rebooting for patches? A look at Live Patching.All Things Open
 
Speeding up your team with GitOps
Speeding up your team with GitOpsSpeeding up your team with GitOps
Speeding up your team with GitOpsBrice Fernandes
 
Containers and Kubernetes without limits
Containers and Kubernetes without limitsContainers and Kubernetes without limits
Containers and Kubernetes without limitsAntje Barth
 
The Power of GitOps with Flux & GitOps Toolkit
The Power of GitOps with Flux & GitOps ToolkitThe Power of GitOps with Flux & GitOps Toolkit
The Power of GitOps with Flux & GitOps ToolkitWeaveworks
 
GitOps - Modern best practices for high velocity app dev using cloud native t...
GitOps - Modern best practices for high velocity app dev using cloud native t...GitOps - Modern best practices for high velocity app dev using cloud native t...
GitOps - Modern best practices for high velocity app dev using cloud native t...Weaveworks
 
IstioD - From Microservices to Monolithic
IstioD - From Microservices to MonolithicIstioD - From Microservices to Monolithic
IstioD - From Microservices to MonolithicAll Things Open
 
GitOps Toolkit (Cloud Native Nordics Tech Talk)
GitOps Toolkit (Cloud Native Nordics Tech Talk)GitOps Toolkit (Cloud Native Nordics Tech Talk)
GitOps Toolkit (Cloud Native Nordics Tech Talk)Weaveworks
 
Continuous Delivery NYC: From GitOps to an adaptable CI/CD Pattern for Kubern...
Continuous Delivery NYC: From GitOps to an adaptable CI/CD Pattern for Kubern...Continuous Delivery NYC: From GitOps to an adaptable CI/CD Pattern for Kubern...
Continuous Delivery NYC: From GitOps to an adaptable CI/CD Pattern for Kubern...Andrew Phillips
 
Docker New York City: From GitOps to a scalable CI/CD Pattern for Kubernetes
Docker New York City: From GitOps to a scalable CI/CD Pattern for KubernetesDocker New York City: From GitOps to a scalable CI/CD Pattern for Kubernetes
Docker New York City: From GitOps to a scalable CI/CD Pattern for KubernetesAndrew Phillips
 
Security of OpenDaylight platform
Security of OpenDaylight platformSecurity of OpenDaylight platform
Security of OpenDaylight platformOpenDaylight
 
Continuous Lifecycle London 2018 Event Keynote
Continuous Lifecycle London 2018 Event KeynoteContinuous Lifecycle London 2018 Event Keynote
Continuous Lifecycle London 2018 Event KeynoteWeaveworks
 
stackconf 2021 | GitOps: yea or nay?
stackconf 2021 | GitOps: yea or nay?stackconf 2021 | GitOps: yea or nay?
stackconf 2021 | GitOps: yea or nay?NETWAYS
 
Delivering Quality at Speed with GitOps
Delivering Quality at Speed with GitOpsDelivering Quality at Speed with GitOps
Delivering Quality at Speed with GitOpsWeaveworks
 

Was ist angesagt? (20)

Hardening Your CI/CD Pipelines with GitOps and Continuous Security
Hardening Your CI/CD Pipelines with GitOps and Continuous SecurityHardening Your CI/CD Pipelines with GitOps and Continuous Security
Hardening Your CI/CD Pipelines with GitOps and Continuous Security
 
Intro to Kubernetes & GitOps Workshop
Intro to Kubernetes & GitOps WorkshopIntro to Kubernetes & GitOps Workshop
Intro to Kubernetes & GitOps Workshop
 
The New York Times: Sustainable Systems, Powered by Python
The New York Times: Sustainable Systems, Powered by PythonThe New York Times: Sustainable Systems, Powered by Python
The New York Times: Sustainable Systems, Powered by Python
 
Gitops Hands On
Gitops Hands OnGitops Hands On
Gitops Hands On
 
It’s 2021. Why are we -still- rebooting for patches? A look at Live Patching.
It’s 2021. Why are we -still- rebooting for patches? A look at Live Patching.It’s 2021. Why are we -still- rebooting for patches? A look at Live Patching.
It’s 2021. Why are we -still- rebooting for patches? A look at Live Patching.
 
Speeding up your team with GitOps
Speeding up your team with GitOpsSpeeding up your team with GitOps
Speeding up your team with GitOps
 
Containers and Kubernetes without limits
Containers and Kubernetes without limitsContainers and Kubernetes without limits
Containers and Kubernetes without limits
 
The Power of GitOps with Flux & GitOps Toolkit
The Power of GitOps with Flux & GitOps ToolkitThe Power of GitOps with Flux & GitOps Toolkit
The Power of GitOps with Flux & GitOps Toolkit
 
GitOps - Modern best practices for high velocity app dev using cloud native t...
GitOps - Modern best practices for high velocity app dev using cloud native t...GitOps - Modern best practices for high velocity app dev using cloud native t...
GitOps - Modern best practices for high velocity app dev using cloud native t...
 
IstioD - From Microservices to Monolithic
IstioD - From Microservices to MonolithicIstioD - From Microservices to Monolithic
IstioD - From Microservices to Monolithic
 
GitOps Toolkit (Cloud Native Nordics Tech Talk)
GitOps Toolkit (Cloud Native Nordics Tech Talk)GitOps Toolkit (Cloud Native Nordics Tech Talk)
GitOps Toolkit (Cloud Native Nordics Tech Talk)
 
CASCON 2017 - OpenAPI v3
CASCON 2017 - OpenAPI v3CASCON 2017 - OpenAPI v3
CASCON 2017 - OpenAPI v3
 
Continuous Delivery NYC: From GitOps to an adaptable CI/CD Pattern for Kubern...
Continuous Delivery NYC: From GitOps to an adaptable CI/CD Pattern for Kubern...Continuous Delivery NYC: From GitOps to an adaptable CI/CD Pattern for Kubern...
Continuous Delivery NYC: From GitOps to an adaptable CI/CD Pattern for Kubern...
 
Docker New York City: From GitOps to a scalable CI/CD Pattern for Kubernetes
Docker New York City: From GitOps to a scalable CI/CD Pattern for KubernetesDocker New York City: From GitOps to a scalable CI/CD Pattern for Kubernetes
Docker New York City: From GitOps to a scalable CI/CD Pattern for Kubernetes
 
Security of OpenDaylight platform
Security of OpenDaylight platformSecurity of OpenDaylight platform
Security of OpenDaylight platform
 
Continuous Lifecycle London 2018 Event Keynote
Continuous Lifecycle London 2018 Event KeynoteContinuous Lifecycle London 2018 Event Keynote
Continuous Lifecycle London 2018 Event Keynote
 
Gerrit Code Review
Gerrit Code ReviewGerrit Code Review
Gerrit Code Review
 
stackconf 2021 | GitOps: yea or nay?
stackconf 2021 | GitOps: yea or nay?stackconf 2021 | GitOps: yea or nay?
stackconf 2021 | GitOps: yea or nay?
 
Delivering Quality at Speed with GitOps
Delivering Quality at Speed with GitOpsDelivering Quality at Speed with GitOps
Delivering Quality at Speed with GitOps
 
Devops.pptx
Devops.pptxDevops.pptx
Devops.pptx
 

Ähnlich wie Preventing Supply Chain Attacks on Open Source Software

OWASP Dependency-Track Introduction
OWASP Dependency-Track IntroductionOWASP Dependency-Track Introduction
OWASP Dependency-Track IntroductionSergey Sotnikov
 
Rise of software supply chain attack
Rise of software supply chain attackRise of software supply chain attack
Rise of software supply chain attackYadnyawalkya Tale
 
Open Source evaluation: A comprehensive guide on what you are using
Open Source evaluation: A comprehensive guide on what you are usingOpen Source evaluation: A comprehensive guide on what you are using
Open Source evaluation: A comprehensive guide on what you are usingAll Things Open
 
PCI and Vulnerability Assessments - What’s Missing
PCI and Vulnerability Assessments - What’s MissingPCI and Vulnerability Assessments - What’s Missing
PCI and Vulnerability Assessments - What’s MissingBlack Duck by Synopsys
 
Introduction to penetration testing
Introduction to penetration testingIntroduction to penetration testing
Introduction to penetration testingNezar Alazzabi
 
PCI and Vulnerability Assessments - What’s Missing?
PCI and Vulnerability Assessments - What’s Missing?PCI and Vulnerability Assessments - What’s Missing?
PCI and Vulnerability Assessments - What’s Missing?Black Duck by Synopsys
 
Using Analyzers to Resolve Security Problems
Using Analyzers to Resolve Security ProblemsUsing Analyzers to Resolve Security Problems
Using Analyzers to Resolve Security Problemskiansahafi
 
Honeycon2016-honeypot updates for public
Honeycon2016-honeypot updates for publicHoneycon2016-honeypot updates for public
Honeycon2016-honeypot updates for publicJulia Yu-Chin Cheng
 
Automating Open Source Security: A SANS Review of WhiteSource
Automating Open Source Security: A SANS Review of WhiteSourceAutomating Open Source Security: A SANS Review of WhiteSource
Automating Open Source Security: A SANS Review of WhiteSourceWhiteSource
 
chap-1 : Vulnerabilities in Information Systems
chap-1 : Vulnerabilities in Information Systemschap-1 : Vulnerabilities in Information Systems
chap-1 : Vulnerabilities in Information SystemsKashfUlHuda1
 
Blackhat Europe 2009 - Detecting Certified Pre Owned Software
Blackhat Europe 2009 - Detecting Certified Pre Owned SoftwareBlackhat Europe 2009 - Detecting Certified Pre Owned Software
Blackhat Europe 2009 - Detecting Certified Pre Owned SoftwareTyler Shields
 
Software Supply Chain Attacks (June 2021)
Software Supply Chain Attacks (June 2021)Software Supply Chain Attacks (June 2021)
Software Supply Chain Attacks (June 2021)TzahiArabov
 
Application Security Guide for Beginners
Application Security Guide for Beginners Application Security Guide for Beginners
Application Security Guide for Beginners Checkmarx
 
BlueHat v18 || Return of the kernel rootkit malware (on windows 10)
BlueHat v18 || Return of the kernel rootkit malware (on windows 10)BlueHat v18 || Return of the kernel rootkit malware (on windows 10)
BlueHat v18 || Return of the kernel rootkit malware (on windows 10)BlueHat Security Conference
 
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
 
Drupal Dev Days Vienna 2023 - What is the secure software supply chain and th...
Drupal Dev Days Vienna 2023 - What is the secure software supply chain and th...Drupal Dev Days Vienna 2023 - What is the secure software supply chain and th...
Drupal Dev Days Vienna 2023 - What is the secure software supply chain and th...sparkfabrik
 
Owasp A9 USING KNOWN VULNERABLE COMPONENTS IT 6873 presentation
Owasp A9 USING KNOWN VULNERABLE COMPONENTS   IT 6873 presentationOwasp A9 USING KNOWN VULNERABLE COMPONENTS   IT 6873 presentation
Owasp A9 USING KNOWN VULNERABLE COMPONENTS IT 6873 presentationDerrick Hunter
 
Catch Me If You Can - Finding APTs in your network
Catch Me If You Can - Finding APTs in your networkCatch Me If You Can - Finding APTs in your network
Catch Me If You Can - Finding APTs in your networkDefCamp
 
Software update for embedded systems
Software update for embedded systemsSoftware update for embedded systems
Software update for embedded systemsSZ Lin
 

Ähnlich wie Preventing Supply Chain Attacks on Open Source Software (20)

OWASP Dependency-Track Introduction
OWASP Dependency-Track IntroductionOWASP Dependency-Track Introduction
OWASP Dependency-Track Introduction
 
Rise of software supply chain attack
Rise of software supply chain attackRise of software supply chain attack
Rise of software supply chain attack
 
Open Source evaluation: A comprehensive guide on what you are using
Open Source evaluation: A comprehensive guide on what you are usingOpen Source evaluation: A comprehensive guide on what you are using
Open Source evaluation: A comprehensive guide on what you are using
 
PCI and Vulnerability Assessments - What’s Missing
PCI and Vulnerability Assessments - What’s MissingPCI and Vulnerability Assessments - What’s Missing
PCI and Vulnerability Assessments - What’s Missing
 
Introduction to penetration testing
Introduction to penetration testingIntroduction to penetration testing
Introduction to penetration testing
 
PCI and Vulnerability Assessments - What’s Missing?
PCI and Vulnerability Assessments - What’s Missing?PCI and Vulnerability Assessments - What’s Missing?
PCI and Vulnerability Assessments - What’s Missing?
 
Using Analyzers to Resolve Security Problems
Using Analyzers to Resolve Security ProblemsUsing Analyzers to Resolve Security Problems
Using Analyzers to Resolve Security Problems
 
Honeycon2016-honeypot updates for public
Honeycon2016-honeypot updates for publicHoneycon2016-honeypot updates for public
Honeycon2016-honeypot updates for public
 
Automating Open Source Security: A SANS Review of WhiteSource
Automating Open Source Security: A SANS Review of WhiteSourceAutomating Open Source Security: A SANS Review of WhiteSource
Automating Open Source Security: A SANS Review of WhiteSource
 
chap-1 : Vulnerabilities in Information Systems
chap-1 : Vulnerabilities in Information Systemschap-1 : Vulnerabilities in Information Systems
chap-1 : Vulnerabilities in Information Systems
 
Blackhat Europe 2009 - Detecting Certified Pre Owned Software
Blackhat Europe 2009 - Detecting Certified Pre Owned SoftwareBlackhat Europe 2009 - Detecting Certified Pre Owned Software
Blackhat Europe 2009 - Detecting Certified Pre Owned Software
 
Software Supply Chain Attacks (June 2021)
Software Supply Chain Attacks (June 2021)Software Supply Chain Attacks (June 2021)
Software Supply Chain Attacks (June 2021)
 
Application Security Guide for Beginners
Application Security Guide for Beginners Application Security Guide for Beginners
Application Security Guide for Beginners
 
BlueHat v18 || Return of the kernel rootkit malware (on windows 10)
BlueHat v18 || Return of the kernel rootkit malware (on windows 10)BlueHat v18 || Return of the kernel rootkit malware (on windows 10)
BlueHat v18 || Return of the kernel rootkit malware (on windows 10)
 
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
 
Drupal Dev Days Vienna 2023 - What is the secure software supply chain and th...
Drupal Dev Days Vienna 2023 - What is the secure software supply chain and th...Drupal Dev Days Vienna 2023 - What is the secure software supply chain and th...
Drupal Dev Days Vienna 2023 - What is the secure software supply chain and th...
 
Owasp A9 USING KNOWN VULNERABLE COMPONENTS IT 6873 presentation
Owasp A9 USING KNOWN VULNERABLE COMPONENTS   IT 6873 presentationOwasp A9 USING KNOWN VULNERABLE COMPONENTS   IT 6873 presentation
Owasp A9 USING KNOWN VULNERABLE COMPONENTS IT 6873 presentation
 
FALCON.pptx
FALCON.pptxFALCON.pptx
FALCON.pptx
 
Catch Me If You Can - Finding APTs in your network
Catch Me If You Can - Finding APTs in your networkCatch Me If You Can - Finding APTs in your network
Catch Me If You Can - Finding APTs in your network
 
Software update for embedded systems
Software update for embedded systemsSoftware update for embedded systems
Software update for embedded systems
 

Mehr von All Things Open

Building Reliability - The Realities of Observability
Building Reliability - The Realities of ObservabilityBuilding Reliability - The Realities of Observability
Building Reliability - The Realities of ObservabilityAll Things Open
 
Modern Database Best Practices
Modern Database Best PracticesModern Database Best Practices
Modern Database Best PracticesAll Things Open
 
Open Source and Public Policy
Open Source and Public PolicyOpen Source and Public Policy
Open Source and Public PolicyAll Things Open
 
Weaving Microservices into a Unified GraphQL Schema with graph-quilt - Ashpak...
Weaving Microservices into a Unified GraphQL Schema with graph-quilt - Ashpak...Weaving Microservices into a Unified GraphQL Schema with graph-quilt - Ashpak...
Weaving Microservices into a Unified GraphQL Schema with graph-quilt - Ashpak...All Things Open
 
The State of Passwordless Auth on the Web - Phil Nash
The State of Passwordless Auth on the Web - Phil NashThe State of Passwordless Auth on the Web - Phil Nash
The State of Passwordless Auth on the Web - Phil NashAll Things Open
 
Total ReDoS: The dangers of regex in JavaScript
Total ReDoS: The dangers of regex in JavaScriptTotal ReDoS: The dangers of regex in JavaScript
Total ReDoS: The dangers of regex in JavaScriptAll Things Open
 
What Does Real World Mass Adoption of Decentralized Tech Look Like?
What Does Real World Mass Adoption of Decentralized Tech Look Like?What Does Real World Mass Adoption of Decentralized Tech Look Like?
What Does Real World Mass Adoption of Decentralized Tech Look Like?All Things Open
 
How to Write & Deploy a Smart Contract
How to Write & Deploy a Smart ContractHow to Write & Deploy a Smart Contract
How to Write & Deploy a Smart ContractAll Things Open
 
Spinning Your Drones with Cadence Workflows, Apache Kafka and TensorFlow
 Spinning Your Drones with Cadence Workflows, Apache Kafka and TensorFlow Spinning Your Drones with Cadence Workflows, Apache Kafka and TensorFlow
Spinning Your Drones with Cadence Workflows, Apache Kafka and TensorFlowAll Things Open
 
DEI Challenges and Success
DEI Challenges and SuccessDEI Challenges and Success
DEI Challenges and SuccessAll Things Open
 
Scaling Web Applications with Background
Scaling Web Applications with BackgroundScaling Web Applications with Background
Scaling Web Applications with BackgroundAll Things Open
 
Supercharging tutorials with WebAssembly
Supercharging tutorials with WebAssemblySupercharging tutorials with WebAssembly
Supercharging tutorials with WebAssemblyAll Things Open
 
Using SQL to Find Needles in Haystacks
Using SQL to Find Needles in HaystacksUsing SQL to Find Needles in Haystacks
Using SQL to Find Needles in HaystacksAll Things Open
 
Configuration Security as a Game of Pursuit Intercept
Configuration Security as a Game of Pursuit InterceptConfiguration Security as a Game of Pursuit Intercept
Configuration Security as a Game of Pursuit InterceptAll Things Open
 
Scaling an Open Source Sponsorship Program
Scaling an Open Source Sponsorship ProgramScaling an Open Source Sponsorship Program
Scaling an Open Source Sponsorship ProgramAll Things Open
 
Build Developer Experience Teams for Open Source
Build Developer Experience Teams for Open SourceBuild Developer Experience Teams for Open Source
Build Developer Experience Teams for Open SourceAll Things Open
 
Deploying Models at Scale with Apache Beam
Deploying Models at Scale with Apache BeamDeploying Models at Scale with Apache Beam
Deploying Models at Scale with Apache BeamAll Things Open
 
Sudo – Giving access while staying in control
Sudo – Giving access while staying in controlSudo – Giving access while staying in control
Sudo – Giving access while staying in controlAll Things Open
 
Fortifying the Future: Tackling Security Challenges in AI/ML Applications
Fortifying the Future: Tackling Security Challenges in AI/ML ApplicationsFortifying the Future: Tackling Security Challenges in AI/ML Applications
Fortifying the Future: Tackling Security Challenges in AI/ML ApplicationsAll Things Open
 
Securing Cloud Resources Deployed with Control Planes on Kubernetes using Gov...
Securing Cloud Resources Deployed with Control Planes on Kubernetes using Gov...Securing Cloud Resources Deployed with Control Planes on Kubernetes using Gov...
Securing Cloud Resources Deployed with Control Planes on Kubernetes using Gov...All Things Open
 

Mehr von All Things Open (20)

Building Reliability - The Realities of Observability
Building Reliability - The Realities of ObservabilityBuilding Reliability - The Realities of Observability
Building Reliability - The Realities of Observability
 
Modern Database Best Practices
Modern Database Best PracticesModern Database Best Practices
Modern Database Best Practices
 
Open Source and Public Policy
Open Source and Public PolicyOpen Source and Public Policy
Open Source and Public Policy
 
Weaving Microservices into a Unified GraphQL Schema with graph-quilt - Ashpak...
Weaving Microservices into a Unified GraphQL Schema with graph-quilt - Ashpak...Weaving Microservices into a Unified GraphQL Schema with graph-quilt - Ashpak...
Weaving Microservices into a Unified GraphQL Schema with graph-quilt - Ashpak...
 
The State of Passwordless Auth on the Web - Phil Nash
The State of Passwordless Auth on the Web - Phil NashThe State of Passwordless Auth on the Web - Phil Nash
The State of Passwordless Auth on the Web - Phil Nash
 
Total ReDoS: The dangers of regex in JavaScript
Total ReDoS: The dangers of regex in JavaScriptTotal ReDoS: The dangers of regex in JavaScript
Total ReDoS: The dangers of regex in JavaScript
 
What Does Real World Mass Adoption of Decentralized Tech Look Like?
What Does Real World Mass Adoption of Decentralized Tech Look Like?What Does Real World Mass Adoption of Decentralized Tech Look Like?
What Does Real World Mass Adoption of Decentralized Tech Look Like?
 
How to Write & Deploy a Smart Contract
How to Write & Deploy a Smart ContractHow to Write & Deploy a Smart Contract
How to Write & Deploy a Smart Contract
 
Spinning Your Drones with Cadence Workflows, Apache Kafka and TensorFlow
 Spinning Your Drones with Cadence Workflows, Apache Kafka and TensorFlow Spinning Your Drones with Cadence Workflows, Apache Kafka and TensorFlow
Spinning Your Drones with Cadence Workflows, Apache Kafka and TensorFlow
 
DEI Challenges and Success
DEI Challenges and SuccessDEI Challenges and Success
DEI Challenges and Success
 
Scaling Web Applications with Background
Scaling Web Applications with BackgroundScaling Web Applications with Background
Scaling Web Applications with Background
 
Supercharging tutorials with WebAssembly
Supercharging tutorials with WebAssemblySupercharging tutorials with WebAssembly
Supercharging tutorials with WebAssembly
 
Using SQL to Find Needles in Haystacks
Using SQL to Find Needles in HaystacksUsing SQL to Find Needles in Haystacks
Using SQL to Find Needles in Haystacks
 
Configuration Security as a Game of Pursuit Intercept
Configuration Security as a Game of Pursuit InterceptConfiguration Security as a Game of Pursuit Intercept
Configuration Security as a Game of Pursuit Intercept
 
Scaling an Open Source Sponsorship Program
Scaling an Open Source Sponsorship ProgramScaling an Open Source Sponsorship Program
Scaling an Open Source Sponsorship Program
 
Build Developer Experience Teams for Open Source
Build Developer Experience Teams for Open SourceBuild Developer Experience Teams for Open Source
Build Developer Experience Teams for Open Source
 
Deploying Models at Scale with Apache Beam
Deploying Models at Scale with Apache BeamDeploying Models at Scale with Apache Beam
Deploying Models at Scale with Apache Beam
 
Sudo – Giving access while staying in control
Sudo – Giving access while staying in controlSudo – Giving access while staying in control
Sudo – Giving access while staying in control
 
Fortifying the Future: Tackling Security Challenges in AI/ML Applications
Fortifying the Future: Tackling Security Challenges in AI/ML ApplicationsFortifying the Future: Tackling Security Challenges in AI/ML Applications
Fortifying the Future: Tackling Security Challenges in AI/ML Applications
 
Securing Cloud Resources Deployed with Control Planes on Kubernetes using Gov...
Securing Cloud Resources Deployed with Control Planes on Kubernetes using Gov...Securing Cloud Resources Deployed with Control Planes on Kubernetes using Gov...
Securing Cloud Resources Deployed with Control Planes on Kubernetes using Gov...
 

Kürzlich hochgeladen

Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
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
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
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
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
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
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
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
 
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
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 

Kürzlich hochgeladen (20)

Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
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?
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
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
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
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!
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
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
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
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
 

Preventing Supply Chain Attacks on Open Source Software

  • 1. Preventing Supply Chain Attacks on Open Source Software 1 March 29, 2022
  • 4. Confidential 4 AGENDA ● Software Supply Chain Attacks ● OWASP Dependency Track ● Supply chain attacks in Mobile Apps ● Implementing Supply chain Frameworks
  • 5. Explosion on supply chain attacks Supply chain attacks on open source software packages increased by 650% in 2021 5
  • 6. Confidential 6 Software Supply chain • A software supply chain attack happens when adversaries manipulate the code in third-party software components in order to compromise the ‘downstream’ applications that use them. • Attackers leverage compromised software to steal data, corrupt targeted systems, or to gain access to other parts of the victim’s network through lateral movement. • Any other ‘upstream’ part of an organization’s supply chain can be thus targeted, including application developers, publishers of off-the-shelf software like SolarWinds, API providers, and the open source community.
  • 7. Confidential 7 Software Supply chain • Need to have a comprehensive map of the dependences used by their applications • Be Alert to vulnerability disclosures • Build a robust system for patching security issues. Key Step : First and Foremost application dependencies have to be mapped
  • 8. Confidential 8 Software Bill of Materials (SBOM) ● Software bill of materials is an inventory of all software components (proprietary and open source), open source licenses, and dependencies in a given product. ● A software bill of materials (SBOM) provides visibility into the software supply chain and any license compliance, security, and quality risks that may exist ● CycloneDX - lightweight software bill-of-material (SBOM) spec designed for supply chain component analysis.
  • 9. Confidential 9 OWASP Dependency Track - Features • Components with known vulnerabilities • Out-of-date components • License risk
  • 11. Confidential 11 Dependency Track - Integration ● National Vulnerability Database(NVD) ● Github Advisories ● Repositories including NPM, PyPi etc ● Sontatype OSS Index ● Private Vulnerability Repository
  • 12. Confidential 12 Dependency Track - EcoSystem • Maven (Java) • NPM (JS) • Pypi (Python) • Gems (Ruby) • NuGet (.NET) • Hex (Erlang/Elixir)
  • 13. Confidential 13 Dependency Track - Database & LDAP support Database: ● Includes H2 by default - not for production, used for quick evaluation & Testing ● Microsoft SQL Server ● MySQL ● PostgreSQL LDAP: ● Active Directory ● Apache DS ● Fedora 389
  • 15. Confidential 15 Software Bill of Materials (BOM)
  • 16. Confidential 16 Software Bill of Materials (BOM)
  • 17. Confidential 17 Dependency Track - How to Get Started • Minimum Requirements : Java 8 u162 (or higher) • java -Xmx12G -jar dependency-track-embedded.war -port 8081 • Launch the application. • OWASP Dependency Track Launched
  • 18. Confidential 18 Dependency Track - Project Creation
  • 19. Dependency Track -Upload BOM Confidential 19
  • 21. Dependency Track - Scan for Vulnerabilities Confidential 21
  • 22. Confidential 22 Dependency Track - Project Vulnerabilities Overview
  • 23. Confidential 23 Dependency Track - Auditing Project auditing is the process of triaging findings on the components for each project. Audit decisions, comments, and audit history performed on a project
  • 24. Confidential 24 Vulnerability Analysis Known Vulnerability Analysis ● integrates with multiple sources of vulnerability intelligence to identify components with known vulnerabilities. ● employs several methods of vulnerability identification including OSS Index analyzer, VulnDB analyzer Outdated Component Vulnerability Analysis ● use of components which do not have known vulnerabilities but are not the latest release, also represent risk ● By keeping components consistently updated, organizations are better prepared to respond with urgency when a vulnerability affecting a component
  • 25. Confidential 25 Dependency Track - Jenkins Integration ● Dependency-Track Jenkins Plugin is the recommended for publishing CycloneDX BOMs to Dependency-Track in a Jenkins environment
  • 26. Confidential 26 Dependency Track - Jenkins Integration
  • 27. Confidential 27 Dependency Track - Impact Analysis ● Analyze the potential for impact of a vulnerability in the environment. ● Dependency-Track can help identify all affected projects across the organization ● Can help organizations answer two important questions: What is affected? Where am I affected? ● For example, search by a library say, structs 2.3.5 or search by CVE
  • 28. Confidential 28 Dependency Track - Impact Analysis ● perform vendor risk assessments and identifying potential risk in third-party software during and after procurement. ● Ability for vendors to generate Software Bill of Materials (SBOM) demonstrates a certain level of organizational maturity
  • 29. Confidential 29 Supply Chain Component Analysis Component Analysis is Process of identifying potential areas of risk from the use of third-party and open-source software and hardware components. Component Analysis is a function within an overall Cyber Supply Chain Risk Management (C-SCRM) framework.
  • 31. Supply Chain Attacks in Mobile Application NIST/Google SLSA Access Control Harderden the CI/CD pipeline Testing Feature Disable provision Secure CryptoVault Monitoring Provenance Vulnerability Scanning Patching
  • 32. Open Source in Mobile App Mobile APP Malicious App/Bot Mobile Firmware Mobile Operating System Third Party Apps Your Application Mobile Hardware Requirements Design Development Testing Deployment/Di stribution Dependencies Supply Chain Third Party First Party
  • 33. Open Source -In Mobile Apps ● Open source is widely used in Mobile applications, providing attackers with a target-rich environment. ● How do you patch your OpenSource in your App and SDKs ● Are you aware of open source used in your code base ● Does it get the Job done? ● Does it have an open source license? ● Does it have good docs ● Does it have SDK that make use of Open source libraries ● Does it have lots of downloads and GitHub stars ● Does it have recent commits ● How do you defend against common attacks targeting known vulnerabilities. ● Hackers can exploit known open source security vulnerabilities as they are available and is published in the CVE database,
  • 34. NIST Mobile Threat Catalogue # Threat List Description 1 SPC-0: Malicious Code in Open Source Software An adversary with access to open source code and knowledge of its particular use for the system being acquired can insert malicious code into open source software used for libraries 2 SPC-1: Hardware or Firmware Component Interception A hardware or firmware component can be intercepted by an adversary while in transit between supplier and acquirer, for the purpose of substitution or manipulation 3 SPC-2: Malicious Critical Hardware Replacement Adversarial supply chain distribution channel personnel (e.g., packaging, shipping, receiving, or transfer) can intercept and replace legitimate critical hardware components with malicious ones 4 SPC-3: Malicious Software Inserted into Software Processes or Tools An adversary with access to software processes and tools within the development or software support environment can insert malicious software into components during development or update/maintenance 5 SPC-4: Malicious Logic Introduction A software or firmware programmer with access to the configuration control system can introduce malicious logic into software or microelectronics during coding and/or logic-bearing component development or update/maintenance 6 SPC-5: Malware Embedded in Critical Component An adversary with access to hardware procurement, maintenance, or upgrade control can embed malware in a critical component 7 SPC-6: Improperly Vetted or Untested Malicious Microelectronics An adversary with access to the hardware commodity procurement process can insert improperly vetted or untested malicious critical microelectronics components into the system during development 8 SPC-7: Hardware Component Substitution During Transfer An adversary with access to production component supplier shipping channels during transfer of system components can substitute a maliciously altered hardware component for a tested and approved component 9 SPC-8: Firmware Component Substitution During Transfer An adversary with access to supplier shipping channels during transfer of system components can substitute a counterfeit firmware component for an authentic component 10 SPC-9: Malicious Code in Custom Software An adversary with access privileges within the software development environment and to associated tools, including the software unit/component test system and the software configuration management system, can hide malicious code in custom software 11 SPC-10: Malicious Software in 3rd Party Bundling Process An adversary with access to 3rd party bundling processes and tools can implant malicious software in a system during the hardware-software integration phase 12 SPC-11: Vulnerable BIOS Installation An adversary with access to download and update system software installs a BIOS containing known vulnerabilities for future exploitation From NIST
  • 35. Malicious Code in Open Source Threat Description: An adversary with access to open source code and knowledge of its particular use for the system being acquired can insert malicious code into open source software used for libraries Mobile App Developer- Possible Countermeasure Prefer open source software libraries for which integrity-checking mechanisms are provided To increase the complexity of this attack, when possible, obtain multiple instances of the same library as hosted by various sources (e.g., FTP mirrors) from which it should be available. Then evaluate all obtained versions for consistency (e.g., compare strong hashes). If any discrepancies are detected, contact the open source software developer To reduce the probability this variety of attack goes undetected at runtime, implement defensive programming. Any call to untrusted code that can impact critical functionality of the system should include checks on the output for conditions that should always be true given an assumption the library behaves as expected To protect open source library used by a product from modification, then if possible, package a verified authentic instance of the open source library and apply cryptographic protections (e.g., strong hashing, digital signatures) to the product to allow customers to verify the authenticity and integrity of all packaged components To prevent distributing a software package that contains maliciously modified open source libraries, perform sufficient functional testing of the complete system to verify that it exhibits correct and consistent behavior
  • 36. Supply Chain Level for Software Artifacts SLSA is a set of standards and technical controls you can adopt to improve artifact integrity, and build towards completely resilient systems. It’s not a single tool, but a step-by-step outline to prevent artifacts being tampered with and tampered artifacts from being used, and at the higher levels, hardening up the platforms that make up a supply chain.
  • 37. https://slsa.dev/spec/v0.1/#supply-chain-threats Protecting Against Key Threats Reduce Dependency Confusion Issues Typosquatting Using Red Team Tests Against Supply Chain Attacks Open Source Third Party SDK/Lib Mobile APP source SCM CI/CD Distribution To APP Store
  • 42. Confidential 42 References • https://dependencytrack.org/ • https://pages.nist.gov/mobile-threat-catalogue/supply-chain-threats/SPC-0.html • https://slsa.dev/spec/v0.1/#supply-chain-threats