lkml.org 
[lkml]   [2009]   [Dec]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    SubjectRe: [PATCH] Security: Add prctl(PR_{GET,SET}_NETWORK) interface.
    Andi Kleen wrote:
    > On Wed, Dec 16, 2009 at 10:32:43AM -0500, Michael Stone wrote:
    >> Daniel Bernstein has observed [1] that security-conscious userland processes
    >> may benefit from the ability to irrevocably remove their ability to create,
    >> bind, connect to, or send messages except in the case of previously
    >> connected sockets or AF_UNIX filesystem sockets. We provide this facility by
    >> implementing support for a new prctl(PR_SET_NETWORK) flag named
    >> PR_NETWORK_OFF.
    >>
    >> This facility is particularly attractive to security platforms like OLPC
    >> Bitfrost [2] and to isolation programs like Rainbow [3] and Plash [4].
    >
    > What would stop them from ptracing someone else running under the same
    > uid who still has the network access?

    Just like in the (revised from last year) rlimits version, there's a hunk in
    the prctl_network semantics patch which disables networking-via-ptrace() like
    so:

    diff --git a/kernel/ptrace.c b/kernel/ptrace.c
    index 23bd09c..5b38db0 100644
    --- a/kernel/ptrace.c
    +++ b/kernel/ptrace.c
    @@ -151,6 +151,8 @@ int __ptrace_may_access(struct task_struct *task, unsigned int mode)
    dumpable = get_dumpable(task->mm);
    if (!dumpable && !capable(CAP_SYS_PTRACE))
    return -EPERM;
    + if (current->network)
    + return -EPERM;

    return security_ptrace_access_check(task, mode);
    }
    More questions?

    Regards, and thanks for your interest,

    Michael


    \
     
     \ /
      Last update: 2009-12-17 02:27    [W:0.021 / U:2.440 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site