This document proposes a distributed approach to combating computer viruses that is inspired by the biological immune system. The system consists of an immunity-based system and a recovery system. The immunity-based system detects viruses by comparing file information ("self" data) stored in a database to the current files, and neutralizes infected files by overwriting them with the stored self data. The recovery system recovers infected files by copying clean files from uninfected computers on the local network. A prototype was implemented using Java and tested against some existing viruses.