Viruses are small pieces of software that can attach themselves to other programs and replicate. There are different types of viruses including worms, which copy themselves across networks very quickly, and Trojan horses, which appear harmless but are actually malicious. To protect against viruses, users should install genuine anti-virus software and keep it updated to scan for and remove viruses.