Computing
is rapidly moving away from traditional computers. Researchers are describing
the exciting future of computing: ubiquitous computing, where the computing
will be deeply embedded everywhere in our environments. Many programs in the future will run on
collections of mobile processors interacting with the physical world and
communicating over dynamic, ad hoc networks. We can view such a collection of
devices as a swarm. Programming swarms are becoming practical and critical for our future.
It is very important to understand and reason about these systems before they
can really construct a splendid future for us.
As with
natural swarms, such as a school of fish or an ant colony, the behavior of the
swarm emerges from the simple behaviors of its individual members. Programming
swarms possess distinguished characteristics from traditional systems: limited
computation and communication capabilities of each node due to it small
physical size and limited power; the massive number of nodes in the systems;
complex system goals achieved by simple members. These unique features call for
new algorithms and new computing paradigms to construct these systems.
Security
is one of the key problems we must analyze and solve before these systems
become really applicable and reliable. The deeply distributed nature and large scale of these systems are
twofold factors to system security. On one hand, they might offer new
vulnerabilities and new classes of attacks. They challenge the traditional
security solutions, most of which depends on expensive cryptographic
computations and centralized mechanisms and are no longer applicable or prevail
in these systems. We need lightweight, decentralized security mechanisms to
match the natures of these systems.
On the other hand, the swarm is resilient to a small fraction of
misbehaving members and to changes in the environment. They are inherent
resilient and adaptive, which predicts great chances of achieving system
security without heavyweight mechanisms.
With
such a big picture of programming swarms and unclear directions of security, we
initiate our efforts by studying the security problems and opportunities in the
stigmergic systems. Biology inspired algorithms have been good attempts to construct
programming swarms, which have been successfully applied to many complex
systems. Learning directly from
the biological peers, these systems always involve multiple agents interact
within a common environment. The indirect communication mediated by the
environment, i.e. stigmergy, has been the key reason of the success of
these systems. AntNet, a multi-agent routing algorithm inspired by the foraging
model of ant colonies, is a representative example of stigmergic systems. We analyze the possible attacks in
these systems and discover the possibility of using lightweight mechanism to
defend these attacks. We tried to identify the desirable properties for
security in these systems, which include self-organizing, adaptiveness and
locality.
Facing
towards a complete new computing paradigm and systems, whose security problems
have never been studied and understood before, although our work is primitive
and incomplete, we wish to attract interest and attention towards the direction
of security problems and opportunities in programming swarms or large-scale
highly-distributed complex systems. We hope to take advantage of the
constructive discussion and response to better understand our ideas and
enlighten future directions.
Master Project Presentation: Security Issues in Stigmergic Systems
When Ants Attack: Security
Issues for Stigmergic Systems
Weilin Zhong and David Evans. Submitted 5 April 2002 to NSPW2002. (PS,PDF, 9 pages)
Weilin Zhong and David Evans. 7 December 2001. (PS, 20 pages)
Project
Presentation: Ant Routing Simulations in GPL and StarLogo
Project Proposal:
Ant Routing Simulations
Big View: Programming for Swarm