Stack overflow : tout ce que la stack peut t'offrir
ret2win, ret2shellcode, ret2libc, frame faking, off-by-one, ret2dl_resolve... Un tour complet des Stack-based Control Flow Attacks avec la logique derrière chaque technique, pas juste les noms.
ret2win, ret2shellcode, ret2libc, frame faking, off-by-one, ret2dl_resolve... Un tour complet des Stack-based Control Flow Attacks avec la logique derrière chaque technique, pas juste les noms.
Panorama des techniques qui déclenchent un bug exploitable en amont d'un détournement de flow : large input, type confusion, integer overflow, format strings, race conditions, logic bugs, exécution symbolique et fuzzing.
PWN, ou Perfectly Owned : l'art de prendre le contrôle d'un programme exécutable. On pose la définition à notre sauce et on présente les deux grandes familles d'attaques que la série va décortiquer : Control Flow Attacks et Code Reuse Attacks.
Adressage virtuel comme facade au-dessus de la RAM physique, segmentation Intel via la table de segments, et strategies d'allocation cote kernel.
Architecture generale d'un OS : role du kernel, espaces utilisateur et noyau, types de kernels (monolithique, micro, hybride) et notion de modules systemes charges a chaud.
Le tcache (thread local cache) est arrivé avec glibc 2.26 : structures tcache_entry et tcache_perthread_struct, indexation par taille, et pourquoi free l'atteint avant les fastbins.
Les quatre familles de bins ptmalloc2 : fast bins (sans fusion), unsorted bin (DCLL pour la seconde chance), small bins (moins de 512 octets) et large bins triees par classes de taille.
Structure malloc_state au coeur des arenas ptmalloc2 : mutex, fastbinsY, top chunk, last_remainder, bins et binmap. Cas particulier de la main_arena et schéma multi-threadé via heap_info.
Anatomie d'un chunk ptmalloc2 : champs mchunk_prev_size et mchunk_size, bits NON_MAIN_ARENA / IS_MMAPPED / PREV_INUSE et chainage FD/BK pour les chunks liberes.
Presentation de ptmalloc2 (pthread malloc v2), l'allocateur de heap utilise par la glibc : raison d'etre de la heap face a la stack, et plan d'attaque pour comprendre chunks, arenas, bins et tcache.
Surface d'attaque des GPU : exploitation de la mémoire partagée (CVE-2016-2067), DMA via IOMMU, absence d'ASLR sur la heap GPU, fuites par registres non remis à zéro et impact sur le framebuffer.
Pipeline IFL/IIL/RASL, divergence de flow et SIMT stack, SIMT deadlock, ordonnancement des warps, Operand Collector : tout ce qui se passe vraiment a l'interieur d'un coeur SIMT moderne.