Living with Thriving on Complexity in Cybersecurity Rob Armstrong Jaideep Ray Jackson Mayo Nicole...

Post on 18-Jan-2018

216 views 0 download

description

Complexity makes Cyber Threats Assymetric Vulnerabilities exist in the best code. The developer, user, and attacker all don't know where the holes are. Finding them, in general, is an undecidable problem. Most tools that find bugs are only incremental – there is no one who can say ”this code is clean” Assymetry arises from the fact that only one vulnerability compromises the whole code. Developer has to find all of them, which means they must do something that is, in general, impossible.

Transcript of Living with Thriving on Complexity in Cybersecurity Rob Armstrong Jaideep Ray Jackson Mayo Nicole...

Living with Thriving on Complexity in Cybersecurity

Rob ArmstrongJaideep Ray

Jackson MayoNicole Lemaster

Sandia National LabsLivermore, CA 94551

Securing an Arbitrary Code is not Just Hard, Its Impossible

Restated: generic code has vulnerabilities that are unprovable and unknowable.

Not statistical, even in principal Turing completeness demands that an generic code is

undecidable

So now what?

Complexity makes Cyber Threats Assymetric

Vulnerabilities exist in the best code. The developer, user, and attacker all don't know where the holes are. Finding them, in general, is an undecidable problem.

Most tools that find bugs are only incremental – there is no one who can say ”this code is clean”

Assymetry arises from the fact that only one vulnerability compromises the whole code. Developer has to find all of them, which means they must do something that is, in general, impossible.

Observation #1: A Program's Feature Set Has Many Implementations

A particular feature set has infinitely many implementations

Finite large number if size is bounded...

Observation #2: Ensemble of Instances Permits the Formulation of Statistics

Assumption: multiple implementations randomize security holes.

Ensemble of randomized undecideable codes allows the formation of statistics about the security improvement of the ensemble.

Break it into components

Living Systems Adapt to Cope with Unknowable Attacks

Port type is similar to a genotype, component implementaton similar to alleles of a gene.

Reassemble Alleles into Individuals Different alleles can be

assembled into new individuals that have ”randomized” security holes.

New individuals are differently vulnerable and potentially adaptive.

Compare Responses from Individuals Now different individuals will

produce the same feature set but react differently to attacks.

Evolve new and more robust individuals

Eliminate the one with the differentiated response.