Michael Golm, Meik Felser, Christian Wawersich, Jürgen Kleinöder A Java Operating System as the Foundation of a Secure Network Operating System Technical Report TR-I4-02-05 ◆ August 2002 Department of Computer Sciences 4 Distributed Systems and Operating Systems Friedrich-Alexander-Universität Erlangen-Nürnberg Univ. Erlangen-Nürnberg • Informatik 4 • Martensstr. 1 • 91058 Erlangen • Germany Phone: +49.9131.85.27277 • Fax: +49.9131.85.28732 TECHNISCHE FAKULTÄT E-Mail:
[email protected] • URL: http://www4.informatik.uni-erlangen.de (Faculty of Engineering Sciences) A Java Operating System as the Foundation of a Secure Network Operating System Michael Golm, Meik Felser, Christian Wawersich, Jürgen Kleinöder University of Erlangen-Nuremberg Dept. of Computer Science 4 (Distributed Systems and Operating Systems) Martensstr. 1, 91058 Erlangen, Germany {golm, felser, wawersich, kleinoeder}@informatik.uni-erlangen.de Abstract user to run arbitrary commands with root privilege [10], Errors in the design and implementation of operating [11], one executes commands in emails [12], and one is an system kernels and system programs lead to security prob- integer overflow [13]. The six buffer overflow vulnerabili- lems that very often cause a complete breakdown of all ties could have been avoided by using techniques described security mechanisms of the system. by Cowan et al. [15]. However, not all overflow attacks can We present the architecture of the JX operating system, be detected and the authors recommend the use of a type- which avoids two categories of these errors. First, there are safe language. implementation errors, such as buffer overflows, dangling An argument that is often raised against type-safe sys- pointers, and memory leaks, caused by the use of unsafe tems and software protection is that the compiler must be languages.