computer virus definition types spread and prevention | Comidoc