A standalone malware computer program that replicates itself in order to spread to other computers. Often, it uses a computer network to spread itself, relying on security failures on the target computer to access it. It does not need to attach itself to an existing program.
Answer 1 - This is a computer virus
Answer 2 - This is a computer worm
Answer 3 - This is a trojan horse
Answer 4 - This is a botnet