Slide 1

Slide 1 text

Secure Software Ecosystem 22 May - Soroosh Khodami & Ali Yazdani

Slide 2

Slide 2 text

NOT VERY LONG AGO

Slide 3

Slide 3 text

██╗░░░░░░█████╗░░██████╗░░░██╗██╗░██████╗██╗░░██╗███████╗██╗░░░░░██╗░░░░░ ██║░░░░░██╔══██╗██╔════╝░░██╔╝██║██╔════╝██║░░██║██╔════╝██║░░░░░██║░░░░░ ██║░░░░░██║░░██║██║░░██╗░██╔╝░██║╚█████╗░███████║█████╗░░██║░░░░░██║░░░░░ ██║░░░░░██║░░██║██║░░╚██╗███████║░╚═══██╗██╔══██║██╔══╝░░██║░░░░░██║░░░░░ ███████╗╚█████╔╝╚██████╔╝╚════██║██████╔╝██║░░██║███████╗███████╗███████╗ ╚══════╝░╚════╝░░╚═════╝░░░░░░╚═╝╚═════╝░╚═╝░░╚═╝╚══════╝╚══════╝╚══════╝ CVE-2021-44228 CVSS Score 10 / 10 CVE-2024-3094 CVSS Score 10 / 10 CVE-2022-22965 CVSS Score 9.8 / 10 CVE-2020-10148 CVSS Score 9.8 / 10

Slide 4

Slide 4 text

We are living in unsecure world everything is probable to get exploited. We could be the next target, are we ready ?

Slide 5

Slide 5 text

of all downloads of Log4J are still vulnerable to the Log4Shell Vulnerability 30% Reported By Sonatype (Maven Central) Previous Update: https://www.sonatype.com/en/press-releases/critical-log4j-vulnerability-still-being-downloaded-40-of-the-time 2 Years After Release

Slide 6

Slide 6 text

WHY WE ARE HERE SECURITY ENGINEER D E V I L D E V E L O P E R

Slide 7

Slide 7 text

WHO WE ARE SECURITY ENGINEER D E V E L O P E R Ali Yazdani Soroosh Khodami +10 Years of Software Development Experience Researcher in Software Supply Chain Security Solution Architect at Rabobank via Code Nomads +10 Years of Security Experience Principal Security Engineer @ Scoutbee OWASP DevSecOps Guideline Project Lead @SorooshKh linkedin.com/in/sorooshkhodami ASecurityEngineer.com @asecengineer linkedin.com/in/aliyazdani

Slide 8

Slide 8 text

CLASSIC CYBER ATTACKS SQL Injection Cross-Site Scripting (XSS) Cross-Site Request Forgery (CSRF) DDoS Man-in-the-Middle Remote Command Execution Malware Injection Buffer Overflow Privilege Escalation Zero-Day Exploits Server-Side Forgery (SSRF) Read More § https://portswigger.net/web-security/learning-paths § https://www.certifiedsecure.com Phishing

Slide 9

Slide 9 text

Security Risk Tranformation Read More https://owasp.org/www-project-top-ten/

Slide 10

Slide 10 text

Supply chain attack Dependency Confusion Software Supply Chain Hijacking Counterfeit Components Third-Party Compromise Compromised Build Environments

Slide 11

Slide 11 text

Dependency Confusion mycompany-ui-component version : 6.6.6 mycompany-ui-component version : 1.2.5 Private Repository Source Code ? Read More • How it started - https://medium.com/@alex.birsan/dependency-confusion-4a5d60fec610

Slide 12

Slide 12 text

HOW TO DOWNLOAD WHOLE INTERNET WITH ONE COMMAND ?

Slide 13

Slide 13 text

$ npm install

Slide 14

Slide 14 text

Let’s create a HELLO WORLD APP

Slide 15

Slide 15 text

HELLO WORLD Dependency GRAPH Depth = 0 -> 1 Dependency Depth = 1 -> 32 Dependencies Depth = 2 -> 65 Dependencies

Slide 16

Slide 16 text

Supply Chain Protection Best Practices Reserve Namespace / Scope / Prefix Version Pinning No Latest or Range Package Integrity Check Using SCA Tools Using Dependency Firewall Official Repositories MUST GOOD NICE Read More • How it started - https://medium.com/@alex.birsan/dependency-confusion-4a5d60fec610 • https://xygeni.io/blog/lack-of-version-pinning-and-dependency-confusion/ • https://github.blog/2021-02-12-avoiding-npm-substitution-attacks/ • https://books.sonatype.com/mvnref-book/reference/running-sect-options.html#running-sect-deps-option Keep Dependencies Up to Date Clean Up Unused Libraries Immutable Versions

Slide 17

Slide 17 text

When Security is Involved in Software Development? Application Development Journey Already Changed!

Slide 18

Slide 18 text

Traditional Approach Design Develop Deploy Staging Production Lucky security tester Unlucky security tester

Slide 19

Slide 19 text

Detect Early, Pay Less! Refrence https://www.nowsecure.com/blog/2017/05/10/level-up-mobile-app-security-metrics-to-measure-success/ https://www.packtpub.com/product/practical-cybersecurity-architecture/9781838989927

Slide 20

Slide 20 text

Modern Approach Design Develop Deploy Staging Production § DAST § Load/Stress Test § 4-Eyes Principle § Secret Scanning § SAST/SCA § IaC Scanning § Container Image Scanning § Security Design § Threat Modelling S H I F T L E F T Phases can cover but can't replace each other. • Continuous Dependency Monitoring • Firewall • Runtime Application Security • Pentest / Bug Bounty • Vulnerability Disclosure Program • Logging & Monitoring • Cloud Native Application Protection Read more • OWASP DevSecOps Guideline - https://github.com/OWASP/DevSecOpsGuideline

Slide 21

Slide 21 text

Still ... lop Deploy Staging Production § DAST § Container Image Scanning § Load/Stress Test t Scanning SCA canning • Continuous Dependency Monitoring • Firewall • Runtime Application Security • Pentest / Bug Bounty • Vulnerability Disclosure Program • Logging & Monitoring • Cloud Native Application Protection https://www.youtube.com/watch?v=gdsUKphmB3Y Read more • OWASP DevSecOps Guideline - https://github.com/OWASP/DevSecOpsGuideline

Slide 22

Slide 22 text

Continuous Dependency Monitoring In Production

Slide 23

Slide 23 text

Continuous Dependency Monitoring Generating list of Dependencies (SBOM) Continuous Monitoring After Deploying to Production

Slide 24

Slide 24 text

Software Bill of Material (SBOM) Dependencies Components / Libraries Licenses Vulnerabilities Suppliers App Meta-Data App Identifier Authors

Slide 25

Slide 25 text

Which Application ? Who to contact ? How to Fix ? How to detect ? ██╗░░░░░░█████╗░░██████╗░░░██╗██╗░██████╗██╗░░██╗███████╗██╗░░░░░██╗░░░░░ ██║░░░░░██╔══██╗██╔════╝░░██╔╝██║██╔════╝██║░░██║██╔════╝██║░░░░░██║░░░░░ ██║░░░░░██║░░██║██║░░██╗░██╔╝░██║╚█████╗░███████║█████╗░░██║░░░░░██║░░░░░ ██║░░░░░██║░░██║██║░░╚██╗███████║░╚═══██╗██╔══██║██╔══╝░░██║░░░░░██║░░░░░ ███████╗╚█████╔╝╚██████╔╝╚════██║██████╔╝██║░░██║███████╗███████╗███████╗ ╚══════╝░╚════╝░░╚═════╝░░░░░░╚═╝╚═════╝░╚═╝░░╚═╝╚══════╝╚══════╝╚══════╝ CVE-2021-44228 CVSS Score 10 / 10 h Application ? Who to contact ? How to Fix ? How to detect ? cation ? Who to contact ? How to Fix ? How to detect ? Which Application ? Who to contact ? How to Fix ? How to d Which Application ? Who to contact ? How x ? How to detect ?

Slide 26

Slide 26 text

SBOM Management SBOM In Practice SBOM App SBOM App SBOM App SBOM App Continuous Monitoring ZERO DAY ALERT ! Search Apps Based On Dependency or CVE Which Applications ? Authors/Committers Information is Available Who to Contact ? Continuous Monitoring on New SBOMs Are we safe now ? (Realtime-overview) Application Metadata Prioritization on Fix

Slide 27

Slide 27 text

How to Generate SBOM

Slide 28

Slide 28 text

SBOM Generation Artifact Container Image Source Code Runtime Env

Slide 29

Slide 29 text

SBOM Journey In CI/CD Generate Software Bill of Material

Slide 30

Slide 30 text

SBOM Generation - Generic Read more • OWASP DevSecOps Guideline https://github.com/OWASP/DevSecOpsGuideline

Slide 31

Slide 31 text

SBOM Generation – Java Ecosystem Version +3.3 Read more • OWASP DevSecOps Guideline https://github.com/OWASP/DevSecOpsGuideline • Securing the Supply Chain for Your Java Applications by THOMAS VITALE - https://www.youtube.com/watch?v=VM7lJ0f_xhQ

Slide 32

Slide 32 text

SBOM Generation - Docker Read more • OWASP DevSecOps Guideline - https://github.com/OWASP/DevSecOpsGuideline • Securing the Supply Chain for Your Java Applications by THOMAS VITALE - https://www.youtube.com/watch?v=VM7lJ0f_xhQ • https://earthly.dev/blog/docker-sbom/

Slide 33

Slide 33 text

Software Composition Analysis (SCA)

Slide 34

Slide 34 text

SBOM Journey In CI/CD Software Composition Analysis (SCA)

Slide 35

Slide 35 text

Software Composition Analysis (SCA)

Slide 36

Slide 36 text

Software Composition Analysis (SCA) Commercial Free/Open-Source Read more • OWASP DevSecOps Guideline - https://github.com/OWASP/DevSecOpsGuideline

Slide 37

Slide 37 text

SBOM Journey In CI/CD SBOM Management & Continious Monitoring

Slide 38

Slide 38 text

SBOM Management

Slide 39

Slide 39 text

SBOM Management Commercial Tools Free / Open-Source OWASP Dependency Track Read more • OWASP DevSecOps Guideline https://github.com/OWASP/DevSecOpsGuideline

Slide 40

Slide 40 text

Am I Prepared Now? Firewall Continuous Monitoring Logging & Monitoring

Slide 41

Slide 41 text

No content

Slide 42

Slide 42 text

Dev Sec Ops

Slide 43

Slide 43 text

The team story

Slide 44

Slide 44 text

The team story DevSecOps destroy silos to achieve the goal of delivering secure and stable software quickly.

Slide 45

Slide 45 text

Regulations Insights

Slide 46

Slide 46 text

Regulations Read more • NITA - https://www.ntia.gov/page/software-bill-materials • NIST - https://www.nist.gov/itl/executive-order-14028-improving-nations-cybersecurity/software-security-supply-chains-software-1+ • EU Cyber Resilience Act (CRA) § Executive Order 14028 on Improving the Nation’s Cybersecurity § DHS Software Supply Chain Risk Management Act § FDA Medical Device Cybersecurity Requirements § NIST SP 800-218 • DORA – EU Cyber Resilience Operation (Financial Sector) • GERMANY – TR - 03183: SBOM Requirements for CRA

Slide 47

Slide 47 text

Regulations –CRA Timeline NOW Enter Into Force 2024 – Q2 Deadline 2026 Q1 Read more • https://medium.com/@bugprove/eu-cyber-resilience-act-cra-all-you-need-to-know-in-a-nutshell-b843d149e18a

Slide 48

Slide 48 text

Regulations – DORA Timeline NOW Enter Into Force Deadline 2025 - Q1 Read more • https://www.eiopa.europa.eu/digital-operational-resilience-act-dora_en • https://www.eiopa.europa.eu/document/download/2888a8e8-4a20-4e27-ad51-7ad4e5b511f7_en

Slide 49

Slide 49 text

Standards ISO/IEC 27036 Cybersecurity — Supplier relationships Frameworks Supply-chain Levels for Software Artifacts Read more • https://www.iso.org/standard/82905.html • https://cyclonedx.org • https://spdx.dev/ • https://slsa.dev/ SBOM Format Standard Software package data exchange (SPDX) SBOM Format Standard CycloneDX (CDX)

Slide 50

Slide 50 text

Thanks for your attention If you have any other questions, you can reach out to us via Social Media @SorooshKh linkedin.com/in/sorooshkhodami @asecengineer linkedin.com/in/aliyazdani

Slide 51

Slide 51 text

No content