New Directions In
|Schedule - Participants|
|Registration - Hotel Accommodations - How to get there|
In both biological and social terms, we exist in an adversarial environment. We compete for resources and for survival. We are also social creatures seeking cooperation. Competition and collaboration have proven successful as strategies over the long term in biological and social systems, but we have been slow to adopt these strategies for software systems.
Certain software already takes this approach: advanced malware and certain game programs. They know that they have an adversarial relationship with other software or with other malware. Malware may seek out and destroy competing infections; one malware installation may cooperate with others to propagate infection, or cover its tracks. Sometimes the same techniques can be used by competing adversaries, and those techniques are "benign" or "malicious" depending on who is wielding the technique. Bacteria share genetic information to achieve antibiotic resistance. There have been attempts to use the techniques of malware propagation to spread patches throughout a friendly network. What can we learn from these examples that may support aggressively robust software in other domains?
Our vulnerability to cyber attacks in both software and cyber-physical systems tells us that we are already operating in an adversarial computing world, but our software systems are mostly sitting ducks. How can we turn the situation around so that we take advantage of adversarial and collaborative opportunities? We want to build software that knows how to operate in this adversarial context. Malware developers have techniques that might be applicable to defense, but their software is generally small. Does this idea scale? We have also seen the adoption of malware techniques for defense spin out of control; how can we make these ideas more controllable and reliable?
Not all adversarial situations have malicious intent; the environment in which our software operates is ever changing. Can our software systems remain robust to a changing environment by aggressively taking advantage of changes rather than having to be manually updated?
We will look at the state of the art in malware, games, and mainstream approaches to the issue of active engagement with the sometimes hostile environment in which our programs "live."
The workshop program will be divided into half-day sessions focusing on selected challenges. Sessions will include overview presentations and small-group discussions, as well as a hands-on exercise.