Rechercher
Contactez-nous Suivez-nous sur Twitter En francais English Language
 











Abonnez-vous gratuitement à notre NEWSLETTER

Newsletter FR

Newsletter EN

Vulnérabilités

Se désabonner

Safe-Linking - La résolution d’un problème vieux de 20 ans rend l’exploitation de Linux plus difficile pour les pirates

mai 2020 par Check Point

Soyons réalistes, nous cherchons tous des moyens plus simples de faire les choses. Des raccourcis qui nous aident à faire notre travail plus rapidement et avec moins d’efforts. Les pirates ne sont pas différents. Pour lancer une attaque contre un logiciel ou un système, les pirates chercheront d’abord une vulnérabilité ou une faiblesse existante qu’ils pourront rapidement réussir à exploiter.

L’Institut national américain des normes et de la technologie (NIST) tient à jour une liste des vulnérabilités de tous les logiciels dans le monde, passés et présents. Fin 2019, la liste contenait plus de 136 000 vulnérabilités uniques : ce qui signifie qu’un pirate dispose de plus de 136 000 moyens possibles de compromettre presque tous les logiciels utilisés. Bien sûr, la grande majorité de ces vulnérabilités ont été corrigées. Mais pour certaines vulnérabilités qui existent depuis longtemps, il n’existe pas de solution facile.

Les attaques de corruption de la mémoire en sont un bon exemple. Elles sont souvent utilisées pour essayer d’exploiter des programmes fonctionnant sous Linux, le système d’exploitation libre le plus répandu au monde. Des programmes Linux sont au cœur de millions d’ordinateurs personnels, d’appareils Android, d’ordinateurs portables, de routeurs Internet, d’objets connectés, de téléviseurs intelligents, etc. Ils sont également utilisés pour créer des services web pour les banques mondiales, les plateformes boursières et les grandes compagnies aériennes. Depuis deux décennies, les programmes Linux sont vulnérables à ces attaques. Les pirates exécutent leur code malveillant une fois que la mémoire d’un système informatique est altérée ou modifiée, généralement dans des zones où le gestionnaire de la mémoire principale du programme (appelé « heap »), n’est pas robuste.

En février de cette année, Check Point Research a démontré comment des pirates pouvaient exploiter un réseau d’objets connectés (ampoules intelligentes et passerelle de contrôle) pour lancer des attaques sur les réseaux informatiques classiques de particuliers, d’entreprises ou même de villes intelligentes. Les vulnérabilités des ampoules intelligentes et de la passerelle Philips Hue (CVE-2020-6007) leur ont permis d’infiltrer les réseaux en déclenchant un débordement de tampon dans le « heap » du logiciel de la passerelle.

Safe Linking renforce la sécurité de la mémoire

Après avoir conclu cette étude sur la sécurité des ampoules intelligentes, nos chercheurs n’ont cessé de réfléchir à la vulnérabilité qu’ils venaient de mettre au point et d’atténuer (voir la vidéo de démonstration). Comme ils exploitent des vulnérabilités similaires dans Linux depuis des années, ils ont pensé qu’il devait sûrement exister un moyen d’aider la communauté mondiale à résoudre le problème sous-jacent.

Afin de mettre un terme à ce problème de longue date, nos chercheurs ont créé un mécanisme de sécurité pour protéger la structure interne du « heap » contre les manipulations. Ils l’ont appelé « Safe-Linking ».

Safe-Linking utilise le caractère aléatoire d’un mécanisme de sécurité qui est maintenant largement déployé dans la plupart des systèmes d’exploitation modernes, appelé ASLR (distribution aléatoire de l’espace d’adressage). ASLR choisit de manière aléatoire une adresse de base à laquelle un programme est chargé, ce qui oblige les pirates à deviner les adresses mémoire correctes, ou utiliser une vulnérabilité supplémentaire très spécifique.

En d’autres termes, Safe-Linking supprime les données d’adresse du programme, de sorte que les pirates ne peuvent plus déterminer avec certitude où le programme est chargé dans la mémoire du système. Il est donc beaucoup plus difficile d’exploiter un programme.

Cette atténuation spécifique permet de bloquer plusieurs vulnérabilités majeures que nous avons étudiées au fil des ans, transformant des logiciels « cassés » en produits « inexploitables ». Dans le cas de notre étude sur les vulnérabilités des ampoules intelligentes, cela aurait permis de bloquer l’exploitation de la vulnérabilité et l’attaque.

Notre approche Safe-Linking a été présentée et intégrée avec succès dans les bibliothèques centrales et les environnements système les plus importants du système d’exploitation Linux. Ces bibliothèques sont les éléments de base des ordinateurs et d’Internet, et sont utilisées par presque tous les sites web, applications ou appareils existants aujourd’hui.

Safe-Linking n’est pas une solution miracle qui mettra fin à toutes les tentatives d’exploitation du « heap ». C’est toutefois un pas dans la bonne direction : En obligeant les pirates à disposer d’une vulnérabilité de fuite mémoire avant même de pouvoir commencer son exploitation, nous avons amélioré la sécurité et rendu les exploitations plus difficiles à mettre en œuvre. Cela permet de mieux protéger les utilisateurs à l’échelle mondiale.


Voir les articles précédents

    

Voir les articles suivants