Ma question concerne les autorisations du système de fichiers (en particulier les autorisations de style Unix) et leur lien avec la sécurité.
Disons que j'ai accès à un ordinateur avec un compte d'utilisateur invité et un utilisateur nommé Bob. Je ne connais pas le mot de passe de Bob, mais je peux utiliser le compte invité. Le compte invité n'a absolument aucune autorisation de lecture pour tous les fichiers de Bob, donc je ne peux lire aucun des fichiers de Bob lorsque je suis connecté en tant qu'invité.
Cependant, d'un vrai point de vue «adversaire», j'ai un accès complet à ce disque non chiffré. Je pourrais l'imaginer, l'enregistrer pour plus tard, exécuter un autre système d'exploitation pour simplement lire les fichiers de Bob tout en ignorant les paramètres d'autorisation du système de fichiers.
De là, j'arrive à la question:
- Un paramètre d'autorisation de système de fichiers sur un disque non chiffré n'est qu'un indicateur, n'est-ce pas? Et la seule chose qui m'empêche de lire des fichiers auxquels je n'ai pas l'autorisation est le fait que le système d'exploitation dira "Oh, vous ne pouvez pas lire cela, vous n'avez pas l'autorisation." Ce fichier est toujours sur le disque sous forme brute et je pourrais le lire en ignorant simplement les drapeaux du système de fichiers (par exemple, via un système d'exploitation amorçable ombragé qui ignore simplement les autorisations). Est-ce que tout est correct?
Supposons maintenant que je n'ai pas d'accès direct au disque et que je ssh-ing dans une machine. Je n'ai la permission de lire aucun des fichiers de Bob. Je ne peux vraiment rien y faire, n'est-ce pas?
- Compte tenu de mes autorisations limitées, je ne peux tout simplement pas accéder aux fichiers de Bob, peu importe mes efforts, non? Que faire si j'utilise un exploit pour obtenir un accès root? Puis-je maintenant contourner les drapeaux d'autorisation du système d'exploitation? Est-ce une chose qui arrive jamais?
Réponses:
Réponse plus courte.
Si vous avez un accès physique à un système informatique (PC ou système de stockage de données) et que la seule «protection» en place est les autorisations de fichiers, vous n'avez 100% aucune protection.
Ces données non chiffrées peuvent être copiées et clonées avec un minimum d'effort avec presque aucun autre outil que d'avoir un autre appareil avec lequel vous pouvez vous connecter au lecteur système pour faire une copie des données.
Et oui, potentiellement certains aspects probatoires de pénétration physique pourraient devoir être prises en compte dans l' accès à un niveau physique; comme s’assurer qu’aucune empreinte digitale n’est laissée et que les scellés «inviolables» sont également traités. Mais honnêtement, la grande majorité des systèmes peuvent voir leurs disques physiquement retirés pour une copie physique des données sans que l'utilisateur final ne sache mieux. Si vous avez le lecteur, vous avez le lecteur et vous avez alors les données s'il n'est pas chiffré.
C'est pourquoi le chiffrement par utilisateur ou le chiffrement complet du disque est si important de nos jours; les ordinateurs portables, les autres appareils informatiques portables représentent une part si importante du marché de nos jours que le risque de perte de données suite au vol d'appareils ou à l'emprunt occasionnel d'un PC est beaucoup plus élevé que jamais auparavant.
Si le disque n'est pas chiffré, les données qu'il contient sont un livre ouvert prêt à être lu. Ce concept n'est pas limité aux machines Linux / Unix mais à tout système d'exploitation n'importe où; si vous avez un accès physique à un système non crypté, vous avez le système.
Cela dit, les autorisations de fichiers sont une mesure de sécurité utile pour les serveurs distants de toutes sortes.
Réponse plus longue.
Tout d'abord, gardez à l'esprit que la sécurité sur les ordinateurs - et tout - est vraiment un moyen de dissuasion qui ralentit les choses et n'offre pas nécessairement une sécurité absolue.
Par exemple, le plus faible élément de sécurité dans un bâtiment physique est la porte que vous devez ouvrir lorsque vous entrez / sortez ou la fenêtre que vous devez ouvrir pour laisser entrer l'air. Oui, vous pouvez verrouiller les portes et les fenêtres et configurer des alarmes, mais si quelqu'un veut vraiment avoir accès à quelque chose - et ils ont le temps, les ressources, la richesse et les efforts pour le faire - ils y auront accès.
Le problème ici est le contexte de l'accès. Si vous avez un accès physique à un ordinateur, presque tout est possible. Mais si vous êtes uniquement connecté via une connexion à distance - sur un réseau quelconque - la propriété du système de fichiers est certainement une méthode de sécurité efficace. Et dans le cas des serveurs Linux / Unix, les autorisations et la propriété sont des formes de sécurité efficaces pour dissuader les intrusions à distance.
C'est pourquoi dans le monde Linux / Unix, l'
root
accès à un système distant est considéré comme un grand prix. Accédezroot
à un système distant et vous avez vraiment fait quelque chose qui vous donne un meilleur accès sans avoir à entrer dans un centre de données et à cloner un lecteur.Oui. Exactement. Si vous avez un accès physique à la machine, alors, comme expliqué au début, tous les paris sont désactivés. Vous pouvez accéder aux fichiers et répertoires appartenant à d'autres en créant une image du disque - ou même en poursuivant simplement le contenu brut du lecteur lui-même - avec peu ou pas d'effort technique approfondi.
Quiconque, par exemple, vous prête son ordinateur personnel et crée un nouveau compte juste pour vous sans penser à ce scénario, donne fondamentalement toutes les données personnelles qu'il a sur sa machine sans vraiment le savoir.
Légèrement tangent, mais je pense que c'est pourquoi tant d'utilisateurs occasionnels font don de vieux PC sans faire le moindre effort pour effacer les données sur le disque. Ils ont configuré un mot de passe utilisateur et ils supposent que leurs données sont sécurisées dans la mesure où ils peuvent simplement jeter le lecteur à la poubelle et ne pas y réfléchir à deux fois. Lorsque la réalité est sans véritable cryptage ou effacement des données, tout lecteur jeté à la poubelle ou vendu utilisé peut être lu par n'importe qui n'importe où sans beaucoup de travail lourd ou d'effort technique approfondi.
la source
Vos trois points:
Si vous vous connectez en tant qu'utilisateur normal, vous n'avez pas accès au périphérique de disque brut. Vous avez généralement besoin
root
ou l'autorisation d'accéder aux unités de disque brutes et logiques.Si vous obtenez un root grâce à un exploit, vous êtes l'utilisateur le plus puissant du système et avez accès à presque tout, y compris l'appareil. Puisque vous êtes root, vous pouvez accéder directement aux fichiers de Bob, donc pas besoin d'accéder au périphérique de disque.
Accès physique bat
root
. Root est une couche logique. Vous pouvez l'ignorer avec un accès physique au disque. Cela inclut le chargement dudit disque dans un système d'exploitation distinct où vous êtes root.Bien sûr, les systèmes sont censés être renforcés contre les
root
exploits, mais de nouveaux exploits sortent quotidiennement. Aucun système n'est sécurisé à 100% mais vous pouvez en sécuriser un à des fins pratiques en limitant l'accès.Les autorisations du système de fichiers ne devraient fonctionner que dans des situations d'accès limité, où le système d'exploitation n'est pas compromis. C'est un système de «garder les utilisateurs honnêtes (et typiques) honnêtes», comme les verrous de vélo. Il œuvre pour prévenir les «délits d'opportunité» plus que pour échouer à une protection totale sûre.
la source
open(2)
. Par exemple,linkat(2)
vous permet de créer une entrée de répertoire pour un descripteur de fichier ouvert, mais uniquement si le nombre de liens n'est pas déjà nul, donc un processus qui reçoit un FD ouvert pour un fichier supprimé ne peut pas le lier à nouveau au système de fichiers. De toute évidence, un attaquant obtenant un accès root ou physique signifie que vous portez un toast. Le chiffrement aide à la racine physique mais pas tellement.