Brevet FR2949888A1 — publié le 20110311

Dispositif de protection contre les logiciels malveillants et ordinateur comprenant le dispositif L'invention concerne un dispositif de protection contre les logiciels malveillants et s'applique notamment au domaine de la sécurisation des échanges de données numériques. Les logiciels malveillants représentent une menace importante mettant en péril les échanges de données numériques au sein des réseaux de télécommunications. De plus, les dispositifs électroniques ayant la capacité de mémoriser et d'échanger des données numériques ont aujourd'hui de multiples moyens de se connecter à d'autres dispositifs, par exemple à des équipements périphériques ou/et à des réseaux de télécommunications. Ces moyens sont mis en oeuvre à l'aide d'interfaces au travers desquelles les données numériques transitent d'un dispositif à un autre. Ces interfaces peuvent être des interfaces sans fil ou bien nécessitant une connexion physique et sont habituellement normalisées. A titre d'exemple, la norme USB, acronyme venant de l'expression anglo-saxonne � Universal Serial Bus �, comporte plusieurs versions de bus série servant notamment à connecter des périphériques informatiques à un ordinateur. La possibilité de connecter différents dispositifs les uns aux autres induits des problèmes de sécurité. Les logiciels malveillants, habituellement appelés � malwares �, peuvent attaquer de nombreux dispositifs. En effet ces malwares peuvent, en fonction de leur type, se déplacer, se répliquer, accéder à des données numériques ou les détruire sans le consentement de l'utilisateur du dispositif attaqué. Les malwares les plus répandus sont les virus, les vers, les chevaux de Troie et les logiciels espions. Les équipements électroniques de haute technologie, comme par exemple les ordinateurs, les assistants personnels, ou les téléphones mobiles, possèdent aujourd'hui d'importantes capacités de mémorisation de données numériques et utilisent de nombreuses applications informatiques pour lesdites données. Pour faire fonctionner de tels équipements, des systèmes d'exploitation de plus en plus complexes sont conçus et mis sur le marché à grande échelle. Ces systèmes d'exploitation possèdent des failles plus ou moins importantes propres à leur architecture et pouvant être exploitées par les concepteurs de logiciels malveillants. Ainsi, certains systèmes d'exploitation comprennent un mécanisme d'exécution automatique, comme par exemple les différentes versions de système d'exploitation Windows produit par la société Microsoft. Un équipement hôte utilisant ce type de système d'exploitation, par exemple un ordinateur, peut exécuter automatiquement un ou plusieurs programmes suite à l'établissement d'une connexion avec un équipement périphérique. Dans la suite de la description, un équipement hôte désigne tout équipement électronique comprenant des moyens de calcul tel que des processeurs, un système d'exploitation et des moyens pour se connecter et échanger des données avec un ou plusieurs équipements périphériques. Un ordinateur est un exemple d'équipement hôte. Suite à la connexion d'un équipement périphérique à l'équipement hôte, lorsque le système d'exploitation utilisé possède un mécanisme d'exécution automatique, l'exécution d'un ou plusieurs programmes est déclenchée automatiquement. Pour cela, l'équipement hôte lit les informations contenues, par exemple, dans un fichier de configuration de l'exécution automatique présent sur la mémoire de l'équipement périphérique dans lequel sont indiquées les instructions à exécuter automatiquement. Ce mécanisme d'exécution automatique peut être utilisé comme moyen pour exécuter un programme sur l'ordinateur à l'insu de son utilisateur et peut avoir comme effet de permettre la transmission d'un logiciel malveillant ou l'aspiration de fichiers de l'équipement hôte, par exemple. De manière à limiter les risques liés à ce mécanisme, différentes 25 approches existent. Il est possible de désactiver le mécanisme d'exécution automatique en modifiant, par exemple, des clés de registre. Cependant, la désactivation du mécanisme d'exécution automatique est un processus relativement complexe pour un utilisateur non averti. En effet, ce processus nécessite par 30 exemple de modifier des clés de registre ou d'utiliser un programme de configuration spécifique. D'autre part, certains bogues inhérents à ce mécanisme nécessitent l'installation de correctifs de sécurité pour que la désactivation soit réellement prise en compte et qu'elle ne puisse pas être contournée. De plus, l'installation de certains programmes peut modifier la 35 configuration du mécanisme d'exécution automatique à l'insu de l'utilisateur. Par ailleurs, lors du branchement d'un équipement périphérique, une boîte de dialogue liée au mécanisme d'exécution automatique peut par exemple inciter l'utilisateur à sélectionner tel ou tel élément dans ladite boite, élément déclenchant alors l'exécution du programme générant l'attaque. D'autre part, certains équipements périphériques ont la capacité d'émuler un périphérique de type CD-ROM, par exemple, et la désactivation du mécanisme d'exécution automatique sur les équipements périphériques peut ainsi être contournée. Un autre type de protection peut être mis en oeuvre à l'aide d'un logiciel de type antivirus installé sur l'équipement hôte. Les programmes lancés par le mécanisme d'exécution automatique sont alors analysés par le composant de protection résidente de l'antivirus. Il est aussi possible d'analyser les fichiers transférés entre l'équipement hôte et l'équipement périphérique. Un logiciel antivirus installé sur l'équipement hôte peut aussi, sur ordre de l'utilisateur, analyser les fichiers présents sur l'équipement périphérique. L'efficacité de blocage d'un antivirus sur un logiciel malveillant voulant se lancer à partir d'un équipement périphérique, par exemple une clé, dépend du moteur de l'antivirus et de ses mises à jour. De plus, un logiciel antivirus ne détecte habituellement pas l'aspiration de fichiers de l'ordinateur hôte vers la clé, ou inversement. Avec les protections existantes, il est donc difficile d'avoir l'assurance que l'équipement hôte est protégé contre les malwares lorsque que le système d'exploitation utilisé comprend un mécanisme d'exécution automatique. Un but de l'invention est notamment de pallier les inconvénients précités. A cet effet l'invention a pour objets un dispositif de protection contre les logiciels malveillants comprenant un port connecteur lui permettant de se connecter via une première interface à un équipement électronique appelé équipement hôte et au moins un port réceptacle permettant à au moins un équipement périphérique de se connecter au dispositif de protection via une seconde interface. Le dispositif comprend un système d'exploitation permettant de simuler un équipement hôte, ledit dispositif étant ainsi perçu par l'équipement périphérique comme un équipement hôte. Dans un mode de mise en oeuvre de l'invention, la première interface est une interface normalisée de type USB. La seconde interface est, par exemple, une interface normalisée de type USB. Selon un aspect de l'invention, le dispositif comprend des moyens pour analyser les données numériques échangées entre l'équipement périphérique et l'équipement hôte. Les moyens pour analyser les données numériques peuvent être mis en oeuvre par un logiciel anti-virus. Le dispositif selon l'invention comprend, par exemple, un fichier de configuration d'un mécanisme d'exécution automatique, ledit fichier contenant des instructions sur les tâches à exécuter par l'équipement hôte lorsqu'une connexion est établie entre ledit équipement hôte et le dispositif. Selon un aspect de l'invention, le dispositif comprend au moins un processeur, de la mémoire de type RAM et de la mémoire de type ROM. L'invention a aussi pour objet un ordinateur comprenant un dispositif de protection tel que décrit précédemment, ledit dispositif étant intégré audit ordinateur. D'autres caractéristiques et avantages de l'invention apparaîtront à l'aide de la description qui suit donnée à titre illustratif et non limitatif, faite en regard des dessins annexés parmi lesquels : la figure 1 donne un exemple de dispositif de protection selon l'invention ; la figure 2 présente une architecture fonctionnelle en couches pouvant être mise en oeuvre dans le cadre de l'invention. La figure 1 donne un exemple de dispositif de protection selon l'invention, appelé également équipement de protection. Le dispositif de protection 102 est un équipement périphérique particulier. Celui-ci peut donc être connecté à un équipement hôte, par exemple un ordinateur 100. La connexion entre l'équipement hôte 100 et le dispositif de protection 102 peut être mise en oeuvre à l'aide d'une première interface normalisée, par exemple une interface USB. Un port femelle 101 sur l'équipement hôte 100 permet par exemple un branchement physique avec un port mâle 103 appartement au dispositif de protection 102. Un équipement périphérique 106 peut se connecter à l'équipement hôte 100 au travers du dispositif de protection 102. Cette connexion est mise en oeuvre, par exemple, à l'aide d'une interface de type USB. Dans ce cas le dispositif de protection 102 peut comprendre un port réceptacle 104, par exemple de type femelle, et l'équipement périphérique à connecter 106 peut comprendre un port mâle 105, ces deux ports permettant la mise en place d'une connexion physique via une seconde interface. Cette seconde interface peut être normalisée, par exemple de type USB. La première et la seconde interface du dispositif n'utilisent par forcément la même technologie normalisée pour la mise en oeuvre des connexions leurs étant associées. Le dispositif de protection 102 permet d'isoler l'équipement hôte 100 de l'équipement périphérique 106. Le dispositif de protection 102 comprend son propre système d'exploitation lui permettant de simuler un hôte. En d'autres termes, le dispositif de protection 102 est vu comme si il était l'équipement hôte 100 par l'équipement périphérique 106. Le dispositif de protection masque l'équipement périphérique 106 à brancher de l'équipement hôte 100. Cette isolation a pour effet d'inhiber le mécanisme d'exécution automatique de programmes potentiellement malveillant pouvant se trouver sur un équipement périphérique 106. Le dispositif de protection peut, par exemple, embarquer un logiciel antivirus afin d'analyser les fichiers transférés entre l'équipement périphérique 106 et l'équipement hôte 100 et inversement. Puisque le dispositif de protection agit comme un tampon d'isolation entre l'ordinateur hôte et l'équipement périphérique à brancher, il est possible, par exemple, que le mécanisme d'exécution automatique exécute les instructions comprises dans un fichier de configuration du mécanisme d'exécution automatique compris dans la mémoire du dispositif de protection. Dans un mode de mise en ouvre, le dispositif de protection selon l'invention est externe et donc physiquement distinct de l'équipement hôte. Dans une autre mode de réalisation, le dispositif peut être intégré à l'équipement hôte.35 La figure 2 présente une architecture fonctionnelle en couches pouvant être mise en oeuvre dans le cadre de l'invention. Comme pour tout système de télécommunication, une architecture en couches permet de définir les fonctions et le rôle des différents équipements composant le système. Le système dont l'architecture est présentée dans cet exemple comprend trois équipements : un équipement hôte, un équipement de protection et au moins un équipement périphérique. Un équipement périphérique peut être, par exemple, une clé USB, un appareil photo numérique, un lecteur multimédia, un disque dur externe ou tout autre type de périphérique numérique. Trois couches logiques permettent, par exemple, de décrire l'architecture du système. Une première couche 202 dépendante de l'implémentation physique du système est appelée couche matériel et correspond à une couche physique et de signalisation. Si une interface de type USB est utilisée, l'équipement hôte comprend une couche normalisée 210 de type � USB Host Controler �. Le dispositif de protection comprend une couche normalisée 211 � USB Bus Interface � permettant la mise en oeuvre d'une connexion physique avec l'équipement hôte. De manière à pouvant établir une connexion physique avec un ou plusieurs équipements périphériques, le dispositif de protection comprend également une couche normalisée de type � USB Host Controler� 212, ledit dispositif de protection étant ainsi vu par le périphérique comme un équipement hôte. L'équipement périphérique comprend par exemple une couche mettant en oeuvre des fonctionnalités de type � USB Bus Interface � 213. Une seconde couche 201, appelée par exemple couche périphérique, permet notamment de mettre en place des canaux logiques de transmission entre des équipements connectés entre eux. Si la norme USB est utilisée, l'équipement hôte comporte alors une couche équipement normalisée 206 désignée par l'expression anglo-saxonne � USB System Software � et l'équipement périphérique une couche équipement normalisée 209 désignée par l'expression anglo-saxonne � USB Logical Device �. Comme le dispositif de protection joue un rôle d'isolateur entre l'équipement hôte et l'équipement périphérique, il comprend à la fois une couche de type � USB Logical Device � 207 et une couche de type � USB System Software � 208. Une troisième couche 200 appelée � couche fonction � comprend les applications des équipements composant le système. Ainsi, l'équipement hôte comprend par exemple dans cette couche un composant d'exploration de fichiers 203. Dans cette même couche, le dispositif de protection comprend par exemple un système d'exploitation et un logiciel antivirus 204. Quant à l'équipement périphérique, celui-ci comprend par exemple dans cette couche 205 une ou plusieurs fonctions pouvant normalement être exécutées par le système d'exploitation de l'équipement hôte. Ces couches permettent de mettre en place, de contrôler et d'utiliser une première interface 214 entre l'équipement hôte et le dispositif de protection ainsi qu'une seconde interface 215 entre le dispositif de protection et d'équipement périphérique. Les protocoles de communications utilisés pour la mise en oeuvre de ces deux interfaces ne sont par nécessairement les mêmes. En terme d'implémentation, l'équipement de protection comprend, par exemple, au moins un processeur, de la mémoire de type RAM, de la mémoire de type ROM, un système d'exploitation basé sur Linux et embarqué dans la mémoire de type ROM. Un logiciel anti-virus exécuté par le système d'exploitation compris dans le dispositif de protection peut aussi être mis en oeuvre. Les systèmes ainsi mis en oeuvre utilisent des composants logiques d'équipements périphériques pour simuler un équipement périphérique virtuel, de type USB par exemple, ainsi que les composants d'un équipement hôte pour lire le contenu d'un équipement périphérique à brancher sur le dispositif de protection. Cette architecture permet de masquer tout fichier de configuration du mécanisme d'exécution automatique compris dans l'équipement périphérique, et ainsi d'empêcher l'exécution automatique sur l'ordinateur hôte de tout programme potentiellement malveillant et mémorisé sur ledit équipement périphérique. De plus, si un anti-virus est intégré dans le dispositif de protection, les fichiers transitant entre l'équipement périphérique et l'équipement hôte sont analysés. Il est aussi possible de présenter à l'équipement hôte un fichier de configuration de l'exécution automatique, appelé par exemple autorun.inf, et permettant de lancer un programme de mise à jour de l'anti-virus intégré.35 REVENDICATIONS1- Dispositif de protection contre les logiciels malveillants comprenant un port connecteur (103) lui permettant de se connecter via une première interface à un équipement électronique (100) appelé équipement hôte, au moins un port réceptacle (104) permettant à au moins un équipement périphérique (106) de se connecter au dispositif de protection (102) via une seconde interface, ledit dispositif de protection étant caractérisé en ce qu'il comprend un système d'exploitation permettant de simuler un équipement hôte, ledit dispositif (102) étant ainsi perçu par l'équipement périphérique (106) comme un équipement hôte. 2- Dispositif selon la revendication 1 caractérisé en ce que la première interface (214) est une interface normalisée de type USB. 3- Dispositif selon l'une quelconque des revendications précédentes caractérisé en ce que la seconde interface (215) est une interface normalisée de type USB. 4- Dispositif selon l'une quelconque des revendications précédentes caractérisé en ce qu'il comprend des moyens pour analyser les données numériques échangées entre l'équipement périphérique et l'équipement hôte. 5- Dispositif selon la revendication 4 caractérisé en ce que les moyens pour analyser les données numériques sont mis en oeuvre par un logiciel anti-virus. 30 6- Dispositif selon l'une quelconque des revendications précédentes caractérisé en ce qu'il comprend un fichier de configuration d'un mécanisme d'exécution automatique, ledit fichier contenant des instructions sur les tâches à exécuter par l'équipement hôte lorsqu'une connexion est établie entre ledit équipement hôte et le dispositif. 25 35 7- Dispositif selon l'une quelconque des revendications précédentes caractérisé en ce qu'il comprend au moins un processeur, de la mémoire de type RAM et de la mémoire de type ROM. 8- Ordinateur caractérisé en ce qu'il comprend un dispositif de protection selon l'une quelconque des revendications 1 à 7, ledit dispositif étant intégré audit ordinateur.