Design and Implementation of Window Access Control System
In computer security, window access control (WAC) refers to a type of access control which the operating system (OS) constrains the ability of a subject or initiator to access or generally perform some sort of operation on an object or target. In practice, a subject is usually a process or thread; objects are constructs such as files, directories, TCP/UDP ports, shared memory segments, input and output devices etc. Subjects and objects each have a set of security attributes.
Whenever a subject attempts to access an object, an authorization rule enforced by the operating system kennel examines these security attributes and decides whether the access can take place. Any operation by any subject on any object will be tested against the set of authorization rules (aka policy) to determine if the operation is allowed. According to Pete Sclafani (2002), database management system, in its access control mechanism, can also apply window access control. With window access control, this security policy is centrally controlled by a security policy administrator. Users do not have the ability to override the policy to grant access to files that would otherwise be restricted. By contrast, discretionary access control (DAC), which also governs the ability of subjects to access objects, allows users the ability to make policy decisions or assign security attributes. WAC-enabled systems allow policy administrators to implement organization-wide security policies. Unlike with DAC, users cannot override or modify this policy, either accidentally or intentionally. This allows security administrators to define a central policy that is guaranteed (in principle) to be enforced for all users. According to Barkley J., (1997) MAC has been closely associated with multi-level secure (MLS) systems. The Trusted Computer System Evaluation Criteria (TCSEC), the seminal work on the subject which is often referred to as the “Orange Book”, defines WAC as “a means of restricting access to objects based on the sensitivity (as represented by a label) of the information contained in the objects and the formal authorization (i.e., clearance) of subjects to access information of such sensitivity”. Early implementations of WAC such as Honeywell’s SCOMP, USAF SACDIN, NSA Blacker, and Boeing’s MLS LAN focused on MLS to protect military-oriented security classification levels with robust enforcement. Originally, the term WAC denoted that the access controls were not only guaranteed in principle, but in fact. Early security strategies enabled enforcement guarantees that were dependable in the face of national lab level attacks. More recently, with the advent of implementations such as SELinux (Incorporated into Linux kernels, Window Integrity Control (incorporated into Windows Vista and newer), and window schemes derived from the FreeBSD WAC Framework in OS, iOS, and Junos, WAC has started to become more mainstream and is evolving out of the MLS niche. These more recent WAC implementations have recognized that the narrow TCSEC definition, focused as it was on MLS, is too specific for general use Cavale M., and McPherson D., (2003). These implementations provide more depth and flexibility than earlier MLS-focused implementations, allowing (for example) administrators to focus on issues such as network attacks and malware without the rigor or constraints of MLS systems.