Couverture
Sécurisez vos codes

MISC Hors-série N°
Numéro
30

Temporalité
Octobre/Novembre 2024
Image v3
Sécurisez vos codes
Article mis en avant

Résumé

La sécurité des codes… En voilà un sujet fourre-tout où n’importe quel article de MISC trouverait sa place ! Pour apporter une petite touche personnelle, et faire un petit clin d’œil à mon héritage familial, j’ai choisi de prendre un axe historique pour la constitution de ce dossier.

Édito

Magazine
Marque
MISC
HS n°
Numéro
30
Mois de parution
octobre 2024
Résumé

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 !

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

Magazine
Marque
MISC
HS n°
Numéro
30
Mois de parution
octobre 2024
Spécialité(s)
Résumé

Le but de cet article est de mettre en lumière les RFC 9421 et 9530 qui normalisent la signature des requêtes/réponses HTTP. Ces normes autorisent à améliorer grandement la sécurité des appels REST afin de garantir l’intégrité, la non-répudiation et la provenance des réponses.

Lala langue

Magazine
Marque
MISC
HS n°
Numéro
30
Mois de parution
octobre 2024
Spécialité(s)
Résumé

C, C++, Python, ADA, Ruby, Java, Rust, MISRA-C, Swift et j’en passe. Autant de noms de langages qui se voient associés pour leur plus grand bien ou pour leur malheur à la question de la sécurité. Ou de la sûreté. Ou les deux. En cinquante ans, les besoins ont évolué et avec eux les contraintes auxquelles les développeurs — et donc les langages qu’ils utilisent — sont soumis. Petite rétrospective à travers différents langages qui ont, ou ont eu, leur heure de gloire.

Ça déborde là, non ?

Magazine
Marque
MISC
HS n°
Numéro
30
Mois de parution
octobre 2024
Spécialité(s)
Résumé

Les integer overflow ou wraparound, ou CWE-190 pour les intimes, sont une vulnérabilité présente en programmation depuis des décennies. Elle se produit lorsqu’une opération arithmétique tente de créer une valeur numérique supérieure à la valeur maximale ou inférieure à la valeur minimale pouvant être représentée dans l'espace de stockage alloué pour un type de données entier. Elle « déborde ».

Attention : pointeur libéré !

Magazine
Marque
MISC
HS n°
Numéro
30
Mois de parution
octobre 2024
Spécialité(s)
Résumé

Ou plus spécifiquement, ne déréférencez en aucun cas un pointeur après un free ! Facile ? L'utilisation de pointeurs après leur libération (Use After Free) fait toujours aujourd'hui partie du top 5 des vulnérabilités listées par MITRE (https://cwe.mitre.org/top25/archive/2023/2023_top25_list.html). Avec des conséquences qui peuvent aller du crash de l'application à l'exploitation de la vulnérabilité induite par un attaquant, et, au final, avoir un impact sur votre réputation ou vous coûter beaucoup d'argent ! Dans cet article, nous verrons quelques cas dont il faut se méfier, comment les Use After Free constituent des vulnérabilités qui peuvent être exploitées par des attaquants, et surtout les mesures à mettre en place pour les éviter autant que possible.

Des soucis à la chaîne

Magazine
Marque
MISC
HS n°
Numéro
30
Mois de parution
octobre 2024
Spécialité(s)
Résumé

L’histoire, ou plutôt l’Histoire, est une coquine. Et quand Dennis Ritchie et Ken Thompson inventent le langage C en 1972, ils prennent une décision anodine, une micro-optimisation qui fait gagner quelques octets, mais qui aura un impact important sur la sécurité de nombreux systèmes : en C, les chaînes de caractères sont terminées par un octet positionné à zéro.

Un problème systémique

Magazine
Marque
MISC
HS n°
Numéro
30
Mois de parution
octobre 2024
Spécialité(s)
Résumé

La fonction system(3), disponible dans la bibliothèque C standard et standardisée dès C89, est symptomatique d’une époque où la sécurité n’était pas la priorité des développeurs. La lecture de sa page de manuel est pleine d’avertissements, qui sont autant d’enseignements potentiels. Allez, c’est parti, man 3 system.

Garder ses parties privées

Magazine
Marque
MISC
HS n°
Numéro
30
Mois de parution
octobre 2024
Spécialité(s)
Résumé

Il y a 19 ans, Ulrich Drepper, alors développeur chez Red Hat et un des contributeurs principaux de la glibc, ajoutait au changelog de la glibc la ligne suivante : sysdeps/i386/bsd-_setjmp.S: Use PTR_MANGLE for PC if defined, inaugurant ainsi l’arrivée de la protection des pointeurs de fonction stockés dans des structures internes à la glibc.

Smash Bros

Magazine
Marque
MISC
HS n°
Numéro
30
Mois de parution
octobre 2024
Spécialité(s)
Résumé

En 1996, Aleph One publiait dans l’e-zine Phrack un article intitulé « Smashing the Stack for Fun and Profit ». C’était il y a plus de 25 ans et les principes énoncés dans cet article sont toujours valides, même si leur exploitation est devenue plus technique.De manière plus conventionnelle, l’écriture dans une zone mémoire non-autorisée est un vecteur d’attaque classique connu sous le doux nom de CWE-787.Dans cet article, on se concentrera sur les attaques ciblant la pile, en détaillant quelques bugs classiques, leur exploitation historique et quelques contre-mesures qui ont été mises en place au fil du temps.

Rien de secret dans la mémoire

Magazine
Marque
MISC
HS n°
Numéro
30
Mois de parution
octobre 2024
Spécialité(s)
Résumé

En 2014, un groupe de chercheurs en sécurité a découvert une vulnérabilité dans l’extension du Heartbeat TLS dans OpenSSL : elle permettait de révéler jusqu’à 64 Ko de mémoire du processus. Ce bug, connu sous le nom de Heartbleed, était le résultat d'une erreur de programmation assez courante, mais difficile à repérer, ce qui permettait de lire en dehors des limites d’un tampon.Les lectures en dehors des limites du tampon (ou out-of-bound read) permettent de divulguer des informations privées et aussi de rendre fiable l’exploit d’autres vulnérabilités.Dans cet article, on parlera des cas typiques de ce bug, des contre-mesures classiques et de leur contrepartie en vulnérabilité hardware.

Pointer Authentication Code (PAC)

Magazine
Marque
MISC
HS n°
Numéro
30
Mois de parution
octobre 2024
Spécialité(s)
Résumé

Le combat pour rendre l’exploitation de bugs passe entre autres par rendre la réutilisation de code de plus en plus difficile. Pointer Authentication Code (PAC) est une extension apparue avec l’architecture ARMv8.3 en mars 2016 et qui va dans ce sens. Elle est notoirement utilisée dans tous les appareils récents de la marque Apple. Regardons comment cette extension rend effectivement la vie des attaquants plus complexe.

PTrace me if you can

Magazine
Marque
MISC
HS n°
Numéro
30
Mois de parution
octobre 2024
Spécialité(s)
Résumé

Quand il est question d'identifier les différentes techniques qu'un attaquant peut mobiliser pour contrôler un processus ou en extraire des données, il est intéressant de mentionner ptrace(2). Rien de révolutionnaire ici, étant donné que cet appel système est présent depuis UNIX version 6 [1]. Pour ainsi dire : une éternité. Néanmoins, cet appel système fournit tous les outils nécessaires à une attaque s’il est utilisable, il est donc important de le connaître, d’en connaître ses limites et de savoir s’en prémunir au besoin.

Rootkit et DLL Hijacking

Magazine
Marque
MISC
HS n°
Numéro
30
Mois de parution
octobre 2024
Spécialité(s)
Résumé

« Pour être efficace, il faut cacher ses intentions. » (N. Machiavel, 1527). Dans l’univers des malwares, il existe un type de menace spécifique dont le but est entre autres de dissimuler sa présence afin d'utiliser les ressources de la machine infectée : les rootkits. Une des nombreuses techniques sous-jacentes est le DLL hijacking.

Fileless malware : comprendre et mitiger les attaques

Magazine
Marque
MISC
HS n°
Numéro
30
Mois de parution
octobre 2024
Spécialité(s)
Résumé

Le jeu du chat et de la souris : c’est ce qui résume le plus le combat que mènent les analystes contre les cybercriminels, où chaque partie cherche à devancer l’autre : sauf que les attaquants ont souvent (toujours ?) une longueur d’avance. Dans ce contexte, diverses techniques sont utilisées par les attaquants pour éviter de se faire détecter. Parmi elles, la menace des fileless malware plane : ils posent un défi majeur pour la cybersécurité. Cet article explore les techniques d’infection, les méthodes de détection, et fournit des conseils pratiques pour renforcer la défense des infrastructures informatiques.

Tous les numéros standards
Tous les numéros
Janvier/Février 2026
La sécurité des claviers et des souris sans fil
Novembre/Décembre 2025
Créez votre plateforme de Threat Intelligence !
Septembre/Octobre 2025
GitHub & la sécurité des plateformes DevOps
Juillet/Août 2025
Exploiter Chromium lors d’un pentest
Mai/Juin 2025
Sécurité du framework Laravel : Comment une simple clé peut-elle compromettre la sécurité de vos applications ?
Mars/Avril 2025
Ingénierie sociale 2.0 : quand l’IA arme les cybercriminels
Janvier/Février 2025
Intégrez les exigences du Cyber Resilience Act dans vos cycles DevSecOps
Novembre/Décembre 2024
Sécurité des outils d’administration à distance : quelles menaces & solutions ?
Septembre/Octobre 2024
Sécurité des hyperviseurs : surfaces d’attaques et vulnérabilités
Juillet/Août 2024
Techniques de contournement des EDR
Mai/Juin 2024
Déployer aisément AppLocker en liste de blocage
Mars/Avril 2024
Exploitation des mécanismes de cache http
Janvier/Février 2024
IA & Analyse de filtrages réseaux par apprentissage automatique
Novembre/Décembre 2023
Introduction pratique aux attaques par canaux auxiliaires
Septembre/Octobre 2023
Active Directory CS : quand la configuration est votre pire ennemie !
Juillet/Août 2023
Sécurité de KeePass & techniques d’extraction des secrets
Mai/Juin 2023
Bug Bounty - Quand les hackers deviennent chasseurs de primes !
Mars/Avril 2023
USB - Votre pire ennemi ? Un vecteur d’attaque souvent négligé…
Janvier/Février 2023
Web 2023 - Les nouvelles surfaces d’attaques !
Novembre/Décembre 2022
Objets connectés : Quels risques pour votre système d’information ?
Septembre/Octobre 2022
Patch management - Améliorer les processus de mise à jour de sécurité
Juillet/Août 2022
Adopter le DevSecOps - Intégrer la sécurité dans votre production informatique
Mai/Juin 2022
Sécurité & langages de programmation
Mars/Avril 2022
Gestion de parc : Active Directory - Est-il toujours la solution incontournable ?
Janvier/Février 2022
Outils et méthodes pour l’analyse et la réponse à incident
Novembre/Décembre 2021
Techniques d’OSINT à l’usage des honnêtes gens
Septembre/Octobre 2021
Sécurisez votre production informatique
Juillet/Août 2021
EDR : Quel apport pour la sécurité de votre parc ?
Mai/Juin 2021
Tour d’horizon de la sécurité de la 5G
Mars/Avril 2021
Puces sécurisées : À la découverte de la sécurité matérielle
Janvier/Février 2021
ARM & Sécurité
Novembre/Décembre 2020
Sécurité de l'orchestrateur Kubernetes
Septembre/Octobre 2020
Télétravail : comment ne pas sacrifier la sécurité ?
Juillet/Août 2020
Zero Trust : avenir de la sécurité ou chimère marketing ?
Mai/Juin 2020
Outils Python pour la recherche et l'exploitation de vulnérabilités
Mars/Avril 2020
Sécurité des navigateurs web : où en sommes-nous ?
Janvier/Février 2020
Ransomwares : état de la menace
Novembre/Décembre 2019
Éprouver la sécurité des applications mobiles
Septembre/Octobre 2019
Sécurité des environnements cloud Amazon Web Services
Juillet/Août 2019
Masquez vos attaques pour bien réussir vos missions Red Team
Mai/Juin 2019
Pentest Windows : outils & techniques
Mars/Avril 2019
Durcissement de la sécurité des systèmes GNU/Linux
Janvier/Février 2019
Sécurité des applications web
Novembre/Décembre 2018
Supervision : retours d'expériences autour des SIEM
Septembre/Octobre 2018
Environnements d'exécution sécurisés : de SGX à TrustZone
Juillet/Août 2018
Authentification : enfin la fin des mots de passe ?
Mai/Juin 2018
Meltdown, Spectre, Cryptanalyse : comprendre le fonctionnement des attaques par canaux auxiliaires !
Mars/Avril 2018
Blockchain : un réel progrès pour la sécurité ?
Janvier/Février 2018
Docker : quelle sécurité pour les conteneurs ?
Novembre/Décembre 2017
CERT, CSIRT et SOC en pratique : comment s’organiser et quels outils mettre en place
Septembre/Octobre 2017
Wikileaks et les Shadow Brokers
Juillet/Août 2017
Exploration des techniques de Reverse Engineering
Mai/Juin 2017
Smart Cities : comment protéger les villes intelligentes ?
Mars/Avril 2017
Telegram, Signal, WhatsApp : quelle confiance leur accorder ?
Janvier/Février 2017
Pub & Internet : le nouvel arsenal des publicitaires
Novembre/Décembre 2016
Web : quelles évolutions pour la sécurité ?
Septembre/Octobre 2016
Social Engineering : découvrez les techniques de manipulation et apprenez à les déjouer
Juillet/Août 2016
Quelle sécurité pour l'Internet des Objets ?
Mai/Juin 2016
Tests d'intrusion internes : attaques et contre-mesures
Mars/Avril 2016
Disaster Recovery : outils et organisation
Janvier/Février 2016
IPv6 : 10 ans après !
Novembre/Décembre 2015
Protégez vos codes à tous les niveaux
Septembre/Octobre 2015
Vie privée sur le Web : souriez, vous êtes tracés !
Juillet/Août 2015
Windows : quelle sécurité pour le plus populaire des OS ?
Mai/Juin 2015
APT : Advanced Persistent Threats
Mars/Avril 2015
Navigateurs web : quels mécanismes pour renforcer leur sécurité ?
Janvier/Février 2015
Sécurité des moyens de paiement
Novembre/Décembre 2014
Sécurité du Cloud : peut-on confier son infrastructure à un tiers ?
Septembre/Octobre 2014
Les objets connectés : de nouveaux usages partout, la sécurité nulle part ?
Juillet/Août 2014
Les réseaux industriels : découvrir leur fonctionnement, comprendre leurs vulnérabilités !
Mai/Juin 2014
Confrontez-vous aux meilleurs : mesurez vos compétences grâce aux challenges de sécurité !
Mars/Avril 2014
Comprendre le déni de service pour mieux le prévenir
Janvier/Février 2014
SSL & TLS : la crypto peut-elle nous protéger ?
Novembre/Décembre 2013
Big Data quand la taille compte !
Septembre/Octobre 2013
Supervisez la sécurité de votre système d'information !
Juillet/Août 2013
Télévision & téléphonie : la sécurité ultra-connectée
Mai/Juin 2013
Apple & Mac ou la face cachée de la pomme...
Mars/Avril 2013
Bring Your Own Device... ou l'histoire d'une bombe à retardement !
Janvier/Février 2013
Les fleurs du MALware
Novembre/Décembre 2012
Firewall : Grande muraille de Chine ou ligne Maginot ?
Septembre/Octobre 2012
Sécurité Android
Juillet/Août 2012
Sécurité des applications sous Linux
Mai/Juin 2012
Sécurité des bases de données
Mars/Avril 2012
Cloud Computing et sécurité : une difficile cohabitation ?
Janvier/Février 2012
Ingénierie sociale sur Internet : quand le Web devient un outil d'influence et de leurre
Novembre/Décembre 2011
Sécurité et architecture PC : l'impossible confiance ?
Septembre/Octobre 2011
Sexe, drogue et sécurité informatique
Juillet/Août 2011
Forensics : les nouveaux enjeux
Mai/Juin 2011
Au coeur des technologies sécurité de Microsoft
Mars/Avril 2011
Anonymat sur Internet : risque ou nécessité ?
Janvier/Février 2011
La sécurité du Wi-Fi : des paroles en l'air ?
Novembre/Décembre 2010
4 outils indispensables pour tester votre sécurité !
Septembre/Octobre 2010
Sécurité des OS mobiles
Juillet/Août 2010
La sécurité des jeux
Mai/Juin 2010
Vulnérabilités Web et XSS
Mars/Avril 2010
Comment se protéger contre la peste SPAM ?
Janvier/Février 2010
La lutte antivirale, une cause perdue ?
Novembre/Décembre 2009
Construisez et validez votre sécurité
Septembre/Octobre 2009
La sécurité de Java en question !
Juillet/Août 2009
Compromissions électromagnétiques
Mai/Juin 2009
La sécurité des Web Services
Mars/Avril 2009
La virtualisation : vecteur de vulnérabilité ou de sécurité ?
Janvier/Février 2009
La cybercriminalité... ou quand le net se met au crime organisé
Novembre/Décembre 2008
Sécurité des réseaux : les nouveaux enjeux
Septembre/Octobre 2008
Fuzzing : injectez des données et trouvez les failles cachées
Juillet/Août 2008
Codes malicieux : quoi de neuf ?
Mai/Juin 2008
Déni de service : vos serveurs en ligne de mire
Tous les numéros hors-séries
Tous les numéros
Octobre/Novembre 2025
Pentest mobile : Nouvelles techniques d’audits & d’attaques
Juin/Juillet 2025
Sécurité automobile : Reverse, attaques & protections
Février/Mars 2025
Red Team : Nouveaux défis & nouvelles techniques 
Octobre/Novembre 2024
Sécurisez vos codes
Juin/Juillet 2024
Sécurité & Radiocommunications
Février/Mars 2024
Cyber Threat Intelligence
Décembre 2023/Janvier 2024
Spécial OSINT
Octobre/Novembre 2022
Cloud, le nouveau Far-West ?
Avril/Mai 2022
Survivre à une attaque de ransomware
Septembre/Octobre 2021
Reverse engineering : apprenez à analyser des binaires
Février/Mars 2021
Les fondamentaux de l'analyse forensique - Réponse à incident & investigation numérique
Octobre/Novembre 2020
Sécurité système & logiciel - Exploitation & contre-mesures
Juillet/Août 2020
Sécurité des réseaux TCP/IP
Octobre/Novembre 2019
Windows & Active Directory : attaques & contre-mesures
Février/Mars 2019
Comprendre les vulnérabilités de l'IoT
Novembre/Décembre 2018
Machine Learning & sécurité
Avril/Mai 2018
Recherche de vulnérabilités
Octobre/Novembre 2017
Sécurité des systèmes sans fil
Juin/Juillet 2017
Sécurité des objets connectés
Octobre/Novembre 2016
Apprenez à tester les vulnérabilités de vos systèmes et de vos serveurs grâce à Metasploit
Avril/Mai 2016
Cryptographie
Octobre/Novembre 2015
Tests d'intrusion
Juin/Juillet 2015
Outils de sécurité
Octobre/Novembre 2014
Réagir à une intrusion
Juin/Juillet 2014
Vulnérabilités et exploits
Octobre/Novembre 2013
Apprenez à protéger votre vie privée
Mai/Juin 2013
Le guide du Reverse Engineering
Novembre/Décembre 2012
Les mains dans la cryptographie
Avril/Mai 2012
Cryptographie : vos secrets sont-ils bien gardés ?
Octobre/Novembre 2011
À l'assaut du Web
Avril/Mai 2011
Petit traité de sécurité
Novembre/Décembre 2008
Cartes à puce : découvrez leurs fonctionnalités et leur limites
Octobre/Novembre 2007
Tests d'intrusion : comment évaluer la sécurité de ses systèmes et réseaux ?