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 !

LKRG : Linux obtient un module de noyau chargeable pour la vérification de l'intégrité d'exécution
Une couche supplémentaire de sécurité

Le , par Stéphane le calme

51PARTAGES

11  0 
Les membres de la communauté open source travaillent sur un nouveau projet centré sur la sécurité pour le noyau Linux : le LKRG.

Linux Kernel Runtime Guard (LKRG) est un module de noyau chargeable qui vérifie l'intégrité de l'exécution du noyau Linux et détecte les failles de sécurité sur le noyau. Aussi controversé que soit ce concept, LKRG tente de détecter a posteriori et de répondre rapidement aux modifications non autorisées du noyau Linux en cours d'exécution (contrôle d'intégrité) ou aux informations d'identification (telles que les ID utilisateur) des processus en cours (détection d'exploit). Pour les informations d'identification de processus, LKRG tente de détecter l'exploit et de prendre des mesures avant que le noyau n'accorde l'accès au processus (comme l'ouverture d'un fichier) sur la base des informations d'identification non autorisées.

En clair, son but est de détecter les tentatives d'exploitation des failles de sécurité connues contre le noyau Linux et de tenter de bloquer les attaques. LKRG détectera également l'escalade de privilèges pour les processus en cours et supprimera le processus en cours avant l'exécution du code d'exploitation.

Toutefois, l’équipe prévient que « Bien que LKRG peut vaincre de nombreux exploits préexistants des vulnérabilités du noyau Linux, et va probablement vaincre de nombreux exploits futurs (y compris des vulnérabilités encore inconnues) qui ne tentent pas spécifiquement de contourner LKRG, il est contournable par conception (bien que parfois au prix d’exploits plus compliqués et/ou moins fiables). Ainsi, on peut dire que LKRG fournit la sécurité par la diversité, un peu comme l’aurait fait l'exécution d'un noyau d'OS peu commun, mais sans les inconvénients de l'exploitabilité de l'exécution d'un système d'exploitation inhabituel. »

Et d’expliquer que « Comme le LKRG gratuit devient populaire et peut-être une cible de certains exploits, nous pourrions introduire un LKRG Pro payant comme moyen de financer le projet et de fournir plus de diversité (au bénéfice de la base d'utilisateurs plus petite de Pro), des fonctionnalités supplémentaires et spécialisées (par exemple avec la détection des évasions de conteneurs), et peut-être des versions binaires spécifiques à la distribution. »


Puisque le projet est en cours de développement, les versions actuelles de LKRG ne vont signaler des violations d'intégrité du noyau que via les messages du noyau, mais un système complet d'atténuation des vulnérabilités sera déployé au fur et à mesure de la maturation du système.

Les travaux sur ce projet ont débuté en 2011, et LKRG a traversé une phase de « redéveloppement », comme Alexander Peslyak, membre du LKRG, a expliqué.

Le projet emprunte également quelques idées de l’Additional Kernel Observer (AKO), mais il en diffère parce qu'il s'agit d'un module de chargement du noyau et non d'un correctif. L'équipe de LKRG a choisi de créer un module de noyau, car la correction du noyau a un impact direct sur la sécurité, la stabilité du système et les performances.

En offrant un module noyau, LKRG est également plus facile à déployer au niveau système sans avoir à bricoler le code noyau, un processus très compliqué et sujet aux erreurs.

Il ne s’agit pas d’une solution miracle. L’équipe précise que « Comme n'importe quel logiciel, LKRG peut contenir des bogues et certains d'entre eux pourraient même être de nouvelles failles de sécurité. Vous devez peser les avantages par rapport aux risques liés à l'utilisation de LKRG. Notre évaluation est que le rapport bénéfice/risque pour LKRG lorsqu'il est utilisé sur des systèmes Linux typiques n'est pas aussi mauvais que pour les produits de sécurité antivirus et de point final typiques de Windows (que nous trouvons également controversés pour des raisons similaires). La taille du code et la surface d'attaque de LKRG sont beaucoup plus petites que celles de ces produits. »

Les modules noyau LKRG sont actuellement disponibles pour les principales distributions Linux telles que RHEL7, OpenVZ 7, Virtuozzo 7 et Ubuntu 16.04.

Note de version

Source : LKRG

Et vous ?

Que pensez-vous de LKRG ? Allez-vous l'essayer ?

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

Avatar de pascaldm
Membre actif https://www.developpez.com
Le 13/02/2018 à 18:02
En fait ce que je n'ai pas compris, c'est pourquoi les solutions que LKRG propose ne sont pas associées directement au noyau Linux ?
La réponse est simple, une version "LKRG PRO" est considérée pour financer le projet et apporter des protections commerciales payantes diversifiées afin de renforcer le modèle de sécurité. En conséquence, il s'agit d'extensions non open-source. Dans ce cas, l'intégration au noyau Linux passe obligatoirement par un code binaire externe, soit un module noyau (non lié statiquement au noyau) chargé dynamiquement en mémoire après le noyau. Ce modèle est le seul toléré pour charger des modules noyau propriétaires dans l’écosystème Linux. Néanmoins, si l'on utilise le module standard LKRG qui est open source, il est possible de produire un module LKRG lié statiquement au noyau Linux comme un simple pilote d'origine open source. De toute façon, hors des sous-systèmes du noyau Linux dont le développement est bien cadré et identifié, tout autre développement dans le noyau doit utiliser les modules noyau, qu'ils soient liés statiquement au noyau (cas d'un code open source) ou chargé dynamiquement (cas d'un code propriétaire ou d'un pilote chargé à la demande afin de réduire l'empreinte mémoire du noyau).

LKRG est une avancée cruciale en termes de sécurité Linux qui va étendre les mécanismes déjà existant dans certaines solutions industrielles comme le Secure Boot (vérification d'intégrité cryptographique du noyau au chargement initial lors du démarrage). Il existe déjà également un module de signature des modules noyau pour vérifier dynamiquement lors du chargement d'un module externe sa signature cryptographique (encore assez peu utilisé dans l'ecosystème embarqué). Par contre, jusqu'à présent, aucun contrôle d’intégrité lors du runtime n'existait (à l'exception de modules propriétaires pour plateformes matérielles spécifiques et disponibles sous NDA). Une corruption mémoire peut compromettre tout le système ou a minima un processus utilisateur. Un contrôle d'intégrité cryptographique (cyclique ou sur événement) des pages mémoires sur un système en cours de fonctionnement est une protection contre de nombreuses attaques actuelles et futures sur un système en cours de fonctionnement. J'ai rencontré de telles implémentations propriétaires sur des systèmes embarqués (pas forcément sous Linux) comme des consoles de jeu et de systèmes multimédia (décodeur TV payante, SmartTV, Automotive entertainment, etc.). Cette nouvelle fonctionnalité LKRG dans le mainstream du kernel Linux fait débat mais permet de sécuriser des systèmes critiques sur des plates-formes matérielles génériques (pour l'instant x86 et x64). Cela devient accessible à tout un chacun, contrairement au modèle actuel. A chacun de se faire son opinion...
1  0 
Avatar de Picarunix
Membre régulier https://www.developpez.com
Le 05/02/2018 à 11:02
Je pense que cette solution doit être d'abord paramétrée par ma distribution.
Je me vois mal le faire moi-même et sans doute créer plus de danger que de sécurité.

En fait ce que je n'ai pas compris, c'est pourquoi les solutions que LKRG propose ne sont pas associées directement au noyau Linux ?

/HS

Je me le dis souvent en vous lisant, mais sur cet article en particulier je voudrai vous remercier pour la qualité et la clarté de son contenu. C'est réellement un plaisir à consulter.
J'aimerai vous en remercier vivement.
0  0 
Avatar de Picarunix
Membre régulier https://www.developpez.com
Le 05/02/2018 à 15:37
Merci pour ta réponse.
0  0 
Avatar de Mhadysydney
Membre à l'essai https://www.developpez.com
Le 13/02/2018 à 15:51
C'est une bonne idée et j'aprecis beaucoup le projet... Courage et bonne chance pour sa réussite.
0  0 
Avatar de abriotde
Membre chevronné https://www.developpez.com
Le 05/02/2018 à 14:22
pourquoi les solutions que LKRG propose ne sont pas associées directement au noyau Linux ?
Parce que comme le dis l'article le système est critiqué : Il entraine une perte de performances (temps processeur pour l'analyse des processus), un gain de sécurité non garanti, et il introduit des failles (si l'utilisateur l'attaque directement il risque d'obtenir beaucoup de droits, un peu comme un anti-virus). Le vrai plus, c'est comme expliqué, qu'il soit installé sur assez peu de PC car ainsi le pirate ne le verra pas venir et cherchera a exploiter des failles Linux qui elles sont bien patché par LKRG.
0  1 
Avatar de
https://www.developpez.com
Le 05/02/2018 à 18:10

Que pensez-vous de LKRG ? Allez-vous l'essayer ?
C'est un projet noble. Vue comme cela même les distributions n'ayant plus de "support technique" pourraient probablement en profité.
Cependant, je ne comprend toujours pas comment cela a pu être possible d'avoir une élévation de droits sans saisi de mot passe dans un cas précédent (zip) et surtout si il y a eu "saisi de mot de passe", comme il a fait sans personne derrière un vrai clavier ou vraie souris via un clavier virtuel ? (de là à dire que la touche du clavier aurait été enfoncé physiquement en écrivant à l'adresse concerné dans le noyau est purement pour plaisanté.)

Avant je pensais que Linux était juste un pack de drivers avec un scheduler. J'oubliai les droits utilisateurs, le réseau (pas les réseaux), les fichiers et systèmes de fichiers (partitions, dossiers, ...). (droits des applications étant hérité des utilisateurs lors des sessions, ce qui veux dire qu'un binaire appartenant à root peut être exécuté par un utilisateur ayant les droits d'exécutions et donc pouvant éventuellement demandé à la thread root de faire une connerie via un vulgaire message entre thread.)

Bienvenu au royaume du dev.
0  1 
Avatar de
https://www.developpez.com
Le 10/02/2018 à 11:39
Citation Envoyé par Picarunix Voir le message

En fait ce que je n'ai pas compris, c'est pourquoi les solutions que LKRG propose ne sont pas associées directement au noyau Linux ?
Sachant que certaine distribution offre un mode maniaque en sécurité lors de l'installation :
  • chmod demande un mot de passe et prend quelques précautions supplémentaires
  • sudo n'est pas accessible à tous les utilisateurs
  • la console ne permet pas de se connecteur à certain group
  • le consigne de dépannage système SW et l'usages global sont plus chiants
  • etc...

Cette manœuvre devrait rassuré encore plus.

Faut pas s'en faire, il y a toujours cela en plus pour les autres.

Je serais pas mal intéressé de virtualisé ta distro cela étant.
0  1