Linux Security Modules

Un article de Wikipédia, l'encyclopédie libre.

Pour les articles homonymes, voir LSM.

Linux Security Modules (LSM) est une infrastructure qui permet au noyau Linux de prendre en charge divers modèles formels de sécurité ce qui évite de favoriser une implémentation de sécurité particulière. Cette infrastructure est distribuée sous licence publique générale GNU et fait partie intégrante de noyau Linux depuis sa version 2.6.

Sommaire

[modifier] Conception

LSM est conçu pour fournir tout ce qui est nécessaire pour permettre l'implémentation d'un module de Contrôle d'accès obligatoire (MAC), tout en modifiant le moins possible le noyau Linux. LSM évite d'utiliser l'approche d'interposition utilisée par Systrace qui ne s'adapte pas aux noyaux multiprocesseurs, et qui est vulnérable aux attaques time-of-check-to-time-of-use (TOCTTOU). Au lieu de cela, LSM ajoute des crochets « hooks » (appels au module) à chaque point du noyau où un appel système de l'utilisateur va provoquer un accès à un important objet interne du noyau, comme les inodes, ou les blocs de contrôle de tâche.

Le projet est strictement limité à la résolution des problèmes de contrôle d'accès afin d'éviter d'avoir à recourir à une modification importante et complexe du noyau de base.

[modifier] Histoire

Lors du Linux Kernel Developers Summit qui a eu lieu en 2001, la NSA a proposé que SELinux soit intégré dans la version 2.5 du noyau. Linus Torvalds rejeta cette requête car beaucoup de projets de sécurité étaient en développement à ce moment. Comme ceux-ci avaient tous leurs particularité et que la communauté n'avait pas encore formé de consensus sur le modèle de sécurité parfait, Linus Torvalds proposa de créer une architecture modulaire.

En réponse, Crispin Cowan proposa LSM[4], une interface fournissant suffisamment de crochets (« hooks ») dans le noyau Linux pour créer des modules permettant de renforcer le contrôle d'accès obligatoire. Le developpement de LSM a été conduit pendant les deux années suivantes par la communauté, en incluant des contributions important de la part d'Immunix Corporation, la NSA, McAfee, IBM, Silicon Graphics, ainsi que d'autres contributeurs indépendants.

[modifier] Critiques

Certains développeurs du noyau Linux n'aiment pas LSM pour plusieurs raisons. LSM tente d'imposer le minimum de surcharge, spécialement lorsqu'aucun module n'est chargé, mais ce coût n'est pas nul. Aussi, LSM est destiné uniquement pour le contrôle d'accès et certains développeurs n'aiment pas que l'on puisse l'utiliser dans un autre but, principalement lorsqu'il est utilisé pour contourner la licence GPL avec un module propriétaire pour étendre les fonctionnalités du noyau.

Certains développeurs de sécurité n'aiment pas non plus LSM. Par exemple, l'auteur de grsecurity[5] en raison de son histoire et car LSM permet l'insertion de code malicieux (rootkit) ainsi que des modules de sécurité. C'est le cas aussi de l'auteur de RSBAC[6] car LSM est jugé comme incomplet vis-à-vis des besoins de ce projet.

[modifier] Voir aussi

[modifier] Références

  • (en) Cet article est partiellement ou en totalité issu d’une traduction de l’article de Wikipédia en anglais intitulé « Linux Security Modules ».
  1. Linux Security Modules: General Security Support for the Linux Kernel, 2002. Consulté le 3 février 2007
  2. 11th USENIX Security Symposium, 2002. Consulté le 3 février 2007
  3. Using CQUAL for Static Analysis of Authorization Hook Placement, 2002. Consulté le 3 février 2007
  4. Crispin Cowan, « Linux Security Module Interface », 11 avril 2001, linux-kernel mailing list. Consulté le 3 février 2007
  5. grsecurity, grsecurity. Consulté le 3 février 2007
  6. RSBAC and LSM, RASBAC. Consulté le 3 février 2007

[modifier] Liens externes

Autres langues