{"id":32,"date":"2010-12-09T19:30:37","date_gmt":"2010-12-09T17:30:37","guid":{"rendered":"http:\/\/blog.nebule.org\/?p=32"},"modified":"2016-03-29T19:05:51","modified_gmt":"2016-03-29T17:05:51","slug":"et-lanti-virus-alors","status":"publish","type":"post","link":"https:\/\/blog.nebule.org\/?p=32","title":{"rendered":"R\u00e9flexion &#8211; Et l&rsquo;anti-virus alors?"},"content":{"rendered":"<p>Si on part du principe que les objets sont r\u00e9f\u00e9renc\u00e9s par leurs empreintes (MD5 par exemple) et les entit\u00e9s par leurs bi-cl\u00e9s, comment \u00e9volue un virus dans un tel environnement? Comment s&rsquo;en prot\u00e9ger?<!--more--><\/p>\n<p>Premi\u00e8re constatation, toute modification d&rsquo;objet se voit!<\/p>\n<p>Un objet qui a d\u00e9j\u00e0 \u00e9t\u00e9 v\u00e9rifi\u00e9 (m\u00eame empreinte) n&rsquo;a pas \u00e0 \u00eatre rev\u00e9rifi\u00e9. Il faut au minimum s&rsquo;assurer qu&rsquo;il n&rsquo;a pas \u00e9t\u00e9 corrompu (empreinte diff\u00e9rente). Il doit donc \u00eatre marqu\u00e9 (groupe) par une entit\u00e9 anti-virus. Le marquage peut \u00eatre positif ou n\u00e9gatif.<\/p>\n<p>Une fois v\u00e9rifi\u00e9 \u00e0 une endroit, le fichier est reconnu sain (ou non) \u00e0 tous ses points de duplication, m\u00eame si il est attach\u00e9 \u00e0 des entit\u00e9s qui ne se connaissent pas (pas de lien) ou n&rsquo;\u00e9changent pas entre-elles. Cette validation de signatures peut-\u00eatre centralis\u00e9 au niveau de l&rsquo;entit\u00e9 anti-virus et automatiquement reconnu par toute entit\u00e9 \u00ab\u00a0cliente\u00a0\u00bb qui lui sont li\u00e9es, et cela pour tous les objets d\u00e9tenus par cette entit\u00e9 cliente.<\/p>\n<p>Si le fichier est modifi\u00e9 par les voies normales, il acqui\u00e8re une nouvelle empreinte&#8230; et devient donc un nouvel objet enfant. sauf compromission de l&rsquo;entit\u00e9, ce nouvel objet appara\u00eetra comme non sign\u00e9 et donc non valid\u00e9. C&rsquo;est comme si une entit\u00e9 modifiait un objet dont elle n&rsquo;est pas source, cr\u00e9ant ainsi une bifurcation d&rsquo;objets ind\u00e9pendante. Cette bifurcation est g\u00e9r\u00e9 par les diff\u00e9rentes entit\u00e9s comme objet externe non valid\u00e9 et donc non pris en compte sauf action explicite de l&rsquo;entit\u00e9.<\/p>\n<p>Si l&rsquo;objet est modifi\u00e9 par une voie d\u00e9tourn\u00e9e, il est toujours r\u00e9f\u00e9renc\u00e9 avec une empreinte mais il en a r\u00e9ellement une autre. Une simple v\u00e9rification de l&#8217;empreinte r\u00e9elle permet de lever le probl\u00e8me, et de resynchroniser l&rsquo;objet depuis une source externe non compromise. Ind\u00e9pendamment du virus, c&rsquo;est un m\u00e9canisme classique de r\u00e9paration de donn\u00e9es. Cette v\u00e9rification d&#8217;empreinte peut \u00eatre r\u00e9alis\u00e9e en temps r\u00e9el lors de l&rsquo;utilisation des objets, c&rsquo;est le mode parano\u00efaque. Elle peut \u00eatre aussi r\u00e9alis\u00e9 lors de phases de maintenance r\u00e9guli\u00e8res, pas tr\u00e8s s\u00fcr mais beaucoup moins p\u00e9nalisante en temps et ressources sur de gros objets. La v\u00e9rification d&#8217;empreinte \u00e9tant de toute fa\u00e7on plus performante qu&rsquo;une v\u00e9rification int\u00e9grale par un anti-virus, et cette v\u00e9rification \u00e9tant syst\u00e9matique sur les ordinateurs actuels, elle doit rester syst\u00e9matique.<\/p>\n<p>Il est fort probable que l&rsquo;entit\u00e9 h\u00f4te des objets qui permet des modifications par des voies d\u00e9tourn\u00e9es soit elle-m\u00eame corrompue. Si c&rsquo;est une entit\u00e9 relai ce n&rsquo;est pas grave, toute entit\u00e9 autre qui r\u00e9cup\u00e8re un objet le rejettera comme invalide juste avec le m\u00e9canisme de v\u00e9rification d&#8217;empreintes. Si c&rsquo;est l&rsquo;entit\u00e9 d\u00e9tentrice et signataire des objets&#8230; pourquoi se faire c***r \u00e0 corrompre un objet alors qu&rsquo;on peut simplement le modifier, signer et diffuser le nouvel objet enfant comme \u00e9tant le rempla\u00e7ant l\u00e9gitime&#8230;<\/p>\n<p>Si l&rsquo;objet est chiffr\u00e9, m\u00eame sans avoir \u00e0 le communiquer, on sait si il est sain ou non. A condition que cet objet ai \u00e9t\u00e9 pr\u00e9sent\u00e9 \u00e0 l&rsquo;entit\u00e9 anti-virus pr\u00e9alablement&#8230; Le processus de v\u00e9rification de l&rsquo;anti-virus se fait-il depuis l&rsquo;entit\u00e9 cliente? Ou se fait-il par partage de l&rsquo;objet proprement dit, et en clair, avec l&rsquo;entit\u00e9 anti-virus? Dans le cas du partage, cela implique que l&rsquo;on transmette de l&rsquo;information sensible (qui n\u00e9cessite chiffrement) \u00e0 une entit\u00e9 tierce que l&rsquo;on ne contr\u00f4le pas (qui peut \u00e0 son tour potentiellement la rediffuser). Cela implique un temps de transfert et donc de traitement plus long. A moins que l&rsquo;on dispose d&rsquo;une copie d&rsquo;entit\u00e9 anti-virus enti\u00e8rement sous contr\u00f4le et apte uniquement \u00e0 la v\u00e9rification d&rsquo;objets. De cette fa\u00e7on, on peut m\u00eame cumuler diff\u00e9rentes entit\u00e9s anti-virus concurrentes sans probl\u00e8me. Si on ne partage pas les objets \u00e0 une entit\u00e9 anti-virus, il faut greffer un processus suppl\u00e9mentaire \u00e0 entit\u00e9 cliente, et augmenter potentiellement le risque de compromission de cette entit\u00e9.<\/p>\n<p>Lors d&rsquo;une mise \u00e0 jours des signatures anti-virus, il faut refaire tout le processus de v\u00e9rification des objets. En effet, un objet peut contenir un code malveillant non reconnu par un anti-virus, notamment lorsque ce code malveillant est tout nouveau. On gagne clairement \u00e0 mettre en commun le r\u00e9sultat de ces v\u00e9rifications.<\/p>\n<p>Que fait-on d&rsquo;un objet tant qu&rsquo;il n&rsquo;est pas v\u00e9rifi\u00e9 par un anti-virus? On garde le m\u00eame comportement que sur les ordinateurs actuels, l&rsquo;objet n&rsquo;est pas utilisable tant que l&rsquo;anti-virus n&rsquo;a pas fini le scan.<\/p>\n<p>La contamination d&rsquo;une machine h\u00f4te se constate soit par la diffusion r\u00e9guli\u00e8re d&rsquo;objets corrompus, dans ce cas c&rsquo;est le m\u00e9canisme de correction d&rsquo;erreurs qui entre en jeu. Soit elle se constate par la diffusion d&rsquo;objets infect\u00e9s, mais ces objets n&rsquo;\u00e9tant pas sign\u00e9s ils ne sont normalement pas pris en compte.<\/p>\n<p>La contamination d&rsquo;une entit\u00e9 ne se d\u00e9tecte que par la diffusion d&rsquo;objets sign\u00e9s et infect\u00e9s, c&rsquo;est l&rsquo;anti-virus sur l&rsquo;entit\u00e9 r\u00e9ceptrice qui le d\u00e9tecte. L&#8217;empreinte de l&rsquo;objet infect\u00e9 \u00e9tant diffus\u00e9 par l&rsquo;entit\u00e9 anti-virus, tout le monde (abonn\u00e9 \u00e0 l&rsquo;anti-virus) va instantan\u00e9ment reconna\u00eetre cet objet comme contamin\u00e9, et agir en connaissance de cause. M\u00eame l&rsquo;entit\u00e9 contamin\u00e9e peut ainsi savoir qu&rsquo;elle a un probl\u00e8me.<\/p>\n<p>Une des cons\u00e9quences est que l&rsquo;on va avoir naturellement tendance \u00e0 unifier avec ses entit\u00e9s amies le choix de l&rsquo;entit\u00e9 anti-virus retenu, avec un risque d&rsquo;h\u00e9g\u00e9monie d&rsquo;un anti-virus et donc d&rsquo;un point de vuln\u00e9rabilit\u00e9 unique \u00e0 tout un groupe d&rsquo;entit\u00e9s proches.<\/p>\n<p>Tout objet non r\u00e9f\u00e9renc\u00e9 sera syst\u00e9matiquement pass\u00e9 \u00e0 l&rsquo;anti-virus et li\u00e9 \u00e0 la liste anti-virus ad\u00e9quate.<\/p>\n<p>Avec le temps, l&rsquo;entit\u00e9 anti-virus va commencer \u00e0 reconna\u00eetre une grand nombre d&#8217;empreintes saines ou infect\u00e9es. Celle-ci va ind\u00e9finiment augmenter le nombre d&rsquo;objets reconnus sans pour autant les stocker directement. Les objets reconnus contamin\u00e9s seront li\u00e9s par un objet sp\u00e9cifique, par exemple la \u00ab\u00a0liste des contamin\u00e9s\u00a0\u00bb. Pour les objets reconnus non contamin\u00e9s, ils ne seront li\u00e9s que \u00e0 l&rsquo;objet int\u00e9grant les mises \u00e0 jours anti-virus, plus sp\u00e9cifiquement \u00e0 la version en cours, et ne seront pas transmis \u00e0 la nouvelles version des mises \u00e0 jours (objet enfant).<\/p>\n<p>Une entit\u00e9 anti-virus peut \u00e0 un instant donn\u00e9 d\u00e9clarer un objet sain,  puis suite \u00e0 une mise \u00e0 jour, d\u00e9clarer le m\u00eame objet comme infect\u00e9. Il  faut aussi pr\u00e9voir aussi le m\u00e9canisme inverse qui peut \u00eatre mis en place  suite \u00e0 un faux positif av\u00e9r\u00e9 sur un objet. Pr\u00e9voir un m\u00e9canisme de suppression du lien d&rsquo;un faux positif vers l&rsquo;objet \u00ab\u00a0liste des contamin\u00e9s\u00a0\u00bb. Une requ\u00eate sur l&rsquo;immunit\u00e9 d&rsquo;un objet sp\u00e9cifique doit se faire en premier sur la \u00ab\u00a0liste des contamin\u00e9s\u00a0\u00bb, puis sur l&rsquo;objet mise \u00e0 jour anti-virus courante.<\/p>\n<p>Une entit\u00e9 anti-virus peut d\u00e9cider ou se voir imposer de d\u00e9clarer certains objets comme infect\u00e9s alors qu&rsquo;ils ne le sont pas r\u00e9ellement. Par exemple d\u00e9clarer que tel programme ou tel fichier vid\u00e9o ne doit \u00eatre utilis\u00e9 par personne. Le d\u00e9clarer comme infect\u00e9 est un bon moyen pour en limiter fortement l&rsquo;usage. Cela peut \u00eatre l\u00e9gitime ou non, et n&rsquo;a rien \u00e0 faire dans la lutte anti-virus de toute fa\u00e7on. L&rsquo;utilisateur doit pouvoir entretenir une liste blanche (et une liste noir) d&rsquo;objets qu&rsquo;il consid\u00e8re comme s\u00fcr (ou non), et \u00e9ventuellement s&rsquo;abonner en plus \u00e0 une entit\u00e9 d\u00e9di\u00e9 \u00e0 la chasse aux objets illicites.<\/p>\n<p>(Lien sur le wiki : <a title=\"http:\/\/wiki.nebule.org\/nebule\/index.php\/R%C3%A9flexion_-_analyse_des_applications_communes_appliqu%C3%A9es_%C3%A0_Nebule#Anti-virus\" href=\"http:\/\/wiki.nebule.org\/nebule\/index.php\/R%C3%A9flexion_-_analyse_des_applications_communes_appliqu%C3%A9es_%C3%A0_Nebule#Anti-virus\" target=\"_blank\">http:\/\/wiki.nebule.org\/nebule\/&#8230;#Anti-virus<\/a> )<a title=\"http:\/\/wiki.nebule.org\/nebule\/index.php\/R%C3%A9flexion_-_analyse_des_applications_communes_appliqu%C3%A9es_%C3%A0_Nebule#Anti-virus\" href=\"http:\/\/wiki.nebule.org\/nebule\/index.php\/R%C3%A9flexion_-_analyse_des_applications_communes_appliqu%C3%A9es_%C3%A0_Nebule#Anti-virus\" target=\"_blank\"><br \/>\n<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Si on part du principe que les objets sont r\u00e9f\u00e9renc\u00e9s par leurs empreintes (MD5 par exemple) et les entit\u00e9s par leurs bi-cl\u00e9s, comment \u00e9volue un virus dans un tel environnement? Comment s&rsquo;en prot\u00e9ger?<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[4,96,24],"tags":[132,157,173],"_links":{"self":[{"href":"https:\/\/blog.nebule.org\/index.php?rest_route=\/wp\/v2\/posts\/32"}],"collection":[{"href":"https:\/\/blog.nebule.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.nebule.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.nebule.org\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.nebule.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=32"}],"version-history":[{"count":1,"href":"https:\/\/blog.nebule.org\/index.php?rest_route=\/wp\/v2\/posts\/32\/revisions"}],"predecessor-version":[{"id":2401,"href":"https:\/\/blog.nebule.org\/index.php?rest_route=\/wp\/v2\/posts\/32\/revisions\/2401"}],"wp:attachment":[{"href":"https:\/\/blog.nebule.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=32"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.nebule.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=32"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.nebule.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=32"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}