1.2 La sécurité dans l’Internet des Objets
1.2.1 Terminologie de la sécurité
La sûreté de fonctionnement définit les termes de sécurité-innocuité (safety) et
sécurité-immunité (security), dans laquelle nos travaux s’inscrivent. Nous
présen-tons ici le vocabulaire qui sera utilisé par la suite, en commençant par définir les
principaux concepts de la sûreté de fonctionnement, issus de [Laprie 1996] et mis à
jour dans [Avizienis 2004], puis en se focalisant sur les concepts liés à la
sécurité-immunité.
1.2.1.1 Sûreté de fonctionnement
La sûreté de fonctionnement d’un système informatique est définie comme « la
propriété qui permet aux utilisateurs d’un système de placer une confiance justifiée
dans le service qu’il leur délivre ». Le service délivré correspond au comportement du
système perçu par ses utilisateurs. La sûreté de fonctionnement comporte trois axes
principaux : les attributs qui la décrivent, les entraves qui empêchent sa réalisation
et les moyens d’atteindre celle-ci (figure 1.1).
La sûreté de fonctionnement associée à la sécurité-immunité définissent les
at-tributs et les propriétés complémentaires suivantes :
— La capacité d’un système à être prêt à l’utilisation se définit comme la
Dis-ponibilité.
— La continuité du service se définit comme la Fiabilité.
— La non-occurrence de conséquences catastrophiques pour l’environnement se
définit comme la Sécurité-innocuité.
— La non-occurrence de divulgations non autorisées de l’information se définit
comme la Confidentialité.
— La non-occurrence d’altérations inappropriées de l’information se définit
comme l’Intégrité.
Sureté de
fonctionnement
Attributs
Entraves
Moyens
Disponibilité Fiabilité Sécurité-innocuité Intégrité Confidentialité Maintenabilité Prévention des fautes Tolérance aux fautes Élimination des fautes Prévision des fautesFautes Erreurs Défaillances
Sécurité-immunité
Figure 1.1 – L’arbre de la sécurité de fonctionnement
— L’aptitude d’un système à être réparé ou à subir des évolutions se définit
comme la Maintenabilité.
La non-sûreté de fonctionnement correspond quant à elle à une perte de
confiance, qui ne peut plus ou ne pourra plus être placée dans le service délivré.
Les causes ou résultats de celle-ci sont les circonstances indésirables définies comme
étant lesentraves :
— Unedéfaillancesurvient lorsque le service délivré dévie de l’accomplissement
de la fonction du système.
— Une erreur est la partie de l’état du système qui est susceptible d’entraîner
une défaillance.
— Unefaute est la cause adjugée ou supposée d’une erreur.
Pour mettre en place la sûreté de fonctionnement dans un système, nous
dispo-sons de plusieursmoyens. Ces moyens sont 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 passe par l’utilisation combinée d’un ensemble de méthodes :
— La prévention de fautesempêche l’occurrence ou l’introduction de fautes.
— La tolérance aux fautes permet de fournir un service à même de remplir
la fonction du système en dépit des fautes.
1.2. La sécurité dans l’Internet des Objets 23
— La prévision des fautesestime la présence, la création et les conséquences
des fautes.
Les travaux décrits et présentés dans ce manuscrit s’inscrivent dans le cadre de la
sécurité-immunité, qui se définit comme l’association des attributs de disponibilité
de confidentialité et d’intégrité. Dans la suite, nous détaillons les concepts liés à la
sécurité-immunité.
1.2.1.2 Sécurité-immunité
La sécurité-immunité a pour but de protéger un système contre les fautes définies
comme intentionnellement nuisibles, c’est-à-dire créées ou commises délibérément
pour nuire, appelées aussi malveillances. Dans cette section, nous allons appliquer
les attributs génériques définis précédemment au contexte de la sécurité-immunité.
Dans le reste de ce manuscrit, les termes de sécurité ou de sécurité informatique
seront utilisés comme alias à la sécurité-immunité, sauf exception explicitement
précisée.
Attributs Dans le contexte de la sécurité-immunité, les attributs de la sûreté de
fonctionnement peuvent être spécialisés de la manière suivante :
— Disponibilité : prévention de rétentions d’information non autorisées.
— Confidentialité: prévention de divulgations d’information non autorisées.
— Intégrité : prévention de modifications d’information non autorisées.
Malveillances Le projet MAFTIA [Powell 2001] s’intéresse au concept de faute
due à l’homme pour la sécurité-immunité. Dans nos travaux, nous nous concentrons
principalement sur ces fautes, et notamment à deux classes de fautes
intentionnel-lement nuisibles, appelées égaintentionnel-lement malveillances : les logiques malignes et les
intrusions. Les logiques malignes sont des fautes internes intentionnelles, qui sont
conçues pour provoquer des dégâts (bombes logiques) ou pour faciliter les futures
intrusions par l’ajout de vulnérabilités (portes dérobées). Celles-ci peuvent être
pré-sentes dès la première utilisation du système, donc ajoutées par le concepteur du
système, ou durant son exploitation par l’installation d’un cheval de Troie ou par
un virus. Concernant les intrusions, celles-ci sont associées à deux causes :
— Un acte malveillant ou uneattaque essayant d’exploiter une faiblesse du
sys-tème. Une attaque étant une faute d’interaction, dont le but est de violer un
ou plusieurs des attributs de sécurité. Elle peut être aussi définie comme une
tentative d’intrusion.
— Une faiblesse ou une vulnérabilité placée dans les exigences, la spécification,
la conception ou la configuration du système, ou dans la manière dont il est
utilisé. Une vulnérabilité étant une faute accidentelle, ou une faute
intention-nellement malveillante ou non malveillante.
L’intrusion se définit donc comme étant une faute externe nuisible qui résulte
d’une attaque ayant réussi à exploiter une vulnérabilité.
Fautes dues à l’homme sans volonté de nuisance Le projet MAFTIA décrit
également deux autres types de fautes dues à l’homme n’étant pas des malveillances,
car sans volonté de nuisance, qui peuvent cependant être génératrices de
vulnéra-bilités ou d’intrusions dans les systèmes :
— Les fautes de conception sont ajoutées à la conception du système, ce sont
des fautes de développement accidentelles ou intentionnelles sans volonté de
nuire. Par exemple, l’implémentation d’un standard cryptographique ou d’un
protocole communication peut être vulnérable [Ronen 2018].
— Les fautes d’interactions sont des fautes externes, dues à la mauvaise
utilisa-tion du système. Par exemple, l’utilisateur d’un objet n’utilise pas les foncutilisa-tion-
fonction-nalités de sécurité proposées par le fabricant pour des questions d’ergonomie.
Les fautes dues à l’homme sans volonté de nuisance ajoutent principalement des
vulnérabilités au système et permettent donc, par transitivité, la réalisation
d’at-taques voire d’intrusions qui pourront par la suite amener des logiques malignes
en ajoutant de nouvelles vulnérabilités. Les fautes d’interaction humaines,
notam-ment dans l’IoT, peuvent être induites par une conception non sécurisée d’un objet,
par exemple en proposant un mode de fonctionnement sécurisé ainsi qu’un mode
dégradé (c’est par exemple le cas dans des implémentations du BLE ou du
Blue-tooth). Ces fautes, bien que très sensibles pour la sécurité des systèmes, ne font pas
l’objet de ces travaux, car elles dépendent souvent de la formation des utilisateurs.
Pour ce qui est des vulnérabilités ajoutées par les fautes de conception, elles seront
potentiellement exploitées de manière malveillante par des attaques. Il est donc
in-dispensable de lutter contre les malveillances pouvant aller à l’encontre des trois
attributs de la sécurité-immunité.
1.2.1.3 Moyens de lutte contre les malveillances
Nous pouvons encore une fois spécialiser les moyens permettant d’avoir un
sys-tème sûr de fonctionnement pour les appliquer à la sécurité-immunité.
Prévention des fautes La prévention des fautes peut se dériver en trois
mé-thodes pour les attaques, les vulnérabilités et les intrusions. La prévention des
at-taques consiste à dissuader les utilisateurs malveillants d’attaquer le système. Cela
est possible via la loi et la pression sociale par exemple. La prévention des
vulné-rabilités lutte contre l’introduction de vulnévulné-rabilités dans la conception du système
via l’application de méthodes semi-formelles ou formelles, mais aussi l’éducation de
l’utilisateur (choix de mot de passe robuste, utilisation correcte d’un certificat ou
d’une paire de clés par exemple). La prévention d’intrusions est mise en place via
les techniques d’authentification, d’autorisation et des pare-feu et par transitivité
aux préventions des attaques et des vulnérabilités.
Tolérance aux fautes Dans le cas de malveillances, on s’intéresse
principale-ment à la tolérance aux intrusions. Il s’agit d’un ensemble de méthodes que met en
1.2. La sécurité dans l’Internet des Objets 25
place un système pour être capable de détecter une intrusion, de se réparer et se
reconfigurer tout en continuant de garantir une disponibilité de service et/ou
l’in-tégrité des données pendant une attaque [Deswarte 1991]. Nous pouvons aussi citer
les mécanismes de redondance ou de diversification, qui garantissent qu’un certain
niveau de sécurité peut être assuré malgré la compromission de certains composants
du système. Nos travaux se concentrent sur cet aspect, en détectant les intrusions
via l’analyse des activités radios d’un environnement connecté à surveiller.
Élimination des fautes Seule l’élimination de vulnérabilités est réellement
per-tinente. En effet, on ne peut interdire formellement à un utilisateur d’attaquer un
système et à l’identique, si une vulnérabilité existe, une intrusion peut de toute façon
exister. Le développement d’un système est complexe, il est donc très difficile
d’éli-miner complètement les fautes d’un système. Les concepteurs peuvent donc tenter
de réduire leur nombre en appliquant, entre autres, de la vérification, du diagnostic
et de la correction. La vérification consistant à déterminer si le système satisfait des
propriétés, le diagnostic étant la recherche des fautes ayant empêché la satisfaction
des propriétés, et la correction correspondant aux modifications nécessaires.
Prévision des fautes Enfin, la prévision de fautes propose un ensemble de
mé-thodes permettant d’identifier les vulnérabilités, attaques, intrusions potentielles
d’un système et de mesurer l’impact des erreurs sur les attributs de la
sécurité-immunité sur le système, tout en reportant ces identifications.
1.2.1.4 Surfaces d’attaques et modèle de menaces
Pour permettre de mettre en place les moyens associés à un système sûr de
fonc-tionnement, il est nécessaire de comprendre deux éléments constitutifs du système
que nous cherchons à protéger :
— Modèle de menaces : définit les menaces potentielles, de telle manière que
les vulnérabilités d’un système sont identifiées pour proposer des moyens
per-mettant de prévenir, tolérer, éliminer ou prévoir des malveillances.
— Surface(s) d’attaques: définit les vecteurs d’attaques, c’est-à-dire les points
d’accès extérieurs au système pouvant contenir des vulnérabilités qu’un
atta-quant pourrait exploiter pour réaliser une intrusion.
Dans le document
Détection d'intrusion dans des environnements connectés sans-fil par l'analyse des activités radio
(Page 34-38)