Etalonnage de la sûreté de fonctionnement des systèmes d’exploitation
Notions de sûreté de fonctionnement informatique
Les travaux présentés dans ce mémoire s’inscrivent dans le cadre de l’évaluation expérimentale de la sûreté de fonctionnement informatique. Dans cette section, nous passons en revue les principaux éléments de cette notion de sûreté de fonctionnement. Nous présentons tout d’abord les concepts relatifs à la sûreté de fonctionnement (attributs, entraves et moyens) avant de nous intéresser en particulier à l’un de ses moyens : la prévision des fautes. Nous conclurons cette section en présentant l’injection de fautes, une approche au service de la prévision et de l’élimination des fautes. La terminologie utilisée tout au long de cette section est extraite du « Guide de la Sûreté de Fonctionnement » [Laprie 1995].
Concepts de sûreté de fonctionnement informatique
La sûreté de fonctionnement d’un système informatique est la propriété qui permet à ses utilisateurs de placer une confiance justifiée dans le service qu’il leur délivre. Le service délivré par un système est son comportement tel que perçu par son, ou ses utilisateurs ; un utilisateur est un autre système (humain ou physique) qui interagit avec le système considéré. La sûreté de fonctionnement informatique s’articule en trois principaux axes : les attributs qui la caractérisent, les entraves qui empêchent sa réalisation et enfin les moyens de l’atteindre (la prévention, la tolérance, l’élimination et la prévision des fautes). Attributs de la sûreté de fonctionnement Les attributs de sûreté de fonctionnement sont définis pour exprimer les propriétés de sûreté de fonctionnement du système. L’importance de chacun de ces attributs est relative aux applications auxquelles le système est destiné. On peut distinguer : • La disponibilité, le fait que le système soit prêt à l’utilisation, • La fiabilité, la continuité du service, • La sécurité-innocuité, la non-occurrence de conséquences catastrophiques pour l’environnement, • La confidentialité, la non-occurrence de divulgations non-autorisées de l’information, • L’intégrité, la non-occurrence d’altérations inappropriées de l’information, • La maintenabilité, l’aptitude aux réparations et aux évolutions. Entraves à la sûreté de fonctionnement Les entraves à la sûreté de fonctionnement sont les circonstances indésirables – mais non inattendues – causes ou résultats de la non-sûreté de fonctionnement. Dans l’ensemble des entraves, on distingue la défaillance du système qui survient lorsque le service délivré dévie de l’accomplissement de la fonction du système, l’erreur qui est la partie de l’état de système qui est susceptible d’entraîner une défaillance, et enfin la faute considérée comme la cause adjugée ou supposée de l’erreur.
Notions de sûreté de fonctionnement informatique
11 Moyens pour la sûreté de fonctionnement Il s’agit des méthodes et techniques permettant de fournir au système l’aptitude à délivrer un service conforme à l’accomplissement de sa fonction, et de donner confiance dans cette aptitude. Le développement d’un système sûr de fonctionnement passe par l’utilisation combinée de ces méthodes qui peuvent êtres classées en : • Prévention de fautes : comment empêcher l’occurrence ou l’introduction de fautes ; • Tolérance aux fautes : comment fournir un service à même de remplir la fonction du système en dépit des fautes ; • Élimination des fautes : comment réduire le nombre et la sévérité des fautes ; • Prévision des fautes : comment estimer la présence, la création et les conséquences des fautes. La prévention des fautes et la tolérance aux fautes peuvent être vues comme des moyens d’obtention de la sûreté de fonctionnement, c’est-à-dire comment procurer au système l’aptitude à fournir des services conformes aux fonctions attendues. L’élimination des fautes et la prévision des fautes peuvent être vues comme constituant les moyens de la validation de la sûreté de fonctionnement, c’est-à-dire comment avoir confiance dans l’aptitude du système à fournir des services conformes à l’accomplissement de sa fonction. Nos travaux s’inscrivent dans le cadre de la validation de la sûreté de fonctionnement, et plus spécifiquement dans les techniques utilisées pour la prévision des fautes, dont nous présentons les concepts de base dans le paragraphe suivant.
La prévision de fautes
La prévision des fautes est réalisée en effectuant des évaluations du comportement du système par rapport à l’occurrence des fautes et à leur activation. Ces évaluations peuvent être conduites de deux façons, selon le but à atteindre : 1) L’évaluation ordinale, ou qualitative, destinée à identifier, classer et ordonner les défaillances, ou les méthodes et techniques mises en œuvre pour les éviter ; 2) L’évaluation probabiliste, ou quantitative, destinée à évaluer en termes de probabilités le degré de satisfaction de certains des attributs de la sûreté de fonctionnement ; ces attributs sont alors vus comme des mesures de la sûreté de fonctionnement du système. La vie d’un système est perçue par son, ou ses utilisateurs comme une alternance entre deux états du service par rapport à l’accomplissement de la fonction du système : 1) Service correct, où le service délivré accomplit la fonction du système ; 2) Service incorrect, où le service délivré n’accomplit pas la fonction du système. Une défaillance est donc une transition de service correct à service incorrect ; la transition de service incorrect à service correct est une restauration. La quantification de l’alternance: • Fiabilité : mesure de la délivrance continue d’un service correct, ou, de façon équivalente, du temps jusqu’à défaillance ; • Disponibilité : mesure de la délivrance d’un service correct par rapport à l’alternance « service correct – service incorrect » ; • Maintenabilité : mesure du temps jusqu’à restauration depuis la dernière défaillance survenue, ou, ce qui est équivalent, de la délivrance continue d’un service incorrect. D’autres mesures peuvent être considérées en combinant des mesures de performance et des mesures de sûreté de fonctionnement. C’est le cas de systèmes multi-performants, où l’on peut distinguer plusieurs modes de délivrance de service depuis la pleine capacité jusqu’à l’interruption totale. Ces mesures sont habituellement dénommées par le terme de performabilité [Meyer 1993]. Dans le domaine de l’évaluation quantitative, nous distinguons plusieurs techniques pour évaluer la sûreté de fonctionnement des systèmes informatiques. En fonction des niveaux d’abstraction considérés pour le système évalué (modèles axiomatiques, de simulation ou physiques), deux ensembles des techniques peuvent être considérés : 1) Les techniques à base de modèles, ou modélisation analytique, qui consistent à construire des modèles mathématiques permettant ainsi de quantifier les mesures de sûreté de fonctionnement, 2) Les techniques à base de mesures expérimentales, ou évaluation expérimentale, qui consistent à observer le comportement du système à évaluer, collecter les informations nécessaires, les analyser et les traiter pour obtenir enfin les mesures quantitatives désirées. Nous distinguons deux grandes familles de ces techniques. Il s’agit de la collecte des données statistiques provenant de l’observation de systèmes opérationnels et de l’injection de fautes. La modélisation analytique s’appuie sur la description analytique ou graphique du comportement du système. Les mesures de sûreté de fonctionnement sont évaluées par l’affectation des probabilités aux paramètres des modèles. Parmi les principaux types de modèles largement utilisés, on peut citer notamment les diagrammes de fiabilité, les arbres de fautes et les graphes d’états (chaînes de Markov, réseaux de Petri stochastiques, etc.). Ces méthodes d’évaluation ont été largement utilisées pour prendre des décisions lors de la phase de conception des systèmes. Le problème de l’évaluation analytique peut être divisé en trois phases étroitement liées : • Le choix des mesures de la sûreté de fonctionnement à évaluer, • La construction d’un, ou des modèles pour décrire le comportement du système, • Le traitement du, ou des modèles pour calculer les mesures désirées.
Introduction générale |