Les vulnérabilités logicielles sur Windows, IoT

Vous avez probablement entendu parler des vulnérabilités logicielles.
Cet article vous donne quelques explications et détails sur les vulnérabilités logicielles, que sont les vulnérabilités logicielles et les enjeux de sécurité qui en découlent.
Aucun information réellement technique ne sera donnée, le but étant d’avoir plutôt un aperçu de ce qui existe, le monde des vulnérabilités et exploits et encore comprendre les implications.

vulnerabilite-securite-logo

Comprendre les vulnérabilités logicielles

Dans un premier temps, nous allons définir ce que sont les vulnérabilités.
Un logiciel est un programme informatique développé par des programmeurs ou développeurs.
Les logiciels sont écrits dans divers langages, selon le système d’exploitation sur lequel le logiciel devra fonctionner.
S’il s’agit d’un logiciel à destination de Windows, il peut être écrit en Visual C, .Net Framework, Java.
Pour une application WEB, divers langage sont aussi possible : PHP, Ruby, Java, Python.

Ces applications peuvent avoir des comportements imprévues qui mènent souvent à des plantages de celles-ci.
Sur Windows, on obtient le message :

« xxxx.exe a cessé de fonctionner
Windows recherche une solution au problème »

Exemple avec explorer.exe a cessé de fonctionner.

Les vulnérabilités logicielles sur Windows

Sur Linux, le programme se ferme avec un message SegFault.

Ce n’est pas parce qu’une application plante, que la source est un bug ou une mauvaise conception. Cela peut parfois être plus complexe est lié à l’environnement, étant donné que les applications peuvent utiliser des bibliothèques Windows ou liées au .Net Framework utilisés.

Lorsque le programme a des accès bas dans le système (pilotes, antivirus), le plantage peut rendre le système d’exploitation instable.
Sur Windows, cela se traduit par un arrêt complet et un écran bleus / BSOD.
Une réinitialisation de Windows est alors obligatoire.

Un autre type de comportements imprévus est la possibilité d’accès à des données or application ou pire la possibilité d’exécuter un code sur le système(shellcode).
En clair, un programme qui permettra aux cybercriminels de contrôler le système ou une partie du système ou de faire exécuter un logiciel malveillants.

Une vulnérabilité est un comportement imprévu d’une application qui pose des problèmes de sécurité.

L’accès aux données peut être des informations sur le système, version de logiciels, version de l’OS.
Des données relative à l’application, comme la liste des clients (nom, adresse email etc) ou des données utilisateurs de l’applications qui peuvent permettre de s’identifier dessus.
S’il s’agit d’un compte administrateur, on peut donc modifier la configuration ou installer des plugins supplémentaires, par exemple, dans le cas d’un CMS.

Les vulnérabilités logicielles sur Windows, IoT

Vulnérabilité locale et distante

On distingue ensuite les vulnérabilités locales, des vulnérabilités distances lorsqu’une vulnérabilité peut-être exploitées depuis un ordinateur distant sans accès local à la machine ou intervention de l’utilisateur.

Au premier abord, vous pourriez que vous n’êtes pas concernés et seule les serveurs le sont.
C’est faux. Windows possède de multiples services réseaux même pour un ordinateur grand public.
Notamment le service RPC ou le serveur de fichiers (qui permet le partage de ressources : fichiers/imprimantes etc) sont actifs par défaut.

En clair donc, n’importe quel système d’exploitation qui possède des services réseaux est concerné : Windows, Linux ou Android.
Si des vulnérabilités sont présentes, elles peuvent permettre de pirater le système.
Comme beaucoup d’équipements réseaux sont basés sur Linux, ils ont aussi concernés, plus largement les objets connectés IoT le sont aussi.
Enfin, les vulnérabilités visant les navigateurs WEB sont aussi concernées.

Les vulnérabilités à distantes sont donc les plus prisées puisqu’elles permettent de prendre le contrôle d’une machine ou de l’infecter.
En mai 2007, une campagne du ransomware Wana Decryptor a pu permettre d’infecter des milliers d’ordinateurs en une journée, plus d’informations : Wana Decryptor

La protection des services réseaux des systèmes d’exploitation, c’est à dire un filtra réseaux pour ne pas que ces services soient directement accessibles et notamment possible à travers l’utilisation d’un pare-feu.

Vulnérabilité 0-Day

Vous avez probablement déjà entendu parlé de vulnérabilité 0-Day.
Avant de détailler, ce que sont les vulnérabilités 0-Day.
Il faut comprendre comment les vulnérabilités sont découvertes.

En général, des chercheurs en sécurité, soit indépendants, soit faisant parti de sociétés de sécurité cherchent des vulnérabilités sur divers systèmes, logiciels etc.
Lorsque ces vulnérabilités sont découvertes, le chercheur ou la société contacte l’éditeur/constructeur afin qu’une mise à jour correctrice soit mise en ligne.
Le but étant de ne pas publier des informations sur la vulnérabilité, avant qu’un correctif ne soit disponible, sinon des cybercriminels pourraient utiliser la dite vulnérabilité découverte pour infecter des ordinateurs, serveurs etc sans que les utilisateurs/administrateurs réseaux puissent s’en protéger efficacement.

Il faut savoir, qu’en France, la loi régit ce type de recherche et publication, notamment la loi n°2013-1168 du 18 décembre 2013

Lorsque l’éditeur ou le constructeur prend connaissance d’une vulnérabilité, un bulletin de sécurité (Security Advisor) est publié avec les informations et notamment les versions du logiciel touchées ainsi que les corrections à apporter.

Exemple d’un bulletin de sécurité d’Adobe Flash : https://helpx.adobe.com/security/products/flash-player/apsb16-10.html

Les vulnérabilités logicielles sur Windows Les vulnérabilités logicielles sur Windows Les vulnérabilités logicielles sur Windows

ou encore un exemple de bulletin de sécurité de Microsoft : https://technet.microsoft.com/fr-fr/library/security/ms17-012.aspx

L’en-tête nous indique que cette vulnérabilité peut permettre l’exécution de code, c’est à dire de charger un malware sur l’ordinateur si elle est exploitée.

Les vulnérabilités logicielles sur Windows

Le bulletin de sécurité Microsoft donne un tableau de l’impact de la vulnérabilité selon les versions de Windows.
Ces impacts sont notés par degré, ainsi :

  • Vulnérabilité Important : par exemple l’élévation de privilège, un utilisateur standard peut devenir administrateur ou obtenir des permissions AUTORITE/NT ou encore un Déni de service
  • Vulnérabilité Critique : il s’agit généralement d’exécution de code à distance.

Les vulnérabilités logicielles sur Windows

l

 

Chaque éditeur a sa propre numérotation de bulletin de sécurité.
Néanmoins, il existe une numérotation commune à tous les éditeurs de logiciels.
Cette numérotation commence par CVE (Common Vulnerabilities and Exposures ). Des sites regroupent ces bulletins de sécurité : http://www.cve.mitre.org/cve/data_sources_product_coverage.html#coverage

Par le passé, des épisodes assez rocambolesques ont eu lieu.
La société Hack-Team spécialisé dans la vente d’outils d’espionnage et de surveillance à destination de gouvernements (souvent autoritaires), s’est fait piraté.
Celle-ci possédait une vulnérabilité 0-Day sur Adobe Flash, qui n’avait pas été communiqué à l’éditeur.
En clair, la société utilisait cette vulnérabilité découverte sur les logiciels qui permettait aux gouvernements de pirater les ordinateurs de leurs citoyens.

Enfin, des éditeurs de logiciels, ou de services internet peuvent lancer des « bugs bounty », c’est à dire des concours pour déceler des vulnérabilités.
Les récompenses peuvent aller à plusieurs milliers d’euros.

La recherche de vulnérabilités, l’exploitation des vulnérabilités est un business.

Les exploits en pratique

Un Exploit est un code prévu pour exploiter une vulnérabilité connue ou non (0-day).
Un exploit peut seulement indiquer si l’exploitation d’une vulnérabilité a fonctionné, ce qui permet à des administrateurs réseaux de tester leurs systèmes.
Dans le cas des cybercriminels, un exploit va tenter de chercher un code malicieux pour infecter le système visé.

Le mot exploit est anglophone et se prononce « explo-ï-te »

Vers informatiques

L’automatisation des exploitations de vulnérabilités à distantes par des logiciels malveillants est possible, on classe ces malwares dans la catégorie vers.
La caractéristique première étant leur capacité à s’auto-propager d’un système à l’autre de manière automatique, sans intervention de l’utilisateur.
Les vers envoient des requêtes sur le réseau pour infecter les ordinateurs ayant des services réseaux vulnérables.

Plus d’informations sur les vers informatiques : vers informatiques (worms) : description et fonctionnement 

Parmi les vers informatiques plus connus, on notera : Blaster ou Conficker.
Il s’agit donc de vers qui attaquent des services réseaux de Windows.

Pour palier à cela, Microsoft à partir du service pack 2 de Windows XP, à intégrer un pare-feu qui filtre notamment les connexions entrantes.
Ainsi les services réseaux ne peuvent être contactés directement, le nombre de machines directement vulnérables est alors réduites.
Comprenez bien que cela permet simplement de ne pas exposer la machine, celle-ci est toujours vulnérable tant qu’une mise à jour correctrice de Windows n’a pas été installée.
C’est d’ailleurs un des but premier de Windows Update, proposer des mises à jour de sécurité.

Le fait aussi que les ordinateurs soient derrière un routeur/box, ne les rendant pas directement interrogeables depuis internet permettent de prémunir l’infection directe.

Ci-dessous, un schéma qui récapitule les méthodes de propagation du vers Conficker dont :

Les vulnérabilités logicielles sur Windows utilisées par le ver Conficker

Les Web Exploits

Parmi les vulnérabilités à distance, les navigateurs WEB ont été aussi pas mal touchés, à partir d’attaque de type Web Exploit.
Ceci a permis des infections massives d’utilisateurs Windows.
Le principe est simple, des plugins actifs sur navigateurs WEB (Java, Flash, Adobe Reader) possèdent des vulnérabilités.
Les attaquants piratent des milliers de sites ou diffusent des publicités malicieuses qui redirigent vers un Web ExploitKit, ce dernier va exploiter des vulnérabilités connues sur ces plugins afin de pouvoir faire télécharger et installer un virus sur l’ordinateur. Tout ceci est automatique.


et cette vidéo tutoriel :

Les WebExploit ont surtout été très porteur de 2010 à 2014… avec notamment BlackHole Exploit puis Angler ExploitKit après l’arrestation du créateur de BlacHole.
Des milliers ont été infectés par ces méthodes avant que les éditeurs de navigateurs WEB (Mozilla, Google et Microsoft) prennent des mesures comme :

  • Bloquer les plugins non à jour et possédant des vulnérabilités.
  • Certains éditeurs ont abandonnés ou les éditeurs de navigateurs WEB ont décidé de remplacer certains plugins. Notamment Adobe Reader utilisait pour lire les PDF a été remplacé par des plugins natifs, même chose pour Adobe Flash. L’éditeur contrôle ainsi ces plugins (blocage, mise à jour).
  • HTML5 change pas mal la donne rendant certains plugins obsolètes (Flash pour les vidéos en streaming).
  • + des arrestations. Certains WebExploit Kit ayant une certaine notoriété sont morts, comme par exemple, Angler ExploitKit.

Les IoT

Les IoT (Internet des objets) sont de plus en plus présents.
Ces périphériques ne sont pas encore matures comme les ordinateurs et possèdent beaucoup de vulnérabilités.
Vous allez donc entendre de plus en plus parler de ces objets connectés qui vont poser de gros problèmes.
Actuellement, d’ailleurs, plusieurs botnet tirés de Mirai existent contrôlant des objets connectés.
Le contrôle d’ailleurs de ces objets ne tirent pas vraiment parti de vulnérabilités logiciels mais plutôt de mauvaises conceptions, comme par exemple, des mots de passe faibles (1234, admin etc) sur les comptes administrateurs.

Lire notre dossier sur la sécurité des IoT : Internet des objets (IoT) et sécurité

Réputation des éditeurs

La réputation des éditeurs est en jeu.
Un éditeur de logiciels qui, au fil du temps, est connu pour poser des problèmes de sécurité risque de connaitre l’aversion des utilisateurs avancés qui se répercutera aux utilisateurs non initiés.

C’est un peu ce qui est arrivé à Microsoft avec Windows, du temps des grands vers informatiques.
Microsoft a été pointé du doigt, lorsque Blaster a failli mettre à genoux tout l’internet.
Dans l’urgence, Microsoft a dû sortir le service pack 2 de Windows XP.

Depuis l’éditeur a pris en compte la sécurité, et tente d’améliorer Windows contre les virus informatiques.
Une des stratégies consiste à proposer un antivirus gratuit… avec un laboratoire derrière qui suit les évolutions des menaces informatiques.

Plus tard, Oracle et Adobe ont aussi été point du doigt, lorsque les Web Exploit ont été très utilisés pour diffuser des logiciels malveillants.
Comme cela a été évoqué dans le paragraphe précédent.

Les éditeurs/constructeur d’IoT vont très probablement suivre le même chemin.

Des statistiques par des sociétés de sécurités sont régulièrement publiés avec le nombre de vulnérabilités par éditeur.
Exemple : http://resources.flexerasoftware.com/web/pdf/Research-SVM-Vulnerability-Update-Oct2016.pdf

etude_nombre_vulnerabilites_editeurs etude_nombre_vulnerabilites_editeurs_2 etude_nombre_vulnerabilites_editeurs_3

En plus du nombre de vulnérabilités, il faut aussi prendre en compte le temps mis par l’éditeur pour proposer un correctif.

Contre-mesure

Les contre mesure contre les vulnérabilités est simple, maintenir ses logiciels à jour.
Pour Windows, c’est le job de Windows Update.
Pour les logiciels, chaque logiciel possède en général, ses gestionnaires de mises à jour.

A noter que des logiciels existent, capable de scanner l’ordinateur pour vous prévenir lorsque des logiciels ne sont pas à jour.
Certains logiciels sont répertoriés sur la page : Logiciels pour maintenir ses programmes à jour

En ce qui concerne, les 0-Day, il peut arriver parfois que des conseils sont donner, comme désactiver telle ou telle fonction en attendant que l’éditeur publie un correctif.
Se tenir au courant, à travers les sites d’informatique est la seule méthode pour être prévenu lorsqu’une vulnérabilité 0-day est publiée.

Conclusion

J’espère que cette page vous fera comprendre que la sécurité de votre ordinateur ne se résume pas à l’installation d’un antivirus.
Maintenir son environnement à jour : système d’exploitation, logiciels installés etc est une pierre importante à l’édifice.

Pour aller plus loin dans la sécurité, vous pouvez lire les autres pages du site consacrées à la sécurité : Virus/Sécurité
Pour sécuriser Windows : Comment Sécuriser son Windows

(Visité 903 fois, 1 visites ce jour)

Vous pouvez aussi lire...

Les Tags : #Windows10 - #Windows - #Tutoriel - #Virus - #Antivirus - #navigateurs WEB - #Securité - #Réseau - #Internet