All of lore.kernel.org
 help / color / mirror / Atom feed
From: Valdis.Kletnieks@vt.edu
To: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Cc: michael@laptop.org, linux-kernel@vger.kernel.org,
	netdev@vger.kernel.org, linux-security-module@vger.kernel.org,
	andi@firstfloor.org, david@lang.hm, socketcan@hartkopp.net,
	alan@lxorguk.ukuu.org.uk, herbert@gondor.apana.org.au,
	bdonlan@gmail.com, zbr@ioremap.net, cscott@cscott.net,
	jmorris@namei.org, ebiederm@xmission.com, bernie@codewiz.org,
	mrs@mythic-beasts.com, randy.dunlap@oracle.com,
	xiyou.wangcong@gmail.com, sam@synack.fr, casey@schaufler-ca.com,
	serue@us.ibm.com, pavel@ucw.cz
Subject: Re: RFC: disablenetwork facility. (v4)
Date: Sun, 27 Dec 2009 06:23:40 -0500	[thread overview]
Message-ID: <23459.1261913020@localhost> (raw)
In-Reply-To: Your message of "Sun, 27 Dec 2009 17:36:48 +0900." <200912271736.GDB17180.OFJHOOQStMFLVF@I-love.SAKURA.ne.jp>

[-- Attachment #1: Type: text/plain, Size: 1804 bytes --]

On Sun, 27 Dec 2009 17:36:48 +0900, Tetsuo Handa said:

> What about defining two types of masks, one is applied throughout the rest of
> the task_struct's lifetime (inheritable mask), the other is cleared when
> execve() succeeds (local mask)?

A mask of permitted syscalls. You've re-invented SECCOMP. ;)

> When an application is sure that "I know I don't need to call execve()" or

OK, you *might* know that. Or more likely you just *think* you know that - ever
had a library routine do an execve() call behind your back?).  Or glibc
decides to do a clone2() call behind your back instead of execve(),
except on ARM where it does either a clone_nommu47() or clone_backflip() :)

> "I know execve()d programs need not to call ...()"

Unless you've done a code review of the exec'ed program, you don't know.

The big problem is that it's *not* sufficient to just run an strace or two
of normal runs and proclaim "this is the set of syscalls I need" - you need
to check all the error paths in all the shared libraries too.  It's no fun
when a program errors out, tries to do a syslog() of the fact - and then
*that* errors out too, causing the program to go into an infinite loop trying
to report the previous syslog() call just failed...

> "I want execve()d programs not to call ...()", 

Congrats - you just re-invented the Sendmail capabilities bug. ;)

This stuff is harder than it looks, especially when you realize that
syscall-granularity is almost certainly not the right security model.

> Application writers know better what syscalls the application will call than
> application users.

But the application user will know better than the writer what *actual*
security constraints need to be applied.  "I don't care *what* syscalls the
program uses, it's not allowed to access resource XYZ".

[-- Attachment #2: Type: application/pgp-signature, Size: 227 bytes --]

  parent reply	other threads:[~2009-12-27 11:26 UTC|newest]

Thread overview: 278+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-12-27  1:04 RFC: disablenetwork facility. (v4) Michael Stone
2009-12-27  1:04 ` Michael Stone
2009-12-27  1:06 ` [PATCH 1/3] Security: Add disablenetwork interface. (v4) Michael Stone
2009-12-27  1:06   ` Michael Stone
2009-12-27  3:26   ` Serge E. Hallyn
2009-12-28 18:13     ` Serge E. Hallyn
2009-12-29  1:21       ` Michael Stone
2009-12-29  5:26         ` Serge E. Hallyn
2009-12-27  7:53   ` Pavel Machek
2009-12-29  1:25     ` Michael Stone
2009-12-29  1:25       ` Michael Stone
2009-12-30 10:09       ` Pavel Machek
2009-12-30 18:47   ` Serge E. Hallyn
2009-12-27  1:06 ` [PATCH 2/3] Security: Implement disablenetwork semantics. (v4) Michael Stone
2009-12-27  1:06   ` Michael Stone
2009-12-27  1:20   ` Tetsuo Handa
2009-12-30 18:50   ` Serge E. Hallyn
2010-01-01 14:31     ` Pavel Machek
2010-01-10 21:11       ` James Morris
2010-01-10 21:16         ` Pavel Machek
2010-01-10 21:44           ` James Morris
2010-01-10 21:54         ` Michael Stone
2010-01-10 21:54           ` Michael Stone
2010-01-10 21:58           ` Pavel Machek
2010-01-10 21:58             ` Pavel Machek
2010-01-10 22:40             ` Michael Stone
2010-01-10 22:40               ` Michael Stone
2010-01-11  1:07               ` Tetsuo Handa
2010-01-11  1:45                 ` Michael Stone
2010-01-11  1:45                   ` Michael Stone
2010-01-11 17:49                   ` Serge E. Hallyn
2010-01-11 17:49                     ` Serge E. Hallyn
2010-01-12  6:10                     ` Michael Stone
2010-01-12  6:10                       ` Michael Stone
2010-01-12 15:52                       ` Serge E. Hallyn
2010-01-12 15:52                         ` Serge E. Hallyn
2010-01-14  9:23                         ` Pavel Machek
2010-01-14  9:23                           ` Pavel Machek
2010-01-14 15:00                           ` Serge E. Hallyn
2010-01-14 15:00                             ` Serge E. Hallyn
2010-01-14 16:36                             ` Michael Stone
2010-01-14 16:36                               ` Michael Stone
2010-01-14 16:47                               ` Serge E. Hallyn
2010-01-14 16:47                                 ` Serge E. Hallyn
     [not found]                                 ` <20100114171309.GA6372@heat>
2010-01-14 17:36                                   ` Serge E. Hallyn
2010-01-14 17:36                                     ` Serge E. Hallyn
2010-01-15  8:10                                     ` disablenetwork (v5) patches Michael Stone
2010-01-15  8:10                                       ` Michael Stone
2010-01-15  8:12                                       ` disablenetwork (v5): Remove a TOCTTOU race by passing flags by value Michael Stone
2010-01-15  8:12                                         ` Michael Stone
2010-01-15  8:12                                       ` disablenetwork (v5): Simplify the disablenetwork sendmsg hook Michael Stone
2010-01-15  8:12                                         ` Michael Stone
2010-01-15  8:13                                       ` disablenetwork (v5): Require CAP_SETPCAP to enable disablenetwork Michael Stone
2010-01-15  8:13                                         ` Michael Stone
2010-01-17  2:58                                         ` Andrew G. Morgan
2010-01-17  2:58                                           ` Andrew G. Morgan
     [not found]                                           ` <20100117044825.GA2712@heat>
2010-01-17  4:58                                             ` disablenetwork (v5): Require CAP_SETPCAP to enable Andrew G. Morgan
2010-01-17  4:58                                               ` Andrew G. Morgan
2010-01-18 19:30                                               ` Serge E. Hallyn
2010-01-18 19:30                                                 ` Serge E. Hallyn
2010-01-15  8:13                                       ` disablenetwork (v5): Update documentation for PR_NETWORK_ENABLE_DN Michael Stone
2010-01-15  8:13                                         ` Michael Stone
2010-01-17  6:01                                       ` disablenetwork (v5) patches Kyle Moffett
2010-01-17  6:01                                         ` Kyle Moffett
2010-01-17  6:01                                         ` Kyle Moffett
     [not found]                                         ` <20100117180728.GA2848@heat>
2010-01-17 21:17                                           ` Kyle Moffett
2010-01-17 21:17                                             ` Kyle Moffett
2010-01-12 18:30                     ` [PATCH 2/3] Security: Implement disablenetwork semantics. (v4) David Wagner
2010-01-13 20:23                       ` Pavel Machek
2010-01-11  1:46                 ` Casey Schaufler
2010-01-12  3:19                   ` Valdis.Kletnieks
2010-01-12  4:01                     ` Casey Schaufler
2010-01-11 12:01               ` Pavel Machek
2010-01-11  1:29             ` David Wagner
2010-01-11 13:39               ` Simon Horman
2010-01-12  2:54             ` Valdis.Kletnieks
2010-01-12  7:59               ` Pavel Machek
2010-01-12 14:28                 ` Valdis.Kletnieks
2010-01-14  9:22                   ` Pavel Machek
2010-01-14 14:30                     ` David Wagner
2010-01-18 12:54                     ` Valdis.Kletnieks
2010-01-18 15:56                       ` Andrew G. Morgan
2010-01-18 15:56                         ` Andrew G. Morgan
2010-01-10 22:18           ` Kyle Moffett
2010-01-10 22:18             ` Kyle Moffett
2010-01-10 23:08             ` Michael Stone
2010-01-10 23:08               ` Michael Stone
2010-01-10 23:41               ` Bryan Donlan
2010-01-10 23:41                 ` Bryan Donlan
2010-01-11  1:50                 ` Casey Schaufler
2010-01-11  1:50                   ` Casey Schaufler
2010-01-11  2:15                   ` Bryan Donlan
2010-01-11  2:15                     ` Bryan Donlan
2010-01-11 11:53                     ` Pavel Machek
2010-01-11 11:53                       ` Pavel Machek
2010-01-11  1:41             ` David Wagner
2010-01-10 22:58           ` James Morris
2010-01-11  1:21           ` David Wagner
2009-12-27  1:07 ` [PATCH 3/3] Security: Document disablenetwork. (v4) Michael Stone
2009-12-27  1:07   ` Michael Stone
2009-12-27  1:39   ` Tetsuo Handa
2009-12-27 16:25     ` Michael Stone
2009-12-27  8:36 ` RFC: disablenetwork facility. (v4) Tetsuo Handa
2009-12-27  8:38   ` Pavel Machek
2009-12-27 11:49     ` Tetsuo Handa
2009-12-27 12:18       ` Al Viro
2009-12-27 15:03       ` Serge E. Hallyn
2009-12-27 15:47         ` Michael Stone
2009-12-27 16:12           ` Serge E. Hallyn
2009-12-27 16:36             ` Michael Stone
2009-12-27 18:06               ` Pavel Machek
2009-12-27 19:08         ` Pavel Machek
2009-12-28  6:07           ` Michael Stone
2009-12-28  6:07             ` Michael Stone
2009-12-28 10:10             ` Pavel Machek
2009-12-28 14:37               ` Valdis.Kletnieks
2009-12-28 20:55                 ` Pavel Machek
2009-12-28 21:28                   ` Valdis.Kletnieks
2009-12-28 21:33                   ` Bryan Donlan
2009-12-28 21:33                     ` Bryan Donlan
2009-12-29  6:08                     ` Serge E. Hallyn
2010-01-01 15:06                     ` Pavel Machek
2009-12-28 16:31               ` Michael Stone
2009-12-28 16:31                 ` Michael Stone
2009-12-28 21:08                 ` Pavel Machek
2009-12-28 21:24                 ` Valdis.Kletnieks
2009-12-28 22:10                   ` David Wagner
2009-12-28 23:54                     ` Valdis.Kletnieks
2009-12-29  0:42                       ` David Wagner
2009-12-29  1:39                         ` Valdis.Kletnieks
2010-01-01 15:55                     ` Pavel Machek
2009-12-28 18:13           ` Serge E. Hallyn
2009-12-29  5:01             ` Michael Stone
2009-12-29  5:01               ` Michael Stone
2009-12-29  5:56               ` Serge E. Hallyn
2009-12-29 16:31                 ` Michael Stone
2009-12-29 16:31                   ` Michael Stone
2009-12-29 11:06               ` Eric W. Biederman
2009-12-29 15:11                 ` Serge E. Hallyn
2009-12-29 16:05                   ` Bryan Donlan
2009-12-29 16:39                     ` Serge E. Hallyn
2009-12-29 16:39                       ` Serge E. Hallyn
2009-12-29 17:01                       ` Bryan Donlan
2009-12-29 17:01                         ` Bryan Donlan
2009-12-29 18:36                         ` Eric W. Biederman
2009-12-29 18:36                           ` Eric W. Biederman
2009-12-29 19:08                           ` Bryan Donlan
2009-12-29 20:56                             ` Eric W. Biederman
2009-12-29 21:27                             ` Serge E. Hallyn
2009-12-29 21:27                               ` Serge E. Hallyn
2009-12-29 21:46                               ` Valdis.Kletnieks
2009-12-29 22:16                                 ` Serge E. Hallyn
2009-12-29 20:10                     ` Benny Amorsen
2009-12-29 20:10                       ` Benny Amorsen
2009-12-29 20:40                       ` Eric W. Biederman
2009-12-29 20:40                         ` Eric W. Biederman
2009-12-29 20:43                         ` Bryan Donlan
2009-12-29 20:43                           ` Bryan Donlan
2009-12-29 21:11                         ` Alan Cox
2009-12-29 21:11                           ` Alan Cox
2009-12-29 21:14                           ` Bryan Donlan
2009-12-29 21:14                             ` Bryan Donlan
2009-12-29 21:35                             ` Alan Cox
2009-12-29 21:35                               ` Alan Cox
2009-12-29 21:29                           ` Eric W. Biederman
2009-12-29 21:29                             ` Eric W. Biederman
2009-12-29 22:36                             ` Serge E. Hallyn
2009-12-29 22:36                               ` Serge E. Hallyn
2009-12-30  3:26                               ` Eric W. Biederman
2009-12-30  3:26                                 ` Eric W. Biederman
2009-12-30  3:50                                 ` Serge E. Hallyn
2009-12-30  3:50                                   ` Serge E. Hallyn
2009-12-30  4:29                                   ` Eric W. Biederman
2009-12-30  4:29                                     ` Eric W. Biederman
2009-12-30 18:00                                     ` Serge E. Hallyn
2009-12-30 18:00                                       ` Serge E. Hallyn
2009-12-30 21:12                                       ` Eric W. Biederman
2009-12-30 21:12                                         ` Eric W. Biederman
2009-12-30  3:35                               ` [RFC][PATCH] Unprivileged: Disable acquisition of privileges Eric W. Biederman
2009-12-30  3:35                                 ` Eric W. Biederman
2009-12-30  3:54                                 ` Bryan Donlan
2009-12-30  3:54                                   ` Bryan Donlan
2009-12-30  4:33                                   ` Eric W. Biederman
2009-12-30  4:33                                     ` Eric W. Biederman
2009-12-30  4:57                                     ` Bryan Donlan
2009-12-30  4:57                                       ` Bryan Donlan
2009-12-30 12:47                                       ` Eric W. Biederman
2009-12-30 12:47                                         ` Eric W. Biederman
2009-12-30 12:49                                       ` [RFC][PATCH v2] Unprivileged: Disable raising " Eric W. Biederman
2009-12-30 12:49                                         ` Eric W. Biederman
2009-12-30 14:52                                         ` Andrew G. Morgan
2009-12-30 14:52                                           ` Andrew G. Morgan
2009-12-30 18:35                                           ` Serge E. Hallyn
2009-12-30 18:35                                             ` Serge E. Hallyn
2009-12-30 20:07                                             ` Eric W. Biederman
2009-12-30 20:07                                               ` Eric W. Biederman
2009-12-30 20:17                                               ` Serge E. Hallyn
2009-12-30 20:17                                                 ` Serge E. Hallyn
2009-12-30 21:15                                                 ` [RFC][PATCH v3] " Eric W. Biederman
2009-12-30 21:15                                                   ` Eric W. Biederman
2009-12-30 21:29                                                   ` Alan Cox
2009-12-30 21:29                                                     ` Alan Cox
2009-12-30 21:36                                                     ` Eric W. Biederman
2009-12-30 21:36                                                       ` Eric W. Biederman
2009-12-30 23:00                                                       ` Alan Cox
2009-12-30 23:00                                                         ` Alan Cox
2009-12-31  2:44                                                         ` Bryan Donlan
2009-12-31  2:44                                                           ` Bryan Donlan
2009-12-31 17:33                                                           ` Alan Cox
2009-12-31 17:33                                                             ` Alan Cox
2009-12-31 17:52                                                             ` David Wagner
2009-12-31 17:52                                                             ` Serge E. Hallyn
2009-12-31 17:52                                                               ` Serge E. Hallyn
2009-12-31 18:20                                                               ` Andrew G. Morgan
2009-12-31 18:20                                                                 ` Andrew G. Morgan
2009-12-31 18:32                                                                 ` Eric W. Biederman
2009-12-31 18:32                                                                   ` Eric W. Biederman
2010-01-01 14:43                                                                   ` Alan Cox
2010-01-01 14:43                                                                     ` Alan Cox
2010-01-01 14:53                                                                     ` Pavel Machek
2010-01-01 14:53                                                                       ` Pavel Machek
2010-01-01 16:26                                                                     ` Eric W. Biederman
2010-01-01 16:26                                                                       ` Eric W. Biederman
2010-01-01 21:35                                                                       ` Casey Schaufler
2010-01-01 21:35                                                                         ` Casey Schaufler
2010-01-01 22:39                                                                         ` Alan Cox
2010-01-01 22:39                                                                           ` Alan Cox
2010-01-01 23:18                                                                           ` Casey Schaufler
2010-01-01 23:18                                                                             ` Casey Schaufler
2010-01-02  0:42                                                                           ` Peter Dolding
2010-01-02  0:42                                                                             ` Peter Dolding
     [not found]                                                                             ` <4B3FB0FC.3030809@schaufler-ca.com>
2010-01-03  1:43                                                                               ` Peter Dolding
2010-01-03  1:43                                                                                 ` Peter Dolding
2009-12-31 18:41                                                                 ` Eric W. Biederman
2009-12-31 18:41                                                                   ` Eric W. Biederman
2009-12-31 21:46                                                                   ` Serge E. Hallyn
2009-12-31 21:46                                                                     ` Serge E. Hallyn
2010-01-01 21:17                                                                   ` Andrew G. Morgan
2010-01-01 21:17                                                                     ` Andrew G. Morgan
2010-01-01 14:57                                                               ` Alan Cox
2010-01-01 14:57                                                                 ` Alan Cox
2009-12-31  8:57                                                         ` Eric W. Biederman
2009-12-31  8:57                                                           ` Eric W. Biederman
2009-12-31 13:00                                                         ` Samir Bellabes
2009-12-31 13:00                                                           ` Samir Bellabes
2009-12-31 14:08                                                           ` Peter Dolding
2009-12-31 14:08                                                             ` Peter Dolding
2009-12-31 17:06                                                             ` Alan Cox
2009-12-31 17:06                                                               ` Alan Cox
2009-12-31 17:55                                                               ` David Wagner
2010-01-01 14:46                                                                 ` Alan Cox
2010-01-02  6:23                                                                   ` David Wagner
2010-01-02 13:55                                                                     ` Alan Cox
2010-01-04  0:55                                                                       ` David Wagner
2010-01-01  0:12                                                               ` Peter Dolding
2010-01-01  0:12                                                                 ` Peter Dolding
2010-01-01 10:28                                                     ` Pavel Machek
2010-01-01 10:28                                                       ` Pavel Machek
2009-12-31 15:25                                                   ` Serge E. Hallyn
2009-12-31 15:25                                                     ` Serge E. Hallyn
2009-12-31 16:48                                                     ` Eric W. Biederman
2009-12-31 16:48                                                       ` Eric W. Biederman
2009-12-30 18:29                                         ` [RFC][PATCH v2] " Serge E. Hallyn
2009-12-30 18:29                                           ` Serge E. Hallyn
2009-12-30 20:45                                           ` Eric W. Biederman
2009-12-30 20:45                                             ` Eric W. Biederman
2009-12-29 18:03                   ` RFC: disablenetwork facility. (v4) Eric W. Biederman
2009-12-29 16:06                 ` Michael Stone
2009-12-29 16:06                   ` Michael Stone
2009-12-30  7:24                 ` David Wagner
2009-12-30 16:26                   ` Valdis.Kletnieks
2010-01-01 11:41                   ` Eric W. Biederman
2010-01-02  6:28                     ` David Wagner
2010-01-01 15:11               ` Pavel Machek
2009-12-27  8:51   ` Al Viro
2009-12-27 11:23   ` Valdis.Kletnieks [this message]
2009-12-27 12:45   ` Andi Kleen
2009-12-27 15:55   ` Michael Stone

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=23459.1261913020@localhost \
    --to=valdis.kletnieks@vt.edu \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=andi@firstfloor.org \
    --cc=bdonlan@gmail.com \
    --cc=bernie@codewiz.org \
    --cc=casey@schaufler-ca.com \
    --cc=cscott@cscott.net \
    --cc=david@lang.hm \
    --cc=ebiederm@xmission.com \
    --cc=herbert@gondor.apana.org.au \
    --cc=jmorris@namei.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-security-module@vger.kernel.org \
    --cc=michael@laptop.org \
    --cc=mrs@mythic-beasts.com \
    --cc=netdev@vger.kernel.org \
    --cc=pavel@ucw.cz \
    --cc=penguin-kernel@I-love.SAKURA.ne.jp \
    --cc=randy.dunlap@oracle.com \
    --cc=sam@synack.fr \
    --cc=serue@us.ibm.com \
    --cc=socketcan@hartkopp.net \
    --cc=xiyou.wangcong@gmail.com \
    --cc=zbr@ioremap.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.