ncc group - software security austerity - software security debt in modern software development

35
Software Security Austerity Security Debt in Modern Software Development Ollie Whitehouse, Associate Director, NCC Group

Upload: global-business-events

Post on 11-May-2015

1.288 views

Category:

Documents


1 download

DESCRIPTION

Ollie Whitehouse, Associate Director - NCC group spoke at the CIO Event (dot) com

TRANSCRIPT

Page 1: NCC Group - Software Security Austerity - Software security debt in modern software development

Software Security AusteritySecurity Debt in Modern Software Development

Ollie Whitehouse, Associate Director, NCC Group

Page 2: NCC Group - Software Security Austerity - Software security debt in modern software development

Agenda

• Introduction•Software Security Debt•Debt Management•Conclusions

Page 3: NCC Group - Software Security Austerity - Software security debt in modern software development

Before we begin…

metaphor abuse warning!

Page 4: NCC Group - Software Security Austerity - Software security debt in modern software development

… before we begin part 2…

there is a white paper available

Page 5: NCC Group - Software Security Austerity - Software security debt in modern software development

Security debt

Page 6: NCC Group - Software Security Austerity - Software security debt in modern software development

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."

Page 7: NCC Group - Software Security Austerity - Software security debt in modern software development

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

Page 8: NCC Group - Software Security Austerity - Software security debt in modern software development

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

Page 9: NCC Group - Software Security Austerity - Software security debt in modern software development

Security debt – types?

• Known – identified, but yet to be addressed

• Unknown – latent issues yet to be discovered

Page 10: NCC Group - Software Security Austerity - Software security debt in modern software development

Security debt – source?

• Self

my development

• Supply chain

my outsourced development

• Dependency

COTS component use without formal support

Page 11: NCC Group - Software Security Austerity - Software security debt in modern software development

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

Page 12: NCC Group - Software Security Austerity - Software security debt in modern software development

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

Page 13: NCC Group - Software Security Austerity - Software security debt in modern software development

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

Page 14: NCC Group - Software Security Austerity - Software security debt in modern software development

Accruing debt based on risk

• Impact versus• Discovery• Mitigations• Complexity and

prerequisite conditions• Access requirements• Marker expectation

Page 15: NCC Group - Software Security Austerity - Software security debt in modern software development

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

Page 16: NCC Group - Software Security Austerity - Software security debt in modern software development

Debt Management

Page 17: NCC Group - Software Security Austerity - Software security debt in modern software development

Why we care

• Client expectation• Regulatory requirements• Increasing cost of debt• Attacker capability evolution• Increased external focus

Page 18: NCC Group - Software Security Austerity - Software security debt in modern software development

Why we care

Page 19: NCC Group - Software Security Austerity - Software security debt in modern software development

Why we care

Page 20: NCC Group - Software Security Austerity - Software security debt in modern software development

Assigning interest rates to security debt

• Interest rate = Priority

• Priority = risk

• Risk = informed

Page 21: NCC Group - Software Security Austerity - Software security debt in modern software development

Assigning interest rates to security debt

Threat = f (Motivation, Capability, Opportunity, Impact)

Page 22: NCC Group - Software Security Austerity - Software security debt in modern software development

Assigning interest rates to security debt

DREAD

Page 23: NCC Group - Software Security Austerity - Software security debt in modern software development

Assigning interest rates to security debt

CVSS

Page 24: NCC Group - Software Security Austerity - Software security debt in modern software development

Assigning interest rates to security debt

• Impact• Distribution• Disclosure• Likelihood of discovery• Presence of mitigations• Complexity of exploitation• Access requirements • Customer expectation

Page 25: NCC Group - Software Security Austerity - Software security debt in modern software development

Repayment – New version requirements

Page 26: NCC Group - Software Security Austerity - Software security debt in modern software development

Repayment – Severity prioritization

• Next release (any type)• Next release (major version)• Next release +1 (any type)• Next release +2 (any type)• Next release +3 (any type)

Page 27: NCC Group - Software Security Austerity - Software security debt in modern software development

Repayment – Percentage reduction

Severity Percentage to be resolved

Critical 100%

Serious 50%

Moderate 30%

Low 20%

Other 0 to 5 %

Page 28: NCC Group - Software Security Austerity - Software security debt in modern software development

Repayment – Forced

Page 29: NCC Group - Software Security Austerity - Software security debt in modern software development

Debt Expiry

Page 30: NCC Group - Software Security Austerity - Software security debt in modern software development

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

Page 31: NCC Group - Software Security Austerity - Software security debt in modern software development

Strategic Debt Restructuring

Page 32: NCC Group - Software Security Austerity - Software security debt in modern software development

Bankruptcy

Page 33: NCC Group - Software Security Austerity - Software security debt in modern software development

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. "

Page 34: NCC Group - Software Security Austerity - Software security debt in modern software development

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

Page 35: NCC Group - Software Security Austerity - Software security debt in modern software development

UK Offices

Manchester - Head Office

Cheltenham

Edinburgh

Leatherhead

London

Thame

North American Offices

San Francisco

Atlanta

New York

Seattle

Australian Offices

Sydney

European Offices

Amsterdam - Netherlands

Munich – Germany

Zurich - Switzerland

Thanks! Questions?

Ollie [email protected]