// Comparaison

Practical Binary Analysis vs The Shellcoder's Handbook : lequel lire ?

Deux livres de cybersécurité sur Reverse Engineering, comparés honnêtement : à qui s'adresse chacun, ce que chacun fait de mieux, et lequel lire en premier.

Avancé
5/52018
Practical Binary Analysis

Build Your Own Linux Tools for Binary Instrumentation, Analysis, and Disassembly

Dennis Andriesse

Dennis Andriesse sur le toolchain binaire que vous pouvez réellement scripter : internals ELF, taint analysis dynamique, exécution symbolique et instrumentation avec des exemples concrets de code à suivre.

Avancé
4/52007
The Shellcoder's Handbook

Discovering and Exploiting Security Holes

Chris Anley, John Heasman, Felix Lindner, Gerardo Richarte

Texte fondateur sur l'exploitation par corruption mémoire sur Linux, Windows, Solaris et cibles embarquées. Antérieur aux mitigations modernes mais reste l'introduction canonique aux techniques que la toolchain actuelle est conçue pour contrer.

À lire si

Reverse engineers prêts à cesser d'être des clickers IDA et commencer à être des programmeurs qui se trouvent faire du RE. Andriesse couvre DBI (Pin), taint analysis (Triton) et exécution symbolique (angr) exactement au niveau dont un praticien a besoin pour les weaponiser.
Lecteurs déterminés à apprendre l'exploitation binaire sérieusement, après avoir terminé Hacking: The Art of Exploitation et qui veulent une référence multi-plateforme qui creuse plus profond.

À éviter si

Débutants RE qui n'ont pas encore fini Practical Reverse Engineering, ou lecteurs sans confort C et Python. Le livre suppose que vous savez déjà désassembler ; la valeur est dans la couche d'automatisation.
Quiconque attend les mitigations modernes (post-2010) ou les allocateurs heap actuels. Le livre précède l'application d'ASLR, le durcissement heap moderne, CFI, et tout l'arc de mitigations sur lequel le toolchain moderne est construit. Il enseigne les techniques que les systèmes modernes sont conçus pour neutraliser.

Points clés

  • Le RE moderne est du RE automatisé ; le livre est le pont entre l'analyse manuelle et le toolchain qui passe à l'échelle sur les gros binaires.
  • L'exécution symbolique est enfin accessible aux RE engineers en activité grâce à angr, et le cadrage d'Andriesse est ce qui fait cliquer pour la plupart des praticiens.
  • Les passes DBI custom résolvent une catégorie de problèmes qu'aucun outil GUI ne peut ; le livre vous apprend quand y recourir et comment les écrire.
  • Les chapitres exploitation Windows restent la meilleure introduction publiée aux mécaniques spécifiques SEH/PE qui n'existent pas chez Erickson.
  • Les chapitres heap enseignent le vocabulaire conceptuel (unlinking, frontlinking, magic values, freelists) nécessaire pour lire les writeups CTF modernes, même si les allocateurs spécifiques ont évolué.
  • Le chapitre « tracker les patches, pas les exploits » est le conseil de vulnerability research le plus sous-estimé publié.

Comment ils se comparent

Nous notons Practical Binary Analysis plus haut (5/5 contre 4/5 pour The Shellcoder's Handbook). Pour la plupart des lecteurs, Practical Binary Analysis est le choix principal et The Shellcoder's Handbook un complément utile.

Les deux livres ciblent un public de niveau avancé : le choix se fait sur la thématique, pas la difficulté.

Practical Binary Analysis et The Shellcoder's Handbook couvrent tous les deux Reverse Engineering : les lire dans l'ordre renforce les mêmes notions sous des angles différents.

Continuer la lecture

Thématiques liées