Les attaques de programmes malveillants peuvent provenir de différents types de programmes informatiques créés dans le but d'entraîner l'endommagement ou la perte de données. Les trois principaux types d'attaques de programmes malveillants sont les virus, les chevaux de Troie et les vers.

Un virus est un logiciel malveillant intégré à un autre programme pour exécuter une fonction indésirable spécifique sur l'ordinateur de l'utilisateur. Par exemple, il peut s'agir d'un programme intégré à command.com (interpréteur de commandes principal des systèmes Windows) qui supprime certains fichiers et infecte toute autre version de command.com qu'il détecte.

Un cheval de Troie se distingue uniquement par le fait qu'il a été entièrement conçu pour ressembler à une application normale, alors qu'il s'agit d'un outil malveillant. Une application logicielle qui exécute un programme de jeu sur un ordinateur peut être un exemple de cheval de Troie. Pendant que l'utilisateur est occupé à jouer, le cheval de Troie envoie une copie de lui-même à tous les contacts du carnet d'adresses de l'utilisateur. Les destinataires reçoivent le jeu et y jouent, ce qui propage le cheval de Troie à toutes les adresses de leur propre carnet.

En principe, un virus a besoin d'un mécanisme de transmission (un vecteur), comme un fichier .zip ou un autre fichier exécutable joint à un e-mail, pour transmettre son code d'un système à l'autre. Le virus informatique se distingue fondamentalement du ver par le fait qu'une interaction humaine est nécessaire pour le propager.

Les vers sont des programmes autonomes qui attaquent un système en tentant d'exploiter une faille spécifique. Lorsque l'exploitation de la vulnérabilité réussit, le ver recopie son programme de l'hôte assaillant vers les systèmes nouvellement exploités et le cycle recommence. Les différentes phases de l'attaque d'un ver sont les suivantes :