SlideShare a Scribd company logo
Threat Modeling the CI/CD
Pipeline to Improve Software
Supply Chain Security
Dan Cornell
CTO, Denim Group
Agenda
• Risk Exposure from Software Build Pipeline
• Constituents and Stakeholders
• Drivers for Change
• Threat Modeling Overview
• Supporting Infrastructure
• Pipeline Threat Model
• Using the Threat Model
• Questions
Notable Incidents
• SolarWinds
• Compromised server in build infrastructure
• CodeCov
• Compromised container server
• Potentially spawning Executive Order, other government activity
Fundamental Disconnect
• We have developed tremendous tooling and automation that allows
us to create secure, reliable software at a scale not previously
considered
• The way we deploy and deliver this tooling puts us in a situation
where we can't actually trust anything that comes out of it
• Oops
Fractal Attack Surface
The closer you look, the more you find
Confidentiality Impact
• IP disclosure
• Leaked secrets
• Vulnerability disclosure
Integrity Impact
• Backdoors
• Other unwanted behaviors
• Compromised cryptography
Availability Impact
• Development pipeline infrastructure is hyper-connected
• Release delays
• Absence or misbehavior of supporting services
Threat Modeling Overview
• Full overview beyond the scope of this talk
• Some background for reference
• https://www.denimgroup.com/resources/blog/2014/07/modeling-builders-breakers/
• Let's learn as we go
Supporting Infrastructure
• Fixed assets vs ephemeral assets
• Scanning/patching regimen
• Who is responsible for this infrastructure?
• "Corporate" or a DevOps team?
The Perimeter is the Problem
• Critical part of threat modeling process – what is in/what is out?
• For modern CI/CD pipelines: turns out to be maddeningly hard
(impossible) to determine the boundary
• Many steps with lots of moving parts
• Dynamic attack surface: tomorrow may be different than today
• DevOps team members can often add stages/tools/elements with minimal supervision
• Fractal complexity
• Approach: Start with code commit and follow the workflow
Example CI/CD Pipeline Dataflow
General/Overarching Concerns
• Lots of network traffic
• Protect with TLS to guard Confidentiality, Integrity
• Lots of authentication points / IAM concerns
• Often multiple methods/avenues per system: interactive + API (+ other?)
• User <-> System
• System <-> System
• Is there a comprehensive IAM paradigm in place, or a combination of
overlapping approaches?
General/Overarching Concerns
• Data storage concerns
• How is data at rest protected? (Especially file/block storage)
• What are your unknown-unknowns
• External services and provides that are (generally) unknown but part of the
process
• Any developer with a GitHub account is now their own purchasing agent
Source Repository and Workflow Engine
Source Repository and Workflow Engine
• Sources of (custom) code
• In-house developers
• 3rd party development teams
• Likely different risk profiles
• Do contributions go through different workflows?
Source Repository and Workflow Engine
• Authentication
• Developers authenticating to push/pull code
• Developers authenticating to evaluate/approve merge requests
• External system API access
• Webhooks
• Additionally for Hosted Repositories/Workflows
• GitHub: Apps and Actions
• GitLab: Integrations
• Both: External collaborators
Open Source Component Management
Open Source Component Management
• Are you:
• Directly pulling from Central repositories
• Proxying requests through a Remote repository
• Ability to enforce policies
• Known security vulnerabilities in open source components
• License restrictions on open source components
Open Source Backdoor Concerns
• PHP example
• https://arstechnica.com/gadgets/2021/03/hackers-backdoor-php-source-code-after-breaching-internal-git-server/
• Linux kernel example
• https://www.techrepublic.com/article/linux-kernel-security-uproar-what-some-people-missed/
• Not realistic to detect
• Maintainers don't even have the bandwidth
• Have to be able to respond
• Pulling from Remote vs directly from Central
• Policies on acceptable (and unacceptable) versions
Build Management
Build Management
• Combining source code and open source components to create a new
build
• How often run:
• Every merge request
• Accepted merge requests
• Specific branches/tags
• Maven plugins – yet another source of code you can't trust that runs
in your environment!
Automated Testing
Automated Testing
• Most common types of testing:
• Unit testing
• Acceptance testing
• Other common analysis:
• Code quality ("smells")
• Code metrics (complexity, etc)
• Code coverage
Automated Testing: Security Testing
• SAST
• What is being analyzed: source or binary
• For a given language: is "binary" even a thing?
• Where is the analysis being performed: on-network, in the cloud
• Where are the results being stored: on-network, in the cloud
• DAST
• Where is the server being tested: on-network, in the cloud
• Where is the test traffic being generated: on-network, in the cloud, proxied
onto-network
• Where are the results being storoed: on-network, in the cloud
Automated Testing: Security Testing (cont'd)
• IAST
• Where is the server being tested: on-network, in the cloud
• Where is the test traffic being generated: on-network, in the cloud,
proxied onto-network
• Where are the results being stored: on-network, in the cloud
• SCA
• Where is the analysis being performed: on-network, in the cloud
• Where are the results being stored: on-network, in the cloud
Security Testing and Backdoors
• Best backdoor: Normal-looking security vulnerability
• "Oops, sorry I introduced that [SQL injection|missing auth check|etc]
• Other types of backdoor detection
• Static analysis – see the theoretical behavior of the application
• Look for suspicious behavior patterns
• References:
• https://www.acsac.org/2007/workshop/Wysopal.pdf
• https://www.veracode.com/sites/default/files/Resources/Whitepapers/static-detection-of-
backdoors-1.0.pdf
• https://owasp.org/www-pdf-archive/Protecting_the_Enterprise_-_Software_Backdoors.pdf
• https://owasp.org/www-pdf-archive/Protecting_Your_Applications_From_Backdoors.pdf
Software Packaging and Distribution
Software Packaging
• Monolithic applications vs. Microservice applications
• Application binary vs. Application binaries combined with containers
• Source container management is very similar to open source
component management
• Code signing is important
• But signed malicious/vulnerable code is still malicious/vulnerable code
Software Distribution
• Now the software should be ready too distribute to customers
• Internal
• External
• How is the software distributed?
• Binary
• Binary + Container
• Binaries + Containers + orchestration
• How are builds verified?
• Checksums
Two Exercises
• Passive: Grab netflow data from your build environment and see
what it talks to
• Active: Follow code change from checkout to release
• Spoiler alert: the active exercise where I engaged the development
team was more productive
Reviewing Netflow Data
• Pull netflow logs from network where development infrastructure is hosted
• Look at what the build infrastructure talks to
• Code repositories
• Open source component repositories
• Testing services
• Other services <- Area of concern
• Container repositories
• In practice
• Identified some interesting communications
• "Expensive" to run down results
• "High" false positive rate
Netflow Data Review
[Run through cleaned up data from build infrastructure netflow review]
Follow a Code Change
• Change code
• Check out code (and make changes)
• Create merge request
• Review merge request
• Run build
• Pull code
• Pull open source components
• Automated testing
• Unit tests
• Acceptance tests
• Security tests
• Other tests
• Accept build
• Push to distribution
• Distribute software
Questions to ask at each stage
• How does this user/system authenticate to
the next step
• Where is the server/service that performs this
step
• Where possible: show, don't tell
• Look at the UI developers look at
• Ask questions about where data comes from
GitLab Walkthrough
Jenkins Walkthrough
GitHub Walkthrough
Parallel Build Pipelines
• Have two or more separate, parallel build pipelines
• Compare artifacts at the end
• Goal is to force attackers to compromise multiple pathways
• Best way to get budget for this is to have a public breach of epic
proportions and suggest that your successor try it out
• How do you compare the outputs from multiple toolchains?
• Compare SBOM
• Asset enumeration
• Reverse engineering
• Live/behaviral testing
Using the Threat Model
• Identify gaps in your own pipeline security
• What can you shore up?
• What do you have to live with?
• How do you respond to incidents?
• Have meaningful conversations with suppliers of your software
• Understand their practices
• Push for change – vote with your wallet
• Be better able to detect malicious behavior
Vendor Management
Questions

More Related Content

PPTX
CLOUD NATIVE SECURITY
PDF
2019 DevSecOps Reference Architectures
PPTX
DevSecOps : an Introduction
PDF
The What, Why, and How of DevSecOps
PDF
DevSecOps and the CI/CD Pipeline
PDF
Shift Left Security
PDF
Introduction to DevSecOps
PPSX
Zero-Trust SASE DevSecOps
CLOUD NATIVE SECURITY
2019 DevSecOps Reference Architectures
DevSecOps : an Introduction
The What, Why, and How of DevSecOps
DevSecOps and the CI/CD Pipeline
Shift Left Security
Introduction to DevSecOps
Zero-Trust SASE DevSecOps

What's hot (20)

PPTX
DevSecOps: Key Controls to Modern Security Success
PDF
Demystifying DevSecOps
PPTX
Cloud security and security architecture
PPTX
Multi cloud security architecture
PPTX
Implementing an Application Security Pipeline in Jenkins
PDF
ATT&CK Updates- Defensive ATT&CK
PDF
DTS Solution - Building a SOC (Security Operations Center)
PDF
OWASP based Threat Modeling Framework
PPTX
Azure Advisor: Optimization in the best way
PDF
DevSecOps What Why and How
PDF
[Azure Governance] Lesson 4 : Azure Policy
PPTX
THE THREE DISCIPLINES OF CI/CD SECURITY, DANIEL KRIVELEVICH, Cider Security
PDF
MITRE ATT&CK Framework
PPTX
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 4, 5, 6
PPTX
DevSecOps Training Bootcamp - A Practical DevSecOps Course
PPTX
Advanced ClearPass Workshop
PDF
Threat Modeling Using STRIDE
PDF
Introduction: CISSP Certification
PDF
Ssdf nist
DevSecOps: Key Controls to Modern Security Success
Demystifying DevSecOps
Cloud security and security architecture
Multi cloud security architecture
Implementing an Application Security Pipeline in Jenkins
ATT&CK Updates- Defensive ATT&CK
DTS Solution - Building a SOC (Security Operations Center)
OWASP based Threat Modeling Framework
Azure Advisor: Optimization in the best way
DevSecOps What Why and How
[Azure Governance] Lesson 4 : Azure Policy
THE THREE DISCIPLINES OF CI/CD SECURITY, DANIEL KRIVELEVICH, Cider Security
MITRE ATT&CK Framework
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 4, 5, 6
DevSecOps Training Bootcamp - A Practical DevSecOps Course
Advanced ClearPass Workshop
Threat Modeling Using STRIDE
Introduction: CISSP Certification
Ssdf nist
Ad

Similar to Threat Modeling the CI/CD Pipeline to Improve Software Supply Chain Security (Raw Slides) (20)

PPTX
Rooted con 2020 - from the heaven to hell in the CI - CD
ODP
Dev ops ci-ap-is-oh-my_security-gone-agile_ut-austin
PDF
DevSecOps: What Why and How : Blackhat 2019
PDF
Hardening Your CI/CD Pipelines with GitOps and Continuous Security
PDF
Threat Modeling the CI/CD Pipeline to Improve Software Supply Chain Security ...
PDF
Webinar – Streamling Your Tech Due Diligence Process for Software Assets
PPTX
Contemporary software TRENDS SOFTWARE TRENDS
PPTX
BsidesMCR_2016-what-can-infosec-learn-from-devops
PPTX
Overcoming the old ways of working with DevSecOps - Culture, Data, Graph, and...
PDF
DevSecOps: Essential Tooling to Enable Continuous Security(25m ADDO)
PDF
The Future of DevSecOps
ODP
Making security-agile matt-tesauro
PDF
Coding Secure Infrastructure in the Cloud using the PIE framework
PPTX
Code Security with GitHub Advanced Security
PDF
Pragmatic Pipeline Security
PPTX
Succeeding-Marriage-Cybersecurity-DevOps final
PDF
DevSecOps: essential tooling to enable continuous security 2019-09-16
PPTX
Security and Software Engineering BSides St. John's 2017
PDF
DevSecOps: The Open Source Way
PDF
ThoughtWorks Technology Radar Roadshow - Brisbane
Rooted con 2020 - from the heaven to hell in the CI - CD
Dev ops ci-ap-is-oh-my_security-gone-agile_ut-austin
DevSecOps: What Why and How : Blackhat 2019
Hardening Your CI/CD Pipelines with GitOps and Continuous Security
Threat Modeling the CI/CD Pipeline to Improve Software Supply Chain Security ...
Webinar – Streamling Your Tech Due Diligence Process for Software Assets
Contemporary software TRENDS SOFTWARE TRENDS
BsidesMCR_2016-what-can-infosec-learn-from-devops
Overcoming the old ways of working with DevSecOps - Culture, Data, Graph, and...
DevSecOps: Essential Tooling to Enable Continuous Security(25m ADDO)
The Future of DevSecOps
Making security-agile matt-tesauro
Coding Secure Infrastructure in the Cloud using the PIE framework
Code Security with GitHub Advanced Security
Pragmatic Pipeline Security
Succeeding-Marriage-Cybersecurity-DevOps final
DevSecOps: essential tooling to enable continuous security 2019-09-16
Security and Software Engineering BSides St. John's 2017
DevSecOps: The Open Source Way
ThoughtWorks Technology Radar Roadshow - Brisbane
Ad

More from Denim Group (20)

PDF
Long-term Impact of Log4J
PDF
Optimizing Security Velocity in Your DevSecOps Pipeline at Scale
PDF
Application Asset Management with ThreadFix
PDF
OWASP San Antonio Meeting 10/2/20
PDF
AppSec Fast and Slow: Your DevSecOps CI/CD Pipeline Isn’t an SSA Program
PDF
Using Collaboration to Make Application Vulnerability Management a Team Sport
PDF
Managing Penetration Testing Programs and Vulnerability Time to Live with Thr...
PDF
Security Champions: Pushing Security Expertise to the Edges of Your Organization
PDF
The As, Bs, and Four Cs of Testing Cloud-Native Applications
PDF
An Updated Take: Threat Modeling for IoT Systems
PPTX
Continuous Authority to Operate (ATO) with ThreadFix – Bringing Commercial In...
PDF
A New View of Your Application Security Program with Snyk and ThreadFix
PDF
Enabling Developers in Your Application Security Program With Coverity and Th...
PDF
AppSec in a World of Digital Transformation
PDF
The As, Bs, and Four Cs of Testing Cloud-Native Applications
PDF
Enabling Developers in Your Application Security Program With Coverity and Th...
PDF
AppSec in a World of Digital Transformation
PDF
Enumerating Enterprise Attack Surface
PDF
Enumerating Enterprise Attack Surface
PDF
Assessing Business Operations Risk With Unified Vulnerability Management in T...
Long-term Impact of Log4J
Optimizing Security Velocity in Your DevSecOps Pipeline at Scale
Application Asset Management with ThreadFix
OWASP San Antonio Meeting 10/2/20
AppSec Fast and Slow: Your DevSecOps CI/CD Pipeline Isn’t an SSA Program
Using Collaboration to Make Application Vulnerability Management a Team Sport
Managing Penetration Testing Programs and Vulnerability Time to Live with Thr...
Security Champions: Pushing Security Expertise to the Edges of Your Organization
The As, Bs, and Four Cs of Testing Cloud-Native Applications
An Updated Take: Threat Modeling for IoT Systems
Continuous Authority to Operate (ATO) with ThreadFix – Bringing Commercial In...
A New View of Your Application Security Program with Snyk and ThreadFix
Enabling Developers in Your Application Security Program With Coverity and Th...
AppSec in a World of Digital Transformation
The As, Bs, and Four Cs of Testing Cloud-Native Applications
Enabling Developers in Your Application Security Program With Coverity and Th...
AppSec in a World of Digital Transformation
Enumerating Enterprise Attack Surface
Enumerating Enterprise Attack Surface
Assessing Business Operations Risk With Unified Vulnerability Management in T...

Recently uploaded (20)

PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Empathic Computing: Creating Shared Understanding
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Approach and Philosophy of On baking technology
PDF
Mushroom cultivation and it's methods.pdf
PPTX
Spectroscopy.pptx food analysis technology
PPTX
Tartificialntelligence_presentation.pptx
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PPTX
1. Introduction to Computer Programming.pptx
PDF
Machine learning based COVID-19 study performance prediction
PDF
Network Security Unit 5.pdf for BCA BBA.
PPTX
SOPHOS-XG Firewall Administrator PPT.pptx
PDF
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
PDF
Univ-Connecticut-ChatGPT-Presentaion.pdf
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
Mobile App Security Testing_ A Comprehensive Guide.pdf
Spectral efficient network and resource selection model in 5G networks
Empathic Computing: Creating Shared Understanding
NewMind AI Weekly Chronicles - August'25-Week II
MIND Revenue Release Quarter 2 2025 Press Release
Per capita expenditure prediction using model stacking based on satellite ima...
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Approach and Philosophy of On baking technology
Mushroom cultivation and it's methods.pdf
Spectroscopy.pptx food analysis technology
Tartificialntelligence_presentation.pptx
Diabetes mellitus diagnosis method based random forest with bat algorithm
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
1. Introduction to Computer Programming.pptx
Machine learning based COVID-19 study performance prediction
Network Security Unit 5.pdf for BCA BBA.
SOPHOS-XG Firewall Administrator PPT.pptx
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
Univ-Connecticut-ChatGPT-Presentaion.pdf
gpt5_lecture_notes_comprehensive_20250812015547.pdf

Threat Modeling the CI/CD Pipeline to Improve Software Supply Chain Security (Raw Slides)

  • 1. Threat Modeling the CI/CD Pipeline to Improve Software Supply Chain Security Dan Cornell CTO, Denim Group
  • 2. Agenda • Risk Exposure from Software Build Pipeline • Constituents and Stakeholders • Drivers for Change • Threat Modeling Overview • Supporting Infrastructure • Pipeline Threat Model • Using the Threat Model • Questions
  • 3. Notable Incidents • SolarWinds • Compromised server in build infrastructure • CodeCov • Compromised container server • Potentially spawning Executive Order, other government activity
  • 4. Fundamental Disconnect • We have developed tremendous tooling and automation that allows us to create secure, reliable software at a scale not previously considered • The way we deploy and deliver this tooling puts us in a situation where we can't actually trust anything that comes out of it • Oops
  • 5. Fractal Attack Surface The closer you look, the more you find
  • 6. Confidentiality Impact • IP disclosure • Leaked secrets • Vulnerability disclosure
  • 7. Integrity Impact • Backdoors • Other unwanted behaviors • Compromised cryptography
  • 8. Availability Impact • Development pipeline infrastructure is hyper-connected • Release delays • Absence or misbehavior of supporting services
  • 9. Threat Modeling Overview • Full overview beyond the scope of this talk • Some background for reference • https://www.denimgroup.com/resources/blog/2014/07/modeling-builders-breakers/ • Let's learn as we go
  • 10. Supporting Infrastructure • Fixed assets vs ephemeral assets • Scanning/patching regimen • Who is responsible for this infrastructure? • "Corporate" or a DevOps team?
  • 11. The Perimeter is the Problem • Critical part of threat modeling process – what is in/what is out? • For modern CI/CD pipelines: turns out to be maddeningly hard (impossible) to determine the boundary • Many steps with lots of moving parts • Dynamic attack surface: tomorrow may be different than today • DevOps team members can often add stages/tools/elements with minimal supervision • Fractal complexity • Approach: Start with code commit and follow the workflow
  • 13. General/Overarching Concerns • Lots of network traffic • Protect with TLS to guard Confidentiality, Integrity • Lots of authentication points / IAM concerns • Often multiple methods/avenues per system: interactive + API (+ other?) • User <-> System • System <-> System • Is there a comprehensive IAM paradigm in place, or a combination of overlapping approaches?
  • 14. General/Overarching Concerns • Data storage concerns • How is data at rest protected? (Especially file/block storage) • What are your unknown-unknowns • External services and provides that are (generally) unknown but part of the process • Any developer with a GitHub account is now their own purchasing agent
  • 15. Source Repository and Workflow Engine
  • 16. Source Repository and Workflow Engine • Sources of (custom) code • In-house developers • 3rd party development teams • Likely different risk profiles • Do contributions go through different workflows?
  • 17. Source Repository and Workflow Engine • Authentication • Developers authenticating to push/pull code • Developers authenticating to evaluate/approve merge requests • External system API access • Webhooks • Additionally for Hosted Repositories/Workflows • GitHub: Apps and Actions • GitLab: Integrations • Both: External collaborators
  • 18. Open Source Component Management
  • 19. Open Source Component Management • Are you: • Directly pulling from Central repositories • Proxying requests through a Remote repository • Ability to enforce policies • Known security vulnerabilities in open source components • License restrictions on open source components
  • 20. Open Source Backdoor Concerns • PHP example • https://arstechnica.com/gadgets/2021/03/hackers-backdoor-php-source-code-after-breaching-internal-git-server/ • Linux kernel example • https://www.techrepublic.com/article/linux-kernel-security-uproar-what-some-people-missed/ • Not realistic to detect • Maintainers don't even have the bandwidth • Have to be able to respond • Pulling from Remote vs directly from Central • Policies on acceptable (and unacceptable) versions
  • 22. Build Management • Combining source code and open source components to create a new build • How often run: • Every merge request • Accepted merge requests • Specific branches/tags • Maven plugins – yet another source of code you can't trust that runs in your environment!
  • 24. Automated Testing • Most common types of testing: • Unit testing • Acceptance testing • Other common analysis: • Code quality ("smells") • Code metrics (complexity, etc) • Code coverage
  • 25. Automated Testing: Security Testing • SAST • What is being analyzed: source or binary • For a given language: is "binary" even a thing? • Where is the analysis being performed: on-network, in the cloud • Where are the results being stored: on-network, in the cloud • DAST • Where is the server being tested: on-network, in the cloud • Where is the test traffic being generated: on-network, in the cloud, proxied onto-network • Where are the results being storoed: on-network, in the cloud
  • 26. Automated Testing: Security Testing (cont'd) • IAST • Where is the server being tested: on-network, in the cloud • Where is the test traffic being generated: on-network, in the cloud, proxied onto-network • Where are the results being stored: on-network, in the cloud • SCA • Where is the analysis being performed: on-network, in the cloud • Where are the results being stored: on-network, in the cloud
  • 27. Security Testing and Backdoors • Best backdoor: Normal-looking security vulnerability • "Oops, sorry I introduced that [SQL injection|missing auth check|etc] • Other types of backdoor detection • Static analysis – see the theoretical behavior of the application • Look for suspicious behavior patterns • References: • https://www.acsac.org/2007/workshop/Wysopal.pdf • https://www.veracode.com/sites/default/files/Resources/Whitepapers/static-detection-of- backdoors-1.0.pdf • https://owasp.org/www-pdf-archive/Protecting_the_Enterprise_-_Software_Backdoors.pdf • https://owasp.org/www-pdf-archive/Protecting_Your_Applications_From_Backdoors.pdf
  • 28. Software Packaging and Distribution
  • 29. Software Packaging • Monolithic applications vs. Microservice applications • Application binary vs. Application binaries combined with containers • Source container management is very similar to open source component management • Code signing is important • But signed malicious/vulnerable code is still malicious/vulnerable code
  • 30. Software Distribution • Now the software should be ready too distribute to customers • Internal • External • How is the software distributed? • Binary • Binary + Container • Binaries + Containers + orchestration • How are builds verified? • Checksums
  • 31. Two Exercises • Passive: Grab netflow data from your build environment and see what it talks to • Active: Follow code change from checkout to release • Spoiler alert: the active exercise where I engaged the development team was more productive
  • 32. Reviewing Netflow Data • Pull netflow logs from network where development infrastructure is hosted • Look at what the build infrastructure talks to • Code repositories • Open source component repositories • Testing services • Other services <- Area of concern • Container repositories • In practice • Identified some interesting communications • "Expensive" to run down results • "High" false positive rate
  • 33. Netflow Data Review [Run through cleaned up data from build infrastructure netflow review]
  • 34. Follow a Code Change • Change code • Check out code (and make changes) • Create merge request • Review merge request • Run build • Pull code • Pull open source components • Automated testing • Unit tests • Acceptance tests • Security tests • Other tests • Accept build • Push to distribution • Distribute software Questions to ask at each stage • How does this user/system authenticate to the next step • Where is the server/service that performs this step • Where possible: show, don't tell • Look at the UI developers look at • Ask questions about where data comes from
  • 38. Parallel Build Pipelines • Have two or more separate, parallel build pipelines • Compare artifacts at the end • Goal is to force attackers to compromise multiple pathways • Best way to get budget for this is to have a public breach of epic proportions and suggest that your successor try it out • How do you compare the outputs from multiple toolchains? • Compare SBOM • Asset enumeration • Reverse engineering • Live/behaviral testing
  • 39. Using the Threat Model • Identify gaps in your own pipeline security • What can you shore up? • What do you have to live with? • How do you respond to incidents? • Have meaningful conversations with suppliers of your software • Understand their practices • Push for change – vote with your wallet • Be better able to detect malicious behavior