38
Designing and building post compromise recoverable services Ollie Whitehouse

Designing and building post compromise recoverable services

Embed Size (px)

DESCRIPTION

A look at how to design and build services, systems, networks, hosts and applications that are designed to be able to successfully deal with a security compromise. The deck also touches on the topics of self-healing systems and potential applications of machine learning to the problem space.

Citation preview

Page 1: Designing and building post compromise recoverable services

Designing and building post compromise recoverable services

Ollie Whitehouse

Page 2: Designing and building post compromise recoverable services

Why?"We may be at the point of diminishing returns by trying to buy down vulnerability"

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

Gen. Michael Hayden (USAF-Ret.) ex NSA and CIA head February, 2012

Page 3: Designing and building post compromise recoverable services

Why?

Page 4: Designing and building post compromise recoverable services

Agenda

• Stages of a compromise• Impact limitation • Healing• Requirements for:

• design• build• operations

• Wrap-up and conclusions

Page 5: Designing and building post compromise recoverable services

Stages of a compromise

Page 6: Designing and building post compromise recoverable services

Stages of a compromise

Page 7: Designing and building post compromise recoverable services

Stages of a compromise

Page 8: Designing and building post compromise recoverable services

What can we do?

Deny

Page 9: Designing and building post compromise recoverable services

What can we do?

Frustrate

Page 10: Designing and building post compromise recoverable services

What can we do?

Misdirect

Page 11: Designing and building post compromise recoverable services

What can we do?

Contain

Page 12: Designing and building post compromise recoverable services

Services are unique

Page 13: Designing and building post compromise recoverable services

Indicator collection

Page 14: Designing and building post compromise recoverable services

Detection

Page 15: Designing and building post compromise recoverable services

Impact limitation

Page 16: Designing and building post compromise recoverable services

Healing – old wisdom / not practical

rebuild & reinstall everythingdown to bare metal

(to avoid whack-a-mole and persistence)

Page 17: Designing and building post compromise recoverable services

Healing – reality

remediate, re-establish trust & re-integrate

(whilst continuing to provide service, avoiding whack-a-mole & persistence)

Page 18: Designing and building post compromise recoverable services

Healing

Page 19: Designing and building post compromise recoverable services

Healing - configuration

Page 20: Designing and building post compromise recoverable services

Healing a live service

Page 21: Designing and building post compromise recoverable services

Healing – real world

Page 22: Designing and building post compromise recoverable services

The requirements

design, developmentand operations

Page 23: Designing and building post compromise recoverable services

Design• Packaging, testing &

deployment• Boundaries• Authentication• System wide monitoring• Isolation• Operation while isolated

Page 24: Designing and building post compromise recoverable services

Design• Roll-ability (not a word)• Query-ability (not a word)• Variable protection• Integrity verification• Frequency of checks

Page 25: Designing and building post compromise recoverable services

Design• Health / normal• Response

• if this then that• Consider

• Machine learning for behaviours• Rate limiting• Something else

Page 26: Designing and building post compromise recoverable services

Development• Staff & vendor education• 3rd party components• Source integrity• Build environment integrity• Build artefact integrity• Archive releases • Compromise unit test cases• Test compromise scenarios

Page 27: Designing and building post compromise recoverable services

Operations

• Able to define ‘security healthy’• Worse case scenario planning• Configuration management• Configuration integrity• Protective monitoring• Time-line capability• Fire drill - continually

Page 28: Designing and building post compromise recoverable services

The requirements of tomorrow

self healing

Page 29: Designing and building post compromise recoverable services

Self-heal – defining states

Page 30: Designing and building post compromise recoverable services

Self-heal - steps• Detect• Verify integrity • Understand and remediate• Alert • Segregate• Snapshot • Revert / Rebuild / Restart• Verify• Reintegrate

Page 31: Designing and building post compromise recoverable services

Self-heal – what is healthy?

• Client’s user behaviour• Client’s software behaviour • Client’s system behaviour • Clients behaviour

Page 32: Designing and building post compromise recoverable services

Self-heal – what is healthy?

• Service behaviour• Software behaviour• System behaviour• Network behaviour • Operations / staff (and their credentials)

Page 33: Designing and building post compromise recoverable services

Putting it into practice

two (simplistic) examplesand one point for consideration

Page 34: Designing and building post compromise recoverable services

Example #1 (semi-passive response)

• Client SQLi• Database dump – sequential record read• Response taken• Alerts raised• Snapshots taken

… facilitates full post indecent analysis

Page 35: Designing and building post compromise recoverable services

Example #2 (active response)

• Ops client side attack• Credentials stolen • Anomalous credential behaviour• Alerts sent • Credentials automatically disabled

… exposure window minutes

Page 36: Designing and building post compromise recoverable services

Point for consideration

• Red and Blue teams

• Red team could be a Netflix-esq simian army

• Blue team could be your self-healing systems

Page 37: Designing and building post compromise recoverable services

Conclusions

• Design and implement compromise readiness

• Self learning / healing the future

• Plan for worse case*

• Test scenarios continually

Page 38: Designing and building post compromise recoverable services

EuropeManchester - Head Office

Cheltenham

Edinburgh

Leatherhead

London

Milton Keynes

Amsterdam

Copenhagen

Munich

Zurich

North AmericaAtlanta

Austin

Chicago

Mountain View

New York

San Francisco

Seattle

AustraliaSydney

Thanks! Questions?

[email protected]