Connexion
Abonnez-vous

Rombertik, le spyware qui pratique la terre brûlée s’il est détecté

Un malware particulièrement soupe au lait

Rombertik, le spyware qui pratique la terre brûlée s'il est détecté

Le 07 mai 2015 à 14h40

Rombertik est le nom d’un malware dont les caractéristiques sont étonnantes à plus d’un titre. Il a pour objectif de voler des informations, ce qui est assez classique, mais son comportement anti-détection est radical : il provoque un maximum de dégâts, avant de lancer la machine dans un cycle sans fin de redémarrages.

Un voleur véhiculé par une campagne de fishing classique

Les malwares ont leurs grandes phases. Il y a 20 ans, beaucoup de virus avaient surtout pour objectif d’empoisonner la vie des utilisateurs en détruisant leurs données. Avec l’explosion d’Internet, de nombreux pirates ont découvert qu’il y avait bien mieux à faire : voler des informations et les transmettre. Aussi, plus un malware pouvait rester caché sur une machine, plus longtemps il pouvait accomplir sa mission d’espionnage.

Rombertik fait partie des voleurs d’informations. Il n’est d’ailleurs pas particulièrement subtil. D’après l’équipe de sécurité Talos de Cisco, il tente de récupérer à peu près tout ce qui lui passe entre les mains, dans l’espoir d’obtenir des données un peu plus croustillantes, notamment des identifiants et des mots de passe.

Il infecte une machine le plus souvent en étant ouvert depuis un email. Ce dernier présente un texte qui ne pourrait tromper le moindre utilisateur un tant soit peu averti : le destinataire est invité à vérifier les spécifications par une entreprise qui se présente comme étant la Windows Corporation. Tout un programme. Si l’utilisateur ouvre le document, il se décompresse et se présente alors comme un document PDF, avec une miniature suggérant un listing. Ce qu’il n’est pas.

Un malware capable de s'échapper d'une sandbox

Il s’agit en fait d’un fichier .SCR, le format utilisé par Windows pour les écrans de veille. Le code de Rombertik y est contenu, mais Cisco ne dit pas si une ou plusieurs failles sont exploitées, ce qui est probablement le cas. À partir de la première exécution, une longue série d’étapes commence. Le malware réalise ainsi une première série de contrôles pour déterminer s’il est exécuté dans une sandbox ou pas. Si c’est le cas, il dispose de plusieurs mécanismes singuliers pour s’en échapper.

Une sandbox est toujours en place pour des raisons de sécurité et peut être accompagnée d’outils permettant d’analyser le comportement de ce qui s’y ébroue. Plutôt que de dormir et d’attendre son heure, Rombertik va écrire 960 millions de fois un simple octet en mémoire pour passer le temps, ce que certaines sandbox ne vont pas détecter comme suspect, tout en surchargeant les outils d’analyse. Selon Cisco, créer un log d’une telle activité produirait un fichier de plus de 100 Go. Si la sandbox tient le coup, Rombertik s’arrête alors de fonctionner. Si l'attaque fonctionne, le malware complètera alors avec d’autres mécanismes pour s’échapper de la zone mémoire isolée.

Rombertick

97 % de code inutile

Une fois à l’air libre, Rombertik crée un script pour être certain de s’exécuter au démarrage. Il se dédouble ensuite et se cache dans le dossier AppData. C’est la copie qui va faire l’essentiel du travail, et elle dévoile des caractéristiques étranges. Sous sa forme compactée, elle pèse en effet 1 264 Ko, alors que sous forme décompressée, le poids passe à… 28 Ko. En fait, 97 % du code de Rombertik ne sert strictement à rien : il contient 75 images inutiles et environ 8 000 fonctions qui ne sont jamais appelées. Cisco précise qu’il s’agit bien sûr d’une volonté, car une telle quantité de fonctions rend le travail d’examen beaucoup plus difficile.

À partir de là, le malware est actif et remplit donc sa mission d’espionnage. Mais ce qui rend Rombertik particulièrement « efficace », c’est le nombre de mécanismes mis en place pour se dérober aux outils d’analyse ou pour disparaître s’il est détecté. Et dans ce cas, l’utilisateur perdra sans doute de nombreuses données, Rombertik pratiquant la politique de la terre brûlée.

Détecté, Rombertik veut tout casser

Dans les premiers temps de son fonctionnement, le malware va lancer une dernière série de vérifications. S’il se « rend compte » qu’il est activement analysé, de manière manuelle ou automatique, il déclenche les hostilités. Il tente en premier de réécrire le MBR (Master Boot Record) sur le premier disque dur référencé par la machine (PhysicalDisk0). S’il en a la permission, l’opération réussit et la machine ne peut plus démarrer : le MBR est lu avant que le système d’exploitation n’entre en piste, et il faut alors des outils spécifiques pour le reconstruire. S’il n’a pas les droits suffisants, Rombertik sort l’artillerie lourde. Il va chercher les fichiers contenus dans les dossiers Documents et Settings\Administrator pour les chiffrer un par un avec une clé RC4 générée aléatoirement pour chacun. Quand le MBR a été réécrit ou que les fichiers ont été chiffrés, l’ordinateur est redémarré.

Rombertick

Les deux cas sont problématiques, même si techniquement la récupération des informations reste possible. Si le MBR a été réécrit, Rombertik en aura profité pour changer toutes les informations relatives aux partitions et ajouter un code qui provoque le redémarrage de la machine. En clair, l’ordinateur va redémarrer en boucle, jusqu’à ce que le disque soit extrait pour tenter de récupérer les données, ou que le système d’exploitation soit réinstallé.

La meilleure défense contre le malware est évidemment un antivirus qui supprimera la partie exécutable avant même qu’elle n’entre en piste. Et on ne le répètera de toute façon jamais assez : n’ouvrez jamais une pièce jointe qui vous paraît suspecte, soit parce qu’elle vient d’un contact qui ne vous enverrait pas ce genre de données, soit parce qu’elle émane d’un illustre inconnu.

Commentaires (105)

Vous devez être abonné pour pouvoir commenter.

Abonnez-vous
votre avatar

En 2015, on est pas encore capable de détecter un exe dans un fichier joint ?

votre avatar

la désinfection offline depuis un autre PC ou un Live-CD/USB, ça reste le meilleur moyen d’éviter ce genre de comportement du virus.

votre avatar







cyrano2 a écrit :



En 2015, on est pas encore capable de détecter un exe dans un fichier joint ?





C’est écrit dans la news.

faux PDF, “vrai” scr


votre avatar

Il s’est lever du mauvais pied le créateur du malware.<img data-src=" /><img data-src=" />

votre avatar

Vous me faites peur avec “Détecté, Rombertik veut tout casser”!

Du coup, si d’aventure je le choppe, je le laisse sur mon PC <img data-src=" />

votre avatar







luke95 a écrit :



Quelques questions suite à la lecture de cet article très INtéressant :



 – &gt; Il va chercher les fichiers contenus dans les dossiers Documents et Settings\Administrator



On me dit dans l’oreillette que le compte “Admin” est désactivé depuis un paquet de temps dans les versions de Windows récentes (Vista / 7 / 8 / 8.1),





–&gt; Il tente en premier de réécrire le MBR (Master Boot Record) sur le premier disque dur référencé par la machine (PhysicalDisk0)



Quid des systèmes UEFI Secure booté et des disques dynamiques (GPT) ?



Tout celà me parait quand même un brin archaïque…





“Bah mon XP marche encore, j’vois pas pourquoi j’irais filer des thunes à Micro$oft pour un autre truc !”

‘nough said <img data-src=" />


votre avatar

Tu as oublié le plus important : il veut surtout pas savoir comment ca marche.

D’autant que le peu d’explication qu’il accepte d’entendre ne lui convient pas

votre avatar







Alucard63 a écrit :



Pff à l’époque les virus allaient plus loin:



Techrnobyl pouvait même effacer ton BIOS dans certains cas, il se contentait pas d’essayer de péter ton MBR.



Les virus c’est vraiment plus ce que c’était.<img data-src=" /> <img data-src=" /><img data-src=" />



<img data-src=" /><img data-src=" /><img data-src=" /><img data-src=" />



<img data-src=" /><img data-src=" /><img data-src=" />





J’ai souvenir d’un virus qui modifiait le voltage du CPU et supprimait la limite de température avant le soft shutdown de sureté.



Très sympa <img data-src=" />


votre avatar

on appelle ça un programme d’overclocking codé avec les pieds le tout dans des moufles. <img data-src=" />

votre avatar

j’irais plus taper le createur dans ce cas la <img data-src=" />

votre avatar

Comment le virus fait-il pour s’échapper de la sandbox? La surcharger suffit?



Si vous avez des liens sur le mode opératoire des virus je trouve ça très intéressant.

votre avatar







geekounet85 a écrit :



la désinfection offline depuis un autre PC ou un Live-CD/USB, ça reste le meilleur moyen d’éviter ce genre de comportement du virus.









ludo0851 a écrit :



Vous me faites peur avec “Détecté, Rombertik veut tout casser”!

Du coup, si d’aventure je le choppe, je le laisse sur mon PC <img data-src=" />



Si j’ai bien compris, le fait d’ouvrir le fichier pour voir ce qu’il y a dedans devrait déjà déclencher sa colère <img data-src=" />


votre avatar

Par contre il y a un truc que je comprend pas c’est comment il fait pour s’échapper d’une sandbox. Écrire un octet mémoire en boucle va certes surcharger l’outil d’analyse, mais je ne vois pas comment ça permettrait de sortir.

votre avatar







Alucard63 a écrit :



Pff à l’époque les virus allaient plus loin:



Techrnobyl pouvait même effacer ton BIOS dans certains cas, il se contentait pas d’essayer de péter ton MBR.





J’ai eu ça la première semaine de mon embauche de Tech (il y a longtemps) … un IBM dont le BIOS avait été zappé par un virus sur disquette … sympa le truc !



Sinon les Malware actuels sont pas tous “bas du front”. J’ai eu quelques cas gratinés ces 6 derniers mois …


votre avatar

J’imagine qu’une fois qu’il a assez d’espace mémoire, il injecte le “vrai” code méchant à la place en espérant qu’une faille du système (donc hors de la sandbox) est présente.

votre avatar

Le plus lourdingue en entreprise étant surtout les virus “ransomware” qui crypte tes fichiers en échange d’une rançon.



Pour peu que l’Idi…heu…ton utilisateur se connecte sur le réseau, les bien foutus vont aller chiffrer aussi tous les lecteurs réseaux accessibles. Mieux vaut avoir une politique de backup aux petits soins…



&nbsp;D’après l’article, la surcharge ne sert qu’à outrepasser l’outil d’analyse, une fois qu’il est dans les choux le programme exécute la vraie élévation de privilège qui n’est donc plus analysé et passe comme une lettre à la poste.



Enfin, comme dit au dessus, c’est surtout vrai sur les mieux systèmes non mis à jours. Un vrai antivirus va détecter un truc louche directement. Même si je doute que la sandbox de l’économiseur d’écran soit une des priorités de microsoft…

votre avatar

Ces gars pourraient améliorer l’humanité s’ils mettaient leurs connaissances au service de la Force <img data-src=" />

votre avatar

&gt;le MBR est lu avant que le système d’exploitation

&gt;n’entre en piste, et il faut alors des outils spécifiques

&gt;pour le reconstruire



Il faut juste le CD d’installation de Windows en fait …



Adresse Web :

http://www.toutes-les-solutions.fr/phpbb/topic3044.html



<img data-src=" />

votre avatar







FRANCKYIV a écrit :



&gt;le MBR est lu avant que le système d’exploitation

&gt;n’entre en piste, et il faut alors des outils spécifiques

&gt;pour le reconstruire



Il faut juste le CD d’installation de Windows en fait …



Adresse Web :

http://www.toutes-les-solutions.fr/phpbb/topic3044.html



<img data-src=" />





Non.

Le MBR contient aussi la table des partitions.

Si tu n’as qu’une partition sur ton HDD oui ca va.

Si t’en as plus d’une, ca risque d’être un peu plus compliqué. De memoire comme ca fixmbr ne va pas scanner le disque pour retrouver les amorces de partitions.


votre avatar







Drepanocytose a écrit :



Non.

Le MBR contient aussi la table des partitions.

Si tu n’as qu’une partition sur ton HDD oui ca va.

Si t’en as plus d’une, ca risque d’être un peu plus compliqué. De memoire comme ca fixmbr ne va pas scanner le disque pour retrouver les amorces de partitions.







Au pire tu as l’option pour réparer le démarrage avec le CD.


votre avatar

Le plus gros virus, c’est encore la bêtise, et il a été implanté il y a déjà plusieurs milliers d’années <img data-src=" />&nbsp;



Et j’ai l’impression qu’avec le temps, il ne cesse de grandir !!

votre avatar

Et lui aussi, quand tu le pointe du doigt, il devient méchant <img data-src=" />

votre avatar

j’adore ce virus !

votre avatar







cyrano2 a écrit :



En 2015, on est pas encore capable de détecter un exe dans un fichier joint ?





En fait il existe un résultat fondamental plutôt contre intuitif qui montre qu’il est impossible d’être exhaustif. On sait depuis 1953 qu’il s’agit d’un problème indécidable. C’est à dire qu’il n’existe aucun algorithme capable de dire avec certitude ce que fait un programme simplement en lisant ses instructions (code source ou binaire) –&gt;&nbsphttp://www.bibsonomy.org/bibtex/207eadfff0be3322a169ba4ac8dad06a4/idsia



Deux petits exemples pour comprendre :







  • Le petit programme affichera (1, 2, 3) ou bien (2, 2, 2) &nbsp;car l’ordre d’interprétation des paramètres est à la discrétion du compilateur …



    int x = 1; printf(” %d %d %d\n”, ++x, x, x++);

    &nbsp;



  • Le calcul du module 5 % -3 ne peut être prédit car il existe trois méthodes de calculs produisant trois résultats différent. Le choix de la méthode de calcul est à la discrétion du compilateur et/ou de l’architecture de la machine.



    &nbsp;Il s’agit de petits exemple très simple alors imagine sur un programme plus complexe/massif et dont l’un des objectifs est justement d’embrouiller ceux qui essaient de l’analyser ;)



    De mon expérience, le seul truc efficace est la combinaison de plusieurs mécanismes de sécurité et principalement le couple crypto/contrôle d’accès que l’on a très bien formalisé dans les années 70 et qui commence à être disponible depuis 2003 avec l’arrivée de SELinux et consort. Et encore, cela n’est pas sans failles …



    &nbsp;(Chercheur en cybersécurité, spécialisé en sécurité système)

    &nbsp;


votre avatar

Je me demande si Gparted peut le faire.

votre avatar







Uther a écrit :



Par contre il y a un truc que je comprend pas c’est comment il fait pour s’échapper d’une sandbox. Écrire un octet mémoire en boucle va certes surcharger l’outil d’analyse, mais je ne vois pas comment ça permettrait de sortir.





Il échappe à l’analyse des sandbox, mais ne s’échappe pas de la sandbox en elle même. S’il détecte quoi que se soit, il s’autokill.&nbsp;



After intentionally stalling by writing to memory repeatedly, Rombertik checks to see if analysis tools have modified code in the Windows API ZwGetWriteWatch routine. &nbsp;It does this by calling ZwGetWriteWatch with invalid arguments. &nbsp;If the routine does&nbsp;not&nbsp;return with a specific error,&nbsp;Rombertik terminates. The assumption behind checking for a specific error versus a generic error is to check for sandboxes that suppress errors returned from API routine calls.&nbsp;

&nbsp;





lyni a écrit :



j’adore ce virus !





Il s’agit d’un malware, nuance.


votre avatar

Tellement vrai, chevalier Jarodd.&nbsp; <img data-src=" />







<img data-src=" />

votre avatar

Impressionnant quand même

votre avatar







Mr.Nox a écrit :



Je me demande si Gparted peut le faire.





De mémoire non.



Sous linux, gpart (gpart, pas gparted).

Multiplateforme, testdisk.

Windows, je pense que Minitool Partition Wizard a un mode de rescue…



Le plus simple étant de faire une petite sauvegarde de son MBR avec dd sous linux (dd if=/dev/sdX of=FichierTartempion bs=512 count=1) de temps en temps….

Attention, ne marche pas avec les tables de partitions en GUID, là il faut des logiciels spéciaux.


votre avatar







luke95 a écrit :



Quelques questions suite à la lecture de cet article très INtéressant :



&nbsp;– &gt; Il va chercher les fichiers contenus dans les dossiers Documents et Settings\Administrator



On me dit dans l’oreillette que le compte “Admin” est désactivé depuis un paquet de temps dans les versions de Windows récentes (Vista / 7 / 8 / 8.1),





J’ai personnellement du le réactiver ce compte car si tu veux être en utilisateur simple, et pouvoir de temps à autre installer des programmes depuis cette session, tu n’as pas le choix (ou alors, je ne sais pas comment faire :))


votre avatar

Encore une belle saloperie qui n’en est plus une avec un simple NOEXEC sur le /home. Enfin bon…

votre avatar







Reznor26 a écrit :



À quand les virus qui essayent de péter ta porte d’entrée et ta sœur en prime ? <img data-src=" />





Y’en a un comme ça, il s’appelle SWAT <img data-src=" />


votre avatar

Intéressant. Je ne savais pas que les priorités d’opérateur n’étaient pas normées dans tous les langages….



Concrètement si int x = 1; printf(” %d %d %d\n”, ++x, x, x++); peut donner 1,2,3 en résultat je me demande pourquoi il existe ++X et X++ ….



Quoi qu’il en soit, et si c’est avéré (mais là je demande des sources, parce que pour moi et mes 10 ans d’xp de dev les priorités d’opérateur c’est normé par langage…), je ne vois pas en quoi c’est impactant….



Le principe même d’un compilateur c’est de fournir du code machine, ce qui fait que tu n’auras jamais de sources dans un exe, hors même en admettant que le résultat de l’instruction ci-dessus soit 1,2,3 parce que le compilateur a décidé de dire fuck à 20 ans de normes de code, le résultat binaire effectivement analysé par l’anti-virus sera dans tous les cas bien différent….



Qu’on ne puisse pas analyser automatique la finalité d’un exe je veux bien, notamment parce que divers techniques d’obfuscation peuvent rendre les choses tordues… ou que le résultat va dépendre de l’architecture du processeur employé à la limite…. mais&nbsp; que l’on me dise que c’est parce que les compilateurs font ce qu’ils veulent j’ai plus de mal déjà. J’aimerai plus de matériaux pour comprendre parce que là c’est contradictoire avec l’intégralité de mon expérience….

votre avatar

En 2015 il y a encore des gens qui utilisent un O.S. qui n’a même pas de bit d’exécution sur le filesystem, par conséquent TOUT est exécutable, même si c’est pas “.exe”, et c’est pain béni pour les virus en tout genre.



Prix Darwin !

votre avatar







luke95 a écrit :



Quelques questions suite à la lecture de cet article très INtéressant :



 – &gt; Il va chercher les fichiers contenus dans les dossiers Documents et Settings\Administrator



On me dit dans l’oreillette que le compte “Admin” est désactivé depuis un paquet de temps dans les versions de Windows récentes (Vista / 7 / 8 / 8.1),





–&gt; Il tente en premier de réécrire le MBR (Master Boot Record) sur le premier disque dur référencé par la machine (PhysicalDisk0)



Quid des systèmes UEFI Secure booté et des disques dynamiques (GPT) ?



Tout celà me parait quand même un brin archaïque…







Ca va faire du mal à tata Ginette qui est restée sous XP “parce que ça fonctionne toujours” et qui va perdre toutes ses photos accumulées depuis 10 ans sans sauvegarde, of course! <img data-src=" /> <img data-src=" />



n’empêche, j’espère ne pas y être confronté parce que va dire au client qui y pige que dalle que toutes ses données sont perdues définitivement à cause du virus, tu va passer un sale quart d’heure! <img data-src=" />


votre avatar

++x et x++ existent par ce que suivant la logique d’un algorithme on peut avoir besoin de l’un ou de l’autre. Il n’est pas pertinent d’avoir les deux dans une même instruction, généralement on suppose que le programmeûr ne fera pas n’importe quoi. Le cas n’étant pas attendu, il compilera au mieux suivant une mécanique précise, au pire prendra une des possibilités au hasard en fonction de son état interne.



Peut-être un warning pour la plupart des compilateurs concernés ?

votre avatar







Drepanocytose a écrit :



De mémoire non.



Sous linux, gpart (gpart, pas gparted).

Multiplateforme, testdisk.

Windows, je pense que Minitool Partition Wizard a un mode de rescue…



Le plus simple étant de faire une petite sauvegarde de son MBR avec dd sous linux (dd if=/dev/sdX of=FichierTartempion bs=512 count=1) de temps en temps….

Attention, ne marche pas avec les tables de partitions en GUID, là il faut des logiciels spéciaux.





Alors pour commencer:



&nbsphttp://gparted.org/



Je suis entrain de regarder mais yep t’as raison, pas de possibilité d’avoir accès au MBR avec lui.&nbsp;



&nbsp;


votre avatar

En se basant sur les magic number et pas sur les extensions

votre avatar

Il y a une étude plus nuancée sur ce malware ici :



https://nakedsecurity.sophos.com/2015/05/06/can-the-rombertik-malware-really-des…



Can the Rombertik malware really “destroy computers”? No, no, three times NO!



&nbsp;

votre avatar

J’ai été passionné par cet article. Le mec ayant crée cet outil est vraiment ingénieux.

Même si c’est pas bien, illégal etc. Je lui dis respect <img data-src=" />.



Si seulement ce genre de personne travaillait sur des choses qui font avancer le monde … au lieu de le “détruire”.

votre avatar







ungars a écrit :



Il y a une étude plus nuancée sur ce malware ici :



https://nakedsecurity.sophos.com/2015/05/06/can-the-rombertik-malware-really-des…



Can the Rombertik malware really “destroy computers”? No, no, three times NO!



&nbsp;



L’article dit juste que l’ordinateur n’est pas détruit physiquement.

Ce n’est pas plus nuancé. Juste exact pour 99.9% des virus informatiques.


votre avatar







dematbreizh a écrit :



C’est écrit dans la news.

faux PDF, “vrai” scr





Je n’ai pas lu tous les commentaires alors pardon si on a déjà répondu. Sur mon PC Windows, quand je clique sur un fichier “toto.pdf”, ça lance le lecteur PDF. Alors comment est-ce possible d’avoir ce “faux” PDF qui serait un exécutable lancé ?


votre avatar

Si je me souviens bien, il est dans un script dans le pdf qui s’exécute quand tu ouvres le dit pdf.

votre avatar







Xaelias a écrit :



Si je me souviens bien, il est dans un script dans le pdf qui s’exécute quand tu ouvres le dit pdf.





Ah oui ça me dit quelque chose, il y a des idiots (franchement) qui ont eu l’idée de pouvoir mettre des scripts, en plus potentiellement dangereux dans le format PDF. Ça a permis par mal de “malware” ces dernières années, je suivais ça sur le blog de Sid (Cédric Blancher), qui n’est plus.


votre avatar







Drepanocytose a écrit :



Non.

Le MBR contient aussi la table des partitions.

Si tu n’as qu’une partition sur ton HDD oui ca va.

Si t’en as plus d’une, ca risque d’être un peu plus compliqué. De memoire comme ca fixmbr ne va pas scanner le disque pour retrouver les amorces de partitions.









Mr.Nox a écrit :



Je me demande si Gparted peut le faire.





http://www.cgsecurity.org/wiki/TestDisk


votre avatar







Gu0sur20 a écrit :



Je plussois.

&nbsp;





On peut aussi faire tourner les applis avec des utilisateurs différents… (Sous Linux du moins)


votre avatar







Nikodym a écrit :



http://www.cgsecurity.org/wiki/TestDisk





Génial, seul point noir: Paypal.&nbsp;<img data-src=" />


votre avatar







Nikodym a écrit :



http://www.cgsecurity.org/wiki/TestDisk





J’en ai parlé plus haut.

Sinon gpart sous nux







psn00ps a écrit :



Génial, seul point noir: Paypal. <img data-src=" />





?????


votre avatar







OlivierJ a écrit :



Je n’ai pas lu tous les commentaires alors pardon si on a déjà répondu. Sur mon PC Windows, quand je clique sur un fichier “toto.pdf”, ça lance le lecteur PDF. Alors comment est-ce possible d’avoir ce “faux” PDF qui serait un exécutable lancé ?





Si le fichier s’appelle toto.pdf.scr et que l’option “masquer l’extension de type connu” n’est pas désactivée, on ne verra que toto.pdf .&nbsp;

Cette option aurait due être supprimée de windows depuis longtemps. D’ailleurs, un antivirus un rien fûté devrait mettre un warning dans cette situation.

&nbsp;


votre avatar







warf a écrit :



Si le fichier s’appelle toto.pdf.scr et que l’option “masquer l’extension de type connu” n’est pas désactivée, on ne verra que toto.pdf .&nbsp;

Cette option aurait due être supprimée de windows depuis longtemps. D’ailleurs, un antivirus un rien fûté devrait mettre un warning dans cette situation.

&nbsp;





Merci pour la réponse, en effet quelle idiotie cette option (de masquage d’extension).


votre avatar

<img data-src=" />

votre avatar

Ouai c’est un des premiers trucs que je désactive, ne serait-ce que parce que j’aime bien savoir le type de fichier que je manipule ^^

votre avatar







Xaelias a écrit :



Ouai c’est un des premiers trucs que je désactive, ne serait-ce que parce que j’aime bien savoir le type de fichier que je manipule ^^







+1


votre avatar

“Documents et Settings\Administrator”



… Grrrrrrrrrrr, rien que de voir ça ca me donne des envies de frapper &gt;_

votre avatar

au moins on a enfin là un specimen d’une espece que je pensais eteinte, au profit des malwares et crapwares bas du front qui prolifèrent depuis ces dernières années… à savoir l’espece des VRAIS virus informatiques.



Je veux dire par là ceux qui:





  1. essayent vraiment de cacher leur présence

  2. se dupliquent pour se protéger et se propager

  3. qui font de réels dégats aux fichiers persos mais (ou plutot surtout) au systeme (ici MBR)



    normalement la plupart des logiciels “pénibles” sont installés par négligence, flemme, ignorance crasse de l’utilisateur, ne se cachent pas (ils tronent bien sagement dans des emplacements systeme faciles à trouver, sous des noms louches ou imitant des applis legits, ont leur commande de démarrage en clair dans une clef de la base de registre… bref rien de sérieux)



    c’est pas forcément une bonne nouvelle mais ça permet enfin de comparer et prendre la vraie mesure de ce qu’est un virus au sens historique du terme, et le mettre en comparaison avec les merdes habituelles relativement innoffensives et faciles à virer. Ca evitera l’abus de langage de toujours TOUT appeler “virus” (et surtout “n’importe quoi”)

    &nbsp;

votre avatar

Au moins NXI n’abuse pas sur le titre comme “certains” sites ^^

votre avatar

Une question le fait d’être en permanence en session utilisateur sans droit d’administrateur, réduit-il ou mieux évite-t-il le risque ?

votre avatar







Djaron a écrit :



normalement la plupart des logiciels “pénibles” sont installés par négligence, flemme, ignorance crasse de l’utilisateur







Ça a l’air d’être le cas ici aussi :





Il infecte une machine le plus souvent en étant ouvert depuis un email. Ce dernier présente un texte qui ne pourrait tromper le moindre utilisateur un tant soit peu averti : le destinataire est invité à vérifier les spécifications par une entreprise qui se présente comme étant la Windows Corporation. Tout un programme. Si l’utilisateur ouvre le document, il se décompresse et se présente alors comme un document PDF, avec une miniature suggérant un listing. Ce qu’il n’est pas.

(…)

Il s’agit en fait d’un fichier .SCR, le format utilisé par Windows pour les écrans de veille.





Entre le « Windows Corporation », le faux fichier PDF, et l’ouverture d’une pièce jointe d’un email d’origine inconnue… ça fait plusieurs panneaux un peu grossiers dans lesquels l’utilisateur averti ne tombera pas.



Le plus grand ennemi de l’ordinateur c’est l’utilisateur non averti. Il n’y connaît rien, clique partout, et ouvre toutes les pièces jointes venant de n’importe qui.


votre avatar

Je pense que les dégâts se cantonne à tout ce qui est accessible par l’utilisateur, à moins qu’il y ait des procédés d’élévation des droits.

Cela reste une supposition, je peux me tromper. <img data-src=" />

votre avatar

so 2000… c’est fini les “I love you” & co.

votre avatar

ouais, comme cluclu pour ne pas les citer !

votre avatar

A priori, il va chercher à se suicider en emportant tout ce qu’il peut avec lui si il n’arrive pas à avoir accès à ce qu’il veut.

votre avatar

j’aime le côté destructeur du virus, je trouve ça franchement ingénieux&nbsp;

votre avatar

Pff à l’époque les virus allaient plus loin:



Techrnobyl pouvait même effacer ton BIOS dans certains cas, il se contentait pas d’essayer de péter ton MBR.



Les virus c’est vraiment plus ce que c’était.<img data-src=" /> <img data-src=" /><img data-src=" />



<img data-src=" /><img data-src=" /><img data-src=" /><img data-src=" />



<img data-src=" /><img data-src=" /><img data-src=" />

votre avatar

Ouais c’est un truc de tafiole !



À quand les virus qui essayent de péter ta porte d’entrée et ta sœur en prime ? <img data-src=" />

votre avatar







Alucard63 a écrit :



Pff à l’époque les virus allaient plus loin:



Techrnobyl pouvait même effacer ton BIOS dans certains cas, il se contentait pas d’essayer de péter ton MBR.



Les virus c’est vraiment plus ce que c’était.<img data-src=" /> <img data-src=" /><img data-src=" />



<img data-src=" /><img data-src=" /><img data-src=" /><img data-src=" />



<img data-src=" /><img data-src=" /><img data-src=" />







Euh si je dis pas de conneries y a pas longtemps y a eu un virus Proof of Concept qui s’installait en bios/uefi (LightEater me semble le nom)


votre avatar







Alucard63 a écrit :



Pff à l’époque les virus allaient plus loin:



Techrnobyl pouvait même effacer ton BIOS dans certains cas, il se contentait pas d’essayer de péter ton MBR.



Les virus c’est vraiment plus ce que c’était.<img data-src=" /> <img data-src=" /><img data-src=" />



<img data-src=" /><img data-src=" /><img data-src=" /><img data-src=" />



<img data-src=" /><img data-src=" /><img data-src=" />







3615 my life : ca me fait penser à un type au lycée qui prétendait être un hackeur super fort et tout qui prétendait avoir réussi à mettre au point un virus qui se stockait dans le cache du cpu, et que même en coupant le courant le virus restait ^^


votre avatar

ah ben les cons ça ose tout, c’est même à ça qu’on les reconnait :)

votre avatar

Quelques questions suite à la lecture de cet article très INtéressant :



 – &gt; Il va chercher les fichiers contenus dans les dossiers Documents et Settings\Administrator



On me dit dans l’oreillette que le compte “Admin” est désactivé depuis un paquet de temps dans les versions de Windows récentes (Vista / 7 / 8 / 8.1),





–&gt; Il tente en premier de réécrire le MBR (Master Boot Record) sur le premier disque dur référencé par la machine (PhysicalDisk0)



Quid des systèmes UEFI Secure booté et des disques dynamiques (GPT) ?



Tout celà me parait quand même un brin archaïque…

votre avatar

gu0sur20, t’as la palme du n’importe quoi. On parle d’analyse de binaire, donc c’est déterministe puisque le compilo a déjà fait son choix.

De plus, l’analyse concerne essentiellement les appels système, puisque pour pouvoir s’échapper il faudra en passer par là.

A noter également que l’ordre d’évaluation des paramètres non normalisé en c, c++ est un grand classique, réglé depuis c++11 d’ailleurs. C’est pas parce qu’une spec d’un langage x n’est pas exhaustive que tout à coup tout l’informatique devient non déterministe.

Le Javasceipt a le même gere d’oubli dans le czlcul et la précision des flottants, rout comme plein d’autres aspects de plein d’autres langages.



Enfin le x++ et ++x (dont on se fout dans l’exempne) diffèrent initialement dans le nombre de registres utilisés (le x++ incrémente la valeur et doit garder la valeur précédente pour la refiler à l’instruction suivante, pas le ++x qui refile la nouvelle valeur). Mais c’est depuis 15 - 20 ans des choses que n’importe quel compilo même playskool sait optimiser tout seul.

votre avatar







Z-os a écrit :



++x et x++ existent par ce que suivant la logique d’un algorithme on peut avoir besoin de l’un ou de l’autre. Il n’est pas pertinent d’avoir les deux dans une même instruction, généralement on suppose que le programmeûr ne fera pas n’importe quoi. Le cas n’étant pas attendu, il compilera au mieux suivant une mécanique précise, au pire prendra une des possibilités au hasard en fonction de son état interne.




   Peut-être un warning pour la plupart des compilateurs concernés ?








  Bah justement. Autant je conçois qu'un cout &gt;&gt; ++i++; soit complètement incompréhensible pour un compilateur (ça tombe bien ça compile pas), autant un int x=1;sprintf('%d%d%d', ++x, x, x++) pour moi c'est des instructions différentes (ou plutôt différées).        

&nbsp;

Plus simplement, traduit en ASM ça donne quelque chose comme :

\_enregistre la valeur 1 dans le registre X

\_enregistre une valeur char* valant %d%d%d dans le registre Y

\_Incrémente la valeur du registre X de 1

\_remplace le premier %d du registre Y par la valeur contenue dans le registre X

\_remplace le deuxième %d du registre Y par la valeur contenue dans le registre X

\_remplace le troisième %d du registre Y par la valeur contenue dans le registre X

\_incrémente la valeur du registre X de 1






 &nbsp; Je suis pas spécialisé en compilateur mais ça me semble un cas assez simple....    







Pour être franc, ma spécialité c’est de l’interprété et j’ai vu des cas bien plus complexes que ça (certains où l’interpréteur se casse les dents d’ailleurs), mais j’ai aussi fait pas mal de compilé et je vois pas un compilateur se planter sur un cas aussi simple… je peux me tromper mais j’aimerais une source….


votre avatar

non c’est:

-j’evalue le premier param, je le met dans la pile

-j’èvalue le deuxième, je le mets dans la pile




  • idem pour le troisième.

  • j’appelle la fonction qui va dépiler les params et les utiliser.



    Reste à savoir si tu empile en prenant (et donc en évaluant) par convention tes params de droite a gauche ou de gauche à droite.

votre avatar

Edit 2 (c’est pas bien je sais) : à la limite j’aurais trouvé un cas comme int x=1;sprintf(‘%d%d%d’, x++ , x, x++); nettement plus tordu….

votre avatar

Le type qui a créé ça va se faire “mal voir”.

votre avatar

Sauf que tu stock pas des valeurs (ni des params) dans la pile mais des registres….



Et à partir de là, si tu utilises 3 fois la même variable c’est 3 fois le même registre appelé… donc une modif du registre en 1 va impacter le registre en 3…



Encore une fois, je suis pas spécialiste d’un niveau si bas… et hors théories et vieux souvenirs c’est médiocre pour rester gentil. Sauf que là je trouve ça illogique….





On va faire plus simple, j’aimerais un exemple concret de situation où cette instruction peut donner autre chose que 2,2,2…. Avec si possible les explications détaillées de ce qui se passe…

Ca me fait penser à la vieille légende du 3-2 = 2 possible par démonstration mathématiques… sauf que en plein milieu de la démonstration il y a un changement de référentiel….

votre avatar







panda09 a écrit :



Le type qui a créé ça va se faire “mal voir”.





ou alors il l’a fait exprès (et c’est le cas, puisque c’est explicite dans le standard).

En fait, laisser le compilo choisir l’ordre permettrait de meilleures latitudes d’optimisation (pour dépiler les choses de la stack au fur et à mesure de leur utilisation effective dans le code de la fonction).

Au passage, gcc sait détecter ces cas limite et balance du warning pour prévenir le codeur.


votre avatar

non, tu stockes bien des valeurs dans ta pile.



Et donc tu as ton explication.

votre avatar

Possible ça, encore une fois c’est vieux. Ca colle avec mes premiers souvenirs de fifo / filo je dois l’avouer - pas trop de sens avec des emplacements mémoires … :)



Par contre - et merci encore pour les détails - je ne vois toujours pas en quoi le résultat d’analyse d’un anti virus du binaire final aurait quoi que ce soit à voir avec le compilo…. avec le type de proc employé je veux bien, mais le compilateur…



&nbsp;

votre avatar







Fuinril a écrit :



Par contre - et merci encore pour les détails - je ne vois toujours pas en quoi le résultat d’analyse d’un anti virus du binaire final aurait quoi que ce soit à voir avec le compilo…. avec le type de proc employé je veux bien, mais le compilateur…





Ca n’a effectivement rien à voir. C’est pour ça que je disais qu’il avait la palme du n’importe quoi.


votre avatar







brazomyna a écrit :



Ca n’a effectivement rien à voir. C’est pour ça que je disais qu’il avait la palme du n’importe quoi.





Nous sommes d’accord. La sainte logique est respectée, tout va bien :)



Merci pour les détails, c’est fou comme un truc auquel on comprenait rien 10 ans plus tôt devient limpide avec l’expérience quand on se donne la peine d’y penser ^^


votre avatar

&nbsp;Et bien en fait il faut entendre l’expression “source d’un programme” au sens machine de Turing. C’est à dire une successions d’instructions qui peuvent donc être de l’assembleur, du C, du HTML, des bananes, ce que tu veux du moment que ce soit interprétable.&nbsp;Les spécialistes des langages sont conscients de cette limitation et c’est pourquoi ils imposent des normes et des bonnes pratiques. Mais cela concerne 99% des situations rencontrées, les 1% restant étant soumis à interprétations. Encore, un langage ne peut tout normaliser car certains choix sont du ressort du matériel qui est lui aussi soumis à l’interprétation des niveaux logiques, etc. etc.



Au delà des deux cas d’école que j’ai donné, le théorème de Rice (c’est le nom de ce résultat) est la raison scientifique pour laquelle il n’existe pas de garbage collector parfait, que deux navigateurs web interprètent la même page HTML différemment et surtout pourquoi il est impossible de savoir ce que fait un programme sans l’exécuter.



Il y a peu de résultats fondamentaux en informatique mais celui-ci c’en est un. Si tu en désires un autre, il y a le problème des généraux byzantins qui implique que l’on ne peut pas garantir à la fois la cohérence et la disponibilité des données dans un réseau (La démonstration est faite ici –&gt;http://www.mathcs.citadel.edu/rudolphg/csci604/ImpossibilityofConsensus.pdf). Malheureusement la plupart d’entre eux sont “oubliés” et beaucoup de mes confrères se heurtent à ceux-ci sans connaitre leur existence.



&nbsp;

votre avatar

&nbsp;Exactement. Le compilo fait des choix qui peuvent aller à l’opposé de ce que le développeur pense ou anticipe. De même, le matériel peut faire des choix qui sont en dehors de la maitrise du compilo …



&nbsp;Je sais bien que c’est contre-intuitif pour un vétéran de la programmation mais n’oublie pas que ce que tu as en face de toi c’est un assemblage de sable, de métal et de plastique : ça n’a strictement aucune intelligence. Tout ce que ça fait c’est répondre à un flot d’instructions du mieux que ça peut. Les normes et standards sont juste là pour essayer de faire en sorte que ça tienne debout et que ce soit un minimum cohérent.



&nbsp;Maintenant&nbsp;si tu penses être en mesure de démonter un résultat qui se vérifie depuis plus de 60 ans, je m’engage publiquement à te recommander personnellement pour un prix Turing.

votre avatar

&nbsp;Parce qu’un binaire est le source d’un programme au sens machine de Turing …

votre avatar



Si la sandbox tient le coup, Rombertik s’arrête alors de fonctionner





Militons pour des OS qui utilisent nativement des sandbox applicatives.



La gestion de la sécurité par des “comptes utilisateurs” n’a pas vraiment de sens sur un PC. Une session de travail est typiquement mono-utilisateur, mais multi-application. Et la menace vient surtout des applications de la session actuelle de l’utilisateur, plutôt que des actions d’autres utilisateurs du PC.



La sécurité devrait se focaliser sur le cloisonnement des applications plutôt que sur celui des utilisateurs.

votre avatar

Je plussois.

&nbsp;

votre avatar

Merci pour l’exemple. Je n’ai lu que les 5 premières pages mais je vais poursuivre. C’est très intéressant…





&nbsp;Par contre, je suis désolé, mais si on entend code source comme le sens machine de Turing (y en a un autre ? Von Neuhmann éventuellement mais comme la machine de Turing n’est jamais qu’une formalisation&nbsp; poussée de celle de von neuhmann et que c’est le modèle utilisé par tous les ordinateurs actuellement…), tous les langages ne sont pas égaux…



Sauf erreur un ordinateur ne comprends pas plus du C que que java ou du PHP…,&nbsp; La seule chose qu’il comprend c’est du code machine (qu’on va formaliser en ASM parce que raisonner en binaire… ça va être compliqué pour moi, et je pense qu’au vu du contexte on est assez proche).

Le boulot d’un compilateur (et d’un interpréteur aussi d’ailleurs), c’est de transcrire un langage de prog en langage machine…. justement pour que quand on livre un programme l’utilisateur n’ait pas à galérer à le faire fonctionner. A partir d’un même code de base, tu auras différents codes machines générés selon le proc du système pour lequel tu compiles (voir selon l’OS si tu codes à assez haut niveau). Mais dans tous les cas tu livres à ton client du code machine.



Donc les antivirus analysent du code machien qui est, comme brazonyma l’a dit, déterministe…. Je peux concevoir des différences de résultats entre deux codes de haut niveau identiques (en fait j’en ai fait l’expérience pas mal de fois entre du windows et du linux - encore une fois je fais surtout de l’interprété), pas entre deux codes machines….



&nbsp;Donne moi une même suite d’instructions en ASM qui produisent deux résultats différents selon le contexte mais avec le même proc…. vraiment, je suis curieux.





D’ailleurs ton doc ne parle absolument pas de différences de résultats entre deux instructions identiques, mais de disparités réseaux en fonction du contexte d’exécution, ce qui est très différent. Je me permets une citation :



&nbsp;

Crucial&nbsp; to&nbsp; our&nbsp; proof&nbsp; is&nbsp; that&nbsp; processing is&nbsp; completely&nbsp; asynchronous;&nbsp; that&nbsp; is,&nbsp; we

make&nbsp; no&nbsp; assumptions&nbsp; about&nbsp; the&nbsp; relative&nbsp; speeds&nbsp; of&nbsp; processes&nbsp; or&nbsp; about&nbsp; the&nbsp; delay

time&nbsp; in&nbsp; delivering&nbsp; a message.&nbsp; We also assume&nbsp; that&nbsp; processes&nbsp; do&nbsp; not&nbsp; have access&nbsp; to

synchronized&nbsp; clocks,&nbsp; so&nbsp; algorithms&nbsp; based on&nbsp; time-outs,&nbsp; for&nbsp; example,&nbsp; cannot&nbsp; be

used.&nbsp; (In&nbsp; particular,&nbsp; the&nbsp; solutions&nbsp; in&nbsp; [6]&nbsp; are&nbsp; not&nbsp; applicable.)&nbsp; Finally,&nbsp; we&nbsp; do&nbsp; not

postulate&nbsp; the&nbsp; ability&nbsp; to&nbsp; detect&nbsp; the&nbsp; death&nbsp; of&nbsp; a&nbsp; process, so it&nbsp; is&nbsp; impossible&nbsp; for&nbsp; one

process&nbsp; to&nbsp; tell&nbsp; whether&nbsp; another&nbsp; has died&nbsp; (stopped&nbsp; entirely)&nbsp; or&nbsp; is&nbsp; just&nbsp; running&nbsp; very

slowly.





&nbsp;Donc, dans un contexte synchrone cette disparité n’a pas lieu d’être.



Alors, d’accord, pour recoller à la news, le principe de ce malware est de provoquer une surcharge de l’analyseur, ce qui peut entrainer une certaine “asynchronisité” dans le cas d’une sandbox mal codée . Mais en toute théorie les sandbox sont codées avec une synchronisation sur l’horloge de la machine, justement pour éviter ce genre de soucis (est ce que c’est le cas sur celle de windows pour les écrans de veille…. j’en sais foutre rien, mais en théorie c’est le cas pour toute sandbox “récente” - celles des navigateurs l’est, ça j’en suis certain).



&nbsp;Quant au théorème de Rice j’en ai pour souvenir un cas d’école. Sauf qu’en pratique c’est inapplicable… Si le résultat de l’interprétation de code par une machine distante est absolument non déterministe en raison de desynchro dues à des horloges différentes, sur une sandbox,&nbsp; même si le principe de fonctionnement est le même, les divers couches d’exécutions utilisent la même horloge interne… et donc le programme sera, de fait, synchrone….

votre avatar







127.0.0.1 a écrit :



Militons pour des OS qui utilisent nativement des sandbox applicatives.



La gestion de la sécurité par des “comptes utilisateurs” n’a pas vraiment de sens sur un PC. Une session de travail est typiquement mono-utilisateur, mais multi-application. Et la menace vient surtout des applications de la session actuelle de l’utilisateur, plutôt que des actions d’autres utilisateurs du PC.



La sécurité devrait se focaliser sur le cloisonnement des applications plutôt que sur celui des utilisateurs.





C’est le cas des OS modernes non ?



Genre windows 8 fait tourner tout le RT en sandbox de mémoire…


votre avatar

Autre chose, une sandbox n’a pas que des avantages….



C’est légèrement plus lent déjà, mais surtout ce n’est pas utilisable pour n’importe quelle appli…. Une sandbox, comme son nom l’indique, c’est un espace d’exécution réservé à l’appli. Mais un certain nombre d’appli a besoin d’accéder à des couches systèmes et non juste à l’API…. et ça c’est pas possible en sandbox (c’est même fait pour).



Ou il faudrait un OS qui anticipe tous les désirs des utilisateurs et des devs… autant demander un OS sécurisé à 100% sans aucune élévation de privilège ou d’execution arbitraire possible, c’est du même niveau : impossible…

votre avatar

non non le document PDF ça concerne un autre résultat qui n’a rien à voir, c’est plus lié à du réseau (désolé c’est ma faute).



En fait la machine de Turing est une machine abstraite qui exécute une série d’instructions. C’est très théorique comme concept et Von Neumann en a proposé une implémentation électronique&nbsp;mais ca peut prendre n’importe quelle forme. Tu peux par exemple en construire une à base de lego (cf.http://www.ens-lyon.eu/actualites/la-machine-de-turing-en-legos–158118.kjsp?RH=…



Par définition, une machine de Turing c’est un élément qui est capable d’exécuter une série d’instructions du moment que ça suit un algorithme. Par exemple :

&nbsp;le processeur exécute de l’assembleur

&nbsp;le compilateur exécute du C, Fortran etc

&nbsp;l’interpréteur exécute du javascript, php

&nbsp;le navigateur web exécute du HTML

&nbsp;le cuistot exécute une recette

&nbsp;le maçon exécute les plans de l’architecte

&nbsp;etc.&nbsp;



Pour revenir à la news, le but d’un anti-virus est de déterminer si un “programme” (script, exe, etc) est malicieux ou non ; sans pour autant l’exécuter parce ce que sinon la machine sera infectée. Or sur cette question là précise &nbsp;on sait depuis longtemps qu’il n’est pas possible de savoir ce que fait un programme en lisant ses instructions. Du coup la seule option qui s’offre à un anti-virus est de faire du “best effort”, c’est à dire comparer les instructions du programme avec des modèles de programme reconnus comme malveillant : la fameuse base de signature.



Pour l’exemple ASM que tu me demandes, il suffit de jeter un œil à l’ABI Intel (ou AMD comme tu préfères). J’ai pris une instruction au hasard, mais regardes la description de l’instruction&nbsp;AAD. Déjà celle-ci n’est pas valide pour une exécution en 64 bits mais en 32 elle l’est. Ensuite, les registres &nbsp;OF, AF, et CF sont dans un état non-défini&nbsp;après exécution, c’est à dire que si l’instruction suivante prend en entrée la valeur de l’un de ces registres, cela va faire quelque chose mais tu ne peut pas prédire quoi. Du coup la seule façon de savoir ce que ça fait c’est de faire une exécution.

&nbsp;



&nbsp;

votre avatar

c’est pas vraiment de l’isolation mémoire, c’est plutôt de l’isolation de processus. L’idée est de donner un niveau de sécurité à chaque processus, fichier etc. Un peu comme les niveau de classifications dans l’armée (confidentiel, secret, très secret, …). Ensuite le système interdit qu’un processus de niveau confidentiel (le navigateur) accède à un fichier d’un niveau secret défense (ton bureau) par exemple. Pour placer un processus dans une sandbox, il suffit juste de ne lui donner aucunes habilitations ;)

votre avatar

Tout dépends. Si c’est un système qui évolue peu comme un serveur, une politique de sandboxing très restrictive est envisageable. Mais c’est sûr que pour une machine bureautique …

votre avatar

Mes excuses, j’ai oublié le lien:



&nbsp;&nbspintel.com Intel

votre avatar







Gu0sur20 a écrit :



Pour revenir à la news, le but d’un anti-virus est de déterminer si un “programme” (script, exe, etc) est malicieux ou non ; sans pour autant l’exécuter parce ce que sinon la machine sera infectée. Or sur cette question là précise &nbsp;on sait depuis longtemps qu’il n’est pas possible de savoir ce que fait un programme en lisant ses instructions. Du coup la seule option qui s’offre à un anti-virus est de faire du “best effort”, c’est à dire comparer les instructions du programme avec des modèles de programme reconnus comme malveillant : la fameuse base de signature.




Pour l'exemple ASM que tu me demandes, il suffit de jeter un œil à l'ABI Intel (ou AMD comme tu préfères). J'ai pris une instruction au hasard, mais regardes la description de l'instruction&nbsp;AAD. Déjà celle-ci n'est pas valide pour une exécution en 64 bits mais en 32 elle l'est. Ensuite, les registres &nbsp;OF, AF, et CF sont dans un état non-défini&nbsp;après exécution, c'est à dire que si l'instruction suivante prend en entrée la valeur de l'un de ces registres, cela va faire quelque chose mais tu ne peut pas prédire quoi. Du coup la seule façon de savoir ce que ça fait c'est de faire une exécution. &nbsp;&nbsp;







OK, différences de vocabulaire, peut être une légère confusion dur les relations entre haut et bas niveaux,&nbsp; mais l’idée est là… tes termes initiaux étaient mal choisis (faut pas trop “vulgariser” - est ce que donner en exemple une suite d’instructions C c’est vulgariser ?&nbsp; - ici ; après tu tombes sur des casses burnes comme moi ou brazonyma qui te demandent des comptes).



&nbsp;En tous cas discussion très intéressante, j’ai beaucoup appris. Merci <img data-src=" />





PS : ceci étant il y a différents modèles d’antivirus, de mémoire un programme comme fsecure ne fonctionne justement pas sur ce principe de reconnaissance (mais j’avoue que j’ai aucune idée de comment il fonctionne).



PPS : finalement ce que tu dis c’est qu’il est impossible de prédire l’état d’un registre qui peut potentiellement contenir du code arbitraire qui sera éventuellement exécuté par le programme sans exécuter le dit-programme. Là on est parfaitement d’accord…. a la condition sine qua non que l’anti virus s’exécute dans le contexte de la sandbox. Si comme sur les OS modernes l’antivirus s’exécute tant au niveau applicatif que système (je hais la relation entre windows 8 et l’innoDB…), tu ne risques pas grand chose, car si la partie applicative sera certainement trompée, la partie système devrait détecter la tentative d’évasion… on est d’accord ?


votre avatar

ce qui suppose, sauf erreur, d’allouer une certaine plage mémoire à un programme.



En tous cas tu vas difficilement pouvoir isoler un processus si il peut modifier l’espace mémoire alloué à d’autres….

&nbsp;

J’ai toujours intuitivement (encore une fois ce n’est pas mon métier) vu une sandbox comme un environnement d’exécution complet, sans interactions (théoriques) - hors celles prévues - possibles avec le reste du système. Hors une simple demande d’auth est une interaction…

Mais au final on tombe d’accord. Là c’est mon terme qui était mal choisi… mais finalement une isolation de processus suppose in fine une isolation mémoire…. Trop l’habitude de travailler avec des middleware type browser, désolé….

votre avatar

Étant très intéressé par tout ce qui touche à la sécurité, je ne peux qu’apprécier ce genre d’informations, merci !



Si j’avais pu, j’aurais sûrement bossé dans la sécurité, mais c’est un domaine malheureusement peu enseigné ici…



Bizarre cette histoire avec la pré et la post-incrémentation. Je pensais justement que c’était déterministe non ?

votre avatar

Bah… WindowsUpdate devrait résoudre prochainement le problème…. dans 5 ans. <img data-src=" />

votre avatar







127.0.0.1 a écrit :



Militons pour des OS qui utilisent nativement des sandbox applicatives.



La gestion de la sécurité par des “comptes utilisateurs” n’a pas vraiment de sens sur un PC. Une session de travail est typiquement mono-utilisateur, mais multi-application. Et la menace vient surtout des applications de la session actuelle de l’utilisateur, plutôt que des actions d’autres utilisateurs du PC.



La sécurité devrait se focaliser sur le cloisonnement des applications plutôt que sur celui des utilisateurs.







+1 <img data-src=" />



J’espère aussi que les sandboxes deviendront la norme sur tous les OS dans un avenir proche.



Même s’il faut garder en tête qu’une sandbox n’est pas un rempart absolu non plus (ce malware semble s’accommoder des sandboxes trop faiblardes, les malwares existent aussi sur Android bien que toutes les applis soient sandboxées…). Les OS modernes devront cumuler plusieurs mécanismes de sécurité, dont des sandboxes.


votre avatar

Il aurait été intéressant d’expliciter un peu plus que cela ne touche que windows…

votre avatar







Vekin a écrit :



Bizarre cette histoire avec la pré et la post-incrémentation. Je pensais justement que c’était déterministe non ?





C’est pas la pré et la post incrémentation qui ne sont pas déterministes, c’est l’ordre d’évaluation des paramètres passés à la fonction printf qui dépend du bon vouloir du compilo.

&nbsp;

&nbsp;


votre avatar

Le problème avec le mot “sandbox” c’est qu’il est utilisé à tout va dès qu’on parle d’une isolation quelconque d’un processus.



Par exemple : la mise en sandbox du plugin flash avait pour but d’empécher Firefox de se faire embarquer par un plantage du plugin… mais question sécurité ca ne changeait pas grand chose ;) (ok avec Flash c’était facile <img data-src=" />)

votre avatar

Oui, j’ai vu après coup dans le fil des conversations. C’est intéressant.

votre avatar







tazvld a écrit :



so 2000… c’est fini les “I love you” & co.







Avec Rombertik, c’est maintenant “I fuck you”. <img data-src=" />


votre avatar







Fuinril a écrit :



&nbsp; En tous cas discussion très intéressante, j’ai beaucoup appris. Merci <img data-src=" />



&nbsp; Tout pareil, merci <img data-src=" />

&nbsp;

NXI est le seul site que je connaisse où on peut tomber sur ce genre d’échanges dans les commentaires, et où ça vaut le coup de lire les 11 pages jusqu’au bout <img data-src=" />


votre avatar







brazomyna a écrit :



ou alors il l’a fait exprès (et c’est le cas, puisque c’est explicite dans le standard).

En fait, laisser le compilo choisir l’ordre permettrait de meilleures latitudes d’optimisation (pour dépiler les choses de la stack au fur et à mesure de leur utilisation effective dans le code de la fonction).

Au passage, gcc sait détecter ces cas limite et balance du warning pour prévenir le codeur.



En fait, je voulais faire passer mon mauvais jeu de mots.

Snif, personne n’a applaudi…<img data-src=" />


votre avatar







Konrad a écrit :



Ça a l’air d’être le cas ici aussi :







Entre le « Windows Corporation », le faux fichier PDF, et l’ouverture d’une pièce jointe d’un email d’origine inconnue… ça fait plusieurs panneaux un peu grossiers dans lesquels l’utilisateur averti ne tombera pas.



Le plus grand ennemi de l’ordinateur c’est l’utilisateur non averti. Il n’y connaît rien, clique partout, et ouvre toutes les pièces jointes venant de n’importe qui.





Ton raisonnement est sympa pour le premier contact à recevoir la crasse.

&nbsp;

Expérience d’il y a … heu … ouhlà, 15 ans (nous étions sous exchange*) :

&nbsp;




  • Le boss de la boîte reçoit une alerte via une équipe de la maison mère comme quoi du mail avec pj pourrie circule et qu’il ne faut donc surtout pas l’ouvrir. =&gt; Il transfère à l’ensemble du personnel, soit.

  • Le boss reçoit le fameux mail avec pièce jointe pourrie =&gt; il l’exécute. Benwouélécon !

  • Tous les contacts exchange sont arrosés immédiatement (c’était magique les bases exchange à l’époque… soupir) =&gt; le mail vient du boss : on ouvre !!



    &nbsp;#ouroboros



    &nbsp;&nbsp;



    &nbsp;&nbsp;


Rombertik, le spyware qui pratique la terre brûlée s’il est détecté

  • Un voleur véhiculé par une campagne de fishing classique

  • Un malware capable de s'échapper d'une sandbox

  • 97 % de code inutile

  • Détecté, Rombertik veut tout casser

Fermer