Biological Programming Models for IntrusionTolerant Systems Workshop on Statistical and Machine Learning Techniques in Computer Intrusion Detection George Mason University 24 September 2003 David Evans University of Virginia, Department of Computer Science Learning from Biology • Process – Genetic algorithms • Product – Immune systems – Programs ID03 - 24 Sept 2003 swarm.cs.virginia.edu 2 (Really) Brief History of Computing 1950 1960 1970 1980 1990 2000- Monolithic Computers in guarded, airconditioned rooms Fixed Networks of PCs Billions of small, cheap unreliable devices No interactions Data interactions with other computers, but most computing done locally Computing organized through local interactions Narrow interface to operator (punch cards, teletype), no interface to environment Rich interface to user, limited interface to environment Fundamentally integrated into physical environment ID03 - 24 Sept 2003 swarm.cs.virginia.edu 3 Challenges and Opportunities • Embedded in physical environment – Challenges: unpredictable, energy-limited – Opportunities: physical laws, continuous • Scale – Challenges: billions of independent components – Opportunities: redundant to failures • Demands new programming approaches and reasoning techniques ID03 - 24 Sept 2003 swarm.cs.virginia.edu 4 Swarm Computing: Long-Range Goal Cement 10 TFlop ID03 - 24 Sept 2003 swarm.cs.virginia.edu 5 Existing Systems • Trillions of unreliable, inexpensive components • No significant performance degradation when billions fail • Small programs produce complex behavior ID03 - 24 Sept 2003 • ~70 Trillion Cells in adult human • ~ 3 Billion of your cells have died since I started talking • Program (3B nucleotides) is shorter than Windows XP, difference between 2 humans on 1 floppy swarm.cs.virginia.edu 6 Swarm Programming Behavioral Description Environment Model Behavior and primitives defined over groups Swarm Program Generator Device Model Device Units Device Programs Programmed Device Units Primitives Library ID03 - 24 Sept 2003 swarm.cs.virginia.edu 7 Observations About Nature’s Programs • Responsive – Aware of state of self and surroundings • Localized – Communication through chemical diffusion • Redundant – Millions of cells can die without compromising function • Diverse – Species survive because of diversity of individuals • Remarkably Expressive • Human genome ~250MB ID03 - 24 Sept 2003 swarm.cs.virginia.edu 8 Foundations Current Research • Amorphous Computing [Abelson, Nagpal, Sussman] Cellular Automata • Paintable Computing von Neumann [1940s] [Butera] Conway’s Game of Life [1970] • Embryonics [Mange, Wolfram [2002] Sipper] Reaction-Diffusion Turing [1952] • Ant Colony Optimization, Swarm Intelligence ID03 - 24 Sept 2003 swarm.cs.virginia.edu 9 Simplified Cell Model • Awareness of Environment – Sense chemicals on cell walls – Sense chemicals in environment • Cell Actions – Cell Division (asymmetric) – State Change – Communicate: emit (directional, neighboring walls), diffuse (omnidirectional) • Simple physical forces – Two cells cannot overlap in space ID03 - 24 Sept 2003 swarm.cs.virginia.edu 10 Biological Complexity Molecular map of colon cancer cell from http://www.gnsbiotech.com/applications.shtml ID03 - 24 Sept 2003 swarm.cs.virginia.edu 11 Simple Sphere Program center alive < 1 state center { color 1 0 0 emits (alive, 1) diffuses (radius, 10) transitions alive from dir < 1 -> (center, body) in dir; } state body { color 0 0 1 emits (alive, 1) transitions alive from dir < 1 & radius > 0 alive < 1 & radius > 0 -> (body, body) in dir; } body ID03 - 24 Sept 2003 swarm.cs.virginia.edu 12 state center { color 1 0 0 emits (alive, 1) diffuses (radius, 10) transitions alive from dir < 1 -> (center, body) in dir; } state body { color 0 0 1 emits (alive, 1) transitions alive from dir < 1 & radius > 0 -> (body, body) in dir; } ID03 - 24 Sept 2003 swarm.cs.virginia.edu 13 ID03 - 24 Sept 2003 swarm.cs.virginia.edu 14 Robustness of Sphere Program ID03 - 24 Sept 2003 swarm.cs.virginia.edu 15 Intrusion Tolerance? • Robust to random failures – As long as source cell survives, the sphere will re-generate – Sphere has > 10000 cells • Not robust to attacks – Destroy the center cell, sphere will not regrow ID03 - 24 Sept 2003 swarm.cs.virginia.edu 16 state center { color 1 0 0 emits (alive, 1) diffuses (radius, 10) transitions (alive from dir < 1) -> (center, core) in dir; } Example state core { color 0 1 0 emits (alive, 1) transitions (alive from dir < 1) & (radius > 2) -> (core, body) in dir; (radius < 2) & (alive from dir < 1) -> (core, center) in dir; } state body { color 1 1 0 emits (alive, 1) transitions (alive from dir < 1) & (radius > 1) -> (body, body) in dir; } ID03 - 24 Sept 2003 swarm.cs.virginia.edu 17 ID03 - 24 Sept 2003 swarm.cs.virginia.edu 18 state corner { color red emits (length, 8), (alive, 1) transitions (alive < 1) from dir -> (corner, segment) in dir; -> (corner); } Network Mesh state segment { color cyan emits (alive, 1) forwards (length - 1) transitions (length > 1.5) from dir & (alive < 0.5) from opposite (dir) -> (segment, segment) in opposite (dir); (length > 0.1) -> (corner); (length < 0.1) -> die; } ID03 - 24 Sept 2003 swarm.cs.virginia.edu 19 Composing Primitives • Cells can follow multiple programs simultaneously (vector of independent states) • Cells can combine primitives through shared chemicals – Chemicals secreted by one primitive can induce changes in other primitives • Goals: – Predict properties of composition based on properties of primitives – Diversity of primitive implementations provides protection from directed attacks ID03 - 24 Sept 2003 swarm.cs.virginia.edu 20 Mickey Mouse Program • 20 states • 50 transition rules • Starts from one cell, combines lines, spheres Real Mouse Program • 3B base pairs • 98% same as human DNA • Starts from one cell, combines complex proteins ID03 - 24 Sept 2003 swarm.cs.virginia.edu 21 Towards Real Systems • Cells – Sensor Devices, MEMS, Internet Nodes • Division – Processes – Find new hosts • Communication – Point-to-point emissions – Wireless multicast (can be multi-hop) diffusions • Example: distributed file system running on simulated wireless nodes ID03 - 24 Sept 2003 swarm.cs.virginia.edu 22 Distributed Wireless File Service File Distribution and Update Publisher inhibit publish ID03 - 24 Sept 2003 swarm.cs.virginia.edu 23 Distributed Wireless File Service File Distribution and Update replicate ID03 - 24 Sept 2003 swarm.cs.virginia.edu 24 Robustness to Node Failures 80% of requests satisfied ID03 - 24 Sept 2003 swarm.cs.virginia.edu 25 Summary • Trillions of creatures have died to evolve the extremely robust programs that survive today • Robustness and scalability require: – Decentralization – Awareness of surroundings – Diversity • Swarm Programming – Develop high level behaviors from local interactions – Use communication through environment to coordinate locally – Produce complex behaviors by combining primitives defined over groups ID03 - 24 Sept 2003 swarm.cs.virginia.edu 26 Acknowledgements Sponsor: National Science Foundation Contributors: Lance Davidson (UVa Biology) Selvin George Salvatore Guarnieri Steven Marchette Qi Wang Brian Zhang http://swarm.cs.virginia.edu ID03 - 24 Sept 2003 swarm.cs.virginia.edu 27