Asked by: Simon Rankin, Maidstone
A virus is a nasty piece of software that is inserted into a normal piece of software, just as a biological virus infects a cell. When the normal software is run, the virus copies itself into other software while also doing unwanted things such as recording keystrokes to steal passwords.
A trojan is similar, but it does not replicate itself. It hides inside a seemingly innocuous program – run the program and the trojan wreaks havoc, from deleting your files to giving hackers access to your system.
A worm is an independent program that replicates on its own, typically spreading across networks and causing major disruption to systems.
Subscribe to BBC Focus magazine for fascinating new Q&As every month and follow @sciencefocusQA on Twitter for your daily dose of fun facts.