Reducing Security Policy Size for Internet Servers in Secure Operating Systems

Toshihiro YOKOYAMA  Miyuki HANAOKA  Makoto SHIMAMURA  Kenji KONO  Takahiro SHINAGAWA  

IEICE TRANSACTIONS on Information and Systems   Vol.E92-D   No.11   pp.2196-2206
Publication Date: 2009/11/01
Online ISSN: 1745-1361
DOI: 10.1587/transinf.E92.D.2196
Print ISSN: 0916-8532
Type of Manuscript: PAPER
Category: System Programs
secure operating system,  SELinux,  Internet server,  policy description,  

Full Text: PDF(512.5KB)>>
Buy this Article

Secure operating systems (secure OSes) are widely used to limit the damage caused by unauthorized access to Internet servers. However, writing a security policy based on the principle of least privilege for a secure OS is a challenge for an administrator. Considering that remote attackers can never attack a server before they establish connections to it, we propose a novel scheme that exploits phases to simplify security policy descriptions for Internet servers. In our scheme, the entire system has two execution phases: an initialization phase and a protocol processing phase. The initialization phase is defined as the phase before the server establishes connections to its clients, and the protocol processing phase is defined as the phase after it establishes connections. The key observation is that access control should be enforced by the secure OS only in the protocol processing phase to defend against remote attacks. Since remote attacks cannot be launched in the initialization phase, a secure OS is not required to enforce access control in this phase. Thus, we can omit the access-control policy in the initialization phase, which effectively reduces the number of policy rules. To prove the effectiveness of our scheme, we wrote security policies for three kinds of Internet servers (HTTP, SMTP, and POP servers). Our experimental results demonstrate that our scheme effectively reduces the number of descriptions; it eliminates 47.2%, 27.5%, and 24.0% of policy rules for HTTP, SMTP, and POP servers, respectively, compared with an existing SELinux policy that includes the initialization of the server.