• Aucun résultat trouvé

Cette section présente une vision récapitulative sur les différentes caractérisations for- melles abordées dans ce chapitre. Il est à noter que ce domaine de recherche est relativement jeune. En effet, une dizaine d’années est une durée très courte dans la vie d’une science fon- damentale où les progrès se font à petits pas et selon un rythme très lent. On rappelle d’abord que l’objectif principal de cet axe de recherche est de pouvoir associer un mécanisme de sé- curité aux politiques de sécurité qu’il peut appliquer. Plus précisément, il s’agit de répondre à plusieurs questions très pertinentes lorsqu’il s’agit d’étudier une politique de sécurité :

– Quels sont les mécanismes de sécurité qui sont réellement capables d’appliquer la po- litique de sécurité ?

– Si plusieurs mécanismes sont capables d’appliquer la politique, alors comment choisir entre eux ?

– Si aucun mécanisme n’est capable d’appliquer la politique, alors comment procéder ? Nous pouvons classer les différentes contributions en deux classes principales : les contri- butions théoriques et celles considérant des contraintes pratiques.

3.9.1

Contributions théoriques

Dans cette section, nous abordons les travaux d’ordre théorique. Nous nous focalisons sur les modèles qui ont fait abstraction des contraintes intrinsèques aux systèmes informatiques telles que les limitations des resources, la puissance de calcul, etc.

Schneider [96] est le père fondateur de cet axe de recherche. En effet, les résultats émanant de ses études et de ses réflexions ont influencé profondément le vague de chercheurs qui l’ont suivi sur cette tendance. Un résultat majeur de Schneider consiste en la délimitation du pouvoir des moniteurs d’exécutions par les propriétés de sûreté. Ce résultat permet de déduire qu’une politique de sécurité qui est définie par le contrôle de plusieurs exécutions n’est pas applicable par monitorage d’exécution, puisque ce genre de politiques ne constitue pas des propriétés. De plus, même s’il s’agit d’une propriété, si cette dernière n’est pas fermée par préfixe (sûreté), elle n’est pas applicable par monitorage d’exécution non plus .

des automates de sécurité comme étant le modèle par excellence pour spécifier les moniteurs d’exécution. En effet, une propriété applicable par un moniteur d’exécution peut être faci- lement déduite à partir de l’automate de sécurité la spécifiant. Ceci a permis l’exploration de la théorie des langages pour une caractérisation plus précise des politiques de sécurité applicable par monitorage d’exécution. Cependant, le modèle de Schneider est très abstrait puisqu’il suppose la disponibilité de l’historique intégral de l’exécution (mémoire infinie) et aussi la disposition du moniteur de tout le temps nécessaire, afin d’analyser cet historique et d’entreprendre les interventions requises pour l’application de la propriété de sécurité.

Par la suite, une autre contribution importante a émergé, il s’agit des travaux de Ligatti et al. [73] qui partagent beaucoup de points avec les conclusions émises par schneider. Ce- pendant, bien que cette contribution porte aussi sur les moniteurs d’exécution, elle inclut une nouvelle supposition qui consiste à doter les moniteurs d’une puissance exceptionnelle que les moniteurs classiques ne détiennent pas, en réalité. Parmi ces capacités extraordinaires in- troduites par Ligatti et al., les MEs peuvent faire semblant d’exécuter des actions (simuler des actions) ou bien exécuter des actions. L’introduction de ces capacités ont permis d’améliorer (théoriquement) la puissance des moniteurs d’exécution et d’étendre la portée de leur appli- cation, afin d’assurer l’application de n’importe quelle propriété définie sur des séquences finies ainsi qu’une large classe de propriétés définies sur des séquences infinies. Toutefois, nous montrons dans cette thèse que la capacité des ces supers-moniteurs par rapport à la simulation des actions, considérée comme l’élément angulaire de cette approche, n’est que fictif. En effet, simuler des actions d’un programme, sans détenir le pouvoir de changer sa structure génère souvent un comportement qui est à l’encontre des deux principes fondamen- taux de l’application de la sécurité, à savoir la correction et la transparence.

Sur la même lignée, nous retrouvons la contribution de Hamlen et al.[51] qui s’est in- téressée à l’étude de la complexité des mécanismes de sécurité. Cette contribution a fourni une taxonomie des politiques de sécurité applicables. Dans cette classification, Hamlen et al. ont considéré une plus grande classe de mécanismes de sécurité incluant : l’analyse statique, le monitorage d’exécution, et la réécriture de programmes. Ce travail a permis de connec- ter cette taxonomie à la hiérarchie arithmétique de la théorie de la complexité calculable. Aussi, ce travail a permis de mieux cerner la classe de politiques applicables par monitorage d’exécution.

3.9.2

Considération des contraintes pratiques

Il y a une question très importante qui a été soulevée par Ligatti et al. : “Est-il possible de mieux classifier les politiques de sécurité en posant des contraintes sur les capacités du

moniteur d’exécution”. Cette question est venue stimuler la communauté des chercheurs, afin d’introduire un soupçon de réalisme dans la caractérisation des mécanismes de sécurité. En effet, ce besoin crucial s’impose de plus en plus notamment si l’on veut que les résultats théoriques produits dans cet axe de recherche puissent avoir des retombées pratiques.

Dans ce contexte, Fong [42] a tenté de donner une première réponse à cette question en modélisant les informations mises à la disposition des moniteurs d’exécution. Afin de repré- senter les contraintes imposées aux informations disponibles pour un moniteur d’exécution, Fong a utilisé une fonction d’abstraction sur les séquences d’exécution d’un programme mo- nitoré. Dans le but de fournir une comparaison entre les classes de politiques applicables sous différentes abstractions, un treillis est défini sur l’espace de toutes les relations de congruence entre les séquences d’actions. En effet, La congruence s’adapte très bien à la comparaison entre les ensembles de politiques applicables. Différents types d’abstraction ont été étudiés dans [42]. Cependant, cette contribution se limite uniquement aux automates de sécurité. Par ailleurs, Talhi et al. [104] ont raffiné ce modèle afin de caractériser les moniteurs d’exécution disposant seulement d’un espace mémoire de tailleK pour sauvegarder l’historique d’exécu-

tion.

Par la suite, Fong a proposé une fois de plus, dans [113] une nouvelle approche visant une meilleure caractérisation et classification des mécanismes de sécurité. Soucieux des surcoûts engendrés par les mécanismes de sécurité, Fong a fait preuve de plus de pragmatisme, en associant l’expressivité de son modèle au grand potentiel d’optimisation dont il fait preuve.

3.10

Conclusion

Dans ce chapitre, nous avons présenté un survol des principales contributions recensées dans l’état de l’art qui portent sur la caractérisation formelle des mécanismes de sécurité. Ce domaine de recherche est relativement jeune et vise à proposer des solutions novatrices dans un domaine très critique qu’est la sécurité informatique. En effet, ce n’est pas rare qu’une faille de sécurité survienne dans des situations où l’on se croit bien protégé. Afin d’éviter ce genre de situation, une caractérisation formelle permettra d’identifier avec précision les poli- tiques de sécurité qu’un mécanisme est capable d’appliquer et celles qu’il n’est pas capable d’appliquer ; évitant ainsi le déploiement de mécanismes de sécurité inefficaces ou inappro- priés.

Par ailleurs, nous avons constaté que la majorité des travaux abordés dans l’état de l’art adoptent la caractérisation des moniteurs d’exécution ou leur intégration au sein des pro- grammes, et ce en dépit de la grande puissance dont jouit les mécanismes de sécurité orientés

réécriture de programmes. Par conséquent, nous avons décidé de suivre cette direction, en exploitant cette puissance, afin de pouvoir appliquer effectivement le maximum de propriétés de sécurité. Dans les prochains chapitres, nous proposons d’une manière formelle des méca- nismes de sécurité basée sur la réécriture pour l’application des propriétés de sûreté et des propriétés spécifiables par les automates d’édition.

Caractérisation des mécanismes de

sécurité basés réécriture

Application des propriétés de sûreté