Après les virus, les allergies informatique, ... le prochain malware ?
Reconstruction de documents détruits | L'algorithme pagerank comment ça marche ? » [3033] lectures
Il y a des similarités très importantes entre le
vivant et les systèmes d'informations. Au point que certaines
personnes, dont je fait partie, considèrent le vivant d'abord
comme un système d'information. Un plan sur lequel la
comparaison est très intéressante est les virus et le
système immunitaire. Cette comparaison me laisse penser qu'un
phénomène émergent va apparaître les
« allergies informatique »... Et pire encore un
nouveau type de « malware » : les allergies
provoquées...Virus biologique / virus informatique
Avant de comprendre cette notion d'allergie informatique, il faut d'abord comprendre le parallèle virus biologique, virus informatique. Pour cela rappelons conceptuellement ce qu'est un virus biologique. Un virus est un micro organisme qui nécessite un autre organisme pour se reproduire. Cela implique souvent qu'ils ont un génome d'une taille relativement réduite dans la mesure ou ils utilisent les fonctionalitées de la cellule hôte qu'il infecte pour se reproduire.
Pour plus d'information sur les virus biologiques voir la page wikipedia correspondante.
Pour plus d'information sur les virus informatique voir la page wikipedia correspondante.
On constate alors qu'un virus informatique en est très proche sur un bon nombre de point de vues :
Il nécessite un autre programme , un programme « hôte » pour se reproduire.
Les virus biologique sont composés (entre autre) d'un code génétique. Les virus informatique d'un code exécutable. Dans les deux cas il s'agit d'une suite de symboles :
Des acides nucléiques, ribo-nucléiques pour l'information génétique et protéique pour l'enveloppe des virus biologiques.
Des octets pour les virus informatiques.
Il y a là une simplification qui semblera excessive pour les biologistes mais conceptuellement, en terme d'information, on a quelque chose de très proche : l'identification d'une entité par la simple similarité d'une seule partie de ces constituants.
La taille (en nombre d'octets) est souvent très faible par rapport à la taille du système/hôte qu'il infecte. Le rapport de taille est souvent du même ordre : quelques kilo-octets(informatique)/base(biologique) contre quelques méga ou giga-octets(informatique)/base(biologique).
Antivirus / Système immunitaire
La similarité se prolonge quand on compare le système immunitaire et le fonctionnement des logiciels antivirus. Ils appliquent la même stratégie :
identifier les virus par une partie de leur constituants. Une fois identifié une attaque est lancée contre l'« envahisseur ».

La défense des virus (autant biologique qu'informatique) est le polymorphisme : changer d'apparence. Bien sûr dans le domaine biologiques c'est le phénomène d'évolution qui dirige ce principe. En informatique , c'est les développeurs de virus qui rendent leur virus polymorphe : lors de la copie, le « code » du virus est modifié, cependant pour pour que ce code ai toujours le même effet, il est modifié lors de l'exécution du virus. L'objectif est d'échapper au logiciels antivirus. La partie du code gérant ce polymorphisme étant constante, la stratégie classique des antivirus est toujours fonctionnelle, si bien sûr elle réussit à identifier correctement cette zone constante, ce qui est loin d'être simple.

Le phénomène d'allergie
Qu'en est-t-il alors du phénomène d'allergie ? L'allergie biologique est en fait une « erreur » du système immunitaire qui décide d'attaquer quelque chose qu'il devrait normalement tolérer : allergies aux pollens (le « rhume des foins »), allergies alimentaires (voir le dossier allergie alimentaire dans le magazine « pour la science » Mars 2007), ... Ces allergies sont souvent juste désagréable, mais elles peuvent être grave, invalidante, voire mortelle dans certain cas...
Qu'en est-il du parallèle informatique ? Un anti-virus comme le système immunitaire peut se tromper et prendre un logiciel normal pour un virus, et donc proposer à l'utilisateur de supprimer un logiciel « sain ». Dans la mesure où les logiciels actuels sont composés de multiples fichiers dont les noms sont très peu explicite, l'utilisateur n'aura aucun indice que le fichier qu'il va modifier ou supprimer via l'anti-virus, rendra ce logiciel inutilisable. Si ce logiciel est un composant système le résultat est encore pire, c'est l'ordinateur lui même qui sera hors service!
Cela est déjà arrivé, voici deux articles faisant référence à ce genre de problèmes :
http://www.lemondeinformatique.fr/http://www.pcinpact.com/
Cela arrivera de plus en plus pour les raisons suivantes :
Il y a de plus en plus de logiciels, qui sont de plus en plus volumineux.
Il y a de plus en plus de virus : +200.000 répertoriés actuellement et en augmentation constante.
Il est de plus en plus nécessaire d'utiliser des antivirus.
Le risque de « collision » (même signature pour un code viral et un logiciel légitime), va donc augmenter. Une solution est d'augmenter la longueur et la complexité des signatures, mais comme le nombre de signatures virales augmente ainsi que les logiciels les ressources nécessaire à l'utilisation d'un antivirus vont donc croître exponentiellement, or la vitesse des disques dur elle n'augmente pas au même rythme (la vitesse des disques dur ne suis pas la loi de Moore). On va donc très rapidement être face à un problème de ressources : les ordinateurs vont passer leur temps à vérifier qu'il n'ont pas de virus...
A l'instar des virus biologiques qui évoluent, les virus informatique commencent aussi à utiliser cette technique, leur code évolue, il devient donc difficile de trouver une portion de code fixe pour déterminer une signature à utiliser dans les logiciels antivirus. Si on ajoute à cela le fait que de plus en plus de logiciels utilisent des systèmes de plugins, le code exécutable des applications devient lui aussi polymorphe... Ainsi on peut imaginer pouvoir utiliser cette notion d'allergie informatique pour générer un nouveau type de « malware » : Les allergies provoquées ...
Les allergies provoquées
L'idées est de provoquer une allergie informatique contre un composant logiciel choisit :
un composant système
le logiciel d'un éditeur concurent
...
Voilà comment, conceptuellement, cela peut-être réalisé :
Il faut d'abord créer et diffuser un virus polymorphe auquel on inclut un morceau d'un logiciel « sain » cible. Logiciel qu'on cherche à viser (éditeur concurrent, composant système, plugin ...)

Un fois détecté par les laboratoires des éditeurs d'antivirus, on peut « espérer » qu'au moins l'un d'entre eux fera un mauvais choix d'empreinte virale.

L'effet produit sera le suivant :
L'antivirus ainsi leurré suggérera de supprimer un logiciel qui est pourtant sain.
Une allergie informatique ciblée à été provoquée.
La perversité de ce type d'approche est que c'est les systèmes les mieux protégés qui seront les plus sensible à ce genre d' « attaque », puisque c'est le système de défense lui-même qui altérera le système ou les applicatifs (le virus à l'origine du problème, lui, sera probablement déjà éradiqué, l'allergie elle n'en sera qu'à son début...). Il sera d'autant plus vulnérable qu'il sera dans les premiers à être a jour, ce qui est pourtant ,initialement, une consigne de sécurité. Pour poursuivre le parallèle avec le vivant si cette « allergie » informatique s'attaque au système, et si on considère l'antivirus comme faisant parti du système (le système imunitaire) on peut alors parler de « maladie auto-imune informatique »...
L'intéret de ce genre de stratégies est multiple :
Cela permet de créér des attaques ciblées sur un logiciel ou un composant système spécifique.
Cela permet des attaque sur des systèmes justement bien protégés contre les virus, puisque c'est l'antivirus qui réalise l'attaque.
Cela peut entamer l'image des anti-virus dans le grand public : « c'est l'antivirus qui à généré le probleme , donc j'arrète de l'utiliser ». Ce qui bien sur sera une aubaine pour tous les virus (y compris le virus à l'origine de l'allergie). Au « mieux » il auront tendance à attendre avant de mettre à jour leur antivirus, en espérant que d'autres, moins prudent qu'eux, subiront l'allergie et permettront au éditeurs de détecter le problème. Quoi qu'il en soit cela fera reculer l'efficacité globale des antivirus.
Cela peut forcer les éditeurs d'antivirus à tester plus longuement toute nouvelle signature avant de la diffuser. Cela va donc naturellement retarder la diffusion des mise à jour d'antivirus. Ce qui aura pour effet de laisser plus de temps à tous les virus (y compris le virus à l'origine de l'allergie) de se propager et de faire des dégats.
Voilà pourquoi je pense que les allergies informatique vont se multiplier et surtout que les allergies informatique provoquées seront le prochain malware capable d'ouvrir une brèche dans la défense qu'offre les antivirus ...

Merci de voter pour cet article, qu'il vous ai plu... ou non...

Commentaires
Le mardi 22 mai 2007 à 21:07, par Brice COQUEREAU
Selon un professeur, il est très simple de créer un "nouveau virus", càd une variante avec une signature différente, le problème des signatures peut donc se poser très rapidement si des gens décident de s'amuser un jour à le faire
Le mercredi 23 mai 2007 à 20:36, par NeZetiC
Juste dans l'actualité récente, on trouve ceci :
http://silicon.fr/fr/silicon/news/2007/05/22/norton-provoque-plantage-de
La première fois, quand j'ai lu la news, je me suis dit : hum, bah normal, les sociétés antivirus ne teste pas forcement à fond leurs nouvelles signatures, et que des fichiers sur une version chinoise de Windows XP est pu être détecté comme malwares suite à une signature mal définit, pourquoi pas.
Après réflexion, et en lisant mieux l'article, je me suis aperçu que seul 2 fichiers étaient touchés netapi32.dll et lsasrv.dll.
La où c'est marrant, c'est que ces 2 dll ne correspondent pas simplement à 2 obscures fichiers du système Windows.
lsasrv.dll par exemple fait parti de ces ddl du système windows qui ont été décortiqué dans tout les sens à la recherche de faille.
Tout le monde se souvient par exemple des virus msblast ou encore sasser.
Ce dernier, qui touchait les systèmes windows, se propageait via une faille dans le service LSASS (Local Security Authority Subsystem Service) : (voir MS04011 Lsasrv.dll RPC buffer overflow remote exploit sous google).
Ce que je veux dire, c'est qu'étrangement, cette erreur touche des fichiers bien connus des personnes susceptible de vouloir provoquer une erreur de détection, de manière à rendre un système inopérant non pas en utilisant la charge utile d'un virus, mais bien l'antivirus chargé de le supprimer via sa signature.
Ceci implique la création intentionnel d'un virus en apparence basique, mais réalisé de tel manière à provoquer (par l'effet routine par exemple) l'erreur chez l'analyste en charge de la mise à jour de la base de l'antivirus, en le forcent à prendre en compte pour la signature des bouts de code et des informations qui généreront un match positif sur un fichier système... chinois
Ca semble assez fou, mais je ne crois pas que ce soit irréalisable. Et comme nos idées à l'échelle de l'humanité ne sont pas forcement unique, des tentatives allant dans ce sens on peut être déjà été réalisé.
Le jeudi 24 mai 2007 à 16:42, par Faycal CHRAIBI
L'utilisation des signatures de logiciels connus a souvent été exploitée par certains virus pour tenter d'échapper aux antivirus. Ainsi, on pourra se souvenir du vers MyDoom qui avait un header similaire à celui des fichiers zip. Ainsi les antivirus ou filtres sur serveurs mails éliminaient bon nombre de fichiers attachés (dommage collatéral). Il fallait donc faire un choix.
L'une des manières de contourner ce problème serait de mettre en place un processus d'authentification (signature par certificat ou hachage) des fichiers déployés par les solutions des éditeurs. Les antivirus pourront se baser sur cette solution afin de déterminer si le fichier est originel ou si c'est un virus qui exploite partie de sa signature. Evidemment, c'est une solution exhaustive, chère et consommatrice de ressources, et elle n'empêchera pas les malwares d'exploiter les fichiers non signés voire même d'utiliser des procédés de stégano pour être véhiculés au sein de fichiers légitimes.
D'un autre côté, les éditeurs d'AV, ne pourront pas s'empêcher de diffuser une signature dès que possible afin d'être les premiers à contrer le virus. On ne pourra certainement pas compter sur une procédure de test en bonne et due forme.
M'enfin, il n'y'aura pas de solution miracle. Chaque solution trouvée fera toujours germer une idée pour la (con|dé)tourner. Et pour chaque solution, on en revient toujours à pondérer coûts/ressources vs bénéfices. De ce fait, il y'aura toujours une part non négligeable exploitable.
Le mardi 29 mai 2007 à 15:51, par Nÿco
Le système de signature des anti-virus a donc vécu. Bon en même temps, ce n'est pas une surprise, ça fait longtemps qu'on le sait. Et effectivement, c'est la course à qui mieux mieux entre éditeurs d'AV et dev de virus, qui se décide par le rapport coûts/qualité-perfomance.
Pour info, ou rappel plutôt, des softs « légitimes » comme Skype font aussi du polymorphisme, ainsi que du chiffrement de code, et se comportent donc en apparence comme des softs voyous, ce qui complique l'affaire : http://www.secdev.org/conf/skype_BHEU06.pdf
Le système de signature des paquets sous Linux est un des chemins à approfondir, car il reste tout de même simpliste à ce jour : ça assure l'authenticité et l'intégrité au moins.
Ne me faites pas dire ce que je n'ai pas dit : s'il n'y a pas ou peu de virus sous Linux et Mac OS X (enfin des vrais quoi), ce n'est pas parceque les Unix sont meilleurs à ce point (enfin, c'est tout de même relativement vrai), c'est aussi et surtout car il est plus intéressant pour un dev de virus d'attaquer le système le plus répandu. Si bonne conception est la clef, il faut bien garder à l'esprit que la diversité est aussi une arme...
Ajouter un commentaire