Sunt două din cele mai răspândite categorii de malware, având în comun faptul că sunt capabili de a se autoreplica, răspândindu-și copii (eventual modificate) către alte sisteme. Diferența este că un vierme acționează mai mult sau mai puțin independent de alte fișiere de pe sistemul infectat, în vreme ce virușii au nevoie de fișiere-gazdă pentru a se răspândi, la fel cum virusul biologic are nevoie de o celulă-gazdă. La apariție, virușii infectau de obicei fișiere executabile (astfel încât să fie executați ori de câte ori erau rulate aplicațiile respective) sau sectoarele de boot ale dischetelor (astfel încât să poată infecta alte calculatoare în care s-ar fi folosit dischetele respective). Ulterior au fost dezvoltați viruși pentru diverse tipuri de documente care puteau conține macro-uri (documente text, foi de calcul, baze de date etc.), iar mai recent virușii au început să se răspândească prin fișiere atașate mesajelor e-mail, infectarea calculatorului destinație bazându-se pe curiozitatea utilizatorului de a deschide un astfel de atașament.
Spre deosebire de viruși, viermii nu se răspândesc cu ajutorul altor fișiere (executabile, documente, imagini etc.), fiind programe de sine stătătoare care nu modifică sistemul gazdă (decât în masura în care se "instaleaza" ca parte a procesului de inițializare a sistemului) și care se răspândesc de obicei folosindu-se de diverse vulnerabilități ale sistemelor țintă.
Efectele virușilor pot fi benigne (afișarea periodică a unui mesaj glumeț), dar se poate ajunge și la efecte foarte grave (pierderea definitivă a informațiilor din computer, distrugerea hard-discului etc.). Virușii ajung în computere fie prin medii de stocare infectate, fie prin rețea, ca atașamente la email-uri ori prin programe sau aplicații.