"Malware" è un termine generale per tutte le categorie di software dannoso, incluso il software che non tenta di diffondersi, ma fa solo cose che l'utente preferirebbe che non facesse.
Un "worm" è un programma auto-propagante che può diffondersi senza aiuto esterno. Un esempio potrebbe essere un programma che cerca un server SSH non protetto, si carica da solo e quindi esegue se stesso sul sistema appena infetto.
Un "virus" non si autoalimenta. Invece, porta su un altro programma, eseguendo solo quando viene eseguito il programma infetto. Un esempio potrebbe essere un programma che gira su un computer, alla ricerca di chiavette USB; quando ne trova uno, modifica ogni programma su quell'unità per contenere una copia di se stesso.
Le e-mail, Internet e il design dei moderni sistemi operativi rendono il confine tra "worm" e "virus" un po 'sfocato. È un programma che dipende da un bug per aggiungere il suo codice a un programma già in esecuzione per l'infezione iniziale, ma successivamente viene eseguito da solo, un worm o un virus?