Classe pour les parents: VirWare
Les virus et les vers sont des programmes malveillants qui s'auto-répliquent sur des ordinateurs ou via des réseaux informatiques sans que l'utilisateur en soit conscient; chaque copie ultérieure de tels programmes malveillants est également capable de s'autoreproduire. Les programmes malveillants qui se propagent via des réseaux ou infectent des machines distantes lorsque le "propriétaire" (par exemple Backdoors) ou les programmes qui créent plusieurs copies qui ne peuvent pas s'auto-répliquer ne font pas partie de la sous-classe Virus and Worms. La caractéristique principale utilisée pour déterminer si un programme est classé comme un comportement distinct dans la sous-classe Virus and Worms est la manière dont le programme se propage (c'est-à-dire comment le programme malveillant répand des copies de lui-même via des ressources locales ou réseau). en tant que fichiers envoyés en pièces jointes, via un lien vers une ressource Web ou FTP, via un lien envoyé dans un message ICQ ou IRC, via des réseaux de partage de fichiers P2P, etc. Certains vers se propagent sous la forme de paquets réseau; ceux-ci pénètrent directement dans la mémoire de l'ordinateur et le code du ver est alors activé. Worms utilise les techniques suivantes pour pénétrer des ordinateurs distants et lancer des copies d'eux-mêmes: ingénierie sociale (par exemple, un message électronique suggérant que l'utilisateur ouvre un fichier joint), exploitation des erreurs de configuration réseau (par exemple copie sur disque entièrement accessible) failles dans la sécurité du système d'exploitation et des applications. Les virus peuvent être divisés en fonction de la méthode utilisée pour infecter un ordinateur: virus de fichiers virus du secteur de démarrage virus de script virus de virus Tous les programmes de cette sous-classe peuvent avoir des fonctions de Troie supplémentaires. Il convient également de noter que de nombreux vers utilisent plus d'une méthode pour diffuser des copies via des réseaux. Les règles de classification des objets détectés avec des fonctions multiples doivent être utilisées pour classer ces types de vers.Classe: Virus
Les virus se répliquent sur les ressources de la machine locale. Contrairement aux vers, les virus n'utilisent pas les services réseau pour propager ou pénétrer d'autres ordinateurs. Une copie d'un virus n'atteindra les ordinateurs distants que si l'objet infecté est, pour une raison quelconque non liée à la fonction virale, activé sur un autre ordinateur. Par exemple: lors de l'infection de disques accessibles, un virus pénètre dans un fichier situé sur une ressource réseau un virus se copie sur un périphérique de stockage amovible ou infecte un fichier sur un périphérique amovible un utilisateur envoie un courrier électronique avec une pièce jointe infectée.Plus d'informations
Plateforme: DOS
No platform descriptionDescription
Détails techniques
C'est un virus polymorphe parasite résidant en mémoire. Il accroche INT 1, 21h et s'écrit à la fin de EXE et au début des fichiers COM.
Ce virus utilise un moyen de cryptage à la volée très complexe - à tout moment où le code viral est exécuté, la seule instruction présente sous forme non cryptée - tous les autres codes de virus sont cryptés. Le virus fait cela en utilisant des astuces avec le mode de traçage INT 1. Lorsque le code viral reçoit le contrôle, il accroche INT 1 et après l'exécution de toute instruction de virus (sauf plusieurs opcodes spéciaux - voir "Guide de l'utilisateur Intel 80x86") INT 1 est appelé. Le virus accroche cet appel, déchiffre le code ci-dessous de l'instruction en cours et crypte le code ci-dessus.
instruction précédente - cryptéeinstruction actuelle - nettoyerinstruction suivante - cryptéeAprès avoir exécuté "l'instruction en cours", le virus prend le contrôle du crochet INT 1, crypte "instruction en cours" et décrypte "instruction suivante". En conséquence, à tout moment soit tout le code du virus est crypté, soit une seule instruction présente en clair. De plus, le virus crypte / déchiffre pas exactement le code de l'instruction précédente / suivante, mais quelques octets / mots à plusieurs décalages par rapport à l'adresse de l'instruction en cours. En conséquence, le flux d'instructions du virus ressemble à un "spot" mobile avec une instruction "clean" au milieu du spot, du code partiellement chiffré dans le reste du spot, et du code complètement chiffré en dehors du spot.
Il y a trois blocs de code qui ne peuvent pas être cryptés de cette façon - ils sont INT1 gestionnaire (en / decryptor), le code de départ dans les fichiers infectés et le gestionnaire INT 21h dans la copie du virus TSR. Le code de début dans les fichiers et INT 21h handler hook INT 1 lors du contrôle de réception, passer en mode de traçage et passer le contrôle aux routines principales - routine d'installation dans les fichiers et le code INT 21h gestionnaire principal dans la copie du virus TSR.
La routine d'accrochage INT 1 et, bien sûr, le gestionnaire INT 1 lui-même ne sont pas cryptés, ils sont simplement polymorphes - le virus utilise un moteur polymorphe assez fort pour générer le code de INT 1 au point d'entrée dans les fichiers infectés. 1 et 21h gestionnaires.
Code de virus dans le fichier infecté:
Entrée: + ------------- +| INT 1 talonneur | - polymorphe| - - - - - - - |INT 1 gestionnaire | - polymorphe| - - - - - - - |Virus principal | - crypté par INT 1code: TSR || installateur, || etc |+ ------------- +Code de virus en mémoire:
INT 21h + ------------- +entrée: | INT 1 talonneur | - polymorphe| - - - - - - - |INT 1 gestionnaire | - polymorphe| - - - - - - - |Virus principal | - crypté par INT 1| code: INT 21h |gestionnaire, || etc |+ ------------- +Par conséquent, toutes les «entrées» du code viral (adresse de début dans les fichiers infectés, gestionnaire INT 1 et code de démarrage INT 21h) sont polymorphes et le code viral principal est crypté - c'est une tâche assez importante pour les chercheurs antivirus. procédures pour ce type de virus.
Moteur polymorphique
La différence entre les moteurs polymorphes ordinaires et le moteur de "DarkParanoid" est le fait que dans ce virus il n'y a pas de boucle de décryptage en code polymorphe - il ne fait que crocheter INT 1 et commence à tracer le code principal. Ce code dans différents fichiers infectés peut apparaître sous une forme différente - tout en générant ce code le virus sélectionne aléatoirement les registres, les commandes, les modes d'accès aux données et ainsi de suite.Similaire pour le gestionnaire INT 1 qui contient une routine de cryptage / décryptage à la volée. Ce code dans différents fichiers est également différent - plus de dix fonctions de cryptage sont sélectionnées au hasard dans l'ensemble: ADD, SUB, XOR, NEG, NOT, ROR, ROL, ainsi que l'accès par octet et mot. Des registres aléatoires sont également utilisés, et le décalage du gestionnaire INT 1 est sélectionné au hasard dans certaines limites.
Installation et INT 21h Handler
Le virus "DarkParanoid" est résident en mémoire, donc lorsque le fichier infecté est exécuté, le virus s'installe dans la mémoire du système. Pour ce faire, il accroche INT 1 pour activer sa routine de décryptage / décryptage à la volée, alloue un bloc de mémoire système dans la mémoire DOS conventionnelle ou dans les blocs mémoire supérieurs, s'il y a la quantité de mémoire libre nécessaire (environ 7,5K). Le virus copie ensuite son code là-bas, croise INT 21h et renvoie le contrôle au programme hôte.Lors de l'installation de la mémoire résidente, le virus exécute également son moteur polymorphique pour générer des routines de décryptage afin de les utiliser tout en infectant les fichiers. Le virus n'appelle plus ce moteur et, en conséquence, le virus va déposer le même code polymorphe dans les fichiers jusqu'au prochain redémarrage et réinstallation. Cela peut tromper un utilisateur et des chercheurs de virus - le virus essaie de les rendre sûrs que c'est juste un virus crypté mais pas polymorphe, de sorte qu'il est possible de le détecter simplement par un seul motif hexadécimal.
Le gestionnaire de virus INT 21h intercepte les appels FileOpen / Create (AH / AX = 3Ch, 5Bh 6C00h), l'appel FileClose (AH = 3Eh) et la stratégie Get Allocation (AX = 5800h).
La dernière fonction (Get Allocation Strategy) est utilisée comme "Are You Here?" appel. Cet appel est effectué par le virus lors de l'installation de la mémoire résident. Avant cet appel, le virus met dans le registre CX le numéro de l'année en cours plus les numéros du mois et du jour actuels (Obtenir la date actuelle par INT 21h avec AH = 2Ah, puis CX = CX + DX, puis appel INT 21h avec AX = 5800h).
La copie de virus résidant en mémoire l'intercepte, obtient la date et l'année en cours et compare leur addition au registre CX. Si elles sont identiques, la copie TSR du virus ne renvoie pas le contrôle à la copie de virus active, mais le transmet au programme hôte par lui-même. Il semble être une astuce anti-débogage assez efficace - si le virus est déjà résident en mémoire, un tel appel ordinaire comme GetAllocationStrategy ne retourne pas au débogueur.
Quand un fichier est ouvert, le virus compare son extension de nom avec "COM" et "EXE", et dans le cas de ces extensions enregistre le handle du fichier pour l'infecter quand le fichier sera fermé. Par conséquent, seuls les fichiers exécutables sont infectés lorsqu'ils sont ouverts (par exemple, lorsqu'ils sont analysés par un programme anti-virus, ou sauvegardés dans une sauvegarde), ou copiés.
Avant d'infecter un fichier, le virus vérifie le nom du fichier et n'infecte pas plusieurs programmes et utilitaires anti-virus - il n'infecte pas les fichiers commençant par les lettres AV, SC, CL, GU, NO, FV, TO, TB (AVP , AVG, SCAN, CLEAN, GARDE, TBAV, etc.)
Le virus écrit son code à la fin des fichiers EXE et modifie les champs nécessaires dans l'en-tête du fichier EXE. Dans le cas du fichier COM, le virus écrit son code au début du fichier et enregistre le fichier d'origine en commençant à la fin du fichier.
Tout en infectant le virus augmente la taille du fichier par nombre variable - il écrit dans le fichier 5297 octets de code de virus réel (crypté) ainsi que le nombre aléatoire sélectionné (jusqu'à 1001 octets) de données de l'adresse sélectionnée aléatoire dans la mémoire système. Le virus aligne également la longueur des fichiers EXE sur le paragraphe (16 octets) avant l'infection, et n'infecte pas les fichiers COM d'une longueur supérieure à 60 Ko. Pour séparer les fichiers COM et EXE, le virus vérifie l'en-tête du fichier (tampon MZ / ZM EXE).
Pour séparer les fichiers infectés et non infectés, le virus utilise un astuce standard avec l'horodatage du fichier - après avoir infecté un fichier, le virus définit son horodatage sur 2 secondes et vérifie cette valeur avant l'infection.
Trigger Routine
La routine de déclenchement est exécutée par le virus en fonction de son compteur aléatoire - en infectant chaque fichier le virus avec une probabilité de 1/4000 affiche le texte "DaRK PARaNOiD" au milieu de l'écran, puis des bruits par le haut-parleur PC et secoue l'écran en utilisant VGA caractéristiques de la carte.Le virus contient également le texte à l'intérieur du code de son moteur polymorphe:
MOTEUR DE CHIFFREMENT ÉTERNEL
En savoir plus
Découvrez les statistiques de la propagation des vulnérabilités dans votre région statistics.securelist.com