web-dev-qa-db-fra.com

Pourquoi cette commande peut-elle déverrouiller mon écran de verrouillage sans mot de passe? (Question de sécurité)

Je travaille dans une entreprise informatique, qui a commencé ici il n'y a pas si longtemps. Beaucoup d'entre nous utilisent Linux et j'ai découvert un problème ou un problème de sécurité avec Ubuntu. Dans l'état actuel des choses, le verrouillage de l'écran est inutile dans le cas où un processus activé par l'utilisateur exécuterait une certaine commande: gnome-screensaver-command --lock ou loginctl unlock-session

Aucune des commandes ne nécessite de mot de passe pour réactiver mon poste de travail et, honnêtement, j'estime que cela est assez dangereux (ou du moins, supprimer la sécurité entourant le verrouillage de l'écran). Je m'attendais à ce qu'il demande un mot de passe lorsque je tente de rentrer dans l'environnement de bureau.

J'ai remarqué ce comportement lors du développement de ma propre fonctionnalité de verrouillage Bluetooth. Si quelqu'un s'éloigne du PC, l'écran se verrouille. Mais je ne m'attendais pas à ce qu'il soit si facile de le déverrouiller.

Y a-t-il des discussions précédentes à ce sujet? Je trouve ça très bizarre, c'est supposé être comme ça.

2
Denny

Non, ce n'est pas une faille dans la sécurité des écrans de verrouillage

Qu'attendez-vous que se passe-t-il si vous agissiez de la même manière pour des raisons valables? Dites, vous utilisez un ordinateur différent et vous SSH dans votre ordinateur habituel et exécutez la commande à distance?

C’est quelque chose que nous faisons réellement là où je travaille, car nous avons des problèmes étranges d’économiseur d’écran et nous n’avons pas compris pourquoi - notre problème empêche une personne de déverrouiller légitimement l’ordinateur, afin qu’elle ne puisse pas y revenir. Ils marchent généralement vers l'ordinateur le plus proche, ssh vers celui qui est verrouillé, et le déverrouillent à distance, puis reviennent. Donc, ce que vous avez décrit se passe en fait tout le temps sur mon lieu de travail.

Ce n'est pas une faille de sécurité parce que votre ordinateur devrait ​​faire ce que vous lui dites, et à l'ordinateur votre compte d'utilisateur vous appartient .

Cela pourrait donc être une limite à la sécurité, un cas que les mesures de sécurité ne couvrent pas, mais pas une faille dans la sécurité existante. Cela reviendrait à dire que les clôtures normales ont un défaut en ce sens qu’elles n’empêchent pas les objets de grimper ou de survoler celles-ci - non, ce n’est pas un défaut, c’est une limite à leur sécurité qui peut être appliquée à d’autres mesures. préoccupation.

Analogie avec le monde réel

En tant qu'analogie physique, vous décrivez des crimes dans lesquels des voleurs volent votre clé de la maison lorsque vous ne le regardez pas, prenez-le quelque part pour en faire une copie, puis remettez l'original avant de vous en rendre compte ... et vous suggérez qu'il s'agit d'un défaut de sécurité avec des clés qui peut être résolu en interdisant les services de copie de clés. Cela n'interdirait pas la copie de clé, car cela n'interdirait que le service public ... les gens copieraient toujours les clés, tout comme les gens pourraient tout de même introduire des malwares sur votre ordinateur si vous les débloquiez.

Comment augmenter la sécurité

Le déverrouillage de proximité Bluetooth vous parlez de sons excessifs, mais s'il s'agit vraiment d'un problème de sécurité majeur pour votre site, c'est l'un des meilleurs moyens de faire. Vous n'avez probablement même pas besoin de développer cela vous-même, car il existe probablement des produits qui le font.

Pour continuer l'analogie, la proximité Bluetooth serait comme avoir une alarme qui se déclenche si votre clé de la maison a été déplacée trop loin de vous. Cela nécessiterait que les voleurs fassent leur travail dans votre dos avec vous à proximité; toujours possible, mais plus difficile.

Certaines autres méthodes de sécurité peuvent impliquer de former les gens à toujours verrouiller leurs écrans lorsqu'ils quittent leur bureau, ou même d’avoir une politique qui stipule que tous les ordinateurs doivent être verrouillés si l’utilisateur ne les voit pas.

C'est en fait une politique où je travaille. Si je m'éloigne de mon bureau même au coin de la rue pendant 60 secondes pour prendre un café (qui est à portée de main de mon bureau et que je peux jeter un coup d'œil au coin), et si j'oublie de verrouiller mon ordinateur en le faisant Je peux avoir des ennuis. Cela fait partie de notre politique de sécurité, et les gens sont réprimandés pour cela.

Une autre chose à faire serait de réduire les délais de verrouillage automatique. S'ils sont à 10 minutes maintenant, mettez-les à 1 minute ou moins. Cela peut être ennuyeux de lire une page de texte, mais si le problème de sécurité est suffisamment grave, il suffit que les gens s'en occupent.

Réduire le temps de verrouillage automatique empêchera votre scénario énoncé de se produire dans les cas où une personne passe quelques minutes après l'avoir quittée et constate que vous êtes parti et que votre ordinateur est déverrouillé. La vulnérabilité ne sera disponible que pour les personnes qui vous harcèlent activement et qui sont prêtes à attendre votre compte utilisateur quelques secondes après votre départ.

À emporter

100% de sécurité est impossible

Quoi que vous fassiez, il ne sera pas possible à 100% d'arrêter ce que vous décrivez. Quelqu'un peut renverser un ordinateur même si son utilisateur est présent. Quelqu'un pourrait passer chez vous pendant que vous êtes à votre bureau, soi-disant juste pour vous parler.

Hé, c'est le fichier ABC que vous avez? Pouvez-vous faire défiler vers le haut pour que je puisse vous signaler quelque chose?.

[glisse la clé USB dans l'ordinateur pendant que vous regardez le moniteur]

@ Paŭlo Ebermann a commenté "Votre attaquant ne tape même pas la commande du malware, son périphérique USB peut simplement prétendre être un clavier." Très vrai, merci d'avoir rendu le point encore meilleur. Suppression des étapes inutiles supplémentaires.

Et cela suppose que vous ne pouvez pas simplement demander à quelqu'un de gérer votre malware eux-mêmes . "Hé Bob, peux-tu essayer ma dernière version de notre logiciel? Je pense avoir corrigé le bogue." (Bob exécute ensuite le logiciel qu'il développe avec Tim, ne sachant pas que Tim a mis le malware dans sa version spécifique, puis Tim le supprime en 5 minutes.)

C'est tout ce qu'il faut, votre compte d'ordinateur est déjà compromis à 100%, , même s'il est verrouillé .

  1. Il est pratiquement impossible de protéger un compte utilisateur contre les actions entreprises par ce compte utilisateur, et

  2. Il est pratiquement impossible de garantir que les actions prises par ce compte correspondent exactement à ce que le propriétaire humain du compte souhaite.

Pour revenir à l'analogie ...

J'ai utilisé l'exemple de clé en raison de votre cas spécifique d'écran verrouillé, dans lequel l'écran verrouillé est la clé. Mais, comme l'a souligné le commentateur @ David Z, le problème est en réalité pire. Par analogie, le vol de clés est une préoccupation mineure, car des personnes habitent déjà chez vous à votre insu et qu’elles font ce qu’elles veulent toute la journée pendant votre absence, même si votre porte est verrouillée.

Si vous êtes chanceux , ils vous laisseront un désordre et vous reviendrez dans une maison qui semble manifestement saccagée. "Quoi ??? Si je suis chanceux ?" Oui, car le pire des cas est bien pire. Ils pourraient vivre dans votre maison pendant des années, toujours à la recherche d'eux-mêmes, afin de pouvoir continuer à vous voler et vivre dans votre maison pendant des années sans que vous ne le remarquiez. Ou même en utilisant votre maison comme plaque tournante d'activités criminelles, comme la vente de drogue ou la mise en gage d'objets volés.

Ce serait comme si les ordinateurs de votre bureau avaient tous des enregistreurs de frappe, des logiciels de contrôle à distance, téléchargeant en permanence toutes les données de votre entreprise, ou même étant consommés dans le cadre d'un botnet, de sorte que ces ordinateurs pourraient effectivement se livrer à une activité illégale chaque jour sans que vous le sachiez. . Tout ça alors que la porte est encore fermée.


Je viens de trébucher sur cette superbe blague XKCD et cela me rappelait cette réponse, alors je l'ai ajoutée. Notez la 5ème "vulnérabilité de sécurité" à partir du bas.

CVE-2018-?????: It turns out Bruce Schneier is just two mischevious kids in a trenchcoat.

16
Aaron

Dans les deux cas d'utilisation, ceux-ci semblent être des problèmes secondaires.

Si quelqu'un peut exécuter gnome-screensaver-command ou loginctl en tant que vous, à distance , votre maison, votre $ PATH, essentiellement votre ordinateur - à partir de la perspective de votre sécurité et de votre vie privée - est compromise.

Si quelqu'un tombe simplement sur votre ordinateur, il ne peut pas exécuter ce genre de choses.

43
Oli

Cela me rappelle cette question U & L à propos de l’accès root de Sudo. Oui , une commande s'exécutant sous votre compte utilisateur peut déverrouiller votre ordinateur. En effet, dans le modèle de sécurité de Linux, toute commande exécutée sous votre compte utilisateur vous concerne.

En réalité, il n'y a aucune différence entre une commande émise par un programme que vous avez lancé et une commande émise, que ce soit via l'interface graphique ou un terminal. Si vous exécutez un programme qui déverrouille automatiquement votre écran, votre écran est déverrouillé, car il n'y a pas de distinction entre cliquer sur un bouton déclenchant le programme et exécuter le programme d'une autre manière. Si vous exécutez un programme écrit par un attaquant malveillant, votre compte utilisateur est totalement et irrévocablement compromis. Un service écrit par cet attaquant pourrait effectivement déverrouiller votre ordinateur, mais il pourrait également permettre déjà un accès à distance à votre session ou faire tout ce que l'attaquant voudrait.

Donc oui, vous pourriez éventuellement configurer votre système pour autoriser uniquement un programme que fait demander à votre mot de passe de déverrouiller votre système. Mais si vous devez le faire, si vous essayez d'empêcher un programme malveillant, exécuté sous votre compte d'utilisateur, de compromettre votre compte d'utilisateur, alors vous avez déjà perdu.

TL; DR: Le programme peut le faire car il est déjà connecté en tant que vous. Vous pouvez le faire car c'est votre compte, tout comme vous le pouvez avec rm -rf ~. Les systèmes de type UNIX n’ont traditionnellement pas pour objectif de vous empêcher de vous tirer une balle dans le pied. Si vous ne pouvez pas contrôler ce qui fonctionne sous votre compte, vous avez déjà perdu le contrôle de votre compte.

14
timuzhti

D'autres réponses se concentrent sur les attaquants, où ce n'est absolument pas une faille de sécurité, car vous devez déjà avoir accès à l'exécution de cette commande.

Cependant, il y a une autre préoccupation ici. Dans une entreprise, la sécurité informatique doit pouvoir sécuriser les ordinateurs sans que l'utilisateur puisse modifier les paramètres de sécurité. Dans le cas d'un employé contrarié par des écrans verrouillés, celui-ci peut planifier un travail chronologique pour déverrouiller l'écran de manière régulière, ce qui permet de garder l'ordinateur entièrement déverrouillé. Cela affaiblit considérablement la sécurité d'un appareil/compte. Alors oui, c'est un problème. Un tel système n'est pas adéquat en termes de sécurité informatique de l'entreprise.

1
stefan

Ce n'est pas un risque de sécurité.

Si un attaquant est connecté en tant que vous (ou root) et est capable d'exécuter cette commande, il n'est pas obligé de le faire - il est connecté en tant que vous, afin qu'il puisse déjà exécuter n'importe quel programme en tant que vous.

0
AMADANON Inc.