linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v9 0/2] security: Yama LSM
@ 2011-12-19 22:17 Kees Cook
  2011-12-19 22:17 ` [PATCH 1/2] security: create task_free security callback Kees Cook
  2011-12-19 22:17 ` [PATCH 2/2] security: Yama LSM Kees Cook
  0 siblings, 2 replies; 9+ messages in thread
From: Kees Cook @ 2011-12-19 22:17 UTC (permalink / raw)
  To: linux-kernel
  Cc: linux-security-module, Roland McGrath, James Morris,
	kernel-hardening

As discussed at the Linux Security Summit, I'm resubmitting this
code. As an LSM, it has coherent policy around expanding specific DAC
behaviors. There is no need for it to be a full-blown MAC, since it is
not intended to be one, but rather to be a simplified expansion to DAC,
with system-wide knobs. See the specific patches for details...

This version only contains the ptrace restrictions, since a path has
been cleared for that (thanks Roland). The link restriction discussion
can continue separately. In the meantime, I will carry it as a patch here:
http://git.kernel.org/?p=linux/kernel/git/kees/linux.git;a=shortlog;h=refs/heads/yama

Thanks,

-Kees


^ permalink raw reply	[flat|nested] 9+ messages in thread
* [PATCH v10 0/2] security: Yama LSM
@ 2011-12-21 20:17 Kees Cook
  2011-12-21 20:17 ` [PATCH 1/2] security: create task_free security callback Kees Cook
  0 siblings, 1 reply; 9+ messages in thread
From: Kees Cook @ 2011-12-21 20:17 UTC (permalink / raw)
  To: linux-kernel
  Cc: linux-security-module, John Johansen, Roland McGrath,
	James Morris, kernel-hardening

As discussed at the Linux Security Summit, I'm resubmitting this
code. As an LSM, it has coherent policy around expanding specific DAC
behaviors. There is no need for it to be a full-blown MAC, since it is
not intended to be one, but rather to be a simplified expansion to DAC,
with system-wide knobs. See the specific patches for details...

This version only contains the ptrace restrictions, since a path has
been cleared for that (thanks Roland). The link restriction discussion
can continue separately. In the meantime, I will carry it as a patch here:
http://git.kernel.org/?p=linux/kernel/git/kees/linux.git;a=shortlog;h=refs/heads/yama

Thanks,

-Kees


^ permalink raw reply	[flat|nested] 9+ messages in thread
* [PATCH v8 0/2] security: Yama LSM
@ 2011-12-16  6:33 Kees Cook
  2011-12-16  6:33 ` [PATCH 1/2] security: create task_free security callback Kees Cook
  0 siblings, 1 reply; 9+ messages in thread
From: Kees Cook @ 2011-12-16  6:33 UTC (permalink / raw)
  To: linux-kernel
  Cc: linux-security-module, Roland McGrath, James Morris,
	kernel-hardening

As discussed at the Linux Security Summit, I'm resubmitting this
code. As an LSM, it has coherent policy around expanding specific DAC
behaviors. There is no need for it to be a full-blown MAC, since it is
not intended to be one, but rather to be a simplified expansion to DAC,
with system-wide knobs. See the specific patches for details...

This version only contains the ptrace restrictions, since a path has
been cleared for that (thanks Roland). The link restriction discussion
can continue separately. In the meantime, I will carry it as a patch here:
http://git.kernel.org/?p=linux/kernel/git/kees/linux.git;a=shortlog;h=refs/heads/yama

Thanks,

-Kees


^ permalink raw reply	[flat|nested] 9+ messages in thread
* [PATCH v7 0/2] security: Yama LSM
@ 2011-11-30 23:01 Kees Cook
  2011-11-30 23:01 ` [PATCH 1/2] security: create task_free security callback Kees Cook
  0 siblings, 1 reply; 9+ messages in thread
From: Kees Cook @ 2011-11-30 23:01 UTC (permalink / raw)
  To: linux-kernel
  Cc: linux-security-module, Roland McGrath, James Morris,
	kernel-hardening

As discussed at the Linux Security Summit, I'm resubmitting this
code. As an LSM, it has coherent policy around expanding specific DAC
behaviors. There is no need for it to be a full-blown MAC, since it is
not intended to be one, but rather to be a simplified expansion to DAC,
with system-wide knobs. See the specific patches for details...

This version only contains the ptrace restrictions, since a path has
been cleared for that (thanks Roland). The link restriction discussion
can continue separately. In the meantime, I will carry it as a patch here:
http://git.kernel.org/?p=linux/kernel/git/kees/linux.git;a=shortlog;h=refs/heads/yama

Thanks,

-Kees


^ permalink raw reply	[flat|nested] 9+ messages in thread
* [PATCH 0/2] Yama: add PTRACE exception tracking
@ 2010-06-30  0:38 Kees Cook
  2010-06-30  0:39 ` [PATCH 1/2] security: create task_free security callback Kees Cook
  0 siblings, 1 reply; 9+ messages in thread
From: Kees Cook @ 2010-06-30  0:38 UTC (permalink / raw)
  To: linux-security-module; +Cc: linux-kernel

The primary exception to Yama's descendant-based PTRACE restrictions
is when an application has a predefined crash handler that is spawned
in parallel with the crashed application (e.g. KDE, Chromium).  These
applications want to bypass the common RLIMIT_CORE=0, and gather state
information from the process for upstream problem reporting.  When the
main application crashes, it generally has access to the PID of what
will debug it (e.g. when a KDE app crashes, it knows the parent PID of
the debugger that will be spawned).

So, since this programmatic method of PTRACEing is useful, there should be
a way for processes to actively declare who can PTRACE them.  This patch
adds a prctl hook for Yama so that processes can exempt themselves from
the PTRACE restrictions in the case of a crash when they know their
debugger's PID.

As a matter of demonstration, here is what the patch to KDE4 would look
like to support Yama, or other PTRACE-restricting LSMs that wanted to grant
a similar exception:

--- kde4libs-4.4.90.orig/kdeui/util/kcrash.cpp	2010-06-28 17:07:28.667869954 -0700
+++ kde4libs-4.4.90/kdeui/util/kcrash.cpp	2010-06-28 17:09:32.089958401 -0700
@@ -41,6 +41,7 @@
 #include <sys/wait.h>
 #include <sys/un.h>
 #include <sys/socket.h>
+#include <sys/prctl.h>
 #include <errno.h>
 
 #include <qwindowdefs.h>
@@ -437,6 +438,7 @@
             //if the process was started directly, use waitpid(), as it's a child...
             while(waitpid(-1, NULL, 0) != pid) {}
         } else {
+            prctl(PR_SET_PTRACER, pid, 0, 0, 0);
             //...else poll its status using kill()
             while(kill(pid, 0) >= 0) {
                 sleep(1);


-- 
Kees Cook
Ubuntu Security Team

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2011-12-21 20:22 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-12-19 22:17 [PATCH v9 0/2] security: Yama LSM Kees Cook
2011-12-19 22:17 ` [PATCH 1/2] security: create task_free security callback Kees Cook
2011-12-19 22:17 ` [PATCH 2/2] security: Yama LSM Kees Cook
2011-12-21  5:25   ` [kernel-hardening] " John Johansen
2011-12-21 20:18     ` Kees Cook
  -- strict thread matches above, loose matches on Subject: below --
2011-12-21 20:17 [PATCH v10 0/2] " Kees Cook
2011-12-21 20:17 ` [PATCH 1/2] security: create task_free security callback Kees Cook
2011-12-16  6:33 [PATCH v8 0/2] security: Yama LSM Kees Cook
2011-12-16  6:33 ` [PATCH 1/2] security: create task_free security callback Kees Cook
2011-11-30 23:01 [PATCH v7 0/2] security: Yama LSM Kees Cook
2011-11-30 23:01 ` [PATCH 1/2] security: create task_free security callback Kees Cook
2010-06-30  0:38 [PATCH 0/2] Yama: add PTRACE exception tracking Kees Cook
2010-06-30  0:39 ` [PATCH 1/2] security: create task_free security callback Kees Cook

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).