The Rule Set Based Access Control (RSBAC) Framework for Linux
|
|
|
- Bertram Martin
- 9 years ago
- Views:
Transcription
1 The Rule Set Based Access Control (RSBAC) Framework for Linux Amon Ott Compuniverse D Ammersbek / Germany [email protected] Simone Fischer-Hübner Karlstad University Department of Computer Science SE Karlstad / Sweden [email protected] Abstract: RSBAC ( Rule Set Based Access Control ) is an open source security extension for Linux kernels based on the Generalized Framework for Access Control (GFAC). It is a kernel-based access control scheme, which can be configured with a set of security policies chosen from a provided set of options and which can be used to significantly enhance Linux system security. In this paper, we present the RSBAC system architecture, the RSBAC security policy components and outline the RSBAC implementation. Besides, we briefly compare RSBAC with other Linux kernel-based access control projects. Keywords: operating systems security, Linux security, access control models and policies 1. Introduction 1.1 The Problem of Linux Insecurity Linux systems, as many others in the Unix family, have a well-known lack of access control. First of all, there is the small granularity of discretionary access rights, only dividing between read, write and execute rights for file owner, file group members and all others. The fact that access control relies on a file owner s discretion already leads to various problems, like the level of trust that has to be put in a user, the vulnerability from malware working on behalf of a user, etc. Also, there is hardly any logging of user activities possible, making it even harder to detect malicious accesses. The worst problem, however, is the system administrator account root. Many system tasks are only allowed to be done by this user, even many network services have to be started or, worse, run as root. On the other hand, the root account has full access to every object in the system. It is easy to understand why so many Unix family systems have been compromised locally or by remote access RSBAC outline RSBAC ( Rule Set Based Access Control ) is an open source security extension for current Linux kernels [RSBAC], [Ott 2001a], [Ott 2001b]. It is based on the Generalized Framework for Access Control (GFAC) by Abrams, LaPadula et al. ([Abrams et al. 1990], [LaPadula 1995]) and provides a flexible access control system with several modules implementing different security policies. 1 Section 7.1 compares RSBAC to the Linux Privileges scheme which has been included into the official Linux kernel. 1
2 GFAC was introduced as a framework for expressing and integrating multiple policy components. Since in GFAC the access control enforcement facility and access control decision facility are implemented and thus separated in two different components, GFAC makes it feasible to configure and extend a system (more precisely: the access control decision facility) with a combination of security policies chosen from a provided set of options, with confidence that the resulting system s security policies will be properly enforced. A draft top-level specification, which specifies how the GFAC approach can be implemented in Unix System V was published in [LaPadula 1995]. This draft specification was more elaborated, changed and extended in many respects and then adapted and used for the implementation of the Rule Set Based Access Control (RSBAC) in Linux. The RSBAC system can bring a significantly higher level of security to the Linux kernel and operating environment. In this paper, we present the RSBAC system kernel architecture, the RSBAC system components and outline the RSBAC implementation. Section 2 introduces the overall system architecture as derived from the GFAC approach. While Sections 3 and 4 explain the ACI data handling and the interface between enforcement and decision components, section 5 introduces the RSBAC logging system. The system performance is subject of section 6. Section 7 provides a brief comparison to other Linux kernel security extensions. Finally, sections 8 and 9 give an outlook to new development and some final remarks. 2. RSBAC Architecture According to the GFAC approach, the system s security kernel consists of an access control enforcement facility (AEF), an access control decision facility (ADF) and a ACI module which administrates Access Control Information (ACI, e.g. security attributes). ADF implements the system s mandatory security policies and a metapolicy to decide whether processes requests satisfy those security policies. AEF uses the ADF-decisions to enforce the operations of system call functions. Also in the RSBAC system, the access control system of the Linux system kernel is divided into the AEF and ADF components and the ACI-module. All RSBAC framework components are hard-linked into the Linux kernel. Figure 1 shows the interactions between the system components. For each security-relevant system call with which a subject requests to access an object, AEF sends a decision request to ADF. Parameters of the decision request are the request type, describing the desired type of functionality, the identification of the calling process (the subject) and possibly some identification values of the target of access (the object). Targets of an access can be files, directories, named pipes (fifos), symbolic links, devices, interprocess communication data (ipc), system control data (scd), users, processes or none (see Table 1). This list includes the extra targets FIFO, SymLink and Device, which had been missing in LaPadula s specification in [LaPadula 1995]. Hence, named pipes and symbolic links as well as direct access to devices had previously not been properly covered by access control. 2
3 Subject process 6. enables 1. requests access access or (system call) error 3. request for decisions AEF 7. notification ADF (Access Enforcement ) (Access Decision Control Facility) Facility open system call function Privacy Policy Rules create system call function Bell LaPadula Rules decision... other system call functions 9. acknowledgement Rules of other policies 10. access 2. get system values 4. refer to ACI 8. update Object file, dir, dev, ACI scd, ipc, fifo, (Access Control Information) user, process Fig. 1. RSBAC system architecture ADF evaluates its security policies by using the policy rules for the request type and the ACI needed for these rules. It then evaluates its metapolicy, which uses the decisions of the different security policies, to finally decide about the process request. As different policies often return different results, a metapolicy is needed to build the final result. ADF currently has a fixed, restrictive metapolicy, which denies access, if at least one policy returned NOT_GRANTED. Later versions might make the metapolicy configurable as well. AEF then enforces the decision, by either performing the system call functionality or returning an error to the calling process. In the first case, after successful execution, ADF is notified, so that the attributes can be set accordingly. Finally, control is returned to the process. In LaPadula s GFAC specification security attributes were updated by AEF after AEF received information through the decision message from ADF about how security attributes had to be set. In the RSBAC system, however, all policy-dependent functionalities are implemented by ADF and ACI. AEF is designed as a policy-independent component and hence security attributes are set by ADF. After successful execution of a system call, ADF is notified by AEF, so that all decision modules can adjust their attributes accordingly. 3
4 Table 1: Targets in RSBAC FILE DIR FIFO SYMLINK DEV IPC SCD USER PROCESS NONE Files identified by device and inode numbers (including device special files) Directories identified by device and inode numbers Named pipes (FIFOs), which reside as special files on the file system, also identified by device and inode numbers Symbolic link special files, also identified by device and inode numbers Devices identified by type (char or block), major and minor numbers Inter Process Communication: Semaphores (sem), Messages (msg), Shared Memory (shm), Sockets (sock), identified by different IDs, e.g. object memory location System Control Data: Objects affecting the whole system (e.g., system time and date, system log, host names). This target type is the only one with a fixed number of objects, identified by numbers Users as objects, mostly for access control information (ACI), identified by user ID Processes as objects, identified by process ID No object associated with the request. 3. ACI Module The ACI component and the ADF are encapsulated into independent modules, which can only be legally accessed by the use of well-defined functions and are thus protected from unauthorized accesses. Because of the monolithic Linux kernel structure, this protection could of course still be violated by direct memory access from within the kernel. Thus all kernel code, especially runtime loadable kernel modules, must be properly checked before inclusion. The ACI module is responsible for a reliable administration of security attributes of processes (process ACI), of users (user ACI) and of all resources that are needed and controlled by the security policies (object ACI). Besides, it administrates additional access control information needed for the implementation of specific security policies. User and file ACI are kept in parallel in main and on secondary storage, so that they can be easily recovered after each system start. For this purpose, a kernel daemon regularly checks for updated data and writes it to files in specially protected directories in the file system. Through the use of the Linux Virtual File System Switch, a file system function virtualization layer, the storage format of user and file ACI on secondary storage is independent from the used file system. An infrastructure for generic persistent lists is also available, which can be used by additional decision modules. This helps to avoid individual ACI implementations. Existing decision modules are currently moved to this new scheme. 4. AEF and its Interface to ADF AEF is implemented by extending all security-relevant system call functions with ADF requests. For each security-relevant system call, there is at least one ADF-request that relates to its functionality, but also further requests might be necessary. For example, the open system call has 4
5 to be extended with ADF-requests for reading a directory, creating a directory/file, truncating a file and for opening a file in append, read, write or read-write mode. Before access to a target is granted to a subject, a request function call to the Access Control Decision facility (ADF) is performed. Dependent on the type and the target of a request, ADF decides whether access is granted or denied to a subject. Table 2 lists requests that AEF can send to ADF, valid target types for the requests as well as Linux system calls that are extended to use these requests. Valid target types for a request added to a system call are written in brackets behind the system calls in Table 2. Those system calls that also perform ADF notification are marked with *. The list of requests in Table 2 is an extension and modification of a list of requests in [LaPadula 1995]. In addition to the system calls and requests listed in Table 2, some policy specific system calls and requests were defined. The logic behind the mapping of system calls to ADF requests should be obvious in most cases. Nevertheless, some of the mapping decisions are now justified. Some requests only take place under certain conditions or with certain system call parameters, e.g. the EXECUTE request in sys_mmap is only issued, if a file is to be mapped in EXEC mode. This special mode, which is often used for libraries, is not covered by the preceding intercepted read-open. Table 2: List of Requests from AEF to ADF Request Description Valid Target Types Linux system calls (valid target types in brackets) ADD_TO_KERNEL Add a kernel module NONE create_module(none), init_module(none) Change IPC control msgctl(ipc), shmctl(ipc), ALTER IPC information APPEND_OPEN CHANGE_GROUP CHANGE_OWNER Open to append Change active group Change owner FILE, DEV, IPC IPC, PROCESS, NONE IPC, PROCESS, NONE open(file,dev)*, msgsnd(ipc)*, sendto(ipc)*, sendmsg(ipc)* setgid(proc), setregid(proc), setresgid(proc), setgroups(proc), setfsgid(none) (for DAC only), shmctl(ipc), msgctl(ipc) chown( FIFO, SYMLINK), lchown( FIFO, SYMLINK), fchown( FIFO, SYMLINK), setuid(proc)*, setreuid(proc)*, setresuid(proc)*, setfsuid(none) (for DAC only), shmctl(ipc), msgctl(ipc) Change working chdir(dir), fchdir(dir), chroot(dir) CHDIR DIR directory CLONE Fork/clone a process PROCESS fork(proc)*, vfork(proc)*, clone(proc)* CLOSE Close opened file etc. Should always be granted. FIFO, DEV, IPC close( FIFO, DEV, IPC), shmdt(ipc)*, msgrcv(ipc)*, msgsnd(ipc)*, send(ipc)*, sendto(ipc)*, sendmsg(ipc)*, recv(ipc)*, recvfrom(ipc)*, recvmsg(ipc)* 5
6 CREATE DELETE EXECUTE GET_PERMISSIONS_DATA GET_STATUS_DATA LINK_HARD MODIFY_ACCESS_DATA MODIFY_ATTRIBUTE MODIFY_PERMISSIONS _DATA MODIFY_SYSTEM_DATA Create object Delete object Execute file or mmap in EXEC mode Read Unix permissions (mode) Get status (stat() etc.) Hard link Change access information, e.g. time, date Change an RSBAC attribute value Change Unix permissions Change system settings DIR (where), IPC IPC FILE, NONE (mprotect only) FIFO FIFO, IPC, SCD FIFO FIFO All target types FIFO, SCD SCD MOUNT Mount a filesystem DIR, DEV READ READ_ATTRIBUTE Read from object Read RSBAC attribute value FIFO, DEV, IPC All target types creat(dir, IPC)*, open(dir, IPC)*, mknod(dir)*, mkdir(dir)*, symlink(dir)*, shmget(ipc)*, msgget(ipc)*, socket(ipc)*, accept(ipc)* unlink( FIFO, SYMLINK)*, rmdir(dir)*, msgctl(ipc)*, shmctl(ipc)*, shutdown(ipc)*. close(ipc)* exec(file)*, mmap(file) (EXEC mode), mprotect(file, NONE) (EXEC mode) access( FIFO, SYMLINK) open_port(scd) (/dev/kmem etc.), open_kcore(scd) (/proc/kcore), stat(file, DIR, FIFO, SYMLINK, IPC), newstat(file, DIR, FIFO, SYMLINK, IPC), lstat(file, DIR, FIFO, SYMLINK, IPC), newlstat(file, DIR, FIFO, SYMLINK, IPC), fstat(file, DIR, FIFO, IPC), newfstat( FIFO, SYMLINK, IPC), stat64( FIFO, SYMLINK, IPC), lstat64( FIFO, SYMLINK, IPC), fstat64( FIFO, SYMLINK, IPC), statfs( FIFO, SYMLINK), fstatfs( FIFO, SYMLINK), rsbac_stats(scd), rsbac_check(scd), rsbac_stats_pm(scd), rsbac_stats_rc(scd), rsbac_stats_acl(scd), rsbac_log(scd) link( FIFO, SYMLINK) utimes( FIFO, SYMLINK) (specific request needed for various security models) ioperm(scd), iopl(scd), chmod( FIFO, SYMLINK), fchmod( FIFO, SYMLINK) stime(scd), settimeofday(scd), adjtimex(scd), sethostname(scd), setdomainname(scd), setrlimit(scd), syslog(scd), sysctl(scd), swapon(scd), swapoff(scd), rsbac_log(scd) mount(dir, DEV) (separate mount notification for data structures) read(file, FIFO, DEV, IPC)*, readv(file, FIFO, DEV, IPC)*, pread(file, DEV, IPC)*, readdir(dir), open(dir) (specific request needed for various security models) 6
7 READ_OPEN READ_WRITE_OPEN REMOVE_FROM_KERNEL RENAME SEARCH SEND_SIGNAL SHUTDOWN Open for read Open for read and write Remove kernel module Rename Lookup in DIR from inside kernel for access with full path, used by many syscalls, follow SYMLINK Send a signal, including KILL Shutdown/reboot system FILE, FIFO, DEV, IPC FILE, FIFO, DEV, IPC NONE FIFO DIR, SYMLINK PROCESS NONE open(file, FIFO, DEV, IPC)*, shmat(ipc)*, msgrcv(ipc)*, recv(ipc)*, recvfrom(ipc)*, recvmsg(ipc)* open(file, FIFO, DEV, IPC)*, shmat(ipc)*, bind(ipc)*, connect(ipc)*, listen(ipc)* delete_module(none) rename( FIFO, SYMLINK) (RSBAC identification not changed!) (internal functions lookup_dentry(dir) / path_walk(dir) / lookup_hash(dir) / follow_link(symlink)) kill(proc) reboot(none) SWITCH_LOG Change RSBAC log rsbac_adf_log_switch(none) NONE settings SWITCH_MODULE Switch decision rsbac_switch(none) NONE module on/off End of calling exit(proc) TERMINATE process, for ACI cleanup. Should always be granted. PROCESS TRACE Trace a process PROCESS ptrace(proc) (architecture dependent) TRUNCATE Truncate FILE UMOUNT WRITE WRITE_OPEN Umount a filesystem DIR, DEV Write to object. DIR is used for object moving to target dir. Open for write FIFO, DEV, IPC, SCD FILE, FIFO, DEV, IPC open(file)*, truncate(file)*, ftruncate(file)*, truncate64(file)*, ftruncate64(file)* umount(dir, DEV) (separate umount notification for data structures) write(file, FIFO, IPC, DEV)*, writev(file, FIFO, IPC, DEV)*, pwrite(file, IPC, DEV)*, rename(dir), rsbac_write(scd) open(file, FIFO, DEV, IPC)* A distinction is made between read and read-open and between write and write-open. Read-open (write-open) enables the process to read (write) the object, whereas read (write) actually transfers data from (to) the open object into (from) the memory space of the process. ADF s security policies for controlling read (write) access can be applied at the read-open (write-open) as well as (optionally) at the read (write). Leaving out the check of the read (write) access itself reduces the access control overhead significantly, because the number of necessary checks is much reduced. On the other hand, changes in the ACI can then only be enforced at the next open request. No operations of the ipc mechanisms for message queues and shared memory are, however, equivalent to the file open and close system calls. The msgget and shmget system calls are 7
8 similar to the creat and open system call, because they return a kernel-chosen descriptor for use in other system calls. Nevertheless, even if a process never did a "get" call, it can access an ipc message mechanism if it guesses the correct ID and if access permissions are suitable. For consistency with accesses to other object types, the msgsnd system call is extended with an append-open and a close ADF-request, although msgsnd is actually more analogous to the actual write operation. Similarly, msgrcv system call is extended with a read-open and a close ADF request. Also, socket system calls do not strictly follow the traditional Unix open-read-write-close paradigm. The connect system call, which binds a permanent destination to a socket, and the listen system call correspond to the open system call. However, sockets used with connectionless datagram services need not be connected before they are used, if a destination is specified for each data transfer. Thus, for consistency the system calls sendto and sendmsg, which both allow the caller to send a message through an unconnected socket, are extended with append-open and close ADF-requests. Similarly, the system calls recvfrom and recvmsg are extended with readopen and close ADF-requests. The shmat and shmdt system calls for attaching and detaching of shared memory to the virtual address space of a process are in a way analogous to the file open and close system calls. The shmat system call has to be called before a process can access shared memory, much as the open system call has to be executed before a process has access to a file. After attaching a shared memory, it becomes part of the virtual address space of the process and can be accessed. However, in contrast to the open system call for files, after the shmat system call, no system calls are needed to access data in shared memory, which are accessible in the same way as other virtual addresses are. 5. Security Policies in ADF The different security policy modules that have been implemented as part of ADF are listed in Table 3. A RSBAC system can be configured with any combinations of these policy components. In addition to the policy of the traditional Bell LaPadula model, the SIM policy and the FC policy, further security model policies that were developed by the authors have been implemented in the RSBAC system. In the next subsections, some of those policies are described in more detail. Table 3: Security Policies included in the RSBAC implementation Policy Module Name: MAC FC Implemented Security Policy: Mandatory Access Control Policy of the Bell LaPadula Model [Bell LaPadula 1973] Functional Control Policy (see [Abrams et al. 1991], [LaPadula 1995]). A simple role based model that can be used to restrict access to security information to security officers and access to system information to administrators. 8
9 SIM PM MS FF RC AUTH ACL Security Information Modification Policy (see [Abrams et al. 1991], [LaPadula 1995]). Only security administrators are allowed to modify data labeled as security information Simone Fischer-Hübner's Privacy Model policy (see below) Malware Scanner policy (see below). File Flags Policy. The FF policy can be used to set the following access flags for directories and files: execute_only (files), read_only (files and directories), search_only (directories), secure_delete (files), no_execute (files) and add_inherited (files and directories). The flags are checked at every access. Only security officers may modify these flags. If the add_inherited flag is set, the parent directory s flags are added to the target's own flags. (Example: If no_execute is set on the directory /home, all executables below that directory inherit this flag. Thus no user can execute files from her home directory, unless the flag is removed). Amon Ott s Role Compatibility Model policy (see below). Authorization enforcement policy (see below). Access Control List policy (see below). Privacy Policy : The privacy policy module is enforcing the security policy of a formal task-based privacy model which was introduced in [Fischer-Hübner 1994], [Fischer-Hübner/Ott 1998], [Fischer-Hübner 2001]. The privacy model was designed to protect personal data and can be used to enforce legal privacy requirements such as necessity of personal data collection and processing and purpose binding. The basic idea of the privacy policy is that subjects (processes) can only access personal data objects by performing a task (e.g., diagnosing, patient admission) that serves a specific purpose. Each personal data object is classified by a class (e.g., medical diagnosis data or accounting data), which has specified purposes for which objects of that class are obtained. The privacy policy can be informally stated as follows: A process may have access to personal data, if this access is necessary to perform its current task and only, if the user owning the process is authorized to perform this task. The process may only access data in a controlled manner by performing a (well-formed and certified) transformation procedure, for which the process current task must be authorized. Besides, the purpose of its current task must correspond to the purposes for which the personal data of this class are obtained or there has to be consent by the data subjects that their personal data may be used for the purpose of the current task. Note that other known security models (such as the RBAC, the Bell LaPadula model or the Clark Wilson model) are not in all respects adequate to protect personal data. In particular the privacy principle of purpose binding cannot be adequately enforced by other models, which are not modeling purposes and consents of data subjects [Fischer-Hübner 2001]. 9
10 A complete privacy model description and specification of ACI and ADF-rules needed for implementing the privacy policy are given in [Fischer-Hübner/Ott 1998], [Fischer-Hübner 2001]. Malware-Scanner Policy: The Malware Scanner (MS) Policy can protect the system against malware (viruses, malicious applets, etc.) infections by preventing the execution, reading and transmission of malicious code (see also [Ott/Fischer-Hübner/Swimmer 1998]). It is enforced by on-access scanner policy rules that are invoked on EXECUTE- and open-adf requests and can detect and stop the spread of malware. The malware scanner policy is similar to the methodology incorporated in many Antivirus products, except that it is implemented in the kernel and is therefore much better protected from manipulations. Besides, it contains socket-level scanner policy rules that are invoked on READ-requests to network sockets and can stop the transmission of malware into the system by a network connection. To enforce the on-access-scanner policy rules, the following security attributes grouped into process-aci and object-aci are needed and administrated by the ACI-Module. CASE read-open, execute SELECT CASE target[input-argument] CASE file IF type(process) is MS-trusted THEN return(yes) SELECT CASE MS-scan-result(object) CASE unscanned IF SCAN(object) is infected THEN return(set-attribute (MS-scan-result(object), rejected); NO) ELSE return(set-attribute (scan-result(object), version-number(scanner));yes) CASE scanned IF version-number(scanner) > version-number(object) THEN [IF SCAN(object) is infected THEN return(set-attribute (scan-result(object), infected); NO) ELSE return(set-attribute (scan-result(object), versionnumber(scanner)); YES)] ELSE return(yes) CASE rejected return(no) CASE ELSE return(undefined) CASE ELSE return(undefined); Fig. 2. ADF-On-Access Scanner Policy Rule for read-open and execute requests For each file, the security attribute MS-scan-result is used, which can have scanned, rejected or unscanned as possible values. It has the value scanned, if the file was scanned and no infection was found. In this case, the file has also a version-number as a security attribute that corresponds to the version number of the used malware scanner. If the file was scanned and a 10
11 malware infection was detected, the file attribute is set to rejected. It is set to unscanned, if the file has not been scanned so far, or if the file has been modified by the last access to it. Besides, a new attribute MS-trusted is used, which is set for the antivirus or backup programs and processes that are executing those programs. The ACI-module also administrates a database of virus patterns/signatures of a malware scanner, which has a version number attached to it. The scanner policy rules are invoked at execute or open decision requests sent to ADF by AEF. Infections by file viruses are caused by the execution of infected files, whereas reading an infected document causes infections by macro viruses. Thus, each request from AEF to ADF to execute or to read a file should only be positively decided by ADF, if the file has first been scanned with the latest scanner version and if no infections were found or if the process is MStrusted Figure 2 specifies the ADF-On-Access Scanner Policy Rule that is invoked at READ-OPEN or EXECUTE requests. The specification language used should be intuitively understandable to computer scientists, but is also explained in [LaPadula 1995]. SCAN is the scanner function that scans an object and returns a scan result. For the modifying access request types WRITE-OPEN, APPEND-OPEN and TRUNCATE, no decision rules are defined. However, for these and for READ-WRITE-OPEN, the MS-scanattribute value is reset to unscanned, because the file might have been infected or disinfected. The on-access scanner policy provides a reliable and tamper-proof protection against known malware in executable files. Increasingly however, malware is brought into the system by a network connection, often executed without ever being saved to a file. Therefore, we extended our approach to include scanning and denying access to data that seems to contain malicious code from a given origin of network connections by controlling UNIX-type sockets (see [Ott/Fischer-Hübner/Swimmer 1998]). Additional socket-level scanner policy rules control all read accesses to network connection sockets. The rules are invoked by requests sent to ADF for the access type READ and target IPC, which were added to the TCP and UDP read functions. If malware is detected in the data stream, further read access is denied and a new error code "malware-detected" is returned. Depending on the configuration, the connection can be closed by the kernel, or a trusted process can still allow the transmission of the whole data stream. Role Compatibility (RC) Policy: The Role-Compatibility Model policy can be used to define roles as a set of access permissions to compatible object types, and is most useful for secure system administration. It is similar to the Domain and Type Enforcement (DTE) approach [Badger et al. 1995]. In the RC model, objects of the target type DEV, IPC, SCD, PROCESS can be categorized according to object types. The set of access modes corresponds to the set of request types listed in Table 2. Roles are defined as sets of access permissions to objects of certain types in certain access modes. Each process is currently performing one role. The initial role of a process is determined by a default role that is defined for its owner. One essential rule of the security policy can be stated as follows: 11
12 A process can only access an object in a certain access mode if its current role is authorized to access objects of that type in that mode (we say that the role has to be "compatible" to the object type and access mode). It is also possible to change the current role of a process if the current role is compatible with the new role or if the forced role mechanism is used. For a role R, a set of so-called compatible roles can be defined, to which a process performing role R is authorized to switch. Once the role has been changed, there is only a way back to the first role, if the new role is in turn compatible with the first role. This mechanism allows a process to temporarily work with different privileges. A forced role is an attribute of an executable stating which role a process gets when running this executable. Forced roles can forbid processes to access data arbitrarily, and allows them to access data only in a constrained way by performing certain well-defined programs. The forced role concept can for instance be used to restrict the privileges of the root account in a Unix system, e.g. to restrict access to authorisation information (/etc/passwd, /etc/shadow) to certain programs with a forced role Authorisation. Forced roles are also very useful for CGI programs of tightly controlled Web servers. Access Control List (ACL) Policy: Because of good experiences with and wide knowledge of the access control list scheme of a popular PC network system, this scheme as been adapted for RSBAC implementation. However, some important changes have been made to overcome known disadvantages ( e.g. the omnipotent Supervisor) and to provide some interconnection with the Role Compatibility policy. The Access Control List policy uses an access control list (ACL) for every object of the target types DEV and SCD. If there is no ACL entry for a subject object pair, the ACL entry of the object parent is inherited. Inheritance is terminated by a default ACL, which is defined for every target type, including USER, PROCESS, IPC. Every user can define groups of users for access control. A user that defines a user group becomes the owner of that group. All group settings like name or memberships can only be modified by the group owner. If a group is marked as global, its settings can be read and it can be used/set as a subject in access control lists by all users, while the settings of a private group can only be read by the group owner and only the owner can set ACL entries with its private group as a subject. An ACL entry consists of a pair (Subject, Access Modes). Subjects can be users, RC policy roles or ACL groups. Access Modes is a subset of the set of all request types (so called normal rights, see table 2) and all so called ACL special rights. ACL special rights are Forward (set normal rights this user has for others), Access Control (set any normal right for anyone) and Supervisor (contains all rights, can set special rights for anyone). A process has the right to access an object in a certain mode, if the object s ACL has an entry with either the user owning the process, one of the user s groups or the process RC role as the first entry component and the access mode as the second component. An object can be protected against inheritance of rights given from a higher hierarchy level by its inheritance mask. This mask defines, which rights may be inherited. Its default value is of course 12
13 the whole set of rights. As this has always been a popular way of locking yourself out, the Supervisor right can only be masked out under special circumstances. Authorization Policy: Linux, like many other Unix like systems, has well known deficiencies at user authorization. In fact, every process running as root is allowed to set its owner to any possible user ID. This makes the enforcement of security with access control based on user IDs almost impossible. The Authorization policy was developed to protect against this vulnerability. The basic idea is simple: No process is allowed to set its owner to another user ID, unless it has been explicitly granted this right called capability. In this authorization policy model, a capability is defined as a range of user IDs (first, last) to which a process running a certain program has the right to change. The capability for all user IDs can also be set by an extra switch auth_may_setuid. Capability sets are defined for executables and inherited by every process running them. Capabilities may be set by users with system role Security Officer. Capabilities for processes may also be set by other processes with the extra switch auth_may_set_cap turned on. The latter feature can be used to implement authentication daemons, which grant a capability to a process only after proper authentication. As this model is so important for all other models, MODIFY_ATTRIBUTE decision requests with special SCD targets add_file_cap etc. are enforced whenever a process tries to add or delete a capability. This way, each model can perform its own access control for all capability modifications. 6. The RSBAC logging facility A facility for extensive and model independent logging has been implemented. It is possible to specify the event to be logged in dependence of the request type, user, executable and target file, fifo, symlink, directory or device objects. All log settings are at the granularity of request types. Logged items are the request, process ID, program name, real or pseudonymous user ID, target type, target ID, attribute type, attribute value, ADF decision and the names of the modules that made this decision. General settings for request types can determine whether to log none, denied requests only or all requests of that type. Object based settings have the additional default value request based, which means that the request setting should be used. The user and the executable based logging can only be turned on or off for a specific request. If it is turned off, logging might still be triggered by the object log settings. All accesses to log settings are controlled. Each model can implement its own access control scheme for logging administration. 13
14 7. System Performance Some benchmarks have been run on a SuSE Linux 7.0 pentium class system with kernel and with RSBAC version Three benchmark runs per kernel type, in single user mode right after boot, were performed under a clean kernel, a kernel with RSBAC framework, but without decision modules, and an RSBAC kernel with modules FF, AUTH, RC and ACL. Each benchmark run consisted of a full compile of the same set of kernel sources.kernel compile benchmark are widely used, because they combine a lot of file accesses with significant memory pressure and a high system load. The following average times were produced: 2 Kernel type Total time Kernel + User Kernel time User/Process time Clean kernel 1858s 1857s 69s 1788s RSBAC without modules 1884s 1877s (+1.1%) 82s (+18.8%) 1795s (+0.4%) (+1.3%) RSBAC with FF, AUTH, RC, ACL modules 1967s (+5.9%) 1959s (+5.5%) 167s (+142%) 1792s (+0.2%) Based on these numbers and practical experience, we regard the RSBAC overhead as small for real systems. Although enhanced access control is mostly important on big multi-user server systems, the additional memory usage is still relevant. To reduce the memory burden, many RSBAC features and all decision modules can be left out at kernel configuration and compilation. Also, attribute data objects are only allocated on demand, and those containing only default values or relating to deleted objects are automatically removed. Additional RSBAC code and static data increase the uncompress kernel size by approximately 130 to 600 KB, plus the memory consumed for attribute objects. 8. Other Linux security extensions 8.1 Linux Privileges Recent Linux kernels additionally implement a privilege scheme, which splits the root user s special rights into a set of single rights, called capabilities (see [Linux-Privs 2000]). These rights are given to a process based on the parent process and the executable that is run. However, while these capabilities can distinguish between some access types, they are mostly ignorant of the object that is to be accessed, e.g. CAP_DAC_OVERRIDE gives full read and write access to all files and devices on the system. As a result, many administration tasks still have to be done with too many access rights. Another disadvantage is the fixed access control model, which cannot easily be changed or replaced. 2 Times measured via time(1) utility. 14
15 8.2 Flask / NSA Security Enhanced Linux (SELinux) Security-Enhanced Linux (SELinux), which is currently developed by NSA, is a Linux version that is in a similar way as RSBAC also incorporating a flexible mandatory access control in its kernel. In a previous research project, the Flask Security architecture providing policy flexibility [Spencer at al. 1999] was developed and prototyped in the Mach and Fluke research operating systems. Like the RSBAC system architecture, the Flask architecture is also separating the enforcement mechanism from the policy decision mechanism and is consistent with GFAC. It includes a security policy server to make access control decisions and object managers to enforce access control decisions. In the SELinux project, the NSA is integrating the Flask security mechanisms into the Linux kernel and is now working with the NAI Labs in further developing and configuring the security-enhanced Linux system. The Linux prototype implementation of the Flask security server implements a policy that is a combination of Type Enforcement, role-based access control (RBAC), and optionally multi-level security. The SELinux prototype is so far only controlling operations on processes, files, directories and sockets. For the protection of System V IPC objects, there is a preliminary design concept. While RSBAC is a complete system that runs on different platforms and has already been used for the last year in several security-relevant applications, SELinux is so far a prototype which is still under major development. So far, SELinux only supports the x86 architecture and has only been tested on Red Hat distributions. Besides, in contrast to RSBAC, it does not offer a set with a wide variety of different security policies to which new policy components can be easily added and from which an arbitrary subset can be chosen for system configuration. Although Type Enforcement in combination with RBAC is powerful and capable to enforce a wide range of policies, there are a number of security policies implemented in RSBAC that cannot or at least cannot easily be expressed with Type Enforcement and RBAC. 8.3 Medusa The Medusa DS9 security system is another security extension for Linux kernels [Medusa]. It consists of a patch to the Linux kernel and a user space daemon that acts as an authorization server that is invoked by the kernel to authorize operations. The authorization server is implemented as an interpreter of its own configuration language and is thus capable to implement different security models. While the user space implementation of the authorization server allows to easier port Medusa to new Linux kernel versions, it is less secure than a kernelbased solution. 8.4 Linux Intrusion Detection System (LIDS) Linux Intrusion Detection System (LIDS) [LIDS], which has been developed by a Chinese and a French student, is a patch that enhances the Linux kernel s security by implementing a reference monitor with mandatory access control. In addition, it includes a network port scanner detector and a response mechanism that allows to log and to act upon security violations by shutting down a user s session. However, in contrast to RSBAC, LIDS offers only a static access control policy and thus less flexibility. 15
16 9. Outlook At the moment, the network access control is completely redesigned. There will be network target templates, the attributes of which are inherited for every network connection instance. The templates will contain fields like source address range, target address range, interfaces (to protect against spoofing attacks), Protocols, source ports, target ports and some more. The templates as well as the connection instances will be treated as normal access objects with a full range of requests, like CREATE, CONNECT, LISTEN, etc. This way, each decision policy can perform full control of all network accesses by all processes. As an example, think of a local network with well controlled systems. A connection template could contain the following settings and attributes: - Source Address Range: (interface address for internal net) - Target Address Range: (local network) - Interfaces: (local network interface) - Protocols: All - Source Ports: (all) - Target Ports: (all) - MAC Security Level: Secret - RC Network Object Type: 4 (Internal Net) All other addresses at the outer interface of a firewall could have the following template: - Source Address Range: (External Network address) - Target Address Range: (All) - Interfaces: (external network interface) - Protocols: All - Source Ports: (all) - Target Ports: (all) - MAC Security Level: untrusted - RC Network Object Type: 0 (untrusted) There is also work in progress to get a generic access control interface into the official Linux kernel, which would greatly reduce development work. 10. Final Remarks Linux systems are increasingly used in mission critical environments where a lack of security can be very risky for a company. Hence, access control under Linux will most likely gain more and more relevance and interest in future. In comparison to other kernel-based access control systems for Linux, RSBAC has the advantage that it offers a wide range of security policies and that it easily allows to define and add additional policy modules for almost any new security policy. The development of RSBAC will be continued. It is used in more and more server systems, and there are currently downloads of the latest release per week, with a clear peak after the 16
17 announcement of a new version. Also, there is a mailing list for discussion and announcements with more than 90 participants. The single processor versions as well as the latest version for Symmetric Multiprocessing (SMP) kernels have shown to be very stable and have been used in production environment for at least one year. 3 Benchmark tests and practical experience has also shown that performance impacts are small, unless a lot of logging has to be done. References [Abrams et al. 1990] M.Abrams, K.Eggers, L.LaPadula, I.Olson, A Generalized Framework for Access Control: An Informal Description, Proceedings of the 13th National Computer Security Conference, Washington, October [Abrams et al. 1991] M.Abrams, L.LaPadula, M.Lazear, I.Olson, Reconciling a Formal Model and Prototype Implementation Lessons Learned in Implementing the ORGCON Policy, Mitre Corporation, Bedford, Mass.01730, November [Bell LaPadula 1973] D.E.Bell, L.LaPadula, Secure Computer Systems: A Mathematical Model, Mitre Corporation, Bedford, Mass.01730, January [Fischer-Hübner 1994] S.Fischer"Towards a Privacy-Friendly Design and Use of IT-Security Mechanisms", Proceedings of the 17th National Computer Security Conference, Baltimore MD, October [Fischer-1998a] A.Ott, "From a Formal Privacy Model to its Implementation", Proceedings of the 21st National Information Systems Security Conference, Arlington, VA, October 5-8, 1998, [Ott/Fischer-Hübner/Swimmer 1998b] A.Ott, Fischer-"Approaches to Integrated Malware Detection and Avoidance", Proceedings of the 3rd Nordic Workshop on Secure IT Systems, Trondheim, November 5-6, 1998, [Fischer-Hübner 2001] "IT Security and Privacy - Design and Use of Privacy-Enhancing Security Mechanisms", Springer Scientific Publishers, Lecture Notes of Computer Science, LNCS 1958, May [LaPadula 1995] L.LaPadula, Rule-Set Modeling of Trusted Computer System, Essay 9 in: M.Abrams, S.Jajodia, H. Podell, Information Security - An integrated Collection of Essays, IEEE Computer Society Press, [LIDS] Linux Intrusion Detection System (LIDS), [Linux-Privs 2000] Linux Privileges, [Loscocco et al. 2001] P.Loscocco, S.Smalley, Integrating Flexible Support for Security Policies into the Linux Operating System, Proceedings of the FREENIX Track of the 2001 USENIX Annual Technical Conference, 3 E.g. in Compuniverse file server and several customer firewalls. For security reasons, references can only be given on personal request. 17
18 [Medusa] Medusa DS9 security system, [Ott 2001a] Amon Ott: "Rule Set Based Access Control (RSBAC), Snow Unix Event / unix.nl congress "Reliable Internet", Waardenburg, 14th of September 2001, [Ott 2001b]Amon Ott: "The Rule Set Based Access Control (RSBAC) Linux Kernel Security Extension, 8th International Linux Kongress, Enschede, 28th to 30th of November 2001, [RSBAC] Rule Set Based Access Control in Linux, [Spencer et al. 1999] R.Spencer, S.Smalley, P.Loscocco, M.Hibler, D.Andersen, J.Lepreau, The Flask Security Architecture: System Support for Diverse Security Policies, Proceedings of the 8 th USENIX Security Symposium, Washington, D.C., August 23-26,
Rule Set Based Access Control (RSBAC)
Rule Set Based Access Control (RSBAC) Linux Kernel Security Extension Short Overview for OpenWeekend 2002 in Prague Amon Ott Contents: 1 Introduction 1.1 History 1.2 Motivation 1.3 Design
Contents III: Contents II: Contents: Rule Set Based Access Control (RSBAC) 4.2 Model Specifics 5.2 AUTH
Rule Set Based Access Control (RSBAC) Linux Kernel Security Extension Tutorial Amon Ott Contents: 1 Motivation: Why We Need Better Security in the Linux Kernel 2 Overview of RSBAC 3 How
A Simple Implementation and Performance Evaluation Extended-Role Based Access Control
A Simple Implementation and Performance Evaluation Extended-Role Based Access Control Wook Shin and Hong Kook Kim Dept. of Information and Communications, Gwangju Institute of Science and Technology, 1
NSA Security-Enhanced Linux (SELinux)
NSA Security-Enhanced Linux (SELinux) http://www.nsa.gov/selinux Stephen Smalley [email protected] Information Assurance Research Group National Security Agency Information Assurance Research Group 1
Security Enhanced Linux and the Path Forward
Security Enhanced Linux and the Path Forward April 2006 Justin Nemmers Engineer, Red Hat Agenda System security in an insecure world Red Hat Enterprise Linux Security Features An overview of Discretionary
CS 377: Operating Systems. Outline. A review of what you ve learned, and how it applies to a real operating system. Lecture 25 - Linux Case Study
CS 377: Operating Systems Lecture 25 - Linux Case Study Guest Lecturer: Tim Wood Outline Linux History Design Principles System Overview Process Scheduling Memory Management File Systems A review of what
Safety measures in Linux
S a f e t y m e a s u r e s i n L i n u x Safety measures in Linux Krzysztof Lichota [email protected] A g e n d a Standard Unix security measures: permissions, capabilities, ACLs, chroot Linux kernel
RSBAC - a framework for enhanced Linux system security
RSBAC - a framework for enhanced Linux system security Marek Jawurek RWTH-Aachen Abstract Operating systems traditionally bring their own means of protection against any kind of threats. But often the
Confining the Apache Web Server with Security-Enhanced Linux
Confining the Apache Web Server with Security-Enhanced Linux Michelle J. Gosselin, Jennifer Schommer [email protected], [email protected] Keywords: Operating System Security, Web Server Security, Access
SELinux. Security Enhanced Linux
SELinux Security Enhanced Linux Introduction and brief overview. Copyright 2005 by Paweł J. Sawicki http://www.pawel-sawicki.com/ Agenda DAC Discretionary Access Control ACL Access Control Lists MAC Mandatory
The Flask Security Architecture A Flexible Mandatory Access Control Mechanism For Use in Multiple Secure Systems
The Flask Security Architecture A Flexible Mandatory Access Control Mechanism For Use in Multiple Secure Systems Jeffrey Barr Professor Tom Perrine San Diego State University Computer Science 574 6 December
Protection of Components based on a Smart Card Enhanced Security Module
Protection of Components based on a Smart Card Enhanced Security Module J. García-Alfaro 1,2, S. Castillo 1, J. Castellà-Roca, 3 G. Navarro 1, and J. Borrell 1 1 Autonomous University of Barcelona, Department
Mandatory Access Control
CIS/CSE 643: Computer Security (Syracuse University) MAC: 1 1 Why need MAC DAC: Discretionary Access Control Mandatory Access Control Definition: An individual user can set an access control mechanism
Using the Flask Security Architecture to Facilitate Risk Adaptable Access Controls
Using the Flask Security Architecture to Facilitate Risk Adaptable Access Controls Machon Gregory Peter Loscocco [email protected] [email protected] National Security Agency Abstract Risk Adaptable
LSM-based Secure System Monitoring Using Kernel Protection Schemes
LSM-based Secure System Monitoring Using Kernel Protection Schemes Takamasa Isohara, Keisuke Takemori, Yutaka Miyake KDDI R&D Laboratories Saitama, Japan {ta-isohara, takemori, miyake}@kddilabs.jp Ning
CSE543 - Introduction to Computer and Network Security. Module: Reference Monitor
CSE543 - Introduction to Computer and Network Security Module: Reference Monitor Professor Trent Jaeger 1 Living with Vulnerabilities So, software is potentially vulnerable In a variety of ways So, how
Object Classes and Permissions
Object Classes and Permissions Security Policy Development Primer for Security Enhanced Linux (Module 5) 2 SE Linux Policy Structure Top-level sections of policy.conf: Flask definitions object classes,
Advanced Systems Security: Retrofitting Commercial Systems
Systems and Internet Infrastructure Security Network and Security Research Center Department of Computer Science and Engineering Pennsylvania State University, University Park PA Advanced Systems Security:
Worms, Trojan Horses and Root Kits
Worms, Trojan Horses and Root Kits Worms A worm is a type of Virus that is capable of spreading and replicating itself autonomously over the internet. Famous Worms Morris Internet worm (1988) Currently:
Networking in NSA Security-Enhanced Linux
Networking in NSA Security-Enhanced Linux James Morris Abstract Break through the complexity of SE Linux with a working example that shows how to add SE Linux protection to a simple network server. This
Review from last time. CS 537 Lecture 3 OS Structure. OS structure. What you should learn from this lecture
Review from last time CS 537 Lecture 3 OS Structure What HW structures are used by the OS? What is a system call? Michael Swift Remzi Arpaci-Dussea, Michael Swift 1 Remzi Arpaci-Dussea, Michael Swift 2
Linux Security on HP Servers: Security Enhanced Linux. Abstract. Intended Audience. Technical introduction
Linux Security on HP Servers: Security Enhanced Linux Technical introduction This white paper -- one in a series of Linux security white papers -- discusses Security Enhanced Linux (SELinux), a mandatory
Network Defense Tools
Network Defense Tools Prepared by Vanjara Ravikant Thakkarbhai Engineering College, Godhra-Tuwa +91-94291-77234 www.cebirds.in, www.facebook.com/cebirds [email protected] What is Firewall? A firewall
Host Hardening. Presented by. Douglas Couch & Nathan Heck Security Analysts for ITaP 1
Host Hardening Presented by Douglas Couch & Nathan Heck Security Analysts for ITaP 1 Background National Institute of Standards and Technology Draft Guide to General Server Security SP800-123 Server A
Security Maintenance Practices. IT 4823 Information Security Administration. Patches, Fixes, and Revisions. Hardening Operating Systems
IT 4823 Information Security Administration Securing Operating Systems June 18 Security Maintenance Practices Basic proactive security can prevent many problems Maintenance involves creating a strategy
A Firewall Model of File System Security
Ph.D Dissertation Proposal A Firewall Model of File System Security By Lihui Hu Department Of Computer Science Michigan Technological University March 2010 Committee Members: Dr. Jean Mayo, Chair Dr. Steve
Access Control Fundamentals
C H A P T E R 2 Access Control Fundamentals An access enforcement mechanism authorizes requests (e.g., system calls) from multiple subjects (e.g., users, processes, etc.) to perform operations (e.g., read,,
KASPERSKY LAB. Kaspersky Administration Kit version 6.0. Administrator s manual
KASPERSKY LAB Kaspersky Administration Kit version 6.0 Administrator s manual KASPERSKY ADMINISTRATION KIT VERSION 6.0 Administrator s manual Kaspersky Lab Visit our website: http://www.kaspersky.com/
Linux Kernel Architecture
Linux Kernel Architecture Amir Hossein Payberah [email protected] Contents What is Kernel? Kernel Architecture Overview User Space Kernel Space Kernel Functional Overview File System Process Management
Linux Distributed Security Module 1
Linux Distributed Security Module 1 By Miroslaw Zakrzewski and Ibrahim Haddad This article describes the implementation of Mandatory Access Control through a Linux kernel module that is targeted for Linux
7 Network Security. 7.1 Introduction 7.2 Improving the Security 7.3 Internet Security Framework. 7.5 Absolute Security?
7 Network Security 7.1 Introduction 7.2 Improving the Security 7.3 Internet Security Framework 7.4 Firewalls 7.5 Absolute Security? 7.1 Introduction Security of Communications data transport e.g. risk
Automating Server Firewalls
Automating Server Firewalls With CloudPassage Halo Contents: About Halo Server Firewalls Implementing Firewall Policies Create and Assign a Firewall Policy Specify Firewall-Related Components Managing
CAPP-Compliant Security Event Audit System for Mac OS X and FreeBSD
CAPP-Compliant Security Event Audit System for Mac OS X and FreeBSD Robert N. M. Watson Security Research Computer Laboratory University of Cambridge March 23, 2006 Introduction Background Common Criteria,
Analysis of the Linux Audit System 1
Analysis of the Linux Audit System 1 Authors Bruno Morisson, MSc (Royal Holloway, 2014) Stephen Wolthusen, ISG, Royal Holloway Overview Audit mechanisms on an operating system (OS) record relevant system
Information Security Policy
Information Security Policy Touro College/University ( Touro ) is committed to information security. Information security is defined as protection of data, applications, networks, and computer systems
ESET Mobile Security Business Edition for Windows Mobile
ESET Mobile Security Business Edition for Windows Mobile Installation Manual and User Guide Click here to download the most recent version of this document Contents 1. Installation...3 of ESET Mobile Security
Example of Standard API
16 Example of Standard API System Call Implementation Typically, a number associated with each system call System call interface maintains a table indexed according to these numbers The system call interface
Security and Integrity of a Distributed File Storage in a Virtual Environment
Security and Integrity of a Distributed File Storage in a Virtual Environment Gaspare Sala 1 Daniele Sgandurra 1 Fabrizio Baiardi 2 1 Department of Computer Science, University of Pisa, Italy 2 Polo G.
Chapter 2 Taxonomy and Classification of Access Control Models for Cloud Environments
Chapter 2 Taxonomy and Classification of Access Control Models for Cloud Environments Abhishek Majumder, Suyel Namasudra and Samir Nath Abstract Cloud computing is an emerging and highly attractive technology
Capability-Based Access Control
Lecture Notes (Syracuse University) Capability: 1 Capability-Based Access Control 1 An Analogy: Bank Analogy We would like to use an example to illustrate the need for capabilities. In the following bank
Secure computing: SELinux
Secure computing: SELinux Michael Wikberg Helsinki University of Technology [email protected] Abstract Using mandatory access control greatly increases the security of an operating system. SELinux,
Audit Trail Administration
Audit Trail Administration 0890431-030 August 2003 Copyright 2003 by Concurrent Computer Corporation. All rights reserved. This publication or any part thereof is intended for use with Concurrent Computer
Workflow Templates Library
Workflow s Library Table of Contents Intro... 2 Active Directory... 3 Application... 5 Cisco... 7 Database... 8 Excel Automation... 9 Files and Folders... 10 FTP Tasks... 13 Incident Management... 14 Security
Use of The Information Services Active Directory Service (AD) Code of Practice
Use of The Information Services Active Directory Service (AD) Code of Practice Introduction This code of practice is intended to support the Information Security Policy of the University and should be
Decryption. Palo Alto Networks. PAN-OS Administrator s Guide Version 6.0. Copyright 2007-2015 Palo Alto Networks
Decryption Palo Alto Networks PAN-OS Administrator s Guide Version 6.0 Contact Information Corporate Headquarters: Palo Alto Networks 4401 Great America Parkway Santa Clara, CA 95054 www.paloaltonetworks.com/company/contact-us
Host Hardening. OS Vulnerability test. CERT Report on systems vulnerabilities. (March 21, 2011)
Host Hardening (March 21, 2011) Abdou Illia Spring 2011 CERT Report on systems vulnerabilities Source: CERT Report @ http://www.kb.cert.org/vuls/bymetric 2 OS Vulnerability test Source: http://www.omninerd.com/articles/2006_operating_system_vulnerabilit
A Comparative Study of Security Features in FreeBSD and OpenBSD
Department of Computer Science Magnus Persson A Comparative Study of Security Features in FreeBSD and OpenBSD Master s Thesis 2006:02 A Comparative Study of Security Features in FreeBSD and OpenBSD Magnus
Sophos Anti-Virus for Linux user manual
Sophos Anti-Virus for Linux user manual Product version: 7 Document date: January 2011 Contents 1 About this manual...3 2 About Sophos Anti-Virus for Linux...4 3 On-access scanning...7 4 On-demand scanning...10
FIREWALLS & NETWORK SECURITY with Intrusion Detection and VPNs, 2 nd ed. Chapter 5 Firewall Planning and Design
FIREWALLS & NETWORK SECURITY with Intrusion Detection and VPNs, 2 nd ed. Chapter 5 Firewall Planning and Design Learning Objectives Identify common misconceptions about firewalls Explain why a firewall
Kernel Types System Calls. Operating Systems. Autumn 2013 CS4023
Operating Systems Autumn 2013 Outline 1 2 Types of 2.4, SGG The OS Kernel The kernel is the central component of an OS It has complete control over everything that occurs in the system Kernel overview
CMSC 421, Operating Systems. Fall 2008. Security. URL: http://www.csee.umbc.edu/~kalpakis/courses/421. Dr. Kalpakis
CMSC 421, Operating Systems. Fall 2008 Security Dr. Kalpakis URL: http://www.csee.umbc.edu/~kalpakis/courses/421 Outline The Security Problem Authentication Program Threats System Threats Securing Systems
HONE: Correlating Host activities to Network communications to produce insight
HONE: Correlating Host activities to Network communications to produce insight GLENN A. FINK, PH.D. Senior Scientist, Secure Cyber Systems SEAN STORY, PMP Project Manager, Software Engineering & Architectures
CS 356 Lecture 25 and 26 Operating System Security. Spring 2013
CS 356 Lecture 25 and 26 Operating System Security Spring 2013 Review Chapter 1: Basic Concepts and Terminology Chapter 2: Basic Cryptographic Tools Chapter 3 User Authentication Chapter 4 Access Control
6WRUP:DWFK. Policies for Dedicated SQL Servers Group
OKENA 71 Second Ave., 3 rd Floor Waltham, MA 02451 Phone 781 209 3200 Fax 781 209 3199 6WRUP:DWFK Policies for Dedicated SQL Servers Group The sample policies shipped with StormWatch address both application-specific
System Security Policy Management: Advanced Audit Tasks
System Security Policy Management: Advanced Audit Tasks White Paper October 6, 2005 2005 Altiris Inc. All rights reserved. ABOUT ALTIRIS Altiris, Inc. is a pioneer of IT lifecycle management software that
Patterns for Secure Boot and Secure Storage in Computer Systems
Patterns for Secure Boot and Secure Storage in Computer Systems Hans Löhr, Ahmad-Reza Sadeghi, Marcel Winandy Horst Görtz Institute for IT Security, Ruhr-University Bochum, Germany {hans.loehr,ahmad.sadeghi,marcel.winandy}@trust.rub.de
Symantec Endpoint Protection 11.0 Network Threat Protection (Firewall) Overview and Best Practices White Paper
Symantec Endpoint Protection 11.0 Network Threat Protection (Firewall) Overview and Best Practices White Paper Details: Introduction When computers in a private network connect to the Internet, they physically
IS TEST 3 - TIPS FOUR (4) levels of detective controls offered by intrusion detection system (IDS) methodologies. First layer is typically responsible for monitoring the network and network devices. NIDS
Secure to the Core: The Next Generation Secure Operating System from CyberGuard
Secure to the Core: The Next Generation Secure Operating System from CyberGuard Paul A. Henry MCP+I, MCSE, CCSA, CCSE, CFSA, CFSO, CISSP, CISM, CISA Senior Vice President CyberGuard Corp A CyberGuard Corporation
Firewalls CSCI 454/554
Firewalls CSCI 454/554 Why Firewall? 1 Why Firewall (cont d) w now everyone want to be on the Internet w and to interconnect networks w has persistent security concerns n can t easily secure every system
BM482E Introduction to Computer Security
BM482E Introduction to Computer Security Lecture 7 Database and Operating System Security Mehmet Demirci 1 Summary of Lecture 6 User Authentication Passwords Password storage Password selection Token-based
The Flask Security Architecture: System Support for Diverse Security Policies
The Flask Security Architecture: System Support for Diverse Security Policies Ray Spencer Secure Computing Corporation Stephen Smalley, Peter Loscocco National Security Agency Mike Hibler, David Andersen,
CIS 551 / TCOM 401 Computer and Network Security. Spring 2005 Lecture 4
CIS 551 / TCOM 401 Computer and Network Security Spring 2005 Lecture 4 Access Control: The Big Picture Objects - resources being protected E.g. files, devices, etc. Subjects - active entities E.g. processes,
VMware Server 2.0 Essentials. Virtualization Deployment and Management
VMware Server 2.0 Essentials Virtualization Deployment and Management . This PDF is provided for personal use only. Unauthorized use, reproduction and/or distribution strictly prohibited. All rights reserved.
Nixu SNS Security White Paper May 2007 Version 1.2
1 Nixu SNS Security White Paper May 2007 Version 1.2 Nixu Software Limited Nixu Group 2 Contents 1 Security Design Principles... 3 1.1 Defense in Depth... 4 1.2 Principle of Least Privilege... 4 1.3 Principle
Laboratory Report. An Appendix to SELinux & grsecurity: A Side-by-Side Comparison of Mandatory Access Control & Access Control List Implementations
Laboratory Report An Appendix to SELinux & grsecurity: A Side-by-Side Comparison of Mandatory Access Control & Access Control List Implementations 1. Hardware Configuration We configured our testbed on
E-Commerce Security. The Client-Side Vulnerabilities. Securing the Data Transaction LECTURE 7 (SECURITY)
E-Commerce Security An e-commerce security system has four fronts: LECTURE 7 (SECURITY) Web Client Security Data Transport Security Web Server Security Operating System Security A safe e-commerce system
Windows Security. CSE497b - Spring 2007 Introduction Computer and Network Security Professor Jaeger. www.cse.psu.edu/~tjaeger/cse497b-s07/
Windows Security CSE497b - Spring 2007 Introduction Computer and Network Security Professor Jaeger www.cse.psu.edu/~tjaeger/cse497b-s07/ Windows Security 0 to full speed No protection system in early versions
Windows Operating Systems. Basic Security
Windows Operating Systems Basic Security Objectives Explain Windows Operating System (OS) common configurations Recognize OS related threats Apply major steps in securing the OS Windows Operating System
Chapter 8 A secure virtual web database environment
Chapter 8 Information security with special reference to database interconnectivity Page 146 8.1 Introduction The previous three chapters investigated current state-of-the-art database security services
Dissertation Title: SOCKS5-based Firewall Support For UDP-based Application. Author: Fung, King Pong
Dissertation Title: SOCKS5-based Firewall Support For UDP-based Application Author: Fung, King Pong MSc in Information Technology The Hong Kong Polytechnic University June 1999 i Abstract Abstract of dissertation
Fifty Critical Alerts for Monitoring Windows Servers Best practices
Fifty Critical Alerts for Monitoring Windows Servers Best practices The importance of consolidation, correlation, and detection Enterprise Security Series White Paper 6990 Columbia Gateway Drive, Suite
Cleaning Encrypted Traffic
Optenet Documentation Cleaning Encrypted Traffic Troubleshooting Guide iii Version History Doc Version Product Date Summary of Changes V6 OST-6.4.300 01/02/2015 English editing Optenet Documentation
CS161: Operating Systems
CS161: Operating Systems Matt Welsh [email protected] Lecture 2: OS Structure and System Calls February 6, 2007 1 Lecture Overview Protection Boundaries and Privilege Levels What makes the kernel different
Network Licensing. White Paper 0-15Apr014ks(WP02_Network) Network Licensing with the CRYPTO-BOX. White Paper
WP2 Subject: with the CRYPTO-BOX Version: Smarx OS PPK 5.90 and higher 0-15Apr014ks(WP02_Network).odt Last Update: 28 April 2014 Target Operating Systems: Windows 8/7/Vista (32 & 64 bit), XP, Linux, OS
Network Security and Firewall 1
Department/program: Networking Course Code: CPT 224 Contact Hours: 96 Subject/Course WEB Access & Network Security: Theoretical: 2 Hours/week Year Two Semester: Two Prerequisite: NET304 Practical: 4 Hours/week
FIREWALLS IN NETWORK SECURITY
FIREWALLS IN NETWORK SECURITY A firewall in an information security program is similar to a building s firewall in that it prevents specific types of information from moving between the outside world,
GFI White Paper PCI-DSS compliance and GFI Software products
White Paper PCI-DSS compliance and Software products The Payment Card Industry Data Standard () compliance is a set of specific security standards developed by the payment brands* to help promote the adoption
INTRUSION DETECTION SYSTEMS and Network Security
INTRUSION DETECTION SYSTEMS and Network Security Intrusion Detection System IDS A layered network security approach starts with : A well secured system which starts with: Up-to-date application and OS
What is Web Security? Motivation
[email protected] http://www.brucker.ch/ Information Security ETH Zürich Zürich, Switzerland Information Security Fundamentals March 23, 2004 The End Users View The Server Providers View What is Web
Error Codes for F-Secure Anti-Virus for Firewalls, Windows 6.20
Error Codes for F-Secure Anti-Virus for Firewalls, Windows 6.20 The two tables described here list the error codes sent by F-Secure Content Scanner Server and F-Secure Anti-Virus for Firewalls. Error codes
Monitoring Server File Integrity With CloudPassage Halo
Contents: Monitoring Server File Integrity With CloudPassage Halo How File Integrity Monitoring Works Run a File Integrity Scan 1. Define a Server Group to Scan 2. Create or Clone a File Integrity Policy
TASK -040. TDSP Web Portal Project Cyber Security Standards Best Practices
Page 1 of 10 TSK- 040 Determine what PCI, NERC CIP cyber security standards are, which are applicable, and what requirements are around them. Find out what TRE thinks about the NERC CIP cyber security
File System Encryption with Integrated User Management
File System Encryption with Integrated User Management Stefan Ludwig Corporate Technology Siemens AG, Munich [email protected] Prof. Dr. Winfried Kalfa Operating Systems Group Chemnitz University of
International Journal of Enterprise Computing and Business Systems ISSN (Online) : 2230-8849
WINDOWS-BASED APPLICATION AWARE NETWORK INTERCEPTOR Ms. Shalvi Dave [1], Mr. Jimit Mahadevia [2], Prof. Bhushan Trivedi [3] [1] Asst.Prof., MCA Department, IITE, Ahmedabad, INDIA [2] Chief Architect, Elitecore
Adjusting Prevention Policy Options Based on Prevention Events. Version 1.0 July 2006
Adjusting Prevention Policy Options Based on Prevention Events Version 1.0 July 2006 Table of Contents 1. WHO SHOULD READ THIS DOCUMENT... 4 2. WHERE TO GET MORE INFORMATION... 4 3. VERIFYING THE OPERATION
Leonardo Hotels Group Page 1
Privacy Policy The Leonardo Hotels Group, represented by Sunflower Management GmbH & Co.KG, respects the right to privacy of every individual who access and navigate our website. Leonardo Hotels takes
The Case for SE Android. Stephen Smalley [email protected] Trust Mechanisms (R2X) National Security Agency
The Case for SE Android Stephen Smalley [email protected] Trust Mechanisms (R2X) National Security Agency 1 Android: What is it? Linux-based software stack for mobile devices. Very divergent from typical
11.1. Performance Monitoring
11.1. Performance Monitoring Windows Reliability and Performance Monitor combines the functionality of the following tools that were previously only available as stand alone: Performance Logs and Alerts
CIS 551 / TCOM 401 Computer and Network Security
CIS 551 / TCOM 401 Computer and Network Security Spring 2007 Lecture 3 1/18/07 CIS/TCOM 551 1 Announcements Email project groups to Jeff (vaughan2 AT seas.upenn.edu) by Jan. 25 Start your projects early!
2. From a control perspective, the PRIMARY objective of classifying information assets is to:
MIS5206 Week 13 Your Name Date 1. When conducting a penetration test of an organization's internal network, which of the following approaches would BEST enable the conductor of the test to remain undetected
Windows Remote Access
Windows Remote Access A newsletter for IT Professionals Education Sector Updates Issue 1 I. Background of Remote Desktop for Windows Remote Desktop Protocol (RDP) is a proprietary protocol developed by
A Survey of Access Control Policies
A Survey of Access Control Policies Amanda Crowell University of Maryland [email protected] ABSTRACT Modern operating systems each have different implementations of access controls and use different
Objectives. Chapter 2: Operating-System Structures. Operating System Services (Cont.) Operating System Services. Operating System Services (Cont.
Objectives To describe the services an operating system provides to users, processes, and other systems To discuss the various ways of structuring an operating system Chapter 2: Operating-System Structures
