Để bảo vệ một hệ thống máy tính, trƣớc hết chúng ta cần phải kiểm soát việc truy cập hệ thống. Giải pháp là dùng cách nào đó giới hạn các truy cập của foreign code (foreign code là mã bất kỳ không sinh ra tại máy làm việc nhƣng bằng cách này hay cách khác tới đƣợc máy và chạy trên đó) tới các dữ liệu và tài nguyên của hệ thống. Chúng ta biết rằng mọi tiến trình đều cần có một môi trƣờng nhất định để thực thi. Đƣơng nhiên một chƣơng trình không bao giờ thực thi sẽ chẳng bao giờ.