146 research outputs found

    Etude de la fiabilité des algorithmes self-convergeants face aux soft-erreurs

    Get PDF
    This thesis is devoted to the study of the robustness/sensitivity of a self-converging algorithm with respect to SEU's. These phenomenon also called bit-flips which may modify the content of memory elements as the result of the silicon ionization resulting from the impact of a charged particles. This study may have a significant impact given the conditions of miniaturization that will soon have circuits with hundreds to thousands of processing cores on a single chip, this will require make the cores communicate effectively and robust manner. In this context the so-called self-converging algorithm can be used to ensure that communication between cores is reliable and without external intervention. A fault injection study of the robustness of the algorithm was performed, this algorithm was initially executed by a processor LEON3 implemented in the FPGA embedded in a specific platform test. Preliminary fault injection from a method the state of the art called CEU showed some sensitivity to SEUs of algorithm. To cope with the software changes were made and techniques for fault tolerance have been implemented in software in the program implementing the self-converging algorithm. The fault injection experiments were made to demonstrate the robustness to SEU's and potential problems of the modified algorithm. The impact of SEUs was explored on a hardware-implemented self-converging algorithm in a FPGA. The evaluation of this method was performed by fault injection at RTL level circuit. These results obtained with this method have shown a significant improvement of the robustness of the algorithm in comparison with its software version.Cette thèse est consacrée à l'étude de la robustesse/sensibilité d'un algorithme auto-convergeant face aux SEU's. Ces phénomènes appelés aussi bit-flips qui se traduit par le basculement intempestif du contenu d'un élément mémoire comme conséquence de l'ionisation produite par le passage d'une particule chargée avec le matériel. Cette étude pourra avoir un impact important vu la conjoncture de miniaturisation qui permettra bientôt de disposer de circuits avec des centaines à des milliers de cœurs de traitement sur une seule puce, pour cela il faudra faire les cœurs communiquer de manière efficace et robustes. Dans ce contexte les algorithme dits auto-convergeants peuvent être utilis afin que la communication entre les cœurs soit fiable et sans intervention extérieure. Une étude par injection de fautes de la robustesse de l'algorithme étudié a été effectuée, cet algorithme a été initialement exécuté par un processeur LEON3 implémenté dans un FPGA embarqué dans une plateforme de test spécifique. Les campagnes préliminaires d'injection de fautes issus d'une méthode de l'état de l'art appelée CEU (Code Emulated Upset) ont mis en évidence une certaine sensibilité aux SEUs de l'algorithme. Pour y faire face des modifications du logiciel ont été effectuées et des techniques de tolérance aux fautes ont été implémentés au niveau logiciel dans le programme implémentant l'algorithme. Des expériences d'injection de fautes ont été effectués pour mettre en évidence la robustesse face aux SEUs et ses potentiels « Tallons d'Achille » de l'algorithme modifié. L'impact des SEUs a été aussi exploré sur l'algorithme auto-convergeant implémenté dans une version hardware dans un FPGA. L'évaluation de cette méthodologie a été effectuée par des expériences d'injection de fautes au niveau RTL du circuit. Ces résultats obtenus avec cette méthode ont montré une amélioration significative de la robustesse de l'algorithme en comparaison avec sa version logicielle

    Tolérance aux fautes pour la perception multi-capteurs : application à la localisation d'un véhicule intelligent

    Get PDF
    Perception is a fundamental input for robotic systems, particularly for positioning, navigation and interaction with the environment. But the data perceived by these systems are often complex and subject to significant imprecision. To overcome these problems, the multi-sensor approach uses either multiple sensors of the same type to exploit their redundancy or sensors of different types for exploiting their complementarity to reduce the sensors inaccuracies and uncertainties. The validation of the data fusion approach raises two major problems. First, the behavior of fusion algorithms is difficult to predict, which makes them difficult to verify by formal approaches. In addition, the open environment of robotic systems generates a very large execution context, which makes the tests difficult and costly. The purpose of this work is to propose an alternative to validation by developing fault tolerance mechanisms : since it is difficult to eliminate all the errors of the perceptual system, We will try to limit impact in their operation. We studied the inherently fault tolerance allowed by data fusion by formally analyzing the data fusion algorithms, and we have proposed detection and recovery mechanisms suitable for multi-sensor perception, we implemented the proposed mechanisms on vehicle localization application using Kalman filltering data fusion. We evaluated the proposed mechanims using the real data replay and fault injection technique.La perception est une entrée fondamentale des systèmes robotiques, en particulier pour la localisation, la navigation et l'interaction avec l'environnement. Or les données perçues par les systèmes robotiques sont souvent complexes et sujettes à des imprécisions importantes. Pour remédier à ces problèmes, l'approche multi-capteurs utilise soit plusieurs capteurs de même type pour exploiter leur redondance, soit des capteurs de types différents pour exploiter leur complémentarité afin de réduire les imprécisions et les incertitudes sur les capteurs. La validation de cette approche de fusion de données pose deux problèmes majeurs.Tout d'abord, le comportement des algorithmes de fusion est difficile à prédire,ce qui les rend difficilement vérifiables par des approches formelles. De plus, l'environnement ouvert des systèmes robotiques engendre un contexte d'exécution très large, ce qui rend les tests difficiles et coûteux. L'objet de ces travaux de thèse est de proposer une alternative à la validation en mettant en place des mécanismes de tolérance aux fautes : puisqu'il est difficile d'éliminer toutes les fautes du système de perception, on va chercher à limiter leurs impacts sur son fonctionnement. Nous avons étudié la tolérance aux fautes intrinsèquement permise par la fusion de données en analysant formellement les algorithmes de fusion de données, et nous avons proposé des mécanismes de détection et de rétablissement adaptés à la perception multi-capteurs. Nous avons ensuite implémenté les mécanismes proposés pour une application de localisation de véhicules en utilisant la fusion de données par filtrage de Kalman. Nous avons finalement évalué les mécanismes proposés en utilisant le rejeu de données réelles et la technique d'injection de fautes, et démontré leur efficacité face à des fautes matérielles et logicielles

    Sécurisation de programmes assembleur face aux attaques visant les processeurs embarqués

    Get PDF
    This thesis focuses on the security of embedded programs against fault injection attacks. Due to the spreadings of embedded systems in our common life, development of countermeasures is important.First, a fault model based on practical experiments with a pulsed electromagnetic fault injection technique has been built. The experimental results show that the injected faults were due to the corruption of the bus transfers between the Flash memory and the processor’s pipeline. Such faults enable to perform instruction replacements, instruction skips or to corrupt some data transfers from the Flash memory.Although replacing an instruction with another very specific one is very difficult to control, skipping an instruction seems much easier to perform in practice and has been observed very frequently. Furthermore many simple attacks can carried out with an instruction skip. A countermeasure that prevents such instruction skip attacks has been designed and formally verified with model-checking tool. The countermeasure replaces each instruction by a sequence of instructions. However, this countermeasure does not protect the data loads from the Flash memory. To do this, it can be combined with another assembly-level countermeasure that performs a fault detection. A first experimental test of these two countermeasures has been achieved, both on isolated instructions and complex codes from a FreeRTOS implementation. The proposed countermeasure appears to be a good complement for this detection countermeasure and allows to correct some of its flaws.Cette thèse s'intéresse à la sécurité des programmes embarqués face aux attaques par injection de fautes. La prolifération des composants embarqués et la simplicité de mise en œuvre des attaques rendent impérieuse l'élaboration de contre-mesures.Un modèle de fautes par l'expérimentation basé sur des attaques par impulsion électromagnétique a été élaboré. Les résultats expérimentaux ont montré que les fautes réalisées étaient dues à la corruption des transferts sur les bus entre la mémoire Flash et le pipeline du processeur. Ces fautes permettent de réaliser des remplacements ou des saut d'instructions ainsi que des modifications de données chargées depuis la mémoire Flash. Le remplacement d'une instruction par une autre bien spécifique est très difficile à contrôler ; par contre, le saut d'une instruction ciblée a été observé fréquemment, est plus facilement réalisable, et permet de nombreuses attaques simples. Une contre-mesure empêchant ces attaques par saut d'instruction, en remplaçant chaque instruction par une séquence d'instructions, a été construite et vérifiée formellement à l'aide d'outils de model-checking. Cette contre-mesure ne protège cependant pas les chargements de données depuis la mémoire Flash. Elle peut néanmoins être combinée avec une autre contre-mesure au niveau assembleur qui réalise une détection de fautes. Plusieurs expérimentations de ces contre-mesures ont été réalisées, sur des instructions isolées et sur des codes complexes issus d'une implémentation de FreeRTOS. La contre-mesure proposée se révèle être un très bon complément pour cette contre-mesure de détection et permet d'en corriger certains défauts

    Robustesse par conception de circuits implantés sur FPGA SRAM et validation par injection de fautes

    Get PDF
    Cette thèse s'intéresse en premier lieu à l'évaluation des effets fonctionnels des erreurs survenant dans la mémoire SRAM de configuration de certains FPGAs. La famille Virtex II Pro de Xilinx est utilisée comme premier cas pratique d'expérimentation. Des expérimentations sous faisceau laser nous ont permis d'avoir une bonne vue d'ensemble sur les motifs d'erreurs réalistes qui sont obtenus par des sources de perturbations réelles. Une méthodologie adaptée d'injection de fautes a donc été définie pour permettre une meilleure évaluation, en phase de conception, de la robustesse d'un circuit implanté sur ce type de technologie. Cette méthodologie est basée sur de la reconfiguration dynamique. Le même type d'approche a ensuite été évalué sur plusieurs cibles technologiques, ce qui a nécessité le développement de plusieurs environnements d'injection de fautes. L'étude a pour la première fois inclus la famille AT40K de ATMEL, qui permet un type de reconfiguration unique et efficace. Le second type de contribution concerne l'augmentation à faible coût de la robustesse de circuits implantés sur des plateformes FPGA SRAM. Nous proposons une approche de protection sélective exploitant les ressources du FPGA inutilisées par l'application. L'approche a été automatisée sur plusieurs cibles technologiques (Xilinx, Altera) et l'efficacité est analysée en utilisant les méthodes d'injection de fautes précédemment développées.This thesis focuses primarily on the evaluation of the functional effects of errors occurring in the SRAM configuration memory of some FPGAs. Xilinx Virtex II Pro family is used as a first case study. Experiments under laser beam allowed us to have a good overview of realistic error patterns, related to real disturbance sources. A suited fault injection methodology has thus been defined to improve design-time robustness evaluations of a circuit implemented on this type of technology. This methodology is based on runtime reconfiguration. The approach has then been evaluated on several technological targets, requiring the development of several fault injection environments. The study included for the first time the ATMEL AT40K family, with a unique and efficient reconfiguration mode. The second type of contribution is focused on the improvement at low cost of the robustness of designs implemented on SRAM-based FPGA platforms. We propose a selective protection approach exploiting resources unused by the application. The approach has been automated on several technological targets (Xilinx, Altera) and the efficiency has been analyzed by taking advantage of the fault injection techniques previously developed.SAVOIE-SCD - Bib.électronique (730659901) / SudocGRENOBLE1/INP-Bib.électronique (384210012) / SudocGRENOBLE2/3-Bib.électronique (384219901) / SudocSudocFranceF

    Caractérisation de la sûreté de fonctionnement des systèmes d'exploitation en présence de pilotes défaillants

    Get PDF
    Les pilotes de périphériques composent désormais une part essentielle des systèmes d’exploitation. Plusieurs études montrent qu’ils sont fréquemment à l’origine des dysfonctionnements des systèmes opératoires. Dans ce mémoire, nous présentons une méthode pour l’évaluation de la robustesse des noyaux face aux comportements anormaux des pilotes de périphériques. Pour cela, après avoir analysé et précisé les caractéristiques des échanges entre les pilotes et le noyau (DPI - Driver Programming Interface), nous proposons une technique originale d’injection de fautes basée sur la corruption des paramètres des fonctions manipulées au niveau de cette interface. Nous définissons différentes approches pour l’analyse et l’interprétation des résultats observés pour obtenir des mesures objectives de sûreté de fonctionnement. Ces mesures permettent la prise en compte de différents points de vue afin de répondre aux besoins réels de l’utilisateur. Enfin, nous illustrons et validons l’applicabilité de cette méthode par sa mise en oeuvre dans le cadre d’un environnement expérimental sous Linux. La méthode proposée contribue à la caractérisation de la sûreté de fonctionnement des noyaux vis-à-vis des défaillances des pilotes du système. L’impact des résultats est double : a) permettre au développeur de tels logiciels d’identifier les faiblesses potentielles affectant la sûreté de fonctionnement du système, b) aider un intégrateur dans le choix du composant le mieux adapté à ses besoins

    Figure of merits of 28nm Si technologies for implementing laser attack resistant security dedicated circuits

    Get PDF
    International audienceAmong all means to attack a security dedicated circuit, fault injection by means of laser illumination is a very efficient one. The laser beam creates electrons/holes pairs along its way through the silicon. The collection of these charges creates a transient current and thus may induce a fault in the circuit. Nevertheless the collection efficiency depends on various parameters including the technology used to implement the circuit. Here, up-to-date Bulk and Fully Depleted Silicon on Insulator (FD-SOI) 28nm technologies are compared in terms of sensitivity against laser injection. It comes out that FD-SOI structures show less sensitivity to laser injection and thus should be further explored for security dedicated circuits implementations

    Safety assessment of automated vehicle functions by simulation-based fault injection

    Get PDF
    As automated driving vehicles become more sophisticated and pervasive, it is increasingly important to assure its safety even in the presence of faults. This paper presents a simulation-based fault injection approach (Sabotage) aimed at assessing the safety of automated vehicle functions. In particular, we focus on a case study to forecast fault effects during the model-based design of a lateral control function. The goal is to determine the acceptable fault detection interval for permanent faults based on the maximum lateral error and steering saturation. In this work, we performed fault injection simulations to derive the most appropriate safety goals, safety requirements, and fault handling strategies at an early concept phase of an ISO 26262-compliant safety assessment process.The authors have partially received funding from the ECSEL JU AMASS project under H2020 grant agreement No 692474 and from MINETUR (Spain)

    Méthode de reconfiguration dynamique pour un réseau-sur-puce tolérant aux fautes

    Get PDF
    RÉSUMÉ Avec l’avancement des technologies, les systèmes intégrés ne cessent de gagner en complexité dans le but de remplir toujours plus de fonctionnalités. Pour augmenter les performances et permettre de connecter plus de ressources ensemble pour répondre aux nouveaux besoins sans dégrader les communications, l’utilisation des réseaux sur puce a fait son apparition. Beaucoup d’architectures de réseaux sur puce ont été proposées lors des dernières années. Elles diffèrent selon leur topologie, leur technique de commutation, leurs interconnexions, l’implémentation de leurs nœuds, etc. Parmi les nouvelles architectures de réseaux sur puce, nous comptons notamment le Rotator-on-Chip (RoC) qui a été développé en partenariat par l’École Polytechnique de Montréal et STMicroelectronics. La constante miniaturisation des transistors a mené les réseaux sur puce, et même tous les systèmes, à devenir de plus en plus vulnérables aux fautes. Il est devenu essentiel pour rencontrer un certain niveau de fiabilité d’intégrer des méthodes de tolérance aux fautes dans les systèmes. Les fautes peuvent affecter les circuits de différentes façons. Elles peuvent avoir des effets permanents comme des défauts de fabrication par exemple. Elles peuvent également engendrer de mauvais fonctionnements ayant un comportement transitoire comme dans le cas d’interférences magnétiques. L’objectif est que les systèmes remplissent leurs fonctionnalités même en présence de fautes. Dans le cas des réseaux sur puce, la fonctionnalité principale est de transmettre des messages entre les ressources. Alors, le but est de s’assurer qu’aucun bit ne soit altéré lors du transfert. Pour ce faire, plusieurs recherches ont déjà été menées à ce sujet, exploitant des concepts de détection, de redondance, de retransmission, de correction, etc. Ce mémoire met tout d’abord en lumière le concept de réseau sur puce. Il définit les différentes bases de leur implémentation, notamment leurs composants, leurs techniques de commutation et de routage et leurs topologies. Puisque la tolérance aux fautes est un aspect central de ce travail, une explication de la provenance et de la classification des fautes pouvant survenir à l’intérieur des réseaux sur puce est également détaillée. Pour parvenir à contrer l’effet de ces fautes, plusieurs techniques de tolérance aux fautes ont été développées, que ce soit par l’industrie ou suite à des recherches universitaires. Ce travail présente quelques-unes d’entre elles. L’essentiel de ce mémoire repose sur l’élaboration d’une technique de tolérance aux fautes adaptée aux caractéristiques du RoC. La technique proposée est de type prévention plutôt que de type correction. Lorsqu’une faute est détectée sur le chemin de données, la méthode s’assure que la faute n’affectera pas d’autres paquets en reconfigurant les canaux du RoC. Pour parvenir à définir la technique de prévention la plus efficace, plusieurs implémentations sont comparées. La couche où la technique de prévention est gérée, que ce soit au niveau logiciel ou matériel, le mécanisme de détection utilisé et la méthode de reconfiguration des canaux font notamment partie de celles-ci. Pour déterminer quelle technique de prévention s’avère être la plus efficace pour le RoC, ces dernières sont évaluées en termes du nombre d’erreurs évitées, du délai moyen des paquets, du temps de vérification nécessaire et du nombre de ressources utilisées. Les simulations effectuées démontrent qu’une technique intégrée au niveau matériel nécessite beaucoup plus de ressources qu’une technique gérée au niveau logiciel, mais qu’elle permet d’éviter beaucoup plus d’erreurs. Entre autres, les fautes causées par des effets transitoires et une partie des fautes présentes sur l’en-tête des paquets ne sont pas prises en charge dans le cas de la gestion logicielle. De plus, la technique au niveau matériel se démarque par son temps de vérification nul étant donné que la vérification et l’exécution de l’application sont effectuées de façon simultanée. Pour obtenir le rapport de performance le plus élevé, ce sont le bit de parité, comme mécanisme de détection, et la reconfiguration instantanée des canaux qui sont utilisés. La technique de prévention présentée, bien qu’elle soit développée sur le RoC, pourrait être implémentée sur d’autres réseaux sur puce multidimensionnels. Cette méthode permet de gérer autant les fautes permanentes que transitoires. Cela signifie que les circuits présentant des défauts de fabrication pourraient quand même être utilisés. D’autres circuits pourraient en tirer des bénéfices en étant plus robustes pour répondre à des applications critiques.----------ABSTRACT With the advancement in technology, embedded systems are continuously asked to support more functionalities and that brings them in becoming more and more complex. The networks on chip (NoCs) appeared in embedded systems to help managing this new complexity. A lot of NoC architectures have been proposed in the last few years, each differentiating from one another by their topology, switching technique, routing technique and so on. The Rotator on Chip (RoC), a NoC architecture developed by Polytechnique and STMicroelectronics, is one of them. The technology scaling caused NoCs to become more vulnerable to faults. These faults can affect the system permanently, like in the case of manufacturing defects, or transiently, with magnetic interferences for instance. In order to attain a certain reliability level, fault tolerance methods must be implemented in systems. The objective is that the systems are able to achieve their functionalities even in the presence of faults. In the case of NoCs, the purpose is to make sure that no bit of the transferred packets will be corrupted. That can be done using different concepts like detection, redundancy, retransmission, correction and so on. This thesis highlights the use of fault tolerance mechanisms in NoCs by describing the main concepts involved in NoC implementation, the faults which can occur in NoCs and the fault tolerance methods used in some specific cases. The elaboration of a fault tolerance method adapted to the RoC characteristics is the main focus of this thesis. The proposed technique is a preventive method, rather than a corrective method. When a fault is detected on the data path, the channel reconfiguration prevents this fault from affecting other packets. Among the different implementations being compared are the layer where the preventive method is managed, the detecting mechanisms and the reconfiguration methods. Those implementations are evaluated in terms of residual packet error rate, average latency, verification time and cost in resources. Simulations show that a method managing at the hardware level, although more expensive than one managing at the software level, is more effective. This hardware method prevents many more errors and requires no verification time. The best performing rate is obtained with parity bit as the detecting mechanism and with instant channel reconfiguration. This preventing technique could be integrated in others multidimensional NoCs. Furthermore, it could be used to allow circuits with manufacturing defects to be used in some cases and to allow NoCs to execute critical applications
    • …
    corecore