Dans quelle mesure pouvons-nous compter sur les autorisations du système de fichiers pour la sécurité?

31

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:

  1. 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?

  1. 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?
bob
la source
4
Oui et oui. vous semblez comprendre correctement les concepts associés. Une escalade de l'attaque privée sera nécessaire pour contourner les autorisations si vous ne pouvez pas obtenir un accès physique au système.
Frank Thomas
2
Ne serait-ce pas une bonne idée de migrer cela vers Security.SE ? Cela semble être l'endroit le plus logique pour cela.
Chris Cirefice
3
@ChrisCirefice Un approfondissement du concept de sécurité justifierait une migration. Mais c'est une question très fondamentale sur la compréhension des autorisations du système de fichiers et leur rôle spécifique dans le concept de sécurité du système, donc cela s'applique beaucoup plus à ce super utilisateur.
JakeGould

Réponses:

31

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.

Ma question concerne les autorisations du système de fichiers (en particulier les autorisations de style Unix) et leur lien avec la sécurité.

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.

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é.

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' rootaccès à un système distant est considéré comme un grand prix. Accédez rootà 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.

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.

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.

JakeGould
la source
6
Je pense que cette réponse manque quelque chose d'assez évident qui mérite d'être mentionné. La sécurité n'est pas seulement une sécurité informatique. Les modèles de menace sont également importants, car les attaquants sont humains: les attaquants veulent généralement éviter de quitter les sentiers. Si vous donnez à quelqu'un un accès physique à un appareil mais que vous le faites de manière à ce que l'appareil ne puisse pas être falsifié sans laisser de trace (que ce soit des empreintes digitales aux marqueurs de falsification à la destruction de l'appareil lors de la manipulation), cela peut en effet augmenter la sécurité de votre système malgré le fait que les données soient physiquement accessibles.
Mehrdad
@Mehrdad Ce commentaire pourrait avoir un sens dans une discussion plus large sur la sécurité et les protections contre l'accès, mais cette question - et ma réponse connexe - se concentre sur les concepts généraux des autorisations du système de fichiers logique par rapport à l'accès physique de base à un système. Et dans ce cas, ces préoccupations concernant les empreintes digitales et les fabricants de sabotage ne sont que la conjecture d'un scénario fantastique. Si quelqu'un a un accès physique à des données non cryptées, il a un accès physique à des données non cryptées et 9 fois sur 10, il n'est pas nécessaire d'être un «maître voleur / espion» pour accéder à ces données à ce stade.
JakeGould
15

Vos trois points:

  1. 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 rootou l'autorisation d'accéder aux unités de disque brutes et logiques.

  2. 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.

  3. 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 rootexploits, 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.

cde
la source
Les règles d'autorisation FS sont assez robustes. Ils fonctionnent tant qu'aucun attaquant n'a de racine. La sémantique du système de fichiers POSIX (et les extensions spécifiques à Linux) sont soigneusement conçues pour ne pas ouvrir plus d'accès que vous ne pouvez en obtenir 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.
Peter Cordes