Brevet FR2686173A1 — publié le 19930716

DISPOSITIF DE PROTECTION D'UN ORDINATEUR La présente invention concerne un dispositif électronique de protection d'un ordinateur destiné à empêcher le chargement dans sa mémoire vive d'un système d'exploitation à partir d'un support amovible préalablement mis en place dans un lecteur de l'ordinateur, lors de la mise sous tension et/ou de la mise en route ou amorçage ("boot" en terminologie anglosaxonne) de l'ordinateur conçu pour charger en priorité son système d'exploitation à partir dudit support amovible. Elle trouve une application particulièrement importante, bien que non exclusive, dans le domaine de la protection d'un micro-ordinateur contre l'implantation dans la mémoire dudit microordinateur de programmes, dits programmes virus, propres à perturber, détériorer ou détruire les fichiers implantés dans les mémoires de l'ordinateur. Ces programmes virus sont en effet en général insérés dans le programme d'autochargement du système d'exploitation, ou dans le système d'exploitation lui-même, présents sur le support amovible. On sait que les micro-ordinateurs, par exemple du type P.C. (Personnal Computer), sont microprogrammés en mémoire rémanente ou ROM (Read Only Memory), pour lire en priorité, lors de la mise sous tension ou plus généralement lors d'un "boot" de l'ordinateur, les données présentes sur un support amovible en général désigné par la lettre : "A". Ce support est le plus souvent une disquette. En cas de mise en place incomplète du support, par exemple en cas de non verrouillage du lecteur après introduction du support, ou si le support ne comporte pas de système d'exploitation (un support avec un système d'exploitation est dit support "système"), l'ordinateur affiche alors un message d'erreur. Par contre, en cas d'absence de support, l'ordinateur charge dans sa mémoire vive, par défaut, un système d'exploitation à partir d'un support interne fixe, en général un disque dur. Le chargement du système d'exploitation s'effectue automatiquement en deux étapes - mise sous tension ou amorçage (boot) de l'ordinateur, - chargement proprement dit du système d'exploitation. La première étape d'amorçage de l'ordinateur comporte un test automatique d'allumage, également dénommé POST (Power On Self Test en terminologie anglosaxonne). Ce test est un contrôle de la fiabilité du microprocesseur, des circuits électroniques internes et de la fiabilité de la mémoire de l'ordinateur. La première étape comporte également la lecture de l'adresse en mémoire morte rémanente ROM-BIOS de l'ordinateur, d'une instruction de saut vers une routine du BIOS chargée de l'initialisation effective du système, dit programme ou routine d'amorçage. La ROM-BIOS (ROM pour Read Only Memory ; et BIOS pour Basic Input Output System) est une mémoire morte rémanente dans laquelle sont écrits les programmes d'interruptions (BIOS) qui permettent de piloter le matériel, déterminent l'équipement standard rattaché à l'ordinateur et vérifient la présence de nouvel équipement ou d'extensions en mémoire rémanente ou ROM. Elle conserve donc les informations de base qui vont permettre de redémarrer l'ordinateur dont la mémoire vive a été effacée en cas de coupure de courant. La routine d'amorçage réalise notamment la mise à jour de la table des vecteurs d'interruption. C'est également dans la ROM-BIOS qu'est microprogrammée l'instruction d'aller d'abord charger automatiquement le système d'exploitation à partir d'un support amovible, et par défaut, de le faire à partir d'un autre support déterminé, en général interne et fixé au boîtier de l'ordinateur. Une telle disposition se justifie pour éviter le blocage de l'ordinateur, en cas de défaillance du support interne. I1 faut en effet pouvoir recharger un système d'exploitation à partir de l'extérieur quelque soit l'état du, ou les possibilités d'accès au, système d'exploitation du support interne. La deuxième étape, c'est-à-dire l'étape de chargement proprement dit du système d'exploitation dans la mémoire vive, s'effectue ensuite. La routine d'amorçage en ROM lit le secteur, dit secteur de boot, du support amovible externe (ou interne, par défaut) qui comporte un programme d'autochargement du système d'exploitation. Ce programme d'autochargement donne les instructions pour placer le bras du lecteur à un emplacement déterminé du support, où se trouvent les fichiers du système d'exploitation à charger. Dans le cas d'un PC, il s'agit des fichiers IBMBIO.COM. et IBMDOS.COM, ou IO.SYS et MSDOS.SYS pour un compatible. Ce n'est qu'une fois le système d'exploitation chargé que l'utilisateur va pouvoir se servir de l'ordinateur. Malheureusement, si des programmes virus étaient initialement présents dans le système d'exploitation chargé automatiquement à partir du support amovible, en dehors donc de tout contrôle de la part de l'utilisateur, il est trop tard pour intervenir. D'autres applications que la protection contre les programmes virus sont bien entendu envisageables, comme par exemple celles permettant d'empêcher un utilisateur d'outrepasserun mot de passe implanté dans la mémoire d'un ordinateur au niveau du système d'exploitation initialement chargé à partir d'un support interne à l'ordinateur, comme un disque dur fixe. L'invention n'est pas, non plus, limitée à la protection des micro-ordinateurs, mais concerne plus généralement tout ordinateur dont le système d'exploitation est chargé en priorité à partir d'un support amovible externe. On connaît déjà des dispositifs de protection d'un ordinateur contre le chargement dans sa mémoire vive de systèmes d'exploitation non autorisés. I1 s'agit essentiellement soit de protection mécanique empêchant physiquement l'introduction de support amovible dans le lecteur de support externe de l'ordinateur, soit de système complexe nécessitant en général une modification de la microprogrammation du ROM-BIOS de l'ordinateur, avec ajout de carte interne à l'ordinateur. De telles protections présentent des inconvénients. Une protection mécanique permet, certes, d'empêcher le chargement à partir d'un support amovible, mais supprime également toute possibilité ultérieure de lecture et d'écriture sur ledit support, qui ne peut donc être utilisé. Une protection par modification de la microprogrammation du ROM-BIOS et/ou ajout de mémoire morte sur carte interne supplémenta-ire est coûteuse, et ne présente pas une solution facilement applicable au parc d'ordinateurs existants. La présente invention vise à fournir un dispositif répondant mieux que ceux antérieurement connus aux exigences de la pratique, notamment en ce qu'elle propose un dispositif de protection à faible coût, transparent pour l'utilisateur, d'installation simple, aisée à mettre en oeuvre par un utilisateur non informaticien, et qui permet néanmoins la lecture et l'écriture ultérieure des fichiers du support amovible introduit dans le lecteur, après chargement du système d'exploitation interne connu de l'utilisateur. Dans ce but l'invention propose notamment un dispositif électronique de protection d'un ordinateur destiné à empêcher le chargement dans la mémoire vive dudit ordinateur d'un système d'exploitation présent sur un support amovible préalablement mis en place dans un lecteur de l'ordinateur, lors de la mise sous tension ou de l'amorçage dudit ordinateur conçu pour charger en priorité son système d'exploitation à partir dudit support amovible, caractérisé en ce que il comporte des moyens agencés pour simuler l'absence de support amovible dans le lecteur pendant un temps déterminé lors de la mise sous tension ou de l'amorçage de l'ordinateur. Un tel dispositif autorise le chargement par défaut du système d'exploitation dans la mémoire vive à partir du support interne, par exemple un disque dur, en inhibant l'accès au support amovible externe. Une fois ce système d'exploitation connu chargé, le chargement du système d'exploitation à partir du lecteur de support amovible externe n'est plus possible. Dans un mode de réalisation avantageux, les moyens agencés pour simuler l'absence de support amovible comportent des moyens de détection d'un signal de commande du lecteur de support généré lors de la mise sous tension ou de l'amorçage de l'ordinateur, des moyens de mémorisation dudit signal, et des moyens de masquage dudit signal pendant un temps déterminé et de rétablissement dudit signal après ledit temps déterminé. L'utilisation normale du lecteur est ainsi rétablie, ce qui permet à l'utilisateur d'utiliser à nouveau le lecteur, une fois la procédure d'accès respectée. Avantageusement les moyens de détection sont agencés pour détecter le front montant du signal "motor on" de mise en route du moteur du lecteur. Dans un mode de réalisation également avantageux les moyens de mémorisation comprennent une bascule bistable. Avantageusement les moyens de masquage du signal de commande du lecteur comprennent des moyens de temporisation fournissant un signal complémentaire dudit signal de commande de durée t au moins égale à la durée dudit signal de commande et des moyens de mixage dudit signal complémentaire avec ledit signal de commande, pour obtenir son invalidation pendant ladite durée t. Par signal complémentaire d'un premier signal, il convient d'entendre un signal de tension égale en valeur absolue au premier signal et de signe inverse. Dans un autre mode de réalisation avantageux les moyens de masquage du signal de commande comportent des moyens de temporisation fournissant un signal complémentaire dudit signal de commande dit premier signal, et des moyens d'activation de la fin de la temporisation comprenant des moyens de détection d'un front d'un second signal situé en aval du front descendant dudit premier signal, tel que par exemple l'autorisation d'accès au premier disque dur interne à l'ordinateur, ou constitué par le front descendant dudit premier signal. Dans un mode de réalisation avantageux les moyens agencés pour simuler l'absence de support amovible sont connectés et incorporés à la nappe de fils de connexion reliant le lecteur de support amovible et la carte contrôleur du lecteur. Une telle disposition permet une installation aisée pour un utilisateur non technicien puisqu'il s'agit uniquement de changer une nappe de fils. Elle est de plus discrète et peu volumineuse. Egalement avantageusement le dispositif comporte de plus des moyens de plombage du boîtier de l'ordinateur agencés pour permettre la détection de l'ouverture non autorisée du boîtier. I1 peut s'agir notamment d'une alarme photosensible dénonçant l'ouverture du boîtier par fusion d'un témoin matériel, interdisant éventuellement l'usage ultérieur de l'ordinateur. L'invention sera mieux comprise à la lecture de la description qui suit de modes particuliers de réalisation donnés à titre d'exemples non limitatifs. La description se réfère aux dessins qui l'accompagnent, dans lesquels - La figure 1 montre un dispositif électronique de protection selon le mode de réalisation de l'invention plus particulièrement décrit ici, dont les moyens de simulation sont incorporés à la nappe de connexion entre lecteur de disquette et carte contrôleur associée, dans un micro-ordinateur. - La figure 2 est une vue à plus grande échelle de la nappe de la figure 1. - La figure 3 est un schéma sous forme de blocs montrant un mode de réalisation des moyens de simulation selon l'invention. - La figure 4 est un diagramme schématique de l'état de divers signaux, dont certains sont véhiculés par la nappe de fils de la figure 1 ; une fenêtre de masquage est par ailleurs représentée en vue d'illustrer le mode de réalisation de l'invention plus particulièrement décrit ici. - La figure 5 montre un autre mode de réalisation des moyens de simulation selon l'invention, à base de circuits intégrés. - La figure 6 est une vue arrière, en perspective, du boîtier d'un micro-ordinateur comprenant des moyens de plombage du coffret selon un mode de réalisation de l'invention. Sur la figure 1 on a représenté le boîtier ouvert 1 d'un micro ordinateur dont le contenu a été simplifié pour plus de clarté. Le micro-ordinateur comprend de façon connue en soi un disque dur 2, un lecteur 3 de disquettes par exemple de diamètre 5"1/4, muni d'un loquet externe 4 de verrouillage de la disquette en position de lecture/écriture, une carte mère 5 comprenant un microprocesseur 6, par exemple un microprocesseur fabriqué par la société américaine INTEL portant la dénomination 80286, des connecteurs 7 de branchement de cartes (slots en terminologie anglosaxonne) et une carte contrôleur 8, de contrôle du fonctionnement du lecteur 3, insérée dans un slot. La carte 8 est connectée au lecteur 3 par une série de cables parallèles ou nappe de fils 9, munie de moyens 10 de simulation appartenant au dispositif selon le mode de réalisation de l'invention plus particulièrement décrit ici. En référence à la figure 2, la nappe de fils 9 comprend des fiches connectrices multiples 11 et 12 à enfichage rapide, à savoir une fiche 11 de connexion sur la carte contrôleur et une fiche 12 de connexion sur le lecteur de disquette. Ces fiches sont constituées de façon connue en soi, par exemple par des connecteurs femelles trente-quatre points. La nappe de fils est quant-à-elle constituée de trente-quatre fils en parallèle reliés aux fiches de connexion 11 et 12. De façon classique la répartition des points pairs est la suivante, les points impairs N"1 à N"33 étant à la masse ou à O Volt. La terminologie utilisée est anglosaxonne comme cela est classiquement le cas en informatique, la signification en étant aisément compréhensible par l'homme du métier. N" Libellé Abréviation "2" Non connecté n.c. "4" HEAD LOAD HLD "6" DRIVE SELECT DS4 "8" INDEX IP "10" DRIVE SELECT 1 DS1 "12" DRIVE SELECT 2 DS2 "14" DRIVE SELECT 3 DS3 "16" MOTOR ON MOTOR "18" DIRECTION DIRC "20" STEP STEP "22" WRITE DATA WDATA "24" WRITE GATE WG "26" TRACK OO TROO "28" WRITE PROTECT WPRT "30" READ DATA RDATA "32" SIDE SELECT SIDE "34" READY RDY La figure 3 montre les moyens de simulation 10 selon le mode préféré de réalisation de l'invention. Ces moyens comprennent un circuit électronique connecte en serie sur le fil 14 de transmission du signal de validation "motor on" appartenant à la nappe 9. Ce signal a pour fonction d'autoriser la mise en route du moteur de lecteur (point 16 de la fiche connectrice 11 décrite ci-dessus]. Le circuit électronique est connecté en 15 sur le fil 14, du côté de la carte contrôleur. Il comprend des moyens 16 de détection du front montant du signal "motor on", connectés à une bascule bistable 17 qui attaque un circuit de temporisation 18 de durée réglable, connu en luimême, agencé pour fournir un signal complémentaire du signal "motor on" pendant une durée déterminée t supérieure ou égale à la durée du signal de base "motor on". Le temporisateur 18 est lui-même connecté en sortie à une porte ET 19 dont l'autre entrée est raccordée à l'entrée 15 du signal de base, et dont la sortie 20 est raccordée en aval sur le fil 14, du côté du lecteur de disquette. Un circuit 21 de détection de changement de niveaux) est également prévu. I1 a pour fonction de remettre la bascule 17 à zéro, en cas d'arrêt et mise hors tension (cold boot en terminologie anglosaxonne) représentée en 22 sur la figure 3, réinitialisation physique (reset en terminologie anglosaxonne) représentée en 23, et réinitialisation logiciel (Ctrl+Alt+Del au clavier de l'ordinateur ou warm boot en terminologie anglosaxonne) représentée en 24. Pour réaliser cette fonction le circuit 21 comprend des modules de détection de seuil, par exemple sur le changement de pente d'un signal correspondant à 22, 23 ou 24 et/ou par contrôle de la tension d'alimentation. On va maintenant décrire en référence aux figures 3 et 4 le fonctionnement des moyens 10. La figure 4 montre schématiquement l'état de signaux dans le temps correspondant d'une part à des informations concernant globalement l'ordinateur (lignes 25, 26, 27 et 28) et d'autre part à des signaux de commande et contrôle du lecteur véhiculés par les fils de la nappe de connexion entre lecteur et carte contrôleur. La ligne 25 indique la présence tension, la ligne 26 est un signal de puissance, la ligne 27 concerne l'opération de test dite POST (voir cidessus), la ligne 28 correspond à la phase de chargement du système d'exploitation, pendant laquelle les signaux 29, 30 et 31 vont notamment être émis. La ligne 29 correspond à l'entrée "DRIVE SELECT 1" (voir ci-dessus) de selection du (premier) lecteur, la ligne 30 correspond au signal "motor on" utilisé dans le mode de réalisation plus particulièrement décrit ici et la ligne 31 correspond au déplacement de la tête de lecture. Sur le signal de validation de "motor on" (ligne 30), le circuit 16 détecte le front montant 32, et attaque la bascule bistable 17 qui prend l'état "VRAI". La bascule 17 actionne le temporisateur 18 qui fournit un signal de durée t complémentaire des signaux de commande du lecteur. Ce signal complémentaire est ensuite mélange (porte 19) avec le signal de base motor on" pour obtenir son invalidation en 20 pendant la durée t. Tout se passe alors comme s'il n'y avait pas de support dans le lecteur (abscence de disquette et clapet de lecteur non fermé) d'où la représentation d'une fenêtre de "masquage" 33 sur la figure 4. Une fois cette durée écoulée, l'action des autres impulsions sur le signal "motor on" est sans effet, puisque l'état "VRAI" est mémorisé par la bascule 17. L'utilisateur peut donc utiliser la disquette, une fois la procédure d'accès respectée. A titre indicatif, une temporisation de la durée t de l'ordre de 30s peut être prévue dans le cas d'un PC équipé d'un microprocesseur de la société INTEL 8088 cadencé à 4,77 Mhz. La figure 5 représente un exemple de réalisation des moyens de simulation 10 selon l'invention utilisant des circuits intégrés. Le choix d'un temps t supérieur (par exemple 2 fois supérieur) à la durée effective d'activation du signal "motor on" permet d'utiliser sans risque les circuits du commerce, dont la précision dans le temps (de l'ordre + 5 périodes d'horloge) est alors suffisante. A titre d'exemples de circuits intégrés utilisés pour les moyens 40 de simulation de la figure 5, il est prévu un circuit intégré 41 de détection sur front et sur seuil de la famille 555 (par exemple un circuit SFC2155 de la société française SGS THOMSON) raccordé d'une part à l'entrée 42 du signal de base "motor on" et d'autre part à un circuit intégré 43 de mémorisation de la famille 7493 (par exemple un circuit SFC7493E de la société SGS THOMSON). Celui-ci est connecté à un décodeur 44 (générateur de fenêtre de durée t) constitué par un circuit intégré 74154 (par exemple un circuit SFC74154E de la société SGS THOMSON) qui attaque en sortie 45 un circuit inverseur 46 de la famille 7404 (par exemple un circuit SFC7404E de la société SGS THOMSON), lequel génère le signal complémentaire 47 ensuite mixé au signal de base comme indiqué dans le cas de la figure 3. Le circuit inverseur 46 est ici nécessaire pour une question de polarité du signal, la fenêtre générée dans le cas du montage décrit en référence à la figure 5 étant l'inverse de celle dont on a besoin. D'autres montages, à la portée de l'homme du métier, sont bien entendu possibles, pour réaliser les mêmes fonctions. ,Des moyens 48 connus en eux-même sont par ailleurs prévus pour adapter les impédances d'entrée. De façon générale, toute technologie peut être utilise pour réaliser les composants actifs d'un dispositif selon l'invention (par exemple TTL, CMOS, HCMOS). Les circuits HCMOS seront cependant préférés. La technique de montage CMS (initiales de Composant Monté en Surface) sera par exemple mise en oeuvre, pour réaliser le dispositif selon le mode de réalisation de la figure 2. Le circuit imprimé aussi mince que possible est collé sur la nappe de fils, puis enrobé dans une résine isolante opaque. Le dispositif selon le mode de réalisation de l'invention plus particulièrement décrit ici comprend de plus des moyens de protection physique prouvant qu'il n'y a pas eu démontage du boîtier de l'unité centrale ou du micro-ordinateur. On a représenté sur la figure 6 le boîtier 50 d'un micro-ordinateur en vue arrière. Les vis de fixation 51 comportent des moyens 52 de plombage, par exemple un fil 53 qui passe au travers des têtes des vis, et qui est refermé, plombé et cacheté en 54 de façon connue en soi. Ce plombage peut être complété par un carnet d'entretien, logé à l'intérieur du boîtier et/ou utilisé lors des opérations de maintenance. Un autre moyen consiste à munir l'intérieur du coffret d'un alarme photosensible entraînant la fusion d'un témoin matériel en cas d'ouverture du boîtier. L'état de ce témoin 55 peut par exemple être consulté sans démontage du coffret ; il est possible de le désactiver grâce à une clef ou une combinaison (non représentée), pour la maintenance. La protection peut également être complétée par un programme de contrôle d'accès, et/ou un logiciel obligeant par exemple l'utilisateur malveillant à faire un "reset" ou à mettre hors tension un ordinateur qui serait resté en fonctionnement. Un avantage important de la présente invention consiste cependant à proposer un dispositif de protection de type matériel et non de type logiciel. La protection matérielle obtenue avec un tel dispositif étant statique et ne mettant en oeuvre aucune pièce mécanique présente par ailleurs une excellente fiabilité. Elle présente aussi l'avantage de ne pas être programmable à partir de l'ordinateur. La présente invention ne se limite pas aux modes de réalisation plus particulièrement décrits. Elle comporte notamment les variantes où: - le signal utilisé n'est pas celui du "motor on", mais celui de "drive select" ou un autre signal de commande du lecteur de support externe - le circuit de simulation est incorporé à une prise connecteur intermédiaire et non incorporé à la nappe de fils proprement dite. REVENDICATIONS 1. Dispositif électronique de protection d'un ordinateur destiné à empêcher le chargement dans la mémoire vive dudit ordinateur d'un système d'exploitation présent sur un support amovible préalablement mis en place dans un lecteur (3) de l'ordinateur, lors de la mise sous tension ou de l'amorçage dudit ordinateur conçu pour charger en priorité son système d'exploitation à partir dudit support amovible, caractérisé en ce que il comporte des moyens (10) agencés pour simuler l'absence de support amovible dans le lecteur pendant un temps déterminé lors de la mise sous tension ou de l'amorçage de l'ordinateur. 2. Dispositif selon la revendication 1 caractérisé en ce que les moyens agencés pour simuler l'absence de support amovible comportent des moyens de détection (16) d'un signal (30) de commande du lecteur de support généré lors de la mise sous tension ou de l'amorçage de l'ordinateur, des moyens de mémorisation (17) dudit signal, des moyens de masquage (18, 19) dudit signal pendant un temps déterminé et de restitution dudit signal après ledit temps déterminé. 3. Dispositif selon la revendication 2, caractérisé en ce que les moyens de détection sont agencés pour détecter le front montant (32) du signal "motor on" de mise en route du moteur du lecteur. 4. Dispositif selon l'une quelconque des revendications 2 et 3, caractérisé en ce que les moyens de mémorisation comprennent une bascule bistable (17). 5. Dispositif selon l'une quelconque des revendications 2 à 4, caractérisé en ce que les moyens de masquage du signal de commande du lecteur comportent des moyens de temporisation (18) fournissant un signal complémentaire dudit signal de commande, de durée t au moins égale à la durée dudit signal de commande et des moyens de mixage (19) dudit signal complémentaire avec ledit signal de commande, pour obtenir en sortie son invalidation pendant la durée t. 6. Dispositif selon l'une quelconque des revendications 2 à 4, caractérisé en ce que les moyens de masquage du signal de commande du lecteur comportent des moyens de temporisation (18) fournissant un signal complémentaire du signal de commande, dit premier signal, et des moyens d'activation de la fin de la temporisation comprenant des moyens de détection du front d'un second signal situé en aval du front descendant dudit premier signal ou constitué par le front descendant dudit premier signal. 7. Dispositif selon l'une quelconque des revendications précédentes, caractérisé en ce que les moyens agencés (10) pour simuler l'absence de support dans le lecteur sont connectés et incorporés à la nappe (9) de fils de connexion reliant le lecteur (3) de support amovible et la carte contrôleur (18) dudit lecteur. 8. Dispositif selon l'une quelconque des revendications précédentes, caractérisé en ce que il comporte de plus des moyens (52) de plombage du coffret de l'ordinateur agencés pour détecter l'ouverture non autorisée du coffret. 9. Dispositif selon la revendication 8, caractérisé en ce que les moyens de plombage comportent un témoin photosensible se détruisant par fusion à l'ouverture du boîtier. 10. Application du dispositif selon l'une quelconque des revendications précédentes à la protection d'un micro-ordinateur.