Developpez.com

Plus de 2 000 forums
et jusqu'à 5 000 nouveaux messages par jour

Delphi : un virus toucherait 30% des développeurs
30 000 fichiers infectés en une journée !

Le , par Emmanuel Chambon, Correspondant Actualités
Virus : un malware touche les logiciels développés en Delphi

Dès les 24 premières heures de diffusion, l'éditeur ESET intercepte 30 000 fichiers infectés.
Voici le texte du communiqué.
MISE A JOUR 20 AOUT
Les programmes et applications légitimes écrit en langage Delphi ont été exposés à Win32/Induc.A. – un nouveau virus qui ne vise pas directement les fichiers .exe, mais infectant les IDE Delphi à la place. Dans les faits, toute application compilée sur une machine infectée sera infectée à son tour.

Le langage de programmation Delphi est généralement employé dans des applications requérant des bases de données importantes, principalement utilisées par les banques et autre institutions traitant de grandes quantités de données.

Certaines d’entre elles ont déjà déclaré avoir été infectées par Win32/Induc.A. Le virus n’est pas destructif en lui-même mais utilise des méthodes innovantes et peu communes pour se propager rapidement.

Grâce à son système d’avertissement anticipé – ThreatSense.Net, ESET a collecté plus de 30 000 échantillons uniques. Dans la plupart des cas, le logiciel à l’origine de cette infection était un logiciel légitime avant son infection.

“ Notre préoccupation porte sur la période durant laquelle le virus n’était pas détecté et a été apte à infecter un nombre important d’ordinateurs. En conséquence, de nombreux logiciels corrompus ont été distribués aux utilisateurs directement par les éditeurs. Nous regrettons que la réaction de la plupart de ces éditeurs ai été de conclure à un faux-positif, » déclare Juraj Malcho, responsable du Virus Lab d’ESET.

Il semblerait que les premiers échantillons du virus datent d’avril 2009. La raison pour laquelle le virus est passé si longtemps inaperçu est que le code Delphi est très volumineux, alors que le corps du virus en lui-même est plutôt petit.

En outre, il semblerait que le virus était distribué en parallèle de chevaux de Troie, sa taille et sa charge non destructive lui permettait d'éviter sa détection par les moteurs antivirus, pendant que ces derniers se focalisaient sur les chevaux de Troie.

Sur les milliers d’échantillons de trojans infectés par ce virus et interceptés par ESET, les trojans classés comme Win32/Spy.Banker sont les plus abondant. Win32/Spy.Banker cible principalement les utilisateurs de PC russes et brésiliens.


C'est l'éditeur Sophos qui a fait cette découverte. C'est selon eux une première : Win32.Induc serait le premier ver à cibler les applications développées en Delphi.
"Ce malware se propage uniquement. Il n'efface aucun fichier, et n'a rien de malveillant. En revanche, s'il a infecté la machine d'un développeur, son application sera bloquée par les antivirus" explique Nick Bilogorskiy, responsable de la recherche de virus chez Sonicwall.
De nombreux logiciels actuellement proposés en téléchargement ou disponibles sur des CD-Rom seraient déjà infectés. Parmi eux, Any TV Free 2.41 et Tidy Favorites 4.1.
"Je pense que 30% des développeurs en Delphi sont touchés" estime Nick Bilogorskiy.
Un chiffre plus qu'inquiétant !

Source : Blog Sophos (en anglais)

Qu'en pensez-vous ?


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de nostroyo nostroyo - Membre confirmé https://www.developpez.com
le 26/08/2009 à 11:47
Je viens de faire joujou avec le code de ce virus pour voir si mac Affee le détecte et NON! Je pense que mon anti vir n'est pas à jour!

En tout cas un moyen de se prévenir est de créer un fichier sysconst.bak à coté du dcu dans les lib. Car en fait INDUC (puisque c'est son nom) essai de créér ce fichier et s'il n'y arrive pas il quitte avant d'avoir lancer le code de réplication.

tuto sur son fonctionnement (en anglais) ici
Avatar de chaplin chaplin - Membre expérimenté https://www.developpez.com
le 26/08/2009 à 14:53
John Colibri a levé le voil sur ce sujet dans un article intitulé
Virus « Delphi » : plus de peur que de mal pour les développeurs

afin de clarifier la situation.

Avatar de Droïde Système7 Droïde Système7 - Membre expérimenté https://www.developpez.com
le 26/08/2009 à 15:00
Elle est aussi fournie comme toutes les autres librairies des composants en source au format .pas.

Mister Colibri...

@+
Avatar de Paul TOTH Paul TOTH - Expert éminent sénior https://www.developpez.com
le 26/08/2009 à 15:32
hum...depuis le temps que je me dis que le framework .Net propose tout ce qu'il faut pour diffuser largement des virus (code compilable à la volée, compilateur livré avec le framework, etc...) c'est finalement Delphi qui est visé, c'est amusant
Avatar de Jipété Jipété - Expert éminent https://www.developpez.com
le 26/08/2009 à 22:11
Salut à tous.

Ma pierre à l'édifice :

D7 perso donc sans .PAS dans Delphi7\Lib sauf ceux des composants que j'ai créés et/ou téléchargés.
D7 installé dans D:\Program Files (ouais, je fais rien comme tout le monde, ) quand mon w2k est installé dans C:\Winnt.

En ce moment je code très très peu, quasiment rien.
Par contre j'ai téléchargé pas mal de Freewares orientés traitement vidéo ces derniers temps.

Et dans mon dossier Delphi7\Lib ben j'ai la surprise de découvrir un sysconst.bak (notez la casse) à côté d'un SysConst.dcu qui, lors d'un "clic droit / Propriétés", me fait bipper mon Avira comme quoi Induc-A bla bla !

Les deux fichiers sont datés du 6 septembre 2002 à 8:00:00, le .dcu pèse 18 956 octets et le .bak 12 408 octets.

Bon, j'ai mis le cd d'install (D7 Studio, merci Paul ) et suis allé piocher dans VCLFR\Lib un SysConst.dcu de 12 408 octets pour remplacer le moisi, et voilà, quoi.

Me reste plus qu'à lancer un scan sur toutes mes partoches, mes clés USB, oublier mes dernières sauvegardes et les refaire après nettoyage, toussa toussa, quoi.

[edit] Après le scan, je n'avais qu'un seul fichier infecté, un bricolo compilé vite fait il y a 3 semaines. Donc suppression de l'exe, recompil et rescan = OK.
Maintenant, quant à savoir où/quand/comment j'ai chopé cette s4l0p3r!e, nobody knows...
Rappel : D7 perso, donc tout le monde peut y avoir droit... Scannez, les copains ! [/edit]
Avatar de mziat mziat - Nouveau Candidat au Club https://www.developpez.com
le 27/08/2009 à 15:03
Salut à tous,

l’éditeur de Delphi, a publié sur son blog des informations afin d’informer au mieux les utilisateurs du produits. Ces informations prennent la forme d’un jeu de questions/réponses dont voici la traduction :

Quelles versions de Delphi sont touchées ?

Ce virus n'affecte que les versions de Delphi 4 à 7 éditées entre 1998 et 2002. Le virus W32/Induc n'affecte pas les versions plus récentes de Delphi de la v2005 à la v2009 ou la dernière v2010.

Quelles sont les versions de Delphi qui ne sont pas touchés ?

Ce virus ne touche pas les versions actuelles de Delphi. Delphi 2005, 2006, 2007, 2009, et le nouveau Delphi 2010 ne sont pas affectés par ce virus.

Qu'est-ce que ce virus ?

Ce virus est appelé "Compile-a-virus". Il est également dénommé "W32/Induc-A".

Est-ce l'IDE Delphi ou le langage qui contient ce virus ?

Non, les versions de Delphi qui sont vulnérables à cette attaque (v4 à v7) ne viennent pas avec ce virus. Il est "récupéré" en téléchargeant et en exécutant un fichier EXE ou une DLL infectés.

Delphi Prism est-il affecté ?

Non, Delphi Prism n'est pas affecté par ce virus.

Qu'est-ce que ce virus fait ?

Ce virus ne fait rien pour les versions de Delphi plus récente que Delphi 7 (2002). Si une machine est infectée, le virus W32/Induc-A ne fait rien de malicieux et ne créé pas de dommages autres que la propagation elle-même.

Ce que le virus fait est de s'insérer dans une installation de Delphi version 4, 5, 6 ou 7. Puis, quand une version infectée de Delphi construit un EXE ou une DLL, il s'insère dans le binaire résultant. Lorsque le code pour cette DLL ou EXE est exécuté, il recherche alors des versions installées de Delphi 4 à 7 et se reproduit dans toutes les installations qu'il trouve. Ensuite, cette installation produira à son tour des fichiers EXE et DLL qui chercheront à se reproduire partout où ils seront exécutés.

Encore une fois, le virus ne cherche que les installations de Delphi 4 à 7. Plus précisément, s’il constate une de ces versions de Delphi, il cherche le fichier SYSCONST.PAS. Il ouvre ce fichier, injecte du code à l’intérieur, compile le fichier, et remplace la version livrée de SYSCONST.DCU avec la nouvelle version infectés. Il supprime ensuite le fichier créé SYSCONST.PAS. (Le virus ne modifie pas les fichiers *.PAS sur le système). Le code injecté provoque simplement l'exécution de code contenu dans SYSCONST.DCU pour la réplication virale.

Est-ce un problème unique à Delphi ?

Ce virus particulier cherche Delphi 4 à 7, mais ce type de virus n'est en aucune façon unique à Delphi et pourrait affecter n'importe quel environnement de développement d’Eclipse à Visual Studio.

Qui est vulnérable à cette infection ?

Les installations de Delphi 4 à 7 peuvent être affectée par W32/Induc-A. Si un fichier EXE ou DLL infecté est exécuté sur une machine sans Delphi 4 à 7 le virus ne fait rien. Les Antivirus commencent maintenant à rapporter cette infection comme un virus avec binaires infectés.

Comment puis-je savoir si j'ai été infecté ?

Détecter si votre installation Delphi a été infectée est assez simple. Elle affecte uniquement la version Delphi 4 à 7. La meilleure façon de savoir si vous avez été infecté est de rechercher la présence de SYSCONST.BAK dans le répertoire <delphi>\lib de votre installation de Delphi. Le virus crée ce fichier dans le cadre de ses actions. Si ce fichier est présent, vous êtes probablement infecté (sauf si vous savez que vous avez créé vous-même ce fichier pour une raison quelconque).

Si vous avez un SYSCONST.BAK dans votre répertoire \lib, ouvrez le fichier SYSCONST.DCU dans un éditeur hexadécimal ou même dans un éditeur de texte comme Notepad. Recherchez le code "CreateFile(pchar(d+$bak$),0,0,0,3,0,0);" dans ce fichier DCU. S’il est présent, vous êtes infecté.

Si je l'ai, comment ai-je pu être infecté ?

Si vous avez le virus, vous l’avez obtenu en exécutant un fichier EXE ou DLL sur votre machine qui a déjà été infecté par ce virus. Delphi est un outil très populaire en développement, en particulier parmi les ISV et les développeurs MicroISV.

Quelles sont les implications si j’ai été infecté ?

Si votre machine est infectée, les fichiers EXE et DLL que vous produisez peuvent infecter toute machine non protégée où votre fichier EXE ou DLL est exécuté et qui a Delphi 4 à 7 installé.

Mais notez encore une fois que ce virus ne fait rien à part se propager lui-même. Toutefois, si vous constatez que vous avez le virus et que vous avez distribué ces fameux fichiers infectés, il est prudent d'aviser les destinataires de ces fichiers pour qu'ils lisent cette FAQ pour plus d'informations.

Comment puis-je supprimer le virus de mon installation de Delphi ?

Pour supprimer les virus, vous devriez :

1. Supprimez le fichier infecté SYSCONST.DCU sur votre système
2. Remplacez-le avec le fichier SYSCONST.DCU de votre média d'installation. Les versions de Delphi 4 à 7 comprennent une installation complète de leur image sur CD, donc vous pouvez simplement copier ce fichier à partir de votre CD d’installation. Sinon vous pouvez également Copier et renommer le fichier SYSCONST.BAK présent sur votre disque en SYSCONST.DCU. Ce fichier étant en effet une copie de votre version initiale de SYSCONT.DCU.

Comment puis-je m'assurer qu'il ne revienne pas ?
Ou
Je n'ai pas le virus. Comment puis-je m'assurer de ne pas être infecté ?

Ce virus n'affecte pas les versions de Delphi 2005 à 2010. Toutefois, si vous utilisez d'anciennes copies de Delphi 4 à 7 alors le moyen le plus efficace de veiller à ce que vous n'obtenez pas le virus est de déplacer votre copie de DCC32.EXE vers un répertoire différent. L'IDE de ces anciennes versions ne nécessite pas le compilateur en ligne de commande, cela n'affectera donc pas l'exécution du produit.

Vous pouvez également empêcher le virus de faire quelque chose à votre installation en laissant un fichier nommé SYSCONST.BAK au même endroit où vous l'avez trouvé. Le fichier peut être vide. Le virus vérifie la présence de ce fichier, et s’il le trouve, il ne fait rien. La présence d'un fichier SYSCONST.BAK vierge dans le même emplacement que votre fichier SYSCONST.DCU fera donc en sorte que le virus ne fasse rien.

En outre, vous pouvez marquer tous les fichiers dans votre répertoire \lib en lecture seule. Cela permettra d'éviter le virus de les modifier.

Comment puis-je savoir si j'ai des fichiers exécutables sur mon système, qui propagent ce virus ?

Il s'agit d'un virus relativement nouveau, et les logiciels anti-virus commencent à peine à le reconnaître. Un certain nombre de fournisseurs ont déjà identifié les binaires avec cette infection, et sans doute, la plupart suivront bientôt. La meilleure façon de détecter le virus est de s'assurer que votre logiciel anti-virus connaît W32/Induc-A et d’exécuter l’antivirus sur votre système.

Les binaires que je produis sont infectés, que puis je faire ?

Bien sûr, vous devez d'abord débarrasser votre système du virus (Voir au dessus). Le seul moyen de se débarrasser du virus dans un fichier EXE ou DLL est de recompiler le binaire avec un système propre.

Cela affecte t-il les paquets construits avec Delphi 4 à 7 ?

C’est possible mais peu probable. Par défaut, les paquets ne sont pas touchés. Un package peut être infecté si vous choisissez de ne pas le lier avec notre propre fichier RTL.DCP et que vous le liez manuellement avec un fichier SYSCONST.DCU infecté. L'écrasante majorité des développeurs n'auront pas fait cela, et si vous l’avez fait, alors vous serez capable de recompiler les paquets avec un système propre.

Que puis-je faire d’autre pour me protéger ?

Il existe un certain nombre de choses supplémentaires que vous pouvez faire pour vous protéger contre ce virus. Comme mentionné ci-dessus, vous pouvez marquer tous les fichiers DCU dans votre répertoire \lib en lecture seule. Et pendant que vous y êtes, vous pourriez envisager aussi de mettre tout le code source dans le répertoire <delphi>\source en lecture seule.

Pour être absolument sûr, vous pouvez faire une comparaison de fichiers entre votre répertoire \lib et le répertoire \lib sur l'image d'installation sur votre CD.

Si vous avez besoin d'un outil de comparaison de fichiers, il existe un outil open source appelé FreeFileSync qui peut être récupéré à l'adresse :

http://sourceforge.net/projects/freefilesync/

Gardez à l'esprit qu'il est possible que vous ayez modifié vous-même ces fichiers DCU, donc si ils vous semblent différents, assurez-vous que vous vous ne les avez pas modifié. Jusqu'à présent, ce virus affecte uniquement le fichier SYSCONST.DCU.

En tout état de cause, il est fortement recommandé de vous assurer que les fichiers dans le répertoire \lib d’installation de Delphi 4 à 7 correspondent à ceux de l'image d'installation sur votre CD.

Est-ce que le C++Builder est touché ?

Non, il est théoriquement possible pour un EXE C++Builder d'être infecté, mais un développeur C++Builder aurait à prendre une série assez longue d'étapes et de changements et de recompiler un certain nombre de choses différentes sur son système pour que le virus affecte les binaires C++Builder.

Je produis un shareware et/ou une application créée avec Delphi ? Qu'est ce que cela signifie ?

Si vous utilisez des versions plus récentes de Delphi 2005 à 2010 alors cela ne vous concerne pas. Si vous utilisez une version antérieure de Delphi 4 à 7, alors vous devriez vérifier que votre machine n'est pas infectée. Si elle est infectée il faut la nettoyer.

Si vous avez distribué des exécutables infectés à vos clients, vous devez immédiatement recompiler votre produit et distribuer une nouvelle version nettoyée. Il serait également prudent d'aviser les destinataires de fichiers pour qu'ils lisent cette FAQ pour plus d'informations. Comme les programmes anti-virus commencent à détecter ce virus dans les exécutables, les clients seront identifier les binaires infectés. Et vous devriez être prêts, à leur fournir un binaire propre.

Y a t-il des préoccupations particulières pour un fournisseur de composants ?

Les fournisseurs de composants qui utilisent des versions de Delphi 7 ou plus âgés doivent prendre les mêmes précautions et suivre les étapes décrites dans le présent document. Même s'ils sont infectés, des fournisseurs de composants ont une faible probabilité d'infecter leurs clients via leurs composants. La raison en est que le virus ne se rattache pas à d'autres fichiers DCU. Il ne modifie pas le code source que vous créez. Il est possible, comme indiqué plus haut, de lier le virus dans un paquet (BPL), mais dans ce cas là c’est que vous avez délibérément évité l'utilisation des Run-Time Library Delphi et explicitement fais le lien avec le fichier SYSCONST.DCU.

Que faire pour protéger Delphi contre ce virus à l’avenir ?

La meilleure ligne d'action est bien sûr de gérer une station de développement sécurisé avec un anti-virus toujours à jour. Bien que ce type de virus puisse être construit pour attaquer n'importe quel environnement de développement, nous recherchons des façons d'aider les développeurs à prévenir de futures attaques sur leurs systèmes.

article publié sur le site : solutions-logiciels
Source...
Avatar de e-ric e-ric - Membre expert https://www.developpez.com
le 31/08/2009 à 23:23
Salut à tous

Si ce virus cherche le fichier SysConst.pas, le modifie temporairement, le compile puis restaure l'ancienne version, une solution simple pour se protéger consiste peut-être à renommer le fichier SysConst.pas (pas le dcu) de manière bidon, ce fichier ne sert pas pendant les compilations puisque le dcu est disponible dès l'installation de Delphi, le seul problème est qu'alors ce fichier n'est plus disponible avec le raccourci Ctrl+Entrée dans l'EDI. Mais bon qui s'ne sert ? Il contient uniquement des ressources String.

Qu'en pensez-vous ?

Cdlt
Avatar de e-ric e-ric - Membre expert https://www.developpez.com
le 31/08/2009 à 23:27
Note : je m'interroge tout de même sur les motivations ou pire sur l'état mental de la personne qui a créé cette cochonnerie. Faut vraiment avoir du temps à perdre.

Je me pose tout de même des questions sur la miraculeuse survenue de ce virus sur des versions plus maintenues, le hasard est parfois curieux. Embarcadero aurait-il une face sombre ???

Cdlt
Avatar de Droïde Système7 Droïde Système7 - Membre expérimenté https://www.developpez.com
le 01/09/2009 à 9:28
Salut à tous

Si ce virus cherche le fichier SysConst.pas, le modifie temporairement [...]

Je ne crois pas que le code de ce virus soit aussi basique que cela...

Pour quelle raison alors un camarade plus haut cité, sous D7 perso , à choppé ce virus ?

Je rappelle que les versions perso ne possèdent pas de fichiers .pas.

Ne le sous-estimez.pas.... !

@+
Avatar de e-ric e-ric - Membre expert https://www.developpez.com
le 01/09/2009 à 12:19
Citation Envoyé par Droïde Système7  Voir le message
Salut à tous

Je ne crois pas que le code de ce virus soit aussi basique que cela...

Pour quelle raison alors un camarade plus haut cité, sous D7 perso , à choppé ce virus ?

Je rappelle que les versions perso ne possèdent pas de fichiers .pas.

Ne le sous-estimez.pas.... !

@+

Je ne faisais que rappeler le comportement du malware par John Colibri, je n'y ai pas été confronté (j'ai vérifié mon installation). Une solution peut-être plus générale consiste à installer proprement Delphi et ses patches éventuels, puis d'obtenir et conserver (sous forme de fichier texte) la liste alphabétique des fichiers devenus sensibles (dcu, dcp...) et de surveiller de temps à autres le contenu et comparant cette liste avec une liste actualisée. La comparaison est facilitée avec des outils tels WinMerge.

Pour obtenir la liste, la commande dir suffit avec les options /S /ON que l'ion redirige vers un fichier. Cela permet de détecter les différence de taille ou de date de modification.

Cdlt
Avatar de cantador cantador - Membre averti https://www.developpez.com
le 02/09/2009 à 10:22
oui, il n'est pas dangereux etc etc..
Mais comme il est très volatil (un peu comme la grippe A..)
il finit pas infecter tous les exécutables compilés avec delphi quelles que soient leurs extensions (.exe, .dll,.scr etc..)

Et comme tout virus, il finit par ralentir le PC...

Kaspersky le trouve et l'éradique sans difficulté.

cantador
Offres d'emploi IT
Spécialiste systèmes informatiques qualité et référent procédure H/F
Safran - Ile de France - Colombes (92700)
Architecte technique des systèmes d'information H/F
Safran - Ile de France - Évry (91090)
Architecte et intégrateur scade/simulink H/F
Safran - Ile de France - Vélizy-Villacoublay (78140)

Voir plus d'offres Voir la carte des offres IT
Contacter le responsable de la rubrique Accueil