A virus is an infectious program that spreads to other programs and attaches copies of itself, usually with document or executable file extensions. There are several types of viruses including worms, Trojan horses, and logic bombs. A Trojan horse appears harmless but contains malicious code. Types of Trojan horses include remote access and denial of service attacks. A salami attack involves many small, difficult to detect security breaches that combine for a large attack. To combat viruses, users should keep their operating system and antivirus software up to date, use a firewall, and be vigilant about new threats.