Abstract:Despite decades of work on verification techniques, fault tolerance, and security, systems continue to remain vulnerable to failures and attacks. As system complexity increases, human-assisted monitoring, maintenance, and intervention become prohibitively costly, unacceptably slow, and sometimes ineffective. New system designs must now consider fault tolerance, recoverability, self-healing, and monitoring while not compromising performance. This talk explores our approach towards building reliable systems. Our work in this area is centered around the Backdoor (BD), a novel architecture which uses commodity programmable network interface cards (NICs) with specialized firmware and OS extensions to provide non-intrusive Remote Healing of systems. I will discuss the application of the BD for: (i) remote monitoring of healthy systems to detect system faults, (ii) remote repair of system state in-place, which allows an otherwise damaged system to continue service, and (iii) remote recovery of critical state that might still be intact in a failed system’s memory. In addition, this talk will explore multi-layer Defensive Architectures, in which BDs automate the execution of defensive activities on a single system, or between collaborative systems across the local and wide areas. Finally, Orion extends our previous work in remote monitoring to analyze system behavior to understand and possibly predict conditions leading to system faults.
|
Abstract:Spread of malware is a growing trend in today's increasingly networked world. Worm and virus writing is no longer done only for fun, it is more geared towards profit. A deadly kind of malware called rootkits evades detection and tries to hide it's presence from the administrator. Rootkits often consist of sniffers, log erasers and backdoors to allow the attacker to cover their tracks and retain control of you system remotely. When these are bundled with worms and viruses, they can escape detection from anti-virus software as well. We explore existing solutions to deal with rootkit attacks. We describe a model to detect and contain the effects of a rootkit attack automatically in a virtual machine environment. |
Abstract:This talk examines the use of speculations, a form of distributed transactions, to improve reliability of distributed applications. A speculation is defined as a computation that is based on an assumption that is not validated before the computation is started. If the assumption is later found to be false, the computation is aborted and the state of the program is rolled back; if the assumption is found to be true, the results of the computation are committed. The primary difference between a speculation and a transaction is that a speculation is not isolated---for example, a speculative computation may send and receive messages, and it may modify shared objects. As a result, processes that share those objects may be absorbed into a speculation. Speculations define safe recovery lines that can be used to roll back distributed applications. First, I will discuss the syntax of speculative constructs and the operational semantics for speculative execution. Further, I will present two approaches to implementing speculations: first, as a set of programming language features inside a compiler, and second, as a kernel level module. |
Abstract:Sharing private information while preserving privacy is a challenging task. Currently existing information-flow control models preserve privacy by isolating public data from private data. Data isolation, however, is not applicable to many real applications. In this talk I will present a new model for information-flow control called Non-Inference. Non-inference allows public data to be derived from private data, but requires that the adversary should not be able to infer the value of private data from public data. I will discuss the theoretical implications of Non-Inference, and show how it can be enforced using static program analysis in the context of location privacy. Finally, I will discuss a class of applications where Non-Inference can be applied. |