Author_Institution :
Dept. of Comput. Sci., Stony Brook Univ., Stony Brook, NY, USA
Abstract :
This paper explores how much the source code analysis can assist worm defense system. Previously-proposed worm defense systems have used disparate mechanisms to detect worms, analyze exploits, verify alerts, and apply mitigations. Furthermore, previous systems have not offered predictability, i.e. it is not possible to verify, in advance, that the defense system will never generate a mitigation that breaks the program. This paper describes a program transformation technique that makes collaborative worm defense systems easy to build, predictable and fast-responsive. Our transformation provides a single building block that can be used to perform worm detection, exploit analysis, alert verification, and mitigation application. In fact, our transformation makes most of these tasks trivial. Furthermore, software vendors and users can test, in advance, that the defense system will very unlikely apply a mitigation that breaks their software. Mitigations are vulnerability-specific not exploit-specific. Finally, our system can respond extremely quickly to a new worm. The exploit analysis becomes trivial so sentinel hosts can issue an alert the instant they detect a worm. We have implemented a prototype of our system based on the Jones and Kelly program transformation for memory safety. During normal operation, our system incurs only 5% overhead. We take advantage of static analysis to develop several optimizations and make the Jones and Kelly approach to memory safety efficient and practical.
Keywords :
computer viruses; formal verification; optimisation; program compilers; program diagnostics; source coding; Jones and Kelly approach; alert verification; collaborative worm defense systems; compiler assisted worm defense; exploit analysis; memory safety; optimization; program transformation technique; source code analysis; static analysis; vulnerability specific mitigation; worm detection; Collaboration; Grippers; Instruments; Optimization; Registers; Safety; Solids;