1. A method of protecting data in a computer system against attack from viruses and worms comprising; modifying micro-code of a processor of system to be protected to remove homogeneity between processors from a manufacturer; modifying op-codes of an application to match modified micro-code of the processor prior to execution.