Highly advanced malicious software research is my field. There is simply no other rigorous treatment of computer viruses (the somewhat hard mathematics behind what is a 'virus') in book form on the market today. Lt. Col. Eric Filiol, a Math and CS professor and Research Scientist Officer at the Military Academies of Saint-Cyr (French equivalent of Westpoint), heads the Virology and Cryptology Lab (ESAT) in Rennes. Prof. Filiol is an internationally renown expert on cryptology and its strong but non-obvious links to virology. He is also the editor in chief of the premier academic journal devoted to virology, Journal In Computer Virology (Springer). The books is deep on theory fundamentals and formalization, in the French tradition of CS being subsumed by mathematics. Subsequent analysis of somewhat dated viruses (incl c source code) follows. A CD is included. Serious researchers with a background in automata theory will find this book especially useful. His second volume, Techniques virales avancees (available only in French as of May 2008) is even better. I recommend for the aspiring researcher in order of complexity Skoudis's "Malware" (loved counterhack reloaded), then Szor's "Art and Science" (Peter, when's the update coming out?), then Aycock's book and then both books by Filiol. Daniel Bilar “Viruses don’t harm, ignorance does. Is ignorance a defense?” herm1t “[...] I am convinced that computer viruses are not evil and that programmers have a right to create them, to possess them and to experiment with them ... truth seekers and wise men have been per- ́ secuted by powerful idiots in every age ...’ Mark A. Ludwig Everyone has the right to freedom of opinion and expression; this right includes freedom to hold opinions without interference and to seek, receive and impart information and ideas through any media and regardless of frontiers. Article 19 of Universal Declaration of Human Rights The purpose of this book is to propose a teaching approach to under- 1 stand what computer viruses really are and how they work. To do this, three aspects are covered ranging from theoretical fundamentals, to pr- tical applications and technical features; fully detailed, commented source 1 We will systematically use the plural form “viruses” instead of the litteral one “virii”. The latter is now an obsolete, though gramatically recommended, form. VIII Preface codes of viruses as well as inherent applications are proposed. So far, the applications-oriented aspects have hardly ever been addressed through the scarce existing literature devoted to computer viruses. "Viruses don't harm, ignorance does. Is ignorance a defense?" herm1t " ... I am convinced that computer viruses are not evil and that programmers have a right to create them, to possess them and to experiment with them ... truth seekers and wise men have been per- þ secuted by powerful idiots in every age ... ' Mark A. Ludwig Everyone has the right to freedom of opinion and expression; this right includes freedom to hold opinions without interference and to seek, receive and impart information and ideas through any media and regardless of frontiers. Article 19 of Universal Declaration of Human Rights The purpose of this book is to propose a teaching approach to under- 1 stand what computer viruses really are and how they work. To do this, three aspects are covered ranging from theoretical fundamentals, to pr- tical applications and technical features; fully detailed, commented source 1 We will systematically use the plural form "viruses" instead of the litteral one "virii". The latter is now an obsolete, though gramatically recommended, form. VIII Preface codes of viruses as well as inherent applications are proposed. So far, the applications-oriented aspects have hardly ever been addressed through the scarce existing literature devoted to computer viruses This book deals with computer viruses envisaged from three different points of view, namely the theoretical fundamentals of computer virology, algorithmic and practical aspects of viruses and their potential applications to various areas. The theoretical formalization by means of Turing machines, self-reproducing automata and recursive functions enable a precise and exhaustive description of the different types of malware. It follows that the main stakes of computer defense and antiviral fighting are easily highlighted. Detailed analysis of the source code for representative members of each virus/worm family allows the reader to grasp the basic algorithmic aspects involved in self-reproducing codes. The C programming language has been systematically used for a better understanding of the considered codes. "This book treats the subject of computer viruses from three different points of view: the theoretical fundamentals of computer virology, algorithmic and practical aspects of viruses, and finally, the potential applications of computer viruses to other domains."--BOOK JACKET A precise and exhaustive description of different types of malware from three different points of view, namely the theoretical fundamentals of computer virology, algorithmic and practical aspects of viruses and their potential applications to various areas.