Brevet FR2949583A1 — publié le 20110304

Procédé de production d'une image destinée à un système d'exploitation dite image OS et dispositif correspondant. L'invention porte sur les systèmes d'exploitation (ou � OS � en langue anglaise pour � operating system �), et plus particulièrement sur les images exploitées par ces systèmes, appelées images OS standard. Les images OS standard sont des structures de données, chargeables par le système d'exploitation. Ces structures de données contiennent des objets nécessaires à l'exécution par le système d'exploitation des applicatifs liés à ce dernier. On rappelle qu'un applicatif est une fonction implémentée de façon logicielle. Ces objets peuvent être par exemple des fichiers de données ou encore des fichiers exécutables, c'est-à-dire des applicatifs compilés sous une forme directement exécutable par le système d'exploitation de la plateforme considérée. Une plateforme est une partie du système embarqué constituée des ressources matérielles et d'un système d'exploitation. Celle-ci est destinée à recevoir un ou plusieurs applicatifs exécutable par son système 15 d'exploitation. Quant aux ressources matérielles, elles contiennent généralement des cartes de calcul, des périphériques d'entrées/sorties interconnectées par des réseaux... Par ailleurs, la plateforme est contrôlée par un logiciel système encore appelé logiciel de base. Ces derniers contiennent classiquement les logiciels de démarrage du système embarqué, 20 ainsi que l'image OS standard associée au système d'exploitation considéré. Un utilisateur de plateforme doit, avant de pouvoir lancer l'exécution d'un applicatif reçu, extraire les fichiers exécutables contenus dans l'image OS standard, de façon que le système d'exploitation puisse en utiliser le contenu. Cette extraction est classiquement faite lors de la mise 25 sous-tension du système qui intègre la plateforme. La production de l'image OS standard peut se faire de plusieurs façons. Une production simple d'une image OS standard comprend une première étape de compilation de fichiers sources en fichiers exécutables. Puis, l'image OS standard est créée à partir du fichier exécutable, par exemple en ajoutant un en-tête choisi aux données du fichier exécutable. Une production plus complexe d'une image standard comprend une étape de codage des données du ou des fichier(s) exécutable(s) (par exemple, un cryptage des données). La ou les image(s) OS sont alors créée(s) à partir du ou des fichiers exécutables codés. On obtient donc une ou des images OS codée(s). Dans de cas de figure, l'extraction des fichiers exécutables par l'utilisateur comprend donc en outre un décodage des données, pour obtenir le ou les fichiers exécutables. Un but du codage est de rendre plus difficile l'analyse du contenu d'un applicatif par un éventuel attaquant. Ce dernier, pour déterminer le contenu d'un applicatif, procède à l'analyse de l'image OS codée. Toutefois, le fait qu'un fichier ait besoin d'un décodage pour être exécuté fait apparaître une singularité exploitable par l'attaquant, notamment en raison de la simplification de l'identification des données correspondant au fichier exécutable. A partir de cette identification, l'attaquant peut facilement 20 déterminer la méthode de décodage, ce qui diminue fortement le niveau de sécurité des données. Un but de l'invention est d'augmenter fortement la difficulté à identifier un applicatif à partir de l'image OS créée. A cet effet, selon un premier aspect de l'invention, il est proposé un 25 procédé de production d'une image dite image OS standard, destinée à un système d'exploitation, comportant au moins une compilation d'au moins un fichier source en au moins un fichier exécutable. Selon une caractéristique générale de ce premier aspect, ledit procédé comprend en outre : 30 - une formation d'une image OS standard intermédiaire à partir du ou desdit(s) fichier(s) exécutable(s), - un codage de ladite image OS standard intermédiaire de façon à obtenir une séquence de données codées, - un camouflage de la séquence de données codées en une image OS standard. En d'autres termes, on traite les données pour donner à la séquence de données codées l'apparence d'une image OS standard de façon à camoufler : - le fait que des données aient été codées, et - la localisation de ces données. On améliore ainsi la sécurité du procédé de production d'une image OS. Un avantage de ce premier aspect est de ne pas modifier les données du fichier exécutable ni de la séquence de données codées. Un autre avantage de cet aspect est d'être peu couteux. Un autre avantage est que les données transmises à l'utilisateur ne sont visiblement pas codées. La notion de décodage apparaît uniquement lors de l'exécution de l'image OS standard. Un autre avantage est que l'image OS standard peut être associée à un système d'exploitation standard, par exemple disponible dans le 20 commerce. Un autre avantage est que le codage réalisé est indépendant de l'environnement d'exécution, c'est-à-dire du système dans lequel il peut être intégré. Selon un mode de mise en oeuvre, le procédé peut comprendre en 25 outre une association à la séquence de données codées, de données contenant des informations sur l'applicatif de décodage. Selon un mode de mise en oeuvre, les informations sur l'applicatif de décodage peuvent correspondre à l'applicatif de décodage lui-même. Cela a pour avantage de rendre le procédé indépendant à l'appel à 30 un moyen de décodage externe. Selon un mode de mise en oeuvre, les étapes de codage et de transformation peuvent être itérées au moins deux fois. Cela a pour avantage de renforcer le niveau sécuritaire du camouflage des données. Selon un autre aspect, il est proposé un procédé d'exécution d'une image OS standard produite selon au moins l'une des caractéristiques énoncée ci-avant. Ce procédé d'exécution peut comprendre : - un premier montage de l'image OS standard de façon à 10 récupérer ladite séquence de données codées, - un appel à une application de décodage de façon à retrouver l'image OS standard intermédiaire, - un deuxième montage de l'image OS standard intermédiaire de façon à obtenir ledit fichier exécutable. 15 Selon un mode de mise en oeuvre du procédé d'exécution, le premier montage peut également permettre de récupérer ledit applicatif de décodage, auquel il est fait appel pour retrouver l'image standard intermédiaire. Selon un autre aspect, il est préposé un dispositif de production 20 d'une image destinée à un système d'exploitation dite image OS standard. Selon une caractéristique générale de cet aspect, le dispositif est apte à mettre en oeuvre un procédé de production tel que mentionné ci-avant. De préférence, ledit procédé de production peut être mis en oeuvre 25 de façon logicielle. Selon un autre aspect, il est proposé une utilisation d'un dispositif tel que décrit ci-avant, lors de la réalisation d'une plateforme sécurisée. D'autres avantages et caractéristiques de l'invention apparaîtront à l'examen de la description détaillée d'un mode de mise en oeuvre et 30 d'utilisation d'un dispositif selon l'invention, nullement limitatifs, et des dessins annexés sur lesquels : la figure 1 porte sur un mode d'utilisation d'un dispositif selon l'invention, et la figure 2 illustre un mode de mise en oeuvre d'un procédé de production d'une image OS standard selon 5 l'invention, la figure 3 illustre un mode de mise en oeuvre d'un procédé d'exécution d'une image OS standard selon l'invention. On se réfère à la figure 1. Celle-ci illustre de façon très 10 schématique, un mode d'utilisation d'un dispositif DIS de production d'une image destinée à un système d'exploitation dite image OS standard par opposition à une image OS codée. La production d'une telle image OS standard est ici intégrée dans une production d'une plateforme, en particulier une plateforme sécurisée PL. 15 Celle-ci est destinée à être embarquée à bord d'un système SYS, par exemple un radar. La production de la plateforme sécurisée PL met en oeuvre différents objets. Tout d'abord, sont développés à l'aide d'outils TOL connus de 20 l'homme du métier, des ressources matérielles HW (� hardware � en langue anglaise) et un système d'exploitation OS (� operating system � en langue anglaise). Le système d'exploitation OS peut simplement être un système d'exploitation standard du commerce. En parallèle, sont produits, à l'aide de moyens de production 25 MPRD, des applicatifs APPL. Ces derniers sont réalisés en fonction du système d'exploitation standard OS précité. La plateforme sécurisée PL est alors montée à l'aide des ressources matérielles HW, du système d'exploitation standard OS ainsi que des images standards IM. Ces dernières contiennent les fichiers exécutables 30 des applicatifs APPL. Les images standards IM sont élaborées à l'aide du dispositif DIS en fonction de certains applicatifs produits au préalable. La production des images standard OS sera décrite plus en détail ci-après. Une fois embarquée dans le système SYS (par exemple un radar), la plateforme sécurisée PL est ensuite délivrée à un utilisateur US. Ce dernier peut exécuter les différents applicatifs APPL, en particulier l'image OS standard qui permet quant à elle, l'exécution du système d'exploitation standard OS. On se réfère à présent à la figure 2, qui illustre un mode de mise en oeuvre d'un procédé de production d'une image OS standard selon 10 l'invention. Au préalable on compile cmp un fichier source FCS (à des fins de simplification, on ne considère qu'une seule compilation d'un seul fichier source, mais cet exemple n'est bien entendu absolument pas limitatif). On obtient alors un fichier exécutable FEX (de même, à des fins de 15 simplification, on ne considère qu'un seul fichier exécutable). Suit une étape de formation form d'une image standard OS intermédiaire référencée IMO. Cette image standard OS intermédiaire IMO est alors codée cdg. On obtient alors un fichier BNC appelé binaire codé par l'homme du métier. Ce fichier est une séquence d'octets qui possède une structure différente de 20 celle d'une image standard OS. On associe alors à ce binaire codé BNC une information APPD liée à l'application de décodage permettant d'inverser le codage effectué lors de l'étape précédente. Par exemple, cette information APPD peut être l'applicatif de décodage lui-même. En variante, cette information peut correspondre à 25 quelques octets de données permettant d'adresser un applicatif de décodage stocké par exemple dans une mémoire de la plateforme sécurisée. Selon une autre variante, le décodage des données peut être appliqué de façon indépendante. Dans ce cas, l'étape suivante est appliquée uniquement sur le binaire codé BNC. 30 Finalement, un camouflage cmfl est alors opéré sur le couple binaire codé /applicatif de décodage BNC/APPD de façon à former une image OS standard IMI, directement interprétable par un système d'exploitation. Autrement dit, le camouflage comporte un réagencement des données du binaire codé BNC et de l'applicatif de décodage APPD, de façon qu'elles aient la structure d'une image OS standard. Ce réagencement peut être par exemple l'ajout d'un en-tête. La production de l'image OS standard est ici faite notamment dans le but de cacher les données codées. On empêche ainsi un éventuel attaquant de repérer que des données ont été codées, et par conséquent de localiser l'applicatif parmi l'ensemble des données. On note que pour renforcer le camouflage, il est possible de réitérer les étapes de codage et de camouflage. Autrement dit, on code l'image OS standard IMI de façon à obtenir un nouveau binaire codé que l'on associe à l'applicatif de décodage correspondant au procédé de codage utilisé. Puis on réitère l'opération de codage sur le nouvel ensemble binaire codé/applicatif de décodage, et ainsi de suite. On se réfère à présent à la figure 3 qui illustre un mode de mise en oeuvre d'un procédé d'exécution d'une image OS standard de façon à récupérer le fichier exécutable FEX, l'image OS standard ayant été produite selon un mode de mise en oeuvre d'un procédé de production de l'invention. Dans le mode de mise en oeuvre illustré sur la figure 3, il est considéré, sauf indication contraire, que l'image OS standard IMI incorpore directement l'application de décodage APPD. Un premier montage mntl permet d'extraire le binaire codé BNC 25 et l'application de décodage APPD. Il est alors fait appel appl à l'application de décodage APPD pour décoder le binaire codé BNC. A l'issue du décodage du binaire codé, on retrouve l'image standard OS intermédiaire IMO. On effectue alors un deuxième montage de cette image standard OS intermédiaire IMO de façon à retrouver le fichier 30 exécutable FEX. REVENDICATIONS1. Procédé de production d'une image dite image OS standard, destinée à un système d'exploitation, comportant au moins une compilation d'au moins un fichier source en au moins un fichier exécutable, caractérisé par le fait que ledit procédé comprend en outre : - une formation (form) d'une image OS standard intermédiaire 10 (IMO) à partir du ou desdits fichier(s) exécutable(s), - un codage (cdg) de ladite image OS standard intermédiaire de façon à obtenir une séquence de données codées (BNC), - un camouflage de la séquence de données codées (BNC) en une image OS standard (IM1). 15 2. Procédé selon la revendication précédente, comprenant en outre une association à la séquence de données codées (BNC), de données contenant des informations sur l'applicatif de décodage (APPD). 3. Procédé selon la revendication précédente, dans lequel les informations sur l'applicatif de décodage (APPD) correspondent à l'applicatif 20 de décodage lui-même. 4. Procédé selon l'une des revendications précédentes, dans lequel les étapes de codage et de transformation sont itérées au moins deux fois. 5. Procédé d'exécution d'une image OS standard produite selon 25 l'une des revendications précédentes, comprenant : - un premier montage de l'image OS standard de façon à récupérer ladite séquence de données codées, - un appel à une application de décodage de façon à retrouver l'image OS standard intermédiaire, 30 - un deuxième montage de l'image OS standard intermédiaire de façon à obtenir ledit fichier exécutable. 6. Procédé selon la combinaison de la revendication précédente et de la revendication 3, dans lequel le premier montage permet également de récupérer ledit applicatif de décodage, auquel il est fait appel pour retrouver l'image standard intermédiaire. 7. Dispositif (DIS) de production d'une image destinée à un système d'exploitation dite image OS standard, caractérisé par le fait qu'il est apte à mettre en oeuvre un procédé de production selon l'une des revendications 1 à 4. 8. Dispositif (DIS) selon la revendication précédente, dans lequel ~o ledit procédé de production est mis en oeuvre de façon logicielle. 9. Utilisation d'un dispositif (DIS) selon l'une des revendications 7 ou 8, lors de la réalisation d'une plateforme sécurisée (PL).