Structure de rapport reproductible pour une analyse de reverse engineering, à instancier projet par projet.
0. Metadata
- Analyst:
- Date(s) of analysis:
- Report version:
- Target binary / application:
- Version / build info (if known):
- Hashes:
- SHA256:
- MD5:
1. Contexte et objectifs
1.1 Contexte
- FACT: …
1.2 Objectifs de l’analyse
- Objectif principal:
- Objectifs secondaires:
1.3 Portée et limites
- Portée:
- Hors périmètre:
- Contraintes (temps, légales, techniques):
2. Environnement et outillage
2.1 Plateformes d’analyse
- OS hôte:
- VM / sandbox:
- Snapshots utilisés:
2.2 Outils
- Disassemblers / decompilers:
- Debuggers:
- System tools:
- Network tools:
- Scripting et automation:
2.3 Configuration spécifique
- Options importantes:
- Patches appliqués (pour analyse, anti-debug neutralisé, etc.):
3. Description de la cible
3.1 Propriétés générales
- Type de binaire (ELF/PE/Mach-O, arch, 32/64 bits, etc.):
- Mode (position independent, PIE, etc.):
- Librairies dynamiques:
3.2 Sections et entropie
- Sections notables:
- Indices de packer / chiffrement:
3.3 Imports / exports
- Imports clés (réseau, crypto, système, etc.):
- Exports (API exposée):
3.4 Chaînes intéressantes
- Chaînes (paths, URLs, messages d’erreur, etc.):
4. Vue d’ensemble architecturale
4.1 Modules / composants identifiés
- Module 1: description, fonctions principales.
- Module 2: …
4.2 Schéma général
- Diagramme (même textuel) des interactions entre modules:
5. Analyse statique détaillée
5.1 Points d’entrée
- Entry point:
- Main / initialisation:
- Autres points d’entrée (exports, callbacks):
5.2 Fonctions critiques
- Fonction A:
- Adresse(s):
- Rôle supposé:
- FACT: …
- HYP: …
- Fonction B: …
5.3 Structures de données
- Structure X:
- Champs identifiés:
- Usage (lecture/écriture):
5.4 Patterns et mécanismes particuliers
- Crypto / hash:
- Formats de fichiers:
- Gestion d’erreurs:
6. Analyse dynamique
6.1 Scénarios de test
Pour chaque scénario :
- ID du scénario:
- Commande / séquence:
- Environnement (variables, fichiers présents/absents):
6.2 Observations principales
- FACT: syscalls observés, fichiers créés, connexions réseau…
- Mapping vers fonctions statiques (adresses, call graph):
6.3 Validation d’hypothèses
Pour chaque HYP :
- HYP:
- TEST:
- Résultat:
- DECISION: (confirmée / infirmée / incertaine)
7. Protections, obfuscation et anti-RE
7.1 Packer / chiffrement
- Indices:
- Méthode de dépack:
- OEP reconstruit:
7.2 Anti-debug / anti-VM
- Mécanisme:
- Point de détection:
- Effet observé:
- Contournement utilisé pour l’analyse (si applicable):
7.3 Intégrité et anti-tampering
- Checksums / hash internes:
- Réactions en cas de modification:
8. Modèle de fonctionnement reconstruit
8.1 Modèle de données
- Structures, formats de fichiers, protocoles:
- États internes:
8.2 Modèle de contrôle
- Flow typique d’exécution (diagramme textuel ou lien vers figure):
- Points de décision importants:
8.3 Interfaces externes
- API (fonctions, paramètres, invariants):
- Endpoints réseau:
- Formats d’entrée / sortie:
9. Points sensibles et surfaces d’attaque
9.1 Surfaces d’entrée
- Entrées non fiables (réseau, fichiers, IPC):
- Parsing complexe / fragile:
9.2 Hypothèses de vulnérabilité
Pour chaque piste :
- Description:
- Preuves partielles:
- Tests réalisés:
- Prochaines étapes (fuzz, exploitability, etc.):
10. Journal de recherche (chronologique)
Ce journal doit rester brut, mais structuré.
[YYYY-MM-DD HH:MM] Étape N
- FACT:
- HYP:
- TEST (prévu / exécuté):
- RES:
- DECISION:
- Notes libres:
(Répéter pour chaque bloc d’analyse significatif.)
11. Synthèse et recommandations
11.1 Résumé exécutif
- Objectif, travail effectué, résultats principaux (en quelques phrases).
11.2 Conclusions techniques
- Points compris avec un haut degré de confiance:
- Points partiellement compris:
- Zones inconnues / non traitées:
11.3 Recommandations
- Pour un durcissement de l’application:
- Pour des recherches futures (tests supplémentaires, instrumentation plus poussée, etc.):
Annexes
- A. Timeline détaillée
- B. Scripts, commandes et snippets de code
- C. Patches appliqués
- D. Dictionnaire des symboles et adresses
- E. Diagrammes (call graphs, flows, etc.)