|
|
Subscribe / Log in / New account

Allow LKM-based LSM modules.

From:  Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
To:  linux-security-module@vger.kernel.org
Subject:  [PATCH 0/5] Allow LKM-based LSM modules.
Date:  Mon, 19 Nov 2012 22:57:28 +0900
Message-ID:  <201211192257.HDC90675.HVOFQFStOMLJOF@I-love.SAKURA.ne.jp>

This patchset changes LSM interface to legally accept registration of LKM-based
LSM modules and changes TOMOYO into a LKM-based LSM module.

  [PATCH 1/5] TOMOYO: Make dependency on CONFIG_SECURITY_PATH/CONFIG_SECURITY_NETWORK optional.
  [PATCH 2/5] TOMOYO: Rename security/tomoyo/tomoyo.c to security/tomoyo/lsm.c.
  [PATCH 3/5] Allow runtime registration of LSM modules.
  [PATCH 4/5] Export functions needed by TOMOYO loadable kernel module.
  [PATCH 5/5] TOMOYO: Allow TOMOYO to become a loadable kernel module.

Why I want this?

  We are now trying to change LSM interface to allow running multiple LSM
  modules in parallel.

  There are three reasons I want to allow legal registration of LKM-based LSM
  modules after the init process starts.

  (1) Many distributions nowadays enable multiple LSM modules. Since LSM
      modules cannot be a LKM, all possible LSM modules have to be built-in,
      bloating the vmlinuz file. If LSM modules are allowed to be a LKM,
      distributors can reduce the size of vmlinuz (making the kernel load time
      shorter). TOMOYO is sitting here waiting for legal registration of
      LKM-based LSM modules.

  (2) Several distributions (e.g. Fedora and RHEL) enable only one LSM module
      (e.g. SELinux). On such distributions, users who want to use other LSM
      modules at their own risk have to replace the kernel package; this
      limitation is a strong psychological barrier and maintenance burden for
      such users. Currently I'm using AKARI (which is a LKM-based TOMOYO) for
      troubleshooting RHEL systems because replacing the kernel package (in
      order to use TOMOYO) is unlikely acceptable for RHEL users.

      TOMOYO is very useful for troubleshooting Linux systems. But if TOMOYO is
      not chosen at the time of booting the kernel, there is no means to enable
      TOMOYO for troubleshooting Linux systems. Speak of enterprise systems,
      I learned from my current job that even restarting Java application is
      difficult, let alone rebooting the system only for enabling LSM module.

      I do need strace-like LSM module which can be enabled/disabled without
      rebooting the system. If registration of LKM-based LSM modules becomes
      legal, TOMOYO is the nearest position for using like strace utility.

  (3) LSM is not the tool for thought control. LSM should be the tool for
      minimizing the burden of all subsystems' maintainers.
      I hope LSM folks have learned that "not everybody can configure SELinux"
      and "even AppArmor is not configurable for somebody"
      ( http://events.linuxfoundation.org/images/stories/pdf/lcna... )
      and "Yama is sufficient for some users" and other (not yet in-tree)
      modules may be sufficient for some other users
      ( http://events.linuxfoundation.org/images/stories/pdf/lcna... ).

      For accelerating the development of custom LSM module which users really
      want, LSM interface should be opened to allow LKM-based LSM modules.

      Without runtime loading support, for most Linux users, Yama will be the
      only module that will be benefit by allowing running multiple LSM modules
      in parallel. Not many can run SELinux/SMACK/TOMOYO/AppArmor in parallel.
--
To unsubscribe from this list: send the line "unsubscribe linux-security-module" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html



Copyright © 2012, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds