Exploiting Segmentation Mechanism for Protecting against Malicious Mobile Code
Takahiro Shinagawa, Kenji Kono, Takashi Masuda · 2000
This paper describes a mechanism for protecting against malicious mobile code. As mobile code is linked with a hosting application and executed in the same process, a fine-grained protection domain providing an intra-process protection is required to prevent a malicious mobile code from unauthorized access. This paper introduces a multi-protection page table: a mechanism of virtual memory that enables fine-grained protection domains to be supported at the kernel level. A fine-grained protection domain (1) confines the memory accesses by mobile code in authorized areas, (2) restricts the system calls issued by mobile code, and (3) enables efficient cross-domain calls among mobile codes and a hosting application. Efficiency of cross-domain calls encourages the use of fine-grained protection domains. This paper demonstrates that a multi-protection page table can be implemented efficiently on the most widely used architecture; that is, Intel x86 family. The presented implemen-tation achieves reasonable performance for practical use; one round-trip cross-domain call requires 226 to 608 cycles. Experimental results show that the protection overhead is only 6.1 % to 15.8 % in a real application. 1