Re: Detail description of some projects in TO DO list page

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 03/11/2014 11:09 PM, nguyen thai wrote:
> Until now, any processes with root privilege can change cgroup settings.
> Others cannot. Definitely we can grant more permissions for processes in a
> cgroup to edit its subgroup. But I think there will be a problem.
> 
> Cause there are many processes in a cgroup, so maybe more than one want to
> edit the same subgroup. Or Change a subgroup settings will definitely
> affect the other subgroups which an other process want to control. That
> will cause a conflict. Or a malware or bad-behavior program can limit other
> subgroup so it can get more resource.
> 
> To solve this problem, we need an arbitrator. And is Selinux too low level
> to take this role?
> 
I don't think so.  If I had a container running as svirt_lxc_net_t:s0:c1,c2
and had labels on my cgroup subgroup as svirt_sandbox_file_t:s0:c1:c2 I could
allow it to write and prevent it from attacking a different container cgroup
that was labeled as svirt_sandbox_file_t:s0:c3,c4


> On Tue, Mar 11, 2014 at 8:00 PM, Daniel J Walsh <dwalsh@xxxxxxxxxx> wrote: 
> On 03/10/2014 05:45 PM, Paul Moore wrote:
>>>> On Monday, March 10, 2014 02:31:29 PM nguyen thai wrote:
>>>>> On Wed, Feb 12, 2014 at 9:17 PM, Stephen Smalley
>>>>> <sds@xxxxxxxxxxxxx> wrote:
>>>>>> On 02/11/2014 09:24 PM, nguyen thai wrote:
>>>>>>> Hi everyone,
>>>>>>> 
>>>>>>> I have started my study in SELinux recently. I found some
>>>>>>> projects in TO DO list page were really interesting. Can anyone
>>>>>>> give me more details (what's problem now? it's effects or
>>>>>>> drawbacks) of one of following projects or any other projects
>>>>>>> that i can start to work on?
>>>>>>> 
>>>>>>> - Investigate security policy for cgroups - CIFS support for 
>>>>>>> single-context clients - Real device labeling and access
>>>>>>> control
>>>>>>> 
>>>>>>> Thank you very much.
>>>>>> 
>>>>>> That TODO list is old and not actively maintained, so it may be
>>>>>> better to look at recent mailing list archives to see areas where
>>>>>> you can contribute most effectively.  Also look for recent
>>>>>> discussions of selinux in the linux-security-module and
>>>>>> linux-kernel mailing list archives.
>>>>>> 
>>>>>> On the cgroup item, it should be possible to support
>>>>>> finer-grained labeling of cgroup files now that cgroup supports
>>>>>> xattrs, but it will require a small kernel change (similar to the
>>>>>> changes previously made for sysfs and rootfs; need to generalize
>>>>>> that), and thereby enabling policy control over specific cgroup
>>>>>> files.  There may also be work required inside the cgroup code to
>>>>>> add security hooks and permission checks for MAC; that would
>>>>>> require analysis of the cgroup implementation, existing DAC
>>>>>> checks, ways in which they can permit different security labels
>>>>>> to interact/interfere with each other, etc.
>>>>> 
>>>>> Hi, I have spent several weeks on digging into cgroup code and its 
>>>>> problems. As i understand, there are several reasons why you want
>>>>> to enable MAC checks over specific cgroup file:
>>>>> 
>>>>> + The cgroup interface is filesystem, means that users can change 
>>>>> permissions on subdirectories and give access to a non-privileged 
>>>>> security domain, ie non-root users. Leading to an individual
>>>>> application can interact directly with the cgroup filesystem. It
>>>>> ends up exposing control knobs which are tightly coupled to kernel
>>>>> implementation details right into lay binaries and scripts directly
>>>>> used by end users.
>>>>> 
>>>>> + The cgroups trees are a shared resource. Many applications can
>>>>> use it simultaneously. So they can conflicts with others. Ex, move
>>>>> tasks, delete or move the cgroups that belong to  other
>>>>> applications.
>>>>> 
>>>>> MAC check can improve some of the cgroup problems. But I've heard
>>>>> that cgroup and systemd developers have been making really big
>>>>> changes to fix these cgroup problems. As they described here 
>>>>> http://lists.freedesktop.org/archives/systemd-devel/2013-June/011521.html
>>>>>
>>>>>
>
>>>>> 
or http://www.freedesktop.org/wiki/Software/systemd/ControlGroupInterface/
>>>>> They are creating a centralized userland authority which takes
>>>>> full ownership of the cgroup filesystem interface, and makes policy
>>>>> decisions based on configuration and requests. This may solve above
>>>>> problems.
>>>>> 
>>>>> So does implementing MAC checks on cgroup can is needed anymore?
>>>>> Can it help improving some other problems? I'm getting stuck
>>>>> finding something to do here.
>>>> 
>>>> I think it might make sense to first look at what you are hoping to 
>>>> accomplish, not in terms of code/hooks/etc., but rather high-level
>>>> access controls.  Try not to focus on the implementation to start,
>>>> for example:
>>>> 
>>>> * What can one do with cgroups, how are they managed?  Of all the
>>>> different configuration/management operations, which are significant
>>>> from a security perspective?
>>>> 
>>>> * For each of these operations, what is the SELinux subject and
>>>> object? What would the security policy look like?  Does it make
>>>> sense?
>>>> 
>>>> .. and go from there.
>>>> 
> 
> I would see a possible security goal, would be with containers.  Could I
> run a container within a group of cgroups and allow the processes within
> the cgroup to further limit the cgroups.
> 
> IE If I run a container with a max of 2Gig or memory, could a process
> within the container, further limit a child process to 1Gig of memory, and
> not allow a process within the container to setup a cgroup with > 2Gig of
> memory.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iEYEARECAAYFAlMgUJ0ACgkQrlYvE4MpobNbZwCgs+z3l/hRjlGIuiS2v6DxeLVV
oXoAoKDkZeWgNS/bQ1yUiBZBPDJomWAQ
=vqOF
-----END PGP SIGNATURE-----
_______________________________________________
Selinux mailing list
Selinux@xxxxxxxxxxxxx
To unsubscribe, send email to Selinux-leave@xxxxxxxxxxxxx.
To get help, send an email containing "help" to Selinux-request@xxxxxxxxxxxxx.




[Index of Archives]     [Selinux Refpolicy]     [Linux SGX]     [Fedora Users]     [Fedora Desktop]     [Yosemite Photos]     [Yosemite Camping]     [Yosemite Campsites]     [KDE Users]     [Gnome Users]

  Powered by Linux