6. Technical debt
"Shipping first time code is like going into debt. A
little debt speeds development so long as it is
paid back promptly with a rewrite. The danger
occurs when the debt is not repaid. Every minute
spent on not-quite-right code counts as interest
on that debt."
7. Security debt…
• Present in all software
• Analogous to development and bugs
• security is just a type of bug
• Analogous to development and tech debt
• The trade off between
• fix everything and ship nothing
-versus-
• fix only the critical
-versus-
• real world business
8. Security debt…
• You get good…
• .. you get a new problem
• Too many vulnerabilities!
• You focus on just the
critical / serious
• … the low / medium
mountain grows
9. Security debt – types?
• Known – identified, but yet to be addressed
• Unknown – latent issues yet to be discovered
10. Security debt – source?
• Self
my development
• Supply chain
my outsourced development
• Dependency
COTS component use without formal support
11. Security debt and SDLs
• SDL does not mean 0 debt
• SDL means known security debt
• with a repayment plan
• No SDL means latent security debt
• with no repayment plan
• SDL means more bugs than resources
• quite quickly / in the short to medium term
• SDL means accelerated discovery
• you get too good
12. Security debt and SDLs
• Why accelerated discovery?
• requirements reviews
• static code analysis
• manual code analysis
• automated testing (fuzzing)
• increased awareness and knowledge
• root cause analysis and variations
13. Accruing debt based on risk
• Financial cost versus
• Revenue
• Cost of a response incident
• Brand impact
• Liability
• Time cost versus
• Resources
• Time to market
• Financial costs
14. Accruing debt based on risk
• Impact versus
• Discovery
• Mitigations
• Complexity and
prerequisite conditions
• Access requirements
• Marker expectation
15. Latent debt resilience
• Latent debt will always exist
• through own activities
• through suppliers
• through dependencies
• The need to feed upstream
• The need to build resilient software
30. Debt Overhang
• Stuart Myers paper (1977)
‘Determinants of Corporate Borrowing’
• Debt mountain equals death by a thousand cuts
• Leading to inability to accrue more security debt
• Leading to slower innovation
33. Non Repayment – Consequence Planning
"We may be at the point of diminishing returns by
trying to buy down vulnerability," the general
observed. Instead, he added, "maybe it’s time to
place more emphasis on coping with the
consequences of a successful attack, and trying to
develop networks that can "self-heal" or "self-limit“
the damages inflicted upon them. "
34. Conclusions
• Zero debt is not good business practice
• SDLs enable debt discovery and repayment
• A pure risk approach allows the mountain to grow
• Outsourcing carries risk of larger latent debt
• A mature model is to understand and plan payment
• … while educating upstream
• … while paying down the mountain
• … while still using risk
35. Thanks! Questions?
UK Offices North American Offices Australian Offices
Manchester - Head Office San Francisco Sydney
Cheltenham Atlanta
Edinburgh New York
Leatherhead Seattle
London
Thame
European Offices
Amsterdam - Netherlands Ollie Whitehouse
Munich – Germany
Zurich - Switzerland
ollie.whitehouse@nccgroup.com