IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Assembleur Discussion :

Quelques instructions dangereuses en Assembleur


Sujet :

Assembleur

  1. #1
    Membre régulier
    Inscrit en
    Décembre 2005
    Messages
    225
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 225
    Points : 113
    Points
    113
    Par défaut Quelques instructions dangereuses en Assembleur
    Salut tous , moi et trois copains ( la team s'est grandie ) sommes en train de créer un antivirus libre et gratuit multi-plateformes , mais nous ne sommes pas rapides à la récolte des signatures virales alors nous avions eu l'idée de créer un moteur de scan comportementale , et pour ça nous avons besoin de quelques instructions dangereuses en assembleur ( par exemple , un bout de code qui essaie d'effacer le MBR , ou qui essaie de formatter une partition , ou qui essaie de changer la structure du disque dur en écrasant une partition ou en modifiant sa taille .... ) .

    Merci beaucoup pour toute réponse .

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Août 2003
    Messages
    247
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 247
    Points : 276
    Points
    276
    Par défaut
    Etrange, étrange...
    Le concept d'antivirus multiplateforme me parait assez douteux. Par essence, l'antivirus est tellement proche de l'OS et de la machine qu'il est vain d'essayer de faire un code portable.
    Quant à la question, je n'en sais rien. Mais toi qui te lance dans la programmation d'un antivirus, tu devrais savoir...

  3. #3
    Membre régulier
    Inscrit en
    Décembre 2005
    Messages
    225
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 225
    Points : 113
    Points
    113
    Par défaut
    Je m'y connais , je ne me suis pas lancé sans rien connaitre , je sais quelques instructions dangereuses , mais j'ai besoin d'autres instructions dangereuses pour renforcer notre antivirus .

    Et il sera multi-plateformes car il n'utilise pas de librairies externes , il n'a besoin que d'un compilateur C++ pour fonctionner .
    Et pour toutes les plate-formes ne pouvant pas faire fonctionner un compilateur C++ , nous prevoyons une version du code source en Assembleur , car on sait que les anciennes machines peuvent faire marcher un Assembleur !

    Merci pour toute réponse .

  4. #4
    Membre régulier
    Inscrit en
    Décembre 2005
    Messages
    225
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 225
    Points : 113
    Points
    113
    Par défaut
    Vraiement aucun qui peut m'aider ?
    n'a jamais quelqu'un de vous crée un programme en assembleur qui peut détruire le MBR ? ou toute autre chose dangereuse ?

  5. #5
    Responsable Pascal, Lazarus et Assembleur


    Avatar de Alcatîz
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2003
    Messages
    7 945
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2003
    Messages : 7 945
    Points : 59 441
    Points
    59 441
    Billets dans le blog
    2
    Par défaut
    Bonjour !
    Citation Envoyé par Selenite
    Le concept d'antivirus multiplateforme me parait assez douteux. Par essence, l'antivirus est tellement proche de l'OS et de la machine qu'il est vain d'essayer de faire un code portable.
    +1 : chaque OS a ses propres failles

    Pas question en tout cas de répertorier ici tous les trucs et astuces du petit géniteur de virus ou du petit hacker...

  6. #6
    Membre régulier
    Inscrit en
    Décembre 2005
    Messages
    225
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 225
    Points : 113
    Points
    113
    Par défaut
    Je n'ai pas dit tous les OS , mais seulement les OS pouvant faire marcher un compilateur C++ ( GNU est conseillé ).

    Mais s'il vous plait pouvez vous me fournir des instructions dangereuses en ASSEMBLEUR ?

  7. #7
    Membre éclairé

    Inscrit en
    Juin 2004
    Messages
    1 397
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 1 397
    Points : 763
    Points
    763
    Par défaut
    ClamAV existe pour windows, linux et autres.
    Donc, pas de raison que la notion de multi-plateforme soit absurde .
    Pour connaitre les problèmes que tu pourrais avoir, il faudrait savoir ce que tu souhaites passer en asm, dans ton code.
    Les dangers sont toujours liés au programmeur ^^.

  8. #8
    Membre expérimenté
    Avatar de Juju_41
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Février 2003
    Messages
    974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Février 2003
    Messages : 974
    Points : 1 557
    Points
    1 557
    Par défaut
    Bonjour,

    Citation Envoyé par progman
    ClamAV existe pour windows, linux et autres.
    Donc, pas de raison que la notion de multi-plateforme soit absurde .
    Tout dépend de ce que fait l'anti-virus. Si il fait une recherche de signatures virales à partir d'une liste de définitions de virus, en effet, un logiciel de ce type peut-être multi-plateforme

    En revanche, et si j'ai bien compris, ce que cherche bouazza92, c'est des "instructions dangereuses", donc ce serait une recherche pseudo-intelligente qui identifierait les virus non pas avec une signature, mais en fonction du code machine.

    Pour répondre à la question, il n'existe pas d'instruction dangereuse en assembleur (éventuellement des suites d'instructions mais là tout dépend de l'OS).

    Avis perso : même si votre équipe est conséquente, je pense que cette idée est très peu réalisable

    Bon courage

  9. #9
    Membre régulier
    Inscrit en
    Décembre 2005
    Messages
    225
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 225
    Points : 113
    Points
    113
    Par défaut
    Oui c'est ce que j'ai dit , une suite d'instructions en assembleur .
    S'il vous plait , pouvez vous me fournir des suites d'instructions en assembleur en précisant l'OS et l'architecture ( i386 , i586 , i686 , PowerPC , Motorola ....)
    Merci pour toute réponse

    PS : notre antivirus fait les deux , recherche à partir de signatures virales , et analyse comportementale , car lorsqu'un nouveau virus apparait et que nous n'avons pas encore mis à jour la base de signatures , alors les utilisateurs ne peuvent pas etre à l'abri de ce virus , c'est pourquoi j'ai pensé à un scan comportemental pour qu'il nous aide pendant les mises à jour !

  10. #10
    Membre régulier
    Inscrit en
    Décembre 2005
    Messages
    225
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 225
    Points : 113
    Points
    113
    Par défaut
    Citation Envoyé par Alcatîz
    Bonjour !
    Citation Envoyé par Selenite
    Le concept d'antivirus multiplateforme me parait assez douteux. Par essence, l'antivirus est tellement proche de l'OS et de la machine qu'il est vain d'essayer de faire un code portable.
    +1 : chaque OS a ses propres failles

    Pas question en tout cas de répertorier ici tous les trucs et astuces du petit géniteur de virus ou du petit hacker...
    Tu m'étonne là , c'est pour but de defendre les utilisateurs des virus , et pas d'en créer !
    Si tu ne me crois pas , voici le site officiel de OurSheep , va voir "à propos de notre team" , tu verras que j'y figure car mon nom est SaadEddie Bouazza ( je suis l'admin ) , et va voir "OurSheep-AV project" et là tu verras qu'on veut vraiment réaliser un antivirus et pas des virus !!!!

  11. #11
    Membre expérimenté
    Avatar de Juju_41
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Février 2003
    Messages
    974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Février 2003
    Messages : 974
    Points : 1 557
    Points
    1 557
    Par défaut
    Je vais essayer de vous montrer, sans rentrer dans les détails, que c'est, à mes yeux, difficilement réalisable : prenons un exemple pour de l'assembleur x86 avec DOS comme OS.
    La réécriture du MBR du disque dur peut être faite via l'interruption 13h ... mais il y a bien trop de manières de le coder.

    L'appel à l'interrution par exemple :
    peut aussi être réalisé en faisant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    pushf
    call 0000h:004Ch
    Il y a aussi la possibilité d'insérer des instructions inutiles pour brouiller la détection telles que NOP et des nombreuses possibilités d'inscrire une valeur dans un registre.

    Exemple :
    peut aussi s'écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    mov ah,03h
    mov al,01h
    mais aussi
    .. et j'arrête là parce que la liste n'a pas de fin

  12. #12
    Membre régulier
    Inscrit en
    Décembre 2005
    Messages
    225
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 225
    Points : 113
    Points
    113
    Par défaut
    Bah oui je sais , il y'a de nombreuses possibilités , mais ce qui de NOP , on sait son opcode ( son code en héxadécimal ) donc notre antivirus va l'ignorer , mais le fait que mov ax,0102h par exemple est égale à mov ah,01h et mov al,02h me fait rire , car on peut intégrer toutes les maniéres de coder ça dans une base de codes dangereux, mais faire que le programme reconnaitra mov ah,01h et mov al,02h comme mov ax,0102h est difficile car là il faut lui ajouter un code d'un assembleur libre ( genre NASM ou FASM ) pour qu'il puisse gérer ça sans probléme .

    Mais maintenant donnez moi s'il vous plait des codes dangereux en assembleur , et je vais moi m'y pencher à trouver d'autres maniéres de les coder , mais s'il vous plait , au lieu de me donner int xxh , donnez pushf et call xxxxhxxxh .

    Merci pour toute réponse et merci Juju de m'avoir signalé l'instruction NOP ( je vais faire pour qu mon programme ignore son opcode ) et merci de m'avoir montré les piéges qu'il y a à cause des nombreuses maniéres de coder ces instructions .

  13. #13
    Membre chevronné
    Avatar de Forthman
    Homme Profil pro
    conception mécanique
    Inscrit en
    Janvier 2005
    Messages
    702
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Tarn et Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : conception mécanique
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 702
    Points : 1 905
    Points
    1 905
    Par défaut
    Tu peux aussi avoir un bout de code qui va modifier un autre bout de code
    pour le rendre dangereux ...

    J'avais fait la demo quand j'etait au Lycee (il y a 15 ans)
    J'avais recupere un petit executable en *.COM qui etait un virus de quelques octets et qui etait detecte pas l'antivirus du prof.

    J'avais recupere ces donnees, ajoute une valeurs (je ne sais plus la quelle) a chaque octet, et place ce code modifie a la suite
    de "mon" code qui faisait une soustraction a ces octets sans signification
    avant de faire un petit jmp au debut...

    resultat : le virus n'etait plus detecte, mais fonctionnait encore
    il avait juste pris quelques octets de plus

    juste pour dire qu'il n'y a pas vraiment de code dangereux

    a+ Francois

  14. #14
    Membre régulier
    Inscrit en
    Décembre 2005
    Messages
    225
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 225
    Points : 113
    Points
    113
    Par défaut
    Ok , alors avez vous des idées pour le fonctionnement de l'analyse comportementale ?
    sinon , je vais revenir aux signatures virales , mais nous cherchons des personnes pretes pour maintenir notre base de signatures virales , car nous n'en avons que 1302 .
    Et merci pour ta réponse Forthman , ton virus m'interesse , tu peux me l'envoyer par email ? mais si c'est EICAR , oublie ce que je t'ai dit car EICAR figure déja dans notre base de signatures .

    Merci d'avance pour toute réponse .

  15. #15
    Membre chevronné
    Avatar de Forthman
    Homme Profil pro
    conception mécanique
    Inscrit en
    Janvier 2005
    Messages
    702
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Tarn et Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : conception mécanique
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 702
    Points : 1 905
    Points
    1 905
    Par défaut
    Oulla non, je ne me rappelle meme plus son nom
    C'etait juste pour pouver au prof que meme le dernier antivirus du marche
    ne pouvait ien contre un nouveau virus (et la, on avait pas encore internet !)

    A mon avis, tu peux oublier les virus pour DOS
    Et meme ceux pour WIN95

    Il y a 2 ans, j'avais encore WIN95 et aucun antivirus, et je n'ai jamais
    rien attrape.

    Pour ce qui est du coup de main, desole mais le monde des virus/antivirus
    ne m'a jamais interesse...

    a+ Francois

  16. #16
    Membre régulier
    Inscrit en
    Décembre 2005
    Messages
    225
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 225
    Points : 113
    Points
    113
    Par défaut
    ok mais excuse moi , Win95 et DOS sont vulnérables par les virus !
    Toi tu n'a pas été infecté car peut etre que ton PC n'était pas relié à internet !

  17. #17
    Membre chevronné
    Avatar de Forthman
    Homme Profil pro
    conception mécanique
    Inscrit en
    Janvier 2005
    Messages
    702
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Tarn et Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : conception mécanique
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 702
    Points : 1 905
    Points
    1 905
    Par défaut
    si, il l'etait
    Mais il faut croire que les "createurs" de virus ne sont plus interesses par
    ces vieux systeme

    a+ Francois

  18. #18
    Membre régulier
    Inscrit en
    Décembre 2005
    Messages
    225
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 225
    Points : 113
    Points
    113
    Par défaut
    Ouais on peut dire comme ça , mais il ne faut pas croire que Windows 95 et DOS ont un niveau de sécurité accru !
    Ok , est ce que quelqu'un ici pourra nous expliquer le fonctionnement de l'analyse comportemental ? ou bien est ce que quelqu'un ici est pret pour maintenir notre base de données virales ?

    Merci d'avance pour toute réponse .

  19. #19
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2003
    Messages : 38
    Points : 43
    Points
    43
    Par défaut
    Pour la BDD de virus, il existe une base communes a beaucoup de societes.
    Je crois qu'il se nomme vet.dat ou quelque chose comme ca suivant les logiciels.

    Pour l'analyse d'instruction, j'ai l'impresion que tu ne comprend pas trop le domaine auquel tu t'attaque.
    Loin de moi l'idee d'etre mechant,mais je veux juste dire, comme beaucoup l'ont fait avant moi sur ce post, qu'il n'y a pas d'instructions dangeureuses sur PC ou alors elles le sont toutes.
    En effet, ecrire la MBD d'un disque dur n'est juste qu'une ecire sur le disque dur avec sur un secteur particulier,. L'interet ne serait donc pas de verifier le moyen utilisé mais plutot l'action : toutes les ecritures du disque (si je reste sur ton exemple) et verifier qu'il n'ecrit pas a l'adresse de la MBD (ca doit etre dans les premiers secteurs du disque).

    Ensuite, c'est vrai que pour le cote multi-plateforme, je reste septique, non pas que ton antivirus ne puisse pas etre executer sur un Linux ou Windows mais plutot qu'il fasse bien son travail sur ces plateformes.
    En effet, sur Windows, il existe certaines failles qu'il n'existe pas sur d'autres OS, les facon d'agir sont differentes (sur Windows, on tentera de passer par ntdll qui est chargee a une adresse fixe alors que sous Linux on fera autrement (je connais pas linux)). Bref, c'est un cas particulier a chaque fois et je pense qu'il faut en fait au moins un expert sur chaque OS que tu veux cibler.

  20. #20
    Membre régulier
    Inscrit en
    Décembre 2005
    Messages
    225
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 225
    Points : 113
    Points
    113
    Par défaut
    Ok , j'ai trouvé un nouveau membre pour ma team , et moi et lui avons l'idée de créer un émulateur PC , qui simule un disque dur qui est en réalité un fichier vide , et une memoire virtuelle qui aussi n'est qu'un fichier vide , puis nous ferons du reverse engenering pour avoir le code assembleur du programme à scanner , et nous vérifions les instructions qui tentent d'accéder à la mémoire , mais nous les executerons de façon que la mémoire est la mémoire virtuelle , c'est la meme chose pour le disque dur , ce qui sera comme la technologie SandBox d'un antivirus ( désolé , je ne me souviens plus de son nom , peut etre que c'est VirusKeeper ... ) , et nous vérifions les changements du fichier simulant le disque dur pour voir si un de ses secteurs a été detruit , et ....

    Je sais , ça sera difficile, mais nous avons déja une trés large base de données d'opcodes pour le reverse engenering .

    Et merci de m'avoir dit qu'il n'y a pas d'instructions dangereuses , car sans vous , je mettrai un antivirus qui ne détecte aucune instruction dangereuse vu qu'elle peut changer mais elle fonctionne .

    A+ Bouazza

Discussions similaires

  1. Générer une instruction inexistante en assembleur
    Par sali2801 dans le forum x86 32-bits / 64-bits
    Réponses: 11
    Dernier message: 29/04/2013, 18h34
  2. [Débutant] Explications sur quelques instructions en Assembleur
    Par voodka2007 dans le forum x86 32-bits / 64-bits
    Réponses: 4
    Dernier message: 01/01/2009, 21h47
  3. Réponses: 6
    Dernier message: 12/01/2008, 20h56
  4. Etude de toutes les instructions de l'Assembleur
    Par kapac dans le forum x86 16-bits
    Réponses: 3
    Dernier message: 10/09/2007, 12h42
  5. Question pour quelque instruction Windows
    Par ..::snake::.. dans le forum Windows
    Réponses: 4
    Dernier message: 11/06/2007, 14h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo