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 !

Microsoft annonce IPE, une nouvelle fonctionnalité d'intégrité du code pour Linux,
Conçue pour des cas d'utilisation très spécifiques, où la sécurité est primordiale

Le , par Stan Adkens

52PARTAGES

3  0 
Microsoft a publié plus tôt cette semaine des détails sur un nouveau projet sur lequel l'entreprise travaille et qui est destiné au noyau Linux. Cette nouvelle fonctionnalité s'appelle "Integrity Policy Enforcement" ou IPE, et il s'agit d'un module de sécurité Linux (LSM). Les MSL sont des modules complémentaires (facultatifs) du noyau Linux ; ils permettent d'ajouter des fonctions de sécurité supplémentaires.

Selon une page de documentation publiée lundi, l'IPE est la tentative de Microsoft de résoudre le problème d'intégrité du code pour Linux. « Il tente de résoudre le problème de l'intégrité du code : que tout code exécuté (ou fichier lu) soit identique à la version construite par une source fiable. En termes simples, l'IPE aide le propriétaire d'un système à s'assurer que seul le code qu'il a autorisé est autorisé à s'exécuter ».


Sur les systèmes Linux où l'IPE est activé, les administrateurs système peuvent créer une liste de binaires qui sont autorisés à s'exécuter, puis ajouter les attributs de vérification que le noyau doit vérifier pour chaque binaire avant de l'autoriser à s'exécuter. Si les binaires ont été modifiés par un attaquant, l’IPE peut bloquer l'exécution du code malveillant.

L’intérêt pour Microsoft pour un module de sécurité destiné au noyau Linux ne devrait surprendre personne. En effet, selon une demande – pour rejoindre une liste de discussion privée consacrée à la sécurité de Linux et des environnements open source – de Sasha Levin, développeur du noyau Linux travaillant chez Microsoft, qui date de l’année dernière, Linux semblait déjà à l’époque avoir clairement supplanté Windows Server sur Azure. « L'utilisation de Linux sur [le cloud de Microsoft] a dépassé Windows », avait-il souligné même s'il ne donnait pas de chiffres précis.

Par ailleurs, déjà au dernier trimestre 2018, Linux et Windows Server étaient au coude à coude sur Microsoft Azure. Les deux systèmes d’exploitation se partageaient à parts égales les machines virtuelles tournant sur la plateforme cloud de Microsoft, mais par moment, Linux prenait le dessus et cela était d'ailleurs l'évènement le plus fréquent. Et ce qui pouvait attirer l’attention cependant, c'était la vitesse avec laquelle Linux a réalisé cet exploit.

Caractéristiques supplémentaires apportées par l’IPE

Certains LSM existants manquent d’une mesure de vérification au moment de l’exécution des binaires, selon la firme Redmond. « Par exemple, device-mapper verity, qui assure l'intégrité d'un périphérique en bloc, et fs-verity qui est un système qui assure l'intégrité d'un système de fichiers. Ce qui manque à ces implémentations, c'est une mesure de vérification de l'exécution que les binaires proviennent de ces emplacements », lit-on dans la documentation publiée par Microsoft.

L’IPE vise donc à combler cette lacune. Si des binaires ont été modifiés par un attaquant, IPE est conçu pour en bloquer l’exécution. Aussi, l’IPE inclut deux composants principaux : IPE Core (configurable) et IPE Properties (des attributs fournis par le noyau pour évaluer les fichiers). Ce module renforce l’intégrité du code pour le noyau Linux, afin de garantir que « tout code en cours d’exécution (ou fichiers en cours de lecture), est identique à la version qui a été créée par une source de confiance », a souligné Microsoft dans la documentation sur GitHub.

Un module de sécurité Linux destiné aux cas d'utilisation très spécifiques où la sécurité est primordiale

Dans sa documentation partagée sur Github lundi, Microsoft affirme que l'IPE n'est pas destiné à l'informatique générale et n'utilise aucun logiciel ou configuration construits par un tiers. Le projet MSL IPE est conçu pour des cas d'utilisation très spécifiques où la sécurité est primordiale, et où les administrateurs doivent avoir le contrôle total de ce qui fonctionne sur leurs systèmes, d’après Microsoft.


Les exemples de cas d’utilisation incluent les systèmes embarqués, tels que les dispositifs de pare-feu réseau fonctionnant dans un centre de données, ou les serveurs Linux exécutant des configurations et des applications strictes et immuables – « où tous les logiciels et la configuration sont construits et fournis par le propriétaire ».

« L’IPE, similaire à SELinux, supporte deux modes de fonctionnement : permissif et imposé », a déclaré Microsoft. « Le mode permissif effectue les mêmes vérifications que le mode imposé et enregistre les violations de la politique, mais n'applique pas la politique. Cela permet aux utilisateurs de tester les politiques avant de les appliquer ».

Le noyau Linux comprend déjà un autre LSM pour l'intégrité du code, appelé Integrity Measurement Architecture (IMA). Microsoft a déclaré que l'IPE diffère de l'IMA parce qu'elle « ne dépend pas des métadonnées du système de fichiers » et parce que les attributs de l'IPE « sont des propriétés déterministes qui existent uniquement dans le noyau », ce qui signifie que l'IPE n'a pas besoin de code supplémentaire comme l'IMA a besoin des signatures IMA. L'IPE de Microsoft est actuellement dans un état RFC (demande de commentaires). Il faudra un certain temps avant qu'il ne soit livré avec le noyau Linux actuel.

Des lacunes connues de l’IPE

Microsoft a tout de même relevé des lacunes relatives à son module de sécurité Linux. L’un des problèmes avec l’IPE, selon Microsoft, est que le module ne peut pas vérifier l'intégrité de la mémoire exécutable anonyme, comme les trampolines créés par les fermetures GCC et la bibliothèque libffi, ou le code JIT. Le fait est qu’il s'agit dans ces cas de code généré dynamiquement, et selon Microsoft, « il n'y a aucun moyen pour l’IPE de détecter que ce code n'a pas été altéré lors de la transition entre le lieu où il a été construit et celui où il fonctionne. Par conséquent, l'IPE est incapable de s'attaquer à ce problème pour le code généré dynamiquement », lit-on dans la documentation.

Les avis des commentateurs concernant le nouveau module de sécurité de Microsoft divergent. Selon un premier avis, même si l’IPE n’espionne pas les utilisateurs et ne ramène pas leurs données à l’entreprise, pour l’instant, une prochaine version le fera. « Une fois qu'il aura été largement adopté et que de nombreuses personnes en dépendront, un petit peu de télémétrie y sera ajouté et l'espionnage ne fera qu'augmenter avec le temps ».

Mais un autre réplique en disant que « Vous pensez donc que les responsables du noyau qui devraient approuver le commit qui ajoute cette télémétrie au noyau ne rejetteraient pas ce code ? » Et vous, que pensez-vous du nouveau module de sécurité Linux ?

Source : Documentation sur l’IPE

Et vous ?

Que pensez-vous de l’IPE de Microsoft ?
Que pensez-vous des caractéristiques supplémentaires apportées par le module de sécurité ?

Lire aussi

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
Sortie de la version 5.4 du noyau Linux, avec l'ajout d'un mode de verrouillage du noyau, d'une couche de sécurité pour détecter les modifications de fichiers et plusieurs autres améliorations
Windows Server évincé par Linux sur Azure, mais cela n'aurait pas été possible sans la volonté de Microsoft
Machines virtuelles Azure : Linux met fin au règne de Windows Server, et est désormais (par moment) l'OS le plus utilisé sur le cloud de Microsoft

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