Starfish is a new system currently under development that
provides intrusion detection and intrusion tolerance for
middleware applications operating in a distributed asynchronous
system. The Starfish system contains a central, highly secure
and tightly coupled core. This core is augmented by "arms"
that are less tightly coupled and that have less stringent
security guarantees, each of which can be removed from the
core if a significant security breach occurs.
New arms can be "grown" as needed.
One of Starfish's
objectives is proactive survivability, where we utilize readily available
system information to contain the spread of malicious faults. We
employ epidemiological mechanisms, such as vaccination, to increase
the resistance of the system to future attacks. Starfish is aimed at
supporting distributed applications, such as Web Services, that must
tolerate partitions, and that must continue to sustain survivability,
in the presence of faults and malicious attacks.