Octobre / Novembre 2024

Misc HS 30

Sécurisez vos codes

Comprendre les failles pour limiter les vulnérabilités !

En savoir plus

14,59 € TTC

Anciens Numéros

LIVRAISON OFFERTE en France Métropolitaine à partir de 50€
Misc 143

Misc 143

Janvier / Février 2026
14,59 €
Misc 142

Misc 142

Novembre / Décembre 2025
14,59 €
Misc HS 33

Misc HS 33

Octobre / Novembre 2025
14,59 €
Misc 141

Misc 141

Septembre / Octobre 2025
14,59 €
Misc 140

Misc 140

Juillet / Août 2025
14,59 €
Misc HS 32

Misc HS 32

Juin / Juillet 2025
14,59 €
Misc 139

Misc 139

Mai / Juin 2025
14,59 €
Misc 138

Misc 138

Mars / Avril 2025
14,59 €
SOMMAIRE :


Web

p. 06   Je signe ou je tamponne ? Ni l’un ni l’autre, vous contresignez

Dossier : Sécurisez vos codes

p. 23   Introduction au dossier
p. 24   Lala langue
p. 36   Ça déborde là, non ?
p. 42   Attention : pointeur libéré !
p. 54   Des soucis à la chaîne
p. 60   Un problème systémique
p. 64   Garder ses parties privées
p. 66   Smash Bros
p. 72   Rien de secret dans la mémoire
p. 78   Pointer Authentication Code (PAC)
p. 90   PTrace me if you can
p. 98   Rootkit et DLL Hijacking

Malware

p. 102  Fileless malware : comprendre et mitiger les attaques

ÉDITO :

En regardant la liste des 25 failles les plus dangereuses éditées par MITRE chaque année, on ne peut qu’être frappé par la présence (ou la persistance) de thèmes bien connus : écriture illégale dans une zone mémoire, utilisation d’une zone mémoire désallouée, lecture illégale d’une zone mémoire, déréférencement de pointeur NULL, dépassement de la capacité d’un entier… Autant de sujets qui sont pourtant abordés dans les premiers chapitres de tout bouquin traitant de la sécurité logicielle. Ce qui n’en fait pas pour autant des sujets faciles dès lors que les considérations de base de code existant et de performances rentrent en compte. C’est compliqué l’optimisation multicritère !

Parce que oui, vérifier tous les accès mémoires à l’exécution, instrumenter toutes les instructions pour s’assurer de leur validité, s’exécuter dans un bac à sable, tout cela est déjà possible. Choix du langage, utilisation des bonnes options de compilation ou utilisation d’environnements d’exécution contraints, on sait durcir des programmes. Mais à quel prix ! Il y a un coût en temps d’exécution du programme, en énergie utilisée, en taille de programme… Et puis il y a un coût plus sournois, le coût du savoir-faire.

Et avant même de savoir faire, il faut… savoir. Être conscient du risque, de savoir que l’on entre dans une zone rouge. Savoir qu’un appel à system(3) demande de protéger ses entrées, que, non, l’ordre de déclaration de variables locales en C ne donne aucune garantie sur leur ordre dans la pile (histoire vécue). Il n’est en fait pas même nécessaire de savoir résoudre le problème : savoir que le choix d’un langage, d’une option de compilation ou d’une bibliothèque a un impact sur la sécurité d’un logiciel est déjà une étape.

Alors plutôt que de chercher des solutions (et puis soyons honnêtes avec nous-mêmes, si elles étaient simples, on peut imaginer qu’elles seraient déjà déployées depuis longtemps), on peut s’inspirer des étudiants peintres en Chine pour lesquels reproduire les toiles des grands maîtres est une façon noble d’apprendre le métier. Parcourir la liste des vulnérabilités les plus classiques, les comprendre, s’émerveiller de la candeur de certains programmes, être surpris par la simplicité de certaines attaques ou par l’astuce de certaines approches, voilà une approche humble, réjouissante et studieuse qui pourrait s’avérer fructueuse.

L’étape suivante sera bien sûr d’écrire un petit code pour reproduire une attaque, pour le frisson. Parce que smashing the stack for fun and profit, ça sonne comme une activité de week-end plutôt sympathique. Mais là, quel drame, rien ne marche ! Avertissements du compilateur, pile non exécutable, adresses aléatoires... de nombreuses contre-mesures sont en fait déjà déployées et rendent notre tâche d’apprentissage plus ardue.

Plus ardue, mais pas impossible, sinon le classement MITRE ne serait pas ce qu’il est. Incroyable : le monde avance et la sécurité des programmes progresse. Dans ce numéro, on se propose finalement une tâche un peu vaine, mais pas moins amusante : comprendre les fondements des attaques les plus classiques, tout en sachant pertinemment que ce n’est que le premier pas d’un long trajet.

Serge Guelton
nullptr – serge.guelton@telecom-bretagne.eu

La publication technique des experts de la sécurité offensive & défensive

Face à la transformation digitale de notre société et l’augmentation des cybermenaces, la cybersécurité doit être aujourd’hui une priorité pour bon nombre d’organisations. Après plus de 20 années de publications et de retours d’expérience, MISC apporte un vivier d’informations techniques incontournable pour mieux appréhender ce domaine. Précurseur sur ce terrain, MISC a été fondé dès 2002 et s’est peu à peu imposé dans la presse française comme la publication de référence technique en matière de sécurité informatique. Tous les deux mois, ses articles rédigés par des experts du milieu vous permettront de mieux cerner la complexité des systèmes d’information et les problèmes de sécurité qui l’accompagne.

Embarquez un peu de Lua dans vos projets C
GNU/Linux Magazine n°269

Soyons clairs, je ne suis pas fan de Lua en tant que langage de programmation. Le simple fait que les tableaux débutent à l'indice 1 me perturbe totalement et constitue pour moi une véritable aberration. Mais, d'un autre côté, Lua est aussi le langage par excellence lorsqu'il s'agit d'embarquer des fonctionnalités de scripting au sein d'une application ou d'un outil. Du moins, c'est ce que tend à montrer sa popularité dans ce domaine et, si l'on n’a jamais tenté l'expérience, on peut se demander pourquoi. La réponse est évidente après quelques lignes de code et on se surprend soi-même à dire, à haute voix qui plus est, « Ah ! Mais c'est excellent, en fait ! ».

NativePHP : développez des applications desktop en PHP !
GNU/Linux Magazine n°269

PHP, c'est bien connu, est un langage de script dédié aux traitements d'un serveur web. Mais n'est-ce bien que cela ? Avec NativePHP, la donne change, car il est maintenant possible de développer des applications pour GNU/Linux, Windows et macOS.

Les « tourments de la monopile », ou le « Single-Stack Syndrome »
GNU/Linux Magazine n°269

Si vous croyez que le format ASCIIZ (aussi appelé « chaîne de caractères à terminateur nul » à la base du langage C et d’UNIX) est le pire péché originel de l’informatique, accrochez-vous. Il est amplifié par un autre péché bien plus grave, commis au nom du minimalisme, excusé au nom de la compatibilité et perpétué par l’oubli des alternatives. Si vous avez lu l’article de mars 2023 [1] jusqu’au bout, vous avez probablement compris que la plupart des langages de programmation actuels n’utilisent qu’une seule pile. C’est la source de nombreux problèmes (de sûreté, de sécurité, de complexité et bien d’autres) aux origines de failles variées (représentant peut-être un cinquième des CVE) que nous sommes habitués à mitiger, sans les résoudre vraiment. Dans cette première partie lovecraftienne, nous irons jusqu’au fond de l’impasse pour démontrer l’absurdité, les difficultés et les dangers imposés par ce système.

Ce magazine est intégralement disponible sur Linux Magazine Connect
© 2026 - LES EDITIONS DIAMOND