Như đã đề cập, các chương trình anti-virus không thể phát hiện được virus mới, do vậy không bảo vệ được máy tính trước những virus này. Giải thuật cho việc phát hiện mọi virus là khó và không khả thi [24]. Trong trường hợp này, chúng ta chỉ mong giảm thiểu được thiệt hại bằng việc giới hạn sự truy xuất của virus tới các dữ liệu và tài nguyên của hệ thống. Mô hình áp đặt các giới hạn này được biết đến với cái tên “Sandbox” (Hình 11.5).
Mô hình sandbox
Có nhiều người cho rằng máy tính hay bị nhiễm virus là do hay kết nối vào internet. Nếu bạn thường xuyên duyệt Web có lẽ bạn cũng đồng ý như vậy. Nhưng không, nếu chúng ta chỉ duyệt web không thôi thì khả năng máy tính bị nhiễm virus là rất thấp. Ngay cả khi bạn bị tái điều hướng (redirect) tới một trang web bất thường và chạy một chương trình nào trên đó. Điều này có được là do hầu hết các trình duyệt web đều đã triển khai mô hình sandbox. Các loại mã ngoại lai hay các chương trình không tin cậy sẽ phải chạy dưới sự kiểm soát của mô hình này. Tiếp theo chúng ta cùng xem xét hai ví dụ điển hình của việc triển khai mô hình sandbox trên thực tế.
Ví dụ :Java applet
Java là một ngôn ngữ mạnh mẽ, bảo mật. Vấn đề về bảo mật với Java chỉ thực sự liên quan đến applet. Tận dụng khả năng của Java, tin tặc có thể viết các applet để triển khai các kiểu tấn công như đã xét. Mô hình sandbox cho Java có lẽ nổi tiếng nhất. Bất cứ khi nào người dùng duyệt trang web có chứa applet. Applet được trình duyệt tự động tải về và chạy dưới sự kiểm soát chặt chẽ của mô hình này.
Ví dụ :Công nghệ Active Content và các chương trình trợ giúp (helper applications) Để xử lý nhiều loại dữ liệu khác nhau, trình duyệt cần triệu gọi các chương trình trợ giúp tương ứng với chúng. Bất cứ khi nào một tài liệu bất kỳ được gửi từ Web Server cho trình duyệt web, trình duyệt sẽ trình diễn nội dung của tài liệu đó hoặc trực tiếp thông qua các chương trình có sẵn (built-in) hay các chương trình kết hợp, hoặc gián tiếp qua việc triệu gọi các chương trình trợ giúp chẳng hạn như Word, Excel, Ghostscript. Không may, các chương trình trợ giúp này thường cồng kềnh và không được thiết kế với các tiêu chí bảo mật.
Các công nghệ mã ẩn (Active Content) cho phép các đoạn mã máy tính (gọi tắt là mã) dưới dạng các script, macro hoặc các loại mã mô tả tài liệu (postscript) nhúng trong các tài liệu được thực thi khi một tài liệu được mở. Trong lúc người sử dụng hiển thị tài liệu một cách bị động thì nội dung của tài liệu lại được thông dịch và trở nên được kích hoạt
công nghệ nào khác, công nghệ mã ẩn có thể cung cấp những khả năng hữu ích cho việc thực hiện các dịch vụ thiết yếu nhưng nó đồng thời cũng trở thành một điểm yếu bảo mật, tạo điều kiện cho các cuộc tấn công của tin tặc. Ví dụ, chúng ta có một file Word được đính kèm với thư điện tử (file này có chứa một virus macro). Trong khi file này chưa được mở (tức là nó ở trạng thái chưa được kích hoạt) chẳng có gì hư hại đến bảo mật của hệ thống. Tuy nhiên tại thời điểm Microsoft Word mở file và cho phép macro thực thi. File Word ở trạng thái kích hoạt và đe doạ tới bảo mật của hệ thống.
Đối với trình duyệt, mô hình sandbox đã được triển khai để khắc phục các nguy cơ đến từ công nghệ mã ẩn. Chúng ta dễ thấy điều này khi mở một file Word, Excel hay Postscript trong trình duyệt. Khi đó trình duyệt chỉ đóng vai trò như một công cụ hiển thị, các chức năng thông thường của các chương trình trợ giúp bị loại bỏ.