Unisim est un environnement de simulation de systèmes électroniques qui facilite le test de codes binaires de logiciels complexes. Il se caractérise par des possibilités d’émulation étendues (du simple jeu d’instructions au système électronique entier), par son ouverture aux outils de tests, de débogage et d’analyse du marché et par la richesse de ses fonctions d’aide à l’analyse.
Unisim propose un environnement de simulation de systèmes électroniques pour tester et valider des codes binaires. Il offre un large éventail de possibilités d’émulation, allant du simple jeu d’instructions au système électronique entier. Cela, grâce à sa bibliothèque de modèles de composants matériels permettant de constituer des systèmes virtuels complets tels que des jeux de composants intégrés ou des cartes électroniques.
L’environnement propose la simulation des architectures de processeurs les plus courantes (ARM, Intel et PowerPC) ainsi qu’une palette d’outils d’instrumentation (débogueurs, profileurs, etc.). Il dispose, par ailleurs, d’interfaces qui l’ouvrent à des outils tiers de tests, de débogage ou d’analyse de code. Il s’interface, notamment, avec les outils Frama-C et Binsec.
Disponible en open source et compatible avec les standards de simulation SystemC & TLM, il peut aisément s’enrichir de composants et extensions virtuels tiers.
Ses forces principales :
Unisim répond au besoin de valider des logiciels complexes (logiciels systèmes, embarqués, critiques, distribués…), notamment dans les situations où l’analyse formelle devient difficile.
On l’utilise, principalement pour :
Pour procéder à la recette de cybersécurité sur des systèmes électroniques tiers, les intégrateurs doivent tester les logiciels qui les composent. Pour ce faire, ils passent au crible les codes binaires grâce à des environnements de type bac à sable. Unisim permet la mise au point de tels environnements en leur fournissant un ensemble de techniques de test (micro-exécution, fuzzing) pour l’analyse de robustesse.
Un tel bac à sable supportant les jeux d’instructions ARM v7 et PowerPC VLE a été réalisé pour un grand industriel de l’automobile.
La stabilité et la précision des calculs numériques sont essentiels au fonctionnement des algorithmes de systèmes embarqués modernes (géolocalisation, traitement d’image, etc.). Avec Unisim, il est possible d’analyser la précision numérique des calculateurs dans les conditions d’exécution réelles.
Une plateforme simulant un jeu d’instruction PowerPC 64 bits a ainsi été instrumentée dans le domaine ferroviaire, afin de qualifier la précision d’un algorithme de géolocalisation. La reconstitution de situations réelles a mis en évidence des dérives dans certaines conditions de vitesse des trains.
Validation with Code Introspection of a Virtual Platform for Sandboxing and Security Analysis, Y. Lhuillier, G. Mouchard, F. Vedrine. CAESAR. 2019
Pour en savoir plus, visiter le site Unisim-VP