* SELinux & Linux-privs projects @ 2001-01-11 14:44 Jeffry Smith 2001-01-11 15:20 ` Stephen Smalley 2001-01-11 15:45 ` [Linux-privs-discuss] " Christoph Hellwig 0 siblings, 2 replies; 16+ messages in thread From: Jeffry Smith @ 2001-01-11 14:44 UTC (permalink / raw) To: selinux, linux-privs-discuss Sent to both lists Since I hadn't seen any traffic on the two lists about the other project, I thought I'd cross-send a message, to ensure the two communities are aware of what the other is doing. I figure, although the projects are tackling different parts of the security of linux, there should be some overlap, since privileges should make it easier to do the type enforcement (I think), and the type enforcement can help with requirements for privileges (right?). Comments? jeff -- You have received this message because you are subscribed to the selinux list. If you no longer wish to subscribe, send mail to majordomo@tycho.nsa.gov with the words "unsubscribe selinux" without quotes as the message. ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: SELinux & Linux-privs projects 2001-01-11 14:44 SELinux & Linux-privs projects Jeffry Smith @ 2001-01-11 15:20 ` Stephen Smalley 2001-01-11 16:41 ` Huagang Xie 2001-01-11 15:45 ` [Linux-privs-discuss] " Christoph Hellwig 1 sibling, 1 reply; 16+ messages in thread From: Stephen Smalley @ 2001-01-11 15:20 UTC (permalink / raw) To: Jeffry Smith; +Cc: selinux, linux-privs-discuss On Thu, 11 Jan 2001, Jeffry Smith wrote: > Sent to both lists > Since I hadn't seen any traffic on the two lists about the other project, I > thought I'd cross-send a message, to ensure the two communities are aware of > what the other is doing. I figure, although the projects are tackling > different parts of the security of linux, there should be some overlap, since > privileges should make it easier to do the type enforcement (I think), and the > type enforcement can help with requirements for privileges (right?). > > Comments? The two mechanisms are mostly orthogonal, although SELinux can help to support the capability model and perhaps to even replace it. The POSIX.1e capabilities can be used to decompose superuser privileges for overriding the traditional Unix access controls. SELinux provides a flexible mandatory access control architecture that can support a wide range of security policies. There is no need for a mechanism to override the SELinux mandatory access controls because the security policy can be configured as needed to support fine-grained privileges for processes with respect to the mandatory controls. There is no need for any kind of "trusted" subject that operates outside of the boundaries of the mandatory access control architecture in SELinux. To better support the capability mechanism, the ability to use a capability is controlled by the SELinux mandatory access controls. A parallel mandatory access control is defined for each capability and must be granted by the security policy in order for the capability to be used. Since SELinux provides subject labeling and can support labels derived both from the attributes of the user and the program, it can restrict the use of capabilities to the appropriate program through the security policy configuration. In one of the predecessors of SELinux (the DTOS system), the NSA implemented a different mechanism than the POSIX.1e capabilities for decomposing superuser privileges. The superuser privileges were partitioned by having the security server return a set of override decisions along with its access decisions, where these override decisions could cause access to be granted even if the Unix access control would ordinarily deny access. Unlike the Linux capabilities, these override decisions could be based on both the label of the subject and the label of the relevant object. This mechanism permitted fine-grained decomposition (e.g. permission to override DAC read restrictions could be limited to files with certain security labels) and simpler management (through the use of the centralized security policy). Similar support could be added to the Security-Enhanced Linux as well but is not present in the current implementation. -- Stephen D. Smalley, NAI Labs sds@tislabs.com -- You have received this message because you are subscribed to the selinux list. If you no longer wish to subscribe, send mail to majordomo@tycho.nsa.gov with the words "unsubscribe selinux" without quotes as the message. ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: SELinux & Linux-privs projects 2001-01-11 15:20 ` Stephen Smalley @ 2001-01-11 16:41 ` Huagang Xie 2001-01-11 16:46 ` [Linux-privs-discuss] " Christoph Hellwig 0 siblings, 1 reply; 16+ messages in thread From: Huagang Xie @ 2001-01-11 16:41 UTC (permalink / raw) To: Stephen Smalley; +Cc: Jeffry Smith, selinux, linux-privs-discuss In fact, the LIDS project(www.lids.org) extend the capability usage to integrit in a MAC way. You can disable a capability world width and give the capability to the needed program( label the capability to a subject). On Thu, 11 Jan 2001, Stephen Smalley wrote: > > On Thu, 11 Jan 2001, Jeffry Smith wrote: > > > Sent to both lists > > Since I hadn't seen any traffic on the two lists about the other project, I > > thought I'd cross-send a message, to ensure the two communities are aware of > > what the other is doing. I figure, although the projects are tackling > > different parts of the security of linux, there should be some overlap, since > > privileges should make it easier to do the type enforcement (I think), and the > > type enforcement can help with requirements for privileges (right?). > > > > Comments? > > The two mechanisms are mostly orthogonal, although SELinux can help > to support the capability model and perhaps to even replace it. The > POSIX.1e capabilities can be used to decompose superuser privileges for > overriding the traditional Unix access controls. SELinux provides a > flexible mandatory access control architecture that can support a wide > range of security policies. There is no need for a mechanism to override > the SELinux mandatory access controls because the security policy can be > configured as needed to support fine-grained privileges for processes > with respect to the mandatory controls. There is no need for any kind of > "trusted" subject that operates outside of the boundaries of the mandatory > access control architecture in SELinux. > > To better support the capability mechanism, the ability to > use a capability is controlled by the SELinux mandatory access controls. > A parallel mandatory access control is defined for each capability > and must be granted by the security policy in order for the > capability to be used. Since SELinux provides subject labeling and > can support labels derived both from the attributes of the user and the > program, it can restrict the use of capabilities to the appropriate > program through the security policy configuration. > > In one of the predecessors of SELinux (the DTOS system), the NSA > implemented a different mechanism than the POSIX.1e capabilities > for decomposing superuser privileges. The superuser privileges were > partitioned by having the security server return a set of override > decisions along with its access decisions, where these override decisions > could cause access to be granted even if the Unix access control would > ordinarily deny access. Unlike the Linux capabilities, these override > decisions could be based on both the label of the subject and the label of > the relevant object. This mechanism permitted fine-grained decomposition > (e.g. permission to override DAC read restrictions could be limited to > files with certain security labels) and simpler management (through the > use of the centralized security policy). Similar support could be added > to the Security-Enhanced Linux as well but is not present in the > current implementation. > > -- > Stephen D. Smalley, NAI Labs > sds@tislabs.com > > > > > > -- > You have received this message because you are subscribed to the selinux list. > If you no longer wish to subscribe, send mail to majordomo@tycho.nsa.gov with > the words "unsubscribe selinux" without quotes as the message. > -- Happy Hacking Linux Intrusion Detection System http://www.lids.org/ -- You have received this message because you are subscribed to the selinux list. If you no longer wish to subscribe, send mail to majordomo@tycho.nsa.gov with the words "unsubscribe selinux" without quotes as the message. ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [Linux-privs-discuss] Re: SELinux & Linux-privs projects 2001-01-11 16:41 ` Huagang Xie @ 2001-01-11 16:46 ` Christoph Hellwig 0 siblings, 0 replies; 16+ messages in thread From: Christoph Hellwig @ 2001-01-11 16:46 UTC (permalink / raw) To: Huagang Xie; +Cc: Stephen Smalley, Jeffry Smith, selinux, linux-privs-discuss On Fri, Jan 12, 2001 at 12:42:56AM +0800, Huagang Xie wrote: > > > In fact, the LIDS project(www.lids.org) extend the capability usage to > integrit in a MAC way. You can disable a capability world width and give > the capability to the needed program( label the capability to a > subject). It's rather ugly compared to real filesystem capabilities and even the elfcap hack. Christoph -- Whip me. Beat me. Make me maintain AIX. -- You have received this message because you are subscribed to the selinux list. If you no longer wish to subscribe, send mail to majordomo@tycho.nsa.gov with the words "unsubscribe selinux" without quotes as the message. ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [Linux-privs-discuss] SELinux & Linux-privs projects 2001-01-11 14:44 SELinux & Linux-privs projects Jeffry Smith 2001-01-11 15:20 ` Stephen Smalley @ 2001-01-11 15:45 ` Christoph Hellwig 2001-01-11 16:04 ` Stephen Smalley 1 sibling, 1 reply; 16+ messages in thread From: Christoph Hellwig @ 2001-01-11 15:45 UTC (permalink / raw) To: Jeffry Smith; +Cc: selinux, linux-privs-discuss On Thu, Jan 11, 2001 at 09:44:54AM -0500, Jeffry Smith wrote: > Sent to both lists > Since I hadn't seen any traffic on the two lists about the other project, I > thought I'd cross-send a message, to ensure the two communities are aware of > what the other is doing. I figure, although the projects are tackling > different parts of the security of linux, there should be some overlap, since > privileges should make it easier to do the type enforcement (I think), and the Linux-privs and other Posix1003.1e subsystems currenlty in development for Linux provide a UNIXish way of trusted systems, while SELinux implements ruleset-based security and is rather differnt and put policy into the kernel, something that is dtringly disliked in UNIX. So they are two rather different ways to archive the same goal. Christoph -- Whip me. Beat me. Make me maintain AIX. -- You have received this message because you are subscribed to the selinux list. If you no longer wish to subscribe, send mail to majordomo@tycho.nsa.gov with the words "unsubscribe selinux" without quotes as the message. ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [Linux-privs-discuss] SELinux & Linux-privs projects 2001-01-11 15:45 ` [Linux-privs-discuss] " Christoph Hellwig @ 2001-01-11 16:04 ` Stephen Smalley 2001-01-11 16:16 ` Christoph Hellwig 0 siblings, 1 reply; 16+ messages in thread From: Stephen Smalley @ 2001-01-11 16:04 UTC (permalink / raw) To: Christoph Hellwig; +Cc: selinux, linux-privs-discuss On Thu, 11 Jan 2001, Christoph Hellwig wrote: > Linux-privs and other Posix1003.1e subsystems currenlty in development > for Linux provide a UNIXish way of trusted systems, while SELinux > implements ruleset-based security and is rather differnt and put > policy into the kernel, something that is dtringly disliked in UNIX. > > So they are two rather different ways to achieve the same goal. Allow me to clarify about SELinux. I'll respond to your points in reverse order. SELinux and Linux-privs are NOT different ways to achieve the same goal. SELinux provides a flexible mandatory access control architecture. The architecture can enforce a wide variety of security policies. It can enforce the separation of information based on confidentiality and integrity requirements. This is quite different from Linux Privs, which provides a mechanism for decomposing superuser privileges. It is also quite different from POSIX.1e mandatory access controls, which are tied to a specific kind of mandatory security policy. It is also inaccurate to suggest that the issue is placing policy in the kernel. SELinux provides clean separation of policy from enforcement, with the security policy cleanly encapsulated in a single component of the operating system called the security server with a general interface. Many different security server implementations are possible, including implementations that consult user space servers. The example security server implementation consists of a basic policy engine that consults a security policy configuration read from a file. This is also a false comparison, because the POSIX.1e mandatory access control policy implementation would likewise involve a kernel component, and it is more likely to involve policy-specific code being used by other components of the kernel. -- Stephen D. Smalley, NAI Labs sds@tislabs.com -- You have received this message because you are subscribed to the selinux list. If you no longer wish to subscribe, send mail to majordomo@tycho.nsa.gov with the words "unsubscribe selinux" without quotes as the message. ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [Linux-privs-discuss] SELinux & Linux-privs projects 2001-01-11 16:04 ` Stephen Smalley @ 2001-01-11 16:16 ` Christoph Hellwig 2001-01-11 16:48 ` Stephen Smalley 2001-01-11 16:59 ` Stephen Smalley 0 siblings, 2 replies; 16+ messages in thread From: Christoph Hellwig @ 2001-01-11 16:16 UTC (permalink / raw) To: Stephen Smalley; +Cc: selinux, linux-privs-discuss On Thu, Jan 11, 2001 at 11:04:32AM -0500, Stephen Smalley wrote: > Allow me to clarify about SELinux. I'll respond to your points > in reverse order. SELinux and Linux-privs are NOT different ways > to achieve the same goal. SELinux provides a flexible mandatory > access control architecture. The architecture can enforce a wide > variety of security policies. It can enforce the separation of > information based on confidentiality and integrity requirements. > This is quite different from Linux Privs, which provides a mechanism > for decomposing superuser privileges. The capabilities do that, right. But if I'm not completly wrong Linux-Privs stands for all the Posix 1003.1e stuff, but currently only caps are implemented, though work is done on other parts (acl, aud, mac). > It is also quite different > from POSIX.1e mandatory access controls, which are tied to a > specific kind of mandatory security policy. Capabilities and mac are of course different, otherwise you probably won't find them in the same posix standard... > It is also inaccurate to suggest that the issue is placing policy > in the kernel. SELinux provides clean separation of policy from > enforcement, with the security policy cleanly encapsulated > in a single component of the operating system called the > security server with a general interface. Many different > security server implementations are possible, including > implementations that consult user space servers. Then you basically end up with rsbac. But your current code does not look like you provide support for that. > The > example security server implementation consists of a > basic policy engine that consults a security policy configuration > read from a file. This is also a false comparison, because > the POSIX.1e mandatory access control policy implementation would > likewise involve a kernel component, and it is more likely to > involve policy-specific code being used by other components of > the kernel. No. The pocily for posix 1003.1e mac is set from usespace and stored in extented attributes, at least in the TrustedBSD version, my initial Linux hack and SGIs version. Christoph -- Whip me. Beat me. Make me maintain AIX. -- You have received this message because you are subscribed to the selinux list. If you no longer wish to subscribe, send mail to majordomo@tycho.nsa.gov with the words "unsubscribe selinux" without quotes as the message. ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [Linux-privs-discuss] SELinux & Linux-privs projects 2001-01-11 16:16 ` Christoph Hellwig @ 2001-01-11 16:48 ` Stephen Smalley 2001-01-11 17:35 ` Casey Schaufler 2001-01-11 16:59 ` Stephen Smalley 1 sibling, 1 reply; 16+ messages in thread From: Stephen Smalley @ 2001-01-11 16:48 UTC (permalink / raw) To: Christoph Hellwig; +Cc: selinux, linux-privs-discuss > No. The policy for posix 1003.1e mac is set from userspace and stored > in extended attributes, at least in the TrustedBSD version, my initial > Linux hack and SGIs version. By "policy", are you simply referring to file labels? What about the security policy logic that determines whether access is granted? Where is that implemented? It sounds like there may be a misunderstanding here. In SELinux, file labels can likewise be set by applications and are associated with files through a combination of a field in the inode and a set of label mapping files. We would have used extended attributes, except that they weren't available in ext2fs. The format and contents of security labels can be arbitrarily changed without modifying or even recompiling the file system code (or networking code or process management code, etc). The security policy decisions are specified through a set of security policy configuration files that can be edited and compiled into a binary representation that is loaded and used by the security server. Most desired security policy changes can be implemented simply by changing that configuration and reloading it. If you want a radically new style of policy, you can reimplement the security server itself, but that still doesn't require any changes or even recompilation of the other components of the operating system. The POSIX.1e MAC tightly couples policy and enforcement because it is designed for a particular kind of security policy. It assumes a certain kind of security label. It assumes hierarchical relationships among labels. It assumes that it is sufficient to treat all operations as being read, write, or execute. In order to support Type Enforcement or Role-Based Access Control or other kinds of mandatory security, you are very likely to need to change or at least recompile the file system code, the networking code, etc. -- Stephen D. Smalley, NAI Labs sds@tislabs.com -- You have received this message because you are subscribed to the selinux list. If you no longer wish to subscribe, send mail to majordomo@tycho.nsa.gov with the words "unsubscribe selinux" without quotes as the message. ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [Linux-privs-discuss] SELinux & Linux-privs projects 2001-01-11 16:48 ` Stephen Smalley @ 2001-01-11 17:35 ` Casey Schaufler 2001-01-11 18:31 ` Stephen Smalley 0 siblings, 1 reply; 16+ messages in thread From: Casey Schaufler @ 2001-01-11 17:35 UTC (permalink / raw) To: Stephen Smalley; +Cc: Christoph Hellwig, selinux, linux-privs-discuss Stephen Smalley wrote: > The POSIX.1e MAC tightly couples policy and enforcement because > it is designed for a particular kind of security policy. > It assumes a certain kind of security label. I don't know who told you that, but it certainly wasn't anyone who worked on the standard. The 1e MAC specification is explicitly devoid of any such assumptions. That's one reason there's no specification on Moldy directories, for example. > It assumes hierarchical relationships among labels. It assumes that there are two relationships, equality and dominance, between labels. I can easily show labeling schemes which are cyclic, but which can be represented in terms of these relationships. > It assumes that it is > sufficient to treat all operations as being read, write, or execute. That's because those are the only operations POSIX systems support! It's implicit in being a POSIX (DRAFT) standard. > In order to support Type Enforcement or Role-Based Access > Control or other kinds of mandatory security, you are very likely > to need to change or at least recompile the file system code, > the networking code, etc. Yes, and? -- Casey Schaufler Manager, Trust Technology, SGI casey@sgi.com voice: 650.933.1634 casey_p@pager.sgi.com Pager: 888.220.0607 -- You have received this message because you are subscribed to the selinux list. If you no longer wish to subscribe, send mail to majordomo@tycho.nsa.gov with the words "unsubscribe selinux" without quotes as the message. ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [Linux-privs-discuss] SELinux & Linux-privs projects 2001-01-11 17:35 ` Casey Schaufler @ 2001-01-11 18:31 ` Stephen Smalley 2001-01-11 18:56 ` (offtopic) " Andrew Morgan ` (2 more replies) 0 siblings, 3 replies; 16+ messages in thread From: Stephen Smalley @ 2001-01-11 18:31 UTC (permalink / raw) To: Casey Schaufler; +Cc: selinux, linux-privs-discuss On Thu, 11 Jan 2001, Casey Schaufler wrote: > I don't know who told you that, but it certainly wasn't > anyone who worked on the standard. The 1e MAC specification > is explicitly devoid of any such assumptions. That's one > reason there's no specification on Moldy directories, for > example. I assume that "devoid of any assumptions" refers to the kind of label as opposed to being designed for a particular kind of security policy. Are you suggesting that POSIX.1e was not designed specifically for lattice-based models like BLP and Biba? The fundamental statement of mandatory access control policy in the standard is hardly suitable for all mandatory security policies: Subjects cannot cause information labeled at some MAC label L1 to become accessible to subjects at L2 unless L2 dominates L1. You can't represent Type Enforcement by such a statement. And the kind of label is implicit by the dominates relatinship. > That's because those are the only operations POSIX systems > support! It's implicit in being a POSIX (DRAFT) standard. You can define distinct operations (permissions) in the mandatory security policy for distinct kernel services without altering the interfaces or behavior for discretionary access controls. > > In order to support Type Enforcement or Role-Based Access > > Control or other kinds of mandatory security, you are very likely > > to need to change or at least recompile the file system code, > > the networking code, etc. > > Yes, and? As discussed ad nauseum on the robust open source mailing list, Type Enforcement is desirable for its support for ensuring that applications are unbypassable and tamperproof, that processes with any sort of privileges cannot execute untrustworthy code, and for providing least privilege. BLP and Biba are not enough for everyone. And I'm not suggesting that Type Enforcement is the magic solution either - the point is that we need a flexible mandatory access control architecture so that the system can be customized and can evolve easily to meet different security requirements. -- Stephen D. Smalley, NAI Labs sds@tislabs.com -- You have received this message because you are subscribed to the selinux list. If you no longer wish to subscribe, send mail to majordomo@tycho.nsa.gov with the words "unsubscribe selinux" without quotes as the message. ^ permalink raw reply [flat|nested] 16+ messages in thread
* (offtopic) Re: [Linux-privs-discuss] SELinux & Linux-privs projects 2001-01-11 18:31 ` Stephen Smalley @ 2001-01-11 18:56 ` Andrew Morgan 2001-01-11 18:59 ` Christoph Hellwig 2001-01-12 0:25 ` [Linux-privs-discuss] " Casey Schaufler 2 siblings, 0 replies; 16+ messages in thread From: Andrew Morgan @ 2001-01-11 18:56 UTC (permalink / raw) To: Stephen Smalley; +Cc: Casey Schaufler, selinux, linux-privs-discuss Stephen Smalley wrote: > As discussed ad nauseum on the robust open source mailing list, How 'open' is this 'robust open source' mailing list? Where is it located, does it have any archives? [Google wasn't able to locate it for me.] Thanks Andrew -- You have received this message because you are subscribed to the selinux list. If you no longer wish to subscribe, send mail to majordomo@tycho.nsa.gov with the words "unsubscribe selinux" without quotes as the message. ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [Linux-privs-discuss] SELinux & Linux-privs projects 2001-01-11 18:31 ` Stephen Smalley 2001-01-11 18:56 ` (offtopic) " Andrew Morgan @ 2001-01-11 18:59 ` Christoph Hellwig 2001-01-11 20:54 ` Stephen Smalley 2001-01-12 0:25 ` [Linux-privs-discuss] " Casey Schaufler 2 siblings, 1 reply; 16+ messages in thread From: Christoph Hellwig @ 2001-01-11 18:59 UTC (permalink / raw) To: Stephen Smalley; +Cc: Casey Schaufler, selinux, linux-privs-discuss On Thu, Jan 11, 2001 at 01:31:44PM -0500, Stephen Smalley wrote: > > That's because those are the only operations POSIX systems > > support! It's implicit in being a POSIX (DRAFT) standard. > > You can define distinct operations (permissions) in the > mandatory security policy for distinct kernel services > without altering the interfaces or behavior for discretionary > access controls. Sure you can. But Posix 1003.1e is designed to fit nicely into a UNIX/Posix enviroment. And that's exactly why I like it. > As discussed ad nauseum on the robust open source mailing list, > Type Enforcement is desirable for its support for ensuring that > applications are unbypassable and tamperproof, that processes > with any sort of privileges cannot execute untrustworthy > code, and for providing least privilege. For this you have capabilities. Look at the allowed set in filesystem capabilities. That's another fine part of Posix 1003.1e: it seperates cleanly what does not belong together. Christoph -- Whip me. Beat me. Make me maintain AIX. -- You have received this message because you are subscribed to the selinux list. If you no longer wish to subscribe, send mail to majordomo@tycho.nsa.gov with the words "unsubscribe selinux" without quotes as the message. ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: SELinux & Linux-privs projects 2001-01-11 18:59 ` Christoph Hellwig @ 2001-01-11 20:54 ` Stephen Smalley 0 siblings, 0 replies; 16+ messages in thread From: Stephen Smalley @ 2001-01-11 20:54 UTC (permalink / raw) To: Christoph Hellwig; +Cc: selinux, linux-privs-discuss > For this you have capabilities. Look at the allowed set in filesystem > capabilities. That's another fine part of Posix 1003.1e: it seperates > cleanly what does not belong together. A paper by Spencer Minear in this year's BSD Conference and Expo provided a brief comparison of the POSIX.1e capability mechanism and a BSD implementation of Type Enforcement. You can find a copy under http://www.bsdcon.com/proceedings/spencer_minear. This ties in with my earlier discussion of the advantages of using an architecture like SELinux to provide similar functionality to the capability mechanism, as was done in one of the predecessors of SELinux (the DTOS system). The paper also has some useful background information on the development of Type Enforcement and its relationship to MLS. -- Stephen D. Smalley, NAI Labs sds@tislabs.com -- You have received this message because you are subscribed to the selinux list. If you no longer wish to subscribe, send mail to majordomo@tycho.nsa.gov with the words "unsubscribe selinux" without quotes as the message. ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [Linux-privs-discuss] SELinux & Linux-privs projects 2001-01-11 18:31 ` Stephen Smalley 2001-01-11 18:56 ` (offtopic) " Andrew Morgan 2001-01-11 18:59 ` Christoph Hellwig @ 2001-01-12 0:25 ` Casey Schaufler 2 siblings, 0 replies; 16+ messages in thread From: Casey Schaufler @ 2001-01-12 0:25 UTC (permalink / raw) To: Stephen Smalley; +Cc: selinux, linux-privs-discuss Stephen Smalley wrote: > > On Thu, 11 Jan 2001, Casey Schaufler wrote: > > > I don't know who told you that, but it certainly wasn't > > anyone who worked on the standard. The 1e MAC specification > > is explicitly devoid of any such assumptions. That's one > > reason there's no specification on Moldy directories, for > > example. > > I assume that "devoid of any assumptions" refers to the kind > of label as opposed to being designed for a particular kind > of security policy. No, it means that the developers of the DRAFT couldn't agree on what the right policy was, so they made sure that no one would have an advantage by having the DRAFT specificly match their policy. For example, Sun was doing restricted Bell&LaPadula sensitivity. SGI did modified Bell&LaPadula sensitivity and Biba integrity. Data General, well, we were never sure what they were up to, but it sure sounded like a reasonably pure Bell&LaPadula. In the early days AT&T was pushing for time stamp sorts of policy, too. > Are you suggesting that POSIX.1e was > not designed specifically for lattice-based models like > BLP and Biba? I'm suggesting that the design goals included supporting those policies, but also included generality. No one who came to more than one meeting advocated anything other than policy independence. > The fundamental statement of mandatory access > control policy in the standard is hardly suitable for all > mandatory security policies: Subjects cannot cause information > labeled at some MAC label L1 to become accessible to subjects > at L2 unless L2 dominates L1. You can't represent Type > Enforcement by such a statement. And the kind of label is > implicit by the dominates relatinship. I'll take your word for it that you couldn't represent TE using the 1e scheme. > > That's because those are the only operations POSIX systems > > support! It's implicit in being a POSIX (DRAFT) standard. > > You can define distinct operations (permissions) in the > mandatory security policy for distinct kernel services > without altering the interfaces or behavior for discretionary > access controls. You're correct. If you really think it's valueable to seperate left-hand-twiddle permission from write permission the POSIX.1e scheme is not for you. > ... - the > point is that we need a flexible mandatory access control > architecture so that the system can be customized and > can evolve easily to meet different security requirements. I have to disagree. It has not been the policy inflexibility of MLS systems which have held them back, if in fact they can be said to have been held back at all. It is the fact that they're *different*. Flexible policy will not help in the marketplace, it will hurt. We finally got people to the point where they generally understood permission bits, when along come NT ACLs, and the whole thing goes on the floor. We'd be in much better shape if the MAC policies on MULTICS, Solaris, HP/UX, AIX, and Irix where all the same. Flexibility? Bad for the community. -- Casey Schaufler Manager, Trust Technology, SGI casey@sgi.com voice: 650.933.1634 casey_p@pager.sgi.com Pager: 888.220.0607 -- You have received this message because you are subscribed to the selinux list. If you no longer wish to subscribe, send mail to majordomo@tycho.nsa.gov with the words "unsubscribe selinux" without quotes as the message. ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [Linux-privs-discuss] SELinux & Linux-privs projects 2001-01-11 16:16 ` Christoph Hellwig 2001-01-11 16:48 ` Stephen Smalley @ 2001-01-11 16:59 ` Stephen Smalley 2001-01-23 16:13 ` Robert Watson 1 sibling, 1 reply; 16+ messages in thread From: Stephen Smalley @ 2001-01-11 16:59 UTC (permalink / raw) To: Christoph Hellwig; +Cc: selinux, linux-privs-discuss On Thu, 11 Jan 2001, Christoph Hellwig wrote: > > It is also quite different > > from POSIX.1e mandatory access controls, which are tied to a > > specific kind of mandatory security policy. > > Capabilities and mac are of course different, otherwise you probably > won't find them in the same posix standard... I guess my antecedent was ambiguous. I was trying to say that the SELinux mandatory access controls are quite different from POSIX.1e mandatory access controls, because SELinux provides a flexible mandatory access control architecture that can support many different kinds of security policies while POSIX.1e is limited to a particular kind of security policy (multi-level security, and perhaps Biba integrity or other lattice-based models). SELinux can support lattice-based models like multi-level security, but it can also support Type Enforcement, Role-Based Access Control, and other models. So POSIX.1e MAC only does a subset of what SELinux does. -- Stephen D. Smalley, NAI Labs sds@tislabs.com -- You have received this message because you are subscribed to the selinux list. If you no longer wish to subscribe, send mail to majordomo@tycho.nsa.gov with the words "unsubscribe selinux" without quotes as the message. ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [Linux-privs-discuss] SELinux & Linux-privs projects 2001-01-11 16:59 ` Stephen Smalley @ 2001-01-23 16:13 ` Robert Watson 0 siblings, 0 replies; 16+ messages in thread From: Robert Watson @ 2001-01-23 16:13 UTC (permalink / raw) To: Stephen Smalley; +Cc: Christoph Hellwig, selinux, linux-privs-discuss On Thu, 11 Jan 2001, Stephen Smalley wrote: > On Thu, 11 Jan 2001, Christoph Hellwig wrote: > > > > It is also quite different > > > from POSIX.1e mandatory access controls, which are tied to a > > > specific kind of mandatory security policy. > > > > Capabilities and mac are of course different, otherwise you probably > > won't find them in the same posix standard... > > I guess my antecedent was ambiguous. I was trying to say that the > SELinux mandatory access controls are quite different from POSIX.1e > mandatory access controls, because SELinux provides a flexible mandatory > access control architecture that can support many different kinds of > security policies while POSIX.1e is limited to a particular kind of > security policy (multi-level security, and perhaps Biba integrity or > other lattice-based models). SELinux can support lattice-based models > like multi-level security, but it can also support Type Enforcement, > Role-Based Access Control, and other models. So POSIX.1e MAC only does > a subset of what SELinux does. I've run into a few limitations in the POSIX.1e MAC interface that I've needed to work around and suggest directions for future improvement if there's any desire towards moving to a more general MAC framework: 1) Dominance operator required -- mac_dominate() must return true, false, or an error (EINVAL), but is unable to return that dominance is undefined. For un-ordered or partially ordered MAC schemes, this will cause problems for applications that rely on the ordering. In this case, mac_dominate() will often (or always) return 0, making it less useful; as it's not clear that mac_dominate() will be meaningful in an environment and if it is, what it means may not be consistent. 2) Limited support for compound labels -- when more than one scheme is in use at a time, a compound mac label is required. However, the dominance operator may be defined differently for different components of the label (for example, Biba dominate differs from MLS dominate). When moving to different or more complex schemes, it's easy to imagine situations where mac_dominate() has to combine inconsistent results, and presumably always return 0 as a result. 3) mac_dominate() is not meaningful without understanding the policy in question: that is, a userland application cannot use it for policy evaluation to determine whether a given operation on a given object is permitted, because mac_dominate() isn't an "is this allowed" request, it has to do with label relationships. Everyone has their own feelings on general access control frameworks and policy mechanisms, but my feeling is that there are a number of improvements that could be made to POSIX.1e to improve its usefulness with regards to more arbitrary MAC policies. This would include functions that request an access control determination for a pair of labels and an operation identifier, functions to determine inheritence when a subject spawns a new object from an existing object (file from directory, packet from interface, MIB hiearchies, etc), and so on. Also, an interface to push requests concerning MAC labels based on knowledge of the syntax and semantics of a component of the label, but without assumptions in the interface about what those might be. In addition, a way to determine what components of the label are available, and properties of the policy enforcement environment. This won't allow applications invoking privilege to manage mandatory labels to be completely free of knowledge of a policy, but it will allow the application that is aware of one component of the policy to override the policy via general interfaces, at the same time as not overriding policies that it doesn't understand, or isn't intended to manipulate. Similarly, it will allow applications maintaining objects to rely on the system policy evaluation when enforcing protections on these internal objects. The SELinux implementation allows some aspects of this (in particular, allowing applications to use the standard system policy and access control mechanisms), as does the NAI DTE implementation. POSIX.1e begins the process of moving towards a general labeling mechanism, and though some changes could better support the kind of environment that I envision. Robert N M Watson FreeBSD Core Team, TrustedBSD Project robert@fledge.watson.org NAI Labs, Safeport Network Services -- You have received this message because you are subscribed to the selinux list. If you no longer wish to subscribe, send mail to majordomo@tycho.nsa.gov with the words "unsubscribe selinux" without quotes as the message. ^ permalink raw reply [flat|nested] 16+ messages in thread
end of thread, other threads:[~2001-01-23 16:37 UTC | newest] Thread overview: 16+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2001-01-11 14:44 SELinux & Linux-privs projects Jeffry Smith 2001-01-11 15:20 ` Stephen Smalley 2001-01-11 16:41 ` Huagang Xie 2001-01-11 16:46 ` [Linux-privs-discuss] " Christoph Hellwig 2001-01-11 15:45 ` [Linux-privs-discuss] " Christoph Hellwig 2001-01-11 16:04 ` Stephen Smalley 2001-01-11 16:16 ` Christoph Hellwig 2001-01-11 16:48 ` Stephen Smalley 2001-01-11 17:35 ` Casey Schaufler 2001-01-11 18:31 ` Stephen Smalley 2001-01-11 18:56 ` (offtopic) " Andrew Morgan 2001-01-11 18:59 ` Christoph Hellwig 2001-01-11 20:54 ` Stephen Smalley 2001-01-12 0:25 ` [Linux-privs-discuss] " Casey Schaufler 2001-01-11 16:59 ` Stephen Smalley 2001-01-23 16:13 ` Robert Watson
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.