Principles of a Computer
Immune System
Anil Somayaji, Steven
Introduction
Written in 1997
Introduces biological approaches to
computer security
The problem:
 Computer systems are plagued of security
vulnerabilities
 We’ve seen many: buffer overflows, viruses,
Traditional approach
 Good in theory, not in
practice
 Computer systems are
dynamic: system state continuously changed
 Formal verification of a
dynamic system is impractical
 Security policies flaws
Biological approach
Dealing with an imperfect, uncontrolled
and open environment.
Similar to the environment the human
body has to deal with
Look at the human immune system as
The immune system (IMS)
Protects the body
 Vastly more complicated than any computer system
Constantly under attack
 Parasites, bacteria, viruses
Highly effective
 We’re healthy most of the time  Works autonomously
If IMS were at the same technical state as
IMS: Pattern recognition:
self vs. nonself
IMS must distinguish molecules and
cells of the body (self) from extraneous
ones (nonself)
Huge problem:
 10^5 different types of self
 10^16 different types of nonself (estimate)
IMS: multilayered architecture
 1st Layer: skin and physiological
conditions (pH, temperature)
 2nd Layer: innate IMS (scavenger cells clean pathogens and debris)
 3rd Layer: adaptive IMS (acquired immune
IMS: adaptive immune system
Primarily white blood cells
(lymphocytes)
Circulate in the blood and lymph
systems
Negative detectors
Detection by molecular bonds
IMS: adaptive immune system (cont.)
Problem: how to avoid autoimmune
disorders?
 Lymphocytes are self-tolerant  Clonal deletion process
Problem: how to recognize the potentially
huge number of pathogens?
 Genetic process: generate lymphocytes randomly
IMS: adaptive immune system (cont.)
IMS response to
viruses
Result: immune
IMS: diversity
Immune system is diverse across a
population
Each individual has a unique immune
system
Different lymphocyte population = different
detector set
Different Major-Histocompatibility Complex
Organizing Principles
Can’t really implement the same IMS in a
computer system
We can derive a set of guiding principles
Distributability
: Immune system detectors
are able to determine locally the presence of
an infection. No central coordination takes
place, which means there is no single point of
failure.
Multi-layered
: Multiple layers of different
Organizing Principles (cont.)
 Diversity: By making systems diverse, security
vulnerabilities in one system are less likely to be widespread.
 Diverse protection systems, or  Diverse protected systems
 Disposability: No single component in the system is
essential.
 Adaptability:
 Learn to detect new intrusions
 Ability to recognize signatures of previously seen attacks
 No secure Layer:
 Any cell can be attacked by a pathogen---including those of
Organizing Principles (cont.)
 Dynamically changing coverage:
 Space/time tradeoff
 Can’t maintain a set of detectors large enough  Use randomness and replacement
 Identity via behavior:
 IMS uses proteins (peptides) as behavior indicators:
“running code” of the body
 Computer analog: short sequences of system calls
 Anomaly detection:
 The ability to detect intrusions or violations that are not
Organizing Principles (cont.)
 Imperfect detection:
 Accepting imperfect detection increases the flexibility to
allocate resources.
 Example: less specific detectors respond to a wider
variety of patterns but are less efficient at detecting a specific pathogen.
 The numbers game:
 The immune system replicates detectors to counteract
replicating
 Computers subject to similar numbers game:
 hackers freely trading exploit scripts on the Internet
 denial-of-service attacks
 computer viruses.
Possible Architectures
Protecting static data
 Self: uncorrupted data
 Nonself: any change in self  Change detection algorithms
Protecting active processes on a single host
 Self: normal behavior
 Nonself: abnormal behavior
 View each active process as a cell
 Passwords, group/file permissions as skin
 Adaptive immune layer: rotating “lymphocyte”
Possible Architectures (cont.)
Protecting a network of mutually trusting
computers
 Process is a cell. Computer is an organ. Individual is a network
 Innate immune system
 Host-based and network security mechanisms
 Adaptive immune system
 Lymphocyte processes (kernel-assisted)
 Can migrate between computers and take appropriate action
Possible Architectures (cont.)
Protecting a network of mutually trusting
disposable computers
 Each computer a cell. Network is the individual
 Host-based security is the skin
 Innate immune system
 Network defenses (Kerberos, firewalls)
 Adaptive immune system
 Lymphocyte machines monitor each other state
Limitations
Different goals:
Biological IMS goal: survival
Computer security: confidentiality,
integrity, availability, accountability and
correctness
Most obvious is confidentiality. Biological
Conclusion
Skin and innate IMS (passwords,
access controls, careful design) are
important
Adaptive IMS is still mostly lacking in