Comprendre : Les virus sous GNU/Linux

Bonjour :slightly_smiling:

J’ai lu récemment un article sur les virus sous GNU/Linux : mag-securs.com/spip.php?article12983

J’aimerais comprendre plusieurs choses :

  • Peut-on être infecté par un virus qui touchera les fichiers ELF par simple navigation sur le Web, comme on peut être infecté sous Windows ?
  • De tels virus (via ELF, add-ons ou macros) peuvent-ils profiter de failles pour obtenir un accès root ?
  • Est-il possible d’envisager que ces virus endommage (irrémédiablement ou non) le système ou même le /home ?

Plus généralement, doit-on craindre ces menace et si oui pourquoi et dans quelles mesures ?

Merci à toutes les bonnes volontés qui prendront la peine de me répondre :slightly_smiling:

Bah, en toute logique, si un virus essaie d’avoir les privilèges root, il doit avoir le mot de passe root, ce qui implique qu’il a une méthode de crackage de mots de passe, et ça fais plutot lourd pour un simple virus…

Ensuite on a un argument classique du open source (certains préfèrent free software, ce n’est pas mon cas): les failles de sécurité sont plus rapidement trouvées, et plus rapidement corrigées grace a la disponiblité des sources.

Pour ce qui est d’attraper des virus juste en navigant sur Internet, sous Linux comme sous Windows tu peux configurer ton browser selon les niveaux de sécurités élevés, ensuite le seul autre moyen de pénétrer pour un virus est une faille de sécurité autre, mais si un virus se propage sans interaction humaine, on apelle cela un ver.

En tout cas espérons que Linux ne subira jamais un assaut de virus aussi intense que Windows, parce que mème si la sécurité est clairement meilleure sous Linux, ce n’est pas suffisant pour retenir l’énorme quantité de virus et vers qui attaquent Windows.

Mais un virus (ou un ver) pourrait utiliser un exploit comme celui de ssh corrigé avec le noyau 2.6.26 pour obtenir des droits en root non ?

Donc techniquement un ver pourrait profiter d’une faille de firefox ou d’un greffon, de pidgin, etc pour se propager sur GNU/Linux, exactement comme il le fait pour Windows ?

Le problème (ou pas), c’est que ce n’est pas aussi simple en réalité que dans ton article :wink:

Et puis personnellement, je n’installe que très rarement des paquets ne provenant pas des dépôts officiels :wink: Ça aide…

Après, je dirais que c’est un peu comme sous Windows (je vais me faire taper sur les doigts), mais c’est aussi à l’utilisateur de faire attention, même si il y a tout de même bien moins de risques.

Sous Windows je n’ai connu qu’un problème de sécurité, le ver Blaster. Si mes souvenirs sont bons il exploitait une faille RPC. Sous GNU/Linux je n’ai jamais eu de problèmes. De plus, AMA un ver comme Blaster ne peut pas se propager sur un système de type Unix comme sur Windows. Donc je dirais que le plus dangereux est évité.

Je suppose également qu’un ver dans un plugin de Mozilla, ne peut pas faire énormément de dégâts.

Le premier virus que j’ai rencontré, c’était en 1985 et consistait en un bout de code qui se rejoutait au fichier éxécutable sous DOS. À chaque éxécution du fichier ce programme recherchahit un fichier .com ou .exe et infectait le fichier. J’écrivais un livre à Jussieu à l’époque et j’avais du déssambler le code (1860 octets seulement). Ce code était un «Vendredi 13», il formattait le disque dur ce jour là. (Pour la petite histoire, il était buggué (il se rajoutait sur lui même et les éxécutables prenaient du poids), je l’avais débuggué et modifié pour qu’à la place de formatter le disque dur, il affichait toutes les 10 minutes «BigBrother is watching you!», et je l’ai remis à Jussieu. Si vous avez choppé ça à l’époque, c’est moi désolé). Tous ces virus nécessitaient l’éxécution du programme vérolé et se transmettaient par disquette.
À l’apparition de Windows, il y a eu automatisation: par exemple déclenchement automatique de programme à l’insertion d’une disquette, de la lecture d’un site. Sont apparus les premiers virus ne nécessitant aucune intervention de l’utilisateur. Ces virus modifiait le système et les fichiers systèmes ce qui était largement possible sous Windows avec pour un utilisateur normal. Lors de la généralisation des clefs USB, on a vu toute une famille de virus se développer parce que Windows éxécutait le programme déclaré dans «autorun.inf» sur la clef.

Linux est un système d’emblée prévu multiutilisateur donc avec des droits limités et précis pour l’utilisateur standard: Un utilisateur sous linux faisant «rm -Rf *» sous la racine ne démolit pas le système, l’équivalent sous Windows si. Voilà la première raison qui fait qu’un virus réellement nocif sous linux est très délicat à faire, on peut envisager des virus mais ceux ci ayant des droits standard ne pourront pas faire grand chose, au pire on supprimme tous les fichiers appartenant à cet utilisateur et le virus est supprimé. Le plus petit est un virus de 40 octets environ qui rajoutait une 20 de suivi d’un code javascript à la signature de l’utilisateur d’Outlook. Ce petit javascript était éxécuté à la lecture du mail et modifiait la signature du possesseur du compte. Redoutable ce truc. Un tel virus est parfaitement envisageable sous linux avec des lecteurs de mails éxécutant sans précaution les messages HTML reçus, par contre un virus de ce type repose sous la domination quasi totale d’un logiciel de lecture de courriel (ce qui est le cas sous Outlook). Je n’ai pas la moindre idée du seuil de domination nécessaire mais avec Mutt/Sylpheed/Kmail/Thunderbird/etc sous linux, il n’y a rien qui s’impose vraiment.

Les vers sont un peu différents, les plus violents que j’ai vu sont Swen et Opaserv mais il y en a d’autres et je ne connais pas très bien ces trucs. Opaserv se contentait de scanner des adresses IP sur Internet et essayait de monter de disque dur de la machine distante et de s’installer. J’avais mis sur mon serveur à l’époque un script qui chaque fois qu’une machine essayait de monter mon disque dur (façon réseau Netbios) montait le disque dur C: de cette machine et lui déposait un message sur son bureau et à la racine), en quelque mois j’ai atteint dfes milliers de machines (messages signés adresse/pageconcernee.php?page=http://sitevise.labas.fr” permet au pirate de charger et d’éxécuter un script php avec des droits apache, tu peux essayer à la main en cherchant sur google des adresses avec “?url=” ou “?page=” dedans, puis tu les appelles en mettant une adresse précise après page= ou url=, si tu constates que la page visée est chargée, tu as trouvé une faille et tu peux te lancer dans le piratage du serveur, il y a 4-5 ans, tu mettais un quart d’heure à une demi heure pour trouver un tel site), cette faille est tellement simple qu’il y a des scripts automatiques cherchant automatiquement les sites et les compromettant. On peut considérer ces scripts comme des vers même si au démarrage, ce sont des scripts de piratage. Beaucoup de botnets sont fait comme ça (du moins étaient, c’est un peu vieux comme technique maintenant). Pour de tels vers, l’OS du serveur et le serveur Web utilisé n’ont pas d’importance, c’est le code PHP qui est la fragilité.

Les virus destinés à enquiquiner un utilisateur donné ont quasiment disparus, maintenant ce sont des virus à bas bruit essayant de ne pas se faire remarquer et permettant d’intégrer la machine dans un botnet.

Donc si je comprends bien, il est quasiment inimaginable de voir un vers sous Linux qui se répandrait automatiquement via le Web et supprimerait le /home ou profiterait d’une faille pour avoir un accès root pour détruire le système ?

Tu veux dire «tu consultes un site et hop ta machine est compromise!». Dès que tu effectues une applet java, tu peux envisager l’éxécution d’un programme qui te flingue ton répertoire mais ce ne sera pas un virus ni un vers, il ne se propagera pas. Il pourrait être combiné avec une diffusion type vers de serveur à serveur ou serveur -> client -> serveur, ce serait effectivement un vers ou un virus dans ce cas. Mais il serait inefficace (dédié un type de machine précis), vite repéré et sur une machine linux, mis à part le cas éphémère d’une faille noyau (dont le temps d’exploitation est en semaines), serait très facile à supprimmer.

En fait, le point fort de GNU/Linux ce n’est pas tant une infaillibilité à toute épreuve qu’une réactivitée accrue par rapport aux OS de Microsoft. Je me trompe ?

Autrement dit, si on ne peut être piraté/verollés/espionnés, ce n’est pas parce que notre OS est infaillible (comme le croient certains), mais parce que la communauté de développeurs est réactive. C’est bien cela ?

C’est aussi car on ne travaille pas en administrateur comme sous windows.

Mieux, n’importe qui peut identifier d’où vient le problème, les fichiers de configuration sont éclatés et en clair: il est très facile d’en vérifier l’intégrité, de même que pour les binaires. Le rôle de chaque binaire est identifié. Bref, le système est ouvert. De plus effectivement, si un problème apparait, ne serait ce que ceux qui sont concernés ont la possibilité de le résoudre immédiatement et d’en faire profiter les autres. Pour Windows, seul microsoft peut résoudre le problème, il faut leur signaler (prévoir plusieurs mois), qu’ils prennent conscience de l’importance et le résolvent: des failles élémentaires d’internet explorer étaient encore présentes 3-4 ans après leur signalement dans les versions distribuées, voilà le vrai pbm.

fare.tunes.org/articles/virus.html

Bien, je vous remercie tous pour vos réponses qui m’ont éclairées efficacement.

KNA, je prendrai le temps de lire cet article tranquillement.

Merci à tous !

Les virus sont, m’est avis, d’une façon générale, avant tout un problème d’ “interface chaise/clavier”.
Après concernant ce qu’à dit fran je ne suis pas tout à fait d’accord sur un point : il est possible pour un utilisateur d’avoir un compte “limité” (ce que je fais sur les machines winwin que j’installe de temps à autres), ce qui évite une partie du souk. Je ne pense pas qu’un “compte limité” puisse rm -rf * C: et qu’il n’y ait plus rien derrière (en même temps je n’ai pas testé), mais ce que j’ai pu voir en tentant de faire des mises à jour depuis ce compte a eu tendance à me prouver le contraire (je ne pouvais grosso modo rien faire en utilisateur simple). Ce mode d’utilisation est très pénible par moments (je ne sais même pas si mon pc winwin peut graver des cds en “simple utilisateur” …), mais a tendance, peut être à tort, à me rassurer.

Après pour la question du virus ou du ver je suis d’accord : cela me parait difficile de produire quelque-chose de “dangereux” pour l’instant, par contre question “pourrissage de vie de l’utilisateur” je pense qu’il y a pas mal de choses à faire.
Pour ce qui est de l’accès root, je pense qu’il y aurait ptet moyen avec certaines règles de sudo trop laxistes qu’un programme non désiré puisse éventuellement en profiter (trop de permissions ou une durée pendant laquelle sudo ne requiert pas de passe par exemple). Mais bon après la vraie question est pour l’instant que, vu le parc de machines sous unix, et vu le parc de machines sous winwin, on va rester peinards encore quelques temps, c’est quand les OS de type unix deviendront “normaux” et utilisés par le grand public au même titre que windows ou mac os qu’il faudra réellement se poser des questions quand au comportement à adopter, en tant qu’utilisateur “moyen” face à cela.
Le problème se pose différemment pour les admins linux, bien sur, qui, eux, ont déjà à garder l’oeil ouvert.

Je n’ ai pas lu le deuxième article cité, mais,

Il y a un bon moment déja j’ ai lu un article sur les virus, en gros ça disait:

-Un virus utilise une faille du système

-Sur linux la faille est corrigée assez vite pour bloquer toute nouvelle attaque(par des bénévoles)

-Sur Windows la faille n’ est pas corrigée(par des mecs qui gagnent bien leur vie mais la politique de microsoft n’ est pas de sécuriser le truc) mais les anti-virus sont mis au courant pour bloquer les failles détectées

en gros sous linux on corrige les problèmes et sous windows les anti-virus font fortune car microsoft s’ en fout et laisse des portes largements ouvertes…

ohhh putainnnng …

zataz.com/news/18783/psyb0t- … virus.html

:smt013

[quote]« Vous êtes vulnérables uniquement si votre équipement dispose d’une architecture de type MIPSel à processeurs MIPS, s’il dispose d’une interface d’administration Web, telnet ou SSH et si la sécurité de votre mot de passe est faible »
[/quote]

mot de passe faible --> attaque force brute?!
Je ne vois pas le rapport avec le fait que la bestiole soit sous MIPS, ARM ou autre! Il y en a un? Ça ressemble à du FUD tout ça.

Pour l’attique, c’est le classique je me connecte et essaye login/password = admin/admin ou ééquivalent par contre après, il faut y mettre un pgm de controle qui est plus spécifique, c’est là où l’architecture doit jouer…

Salut,

Combien de fois n’avons nous pas vu sur ce forum (et d’autres) donner la solution pour pouvoir être root sur des applications graphiques ?

Combien de fois êtes vous passé sous root pendant plusieurs minutes (des siècles) pour effectuer une tâche ?

Combien d’entre vous connaissent “sudo timestamp=0” et n’utilisent que lui ?

Franchement je ne me souviens pas avoir été + de 2 ou 3 minutes en root sur une appli graphique, en revanche j’aimerai pouvoir virer le mot de passe quand l’écran de veille se met en route :wink:

Salut,

Ces deux lignes dans votre sudoers et plus jamais besoin de passer en su ! Seule la commande que vous venez de passer est privilégiée, pour la prochaine vous devrez à nouveau redonner le MDP (on est pas sous Ubuntu)

Defaults:gerard timestamp_timeout=0 gerard ALL=(ALL) ALL