II.2. Les besoins et les objectifs de sécurité aux WSN Pour déterminer des objectifs de sécurité, il faudra connaitre ce qu’on doit protéger. Les réseaux de capteurs partagent certaines caractéristiques des réseaux mobiles ad hoc mais aussi possèdent des propriétés spécifiques aux WSN, discutées dans la section précédente. Donc les objectifs de sécurité englobent ceux des réseaux traditionnels et les objectifs issus des contraintes intrinsèques aux WSN. Parmi les principaux objectifs de sécurité, nous citons : II.2.1. L'authentification L'authentification des capteurs est nécessaire pour s'assurer que l'identité déclarée par un capteur est bien celle du capteur déclarant. En l'absence d'un mécanisme permettant d'authentifier clairement un nœud du réseau, de nombreuses attaques peuvent se mettre en place comme l'attaque Sybil. II.2.2. La confidentialité Le réseau doit s'assurer que les données transmises soient confidentielles et ne puissent être lues par des dispositifs ou personnes autres que ceux ayant droit de le faire. Une personne extérieure au réseau ne doit pas être capable de lire les informations échangées. Les données doivent être cachées ou cryptées de telle manière que personne ne puisse y accéder. La confidentialité des données est prépondérante dans des applications de types médicales où les informations du patient ne doivent pas être divulguées. Il en est de même pour des applications militaires où ces informations peuvent avoir une conséquence stratégique sur des actions en cours. II.2.3. L'intégrité des données : Les données circulant sur le réseau ne doivent pas pouvoir être altérées au cours de la communication. Il faut donc s'assurer que personne ne puisse capturer et modifier les données du réseau. De la même manière il faut vérifier que les données n'ont pas subi d'altération due à un disfonctionnement du matériel, qui est un risque important sur des capteurs sensibles aux altérations d'états.
II.2.4. Fraîcheur des données Par fraîcheur des données, nous entendons savoir si la donnée est récente ou non. Cela signifie qu'il faut s'assurer que la donnée transmise corresponde à un état présent. La fraîcheur des données garantit ainsi que ces données ne reflètent pas un état passé qui n'a plus cours. Sans mécanisme de sécurité vérifiant que les données transmises sont récentes, un attaquant pourrait capturer des informations circulant sur le réseau à une date T, puis les retransmettre à une date T+1 pour tromper le réseau et faire circuler de fausses informations. On peut prendre pour exemple un réseau de capteurs censé détecter les incendies, qui détecterait une première fois un incendie réel. L'attaquant enregistrerait les informations envoyées lors de cet événement. Il pourrait alors plus tard renvoyer ces mêmes données pour déclencher une fausse alerte. II.2.5. Disponibilité du réseau Le réseau doit pouvoir être disponible à tout instant, c'est-à-dire que l'envoi d'information ne doit pas être interrompu, de même que la circulation de l'information ne doit pas être stoppée. Dans le cas d'un réseau de capteurs réactif, il faut qu'un capteur qui détecte un événement puisse transmettre à tout instant cette information vers la base du réseau de capteurs pour l'en informer. II.2.5. Temps synchronisé De nombreuses solutions de sécurité nécessitent des capteurs synchronisés pour qu'elles soient effectives. Il faut ainsi s'assurer que les capteurs du réseau ou des sous-réseaux du réseau ont une horloge commune afin par exemple d'éviter des attaques de type rejeu de paquets. II.2.6. Localisation sécurisée : Le besoin de se localiser et de connaître la position des autres nœuds peut être primordial dans de nombreux cas pour déjouer d'éventuelles attaques jouant sur les distances, attaques détaillées dans les sections suivantes.
II.2.7. Auto-organisation : Les capteurs du réseau doivent être capables, après avoir été déployés, de s'auto-organiser et surtout de se sécuriser eux-mêmes, sans autres interventions extérieures. Ce besoin d'autoorganisation se retrouve dans l'établissement automatique de la distribution des clés de cryptages entre les nœuds du réseau et la gestion de ses clés ou bien encore dans le développement des relations de confiance entre capteurs du réseau (principalement dans l'utilisation de sécurité utilisant les principes des réseaux de confiance). Pour cela les capteurs doivent avoir été munis au préalable des outils qui leur permettent de telles fonctionnalités.
II.3. Classification des attaques Dans les réseaux de capteurs, un attaquant peut effectuer une variété d’attaques n’ayant pas forcément le même objectif ou motivations. Ainsi le choix d’une stratégie de sécurité doit se baser sur une modélisation de l’attaque ; ceci afin d’éviter un déploiement excessif de moyens de protection conduisant à des solutions irréalistes. Selon (Yong, et al., 2006), les attaques sur les réseaux de capteurs peuvent être classifiées dans les catégories suivantes :
II.3.1. Selon la nature •
Les attaques passives
Les attaques passives "eavesdropping" se limitent à l’écoute et l’analyse du trafic échangé. Ce type d’attaque est plus facile à réaliser (il suffit de posséder un récepteur adéquat) et il est difficile de le détecter puisque l’attaquant n’apporte aucune modification sur les informations échangées. L’intention de l’attaquant peut être la connaissance des informations confidentielles ou bien la connaissance des nœuds importants dans le réseau (chef de groupe "cluster head"). En analysant les informations de routage, l’attaquant va se préparer à mener ultérieurement une action précise. •
Les attaques actives
Dans les attaques actives, un attaquant tente de supprimer ou modifier les messages transmis sur le réseau. Il peut aussi injecter son propre trafic ou rejouer d’anciens messages pour perturber le fonctionnement du réseau ou provoquer un déni de service. II.3.2. Selon l’origine •
Attaque externe
Dans le cas de l’attaque externe, le nœud attaquant n’est pas autorisé à participer dans le réseau de capteurs. Des techniques de cryptographie et d’authentification protègent l’accès au réseau à ce type d’attaquant. Cependant ce dernier peut uniquement déclencher des attaques passives tels que l’écoute clandestine, le brouillage radio, ou l’attaque par rejeu. •
Attaque interne
L’attaque interne est considérée comme la plus dangereuse du point de vue sécurité. Puisque l’attaquant qui capture un nœud, peut lire sa mémoire et avoir accès à son matériel cryptographique et par conséquent peut s’authentifier comme un nœud légitime et émettre des messages aléatoires erronés sans qu’il soit identifié comme intrus, puisqu’il utilise des clés valides. Les méthodes cryptographiques s’avèrent donc inefficace pour ce genre d’attaque. Il est donc nécessaire d’utiliser d’autres méthodes complémentaires telles que les systèmes de monitoring et les systèmes de réputations.
II.4. Les types de vulnérabilités des WSN Les vulnérabilités sont les faiblesses d'un réseau que l'attaquant exploite afin de gagner des privilèges. Il y a deux types de vulnérabilités dans un réseau de capteurs WSN : La vulnérabilité physique est un moyen d'attaque, qui permet à l'attaquant de changer en partie un capteur, en modifiant par exemple son code de programmation, ou en copiant les clés de protection afin de les réutiliser dans une nouvelle attaque. Un réseau de capteurs est vulnérable aussi aux modifications de son environnement, où un attaquant peut modifier les valeurs d'un capteur local, lui permettant ainsi d'avoir un accès aux commandes de contrôle du réseau WSN.
La vulnérabilité logique réside dans les programmes et les protocoles. Elle se présente sous quatre formes : •
Les défauts de conception.
•
Les défauts d'implémentation.
•
Les erreurs de configuration.
•
L’épuisement des ressources.
•
Les défauts de conception permettent l'utilisation d'un protocole qui viole le mode d'utilisation, tout en se conformant à la spécification du protocole. Par exemple, un manque d'authentification dans un protocole de gestion de puissance peut permettre de mettre n'importe quel capteur en sommeil à plusieurs reprises.
•
Les défauts d'implémentation sont des erreurs dans la construction du matériel ou dans le codage du logiciel. Par exemple, une erreur de dépassement de mémoire, peut entraîner une violation d'accès et une mise en panne.
•
Les défauts de configuration sont le résultat de défauts de paramétrages pour un attaquant.
•
L'épuisement des ressources est possible même si la conception, l'implémentation, et la configuration sont correctes. Un attaquant générant de grandes quantités de trafic peut inonder un des liens réseau de la victime. Une mauvaise authentification de l'allocation de mémoire ou de l'exécution de code peut également permettre à un attaquant de consommer les ressources du capteur subissant l'attaque, et de causer un déni de service.
II.5. Principales attaques sur les WSN Les WSN peuvent faire l’objet d’un grand nombre d’attaques, chacune avec ses objectifs propres. Par exemple, certaines attaques visent à affecter l’intégrité des messages qui
transitent dans le réseau, tandis que d’autres visent à réduire la disponibilité du réseau ou de ses composants. Les attaques se produisent souvent par l’insertion d’éléments intrus dans le réseau. Il existe aussi des attaques contre l’environnement extérieur au réseau, lesquelles provoquent des altérations ou des interférences sur les signaux transmis. Une bonne classification des attaques est présentée dans (Wood, et al., 2002). Je présente dans la suite d’une manière non exhaustive les attaques les plus connues dans les WSN. •
Flooding :
Un attaquant va utiliser un ou plusieurs nœuds malicieux ou un dispositif particulier avec une puissance d’émission forte, pour envoyer régulièrement des messages sur le réseau pour le saturer. On est en présence d’une attaque active qui est de même type que les attaques de type déni de service dans les réseaux classiques. •
Hello Flooding :
L’attaque ”Hello flood” est effectuée par un attaquant disposant de grandes ressources, qui envoie des messages ”HELLO” à un grand nombre de capteurs, dans une large région de réseau de capteurs sans fil WSN. Ainsi, les capteurs victimes croient que les adversaires sont leurs voisins, et leurs envoient des messages qui devraient aboutir à la station de base. Pour se défendre contre cette attaque, il est possible d’utiliser le mécanisme d’authentification par un capteur tier. •
Brouillage radio (jamming) : L’intrus inonde avec du bruit les fréquences radio utilisées par le réseau de manière à empêcher les transmissions et/ou les réceptions de messages. Ce type
d’attaque peut affecter tout ou une partie du réseau selon la portée radio de l’intrus. Dans ce cas-là, l’intention est de provoquer un déni de service. •
Injection des messages : L'attaquant va chercher par divers moyens (utilisation de nœuds malicieux, envoi de paquets sur la même fréquence radio, réplication de données, etc.…) à injecter des messages dans le réseau. Cette injection de messages peut avoir pour effet de perturber le réseau, le saturer ou le tromper en envoyant de fausses informations.
•
Attack par chantage (Blackmail attack): Un nœud malicieux fait annoncer qu’un autre nœud légitime est malicieux pour éliminer ce dernier du réseau. Si le nœud malicieux arrive à attaquer un nombre important de nœuds, il pourra perturber le fonctionnement du réseau.
•
Epuisement de la batterie (exhaustion) : Cette attaque de déni de service est redoutable car elle vise à épuiser les batteries des nœuds composant le réseau de manière à réduire la durée de vie du réseau. Elle peut consister à injecter de nombreux messages dans le réseau qui conduisent les nœuds à gaspiller leur énergie en retransmissions inutiles.
•
Insertion de boucles infinies Un attaquant peut modifier le routage du réseau avec un ou plusieurs nœuds malicieux, dans le but d'envoyer des messages qui vont être routés en boucles infinies. Comme ce message va être envoyé par le réseau de manière infinie, le réseau va consommer son énergie et les capteurs vont épuiser leur batterie.
•
Attaque de l’identité multiples (sybil attack) :
Dans cette attaque, un nœud malveillant peut revendiquer différentes identités afin de participer à des algorithmes distribués tels que l’élection et de prendre de l'avantage sur les nœuds légitimes. Un nœud malveillant peut être capable de déterminer le résultat de n'importe quel vote en faisant voter toutes ses identités multiples pour une même entité. Les techniques d'authentification et de chiffrement peuvent empêcher un étranger de lancer une attaque Sybille sur le réseau de capteur. •
L’attaque du trou de ver (wormhole attack) : L’intrus capture un message, en utilisant un canal de faible latence, le retransmet vers un lieu distant dans le réseau. Le canal ainsi créé fait transiter un message à un endroit du WSN auquel il ne devrait normalement pas arriver. Cette attaque a une influence notable sur le routage dans le réseau.
•
L’attaque du trou noir (Black hole attack) : L’attaque du trou noir consiste à insérer un nœud malicieux dans le réseau. Ce nœud, par divers moyens, va modifier les tables de routage pour obliger le maximum de nœuds voisins à faire transiter leurs informations par lui. Ensuite tel un trou noir dans l'espace, toutes les informations qui vont passer en son sein ne seront jamais retransmises.
•
L’attaque du trou gris (Grey hole attack) : Une variante de l'attaque précédente est appelée trou gris, dans laquelle seuls certains types de paquets sont ignorés par le nœud malicieux. Par exemple, les paquets de données ne sont pas retransmis alors que les paquets de routage le sont.
•
L’attaque de trou de la base (Sink hole attack) : Dans cette attaque un nœud malicieux va s’attaquer directement à l’information circulant par la base (sink), qui est le plus souvent le point qui recueille le plus
d’informations de l’intégralité du réseau. Pour cela, le nœud malicieux va proposer aux nœuds le chemin le plus rapide pour atteindre la base, en utilisant une connexion plus puissante. Ainsi l’ensemble de ces nœuds va s’adresser en particulier à ce nœud malicieux pour transmettre l’information à la base. Toutes les informations qui transitent de ces nœuds vers la base pourront être récupérées par l’attaquant.