1

Selon moi, tous les anti-virus sont de la merde. Je ne sais plus si j'ai déjà parlé de ca mais, j'ai une idée d'anti-virus, qui j'espère existe, car j'ai pas spécialement envie/le courage de le coder.

J'aimerais que quand je lance un .exe, l'anti-virus court-circuite le lancement de l'executable et que ca simule son comportement, et que ca me liste tous les appels systeme que cet exe fait (enfin.. veut faire). Une espèce d'emulateur quoi. Autrement dit, un anti-virus pour pro, et non pas un vieux norton de merde qui bloque tout et n'importe quoi et qui bouffe toute la ram constamment, ce qui me pousse à le définir comme un virus lui meme.

Revenons à nos moutons. En regardant la liste de ce que cet exe a voulu faire, je verrais les ports qu'il a voulu ouvrir (et qu'il a cru ouvrir grace à la simulation), les écritures qu'il a voulu passer dans les registres de l'os ( et qu'il a cru passer), les copies de ses enfants qu'il a voulu faire pour mieux faire un trojan ( et qu'il a cru avoir réussi grace à la simul encore une fois).

Questions:

- est-ce que ca existe?
- si non, qu'en pensez vous?
Tout ce qui passe pas par le port 80, c'est de la triche.

2

et tu penses que l'on detecte comment si c'est un virus ou pas? (pas avec les anti-virus, mais chez ceux qui font les bases de signatures)

3

on le détecte pas. C'est à toi de voir si ce qu'il veut faire te parait suspect ou pas. Je pense qu'au bout de quelques essais on commencerait à avoir l'oeil.
Tout ce qui passe pas par le port 80, c'est de la triche.

4

autre problème : comment ton simulateur gère les appels dynamiques ? tu ne peux pas les anticiper si ce n'est par les méthodes heuristiques, mais là tu retombes dans les antivirus classiques
avatar
Webmaster du site Ti-FRv3 (et aussi de DevLynx)
Si moins de monde enculait le système, alors celui ci aurait plus de mal à nous sortir de si grosses merdes !
"L'erreur humaine est humaine"©Nil (2006) // topics/6238-moved-jamais-jaurais-pense-faire-ca

5

cest quoi les appels dynamiques? Dans l'absolu, mon truc reviendrait à faire marcher une virtual machine qui serait la copie exacte de la machine native au moment du "lancement" de l'exe.
Tout ce qui passe pas par le port 80, c'est de la triche.

6

Ça me paraît vraiment difficile à mettre en place.

Il faut que :
- ton "émulation" soit quasi-parfaite (sinon, risque que ça plante ou que les progs suspicieux puissent détecter qu'il ne tournent pas sur un "vrai" système)
- elle soit sans effet sur le système réel (sinon, tu n'as plus de sécurité)

Je vois les solutions suivantes :
- écrire un OS "virtuel" (un interpréteur, quoi) qui réimplémente une grosse partie de Windows et qui loggue tout -> boulot de dingue
- laisser une partie en "natif" et simuler le reste des fonctions -> gros boulot quand même, et problème de savoir quels sont les appels de fonctions qui ne sont pas considérés comme "dangereux"
- créer un Windows-dans-le-Windows en utilisant les DLLs d'origine du système -> pour autant que je sache, ce n'est pas possible, sauf en virtualisant complètement la machine (le principe de VMWare quoi) -> c'est lourd, et compliqué de synchroniser l'état initial de l'OS virtuel sur l'OS réel
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

7

exact.

d'où "qui j'espère existe, car j'ai pas spécialement envie/le courage de le coder"

Edit: si ca existe déjà, ou existe un jour, je pense que c'est (sera) l'anti virus le plus cher du monde, mais au moins son prix serait justifié.
Tout ce qui passe pas par le port 80, c'est de la triche.

8

Ceci dit, rien que la même chose sans émulation peut etre déjà très bien. Càd qu'il listerait ce que l'exe a fait.
Tout ce qui passe pas par le port 80, c'est de la triche.

9

Ça tu peux déjà le faire en combinant plusieurs outils (RegMon, FileMon, un firewall soft, etc.)
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

10

rhaaa love j'aimerais trop avoir un outil qui s'intègre direct. Genre click droit "execute as suspect"
Tout ce qui passe pas par le port 80, c'est de la triche.

11

t'as la solution de faire un mail à un "pote" en lui disant que c'est trop de la balle, il teste pour toi et si il se choppe pas de virus, tu peux installer ^^
avatar
Webmaster du site Ti-FRv3 (et aussi de DevLynx)
Si moins de monde enculait le système, alors celui ci aurait plus de mal à nous sortir de si grosses merdes !
"L'erreur humaine est humaine"©Nil (2006) // topics/6238-moved-jamais-jaurais-pense-faire-ca

12

Clic droit -> "Faire exécuter par un newbie"
C'est vrai que ça poutrerait cheeky
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

13

effectivement, je fais ca pour les genkey.exe wink

...mais en général le pote boulet qui accepte ca croit qu'il a rien même quand il a qq chose grin
Tout ce qui passe pas par le port 80, c'est de la triche.

14

Pas faux hehe
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

15

Ca existe déjà sur certaines plateformes (la dernière version de MacOS, je crois, permet ça). En fait, ça exécute dans une "sandbox" (un bac à sable), où les accès au système et au "reste du monde" sont limités voire impossibles.
Le fonctionnement optimal d'un tel système (pour avoir une sécurité maximale) est que tout, par défaut, devrait être exécuté dans des bacs distincts, sauf demande expresse de l'usager.
Bien sûr, ça ne permet pas de se prévenir des virus de macros et autres trucs de ce genre, mais ça bloque les spywares, beaucoup de virus, et les rootkits. Jusqu'à ce que quelqu'un trouve une faille dans le bac.

http://www.apple.com/macosx/technology/security.html voir le paragraphe Sandbox
avatar

16

Ça n'est pas tout à fait la même chose.

Exécuter un programme avec des possibilités d'accès limité, Windows permet déjà de le faire (c'est largement perfectible, certes) en exécutant en tant qu'utilisateur non admin.

Le problème est que, justement, ça ne représente pas correctement le système d'un "vrai" utilisateur. Donc un programme peut le détecter facilement et ne rien faire de douteux dans ce cas.

Ce qu'il faudrait, c'est un système virtuel où le programme a en apparence les droits maximum, mais où tout n'est qu'une simulation sans impact sur le système réel. Et ça, c'est beaucoup plus délicat à mettre en place qu'une simple limitation des appels systèmes autorisés.
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

17

onur (./3) :
on le détecte pas. C'est à toi de voir si ce qu'il veut faire te parait suspect ou pas. Je pense qu'au bout de quelques essais on commencerait à avoir l'oeil.

"on" dans mon post == ceux dont le boulot est de detecter des virus...
ils ont des environnements virtuels specialements pour ca, et ca sert a rien d'avoir des emulateurs maintenant...

18

Heu ok tu regarde les appel systemes qui sont fait. Mais, comment peut tu légitimement déterminier si l'application n'a pas reelement besoin des ces appel systemes ?
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

19

Ça me parait quand même relativement pourri comme "anti-virus". En vrac :

- L'application qui supprime un fichier, elle est suspecte ? Oui et non, ça dépend entièrement du fichier (et difficile de savoir si l'effacement est légitime ou non)
- Le virus qui ne se déclenche qu'une fois sur 10 aléatoirement, y'a 9 chances sur 10 qu'il ne semble pas du tout suspect avec l'émulateur

[edit] Je rejoins donc le post ./18, que je n'avais pas lu avant

Il me semble qu'analyser les appels n'est révélateur de rien du tout si ce n'est du comportement du programme dans un contexte précis (et rien ne dit qu'il fera pareil la 2eme fois, la 3eme, etc), et il n'est pas concevable de les regarder tous "à la main" quand il y en a plusieurs milliers/millions pour voir si ils sont suspects ou non (d'autant plus que ça peut ne pas être évident du tout, et donc ne pas se voir au premier coup d'oeil). Pour l'ouverture de port, à la limite pourquoi pas, mais c'est grosso modo le travail d'un firewall; tout le reste me semble difficilement réalisable.
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

20

bah un truc qui se met à intérroger un serveur mysexygirlfriend/xxx/ commence à être douteux...
Tout ce qui passe pas par le port 80, c'est de la triche.

21

onur (./20) :
bah un truc qui se met à intérroger un serveur mysexygirlfriend/xxx/ commence à être douteux...

bah un firewall fait déjà ça, non ?
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

22

Cross zephyr.

En effet, ca se ferait que sur les trucs dont on a un doute dès le départ ou les trucs dont on est sur qu'ils sont des virus mais on veut voir ce que ca fait exactement.
Sinon pour l'exhaustivité, c'est un détail, il "suffit" de filtrer.

Mais faut bien comprendre le positionnement d'un tel anti-virus, cest pour moi et d'autres geeks. Parce que Madame Kouschner est contente quand elle voit que norton lui a effacé un fichier .js par mesure de sécurité.
Tout ce qui passe pas par le port 80, c'est de la triche.

23

[edit] cross, je réponds à ./20

Ah c'est sûr, mais un truc qui se met à interroger 83.64.129.111, beaucoup moins... surtout si le truc en question s'appelle bittorrent ou eMule et qu'il ouvre des 100aines de connexions à coté, t'empêchant de les tester toutes une à une (à moins d'être vraiment super motivé). De plus ça n'est qu'une des nombreuses actions que pourrait entreprendre un virus, et à mon avis l'une des plus évidentes à repérer (encore une fois, un firewall fait ça très bien).

Geek ou pas, j'ai du mal à concevoir qu'on puisse vouloir passer 24h à regarder des logs pour s'assurer qu'un programme est sain avant de le lancer, surtout si au final rien ne dit que ce test est fiable (et qu'à mon avis il ne peut pas l'être) ^^
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

24

Flanker (./21) :
onur (./20) :
bah un truc qui se met à intérroger un serveur mysexygirlfriend/xxx/ commence à être douteux...

bah un firewall fait déjà ça, non ?

ché pa? quicktime interroge apple non stop pour savoir les mises à jour, personne ne me prévient pour l'en empecher.
Tout ce qui passe pas par le port 80, c'est de la triche.

25

Si ton firewall fonctionnait correctement, il aurait du te demander la première fois si tu voulais bien autoriser Quicktime à se connecter à Apple.

(mais encore une fois, si tu l'avais fait, rien n'aurait empêché Apple de répondre autre chose un jour, qui aurait déclenché dans Quicktime un code qui efface ton disque dur; et ton analyse n'aurait rien détecté ^^)
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

26

(En passant, Jetico Personal Firewall est un peu lourd au début, mais vraiment bien foutu et super paramétrable ; il fonctionne un peu comme Kerio, sauf que ce dernier n'est plus gratuit du tout)
avatar

27

./25 > oui si tu pousses ce raisonnement à l'extreme, si ca se trouve tous les ordis du monde ont un virus... mais c'est difficile de se rendre compte parce qu'ils ont décidé de fonctionner qu'une fois sur 20, les anti-virus les détectent mal, et les utilisateurs ne se rendent pas vraiment compte...

par exemple?
Tout ce qui passe pas par le port 80, c'est de la triche.

28

Sauf que les anti-virus ne regardent pas le code exécuté pour savoir si un programme est dangereux ou non, il me semble ^^ (même si je n'ai aucune connaissance particulière ni en virus ni en anti-virus)

C'est à mon avis l'une des (et la plus grosse) faiblesse de ton système, de ne reposer que sur des données extraites à partir d'une simulation d'exécution du programme à tester.
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

29

de l'autre coté, si on pousse l'idée de départ à l'extrême aussi, on peut imaginer une deuxième version, pas moins irréalisable:
on lance "l'anti-virus", il fait un snap-shot de tout le système qu'il fout dans un systeme émulé. On installe et execute un logiciel.. ca le fait automatiquement dans le systeme émulé. Si au bout de 1 semaine on est satisfait, on "commit" vers le système natif.

Mais bon, ca c'est vraiment l'extreme, mon idée de départ c'était un compromis entre la complexité et la sécurité.
Tout ce qui passe pas par le port 80, c'est de la triche.

30

./28 > Ouais. Mais bon y a pas de magie. Si on ne regarde ni le code, ni le comportement, on regarde quoi?
Tout ce qui passe pas par le port 80, c'est de la triche.