Donc le fait de garder le logiciel caché, c'est juste pour ça, avoir des ressources en plus au lieu de se faire piller par les éditeurs antivirus
Et encore.
Le problème dans le monde des antivirus n'est pas spécialement l'algorithmique. Tout le monde connait les algorithme qui protègent, et tout le monde connait les algorithmes qui vont vites.
Seulement les algorithme qui vont vite ne protègent pas très bien, et les algorithmes qui protègent vont très très lentement.
Typiquement l'approche pronnée par M Filiol ne fonctionne pas. Il s'agit d'isolation locale par pallier - comprendre une sorte de super sand-boxing dans lequel même les interactions entre un logiciel et ses plugins sont auscultées en permanence. (En tout cas c'est ce qu'il faudrait faire pour interdire tout ce qui n'est pas autorisé). On imagine très bien les problèmes de performance que cela peut poser. Ca revient ni plus ni moins qu'à venir intercaller une tranche de temps kernel space entre chaque échange userland. Rien qu'au niveau context-switch on prend une raclée. On ajoute à cela les problèmes de suivi de mémoire et de suivi d'execution (ben oui il va bien falloir détecter l'activité virale à un moment ou à un autre) Et on se prend un kernel space de plusieurs giga octects qui bouffe 60% du CPU en continu. Et encore là je vous fais grace des I/O et des pilotes à accès direct sur le matériel (Après tout qu'est-ce qui empêche un virus d'être écris en OpenCL de nos jours).
Norton a essayé pendant des années d'utiliser ce type de méthode - c'est une des raisons pour laquelle ils ont pris pas mal de retard dans les années 2003-2009.
L'autre approche consiste à garder en mémoire une liste de signatures et à les comparer à tout ce qui est 'nouveau'. Généralement dans ce genre de cas ce que l'antivirus appelle pompeusement "heuristique" n'est qu'un genre de filtre baysien* basé sur l'activité d'un programme surveillé. De même que votre antispam assimile Viagra avec V1agRa - le filtre assimile Virus avec V1ruS.
Ce qui vaut de l'argent donc dans un anti-virus, plus que les algorithmes à proprement parler, ce sont les petites optimisations de gauche et de droite qui permettent de décider entre "on continue l'analyse" et "Méchant virus on bloque tout". Un peu comme les jeux de ponderation Baysien. Les pools de signatures et la façon dont elles sont indexées vaut aussi pas mal d'argent. Mais même avec un très bon pool de virus très bien indexé et des algorithmes de détection avancés, sans les optimisations et la ponderation d'analyse votre logiciel ne vaut pas grand chose (Par exemple ClamAV a de très bon algo de détection, une base de signatures très solide et … )
[^] # Re: Foutaises
Posté par Kaane . En réponse au journal Davfi, le premier antivirus libre français.. Évalué à 10.
Donc le fait de garder le logiciel caché, c'est juste pour ça, avoir des ressources en plus au lieu de se faire piller par les éditeurs antivirus
Et encore.
Le problème dans le monde des antivirus n'est pas spécialement l'algorithmique. Tout le monde connait les algorithme qui protègent, et tout le monde connait les algorithmes qui vont vites.
Seulement les algorithme qui vont vite ne protègent pas très bien, et les algorithmes qui protègent vont très très lentement.
Typiquement l'approche pronnée par M Filiol ne fonctionne pas. Il s'agit d'isolation locale par pallier - comprendre une sorte de super sand-boxing dans lequel même les interactions entre un logiciel et ses plugins sont auscultées en permanence. (En tout cas c'est ce qu'il faudrait faire pour interdire tout ce qui n'est pas autorisé). On imagine très bien les problèmes de performance que cela peut poser. Ca revient ni plus ni moins qu'à venir intercaller une tranche de temps kernel space entre chaque échange userland. Rien qu'au niveau context-switch on prend une raclée. On ajoute à cela les problèmes de suivi de mémoire et de suivi d'execution (ben oui il va bien falloir détecter l'activité virale à un moment ou à un autre) Et on se prend un kernel space de plusieurs giga octects qui bouffe 60% du CPU en continu. Et encore là je vous fais grace des I/O et des pilotes à accès direct sur le matériel (Après tout qu'est-ce qui empêche un virus d'être écris en OpenCL de nos jours).
Norton a essayé pendant des années d'utiliser ce type de méthode - c'est une des raisons pour laquelle ils ont pris pas mal de retard dans les années 2003-2009.
L'autre approche consiste à garder en mémoire une liste de signatures et à les comparer à tout ce qui est 'nouveau'. Généralement dans ce genre de cas ce que l'antivirus appelle pompeusement "heuristique" n'est qu'un genre de filtre baysien* basé sur l'activité d'un programme surveillé. De même que votre antispam assimile Viagra avec V1agRa - le filtre assimile Virus avec V1ruS.
Ce qui vaut de l'argent donc dans un anti-virus, plus que les algorithmes à proprement parler, ce sont les petites optimisations de gauche et de droite qui permettent de décider entre "on continue l'analyse" et "Méchant virus on bloque tout". Un peu comme les jeux de ponderation Baysien. Les pools de signatures et la façon dont elles sont indexées vaut aussi pas mal d'argent. Mais même avec un très bon pool de virus très bien indexé et des algorithmes de détection avancés, sans les optimisations et la ponderation d'analyse votre logiciel ne vaut pas grand chose (Par exemple ClamAV a de très bon algo de détection, une base de signatures très solide et … )