[Apparmor-dev] Re: AppArmor Security Goal
John Johansen
jjohansen at suse.de
Sat Nov 10 20:36:34 MST 2007
On Sat, Nov 10, 2007 at 01:28:25PM -0800, david at lang.hm wrote:
> On Sat, 10 Nov 2007, Andi Kleen wrote:
>
>> Crispin Cowan <crispin at crispincowan.com> writes:
>>
>> The document should be a good base for a merge.
>>
>>> * A confined process can operate on a file descriptor passed to it
>>> by an unconfined process, even if it manipulates a file not in the
>>> confined process's profile. To block this attack, confine the
>>> process that passed the file descriptor.
>>
>> That is the only thing that tripped me up a bit while reading the
>> document.
>> Can you expand a bit on the reasons why the fd is not rechecked in
>> the context of the target process? Best do it in a new version of the
>> document.
>
> from prior discussions I understand that the problem is that it's not easy
> (or nessasarily possible) to figure out the path to the fd, so what do you
> check?
>
> if the file has been removed there _is_ no path to the fd.
>
> with hard links there could be many paths to the fd, the only way to find
> them would be to search the entire filesystem.
>
> as a result App Armor has decided not to try and address this, but is
> documenting it as a limitation.
>
Actually no. The unconfined fd being passed in is explicitly different
than and fd being passed between two confined processes. In the
unconfined parent passing an fd into a confined child the fd isn't
reevaluated. In the case of confined parent to confined child the
the struct file is reevaluated.
As to the implementation issue of revalidation. The path name to file can
be found as struct file stores both the vfsmnt and dentry. With that said
there are a couple cases where the pathname can't be found.
- the file has been deleted
- the path has become disconnected.
In short under file revalidation deleted file are given a pass and
disconnected files fail.
For a more in depth explanation look at
http://forgeftp.novell.com//apparmor/LKML_Submission-Oct-07/techdoc.pdf
regards
john
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 194 bytes
Desc: not available
Url : http://forge.novell.com/pipermail/apparmor-dev/attachments/20071110/f06bca76/attachment.pgp
More information about the Apparmor-dev
mailing list