GNU/Linux >> Tutoriels Linux >  >> Linux

Un noyau compromis donne-t-il un contrôle complet sur un périphérique ?

Exécuter du code dans "l'espace noyau" signifie l'exécuter dans l'espace ring 0. En d'autres termes, c'est la définition stricte de "avoir le contrôle total".

La seule exception serait si vous utilisez un hyperviseur. Dans un tel cas, l'exécution de code dans l'anneau 0 du système d'exploitation virtualisé ne vous donnerait "que" le contrôle total du périphérique virtualisé, pas l'hyperviseur (qui est censé s'exécuter dans l'anneau -1) sur lequel il s'exécute. Vous auriez besoin d'un exploit d'échappement séparé pour y accéder.


Cela donnerait-il à un attaquant un contrôle total sur le téléphone ? Par exemple, pourraient-ils installer un enregistreur de frappe ou un autre logiciel malveillant ?

C'est possible. Étant donné que toutes les vérifications d'autorisation (c'est-à-dire l'accès aux fichiers, l'accès au clavier...) sont effectuées à l'intérieur du noyau, le code exécuté à l'intérieur du noyau pourrait invoquer les actions nécessaires simplement directement sans exécuter ces vérifications.

Cela permettrait-il à un appareil compromis d'effectuer une attaque OTA sur d'autres appareils de la même manière (en devenant un ver) ?

Il est possible que certaines actions nécessitent un accès au noyau, comme la possibilité de créer des paquets réseau manipulés pouvant être utilisés pour compromettre un autre périphérique. Mais cela ne signifie pas que vous avez toujours besoin d'un accès au noyau pour de telles attaques, c'est-à-dire que l'accès root est généralement suffisant et parfois même un processus utilisateur normal peut le faire, selon l'attaque exacte.

Ces préoccupations sont-elles atténuées par d'autres fonctionnalités de sécurité, telles que SELinux, dm-verity, etc. ?

Une fois que l'attaquant a accès au noyau, ces techniques n'aident pas. Mais ils peuvent aider à empêcher l'attaquant d'accéder au noyau. Mais s'ils aident ou non dépend du vecteur d'attaque exact. Par exemple, ils n'aident pas en cas de vulnérabilité récente dans le pilote réseau Broadcom qui pourrait être déclenchée par des paquets réseau spécifiques.


Linux
  1. Obtenir l'heure de l'utilisateur et du noyau d'un processus en cours d'exécution ?

  2. Linux - Comment le noyau Linux connaît-il les numéros majeurs et mineurs des périphériques ?

  3. Que fait l'activation de kernel.unprivileged_userns_clone ?

  4. Comment un noyau monte-t-il la partition racine ?

  5. Comment Linux conserve-t-il le contrôle du processeur sur une machine monocœur ?

Guide complet de journalisation Linux

Le noyau Linux a-t-il une fonction principale ?

Exécuter une application Qt sur le Web

Pourquoi rsync sur SSH me donne-t-il 10 fois le débit de SCP ?

Comment le noyau Linux se compare-t-il aux architectures de micro-noyau ?

Pourquoi un périphérique RAID 10 doit-il être initialisé ?