Software that is able to self-replicate and can propagate through:

  • Networks
  • USB connections