• 8 heures
  • Facile

Ce cours est visible gratuitement en ligne.

course.header.alt.is_video

course.header.alt.is_certifying

J'ai tout compris !

Mis à jour le 09/09/2019

Mettez vos logiciels à jour régulièrement

Connectez-vous ou inscrivez-vous gratuitement pour bénéficier de toutes les fonctionnalités de ce cours !
Ce cours a été élaboré en collaboration avec le Conservatoire national des Arts & Métiers.

L'objectif sera de comprendre les enjeux de production et de sécurité des mises à jour de vos logiciels, applications et équipements présents dans votre entreprise. Vous découvrirez le mode de fonctionnement des mises à jour dans les situations les plus courantes, et également vous verrez des cas d'utilisation malveillante comme l'injection de code, le déploiement de code malveillant ou la divulgation d'informations confidentielles, afin que dorénavant vous puissiez comprendre et appliquer lors de vos mises à jours les bonnes pratiques de la sécurité proposées par l'ANSSI.

Quotidiennement, vos ordinateurs et serveurs fonctionnent avec des milliards de lignes de code ; ils sont sujets à des défauts de conception ou des évolutions, ils sont conçus pour se mettre à jour, ils vous proposent régulièrement d'effectuer ces mises à jour, mais à quoi servent-elles ? Sont-elles obligatoires ? Vous font-elles courir un risque ?

Nous allons nous interroger sur la façon dont ces logiciels pour la mise à jour fonctionnent.

Situations d'usage courant des mises à jour système et logicielles

Les logiciels installés sur les systèmes de l’entreprise peuvent présenter des défauts de conception (programmation) liés à l’éditeur de logiciel. Ces failles ouvrent des points d’entrée aux pirates qui en découvrent l’existence. Elles ne sont connues que de ceux qui « testent » et « fouillent », donc non visibles pour pour vous mais également pour les éditeurs.

Une mise à jour logicielle est utile lorsque des problèmes surviennent sur votre système ou vos applications, également pour obtenir de nouvelles fonctionnalités. Ces mises à jour, proposées suite à la détection d'une faille de votre système d'exploitation ou encore de vos logiciels et applications, seront effectuées dans le but de renforcer leur sécurité, de mieux les protéger face aux virus et vulnérabilités. Les ordinateurs, les logiciels ou même vos objets connectés émettent des notifications pour effectuer des mises à jour.

Enfin, en plus des problèmes liés à la sécurité et à la performance, il est possible que vos matériels et applications rencontrent des défauts de fonctionnement liés à des défauts de conception, comme des lenteurs au démarrage, une utilisation excessive de votre batterie, des fermetures inopinées de vos applications ; ce sont des "bugs" qui peuvent être corrigés par le biais de packages de mises à jour.

C’est pourquoi il est recommandé d'accepter ces actualisations.

Comment fonctionnent les mises à jour ?

À partir du moment où vous avez une entreprise avec un responsable informatique, vous devez être au courant de l’organisation de ces mises à jour qui peuvent être automatiques ou manuelles ; il est également possible de mixer les deux modes selon les objectifs recherchés.

Manuelles

Les déploiements manuels sont généralement des mises à jour logicielles strictement nécessaires, effectuées ainsi afin de  garder le contrôle sur ce qui est modifié ou pas, de valider le fonctionnement des logiciels après la mise à jour.

Le déploiement manuel de mises à jour logicielles consiste à sélectionner des mises à jour logicielles puis à lancer manuellement le processus de déploiement. Vous pouvez aussi ajouter certaines mises à jour logicielles à un groupe de mises à jour, puis déployer manuellement ce groupe.

Automatiques

Il existe des outils sur les clients, les navigateurs, les systèmes d’exploitation, qui vous permettent de faire un paramétrage automatique de la mise à jour. L’avantage de ce paramétrage est que le réseau complet sera mis à jour de la même façon ; donc, ça garantit l’administrateur de la sécurité que cette mise à jour va se faire sur tous les postes de travail sur le serveur, que les correctifs de sécurité vont bien être passés.

La menace

Mieux connaître les vulnérabilités logicielles

La vulnérabilité existe dans tous les appareils, logiciels et systèmes numériques (vos ordinateurs, vos serveurs et bien entendu les smartphones de vos usagers).

Avec des milliards de lignes de code développées par des milliers de développeurs, on comprend qu'il puisse exister des failles.

Eh oui, les vulnérabilités sont des failles pouvant être matérielles ou logicielles, touchant les systèmes d’exploitation, les applications, les protocoles… et cela produit un état défaillant accidentel ou intentionnel. Les failles peuvent être provoquées lors de la conception du développement du logiciel, donc très en amont de la présence du logiciel sur les ordinateurs ; mais cela peut être aussi lorsqu’on met en présence les logiciels et les protocoles - le déploiement - ou encore durant les opérations de maintenance du système d’information !

L'exploitation

Un système peut avoir énormément de brèches et ce n’est pas pour autant que l'une ou l'autre de ces failles vont constituer une entrée pour un attaquant. Il faut toute de même "porter" une menace, c'est-à-dire « intéresser suffisamment l’attaquant » pour qu'il imagine un mode opératoire qui le conduira à exploiter cette  faille.

Une vulnérabilité est donc une entrée susceptible d’être exploitée par un individu malveillant ; pour ce faire, il va mettre en œuvre un ensemble de programmes malveillants que l'on appellera pour cette raison un exploit. Un exploit informatique est donc un code source qui va automatiquement exécuter certaines fonctions afin de s'introduire via cette brèche. Le but n'est pas de s'arrêter là, mais de gagner des privilèges sur les ressources ou des informations. Le plus subtil est que ce programme peut être appelé à distance sans la présence physique de l'attaquant (on parle de "remote exploit"), mais il peut également être en local sur le système (on parle de "local exploit"). Les vers sont des exemples de codes malveillants exploités à distance et programmés pour se diffuser automatiquement, en employant comme vecteur de diffusion un ordinateur.

Cela peut être vos logiciels, vos systèmes d’exploitation quels qu’ils soient (MAC, Windows, Linux), les interfaces,  et aussi les pilotes (drivers) de vos ordinateurs ; il y a plein de petits logiciels « exécutables » qui sont là pour assurer le bon fonctionnement de votre ordinateur. Par exemple prenons l'une des vulnérabilités souvent citées en référence, le cas de ce petit programme Windows destiné à piloter votre imprimante ; il s'appelle "spoolsv.exe". Pourtant, quand un virus vous a attaqué, ce petit programme a été substitué par un autre, c'est un leurre mis en place pour surveiller et voir vos données confidentielles telles que vos mots de passe, vos actions effectuées sur le serveur… Ce petit logiciel est exécuté de façon naturelle par votre système pour piloter  votre ordinateur et votre imprimante. Comme ce code garde la même apparence pour pouvoir s'exécuter normalement, il n'y a aucune raison que les mécanismes de protection de votre système le stoppent ou en restreignent l'exécution. Lorsque l'attaquant a réalisé cet exploit, il a remplacé les instructions de base par les siennes pour qu'elles permettent de détourner vos données ; le petit code malveillant a gardé le même nom, il peut ainsi vous espionner en continu sans besoin d'action d’exécution de votre part.

Comme le système d'exploitation, les administrateurs  voient l'exécution de ce code comme quelque chose de légitime ; le seul fait visible est que ce « backdoor »  peut prendre 99 % de vos ressources CPU (le processeur est occupé en permanence) ! À ce stade, on est en devoir de surveiller tous les composants du système d’information susceptibles de porter ces vulnérabilités.

Un référentiel mondial pour identifier les vulnérabilités

Lorsqu’une faille est détectée, on dit qu’il s’agit d’une « 0 Day » ; cela signifie qu’elle n’a pas encore fait l’objet de publications ou de correctifs par les constructeurs. Elle est alors particulièrement dangereuse, car les impacts et la façon dont elle contribue au mode opératoire de l'attaquant sont connus.

Exemple
Type de bulletin de diffusion d'une vulnérabilité émise par un CSIRT (Computer Security Incident Response Team) ou CERT/CC (Computer Emergency Response Team).

Mais comment sont gérées ces vulnérabilités ?

Toutes les vulnérabilités de tous les systèmes (matériels, logiciels…) sont référencées dans une banque mondiale des vulnérabilités  appelée CVE (Common Vulnerabilities and Exposures), lancée par le MITRE en 1999 dans le cadre d'un effort communautaire soutenu par le département de la Sécurité intérieure des États-Unis (DHS/Department of Homeland Security). Depuis 2005, le NIST (National Institute of Standards and Technology) met à disposition une base de données nationale des vulnérabilités (NVD), puissante, entièrement synchronisée avec la liste CVE, afin que toute mise à jour de CVE apparaisse immédiatement via une plateforme où chaque CVE est décrite.

Il y a 93 organisations en décembre 2018 qui participent à la maintenance de ces vulnérabilités ; on trouve parmi elles des éditeurs et vendeurs de logiciels, des Bug Bounty Programs, des entreprises privées, des laboratoires de recherche et des industries autour de ces centres opérationnels de sécurité (SOC : Security Operations Center). Plus couramment, nous verrons que ces centres s'appellent des CERT (Computer Emergency Response Team) ou des CSIRT (Computer Security Incident Response Team). On peut noter les "Bug Bounty Programs" qui sont des challenges soutenus par des chercheurs et aussi par les éditeurs  logiciels, en vue d'améliorer en continu la qualité logicielle, de découvrir, décrire et expliquer des bugs avant qu'ils ne soient exploités de façon malveillante. On a toute une catégorie d’acteurs qui sont derrière la gestion de ces vulnérabilités pour vous tenir informés ;  les entreprises sont impliquées au niveau mondial sur la maintenance de cette base de données.  Sur ces 93 autorités habilitées à définir les CVE, 60 sont d'origine nord-américaine, 1 est française.

Dans la base de données CVE, on retrouve l’identifiant. Les CVE sont gérées aux États-Unis, ce qui explique le gros rond brun. Les CVE sont référencées par un numéro de CVE, par exemple : CVE-2018-1001 où CVE représente la base, 2018, l'année, et 1001, le numéro d’ordre de la vulnérabilité dans l’année.

Par exemple, le CVE-2017-0144 identifie une faille sur le protocole SMB,  l’une des dernières vulnérabilités à l'origine d'une attaque massive par ransomware (Wannacry),  ayant touché plus de 200 000 ordinateurs dans environ 100 pays, pour l'un des grands groupes automobiles français.

Les centres de sécurité opérationnels pour vous accompagner dans la gestion des vulnérabilités de votre SI

On voit que c’est toute de même assez technique pour pouvoir comprendre ces CVE, donc dois-je connaître toutes ces informations hyper techniques ?

Non ce n’est pas nécessaire car le CVE n’est qu’une référence qui est en relation avec les professionnels de la sécurité ; ils font tout le travail pour vous.

Ces centres sont des CISRT ou des CERT aux États-Unis. Pour information, ces centres de sécurité maintiennent des équipes qui vont vous permettre d’assurer votre niveau de sécurité en fonction d’éventuels contrats que vous aurez signé avec eux ; ce sont donc des sociétés de services externes, qui peuvent tout à fait être organisées de manière interne sur des sites suffisamment importants pouvant financer une équipe. L'ANSSI référence en France les prestataires de confiance auxquels vous pouvez vous adresser pour vous accompagner.

L'objectif de ces centres de sécurité est d'organiser les différentes formes de réaction aux incidents informatiques et de permettre la mise en place des remédiations qui en découlent. Ensuite, ces CERT sont pour la plupart publics ; certains sont souverains pour les administrations, comme le cas de l’ANSSI qui depuis plusieurs années a déployé son propre CERT. Enfin, il peut y avoir des CERT privés pour des entreprises, appelés des CSIRTcommerciaux, qui proposent des services de veille, de réponse à un incident, ou d’investigations Forensic à leurs clients.

Les bonnes pratiques de sécurité pour la gestion des mises à jour logicielles

Les bonnes pratiques vous conduisent à faire cette 1re organisation, mais êtes-vous responsable dans l’exploitation de ces failles ? Votre part pour l’éviter est-elle importante ? Devez-vous vous reposer sur les sites officiels pour vous accompagner ?

Oui les 3 réponses sont vraies ! Vous êtes responsables si vous ne mettez pas à jour vos logiciels, à partir du moment où les mises à jour sont disponibles. Vous pouvez avoir même une application légale si vous conduisiez un attaquant à se servir de vos systèmes pour se tenir sur des systèmes tiers. Votre part pour éviter ces attaques est très importante, puisqu’il vous suffit d’adopter l’organisation présentée précédemment pour les mises à jour, et vous pouvez même vous garantir de la façon que l'on a vue tout à l’heure via un VPN de vous reposer sur des sites officiels qui vont vous accompagner.

La description des bonnes pratiques indique également qu’il faut pouvoir détecter et vous alerter de ces mises à jour. Donc, les outils que vous avez utilisés pour mettre à jour vos postes de travail ou serveurs doivent vous permettre de diffuser des alertes, et éventuellement de mutualiser plusieurs postes de travail et d’appliquer les mises à jour régulièrement. Vous allez définir une politique de sécurité qui va être passée avec un externe, dans le cas où vous souscrivez un abonnement à des CSIRT. Vous allez mettre en place des mesures de protection des systèmes d’exploitation, des logiciels et des équipements ; il faudra donc pour la dernière recommandation configurer les logiciels pour la mise à jour automatique, télécharger les correctifs de sécurité disponibles au moment où ils sont publiés et en vous assurant que vous êtes bien sur l’éditeur de logiciel.

Téléchargez et déployez vos mises à jour en toute sécurité

Afin de s'assurer que les mises à jour qui proviennent de sites des éditeurs externes à l'entreprise ne viennent pas de sites pirates désirant mettre à jour vos logiciels de façon erronée, l’administrateur de sécurité met généralement en place un canal sécurisé entre l'éditeur et ses machines pour déployer ces mises à jour,  il s'agit d'un serveur proxy qui va être le seul à être connecté sur les serveurs des mises à jour (les serveurs des mises à jour peuvent être des éditeurs d’antivirus ou des systèmes d’exploitation comme Apple, Microsoft… ou d’applications particulières).

Ces éditeurs vont mettre à votre disposition des fichiers sources, et généralement vous allez avoir une clé VPN chiffrée qui s’établit entre votre serveur proxy et la source ; ensuite, des clés de chiffrement que vous allez changer régulièrement. En utilisant ce moyen, vous allez garantir l’authenticité des sources.

Tenez-vous informé de toutes ces vulnérabilités

Donc, ai-je intérêt à travailler avec un CERT ou un CSIRT et si oui, comment faire ? Si vous êtes en responsabilité de la sécurité informatique de votre entreprise, vous avez intérêt à vous mettre en relation avec un CERT ou un CISRT.

Il y a plus de 320 CERT aujourd'hui qui sont déployés en Europe, et plus d’une trentaine en France.

La collaboration avec ces centres de sécurité est obligatoire pour certaines entreprises ; par exemple les opérateurs d’importance vitale vont devoir passer par un CSIRT interne ou externe. Dans le cas d’un CSIRT externe, généralement le modèle économique se traduit par un abonnement mensuel ou annuel. Vous n’êtes pas obligés d’être abonnés à un CSIRT-CERT, vous pouvez déjà mettre en place, si vous êtes une petite entreprise, une petite équipe pour organiser les mises à jour de vos antivirus (ce qui est fondamental), de vos logiciels et de vos systèmes d’exploitation. Mais attention, ces sites de mises à jour que vous consultez peuvent également à leur tour être infectés de « backdoors » ; comment vous assurer que le site où vous allez chercher des mises à jour ne va pas entraîner une attaque ? Il est évident que vous ne pouvez pas vérifier le code source de chaque mise à jour, mais si vous êtes responsable de la sécurité informatique, il vous revient de mettre en place un processus de mise à jour via, par exemple, des VPN avec votre fournisseur.

Appliquez la mise à jour à un IOT

Les objets connectés sont-ils vulnérables ? Doivent-ils se mettre à jour ?

Bien évidemment, les recommandations traitées précédemment s’appliquent plus que jamais aux objets connectés : les lignes de code sont encore plus exposées pour ces petits objets, souvent "bon marché", donc bien souvent moins bien testés du point de la qualité logicielle mais également de la sécurité !

Ces petits objets sont particulièrement vulnérables de par la mobilité qu’ils entraînent, mais également l’embarquement des logiciels et des systèmes d’exploitation. Bien souvent ces produits sont peu matures, ils ont connu un déploiement massif sur le marché. Mais il y a un autre aspect très important, c’est qu’ils ont été développés par des entités bien souvent différentes de celles des systèmes d’exploitation pour votre PC ou vos serveurs, ce qui a introduit d’autres vulnérabilités (pas forcément les mêmes que celles d’avant) qu’il faut également surveiller. En conclusion, on peut souligner que la majorité des attaques exploitent une vulnérabilité via un objet connecté.

Cela augmente la tâche de l’administrateur de sécurité : il y a une multitude de vulnérabilités parce qu’il y a une multitude d’objets connectés, avec parfois des systèmes d’exploitation ou des applications propriétaires ; il faudra donc bien garder la même attention. Cependant, il est parfois difficile de mettre à jour ces objets connectés, car certaines mises à jour demandent un arrêt total dans leur fonctionnement ; ce qui n’est pas toujours simple dans le cadre de la mobilité. Les clés USB sont un exemple très frappant de ces vulnérabilités et difficultés de gestion.

Pour conclure, la menace lors de la mise à jour logicielle peut être importante, c'est un moyen potentiel de s'infiltrer ; ne pas faire les mises à jour vous expose à bien plus de déboires.

Il faut donc gérer attentivement ces mises à jour, les bonnes pratiques ci-après vous conseillent, prenez acte de vos éditeurs de logiciels et si vous êtes un chef d'entreprise éclairé, que vous avez un SI à gérer, n'hésitez pas à vous faire accompagner par des professionnels !

Exemple de certificat de réussite
Exemple de certificat de réussite