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.

Download Report

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

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