Survivability refers to the capability of a system to ful ll its mission, in a timely manner, in the presence of attacks, failures, or... Show moreSurvivability refers to the capability of a system to ful ll its mission, in a timely manner, in the presence of attacks, failures, or accidents. For many distributed systems, ensuring their survivability under directed attacks is critical. Tra c analysis, conducted by the attacker, could reveal the protocol being carried out by the components. Furthermore, having inferred the protocol, the attacker can use the pattern of the messages as a guide to the most critical components. In this thesis, we rst thwart these directed attacks by using message forwarding to reduce tra c di erences, thus diverge attackers from directed attack to random attack, which probabilistically prolongs the availability of important components in the system. Then, we investigate how to improve system availability when the system is under random attack. Although the attackers cannot di erentiate the di erences between critical and non-critical components, they can intelligently decide how to invest their resources by rationally selecting the number of components to attack. Under this case, how to maintain system reliability is another challenging issue. This thesis further discusses the attacker-defender problem and analyzes how to maximize system reliability under rational attacks. When one or more system processing elements are compromised by attackers, how to select applications and deploy their tasks to the remaining processing elements so that the system availability is maximized is also investigated in this thesis. To be more speci c, we assume the applications may have di erent values towards system availability and may or may not share the same composing tasks, and we presented two di erent approaches, i.e., Genetic Algorithm (GA) based approach and Max-Min-Min based approach to solving this problem. GA-based approach produces near optimal solutions and it can be used o -line when the performance is important and timing complexity is not the primary concern. While the Max-Min-Min based approach is computationally e cient and it is used when the timing is critical. PH.D in Computer Science, December 2012 Show less