From MULTICS and MLS to modern UNIX

From MULTICS and MLS to modern UNIX

From MULTICS and MLS to modern UNIX

MULTICS (Multiplexed Information and Computing Service) was a time-sharing operating system developed in the 1960s. It was designed to be highly secure and support multiple users with different security clearances, known as Multilevel Security (MLS). The concept of MLS was based on the idea that data should only be accessible to users with the proper clearance, and that users with higher clearance should be able to access data at lower levels.

In the early 1970s, Ken Thompson and Dennis Ritchie at Bell Labs created the UNIX operating system, which borrowed many ideas from MULTICS. However, UNIX was designed to be simpler and more portable than MULTICS. In particular, UNIX did not support MLS, but instead relied on file permissions to control access to files and directories.

Over time, security features were added to UNIX to address the shortcomings of file permissions. For example, the setuid bit was added to allow a program to be executed with the permissions of the owner rather than the user running the program. This allowed certain privileged programs, such as those that manage user accounts, to perform actions that would otherwise be restricted.

Another security feature added to UNIX was the use of access control lists (ACLs), which allow more fine-grained control over file permissions than traditional UNIX file permissions. With ACLs, it is possible to grant or deny specific users or groups access to a file or directory.

In the late 1980s, the National Security Agency (NSA) developed the Trusted UNIX Operating System (TUS), which included MLS capabilities. However, TUS was not widely adopted due to its complexity and high cost.

In the early 1990s, the Computer Security Center at the National Institute of Standards and Technology (NIST) developed the Trusted Computer System Evaluation Criteria (TCSEC), commonly known as the Orange Book. The Orange Book established a set of security criteria for evaluating the security of computer systems, including operating systems. The highest level of security in the Orange Book was A1, which required MLS capabilities.

Several operating systems were developed to meet the A1 criteria, including Trusted Solaris, a version of the Solaris operating system with MLS capabilities. However, these operating systems were not widely adopted due to their complexity and high cost.

In the early 2000s, the National Security Agency (NSA) developed SELinux (Security-Enhanced Linux), a security extension to the Linux operating system that included MLS capabilities. SELinux uses mandatory access control (MAC) to enforce MLS policies, and has been included in several Linux distributions.

Today, modern UNIX-like operating systems, including Linux and macOS, include a range of security features that go beyond the traditional file permissions. These features include ACLs, SELinux, and sandboxing technologies such as containers and virtual machines. While MLS capabilities are not widely used in these operating systems, they continue to evolve to meet the security needs of users and organizations.

Comments

Popular posts from this blog

OpenSolaris and Linux virtual memory and address space structures

Tagged architectures and multi-level UNIX

Tying top-down and bottom-up object and memory page lookups with the actual x86 page translation and segmentation