A novel approach for computer security education using Minix instructional operating system

https://doi.org/10.1016/j.cose.2005.09.011Get rights and content

Abstract

To address national needs for computer security education, many universities have incorporated computer and security courses into their undergraduate and graduate curricula. In these courses, students learn how to design, implement, analyze, test, and operate a system or a network to achieve security. Pedagogical research has shown that effective laboratory exercises are critically important to the success of these types of courses. However, such effective laboratories do not exist in computer security education.

Intrigued by the successful practice in operating system and network courses education, we adopted a similar practice, i.e., building our laboratories based on an instructional operating system. We use Minix operating system as the lab basis, and in each lab we require students to add a different security mechanism to the system. Benefited from the instructional operating system, we design our lab exercises in a way such that students can focus on one or a few specific security concepts while doing each exercise. The similar approach has proved to be effective in teaching operating system and network courses, but it has not yet been used in teaching computer security courses.

Introduction

The high priority that information security education warrants has been recognized since early 1990s. In 2001, Eugene Spafford, director of the Center for Education and Research in Information Assurance and Security (CERIAS) at Purdue University, testified before Congress that “to ensure safe computing, the security (and other desirable properties) must be designed in from the start. To do that, we need to be sure all of our students understand the many concerns of security, privacy, integrity, and reliability” (Spafford, 1997).

To address these needs, many universities have incorporated computer and information security courses into their undergraduate and graduate curricula. In many curricula, computer security and network security are two core courses. These courses teach students how to design, implement, analyze, test, and operate a system or a network with the goal of making it secure. Pedagogical research has shown that students' learning is enhanced if they can engage in a significant amount of hands-on exercises. Therefore, effective laboratory exercises (or course projects) are critically important to the success of computer security education.

Traditional courses, such as operating systems, compilers, and networking, have effective laboratory exercises, as the result of 20 years' maturation. In contrast, laboratory designs in security education courses are still embryonic. A variety of approaches are currently used; three of the most frequently used designs are the following: (1) the free-style approach, i.e., instructors allow students to pick any security-related topic they are interested in for the course projects; (2) the dedicated computing environment approach, i.e., students conduct security implementation, analysis and testing (Hill et al., 2001, Mayo and Kearns, 1999) in a contained environment; and (3) the build-it-from-scratch approach, i.e., students build a secure system from scratch (Mitchener and Vahdat, 2001).

Free-style design projects are effective for creative students; however, most students become frustrated with this strategy because of the difficulty in finding an interesting topic. With the dedicated environment approach, projects can be very interesting, with the logistical burdens of the laboratory – obtaining, setting up, and managing the computing environment. In addition, course size is constrained by the size of the dedicated environment. The third design approach requires students to spend considerable amount of time on activities that are irrelevant to computer security education but are essential for a meaningful and functional system.

The lack of an effective and efficient laboratory for security courses motivated us to consider practices adopted by the traditional mature courses, e.g., operating systems (OS) and compilers. In OS courses, a widely adopted successful practice is using an instructional OS (e.g., MINIX (Tanenbaum, 1996), NACHOS (Christopher et al., 1993), and XINU (Comer, 1984)) as a framework and ask students to write significant portions of each major piece of a modern OS. The compiler and network courses adopted a similar approach. Inspired by the success of the instructional OS strategy, we adapt it to our computer security courses. Specifically, we provide students with a system as the framework, and then ask them to implement significant portions of each fundamental security-relevant functionality for a system. Although there are a number of instructional systems for OS courses, to our knowledge, this approach has not yet been applied to computer and information security courses.

Our goal is to develop a courseware system, serving as an experimental platform and framework for computer security courses. The courseware is not designed to create new security mechanisms, but to let students practice existing security work. The courseware contains a set of well defined and documented projects for helping students focus on (1) grasping security concepts, principles, and technologies; (2) practicing design and implementation of security mechanisms and policies; and (3) analyzing and testing a system for its security properties.

We chose Minix as our base system, and have designed a number of laboratory assignments on it. These assignments cover topics ranging from the design and implementation of security mechanisms to the analysis and testing of a system for security purpose. Each assignment can be considered as adding/modifying security mechanisms to Minix. To finish each task, students just need to focus on those security mechanisms, with minimum effort on other parts of the system. For example, while learning discretionary access control (DAC), we give students a file system without DAC mechanisms; students only need to design and implement DAC for this existing file system. Students can immediately see how their DAC implementation affects the system. This strategy helps students to stay focused on security concepts.

Our course projects consist of two parts. One part focuses on design and implementation. This part of the projects requires students to add new security mechanisms to the underlying Minix system to enhance its security. The security mechanisms students need to implement include access control, capability, sandbox, and encrypted file systems. In the second part of our projects, we gave students a modified Minix system that contains a number of injected vulnerabilities. Students need to use their skills learned from the lectures to identify, exploit, and fix those vulnerabilities.

Our approach is open-ended, i.e., we can add more laboratory projects to this framework without affecting others. The projects presented in this paper are the result of 3 years' maturation, with more components added in each year. We are also planning to design a number of network security projects for Minix based on the Minix's existing networking functionality.

The paper is organized as follows: the next section briefly describes our computer security course. Then the design of our courseware is described which is followed by description of each of our laboratory projects. Further the experiences and lessons we have gained during our 3-year practice are presented. Finally, the last section concludes the paper and describes the future work.

Section snippets

Scope of the course

Our department offers two graduate courses in security: one is computer security, and the other is network security. The computer security course focuses on the concepts, principles, and techniques for system security, such as encryption algorithms, authentication, access control, privilege, vulnerabilities, system protection, etc. Currently, our proposed approach only targets at the computer security course, but we plan to extend this approach to the network security course in our future work.

Pedagogical approach

Design of course projects

The goal of our projects is to provide a set of exercises for students to practice their security design, implementation, analysis, testing, and operation skills. Using the Minix instructional operating system, we designed two classes of projects, one focusing on design and implementation of security mechanisms, and the other focusing on security analysis and testing. The overview of our projects is depicted in Fig. 1.

Design and implementation. In our computer security class, we aim at covering

Laboratory setup

We use Minix on Solaris in our course. All of the laboratory exercises will be conducted in SUN Solaris environment using C language. Except for giving students more disk space (100 MB) to store the files of Minix system, Minix poses no special requirements on the general Solaris computing environment.

The Minix operating system can also be installed on simulated environments like VMware , Bochs and so on. Installing the operating system on VMware is not a difficult process, and no superuser

Experiences and lessons

We did a teaching experiment in the 2002 spring semester when we taught the graduate-level computer security course at Syracuse University. At that time, we asked students to add certain specific security mechanisms to Minix. We only give students one project for the whole semester because modifying an OS seems to be a daunting job for most of the students. The students liked the project very much and were highly motivated. At the end of the semester, the students provided a number of useful

Conclusion and future work

We have described a laboratory design for our graduate-level computer security course. Our approach is intrigued by the successful practice in operating system and network courses education. In our approach, we use Minix instructional operating system as the basis of our laboratory; in design-oriented laboratory projects, students add a specific security mechanism to the system; in analysis-oriented laboratory projects, students identify, exploit, and fix vulnerabilities in Minix. Because of

Wenliang Du received the B.S. degree in Computer Science from the University of Science and Technology of China, Hefei, China, in 1993, the M.S. degree and the Ph.D. degree from the Computer Science Department at Purdue University, West Lafayette, Indiana, USA, in 1999 and 2001, respectively. During his studies in Purdue, he did research in the Center for Education and Research in Information Assurance and Security (CERIAS). Dr. Du is currently an assistant professor in the Department of

References (15)

  • C. Pfleeger et al.

    A methodology for penetration testing

    Computers and Security

    (1989)
  • Ashton P, Smx—the solaris port of minix....
  • M. Bishop

    Computer security: art and science

    (2002)
  • Bochs
  • Christopher WA, Procter SJ, Anderson TE. The nachos instructional operating system. In: Proceedings of the winter 1993,...
  • D. Comer

    Operating system design: the XINU approach

    (1984)
  • Hill JMD, Carver CA Jr, Humphries JW, Pooch UW. Using an isolated network laboratory to teach advanced networks and...
There are more references available in the full text version of this article.

Cited by (9)

View all citing articles on Scopus

Wenliang Du received the B.S. degree in Computer Science from the University of Science and Technology of China, Hefei, China, in 1993, the M.S. degree and the Ph.D. degree from the Computer Science Department at Purdue University, West Lafayette, Indiana, USA, in 1999 and 2001, respectively. During his studies in Purdue, he did research in the Center for Education and Research in Information Assurance and Security (CERIAS). Dr. Du is currently an assistant professor in the Department of Electrical Engineering and Computer Science at Syracuse University, Syracuse, New York, USA. His research background is in computer and network security. In particular, he is interested in wireless sensor network security and privacy-preserving data mining. He is also interested in developing instructional laboratories for security education using instructional operating systems. His research has been supported by the National Science Foundation and the Army Research Office.

Mingdong Shang received his B.S. Degree in Electrical and Mechanical Engineering from Beijing University of Aeronautics and Astronautics in 1998. He is Currently a Ph.D. student in the Department of Electrical Engineering and Computer Science at Syracuse University. His research interests include computer security and network security, and he has been focusing on developing Minix-based instructional laboratory environment and lab exercises for computer and network security courses.

Haizhi Xu received his B.S. and M.S. degrees both in computer engineering from Harbin Institute of Technology, Herbin, China, in 1995 and 1997 respectively. He is a Ph.D. Candidate at Syracuse University, Syracuse, NY, USA, majoring in computer engineering. His current research interests are computer system security, intrusion detection and mitigation, and operating systems.

The project is supported by grant DUE-0231122 from the National Science Foundation and by fundings from CASE center.

View full text