• Aucun résultat trouvé

Analyse des attaques sur un NoC et points faibles actuels

Nous dissocions la sécurité et la fiabilité. Nous nous attachons ici plus particulièrement à l’aspect sécurité même si les solutions présentées pourrait être utilisée pour détecter un comportement anormal. La tolérance aux fautes dans les NoCs est traitée dans [74]. Une solution de sécurité des échanges à base de « clé privée »/« clé publique » est proposée par les auteurs de [75].

74technique de codage des chemins pour la sécurité et la reconfiguration Nous définissons ici un élément qui contrôle le NoC, le CCM (pour central

confi-guration module). Il est unique dans le réseau et est en charge de l’initialisation, la

configuration et la reconfiguration du NoC. Le NoC de Philips, Æthereal, utilise un module similaire [76] dans le but de configurer les tables TDMA des NIs unique-ment. Des fonctionnalités telles que la supervision et la défense peuvent être ajoutées au CCM, dans une optique de sécurité. Ces points seront discutés dans les sections suivantes.

5.2.1 La sécurité

Il peut être nécessaire de faire cohabiter des données sécurisées avec des composants IP et des interfaces non sécurisées. Par exemple, la lecture dans une mémoire peut être autorisée à toutes les IPs, mais l’opération d’écriture peut être restreinte à une IP donnée.

Nous définissons deux zones dans un système, la zone sécurisée ou sûre et la zone non sécurisée ou non sûre. La zone sécurisée stocke, calcule ou transporte des in-formations critiques. La zone non sécurisée est relativement ouverte et vulnérable. Typiquement, la zone non sûre peut être un FPGA qui est facilement reprogram-mable, alors que la zone sécurisée peut être un ASIC (figure 5.1). En pratique, une solution entièrement basée sur un ASIC ne peut pas toujours être sélectionnée. Pour des raisons de flexibilité, de consommation d’énergie et de performances, la reconfigu-ration devient un point clé pour les applications futures telle que la radio logiciel par exemple [77]. Dans ce type de domaine, les zones sécurisées et non sécurisées peuvent être associées aux zones noire et rouge respectivement.

Fig.5.1 – Un réseau distribué sur un ASIC et un FPGA Nous pouvons ainsi distinguer trois types d’intégrations du réseau.

– Intégration entièrement sur un ASIC. Le NoC bénéficie de la protection intrin-sèque de la puce. Les potentiels points faibles sont les interfaces du système, notamment les accès de lecture et d’écriture depuis ces interfaces. Le NoC est un moyen de contrôler les entrées/sorties, mais aussi d’étendre la vulnérabilité du SoC.

– Intégration entièrement sur un FPGA. En plus des aspects précédents, la capa-cité de reconfiguration du FPGA offre de nouveaux points faibles. Cependant,

5.2 analyse des attaques sur un noc et points faibles actuels 75 deux sous-classes peuvent être distinguées puisque l’encryptage du bitstream peut être partiellement ou pleinement utilisé.

– Intégration partielle sur ASIC et FPGA. Il faut être capable de contrôler les accès entre l’ASIC et le FPGA

5.2.2 Les scénarios d’attaque

L’agresseur peut avoir différents objectifs et donc différents scénarios. Différents types d’attaques peuvent être identifiés et sont classés dans la table 5.1. Ces types d’attaques sont expliqués ci-après.

Attaque Type d’attaque Scénario d’attaque

Distante Déni de service Sur-utilisation du réseau

Chemin incorrect Deadlock Livelock

Extraction d’informations secrètes Lecture non autorisée

Altération du comportement Écriture non autorisée ou reconfiguration

De proximité Rétro-ingénierie Extraction d’informations de conception

Extraction d’information secrètes Observation en fonctionnement

Tab.5.1 – Types et scénarios d’attaques

5.2.2.1 Le déni de service

Ce type d’attaque a pour but d’altérer les performances du système. Une sur-utilisation du réseau peut dégrader la disponibilité et les performances du système. Des requêtes fréquentes peuvent être utilisées pour gaspiller de la bande passante et causer une augmentation de la latence des transferts dans le système, ce qui peut conduire à dépasser les délais admissibles.

Les trois scénarios d’attaque suivants sont plus pénalisants car ils ont pour but d’obstruer les canaux du NoC. Ils consistent à introduire dans le réseau un paquet dont les instructions de chemin sont incorrectes.

– Chemin incorrect

Le paquet est piégé dans un chemin qui ne débouche pas, ceci dans le but de le piéger dans le réseau. Le corps de ce paquet occupe ainsi quelques canaux et les rend indisponibles pour les autres paquets.

– Deadlock

Le paquet introduit ne respecte pas les règles qui garantissent l’absence de

dead-lock, ceci dans le but de créer un interblocage. Ceci conduit à la contention des

canaux et par conséquent, condamne une partie, voir tout le réseau. – Livelock

Le paquet introduit n’atteint aucune destination et reste tourner indéfiniment dans le réseau, causant un gaspillage de bande passante, latence et consommation d’énergie.

76technique de codage des chemins pour la sécurité et la reconfiguration

5.2.2.2 L’extraction d’informations secrètes

Elle a pour but de lire des informations protégées dans une cible sécurisée et non au-torisée. Les information dérobées peuvent être des données sensibles, des instructions d’un programme critique, des registres de configuration et bien d’autres.

5.2.2.3 L’altération du comportement

Elle consiste en une écriture dans le but de modifier le comportement ou la confi-guration du système. Cette pratique est appelée Hijacking. Elle peut avoir des fins malveillantes, tel que l’espionnage ou la détérioration du système.

5.2.2.4 La rétro-ingénierie et l’extraction d’informations secrètes par ac-cès de proximité

La rétro-ingénierie (ou Reverse engineering) est l’activité qui consiste à étudier un système pour en déterminer le fonctionnement. Par un accès physique au circuit, l’at-taquant peut tenter de dérober des informations de propriété intellectuelle par des lec-tures non autorisées, pour obtenir des parties du firmware. L’extraction d’informations secrètes par accès de proximité peut aussi être réalisée par des analyses différentielles de puissance (DPA pour Differential power analysis) dans le cas d’extraction de clé cryptée [78].