All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFC 0/9] snet: Security for NETwork syscalls
@ 2010-01-02 13:04 Samir Bellabes
  2010-01-02 13:04 ` [RFC 1/9] lsm: add security_socket_closed() Samir Bellabes
                   ` (9 more replies)
  0 siblings, 10 replies; 61+ messages in thread
From: Samir Bellabes @ 2010-01-02 13:04 UTC (permalink / raw)
  To: linux-security-module
  Cc: Patrick McHardy, jamal, Evgeniy Polyakov, Neil Horman, netdev,
	netfilter-devel, Samir Bellabes

Hello lsm and netdev people,
I would like to submit as a RFC this linux security module.

snet provides a mecanism to defer syscall security hooks and decision (verdict)
to userspace.

I believe that snet will help to get over the classical configuration
complexity of others security modules, by providing interactivity to users.
I also think that monolithic strategy is broken with snet, as we can provide
security for others syscall's categories:
 - sfs  : security for filesystem,
 - stask: security for task,
 - smem : security for memory,

In this way, and by putting abstraction on how this subsystems can talk to each
others, we may use the security combinaison we want: choose to run sfs,
stask, but not snet nor smem. Better, developpers may investigated how to build
another security subsystem for tasks, and use others existing (smem, snet..)
which they don't want to modify

I think that interactivity is very usefull for users, as they may be notify when
something is wrong and take decision, and from userspace, the decision may be
defered to another box. In this way, snet also have a advantage for mobile
devices as the policy decision will be push to a distant server, mobile device
will then wait for verdicts and as policy strategies are centralized.

snet has some subsystems :
 - core to init and exit the system
 - kernel/user communications (genetlink)
 - hashtable for events and verdict, and managing functions.
 - LSM hooks, classical security operations

Finally, and a important point: snet integration respects the LSM framework idea
of using LSM hooks

roadmap:
 * Building a cache for each task_struct using pointer (void*) security
   use the pointer (void*) security related to task_security to provides a
   verdict cache: if two identical requests are coming, ask the user for the
   first one, store the result in the cached and for the second request, just
   look in the cache
 * send data buffer of recvmsg and sendmsg to userspace
   this may provide a way to look inside the data (as a anti-virus do)
 * adding other security systems
   we can think about adding fork(), exec(), open(), close()..
   
I'm Ccing netfilter-devel, as snet may be see as a way to do filtering.

Samir Bellabes (9):
  lsm: add security_socket_closed()
  Revert "lsm: Remove the socket_post_accept() hook"
  snet: introduce security/snet, Makefile and Kconfig changes
  snet: introduce snet_core.c and snet.h
  snet: introduce snet_event.c and snet_event.h
  snet: introduce snet_hooks.c and snet_hook.h
  snet: introduce snet_netlink.c and snet_netlink.h
  snet: introduce snet_verdict.c and snet_verdict.h
  snet: introduce snet_utils.c and snet_utils.h

 include/linux/security.h             |   23 ++
 net/socket.c                         |    3 +
 security/Kconfig                     |    1 +
 security/Makefile                    |    2 +
 security/capability.c                |   10 +
 security/security.c                  |   10 +
 security/snet/Kconfig                |   22 ++
 security/snet/Makefile               |   13 +
 security/snet/include/snet.h         |   29 ++
 security/snet/include/snet_event.h   |   20 +
 security/snet/include/snet_hooks.h   |   28 ++
 security/snet/include/snet_netlink.h |  201 ++++++++++
 security/snet/include/snet_utils.h   |    9 +
 security/snet/include/snet_verdict.h |   33 ++
 security/snet/snet_core.c            |   77 ++++
 security/snet/snet_event.c           |  229 +++++++++++
 security/snet/snet_hooks.c           |  686 ++++++++++++++++++++++++++++++++++
 security/snet/snet_netlink.c         |  541 +++++++++++++++++++++++++++
 security/snet/snet_utils.c           |   40 ++
 security/snet/snet_verdict.c         |  210 +++++++++++
 20 files changed, 2187 insertions(+), 0 deletions(-)
 create mode 100644 security/snet/Kconfig
 create mode 100644 security/snet/Makefile
 create mode 100644 security/snet/include/snet.h
 create mode 100644 security/snet/include/snet_event.h
 create mode 100644 security/snet/include/snet_hooks.h
 create mode 100644 security/snet/include/snet_netlink.h
 create mode 100644 security/snet/include/snet_utils.h
 create mode 100644 security/snet/include/snet_verdict.h
 create mode 100644 security/snet/snet_core.c
 create mode 100644 security/snet/snet_event.c
 create mode 100644 security/snet/snet_hooks.c
 create mode 100644 security/snet/snet_netlink.c
 create mode 100644 security/snet/snet_utils.c
 create mode 100644 security/snet/snet_verdict.c


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

end of thread, other threads:[~2010-01-23 19:33 UTC | newest]

Thread overview: 61+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-01-02 13:04 [RFC 0/9] snet: Security for NETwork syscalls Samir Bellabes
2010-01-02 13:04 ` [RFC 1/9] lsm: add security_socket_closed() Samir Bellabes
2010-01-04 18:33   ` Serge E. Hallyn
2010-01-02 13:04 ` [RFC 2/9] Revert "lsm: Remove the socket_post_accept() hook" Samir Bellabes
2010-01-04 18:36   ` Serge E. Hallyn
2010-01-05  0:31     ` Tetsuo Handa
2010-01-05  0:38       ` Serge E. Hallyn
2010-01-02 13:04 ` [RFC 3/9] snet: introduce security/snet, Makefile and Kconfig changes Samir Bellabes
2010-01-04 18:39   ` Serge E. Hallyn
2010-01-06  6:04     ` Samir Bellabes
2010-01-02 13:04 ` [RFC 4/9] snet: introduce snet_core.c and snet.h Samir Bellabes
2010-01-04 14:43   ` Patrick McHardy
2010-01-06 18:23     ` Samir Bellabes
2010-01-06 19:46     ` Samir Bellabes
2010-01-06 19:58       ` Evgeniy Polyakov
2010-01-23  2:07         ` Samir Bellabes
2010-01-23  2:18           ` Evgeniy Polyakov
2010-01-07 14:34     ` Samir Bellabes
2010-01-07 14:53     ` Samir Bellabes
2010-01-07 14:58       ` Samir Bellabes
2010-01-08  4:32     ` Samir Bellabes
2010-01-04 18:42   ` Serge E. Hallyn
2010-01-06  6:12     ` Samir Bellabes
2010-01-02 13:04 ` [RFC 5/9] snet: introduce snet_event.c and snet_event.h Samir Bellabes
2010-01-02 20:09   ` Evgeniy Polyakov
2010-01-02 23:38     ` Samir Bellabes
2010-01-04 19:08   ` Serge E. Hallyn
2010-01-08  7:21     ` Samir Bellabes
2010-01-08 15:34       ` Serge E. Hallyn
2010-01-08 17:44         ` Samir Bellabes
2010-01-08 17:51           ` Samir Bellabes
2010-01-08 18:10             ` Serge E. Hallyn
2010-01-02 13:04 ` [RFC 6/9] snet: introduce snet_hooks.c and snet_hook.h Samir Bellabes
2010-01-02 20:13   ` Evgeniy Polyakov
2010-01-03 11:10     ` Samir Bellabes
2010-01-03 19:16       ` Stephen Hemminger
2010-01-03 22:26         ` Samir Bellabes
2010-01-02 13:04 ` [RFC 7/9] snet: introduce snet_netlink.c and snet_netlink.h Samir Bellabes
2010-01-04 15:08   ` Patrick McHardy
2010-01-13  4:19     ` Samir Bellabes
2010-01-13  4:28     ` Samir Bellabes
2010-01-13  5:36       ` Patrick McHardy
2010-01-13  4:36     ` Samir Bellabes
2010-01-13  4:41     ` Samir Bellabes
2010-01-13  6:03     ` Samir Bellabes
2010-01-13  6:20     ` Samir Bellabes
2010-01-15  7:02     ` Samir Bellabes
2010-01-15  9:15     ` Samir Bellabes
2010-01-16  1:59     ` Samir Bellabes
2010-01-17  5:42     ` Samir Bellabes
2010-01-23 19:33     ` Samir Bellabes
2010-01-02 13:04 ` [RFC 8/9] snet: introduce snet_verdict.c and snet_verdict.h Samir Bellabes
2010-01-02 13:04 ` [RFC 9/9] snet: introduce snet_utils.c and snet_utils.h Samir Bellabes
2010-01-03 16:57 ` [RFC 0/9] snet: Security for NETwork syscalls jamal
2010-01-05  7:26   ` Samir Bellabes
2010-01-05  8:20     ` Tetsuo Handa
2010-01-05 14:09       ` Serge E. Hallyn
2010-01-06  0:23         ` [PATCH] LSM: Update comment on security_sock_rcv_skb Tetsuo Handa
2010-01-06  3:27           ` Serge E. Hallyn
2010-01-10 21:53           ` James Morris
2010-01-10 16:20     ` [RFC 0/9] snet: Security for NETwork syscalls jamal

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.