Security Enhanced Linux
What's New
Frequently Asked Questions
Background
Documents
License
Download
Participating
Mail List
Archives
Remaining Work
Contributors
Related Work
Press Releases
Information Assurance Research
NIARL In-house Research Areas
Mathematical Sciences Program
Sabbaticals
Computer & Information Sciences Research
Technology Transfer
Advanced Computing
Advanced Mathematics
Communications & Networking
Information Processing
Microelectronics
Other Technologies
Technology Fact Sheets
Publications
Related Links
|
SELinux Mailing ListRe: Security issues with local filesystem caching
From: Stephen Smalley <sds_at_tycho.nsa.gov>
Date: Thu, 02 Nov 2006 15:33:41 -0500
It doesn't look simpler, but if you take this approach, then:
1) fssid needs to be renamed to reflect its use as the subject/actor
label (e.g. => "subjsid"),
> The flag approach is a bit more work to implement and will slow most ops down In most cases, you could just generalize the existing IS_PRIVATE(inode) tests in the security static inlines in security.h to also incorporate a task flag test. security_inode_init_security() would be an exception.
> There are a couple of things I'm not sure about with the ->fssid approach: Note that these issues don't exist in the task flag approach. I'm not entirely sure what you mean by (1); the existing syscall audit support would never look at your fssid, just the ->sid, and only at syscall entry and exit. SELinux avc audit messages from permission checks would include the fssid's context if that was the basis of the check. For (2), you have to make up a SID. This differs from how NFS would use such a facility, since it could just use the client process' context (if that were available), but in this case you have no process credential that is exactly what you want to apply (not even the cache daemon's SID is precisely right). This goes back to the earlier discussion of security_transition_sid. But this requires policy configuration to make it work properly, and the absence of the necessary type transition and allow rules could yield a broken cache. This makes me doubtful about this approach for cachefiles (vs. NFS, where it makes more sense).
> diff --git a/include/linux/security.h b/include/linux/security.h s/fssid/subjsecid/ or similar. Likewise throughout.
> @@ -2837,7 +2841,7 @@ static int selinux_task_kill(struct task The task is the target of a check here, so you don't want to use the overriding SID for it. Otherwise, you may have a false denial or a false allow of the signal.
> @@ -2882,7 +2888,7 @@ static void selinux_task_to_inode(struct Here we are labeling a /proc/pid inode with the task SID, when it is created or revalidated, so you don't want to use the overriding SID here either. -- Stephen Smalley National Security Agency -- This message was distributed to subscribers of the selinux mailing 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.Received on Thu 2 Nov 2006 - 15:33:58 EST |
|
Date Posted: Jan 15, 2009 | Last Modified: Jan 15, 2009 | Last Reviewed: Jan 15, 2009 |