• Aucun résultat trouvé

Modeles de prevention et de protection

3.2 La formalisation de Fred Cohen

3.2.5 Modeles de prevention et de protection

Soit un systeme d'information generique (decrit par un modele de calcul de Turing). Dans ce systeme, (comme dans tout ordinateur reel ainsi forma-lise), tout utilisateur peut disposer de toute information disponible (donnees ou programmes) et en sa possession (selon les droits qui lui sont attribues), traiter cette information (I'interpreter) et la transmettre eventuellement

a

d'autres utilisateurs du systeme ou d'un autre systeme (dans le cas des re-seaux).

Dans le contexte d'un tel systeme generique, cela implique que le pro-cessus de partage de l'information etant transitif (au sens mathematique du terme), il en est de memc du processus d'infection par un virus ou un ver.

Le partage et la transitivite du flot d'information, quel que soit le point de depart de ce flot. nermettent naturellement

a

un virus de se disseminer selon

la fermeture transitive de ce flot d'information (pour un rappel de la signi-fication de cette notion, voir note de bas page de la definition 21), a moins d'imposer des restrictions fortes.

Fred Cohen, apros avoir menc cette analyse, en a deduit (a juste titre) qu'a l'inverse, si tout partage est supprime, le flot d'information entre utili-sateurs est coupe et tout evcntucl virus est confine, sa dissemination etant alors impossible. C'est le modele dit « isolationniste », A l'exception de quelques cas tres particuliers (organismes de Defense, entreprises ou admi-nistrations sensibles ... ) pour lesquels ce modele est en general obligatoire, il reste inapplicable en pratique dans la vaste majorite des autres cas. La volonte de mise en reseau, de facon quelquefois inconsideree et outranciere, des systemes actuels, des res sources informatiques locales, regionales, natio-nales et internationatio-nales est incompatible avec le modele isolationniste. Fred Cohen, outre le partage des donnees, aidentifie deux autres facteurs permet-tant la dissemination virale : I'cxecution de programmes et la modification de donnees et/ou de programmes. II a renforce, en consequence, son modele isolationniste par la suppression de ces deux facteurs. Ce modele aboutit a des environnements tellement brides qu'ils sont totalement inutilisables dans la plupart des cas.

Fred Cohen a tente alors de definir des modeles de type isolationniste moins stricts, applicables certes pour des contextes encore tres particuliers, et pour lesquels une «certaine garantie de securite » est assures cependant.

Ces modeles restent le plus souvent d'un interet essentiellement theorique, tant les contraintes qu'ils supposent sont incompatibles avec l'ergonomie re-cherchee de nos jours.

Prevention contre les virus

Le but est donc de limiter au maximum le risque de dissemination virale par l'application de modeles derives du modele isolationniste. Deux classes, parmi d'autres, ont ete definies et analysccs par Fred Cohen.

- Modeles de cloisonnement.- II s'agit la de cloisonner le flot d'infor-mation en partitionnant le systeme':' en sous-ensembles propres et clos pour la transitivite, autrement dit le systeme est divise en sous-systemes confines. Le resultat est que l'infection est alors limitee a chaque sous-systeme. Ce type de modele est celui applique generalement dans les

13 La notion de partition, ici, correspondacelle utilisee en mathernatique. Une partition d'un ensemble E est un ensemble de parties de E propres, non vides, deux

a

deux disjointes et dont la reunion estl'ensembleE,

systemes militaires : la notion de cloisonnement coincide alors avec celle de niveau d'habilitation.

A cette categoric, appartient le modele resultant de la combinaison des modeles Bell-LaPadula [21] et d'integrite Biba14 [22]. D'un point de vue mathematique, ce modele resultant est defini sur un ensemble de niveaux de securit«et chaque utilisateur se voit attribuer un niveau de securite donne. Le partage est alors limite par deux proprietes : regles d'interdiction de lecture ascendante (un utilisateur d'un niveau x ne peut lire d'information apartir d'un niveau de securite superieur ax) et d'ecritnre descendante (un utilisateur d'un niveau x ne peut ecrirc d'information dans un niveau de securite inferieur ax). Mathcmatiquc-ment, ce genre de modele peut etre decrit

a

l'aide de treillis!". Dans le cas de I'integrite, heritee du modele Biba, la notion dintegrite est alors consideree (au lieu de celIe de sccurite) et les deux regles sont inversees (regles d'interdiction de lecture descendante et dccriturc ascendante).

Modeles de flot. Dans cette classe, les systemes ne sont pas cloisonnes en sous-systemes propres mais une « distance de fiat» est alors appli-quee. Le but est de permettre une transitivite limitee et controlee du flot d'information. Tous les partages d'information sont enregistres et quantifies

a

l'aide d'une distance D16 mesurant le nombre de partages (apartir d'une origine arbitraire) et les deux regles suivantes :

1. D(donnee de sortie) == maxf D'(donnccs dentreej ).

2. D(donnee partagee)== 1+ D(donnee avant partage).

14 Ces deux modeles sont les deux modeles de securite les plus connus des annces 70. La plupart des modeles actuels en reprennent l'esprit et les principales caracteristiqucs. Le lecteur trouvera leur description detaillee dans les articles originaux [21,22] et dans [8, Chap. 7], pour une presentation actualisee.

15 Untreillis est un ensemble ordonneT tel que toute partie {x,y} de T a deux elements admet une borne inferieure (noteexAy)et une borne superieure (noteexVy).L'ensemble des parties d'un ensemble £, ordonne par l'inclusion, est un treillis pour lequel V ==

U et A == n. La notion de treillis permet la formalisation et l'etude des ensembles partiellement ordonnes (ensemble dans lequel la relation d'ordre est partielle, c'est-a-dire que deux elements ne sont pas obligatoirement comparables) ; pour plus de details sur ces objets voir [132].

16 Une distance sur un ensembleEest une application dde E x Edans IR+ telle que pour tout (x,y,z) E £3 :

1. d(x, y) ==0 si et seulement si x ==y (axiome de separation).

2. d(x, y) ==d(y, x) (axiome de symetrie).

3. d(x, y) :::; d(x, z)

+

d(z, y) (inegalite triangulaire).

La protection est alors ass uree en fixant un seuil au-dela duquell'infor-mation devient inu tili sabl e. La figure 3.3 considere un seuil de 1. Dan s

A

FIG. 3.3. Mod ele de fla t avec seu il d e 1

B c DE

cet exemple, un utilisateur ne peut communiquer qu 'ave c deux autres utili sat eurs. Tou t e information , emanant par exemple de C, p eut uni-qu ement et repartagee avec B ou D mais aucunement avec A et E ,merne par l'intermediaire de B ou D. En revan che , t oute informati on em anant de B p eut transite r par A, tant qu 'elle ne cont ient pas d 'informati ons emanant de C.

Un tel modele rest e tres cont raignant . II necessit e de main t enir des listes de fiots ,c' est-a-dire une liste de tous les utili sateurs ayan t eu une action sur chaque information (donnees et programmes) , et ce selon des regles precises et strictes.

Fred Coh en a propose plu sieurs modeles de securite det ailles appartenant

a

ces deux classes [55-58] . Bien qu e leur qu alit e ne doive pas et re remise en cause, ces modeles sont inapplicables dan s la pra tique compte-t enu des cont rainte s (ou plutot de l' absen ce de cont raintes selon le point de vu e OU l'on se place) exigees par les utilisateurs d 'un systeme. Cela illus t re avec force le fait qu 'en matiere de securite, la theorie est un e chose et la pr at iqu e en est une autre.

Un peu plu s tard , L. Adlem an (voir sections 3.3.3et 3.3.4) va s'att acher

a

etudier les aspects theoriques du modele isolationniste . D etection et reparat ion

En utilisant l' analogie avec le monde biologique, Fred Coh en a considere alors une approche plus reactive (la prevention se sit ue Quan t

a

elle dan s

un e p ersp ective pro-active, en cherchant

a

ant icipe r et pr evenir le risqu e) consist ant

a

baser la defens e antivirale sur la det ection et I'eradication . La Iut te contre les virus biologiques se resume en effet

a

observer (detecte r) le mal et

a

le soign er. Au passage, le lect eur notera l'analogie p er tinent e existant entre les politiques de sante publique et les poli tiques de securite informatiaue.

Partant de cette base, Fred Cohen a considere alors plusieurs aspects afin de determiner I'interet de cette nouvelle approche, plus pragmatique. Nous considererons les aspects les plus pertinents.

- Detection virale.- Le theoreme 12 a montre (et Adleman en a precise plus tard la classe de complexite) que ce probleme etait generalement indecidable : il n'existe aucune procedure de decision D permettant de distinguer un virusV de tout autre programme, seulement sur sa forme (examen du code, par exemple). Afin d'illustrer intuitivement ce fait, considerons le pseudo-code suivant d'un virus CV dit contradictoire et considerons que D existe.

CV()

{

maine)

{

si non D(CV) alors

{

infection();

si condition vraie alors charge_finale();

}

fin si

aller au programme suivant

} }

La procedure de decision D determine si CV est un virus. Dans le cas de CV lui-meme, que se passe-t-il?

- Si D decide que CV est un virus, aucune infection ne survient (CV n'est alors pas un virus).

- En revanche, si D decide du contraire (CV n'est pas un virus), l'in-fection survient et CV se rcvelc bien etre un virus.

Cet exemple montre que la procedureD est contradictoire et que toute detection basee sur D est impossible car il existe au moins un virus, CV, qui ne sera pas detecte (Ie lecteur notera que le virus CV est une autre facon, plus intuitive mais tout aussi exacte, de demontrer le theoreme 12). Tout ceci montre que toute defense antivirale basee uniquement sur la detection par analyse de code est par essence d'une efficacite limitee.

- Evolutivite virale.- Si la detection par analyse de code est generalement imnossible. neut-on considerer un autre critere ?

Une autre approche peut consister a determiner, non plus si un pro-gramme est directement un virus, mais si deux propro-grammes sont lies par un mecanisme d'evolution virale. Malheureusement, letheoreme 13 a permis d'etablir que le probleme d'evolutivite virale etait generale-ment indecidable. II est ais« de le montrer en considerant un programme contradictoire similaire au programme CV (voir exercice).

La detection par analyse de forme etant alors systematiquement im-possible (directement ou par evolutivite comparee), Fred Cohen a alors considere le probleme de la detection par etude du comportement et non plus de la forme [51, p. 73]. Le comportement viral, en fait, est determine par des donnees particulieres cl'entrees" d'un programme appclecs a reveler (ou non) sa nature virale. Decider le comportement viral revient donc a analyser la forme de ces donnees dentrees. Comme la detection generale par la forme est indecidable, celle, generale, par le comportement, l'est egalement.

- Eradication.- Le probleme est ici de supprimer un virus deja present et detecte. Tout mecanisme dcradication suppose, defacon triviale, d'etre plus rapide que le processus viral lui-meme. Dans le cas contraire, la reinfection par le virus condamnerait un tel mecanisme a I'echec, L'autre aspect essentiel est que toute eradication efficace est condition-nee par une detection precise du virus. Fred Cohen a souligne qu'en pratique, il existait au moins une classe, celle des virus non evolutifs (ou virus statiques), pouvant etre detectee et eradiquee, En general, la technique employee est celle de la recherche de signatures, l'identifi-cation precise permettant une eradil'identifi-cation certaine. La seule contrainte provient du fait que cette technique est de typeenumeratif et ne prendra en compte que les virus deja identifies. Encore une fois, nous sommes donc confrontes au probleme general de la detection.

3.2.6 Resultats experimentaux

L'un des aspects interessante des travaux de Fred Cohen est d'avoir, offi-ciellement pour la premiere fois, tente de modeliser en pratique et en gran-deur reelle, les processus d'infection et de dissemination, sur des systemes reels et avec des virus non moins reels. Cela lui a permis en particulier de verifier certains de ses resultats theoriques, ainsi que la validite de certains des modeles prcsentcs dans la section precedente, Nous presenterons ici les

17 En se replacant dans le contexte des machines de Turing, le comportement viral provient d'une donnee d'entree (ou encore l'index d'une fonction recursive) qui va provoquer une duplicationde cette donnee sur la bande de calcul.

principaux resultats tandis que le lecteur pourra utilement consulter [51, pp 82-86] pour une presentation detaillee.

A premiere vue, ces resultats pourraient sembler depasscs de nos jours, les capacites materielles de I'epoque etant bien inferieures

a

celles de maintenant.

En fait, il n'en est rien. En premier lieu, il ne semble pas(ala connaissance de l'auteur) que de telles experiences aient ete officiellement conduites ailleurs et plus tard. Nous disposons donc aujourd'hui de ces seuls resultats et des conclusions qui s'y rapportent.

En second lieu, Fred Cohen s'est attache

a

conduire ces experimentations, independamment des environnements specifiques de I'epoque (systemes d'ex-ploitation, langages, failles logicielles ... ). De plus, il n'a considere que les seuls modeles ou politiques de securite en vigueur et leurs failles - autrement dit rien que de tres actuel, si l'on considere que la plupart des modeles utilises de nos jours ont ete envisages

a

I'epoque de Fred Cohen, par lui-meme ou par d'autres. Les conclusions qu'il a etablies sont,

a

ce titre, d'une etonnantc actualite. II est navrant, au regard des resultats des audits de securite realises de nos jours, de constater que rien n'a vraiment change.

Fred Cohen a realise trois series principales dexperiences, non sans dif-ficultes, longues negociations prealables et complications de toutes sortes. II semble, au final, qu'il n'ait pu en realiser qu'une partie, tant les premiers resultats ont effraye les decideurs de I'epoque.

Premiere experience: novembre 1983

Fred Cohen donne peu d'elements techniques sur le virus lui-meme. II s'agit d'un virus pour une plateforme VAX 11/750 sous Unix. De multiples precautions avaient ete prises pour tracer et contr6ler le virus. La desinfection a ete, de plus, systematiquement appliquee sur tous les programmes infectes durant Fexperience.

La dissemination du virus a ete tres rapide (plus que Fred Cohen, lui-memc ne s'y etait attendu). Certains utilisateurs ayant des droits superutili-sateur (root) furent infectes, livrant alors tout le systeme au virus en quelques minutes. Dans tous les cas, le virus est parvenu

a

obtenir les droits systeme apres trente minutes.

Des que les premiers resultats ont ete connus, les administrateurs et les responsables de securite reagircnt assez vivement pour arretcr et interdire toute poursuite de Fexperience ainsi que toute analyse post-experimentale sur leur systeme : reaction typique, largement constatee de nos jours chez beaucoup de decideurs qui pensent que les «problemes que l'on ri'etudie nas, n'existent nas », Malzre de laborieuses tentatives de neuociations Dour

convaincre de I'interet de ces simulations grandeur reelle, Fred Cohen n'a pas pu poursuivre. Mais les premiers resultats, aussi limites ont-ils ete, ont prouve que le risque etait bien reel et ne pouvait etre ignore.

Seconde experience: juillet 1984

Elle a eu lieu sur un systeme Univac 1108 et a necessite plusieurs mois de negociations et de preparation. Le but etait de montrer la faisabilite d'un virus sous un systeme implementant le modele de securite Bell-LaPadula [21]' modele de reference a I'epoque. L'experience, encore une fois, a ete realisee avec un luxe de precautions (tracage et contr6le des infections, limitations de res sources physiques disponibles, nombres de comptes disponibles ... ).

Le virus a prouve sa capacite a infecter un groupe composite de simples utilisateurs, administrateurs et responsables de securite informatique. II est parvenu a contourner les systemes de droits utilisateurs et a obtenir des privileges superieurs a ceux que le virus detenait initialement. Le modele de securite teste s'est revele, par consequent, faible.

Le virus semblait etre assez simple (moins de 300 lignes d'assembleur, de Fortran et de commandes interpretees) et les experimentateurs ont conclu qu'il serait relativement ais« de faire encore beaucoup mieux avec un virus un peu plus elabore.

'Iroisieme experience: aout 1984

II semblerait que la seconde experience, a la lumiere des resultats deja obtenus, ait bouscule et ouvert les esprits. Une troisiemc experimentation fut autorisee en aout 1984 sur un VAX sous Unix. Le but, cette fois, etait de mesurer la dissemination virale, notamment a travers le partage de fichiers. II s'agissait de considerer, entre autres aspects, certains groupes d'utilisateurs

« a risques », qui, plus que d'autres, ont un impact sur la securite de tout le systeme. Comprendre et controler ces groupes, en leur appliquant des modeles de protection adaptes, devait permettre de considerablement limiter les risques.

Lors de cette experience, le nombre d'utilisateurs de type administra-teur etait relativement eleve, Encore une fois, lorsque le virus est parvenu a infecter le compte d'un tel utilisateur, le systeme (totalite des comptes et ressources) est alors considere comme totalement contamine. L'analyse des resultats a demontre rapidement et clairement que les administrateurs ont ete contamines relativement vite. Ces derniers n'ont pas hesite a executor des nroararnmes exterieurs alors au'ils etaient connectes en tant aue root.

corrompant ainsi tres vite tout le systeme. Le mepris des droits et des pre-cautions indispensables en terme de gestion (compte rootstrictement reserve pour l'administration) a permis au virus, a chaque fois, d'agir tres rapide-mente

Conclusions

Ces experimentations ont permis en final de mettre en evidence un cer-tain nombre de faits qui pourraient nous sembler evidcnts aujourd'hui (et cela n'est pas une certitude, les audits frequents de securite demontrent le contraire) mais qui a I'epoque ont ete autant de revelations et de surprises.

Le lecteur doit garder present a l'esprit le contexte de I'epoque : la notion de virus emcrgcait a peine et le risque viral etait inexistant. Les premiers modeles de securite sont nes a cette epoquc (en grande partie, ceux que nous appliquons ou devrions appliquer) et il n'est pas exagere d'affirmer que les resultats de Fred Cohen ont apporte une contribution essentielle dans la definition de ces modeles (Ie lecteur pourra d'ailleurs etudier les articles originaux de Fred Cohen dans ce domaine [54-61,136], qui prouvent que sa contribution va au-dela des experimentations presentees succintement dans cette section).

Les principaux enseignements qui ont ete tires de ces experiences, sont les suivants :

- une attaque virale est relativement facile a developper, surtout quand elle exploite une ou plusieurs failles des proto coles ou la politique de securite. En particulier, cela souligne avec force que I'element humain, dans cette perspective, est le maillon faible. Les experiences de Fred Cohen ont montre que tous les modeles de securite ont pu etre battus en breche, Cela renforce la validite de ses propres resultats theoriques, prcsentcs plus haut;

- ces attaques sont tres rapides et peuvent se faire en ne laissant prati-quement aucune trace qui pourrait permettre a l'utilisateur de rcagir et de ralentir l'attaque - voire de I'arreter. Cela concerne autant les systemes simples, multi-utilisateurs, que les systemes en reseau;

- mais surtout, et c'est la le point certainement le plus important : au-cune politique, aucun modele de securite n'est valable, et ne peut par consequent etre valide, s'il n'est pas etalonne, teste et considere sous l'angle d'une analyse technique, eventuellement offensive. Pour plus de clarte, citons Fred Cohen lui-meme :

« [...

J

les consequences des politiques interdisant les experimen-tations controlee» de la securit« sont eindenie» : interdire aux

utilisateurs de faire leur travail incitera les attaques illicites; si un utilisateur peut lancer une attaque sans aide d 'une faille du susieme ou de connaissances specioles, d'autres pourront le faire eqalemeni [. ..

J

La conception selon laquelle toute attaque auto-risee reduit la securit« est, selon I'avis de I'auteur, un argument faux. L'idee d 'utiliser de telles attaques pour detecier des pro-blemes est souvent requise par les politiques gouvernementales de securit« en vue d'eualuer les sustemes de cotijuuice'", Il serait plus rationnel d 'utiliser des experimentations ouvertes et contro-lees comme ressource en vue de l 'amelioration de la securit«. » - enfin, et en complement de ses etudes sur le modele isolationniste, ces

utilisateurs de faire leur travail incitera les attaques illicites; si un utilisateur peut lancer une attaque sans aide d 'une faille du susieme ou de connaissances specioles, d'autres pourront le faire eqalemeni [. ..

J

La conception selon laquelle toute attaque auto-risee reduit la securit« est, selon I'avis de I'auteur, un argument faux. L'idee d 'utiliser de telles attaques pour detecier des pro-blemes est souvent requise par les politiques gouvernementales de securit« en vue d'eualuer les sustemes de cotijuuice'", Il serait plus rationnel d 'utiliser des experimentations ouvertes et contro-lees comme ressource en vue de l 'amelioration de la securit«. » - enfin, et en complement de ses etudes sur le modele isolationniste, ces