IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Linus Torvalds approuve Lockdown, une nouvelle fonctionnalité permettant de restreindre l'accès à certaines fonctions du noyau,
Qui sera publiée à partir de la version 5.4 du noyau

Le , par Bill Fassinou

51PARTAGES

14  0 
Dans un mail adressé à la communauté Linux ce samedi, Linus Torvalds a finalement approuvé l’ajout de la fonctionnalité de verrouillage à une version ultérieure du noyau. Cela sera fait à partir de la version 5.4 du noyau qui est censée être livrée à la fin du mois de novembre ou au début du mois de décembre. La nouvelle fonctionnalité, baptisée « Lockdown », proposera deux modes : le mode intégrité qui empêchera la modification du noyau en cours d’exécution, et le mode confidentialité qui empêchera l’extraction d’informations confidentielles du noyau.

Samedi dernier, Linus Torvalds a finalement décidé de permettre l’introduction de la fonctionnalité Lockdown dans le noyau Linux à partir de la version 5.4. La fonctionnalité a été proposée il y a quelques années par Matthew Garrett, ingénieur chez Google, qui en est l’auteur avec David Howells et d’autres développeurs, mais Torvalds est longtemps resté réticent concernant l’introduction d’une telle fonctionnalité dans le noyau. Ainsi, certaines distributions Linux parmi les plus courantes proposent des variantes de la fonctionnalité depuis quelques années déjà.

En effet, les travaux sur la fonction de verrouillage du noyau ont commencé au début des années 2010 et ont été dirigés par Matthew Garrett, maintenant ingénieur chez Google. L'idée derrière Lockdown était de créer un mécanisme de sécurité pour empêcher les utilisateurs avec des permissions élevées, même le compte « root », d’apporter des modifications au noyau. À cette époque, les systèmes Linux utilisaient des mécanismes de démarrage sécurisés, mais il existait encore des moyens par lesquels les logiciels malveillants pouvaient infecter le noyau.

Ces logiciels malveillants pouvaient abuser des comptes root et des comptes utilisateurs avec des privilèges spéciaux élevés pour trafiquer le code du noyau et, ce faisant, obtenir une persistance de démarrage et une prise permanente des systèmes infectés. De nombreux experts en sécurité ont demandé au fil des ans que le noyau Linux prenne en charge un moyen plus puissant pour restreindre le compte root et améliorer la sécurité du noyau. Après de longues discussions et réécriture de code, Linus Torvalds a finalement approuvé l’idée d’introduire la fonctionnalité Lockdown.


« La plupart des distributions grand public supportent des variantes de ce jeu de correctifs depuis de nombreuses années maintenant. Il est donc utile de fournir une distribution qui ne répond pas à toutes les exigences, mais qui nous rapproche beaucoup plus de la nécessité de ne pas requérir de correctifs externes », a déclaré Torvalds dans un mail. « Les applications qui dépendent d'un accès de bas niveau au matériel ou au noyau peuvent cesser de fonctionner. Par conséquent, ceci ne devrait pas être activé sans une évaluation préalable appropriée », a-t-il ajouté.

« Lockdown » sera livrée pour la première fois dans la prochaine version du noyau Linux, Linux 5.4, et permettra ainsi de verrouiller le noyau dès le démarrage du système d’exploitation. La fonction principale de Lockdown sera de renforcer le fossé entre les processus de l'espace utilisateur et le code du noyau. Pour cela, Lockdown va empêcher tous les utilisateurs, y compris le compte root, d'interagir avec le code du noyau, ce qu'il a été capable de faire, par conception, jusqu'à maintenant. Lorsqu'elle est activée, Lockdown restreindra certaines fonctionnalités du noyau.

Autrement dit, Lockdown définit une frontière entre le noyau Linux et l'utilisateur UID 0, c'est-à-dire l'utilisateur root. Le but est d'empêcher un compte root compromis de mettre à mal le système, ou encore de faire échouer des exécutions de code arbitraire. Lockdown pourra restreindre notamment les allocations de mémoire kmalloc, l'hibernation du système, les opérations de lecture/écriture sur /dev/mem et /devf/kmem, l'accès à /dev/port, l'accès au processeur, etc. Lockdown va être fourni sous la forme d’un module de sécurité LSM (Linux Module Security).

« Lorsque cette option est activée, les différentes fonctionnalités du noyau sont limitées. Cela inclut la restriction de l'accès aux fonctionnalités du noyau qui peuvent permettre l'exécution de code arbitraire via le code fourni par les processus utilisateur ; le blocage des processus d'écriture ou de lecture de la mémoire /dev/mem et /dev/kmem ; le blocage de l'accès à /dev/port pour empêcher l'accès au port brut ; le renforcement des signatures des modules du noyau ; et bien d'autres choses », a expliqué Torvalds. Par ailleurs, il faut noter que Lockdown proposera deux modes.

Lockdown proposera le mode “Intégrité” qui empêchera la modification du noyau en cours d'exécution, et le mode “Confidentialité” qui empêchera l'extraction d'informations confidentielles du noyau. Lockdown arrivera dans le noyau Linux 5.4 et sera désactivée par défaut afin de ne pas casser le fonctionnement de systèmes existants. L’arrivée de cette fonctionnalité est une bonne nouvelle pour les utilisateurs conscients de la sécurité et offre une sécurité supplémentaire très demandée pour des applications comme UEFI Secure Boot. La fonction est opt-in et limite les bits que le noyau peut toucher.

Enfin, notons que pendant tout le temps de refus de Torvalds d’introduire Lockdown dans le noyau Linux, de nombreuses distributions Linux, telles que Red Hat, ont développé leurs propres correctifs du noyau Linux qui ont ajouté une fonction de verrouillage sur le noyau principal. C’est en 2018 que les deux parties sont parvenues à un compromis et les travaux ont progressé cette année sur le dispositif de verrouillage. Les autres fonctionnalités importantes qui pourraient subvenir dans la version 5.4 du noyau Linux incluent :

  • DM-Clone en tant que nouvel outil de réplication à distance de blocs ;
  • prise en charge initiale du système de fichiers Microsoft exFAT ;
  • prise en charge de F2FS insensible à la casse ;
  • un noyau fixe autour de l'UMIP (User-Mode Instruction Prevention) pour aider diverses applications Windows dans Wine ;
  • une foule d'autres nouveaux supports matériels ;
  • etc.

Sources : Linus Torvalds, LWN.net, Proposition de Matthew Garrett (PDF)

Et vous ?

Qu'en pensez-vous ?

Voir aussi

La version 5.3 du noyau Linux est disponible avec la prise en charge des GPU AMD Navi et d'autres nouvelles fonctionnalités

Canonical annonce la disponibilité de la bêta d'Ubuntu 19.10, nom de code Eoan Ermine, avec le noyau Linux 5.3 pour les plateformes Desktop, Server et Cloud

Librem 5 : les premières livraisons du smartphone GNU/Linux orienté sécurité et vie privée ont commencé et vont se poursuivre par lots

Linux 5.0 est disponible en version stable, avec l'ajout du système de chiffrement Adiantum et la prise en charge des fichiers d'échange par Btrfs

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de Xinsura
Membre du Club https://www.developpez.com
Le 02/10/2019 à 10:01
Je ne comprends pas très bien le concept. Pourquoi ne pas limiter le root à quelques personnes et logiciels pour empêcher les accès au noyau au lieu de mettre un niveau plus haut que le root ? En fin de compte, cela semble plus à un user avec plus de privilèges que le root.
0  0 
Avatar de Aurelien.Regat-Barrel
Expert éminent sénior https://www.developpez.com
Le 02/10/2019 à 14:41
Citation Envoyé par Xinsura Voir le message
Je ne comprends pas très bien le concept. Pourquoi ne pas limiter le root à quelques personnes et logiciels pour empêcher les accès au noyau au lieu de mettre un niveau plus haut que le root ? En fin de compte, cela semble plus à un user avec plus de privilèges que le root.
Il en parle vite fait dans son PDF (donné en lien) : il a une approche pragmatique où la réalité montre (d'après lui) que cette approche ne fonctionne pas car les gens / applications ne le font pas comme il faut.

De ce que j'ai compris il s'agit en fait d'empêcher la modification du noyau autrement que via un reboot avec un nouveau kernel. Ainsi, même une application vérolée lancée en root ne pourra pas patcher discrètement le kernel pour se dissimuler.
0  0