Recovering from Viruses, Worms, and Trojan Horses