• Aucun résultat trouvé

Definitions formelles des virus

3.2 La formalisation de Fred Cohen

3.2.2 Definitions formelles des virus

La formalisation de Fred Cohen repose sur la notion fondamentale d' ensem-ble viral et c'est certainement la que se situe l'un de ses apports les plus significatifs ayant facilite, par la suite, son approche theorique. Avant lui, il semblerait que la consideration d'un programme viral" se soit limitee a un singleton (en reprenant le vocabulaire de la theorie des ensembles). Or, la definition 17 (intuitive) d'un virus, donnee par Fred Cohen et adoptee depuis par tout le monde, evoquc la possibilite que le virus existe sous une forme differente, «evoluee ». Cependant, la notion de «singleton viral» ne permet pas dapprehender cet aspect des virus d'une manierc effective.

Le theoreme de recursion 5, presente dans la section 2, suggerait deja la notion d'« evolution» de programmes (meme action mais codes differents).

L'idee de Fred Cohen etait de definir un virus par un ensemble contenant plusieurs elements, l'ensemble viral, permettant d'expliciter ce que le theo-remc de recursion suggerait implicitement, et dans un cadre plus general que celui des programmes viraux. Cet ensemble ne contient pas seulement un virus (programme) mais egalement toutes ses formes equivalentes, obtenues par le resultat d'un calcul. Le terme d'« evolution» doit etre pris dans le sens de polymorphisme, qui sera definitivement adopte des 1989, avec le premier moteur de ce nom (the Mutation Engine, voir chapitre 5). Le polymorphisme,

3 La notationIi designe le produit cartesien de l'ensemble I, i fois; vdesigne done bien une suite ordonnee de i symboles.

4 Rappelons que le terme de virus a ete adopte pour la premiere fois par Fred Cohen, et insnire Dar L. Adleman r51. naze 11.

formalise par Fred Cohen, est donc la production d'un element appartenant a l'ensemble viral, par un autre element de cet ensemble.

La notion d'environnement, telle qu'elle est evoquee dans la definition 17, est egalement un aspect fondamental dans l'approche de Fred Cohen. Un vi-rus est ainsi vu comme une sequence S de symboles interpretee par une machine de Turing M donnee. Lorsque S est interpretee par une autre ma-chine de Turing M', cette sequence n'est generalement plus un virus. La encore, il convient de souligner la profondeur de la formalisation de Fred Cohen. Un virus, dans un langage donne, et pour un systeme d'exploitation donne ne sera plus un virus relativement a un autre systeme d'exploitation, different du premier. Un macro-virus (voir le chapitre 5) deviendra inerte et inoffensif s'il est interprets avec autre chose qu' Office. C'est la raison pour laquelle la notion d'ensemble viral (une sequence de symboles et son environ-nement d'interpretation, en I'cspcce, formalises par une machine de Turing) est particulierement adaptec et subtile.

Tout cela est donc exprime, avec force et profondeur, dans la notion d'en-semble viral (nous noterons V, l'ensemble des ensembles viraux). Elle est definie par la figure 3.1.

VMVV (M, V) EV {:} [VETS] et [M EM] et [VvEV [VHM [Vt Vj

[1. PM(t) ~jet 2.$M(t) ~$M(0) et

3.(DM(t,j), ... , DM(t,j

+ Ivl-

1))~v]

=? [3v'E V[3t' >t[3j'

[ 1. [[(j'

+ Iv'l)

:Sj] au [(j

+ Ivl)

:Sj']]

2. (DM(t',j'), ... , DM(t',j'

+ Iv'l-

1)) ~v' et 3. [3t" tel que [t<til <t'] et

[PM(t") E{j', ....i'

+ Iv'l-l}]

llllllll

FIG. 3.1. Definition formelle d'un ensemble viral

Traduisons cette definition, quelque peu rebarbative en un libelle plus simple a comprendre.

Definition 20 (Ensemble viral)

Pour toute machine de Turing M et tout ensemble non vide de programmes

de Turing V, la paire (M, V) est unensemble viral, si et seulement si, pour tout virus v E V, pour tous les historiques de la machine M alors :

- Pour tout instanttEN et toute cellule j de M si

1. la tete de lecture est devant la cellule j

a

l'instantt et 2. M est dans son eiat initial

a

l'instantt et

3. les cellules de la bande commenr;ant

a

l'indice j contiennent le virus v,

alors, il existe un virus v' E V,

a

l'instantt' > t et

a

l'indice j' tel que 1. j' est suffisamment loin de u,

2. les cellules de la bande commenr;ant

a

l 'indice j' contiennent le virus v' et

3. pour un instanttil tel que t < til < t': v' est ecrii par M.

De [acoti obrcqee, Vest un ensemble viral relativement

a

M, si seulement si,

[(M, V) E V]

et vest unvirus relativement iu M: si et seulement si, [vE V] tel que [(M, V) E V].

Cette definition decrit bien le mecanisme caracterisant un virus, la notion de copie, eventuellement differente de lui-meme. Notons au passage un fait important. La notion de charge finale, autrement dit la routine

a

caractere

offensif, n'est pas caracteristique d'un virus". Plus tard, L. Adleman envisa-gera cet aspect des choses en considerant un point de vue plus general (voir section 3.3). La figure 3.2 illustre graphiquement cette definition.

Nous adopterons dans le reste du chapitre, la notation abregee suivante due

a

Fred Cohen:

[\tM [\tV[(M, V) E V]si et seulement si

[[VE TS] et [M E M] et [\tv E V[v =?M V]]]]].

ou v

M

M designe la formalisation de la figure 3.1

a

partir du symbole B.

Pour simplifier et avec les notions qui viennent d'etre definies, nous avons alors :

5 II est d'ailleurs assez surprenant et regrettable que dans l'esprit du public et de certains specialistcs,iln'en soit pas de meme, ce qui explique un certain nombre de meprises et de definitions erronees et fallacieuses vehiculees dans la presse generaliste voire technique.

La meconnnaissance des travaux de Fred Cohen est encore une fois dommaaeable.

virus v

Insumt r

virus v'

msumrt"

FIG. 3.2. Illu strat ion de la definition formelle d 'un viru s

Definition 21 (Evolution vim le) On dit que le inrus v eoolue en le inrus v' relativement

a

M si,

(M, V) EV [[vE V] et [v' EV] et [v

~

{v'}]] .

Le virus v' est un e form e euoluee de v relat ivem ent

a

M si,

[(1\1, V) EV [3i EN [3V'

c

V i tel que [vE V] et v' E V] et [VVk E V'[Vk

~

Vk+l]] et

[3l E N [3m EN

[[l

< m]

et [VI

=

v] et [vm

=

v' ]jjjjj

En d 'au tres t ermes, si l'on considere la relation bin air e ~ , alors la fermeture tr ansitive" de cette rela tion , ayan t vpour origine , cont ient v' .Le virusv' est don e issu du virus v soit direct ement (generation suivante) soit indirect ement (un ou plusieurs virus sont d 'abord issus de v).