Menu Fermer

Les vulnérabilités et failles logiciels sur Windows, IoT

Vous avez probablement entendu parler des vulnérabilités logiciels.
Parfois on peut aussi tomber sur le terme “failles logiciels“.

Cet article vous donne quelques explications et détails sur les vulnérabilités logiciels.
L’article aborde les vulnérabilités logiciels et les enjeux de sécurité qui en découlent.
Aucun information réellement technique ne sera donnée, le but étant de bien comprendre quelles sont les implications des failles logiciels.
En effet le monde des vulnérabilités et exploits et encore comprendre les implications.

Les vulnérabilités logicielles sur Windows, IoT

Qu’est-ce que les vulnérabilités logiciels ou failles de sécurité

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 doit fonctionner.
Par exemple un logiciel à destination de Windows peut être écrit en Visual C++ Redistributable, .Net Framework, Java.
Pour une application WEB, divers langage existent : PHP, Ruby, Java, Python.

Bugs et comportements imprévus

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.
En effet 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.

Les vulnérabilités et les bugs de sécurité

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

Une vulnérabilité est donc un comportement imprévu d’une application qui pose des problèmes de sécurité.
Ainsi il existe plusieurs types de failles logiciels plus ou moins importantes et critiques.

  • L’accès aux données. Ce qui est assez critique pour un système d’information (récupération de la base clientes, données interne, etc)
  • L’élévation des privilèges. Un utilisateur standard utilise une vulnérabilité pour devenir administrateur.
  • Permettre des attaques par déni de service (DoS).
  • Enfin la plus critique étant la possibilité d’exécuter du code. Elles peuvent alors servir à pirater un site WEB ou infecter des PC en Windows.
Les vulnérabilités logicielles sur Windows, IoT

Vulnérabilités locales et distantes

On distingue ensuite les vulnérabilités locales, des vulnérabilités distances. Dans ce dernier cas, on peut l’exploiter depuis un ordinateur distant sans accès local à la machine ou intervention de l’utilisateur.

Au premier abord, on peut penser que cela ne nous concerne pas.
C’est faux.
En effet Windows possède de multiples services réseaux même pour un ordinateur grand public.
Par exemple le service RPC ou le serveur de fichiers qui permet le partage de ressources comme les fichiers ou imprimantes sont actifs par défaut.

En clair donc, cela concerne n’importe quel système d’exploitation qui possède des services réseaux : Windows, Linux ou Android.
Si des vulnérabilités sont présentes, elles peuvent permettre de pirater le système.
Beaucoup d’équipements réseaux sont en Linux et sont donc concernés. Plus largement, cela pose le problème des objets connectés IoT.

Les vulnérabilités à distante intéressent donc plus les pirates.
En effet, elles permettent de prendre le contrôle d’une machine ou de l’infecter.
Mais surtout les vers informatiques peuvent se répandre en les exploitant.
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 s’avère crucial.
Elle se base sur un filtrage réseaux pour ne pas que ces services ne soient pas accessibles.
C’est le rôle des firewall et pare-feu.
Enfin lorsque le PC sont derrières des box ou routeurs, ces services ne sont pas accessibles depuis internet.

Vulnérabilités 0-Day

Vous avez déjà entendu parler de vulnérabilité 0-Day ou failles logiciels zéro day.
Avant de détailler, il faut comprendre comment se passe la découverte de vulnérabilités.

Il existe des chercheurs en sécurité, soit indépendants, soit faisant parti de sociétés de sécurité.
Lors de la découverte d’une vulnérabilité, le chercheur contacte l’éditeur ou constructeur pour publier une mise à jour correctrice.

Le but étant de ne pas publier des informations sur la vulnérabilité, avant qu’un correctif ne soit disponible.
Sinon des cybercriminels vont utiliser la dite vulnérabilité découverte pour infecter des ordinateurs sans correctif.

Les exploits des failles logiciels

Un Exploit est un code pour exploiter une vulnérabilité connue ou non (0-day).
Un exploit peut seulement indiquer si l’exploitation d’une vulnérabilité fonctionne.
Cela 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 »

Vulnérabilités et vers informatiques

L’automatisation des exploitations de vulnérabilités à distante 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 : 

Blaster et Conficker

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

Pour palier à cela, Microsoft à partir du service pack 2 de Windows XP, à intégrer un pare-feu.
Ce dernier filtre notamment les connexions entrantes.
Ainsi il protège les services réseaux de Windows.
Au final le nombre de machines directement vulnérables est alors réduites.

Comprenez bien que cela permet simplement de ne pas exposer la machine. Mais celle-ci est toujours vulnérable tant qu’une mise à jour correctrice de Windows n’a pas été installée.
Si un malware désactive le pare-feu, le vers peut l’attaquer.
Il faut donc utiliser Windows Update, pour installer les mises à jour de sécurité.

Le fait aussi que les ordinateurs soient derrière un routeur/box, ne les rendent pas directement interrogeables depuis internet.
Ainsi cela permet de les prémunir des attaques par les vers.

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

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

Drive-By Download et Web Exploits

Parmi les vulnérabilités à distance, les navigateurs WEB ont été aussi pas mal touchés.
On nomme ces attaques les Web Exploit ou Drive-By Download.
Ceci a permis des infections massives d’utilisateurs Windows.

Le principe est simple : des plugins actifs sur navigateurs WEB possèdent des vulnérabilités.
Les attaquants piratent des milliers de sites ou diffusent des publicités malveillants qui redirigent vers un Web ExploitKit.
Ce dernier va exploiter des vulnérabilités connues afin de pouvoir faire télécharger et installer un virus sur l’ordinateur.
Tout ceci est automatique.

L’article suivant détaille ces attaques.

Vulnérabilités et 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é

Se protéger des vulnérabilités et failles de sécurité

Les contre mesure contre les vulnérabilités est simple, maintenir ses logiciels à jour.
En effet, l’éditeur de logiciel se doit de fournir une mise à jour correctrice de la vulnérabilité.
Par exemple 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.

Plus d’informations :

En ce qui concerne, les 0-Day, il peut arriver que l’on conseille de désactiver telle ou telle fonction en attendant que l’éditeur publie un correctif.
Se tenir au courant reste important.

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 :