SlideShare a Scribd company logo
Software rotting or
why you need to change your approach to security
Giulio Vian
27 April 2022
@giulio_vian
https://www.getlatestversion.eu
http://blog.casavian.eu
https://www.slideshare.net/giuliov
https://github.com/giuliov
What it’s all
about
The environmental pressure
on software has dramatically
changed in few years.
In quality and quantity.
Mainly security concerns.
Pressure
impact
How we automate.
How we plan, budget
I suggest to introduce a new
term: Technical Inflation.
Inflation differs from
Technical Debt.
Software value decrease
(even drops) over time
without intervention.
Hardware spec:
1 KB RAM
4 KB ROM
First computer Past employers Communities
Giulio Vian Principal DevOps Engineer
@giulio_vian
giuliovdev@hotmail.com
Agenda
Rotting?
A real problem?
Consequences!
Rotting
Image source: Reddit
Achievement
unlocked!
Zero-bugs!
No known security
issues in code!
No known security
issues in infrastructure!
…except…
Fix it! Now!
CVE
triggers
Security
instructs
Developer Teams
fix code
Release
Management
deploy
What is
affected?
Application stack
Container images
Virtual Machine images
Application itself
Application code
Libraries
Internal
3rd party
Self-contained run-time
Application
Run-time
OS
libraries
Docker
base
image
Self-
contained
Tools to
Identify
Vulnerabilities
 Static Application
Security Testing (SAST)
 Software Composition
Analysis (SCA)
Commercial
Synopsys Black Duck, Snyk,
WhiteSource Bolt, Sonatype Nexus
Platform, JFrog Xray
OSS
npm audit, OWASP Dependency
Check, GitHub dependabot, Trivy
Application
Run-time
OS
libraries
v
What must be fixed?
Which code matches production?
master main release/*
v* tags
Multiple production branches
release/* and hotfix/*
Untagged releases
SCA tools pipeline-bound
Rarely built code
Pipeline does not work anymore
How broadly?
Many teams
Many repos
My company has 3,000 repos
across 100 teams, storing over
13 million lines of code, and
using 2,800 pipelines
A single vulnerability
may affect 10s teams and
100s of repos
Image: The Crowd For DMB 1 by Moses
How do you fix it?
Scan multiple repositories
Patch code
Regression test
Can be automated?
Can you
expedite?
Separation of Duties
Regulation / audit requirement
Slows 0-day patching
Tightly controlled usage
Automated checks
Single commit with limited
churn
Additional approvers for
quick turnaround
Image courtesy of SpaceX
Redeploy.
Every. Day.
Simplest pattern
Once automated
patching is in place
Zero-downtime deploy
in place
Consider pipeline
resources
Image: the gerbil wheel pose by dbgg1979
A real problem
Image © Mediaset
Zero-days exploits are increasing
Source: Google
Open source dependency &
vulnerability
Source: Sonatype
Dependencies
An average .NET project has 11 direct, and 76
indirect dependencies [Source: Snyk]
Project == nuget.org package
The average application contains 118 open-
source libraries [Source: Contrast Security]
Application: Java/.NET/NodeJS
App Platform shift
Chrome 1 month patched after 14 days
Node.JS 30 months (LTS) patched every 25 days
6 months
Go 6 months patched every 26 days
Two major releases supported.
MongoDB 30 months patched every 5 weeks
.NET 3 years (LTS) patched every 6 weeks
18 months
Java 3 years (LTS) patched every
6 months 12 weeks
Consequences
Technical Debt
«describes the consequences
of software development
actions that intentionally or
unintentionally prioritize
client value and/or project
constraints such as delivery
deadlines, over more
technical implementation
and design considerations.»
Holvitie J., Licorish S.A., et al. - Technical
debt and agile software development
practices and processes – Information and
Software Technology, iss. 96 (2018) p.142 Image by ThoBel-0043
Technical
Inflation
Unintended reduction
in value of a software
product over time,
independent of source
code changes.
Depreciation does not
capture two elements:
Unintentionality
Value can be restored
Image source: Max Pixel
Restoring
Value
At most two platform
versions
Zero-(security-)issues policy
Expedite pipelines
Image by Marek Ślusarczyk
Never forget about consequences
Image by Lionel Allorge
Thank you!
@giulio_vian
giuliovdev@hotmail.com
Slides that follow list bibliographic references
References (1/4)
https://www.sonatype.com/resources/state-of-the-software-supply-chain-2021
https://blog.chromium.org/2021/03/speeding-up-release-cycle.html
https://nodejs.org/en/about/releases/
https://chromium.googlesource.com/chromium/src/+/refs/heads/main/docs/process/release_
cycle.md
https://support.google.com/chrome/a/answer/6220366
https://dotnet.microsoft.com/en-us/platform/support/policy/dotnet-core
https://docs.fedoraproject.org/en-US/releases/lifecycle/
https://www.oracle.com/java/technologies/java-se-support-roadmap.html
https://kubernetes.io/releases/release/
https://www.mongodb.com/support-policy/software
References (2/4)
https://heartbleed.com/
Why Every Business Is a Software Business — Watts S. Humphrey Informit, Feb 22, 2002
http://www.informit.com/articles/article.aspx?p=25491
https://en.wikipedia.org/wiki/Watts_Humphrey
https://www.sonatype.com/resources/state-of-the-software-supply-chain-2021
https://www.shopify.com/enterprise/global-ecommerce-statistics
https://blog.cloudflare.com/popular-domains-year-in-review-2021/
https://radar.cloudflare.com/year-in-review-2021
https://snyk.io/blog/net-open-source-security-insights/
https://www.contrastsecurity.com/the-state-of-the-oss-report-2021
https://octoverse.github.com/static/github-octoverse-2020-security-report.pdf
References (3/4)
https://www.soa.org/globalassets/assets/files/resources/research-report/2020/quantification-
cyber-risk.pdf
https://www.soa.org/globalassets/assets/files/resources/research-report/2020/exposure-
measures-cyber-insurance.pdf
https://www.csis.org/programs/strategic-technologies-program/significant-cyber-incidents
https://www.verizon.com/business/resources/reports/dbir/
https://www.accenture.com/us-en/insights/security/cost-cybercrime-study
https://www.ibm.com/security/data-breach
https://libraries.io/data
https://go.snyk.io/SoOSS-Report-2020.html
https://www.amazon.co.uk/Accelerate-Software-Performing-Technology-
Organizations/dp/1942788339
References (4/4)
https://www.sciencedirect.com/science/article/abs/pii/0164121279900220
https://daverupert.com/2020/11/technical-debt-as-a-lack-of-understanding/
https://wiki.owasp.org/images/b/bd/Software_Composition_Analysis_OWASP_Stammtisch_
-_Stanislav_Sivak.pdf
https://googleprojectzero.blogspot.com/
https://blog.google/threat-analysis-group/how-we-protect-users-0-day-attacks/
https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V14.md
https://dotnet.microsoft.com/en-us/download/dotnet/3.1
https://docs.mongodb.com/upcoming/release-notes/5.0/
https://itrevolution.com/the-three-ways-principles-underpinning-devops/
https://www.devsecops.org/

More Related Content

PPTX
Software rotting
PPTX
L'impatto della sicurezza su DevOps
PPTX
L'impatto della sicurezza su DevOps
PPTX
Software rotting - DevOpsCon Berlin
PDF
DevSecCon Boston 2018: Technical debt - why I love it by Mike Bursell
PPTX
Automation and Technical Debt
PPTX
Restructuring Technical Debt - A Software and System Quality Approach
PPTX
Shifting the conversation from active interception to proactive neutralization
Software rotting
L'impatto della sicurezza su DevOps
L'impatto della sicurezza su DevOps
Software rotting - DevOpsCon Berlin
DevSecCon Boston 2018: Technical debt - why I love it by Mike Bursell
Automation and Technical Debt
Restructuring Technical Debt - A Software and System Quality Approach
Shifting the conversation from active interception to proactive neutralization

Similar to Software rotting - 28 Apr - DeveloperWeek Europe 2022 (20)

PPTX
How to increase the technical health of your software?
PDF
When Things Go Bump in the Night
PPTX
Technical stories v1.2
PPTX
7 Reasons Your Applications are Attractive to Adversaries
PDF
From Technical Debt to Technical Health
PPTX
A question of trust - understanding Open Source risks
PDF
ASAS 2014 - Simon Brown
PPTX
DevSecCon London 2017: when good containers go bad by Tim Mackey
PDF
Software Security Assurance for DevOps
PPTX
Operational Costs of Technical Debt
PPTX
From Components To Services
PDF
Filling your AppSec Toolbox - Which Tools, When to Use Them, and Why
PDF
Technical Debt - The Code Monster in the Closet
PDF
Managing softwaredebt agilepalooza-redmond-sept2010
PPTX
Technical debt as asset
PDF
TechnicalDebtandOpenSourceDevelopment_Whitepaper_062220.pdf
PDF
How to justify technical debt mitigations in Software Engineering
PDF
Deloitte Tech Trends 2014 Technical Debt
PPTX
Software Security
PPT
Death by Technical Debt: Lessons Learned to Get you Unbuired
How to increase the technical health of your software?
When Things Go Bump in the Night
Technical stories v1.2
7 Reasons Your Applications are Attractive to Adversaries
From Technical Debt to Technical Health
A question of trust - understanding Open Source risks
ASAS 2014 - Simon Brown
DevSecCon London 2017: when good containers go bad by Tim Mackey
Software Security Assurance for DevOps
Operational Costs of Technical Debt
From Components To Services
Filling your AppSec Toolbox - Which Tools, When to Use Them, and Why
Technical Debt - The Code Monster in the Closet
Managing softwaredebt agilepalooza-redmond-sept2010
Technical debt as asset
TechnicalDebtandOpenSourceDevelopment_Whitepaper_062220.pdf
How to justify technical debt mitigations in Software Engineering
Deloitte Tech Trends 2014 Technical Debt
Software Security
Death by Technical Debt: Lessons Learned to Get you Unbuired
Ad

More from Giulio Vian (20)

PPTX
Come implementare la governance nella vostra piattaforma e lavorare felici se...
PDF
Is Technical Debt the right metaphor for Continuous Update?
PPTX
Is Technical Debt the right metaphor for Continuous Update - AllDayDevOps 2022
PPTX
A map for DevOps on Microsoft Stack - MS DevSummit
PPTX
Perché è così difficile il deploy dei database - DevCast DevOps Serie
PPTX
Database deployments - dotnetsheff
PPTX
Database deployment: still hard after all these years - Data Saturday #1
PPTX
Pipeline your Pipelines - 2020 All Day DevOps
PPTX
How to write cloud-agnostic Terraform code - Incontro DevOps Italia 2020
PPTX
Top 10 pipeline mistakes - dotnetsheff
PPTX
Introduction to Terraform with Azure flavor
PPTX
How collaboration works between Dev and Ops - DevOps Agile Testing and Test S...
PPTX
Usare SQL Server for Linux e Docker per semplificare i processi di testing - ...
PPTX
Pipeline your pipelines!
PPTX
Why is DevOps vital for my company’s business
PPTX
Introduzione a GitHub Actions (beta)
PPTX
Terraform for Azure Quickstart
PPTX
Terraform for azure: the good, the bad and the ugly -
PPTX
How we moved our environments to the cloud
PPTX
Customize Azure DevOps using Aggregator
Come implementare la governance nella vostra piattaforma e lavorare felici se...
Is Technical Debt the right metaphor for Continuous Update?
Is Technical Debt the right metaphor for Continuous Update - AllDayDevOps 2022
A map for DevOps on Microsoft Stack - MS DevSummit
Perché è così difficile il deploy dei database - DevCast DevOps Serie
Database deployments - dotnetsheff
Database deployment: still hard after all these years - Data Saturday #1
Pipeline your Pipelines - 2020 All Day DevOps
How to write cloud-agnostic Terraform code - Incontro DevOps Italia 2020
Top 10 pipeline mistakes - dotnetsheff
Introduction to Terraform with Azure flavor
How collaboration works between Dev and Ops - DevOps Agile Testing and Test S...
Usare SQL Server for Linux e Docker per semplificare i processi di testing - ...
Pipeline your pipelines!
Why is DevOps vital for my company’s business
Introduzione a GitHub Actions (beta)
Terraform for Azure Quickstart
Terraform for azure: the good, the bad and the ugly -
How we moved our environments to the cloud
Customize Azure DevOps using Aggregator
Ad

Recently uploaded (20)

PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PDF
AI in Product Development-omnex systems
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PDF
PTS Company Brochure 2025 (1).pdf.......
PDF
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
PDF
Softaken Excel to vCard Converter Software.pdf
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PDF
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PPTX
Transform Your Business with a Software ERP System
PDF
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
PDF
Upgrade and Innovation Strategies for SAP ERP Customers
PPTX
Operating system designcfffgfgggggggvggggggggg
PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PDF
Understanding Forklifts - TECH EHS Solution
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
AI in Product Development-omnex systems
Design an Analysis of Algorithms II-SECS-1021-03
PTS Company Brochure 2025 (1).pdf.......
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
Softaken Excel to vCard Converter Software.pdf
How to Migrate SBCGlobal Email to Yahoo Easily
Design an Analysis of Algorithms I-SECS-1021-03
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
Wondershare Filmora 15 Crack With Activation Key [2025
Internet Downloader Manager (IDM) Crack 6.42 Build 41
Transform Your Business with a Software ERP System
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
Upgrade and Innovation Strategies for SAP ERP Customers
Operating system designcfffgfgggggggvggggggggg
Which alternative to Crystal Reports is best for small or large businesses.pdf
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
Understanding Forklifts - TECH EHS Solution
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus

Software rotting - 28 Apr - DeveloperWeek Europe 2022

Editor's Notes

  • #22: .NET Core 3.1 3.1.0 December 3, 2019 3.1.22 December 14, 2021 got 22 patch releases in 3 years i.e. every 45 days/6 weeks Node v14 (Fermium) Active LTS start 2020-10-27 v14.15.0 2022-02-01, Version 14.19.0 total 19 releases in 463 days or 66 weeks i.e. every 24.4 days JDK 11 Java SE 11 (LTS)September 25, 2018 11.0.13+8 (GA), October 19th 2021 total 13 releases(updates) in 1121 days i.e. every 12.3 weeks or 86.2 days Go 1.16 released 2021-02-16 go1.16.14 (released 2022-02-10) total 14 updates in 360 days i.e. 26 days go1 (released 2012-03-28) -> go1.17 (released 2021-08-16) 17 major releases in 3429 days or 490 weeks MongoDB 5.0 5.0.0 - Jul 13, 2021 5.0.6 - January 31, 2022 total 6 releases in 203 days or 29 weeks i.e. every 4.8 weeks