A computer random access memory is divided into first and second
partitions. Each partition has its own operating system (OS). The first
partition has a conventional OS and is designated for non-Internet use.
The second partition is designated for secure Internet access, and has an
OS specific for Internet usage. Software in the second partition cannot
write or copy files in the second partition. The size of the second
partition is fixed and unchangeable while said second partition is open.
Each software application in the second partition is allocated a memory
region that cannot be changed, thereby preventing memory overflow
attacks. A secure memory is designated for temporary storage of software
used in the second partition. Cyclic redundancy check (CRC) values are
calculated for all files in the secure memory. To detect unauthorized
file changes, CRC values are calculated for all files used in the second
partition, and checked against values stored in the secure memory. The
second partition can write only to a secure memory using a security
arrangement such as password protection or a download memory separate
from the first partition to allow files stored in the download memory to
be examined by scanning and testing from the first partition prior to
being stored elsewhere in the computer.