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 ?
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é
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
Une erreur dans cette actualité ? Signalez-nous-la !