TOMOYO Linux: A Mandatory Access Control Method Based on Application Execution State
Cet article présente TOMOYO Linux, une nouvelle méthode de contrôle d'accès obligatoire qui renforce la sécurité du système en évaluant l'historique d'exécution et les intentions des applications plutôt qu'en se basant uniquement sur les combinaisons traditionnelles application-fichier, réduisant ainsi les risques d'accès malveillants et d'erreurs opérationnelles.
Article original sous licence CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Ceci est une explication générée par l'IA de l'article ci-dessous. Elle n'a pas été rédigée ni approuvée par les auteurs. Pour une précision technique, consultez l'article original. Lire la clause de non-responsabilité complète
Imaginez que votre ordinateur soit un immense bureau bourdonnant d'activité. Dans ce bâtiment, il y a des milliers d'employés (les applications) qui doivent accomplir leurs tâches. Certains doivent lire des fichiers, d'autres doivent rédiger des rapports, et certains doivent passer des appels téléphoniques (connexions réseau).
L'ancienne méthode : Le garde de sécurité qui demande « Qui êtes-vous ? »
Pendant longtemps, la sécurité informatique fonctionnait comme un garde de sécurité très simple et légèrement confus à la porte d'entrée. Ce garde ne posait que deux questions :
- « Qui êtes-vous ? » (Quelle application êtes-vous ?)
- « Quelle porte essayez-vous d'ouvrir ? » (Quel fichier voulez-vous accéder ?)
Si le garde voyait un employé « Navigateur Web » essayant d'ouvrir le fichier « Mots de passe secrets », il vérifiait une liste. Si la liste disait « Les navigateurs web peuvent ouvrir les fichiers de mots de passe », il le laissait entrer. Sinon, il l'arrêtait.
Le problème : Ce système est trop rudimentaire. Il ne se soucie pas de savoir pourquoi le navigateur web ouvre le fichier.
- Scénario A : Le navigateur est en train de charger une page web normale. (Sûr)
- Scénario B : Le navigateur a été piégé par un pirate pour tenter de voler votre fichier de mots de passe. (Dangereux !)
Le vieux garde voit le même employé (Navigateur Web) et la même porte (Fichier de mots de passe). Il ne peut pas faire la différence entre une visite normale et un vol ; il laisse donc entrer tout le monde (risqué) ou bloque tout le monde (peu pratique).
La nouvelle méthode : TOMOYO Linux (Le garde de sécurité du « Storytelling »)
Les auteurs de cet article proposent un nouveau type de garde de sécurité pour les ordinateurs Linux, appelé TOMOYO. Ce garde ne se contente pas de demander « Qui êtes-vous ? » ; il demande : « Comment êtes-vous arrivé ici, et quelle est votre histoire ? »
La magie de l'« Historique d'exécution »
Imaginez que chaque fois qu'un employé est embauché ou commence une nouvelle tâche dans le bureau, on lui donne un tampon sur son passeport.
- Si vous vous êtes connecté depuis le hall principal, vous recevez un tampon : Hall -> Réception -> Votre bureau.
- Si vous avez été piraté et forcé d'entrer par une fenêtre arrière, votre tampon pourrait ressembler à ceci : Fenêtre arrière -> Conduit de ventilation -> Votre bureau.
TOMOYO suit ainsi tout cet historique pour chaque programme en cours d'exécution sur l'ordinateur. Il sait exactement quel chemin l'application a emprunté pour arriver à son état actuel.
Comment cela fonctionne en pratique
Observons un Shell (un outil de ligne de commande qui permet de taper des commandes). Dans l'ancien système, un Shell est simplement un Shell. Mais avec TOMOYO, le garde examine le passeport :
- Le Shell sûr : Vous vous êtes connecté depuis votre propre console d'ordinateur.
- Historique : Noyau -> Écran de connexion -> Votre Shell.
- Décision du garde : « D'accord, c'est un utilisateur de confiance. Vous pouvez exécuter presque tous les programmes dont vous avez besoin. »
- Le Shell suspect : Le serveur web Apache (qui fait fonctionner un site web) a été piraté et a généré un Shell pour tenter de s'introduire dans le système.
- Historique : Noyau -> Serveur Web -> Shell piraté.
- Décision du garde : « Attendez une minute ! Un Shell provenant d'un serveur Web est suspect. Vous n'êtes autorisé à faire que des choses très spécifiques, comme lire un fichier journal. Vous n'avez pas le droit d'exécuter des programmes dangereux ou de supprimer des fichiers. »
Même si ces deux cas concernent exactement le même fichier de programme (/bin/bash), TOMOYO les traite de manière complètement différente car leurs histoires sont différentes.
L'approche de la « Liste blanche »
TOMOYO fonctionne comme une Liste blanche stricte.
- Ancien système (Liste noire) : « Je vous arrêterai si je sais que vous êtes mauvais. » (Mais les pirates inventent toujours de nouvelles façons d'être mauvais).
- TOMOYO (Liste blanche) : « Je ne vous laisserai faire que ce qui est écrit précisément dans votre histoire spécifique. »
Si un programme tente de faire quelque chose qui ne figure pas sur sa « liste d'histoire » spécifique, le garde l'arrête immédiatement. Même si le programme s'exécute avec des pouvoirs de « Super Utilisateur » (Administrateur), le garde s'en moque. Les règles s'appliquent à tout le monde.
Pourquoi est-ce meilleur (Les affirmations de l'article)
L'article affirme que cette méthode résout des problèmes que l'ancien système ne pouvait pas traiter :
- Il arrête les attaques « déguisées » : Si un pirate renomme un fichier dangereux pour qu'il ressemble à un fichier sûr, l'ancien garde pourrait être trompé. TOMOYO examine l'historique et les arguments (les instructions spécifiques données au programme) pour voir si l'action est cohérente.
- C'est plus facile à gérer : Au lieu de deviner des règles complexes pour tout le bâtiment, les administrateurs peuvent observer le « mode apprentissage ». Le système enregistre ce que les employés font réellement lorsque tout fonctionne correctement, puis verrouille tout le reste. C'est comme prendre une photo du bureau lors d'une journée normale et n'autoriser ensuite que ces mouvements précis.
- C'est rapide : Les auteurs ont testé cela et ont constaté que, bien que cela ajoute un peu de travail pour l'ordinateur (comme un garde qui vérifie un passeport prend une seconde), cela ne ralentit pas significativement le bureau. Pour la plupart des tâches, le délai est invisible pour l'utilisateur.
L'essentiel
TOMOYO Linux transforme la sécurité d'un contrôle d'identité statique en un contrôle d'histoire dynamique. Il comprend que le contexte compte. Un programme faisant une chose dans une situation donnée peut être sûr, mais faire exactement la même chose dans une autre situation (comme après avoir été détourné par un pirate) est dangereux. En suivant le parcours de chaque application, TOMOYO peut arrêter des attaques que les gardes de sécurité traditionnels ne pourraient tout simplement pas voir venir.
Noyé(e) sous les articles dans votre domaine ?
Recevez des digests quotidiens des articles les plus récents correspondant à vos mots-clés de recherche — avec des résumés techniques, dans votre langue.