Périphériques matériels Linux - Liste blanche

1

Pour des raisons de sécurité, est-il possible de demander au système d’exploitation d’appliquer une liste blanche de périphériques matériels?

Cela signifie que les périphériques branchés qui ne figurent pas dans la liste blanche seront ignorés au niveau le plus bas possible (de sorte que les abstractions de niveau supérieur dans le système d'exploitation ne découvriront même pas ces périphériques non répertoriés).

J'utilise Ubuntu 11.04, mais je suppose que la solution que vous pourrez utiliser fonctionnera sur presque toutes les distributions Linux récentes.


la source
Linux ne fonctionne pas de cette façon.
Ignacio Vazquez-Abrams
Que voulez-vous dire? Cela fonctionne certainement pour que Linux ait des vulnérabilités USB, par exemple: charlescurley.com/blog/archives/2011/03/13/… De plus, je suis sûr que cela peut être fait en apportant des modifications personnalisées à mon noyau. Je voulais juste savoir si quelqu'un l'a déjà fait. Étant donné que de telles vulnérabilités ne manquent pas (voir ci-dessus), je serais surpris que quelque chose comme cela n'existe pas déjà.
pourquoi ne pas compiler un noyau personnalisé avec uniquement le matériel que vous souhaitez prendre en charge?
Libre pensée
1
Je me souviens que vous pouvez utiliser les règles UDEV pour ignorer les périphériques USB branchés. Peut-être la peine d'essayer.
Turbo J
Merci, je vais regarder UDEV. À propos du noyau personnalisé avec seulement certains matériels pris en charge, je ne suis pas sûr que cela suffirait. N'oubliez pas que mes connaissances sur les composants internes du noyau sont limitées, mais ce que je veux, c'est une liste blanche pour chaque élément matériel spécifique (basé sur quelque chose comme un ID matériel) et non pour une catégorie globale d'éléments. Je pense qu'avec cette solution, certains pilotes prendraient en charge toute une catégorie d'éléments.

Réponses:

0

Lorsque le périphérique est ajouté au système, le noyau demande au pilote usermode le pilote approprié en appelant / sbin / hotplug en tant que root (UID 0). Hotplug appelle généralement insmod (8) avec le fichier .ko approprié, mais vous pouvez le pirater pour effectuer un filtrage en fonction de l'ID matériel (transmis dans l'environnement).

Bien sûr, vous devrez protéger insmod (8) contre les appels directs d'utilisateurs non-privilégiés et vous assurer que le pilote ko est déchargé après le détachement du périphérique (/ sbin / hotplug est également appelé pour cet événement).

Mikhail Kupchik
la source