Re: [PATCH RFC] Allow introspection to already attached ptracer in __ptrace_may_access
From: Oleg Nesterov
Date: Thu Jan 08 2015 - 14:20:22 EST
On 01/08, Stijn Volckaert wrote:
>
> From that point onwards, the debugger can no longer perform any
> operations that go through __ptrace_may_access. These include
> process_vm_{read,write}v but also PTRACE_{POKE,PEEK}{TEXT,DATA}.
PTRACE_POKE/PEEK should work? not that this really matters...
> I don't see
> how Yama can possibly tell that tracee B and the debugger are still related
> at this point so I see no easy fix for this.
Well, perhaps yama can also have PR_SET_PTRACEE, I dunno.
> Patching __ptrace_may_access
> might indeed not be a good idea as it is used to check for credentials to
> perform a bunch of other non-ptrace operations throughout the kernel.
Just add the "ptrace_parent(task) == current" check into
ptracer_exception_found() ?
> The possible solutions that I can see right now are:
> 1) Adding some sort of original_parent field to task_struct, just for the
> sake of relationship tracking
And what should we do with this pointer if original_parent exits?
> 2) Changing the credentials check in process_vm_{read,write}v only so that
> you don't go all the way into __ptrace_may_access if you're already attached
> as a ptracer
This really doesn't look good, imo.
Oleg.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/